botframework-webchat 4.13.0 → 4.14.2

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 (253) hide show
  1. package/.eslintignore +1 -9
  2. package/.eslintrc.yml +5 -0
  3. package/README.md +33 -36
  4. package/babel.config.json +2 -2
  5. package/babel.sanitize-html.config.json +10 -0
  6. package/lib/AddFullBundle.d.ts +30 -0
  7. package/lib/AddFullBundle.d.ts.map +1 -0
  8. package/lib/AddFullBundle.js +77 -0
  9. package/lib/FullComposer.d.ts +8 -0
  10. package/lib/FullComposer.d.ts.map +1 -0
  11. package/lib/FullComposer.js +6 -16
  12. package/lib/FullReactWebChat.d.ts +8 -0
  13. package/lib/FullReactWebChat.d.ts.map +1 -0
  14. package/lib/FullReactWebChat.js +8 -23
  15. package/lib/adaptiveCards/AdaptiveCardsComposer.d.ts +10 -0
  16. package/lib/adaptiveCards/AdaptiveCardsComposer.d.ts.map +1 -0
  17. package/lib/adaptiveCards/AdaptiveCardsComposer.js +6 -2
  18. package/lib/adaptiveCards/AdaptiveCardsContext.d.ts +8 -0
  19. package/lib/adaptiveCards/AdaptiveCardsContext.d.ts.map +1 -0
  20. package/lib/adaptiveCards/AdaptiveCardsContext.js +3 -3
  21. package/lib/adaptiveCards/AdaptiveCardsStyleOptions.d.ts +5 -3
  22. package/lib/adaptiveCards/AdaptiveCardsStyleOptions.d.ts.map +1 -1
  23. package/lib/adaptiveCards/AdaptiveCardsStyleSet.d.ts +7 -0
  24. package/lib/adaptiveCards/AdaptiveCardsStyleSet.d.ts.map +1 -0
  25. package/lib/{FullBundleStyleOptions.js → adaptiveCards/AdaptiveCardsStyleSet.js} +0 -0
  26. package/lib/adaptiveCards/Attachment/AdaptiveCardAttachment.d.ts +9 -0
  27. package/lib/adaptiveCards/Attachment/AdaptiveCardAttachment.d.ts.map +1 -0
  28. package/lib/adaptiveCards/Attachment/AdaptiveCardAttachment.js +1 -1
  29. package/lib/adaptiveCards/Attachment/AdaptiveCardBuilder.d.ts +28 -0
  30. package/lib/adaptiveCards/Attachment/AdaptiveCardBuilder.d.ts.map +1 -0
  31. package/lib/adaptiveCards/Attachment/AdaptiveCardBuilder.js +4 -4
  32. package/lib/adaptiveCards/Attachment/AdaptiveCardContent.d.ts +9 -0
  33. package/lib/adaptiveCards/Attachment/AdaptiveCardContent.d.ts.map +1 -0
  34. package/lib/adaptiveCards/Attachment/AdaptiveCardContent.js +8 -4
  35. package/lib/adaptiveCards/Attachment/AdaptiveCardRenderer.d.ts +11 -0
  36. package/lib/adaptiveCards/Attachment/AdaptiveCardRenderer.d.ts.map +1 -0
  37. package/lib/adaptiveCards/Attachment/AdaptiveCardRenderer.js +210 -49
  38. package/lib/adaptiveCards/Attachment/AnimationCardContent.d.ts +10 -0
  39. package/lib/adaptiveCards/Attachment/AnimationCardContent.d.ts.map +1 -0
  40. package/lib/adaptiveCards/Attachment/AnimationCardContent.js +1 -1
  41. package/lib/adaptiveCards/Attachment/AudioCardContent.d.ts +10 -0
  42. package/lib/adaptiveCards/Attachment/AudioCardContent.d.ts.map +1 -0
  43. package/lib/adaptiveCards/Attachment/AudioCardContent.js +1 -1
  44. package/lib/adaptiveCards/Attachment/CommonCard.js +11 -6
  45. package/lib/adaptiveCards/Attachment/HeroCardContent.d.ts +10 -0
  46. package/lib/adaptiveCards/Attachment/HeroCardContent.d.ts.map +1 -0
  47. package/lib/adaptiveCards/Attachment/HeroCardContent.js +11 -6
  48. package/lib/adaptiveCards/Attachment/OAuthCardContent.d.ts +10 -0
  49. package/lib/adaptiveCards/Attachment/OAuthCardContent.d.ts.map +1 -0
  50. package/lib/adaptiveCards/Attachment/OAuthCardContent.js +11 -6
  51. package/lib/adaptiveCards/Attachment/ReceiptCardContent.d.ts +10 -0
  52. package/lib/adaptiveCards/Attachment/ReceiptCardContent.d.ts.map +1 -0
  53. package/lib/adaptiveCards/Attachment/ReceiptCardContent.js +11 -6
  54. package/lib/adaptiveCards/Attachment/SignInCardContent.d.ts +10 -0
  55. package/lib/adaptiveCards/Attachment/SignInCardContent.d.ts.map +1 -0
  56. package/lib/adaptiveCards/Attachment/SignInCardContent.js +1 -1
  57. package/lib/adaptiveCards/Attachment/ThumbnailCardContent.d.ts +10 -0
  58. package/lib/adaptiveCards/Attachment/ThumbnailCardContent.d.ts.map +1 -0
  59. package/lib/adaptiveCards/Attachment/ThumbnailCardContent.js +11 -6
  60. package/lib/adaptiveCards/Attachment/VideoCardContent.d.ts +20 -0
  61. package/lib/adaptiveCards/Attachment/VideoCardContent.d.ts.map +1 -0
  62. package/lib/adaptiveCards/Attachment/VideoCardContent.js +7 -5
  63. package/lib/adaptiveCards/AttachmentForScreenReader/AdaptiveCardAttachment.js +7 -3
  64. package/lib/adaptiveCards/AttachmentForScreenReader/RichCardAttachment.js +1 -1
  65. package/lib/adaptiveCards/Styles/StyleSet/AdaptiveCardRenderer.d.ts +56 -0
  66. package/lib/adaptiveCards/Styles/StyleSet/AdaptiveCardRenderer.d.ts.map +1 -0
  67. package/lib/adaptiveCards/Styles/StyleSet/AdaptiveCardRenderer.js +1 -1
  68. package/lib/adaptiveCards/Styles/adaptiveCardHostConfig.d.ts +126 -0
  69. package/lib/adaptiveCards/Styles/adaptiveCardHostConfig.d.ts.map +1 -0
  70. package/lib/adaptiveCards/Styles/adaptiveCardHostConfig.js +29 -9
  71. package/lib/adaptiveCards/Styles/createAdaptiveCardsStyleSet.d.ts +5 -0
  72. package/lib/adaptiveCards/Styles/createAdaptiveCardsStyleSet.d.ts.map +1 -0
  73. package/lib/adaptiveCards/Styles/createAdaptiveCardsStyleSet.js +2 -2
  74. package/lib/adaptiveCards/createAdaptiveCardsAttachmentForScreenReaderMiddleware.d.ts +3 -0
  75. package/lib/adaptiveCards/createAdaptiveCardsAttachmentForScreenReaderMiddleware.d.ts.map +1 -0
  76. package/lib/adaptiveCards/createAdaptiveCardsAttachmentForScreenReaderMiddleware.js +5 -11
  77. package/lib/adaptiveCards/createAdaptiveCardsAttachmentMiddleware.d.ts +3 -0
  78. package/lib/adaptiveCards/createAdaptiveCardsAttachmentMiddleware.d.ts.map +1 -0
  79. package/lib/adaptiveCards/createAdaptiveCardsAttachmentMiddleware.js +29 -39
  80. package/lib/adaptiveCards/defaultStyleOptions.d.ts +4 -0
  81. package/lib/adaptiveCards/defaultStyleOptions.d.ts.map +1 -0
  82. package/lib/adaptiveCards/defaultStyleOptions.js +3 -2
  83. package/lib/adaptiveCards/hooks/internal/useAdaptiveCardsContext.d.ts +3 -0
  84. package/lib/adaptiveCards/hooks/internal/useAdaptiveCardsContext.d.ts.map +1 -0
  85. package/lib/adaptiveCards/hooks/internal/useAdaptiveCardsContext.js +1 -1
  86. package/lib/adaptiveCards/hooks/internal/useParseAdaptiveCardJSON.d.ts +2 -0
  87. package/lib/adaptiveCards/hooks/internal/useParseAdaptiveCardJSON.d.ts.map +1 -0
  88. package/lib/adaptiveCards/hooks/internal/useParseAdaptiveCardJSON.js +7 -5
  89. package/lib/adaptiveCards/hooks/internal/useUniqueId.js +1 -1
  90. package/lib/adaptiveCards/hooks/useAdaptiveCardsHostConfig.d.ts +2 -0
  91. package/lib/adaptiveCards/hooks/useAdaptiveCardsHostConfig.d.ts.map +1 -0
  92. package/lib/adaptiveCards/hooks/useAdaptiveCardsHostConfig.js +3 -5
  93. package/lib/adaptiveCards/hooks/useAdaptiveCardsPackage.d.ts +3 -0
  94. package/lib/adaptiveCards/hooks/useAdaptiveCardsPackage.d.ts.map +1 -0
  95. package/lib/adaptiveCards/hooks/useAdaptiveCardsPackage.js +1 -1
  96. package/lib/adaptiveCards/normalizeStyleOptions.d.ts +3 -0
  97. package/lib/adaptiveCards/normalizeStyleOptions.d.ts.map +1 -0
  98. package/lib/adaptiveCards/normalizeStyleOptions.js +1 -1
  99. package/lib/addVersion.js +2 -2
  100. package/lib/createBrowserWebSpeechPonyfillFactory.d.ts +3 -0
  101. package/lib/createBrowserWebSpeechPonyfillFactory.d.ts.map +1 -0
  102. package/lib/createBrowserWebSpeechPonyfillFactory.js +7 -4
  103. package/lib/createCognitiveServicesSpeechServicesPonyfillFactory.d.ts +17 -0
  104. package/lib/createCognitiveServicesSpeechServicesPonyfillFactory.d.ts.map +1 -0
  105. package/lib/createCognitiveServicesSpeechServicesPonyfillFactory.js +17 -11
  106. package/lib/createDirectLine.d.ts +17 -0
  107. package/lib/createDirectLine.d.ts.map +1 -0
  108. package/lib/createDirectLine.js +3 -2
  109. package/lib/createDirectLineAppServiceExtension.d.ts +7 -0
  110. package/lib/createDirectLineAppServiceExtension.d.ts.map +1 -0
  111. package/lib/createDirectLineAppServiceExtension.js +1 -1
  112. package/lib/createDirectLineSpeechAdapters.d.ts +25 -0
  113. package/lib/createDirectLineSpeechAdapters.d.ts.map +1 -0
  114. package/lib/createDirectLineSpeechAdapters.js +57 -3
  115. package/lib/createFullStyleSet.d.ts +1106 -0
  116. package/lib/createFullStyleSet.d.ts.map +1 -0
  117. package/lib/createFullStyleSet.js +2 -2
  118. package/lib/fullBundleDefaultStyleOptions.js +4 -4
  119. package/lib/hooks/useStyleOptions.d.ts +3 -0
  120. package/lib/hooks/useStyleOptions.d.ts.map +1 -0
  121. package/lib/hooks/useStyleOptions.js +21 -0
  122. package/lib/index-es5.d.ts +24 -20
  123. package/lib/index-es5.d.ts.map +1 -1
  124. package/lib/index-es5.js +2 -2
  125. package/lib/index-minimal.d.ts +9 -6
  126. package/lib/index-minimal.d.ts.map +1 -1
  127. package/lib/index-minimal.js +8 -4
  128. package/lib/index.d.ts +154 -18
  129. package/lib/index.d.ts.map +1 -1
  130. package/lib/index.js +11 -7
  131. package/lib/renderMarkdown.d.ts +6 -0
  132. package/lib/renderMarkdown.d.ts.map +1 -0
  133. package/lib/renderMarkdown.js +5 -2
  134. package/lib/renderWebChat.d.ts +3 -0
  135. package/lib/renderWebChat.d.ts.map +1 -0
  136. package/lib/renderWebChat.js +1 -1
  137. package/lib/speech/CustomAudioInputStream.d.ts +94 -0
  138. package/lib/speech/CustomAudioInputStream.d.ts.map +1 -0
  139. package/lib/speech/CustomAudioInputStream.js +416 -0
  140. package/lib/speech/bytesPerSample.d.ts +2 -0
  141. package/lib/speech/bytesPerSample.d.ts.map +1 -0
  142. package/lib/speech/bytesPerSample.js +12 -0
  143. package/lib/speech/createAudioConfig.d.ts +23 -0
  144. package/lib/speech/createAudioConfig.d.ts.map +1 -0
  145. package/lib/speech/createAudioConfig.js +84 -0
  146. package/lib/speech/createAudioContext.d.ts +3 -0
  147. package/lib/speech/createAudioContext.d.ts.map +1 -0
  148. package/lib/speech/createAudioContext.js +22 -0
  149. package/lib/speech/createMicrophoneAudioConfigAndAudioContext.d.ts +9 -0
  150. package/lib/speech/createMicrophoneAudioConfigAndAudioContext.d.ts.map +1 -0
  151. package/lib/speech/createMicrophoneAudioConfigAndAudioContext.js +161 -0
  152. package/lib/speech/getUserMedia.d.ts +2 -0
  153. package/lib/speech/getUserMedia.d.ts.map +1 -0
  154. package/lib/speech/getUserMedia.js +25 -0
  155. package/lib/types/AdaptiveCardsPackage.d.ts +13 -0
  156. package/lib/types/AdaptiveCardsPackage.d.ts.map +1 -0
  157. package/lib/types/AdaptiveCardsPackage.js +2 -0
  158. package/lib/types/CognitiveServicesAudioOutputFormat.d.ts +3 -0
  159. package/lib/types/CognitiveServicesAudioOutputFormat.d.ts.map +1 -0
  160. package/lib/types/CognitiveServicesAudioOutputFormat.js +2 -0
  161. package/lib/types/CognitiveServicesCredentials.d.ts +18 -0
  162. package/lib/types/CognitiveServicesCredentials.d.ts.map +1 -0
  163. package/lib/types/CognitiveServicesCredentials.js +2 -0
  164. package/lib/types/CognitiveServicesTextNormalization.d.ts +3 -0
  165. package/lib/types/CognitiveServicesTextNormalization.d.ts.map +1 -0
  166. package/lib/types/CognitiveServicesTextNormalization.js +2 -0
  167. package/lib/{FullBundleStyleOptions.d.ts → types/FullBundleStyleOptions.d.ts} +1 -1
  168. package/lib/types/FullBundleStyleOptions.d.ts.map +1 -0
  169. package/lib/types/FullBundleStyleOptions.js +2 -0
  170. package/lib/useComposerProps.d.ts +22 -0
  171. package/lib/useComposerProps.d.ts.map +1 -0
  172. package/lib/useComposerProps.js +6 -8
  173. package/package.json +51 -46
  174. package/src/AddFullBundle.tsx +94 -0
  175. package/src/FullComposer.tsx +38 -0
  176. package/src/FullReactWebChat.tsx +32 -0
  177. package/src/__tests__/createDirectLine.spec.js +2 -0
  178. package/src/__tests__/renderMarkdown.spec.js +1 -1
  179. package/src/__tests__/versionTag.es5.spec.js +3 -0
  180. package/src/__tests__/versionTag.full.spec.js +3 -0
  181. package/src/__tests__/versionTag.minimal.spec.js +3 -0
  182. package/src/adaptiveCards/{AdaptiveCardsComposer.js → AdaptiveCardsComposer.tsx} +17 -5
  183. package/src/adaptiveCards/AdaptiveCardsContext.ts +12 -0
  184. package/src/adaptiveCards/AdaptiveCardsStyleOptions.ts +5 -3
  185. package/src/adaptiveCards/AdaptiveCardsStyleSet.ts +7 -0
  186. package/src/adaptiveCards/Attachment/{AdaptiveCardAttachment.js → AdaptiveCardAttachment.tsx} +8 -2
  187. package/src/adaptiveCards/Attachment/AdaptiveCardBuilder.ts +21 -15
  188. package/src/adaptiveCards/Attachment/{AdaptiveCardContent.js → AdaptiveCardContent.tsx} +8 -2
  189. package/src/adaptiveCards/Attachment/{AdaptiveCardRenderer.js → AdaptiveCardRenderer.tsx} +228 -46
  190. package/src/adaptiveCards/Attachment/{AnimationCardContent.js → AnimationCardContent.tsx} +9 -2
  191. package/src/adaptiveCards/Attachment/{AudioCardContent.js → AudioCardContent.tsx} +9 -2
  192. package/src/adaptiveCards/Attachment/CommonCard.js +2 -1
  193. package/src/adaptiveCards/Attachment/{HeroCardContent.js → HeroCardContent.tsx} +12 -3
  194. package/src/adaptiveCards/Attachment/{OAuthCardContent.js → OAuthCardContent.tsx} +11 -3
  195. package/src/adaptiveCards/Attachment/{ReceiptCardContent.js → ReceiptCardContent.tsx} +58 -28
  196. package/src/adaptiveCards/Attachment/{SignInCardContent.js → SignInCardContent.tsx} +9 -2
  197. package/src/adaptiveCards/Attachment/{ThumbnailCardContent.js → ThumbnailCardContent.tsx} +12 -3
  198. package/src/adaptiveCards/Attachment/{VideoCardContent.js → VideoCardContent.tsx} +15 -3
  199. package/src/adaptiveCards/Styles/StyleSet/AdaptiveCardRenderer.ts +1 -1
  200. package/src/adaptiveCards/Styles/adaptiveCardHostConfig.ts +28 -8
  201. package/src/adaptiveCards/Styles/createAdaptiveCardsStyleSet.spec.js +2 -0
  202. package/src/adaptiveCards/Styles/createAdaptiveCardsStyleSet.ts +7 -4
  203. package/src/adaptiveCards/{createAdaptiveCardsAttachmentForScreenReaderMiddleware.js → createAdaptiveCardsAttachmentForScreenReaderMiddleware.tsx} +16 -15
  204. package/src/adaptiveCards/createAdaptiveCardsAttachmentMiddleware.tsx +45 -0
  205. package/src/adaptiveCards/defaultStyleOptions.ts +2 -1
  206. package/src/adaptiveCards/hooks/internal/{useAdaptiveCardsContext.js → useAdaptiveCardsContext.ts} +1 -1
  207. package/src/adaptiveCards/hooks/internal/{useParseAdaptiveCardJSON.js → useParseAdaptiveCardJSON.ts} +5 -2
  208. package/src/adaptiveCards/hooks/internal/{useUniqueId.js → useUniqueId.ts} +1 -1
  209. package/src/adaptiveCards/hooks/{useAdaptiveCardsHostConfig.js → useAdaptiveCardsHostConfig.ts} +6 -8
  210. package/src/adaptiveCards/hooks/{useAdaptiveCardsPackage.js → useAdaptiveCardsPackage.ts} +2 -1
  211. package/src/createBrowserWebSpeechPonyfillFactory.ts +21 -0
  212. package/src/createCognitiveServicesSpeechServicesPonyfillFactory.spec.js +37 -6
  213. package/src/createCognitiveServicesSpeechServicesPonyfillFactory.ts +78 -0
  214. package/src/createDirectLine.ts +65 -0
  215. package/src/createDirectLineAppServiceExtension.ts +22 -0
  216. package/src/createDirectLineSpeechAdapters.ts +84 -0
  217. package/src/createFullStyleSet.ts +2 -2
  218. package/src/fullBundleDefaultStyleOptions.ts +3 -3
  219. package/src/hooks/useStyleOptions.ts +9 -0
  220. package/src/index-es5.ts +0 -2
  221. package/src/index-minimal.ts +3 -2
  222. package/src/index.ts +22 -10
  223. package/src/{renderMarkdown.js → renderMarkdown.ts} +8 -1
  224. package/src/renderWebChat.tsx +6 -0
  225. package/src/speech/CustomAudioInputStream.ts +325 -0
  226. package/src/speech/bytesPerSample.ts +4 -0
  227. package/src/speech/createAudioConfig.spec.js +23 -0
  228. package/src/speech/createAudioConfig.ts +70 -0
  229. package/src/speech/createAudioContext.ts +16 -0
  230. package/src/speech/createMicrophoneAudioConfigAndAudioContext.ts +146 -0
  231. package/src/speech/getUserMedia.ts +14 -0
  232. package/src/tsconfig.json +1 -1
  233. package/src/types/AdaptiveCardsPackage.ts +23 -0
  234. package/src/types/CognitiveServicesAudioOutputFormat.ts +28 -0
  235. package/src/types/CognitiveServicesCredentials.ts +28 -0
  236. package/src/types/CognitiveServicesTextNormalization.ts +3 -0
  237. package/src/{FullBundleStyleOptions.ts → types/FullBundleStyleOptions.ts} +1 -1
  238. package/src/{useComposerProps.js → useComposerProps.ts} +21 -11
  239. package/webpack.config.js +46 -6
  240. package/lib/FullBundleStyleOptions.d.ts.map +0 -1
  241. package/src/FullComposer.js +0 -40
  242. package/src/FullReactWebChat.js +0 -47
  243. package/src/adaptiveCards/AdaptiveCardsContext.js +0 -5
  244. package/src/adaptiveCards/createAdaptiveCardsAttachmentMiddleware.js +0 -41
  245. package/src/createBrowserWebSpeechPonyfillFactory.js +0 -16
  246. package/src/createCognitiveServicesSpeechServicesPonyfillFactory.js +0 -58
  247. package/src/createDirectLine.js +0 -38
  248. package/src/createDirectLineAppServiceExtension.js +0 -12
  249. package/src/createDirectLineSpeechAdapters.js +0 -5
  250. package/src/index-es5.tsx +0 -49
  251. package/src/index-minimal.tsx +0 -9
  252. package/src/index.tsx +0 -45
  253. package/src/renderWebChat.js +0 -6
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = bytesPerSample;
7
+
8
+ function bytesPerSample(settings) {
9
+ // eslint-disable-next-line no-magic-numbers
10
+ return (settings.sampleSize >> 3) * settings.channelCount * settings.sampleRate;
11
+ }
12
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zcGVlY2gvYnl0ZXNQZXJTYW1wbGUudHMiXSwibmFtZXMiOlsiYnl0ZXNQZXJTYW1wbGUiLCJzZXR0aW5ncyIsInNhbXBsZVNpemUiLCJjaGFubmVsQ291bnQiLCJzYW1wbGVSYXRlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQWUsU0FBU0EsY0FBVCxDQUF3QkMsUUFBeEIsRUFBc0Q7QUFDbkU7QUFDQSxTQUFPLENBQUVBLFFBQVEsQ0FBQ0MsVUFBVixJQUFtQyxDQUFwQyxJQUEwQ0QsUUFBUSxDQUFDRSxZQUFuRCxHQUE4RUYsUUFBUSxDQUFDRyxVQUE5RjtBQUNEIiwic291cmNlUm9vdCI6ImJ1bmRsZTovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBieXRlc1BlclNhbXBsZShzZXR0aW5nczogTWVkaWFUcmFja1NldHRpbmdzKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1tYWdpYy1udW1iZXJzXG4gIHJldHVybiAoKHNldHRpbmdzLnNhbXBsZVNpemUgYXMgbnVtYmVyKSA+PiAzKSAqIChzZXR0aW5ncy5jaGFubmVsQ291bnQgYXMgbnVtYmVyKSAqIChzZXR0aW5ncy5zYW1wbGVSYXRlIGFzIG51bWJlcik7XG59XG4iXX0=
@@ -0,0 +1,23 @@
1
+ import { AudioConfig } from 'microsoft-cognitiveservices-speech-sdk';
2
+ import { AudioStreamNode, DeviceInfo, Format } from './CustomAudioInputStream';
3
+ declare type AttachFunction = (audioNodeId: string) => Promise<{
4
+ audioStreamNode: AudioStreamNode;
5
+ deviceInfo: DeviceInfo;
6
+ format: Format;
7
+ }>;
8
+ declare type TurnOffFunction = () => Promise<void>;
9
+ declare type CreateAudioConfigOptions = {
10
+ /** Callback function for attaching the device by returning an audio node. */
11
+ attach: AttachFunction;
12
+ /** `true` to enable diagnostic information, otherwise, `false`. */
13
+ debug?: true;
14
+ /**
15
+ * Callback function for turning off the device before detaching its node from an audio graph.
16
+ *
17
+ * Note: this is not called for Direct Line Speech.
18
+ */
19
+ turnOff?: TurnOffFunction;
20
+ };
21
+ export default function createAudioConfig(options: CreateAudioConfigOptions): AudioConfig;
22
+ export {};
23
+ //# sourceMappingURL=createAudioConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createAudioConfig.d.ts","sourceRoot":"","sources":["../../src/speech/createAudioConfig.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAErE,OAA+B,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvG,aAAK,cAAc,GAAG,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;IACrD,eAAe,EAAE,eAAe,CAAC;IACjC,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC;AAEH,aAAK,eAAe,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAK3C,aAAK,wBAAwB,GAAG;IAC9B,6EAA6E;IAC7E,MAAM,EAAE,cAAc,CAAC;IAEvB,mEAAmE;IACnE,KAAK,CAAC,EAAE,IAAI,CAAC;IAEb;;;;OAIG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B,CAAC;AAoCF,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,eAE1E"}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = createAudioConfig;
9
+
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
14
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
+
16
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
+
18
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
+
20
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
+
22
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
+
24
+ var _microsoftCognitiveservicesSpeechSdk = require("microsoft-cognitiveservices-speech-sdk");
25
+
26
+ var _CustomAudioInputStream = _interopRequireDefault(require("./CustomAudioInputStream"));
27
+
28
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
29
+
30
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
31
+
32
+ var SYMBOL_ATTACH = Symbol('attach');
33
+ var SYMBOL_TURN_OFF = Symbol('turnOff');
34
+
35
+ var CreateAudioConfigAudioInputStream = /*#__PURE__*/function (_CustomAudioInputStre) {
36
+ (0, _inherits2.default)(CreateAudioConfigAudioInputStream, _CustomAudioInputStre);
37
+
38
+ var _super = _createSuper(CreateAudioConfigAudioInputStream);
39
+
40
+ function CreateAudioConfigAudioInputStream(_ref) {
41
+ var _this;
42
+
43
+ var attach = _ref.attach,
44
+ debug = _ref.debug,
45
+ turnOff = _ref.turnOff;
46
+ (0, _classCallCheck2.default)(this, CreateAudioConfigAudioInputStream);
47
+
48
+ if (!attach || typeof attach !== 'function') {
49
+ throw new Error('"attach" must be a function.');
50
+ }
51
+
52
+ if (turnOff && typeof turnOff !== 'function') {
53
+ throw new Error('"turnOff", if defined, must be a function.');
54
+ }
55
+
56
+ _this = _super.call(this, {
57
+ debug: debug
58
+ });
59
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), SYMBOL_ATTACH, void 0);
60
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), SYMBOL_TURN_OFF, void 0);
61
+ _this[SYMBOL_ATTACH] = attach;
62
+ _this[SYMBOL_TURN_OFF] = turnOff;
63
+ return _this;
64
+ }
65
+
66
+ (0, _createClass2.default)(CreateAudioConfigAudioInputStream, [{
67
+ key: "performAttach",
68
+ value: function performAttach(audioNodeId) {
69
+ return this[SYMBOL_ATTACH](audioNodeId);
70
+ }
71
+ }, {
72
+ key: "performTurnOff",
73
+ value: function performTurnOff() {
74
+ var turnOff = this[SYMBOL_TURN_OFF];
75
+ return turnOff && turnOff();
76
+ }
77
+ }]);
78
+ return CreateAudioConfigAudioInputStream;
79
+ }(_CustomAudioInputStream.default);
80
+
81
+ function createAudioConfig(options) {
82
+ return _microsoftCognitiveservicesSpeechSdk.AudioConfig.fromStreamInput(new CreateAudioConfigAudioInputStream(options));
83
+ }
84
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zcGVlY2gvY3JlYXRlQXVkaW9Db25maWcudHMiXSwibmFtZXMiOlsiU1lNQk9MX0FUVEFDSCIsIlN5bWJvbCIsIlNZTUJPTF9UVVJOX09GRiIsIkNyZWF0ZUF1ZGlvQ29uZmlnQXVkaW9JbnB1dFN0cmVhbSIsImF0dGFjaCIsImRlYnVnIiwidHVybk9mZiIsIkVycm9yIiwiYXVkaW9Ob2RlSWQiLCJDdXN0b21BdWRpb0lucHV0U3RyZWFtIiwiY3JlYXRlQXVkaW9Db25maWciLCJvcHRpb25zIiwiQXVkaW9Db25maWciLCJmcm9tU3RyZWFtSW5wdXQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR0E7O0FBRUE7Ozs7OztBQVVBLElBQU1BLGFBQWEsR0FBR0MsTUFBTSxDQUFDLFFBQUQsQ0FBNUI7QUFDQSxJQUFNQyxlQUFlLEdBQUdELE1BQU0sQ0FBQyxTQUFELENBQTlCOztJQWlCTUUsaUM7Ozs7O0FBQ0osbURBQWtFO0FBQUE7O0FBQUEsUUFBcERDLE1BQW9ELFFBQXBEQSxNQUFvRDtBQUFBLFFBQTVDQyxLQUE0QyxRQUE1Q0EsS0FBNEM7QUFBQSxRQUFyQ0MsT0FBcUMsUUFBckNBLE9BQXFDO0FBQUE7O0FBQ2hFLFFBQUksQ0FBQ0YsTUFBRCxJQUFXLE9BQU9BLE1BQVAsS0FBa0IsVUFBakMsRUFBNkM7QUFDM0MsWUFBTSxJQUFJRyxLQUFKLENBQVUsOEJBQVYsQ0FBTjtBQUNEOztBQUVELFFBQUlELE9BQU8sSUFBSSxPQUFPQSxPQUFQLEtBQW1CLFVBQWxDLEVBQThDO0FBQzVDLFlBQU0sSUFBSUMsS0FBSixDQUFVLDRDQUFWLENBQU47QUFDRDs7QUFFRCw4QkFBTTtBQUFFRixNQUFBQSxLQUFLLEVBQUxBO0FBQUYsS0FBTjtBQVRnRSwrRUFlakVMLGFBZmlFO0FBQUEsK0VBZ0JqRUUsZUFoQmlFO0FBV2hFLFVBQUtGLGFBQUwsSUFBc0JJLE1BQXRCO0FBQ0EsVUFBS0YsZUFBTCxJQUF3QkksT0FBeEI7QUFaZ0U7QUFhakU7Ozs7V0FLRCx1QkFBd0JFLFdBQXhCLEVBSUc7QUFDRCxhQUFPLEtBQUtSLGFBQUwsRUFBb0JRLFdBQXBCLENBQVA7QUFDRDs7O1dBRUQsMEJBQTBDO0FBQ3hDLFVBQTJCRixPQUEzQixHQUF1QyxJQUF2QyxDQUFTSixlQUFUO0FBRUEsYUFBT0ksT0FBTyxJQUFJQSxPQUFPLEVBQXpCO0FBQ0Q7OztFQS9CNkNHLCtCOztBQWtDakMsU0FBU0MsaUJBQVQsQ0FBMkJDLE9BQTNCLEVBQThEO0FBQzNFLFNBQU9DLGlEQUFZQyxlQUFaLENBQTRCLElBQUlWLGlDQUFKLENBQXNDUSxPQUF0QyxDQUE1QixDQUFQO0FBQ0QiLCJzb3VyY2VSb290IjoiYnVuZGxlOi8vLyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFRPRE86IFtQMl0gIzM5NzYgV2Ugc2hvdWxkIGV4cG9ydCB0aGlzIHRvIGFsbG93IHdlYiBkZXZlbG9wZXJzIHRvIGJyaW5nIGluIHRoZWlyIG93biBtaWNyb3Bob25lLlxuLy8gICAgICAgRm9yIGV4YW1wbGUsIGl0IHNob3VsZCBlbmFibGUgUmVhY3QgTmF0aXZlIGRldnMgdG8gYnJpbmcgaW4gdGhlaXIgbWljcm9waG9uZSBpbXBsZW1lbnRhdGlvbiBhbmQgdXNlIENvZ25pdGl2ZSBTZXJ2aWNlcyBTcGVlY2ggU2VydmljZXMuXG5cbmltcG9ydCB7IEF1ZGlvQ29uZmlnIH0gZnJvbSAnbWljcm9zb2Z0LWNvZ25pdGl2ZXNlcnZpY2VzLXNwZWVjaC1zZGsnO1xuXG5pbXBvcnQgQ3VzdG9tQXVkaW9JbnB1dFN0cmVhbSwgeyBBdWRpb1N0cmVhbU5vZGUsIERldmljZUluZm8sIEZvcm1hdCB9IGZyb20gJy4vQ3VzdG9tQXVkaW9JbnB1dFN0cmVhbSc7XG5cbnR5cGUgQXR0YWNoRnVuY3Rpb24gPSAoYXVkaW9Ob2RlSWQ6IHN0cmluZykgPT4gUHJvbWlzZTx7XG4gIGF1ZGlvU3RyZWFtTm9kZTogQXVkaW9TdHJlYW1Ob2RlO1xuICBkZXZpY2VJbmZvOiBEZXZpY2VJbmZvO1xuICBmb3JtYXQ6IEZvcm1hdDtcbn0+O1xuXG50eXBlIFR1cm5PZmZGdW5jdGlvbiA9ICgpID0+IFByb21pc2U8dm9pZD47XG5cbmNvbnN0IFNZTUJPTF9BVFRBQ0ggPSBTeW1ib2woJ2F0dGFjaCcpO1xuY29uc3QgU1lNQk9MX1RVUk5fT0ZGID0gU3ltYm9sKCd0dXJuT2ZmJyk7XG5cbnR5cGUgQ3JlYXRlQXVkaW9Db25maWdPcHRpb25zID0ge1xuICAvKiogQ2FsbGJhY2sgZnVuY3Rpb24gZm9yIGF0dGFjaGluZyB0aGUgZGV2aWNlIGJ5IHJldHVybmluZyBhbiBhdWRpbyBub2RlLiAqL1xuICBhdHRhY2g6IEF0dGFjaEZ1bmN0aW9uO1xuXG4gIC8qKiBgdHJ1ZWAgdG8gZW5hYmxlIGRpYWdub3N0aWMgaW5mb3JtYXRpb24sIG90aGVyd2lzZSwgYGZhbHNlYC4gKi9cbiAgZGVidWc/OiB0cnVlO1xuXG4gIC8qKlxuICAgKiBDYWxsYmFjayBmdW5jdGlvbiBmb3IgdHVybmluZyBvZmYgdGhlIGRldmljZSBiZWZvcmUgZGV0YWNoaW5nIGl0cyBub2RlIGZyb20gYW4gYXVkaW8gZ3JhcGguXG4gICAqXG4gICAqIE5vdGU6IHRoaXMgaXMgbm90IGNhbGxlZCBmb3IgRGlyZWN0IExpbmUgU3BlZWNoLlxuICAgKi9cbiAgdHVybk9mZj86IFR1cm5PZmZGdW5jdGlvbjtcbn07XG5cbmNsYXNzIENyZWF0ZUF1ZGlvQ29uZmlnQXVkaW9JbnB1dFN0cmVhbSBleHRlbmRzIEN1c3RvbUF1ZGlvSW5wdXRTdHJlYW0ge1xuICBjb25zdHJ1Y3Rvcih7IGF0dGFjaCwgZGVidWcsIHR1cm5PZmYgfTogQ3JlYXRlQXVkaW9Db25maWdPcHRpb25zKSB7XG4gICAgaWYgKCFhdHRhY2ggfHwgdHlwZW9mIGF0dGFjaCAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdcImF0dGFjaFwiIG11c3QgYmUgYSBmdW5jdGlvbi4nKTtcbiAgICB9XG5cbiAgICBpZiAodHVybk9mZiAmJiB0eXBlb2YgdHVybk9mZiAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdcInR1cm5PZmZcIiwgaWYgZGVmaW5lZCwgbXVzdCBiZSBhIGZ1bmN0aW9uLicpO1xuICAgIH1cblxuICAgIHN1cGVyKHsgZGVidWcgfSk7XG5cbiAgICB0aGlzW1NZTUJPTF9BVFRBQ0hdID0gYXR0YWNoO1xuICAgIHRoaXNbU1lNQk9MX1RVUk5fT0ZGXSA9IHR1cm5PZmY7XG4gIH1cblxuICBbU1lNQk9MX0FUVEFDSF06IEF0dGFjaEZ1bmN0aW9uO1xuICBbU1lNQk9MX1RVUk5fT0ZGXTogVHVybk9mZkZ1bmN0aW9uO1xuXG4gIHByb3RlY3RlZCBwZXJmb3JtQXR0YWNoKGF1ZGlvTm9kZUlkOiBzdHJpbmcpOiBQcm9taXNlPHtcbiAgICBhdWRpb1N0cmVhbU5vZGU6IEF1ZGlvU3RyZWFtTm9kZTtcbiAgICBkZXZpY2VJbmZvOiBEZXZpY2VJbmZvO1xuICAgIGZvcm1hdDogRm9ybWF0O1xuICB9PiB7XG4gICAgcmV0dXJuIHRoaXNbU1lNQk9MX0FUVEFDSF0oYXVkaW9Ob2RlSWQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHBlcmZvcm1UdXJuT2ZmKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgW1NZTUJPTF9UVVJOX09GRl06IHR1cm5PZmYgfSA9IHRoaXM7XG5cbiAgICByZXR1cm4gdHVybk9mZiAmJiB0dXJuT2ZmKCk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY3JlYXRlQXVkaW9Db25maWcob3B0aW9uczogQ3JlYXRlQXVkaW9Db25maWdPcHRpb25zKSB7XG4gIHJldHVybiBBdWRpb0NvbmZpZy5mcm9tU3RyZWFtSW5wdXQobmV3IENyZWF0ZUF1ZGlvQ29uZmlnQXVkaW9JbnB1dFN0cmVhbShvcHRpb25zKSk7XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ /** Creates an AudioContext object. */
2
+ export default function createAudioContext(): AudioContext;
3
+ //# sourceMappingURL=createAudioContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createAudioContext.d.ts","sourceRoot":"","sources":["../../src/speech/createAudioContext.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,MAAM,CAAC,OAAO,UAAU,kBAAkB,IAAI,YAAY,CAczD"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = createAudioContext;
7
+
8
+ /** Creates an AudioContext object. */
9
+ function createAudioContext() {
10
+ if (typeof window.AudioContext !== 'undefined') {
11
+ return new window.AudioContext(); // Required by TypeScript.
12
+ // eslint-disable-next-line dot-notation
13
+ } else if (typeof window['webkitAudioContext'] !== 'undefined') {
14
+ // This is for Safari as Web Audio API is still under vendor-prefixed.
15
+ // eslint-disable-next-line dot-notation
16
+ return new window['webkitAudioContext']();
17
+ } // TODO: Fix this.
18
+
19
+
20
+ throw new Error('This browser does not support Web Audio API.');
21
+ }
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zcGVlY2gvY3JlYXRlQXVkaW9Db250ZXh0LnRzIl0sIm5hbWVzIjpbImNyZWF0ZUF1ZGlvQ29udGV4dCIsIndpbmRvdyIsIkF1ZGlvQ29udGV4dCIsIkVycm9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7QUFDZSxTQUFTQSxrQkFBVCxHQUE0QztBQUN6RCxNQUFJLE9BQU9DLE1BQU0sQ0FBQ0MsWUFBZCxLQUErQixXQUFuQyxFQUFnRDtBQUM5QyxXQUFPLElBQUlELE1BQU0sQ0FBQ0MsWUFBWCxFQUFQLENBRDhDLENBRzlDO0FBQ0E7QUFDRCxHQUxELE1BS08sSUFBSSxPQUFPRCxNQUFNLENBQUMsb0JBQUQsQ0FBYixLQUF3QyxXQUE1QyxFQUF5RDtBQUM5RDtBQUNBO0FBQ0EsV0FBTyxJQUFJQSxNQUFNLENBQUMsb0JBQUQsQ0FBVixFQUFQO0FBQ0QsR0FWd0QsQ0FZekQ7OztBQUNBLFFBQU0sSUFBSUUsS0FBSixDQUFVLDhDQUFWLENBQU47QUFDRCIsInNvdXJjZVJvb3QiOiJidW5kbGU6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIENyZWF0ZXMgYW4gQXVkaW9Db250ZXh0IG9iamVjdC4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNyZWF0ZUF1ZGlvQ29udGV4dCgpOiBBdWRpb0NvbnRleHQge1xuICBpZiAodHlwZW9mIHdpbmRvdy5BdWRpb0NvbnRleHQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIG5ldyB3aW5kb3cuQXVkaW9Db250ZXh0KCk7XG5cbiAgICAvLyBSZXF1aXJlZCBieSBUeXBlU2NyaXB0LlxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkb3Qtbm90YXRpb25cbiAgfSBlbHNlIGlmICh0eXBlb2Ygd2luZG93Wyd3ZWJraXRBdWRpb0NvbnRleHQnXSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAvLyBUaGlzIGlzIGZvciBTYWZhcmkgYXMgV2ViIEF1ZGlvIEFQSSBpcyBzdGlsbCB1bmRlciB2ZW5kb3ItcHJlZml4ZWQuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRvdC1ub3RhdGlvblxuICAgIHJldHVybiBuZXcgd2luZG93Wyd3ZWJraXRBdWRpb0NvbnRleHQnXSgpO1xuICB9XG5cbiAgLy8gVE9ETzogRml4IHRoaXMuXG4gIHRocm93IG5ldyBFcnJvcignVGhpcyBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgV2ViIEF1ZGlvIEFQSS4nKTtcbn1cbiJdfQ==
@@ -0,0 +1,9 @@
1
+ export default function createMicrophoneAudioConfigAndAudioContext({ audioContext, audioInputDeviceId, enableTelemetry }: {
2
+ audioContext?: AudioContext;
3
+ audioInputDeviceId?: string;
4
+ enableTelemetry?: true;
5
+ }): {
6
+ audioConfig: import("microsoft-cognitiveservices-speech-sdk").AudioConfig;
7
+ audioContext: AudioContext;
8
+ };
9
+ //# sourceMappingURL=createMicrophoneAudioConfigAndAudioContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createMicrophoneAudioConfigAndAudioContext.d.ts","sourceRoot":"","sources":["../../src/speech/createMicrophoneAudioConfigAndAudioContext.ts"],"names":[],"mappings":"AA2HA,MAAM,CAAC,OAAO,UAAU,0CAA0C,CAAC,EACjE,YAAY,EACZ,kBAAkB,EAClB,eAAe,EAChB,EAAE;IACD,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,IAAI,CAAC;CACxB;;;EAcA"}
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = createMicrophoneAudioConfigAndAudioContext;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
+
16
+ var _Exports = require("microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/Exports");
17
+
18
+ var _Exports2 = require("microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.browser/Exports");
19
+
20
+ var _bytesPerSample = _interopRequireDefault(require("./bytesPerSample"));
21
+
22
+ var _createAudioConfig = _interopRequireDefault(require("./createAudioConfig"));
23
+
24
+ var _createAudioContext = _interopRequireDefault(require("./createAudioContext"));
25
+
26
+ var _getUserMedia = _interopRequireDefault(require("./getUserMedia"));
27
+
28
+ // This is how often we are flushing audio buffer to the network. Modify this value will affect latency.
29
+ var DEFAULT_BUFFER_DURATION_IN_MS = 100; // TODO: [P2] #3975 We should consider building our own PcmRecorder:
30
+ // - Use Audio Worklet via blob URL
31
+ // - Not hardcoding the sample rate or other values
32
+ // PcmRecorder always downscale to 16000 Hz. We cannot use the dynamic value from MediaConstraints or MediaTrackSettings.
33
+
34
+ var PCM_RECORDER_HARDCODED_SETTINGS = Object.freeze({
35
+ channelCount: 1,
36
+ sampleRate: 16000,
37
+ sampleSize: 16
38
+ });
39
+ var PCM_RECORDER_HARDCODED_FORMAT = Object.freeze({
40
+ bitsPerSample: PCM_RECORDER_HARDCODED_SETTINGS.sampleSize,
41
+ channels: PCM_RECORDER_HARDCODED_SETTINGS.channelCount,
42
+ samplesPerSec: PCM_RECORDER_HARDCODED_SETTINGS.sampleRate
43
+ });
44
+
45
+ function createMicrophoneAudioConfig(options) {
46
+ var audioConstraints = options.audioConstraints,
47
+ audioContext = options.audioContext,
48
+ debug = options.debug,
49
+ enableTelemetry = options.enableTelemetry,
50
+ pcmRecorderWorkletUrl = options.pcmRecorderWorkletUrl;
51
+ var bufferDurationInMS = options.bufferDurationInMS || DEFAULT_BUFFER_DURATION_IN_MS;
52
+ var pcmRecorder = new _Exports2.PcmRecorder();
53
+ pcmRecorderWorkletUrl && pcmRecorder.setWorkletUrl(pcmRecorderWorkletUrl);
54
+ return (0, _createAudioConfig.default)({
55
+ attach: function attach(audioNodeId) {
56
+ return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
57
+ var mediaStream, _mediaStream$getAudio, _mediaStream$getAudio2, firstAudioTrack, outputStream;
58
+
59
+ return _regenerator.default.wrap(function _callee$(_context) {
60
+ while (1) {
61
+ switch (_context.prev = _context.next) {
62
+ case 0:
63
+ _context.next = 2;
64
+ return (0, _getUserMedia.default)({
65
+ audio: audioConstraints,
66
+ video: false
67
+ });
68
+
69
+ case 2:
70
+ mediaStream = _context.sent;
71
+ _mediaStream$getAudio = mediaStream.getAudioTracks(), _mediaStream$getAudio2 = (0, _slicedToArray2.default)(_mediaStream$getAudio, 1), firstAudioTrack = _mediaStream$getAudio2[0];
72
+
73
+ if (firstAudioTrack) {
74
+ _context.next = 6;
75
+ break;
76
+ }
77
+
78
+ throw new Error('No audio device is found.');
79
+
80
+ case 6:
81
+ outputStream = new _Exports.ChunkedArrayBufferStream( // Speech SDK quirks: PcmRecorder hardcoded sample rate of 16000 Hz.
82
+ (0, _bytesPerSample.default)(PCM_RECORDER_HARDCODED_SETTINGS) * ( // eslint-disable-next-line no-magic-numbers
83
+ (bufferDurationInMS || DEFAULT_BUFFER_DURATION_IN_MS) / 1000), audioNodeId);
84
+ pcmRecorder.record(audioContext, mediaStream, outputStream);
85
+ return _context.abrupt("return", {
86
+ audioStreamNode: {
87
+ // Speech SDK quirks: In SDK's original MicAudioSource implementation, it call turnOff() during detach().
88
+ // That means, it call turnOff(), then detach(), then turnOff() again. Seems redundant.
89
+ // When using with Direct Line Speech, turnOff() is never called.
90
+ detach: function detach() {
91
+ // Speech SDK quirks: In SDK, it call outputStream.close() in turnOff() before outputStream.readEnded() in detach().
92
+ // I think it make sense to call readEnded() before close().
93
+ outputStream.readEnded();
94
+ outputStream.close(); // PcmRecorder.releaseMediaResources() will disconnect/stop the MediaStream.
95
+ // We cannot use MediaStream again after turned off.
96
+
97
+ // PcmRecorder.releaseMediaResources() will disconnect/stop the MediaStream.
98
+ // We cannot use MediaStream again after turned off.
99
+ pcmRecorder.releaseMediaResources(audioContext); // MediaStream will become inactive after all tracks are removed.
100
+
101
+ // MediaStream will become inactive after all tracks are removed.
102
+ mediaStream.getTracks().forEach(function (track) {
103
+ return mediaStream.removeTrack(track);
104
+ }); // ESLint: "return" is required by TypeScript
105
+ // eslint-disable-next-line no-useless-return
106
+
107
+ // ESLint: "return" is required by TypeScript
108
+ // eslint-disable-next-line no-useless-return
109
+ return;
110
+ },
111
+ id: function id() {
112
+ return audioNodeId;
113
+ },
114
+ read: function read() {
115
+ return outputStream.read();
116
+ }
117
+ },
118
+ deviceInfo: {
119
+ manufacturer: 'Bot Framework Web Chat',
120
+ model: enableTelemetry ? firstAudioTrack.label : '',
121
+ type: enableTelemetry ? 'Microphones' : 'Unknown'
122
+ },
123
+ // Speech SDK quirks: PcmRecorder hardcoded sample rate of 16000 Hz.
124
+ // We cannot obtain this number other than looking at their source code.
125
+ // I.e. no getter property.
126
+ // PcmRecorder always downscale to 16000 Hz. We cannot use the dynamic value from MediaConstraints or MediaTrackSettings.
127
+ format: PCM_RECORDER_HARDCODED_FORMAT
128
+ });
129
+
130
+ case 9:
131
+ case "end":
132
+ return _context.stop();
133
+ }
134
+ }
135
+ }, _callee);
136
+ }))();
137
+ },
138
+ debug: debug
139
+ });
140
+ }
141
+
142
+ function createMicrophoneAudioConfigAndAudioContext(_ref) {
143
+ var audioContext = _ref.audioContext,
144
+ audioInputDeviceId = _ref.audioInputDeviceId,
145
+ enableTelemetry = _ref.enableTelemetry;
146
+ // Web Chat has an implementation of AudioConfig for microphone that would enable better support on Safari:
147
+ // - Maintain same instance of `AudioContext` across recognitions;
148
+ // - Resume suspended `AudioContext` on user gestures.
149
+ audioContext || (audioContext = (0, _createAudioContext.default)());
150
+ return {
151
+ audioConfig: createMicrophoneAudioConfig({
152
+ audioConstraints: audioInputDeviceId ? {
153
+ deviceId: audioInputDeviceId
154
+ } : true,
155
+ audioContext: audioContext,
156
+ enableTelemetry: enableTelemetry ? true : undefined
157
+ }),
158
+ audioContext: audioContext
159
+ };
160
+ }
161
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zcGVlY2gvY3JlYXRlTWljcm9waG9uZUF1ZGlvQ29uZmlnQW5kQXVkaW9Db250ZXh0LnRzIl0sIm5hbWVzIjpbIkRFRkFVTFRfQlVGRkVSX0RVUkFUSU9OX0lOX01TIiwiUENNX1JFQ09SREVSX0hBUkRDT0RFRF9TRVRUSU5HUyIsIk9iamVjdCIsImZyZWV6ZSIsImNoYW5uZWxDb3VudCIsInNhbXBsZVJhdGUiLCJzYW1wbGVTaXplIiwiUENNX1JFQ09SREVSX0hBUkRDT0RFRF9GT1JNQVQiLCJiaXRzUGVyU2FtcGxlIiwiY2hhbm5lbHMiLCJzYW1wbGVzUGVyU2VjIiwiY3JlYXRlTWljcm9waG9uZUF1ZGlvQ29uZmlnIiwib3B0aW9ucyIsImF1ZGlvQ29uc3RyYWludHMiLCJhdWRpb0NvbnRleHQiLCJkZWJ1ZyIsImVuYWJsZVRlbGVtZXRyeSIsInBjbVJlY29yZGVyV29ya2xldFVybCIsImJ1ZmZlckR1cmF0aW9uSW5NUyIsInBjbVJlY29yZGVyIiwiUGNtUmVjb3JkZXIiLCJzZXRXb3JrbGV0VXJsIiwiYXR0YWNoIiwiYXVkaW9Ob2RlSWQiLCJhdWRpbyIsInZpZGVvIiwibWVkaWFTdHJlYW0iLCJnZXRBdWRpb1RyYWNrcyIsImZpcnN0QXVkaW9UcmFjayIsIkVycm9yIiwib3V0cHV0U3RyZWFtIiwiQ2h1bmtlZEFycmF5QnVmZmVyU3RyZWFtIiwicmVjb3JkIiwiYXVkaW9TdHJlYW1Ob2RlIiwiZGV0YWNoIiwicmVhZEVuZGVkIiwiY2xvc2UiLCJyZWxlYXNlTWVkaWFSZXNvdXJjZXMiLCJnZXRUcmFja3MiLCJmb3JFYWNoIiwidHJhY2siLCJyZW1vdmVUcmFjayIsImlkIiwicmVhZCIsImRldmljZUluZm8iLCJtYW51ZmFjdHVyZXIiLCJtb2RlbCIsImxhYmVsIiwidHlwZSIsImZvcm1hdCIsImNyZWF0ZU1pY3JvcGhvbmVBdWRpb0NvbmZpZ0FuZEF1ZGlvQ29udGV4dCIsImF1ZGlvSW5wdXREZXZpY2VJZCIsImF1ZGlvQ29uZmln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LFlBQVksRUFBWkE7QUFOSyxHQUFQO0FBUUQiLCJzb3VyY2VSb290IjoiYnVuZGxlOi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENodW5rZWRBcnJheUJ1ZmZlclN0cmVhbSB9IGZyb20gJ21pY3Jvc29mdC1jb2duaXRpdmVzZXJ2aWNlcy1zcGVlY2gtc2RrL2Rpc3RyaWIvbGliL3NyYy9jb21tb24vRXhwb3J0cyc7XG5pbXBvcnQgeyBQY21SZWNvcmRlciB9IGZyb20gJ21pY3Jvc29mdC1jb2duaXRpdmVzZXJ2aWNlcy1zcGVlY2gtc2RrL2Rpc3RyaWIvbGliL3NyYy9jb21tb24uYnJvd3Nlci9FeHBvcnRzJztcblxuaW1wb3J0IHsgQXVkaW9TdHJlYW1Ob2RlLCBEZXZpY2VJbmZvLCBGb3JtYXQgfSBmcm9tICcuL0N1c3RvbUF1ZGlvSW5wdXRTdHJlYW0nO1xuaW1wb3J0IGJ5dGVzUGVyU2FtcGxlIGZyb20gJy4vYnl0ZXNQZXJTYW1wbGUnO1xuaW1wb3J0IGNyZWF0ZUF1ZGlvQ29uZmlnIGZyb20gJy4vY3JlYXRlQXVkaW9Db25maWcnO1xuaW1wb3J0IGNyZWF0ZUF1ZGlvQ29udGV4dCBmcm9tICcuL2NyZWF0ZUF1ZGlvQ29udGV4dCc7XG5pbXBvcnQgZ2V0VXNlck1lZGlhIGZyb20gJy4vZ2V0VXNlck1lZGlhJztcblxuLy8gVGhpcyBpcyBob3cgb2Z0ZW4gd2UgYXJlIGZsdXNoaW5nIGF1ZGlvIGJ1ZmZlciB0byB0aGUgbmV0d29yay4gTW9kaWZ5IHRoaXMgdmFsdWUgd2lsbCBhZmZlY3QgbGF0ZW5jeS5cbmNvbnN0IERFRkFVTFRfQlVGRkVSX0RVUkFUSU9OX0lOX01TID0gMTAwO1xuXG4vLyBUT0RPOiBbUDJdICMzOTc1IFdlIHNob3VsZCBjb25zaWRlciBidWlsZGluZyBvdXIgb3duIFBjbVJlY29yZGVyOlxuLy8gICAgICAgLSBVc2UgQXVkaW8gV29ya2xldCB2aWEgYmxvYiBVUkxcbi8vICAgICAgIC0gTm90IGhhcmRjb2RpbmcgdGhlIHNhbXBsZSByYXRlIG9yIG90aGVyIHZhbHVlc1xuLy8gUGNtUmVjb3JkZXIgYWx3YXlzIGRvd25zY2FsZSB0byAxNjAwMCBIei4gV2UgY2Fubm90IHVzZSB0aGUgZHluYW1pYyB2YWx1ZSBmcm9tIE1lZGlhQ29uc3RyYWludHMgb3IgTWVkaWFUcmFja1NldHRpbmdzLlxuY29uc3QgUENNX1JFQ09SREVSX0hBUkRDT0RFRF9TRVRUSU5HUzogTWVkaWFUcmFja1NldHRpbmdzID0gT2JqZWN0LmZyZWV6ZSh7XG4gIGNoYW5uZWxDb3VudDogMSxcbiAgc2FtcGxlUmF0ZTogMTYwMDAsXG4gIHNhbXBsZVNpemU6IDE2XG59KTtcblxuY29uc3QgUENNX1JFQ09SREVSX0hBUkRDT0RFRF9GT1JNQVQ6IEZvcm1hdCA9IE9iamVjdC5mcmVlemUoe1xuICBiaXRzUGVyU2FtcGxlOiBQQ01fUkVDT1JERVJfSEFSRENPREVEX1NFVFRJTkdTLnNhbXBsZVNpemUsXG4gIGNoYW5uZWxzOiBQQ01fUkVDT1JERVJfSEFSRENPREVEX1NFVFRJTkdTLmNoYW5uZWxDb3VudCxcbiAgc2FtcGxlc1BlclNlYzogUENNX1JFQ09SREVSX0hBUkRDT0RFRF9TRVRUSU5HUy5zYW1wbGVSYXRlXG59KTtcblxudHlwZSBNaWNyb3Bob25lQXVkaW9JbnB1dFN0cmVhbU9wdGlvbnMgPSB7XG4gIC8qKiBTcGVjaWZpZXMgdGhlIGNvbnN0cmFpbnRzIGZvciBzZWxlY3RpbmcgYW4gYXVkaW8gZGV2aWNlLiAqL1xuICBhdWRpb0NvbnN0cmFpbnRzPzogdHJ1ZSB8IE1lZGlhVHJhY2tDb25zdHJhaW50cztcblxuICAvKiogU3BlY2lmaWVzIHRoZSBgQXVkaW9Db250ZXh0YCB0byB1c2UuIFRoaXMgb2JqZWN0IG11c3QgYmUgcHJpbWVkIGFuZCByZWFkeSB0byB1c2UuICovXG4gIGF1ZGlvQ29udGV4dDogQXVkaW9Db250ZXh0O1xuXG4gIC8qKiBTcGVjaWZpZXMgdGhlIGJ1ZmZlcmluZyBkZWxheSBvbiBob3cgb2Z0ZW4gdG8gZmx1c2ggYXVkaW8gZGF0YSB0byBuZXR3b3JrLiBJbmNyZWFzaW5nIHRoZSB2YWx1ZSB3aWxsIGluY3JlYXNlIGF1ZGlvIGxhdGVuY3kuIERlZmF1bHQgaXMgMTAwIG1zLiAqL1xuICBidWZmZXJEdXJhdGlvbkluTVM/OiBudW1iZXI7XG5cbiAgLyoqIFNwZWNpZmllcyB3aGV0aGVyIHRvIGRpc3BsYXkgZGlhZ25vc3RpYyBpbmZvcm1hdGlvbi4gKi9cbiAgZGVidWc/OiB0cnVlO1xuXG4gIC8qKiBTcGVjaWZpZXMgaWYgdGVsZW1ldHJ5IGRhdGEgc2hvdWxkIGJlIHNlbnQuIElmIG5vdCBzcGVjaWZpZWQsIHRlbGVtZXRyeSBkYXRhIHdpbGwgTk9UIGJlIHNlbnQuICovXG4gIGVuYWJsZVRlbGVtZXRyeT86IHRydWU7XG5cbiAgLyoqIFNwZWNpZmllcyB0aGUgYEF1ZGlvV29ya2xldGAgVVJMIGZvciBgUGNtUmVjb3JkZXJgLiBJZiBub3Qgc3BlY2lmaWVkLCB3aWxsIHVzZSBzY3JpcHQgcHJvY2Vzc29yIG9uIFVJIHRocmVhZCBpbnN0ZWFkLiAqL1xuICBwY21SZWNvcmRlcldvcmtsZXRVcmw/OiBzdHJpbmc7XG59O1xuXG5mdW5jdGlvbiBjcmVhdGVNaWNyb3Bob25lQXVkaW9Db25maWcob3B0aW9uczogTWljcm9waG9uZUF1ZGlvSW5wdXRTdHJlYW1PcHRpb25zKSB7XG4gIGNvbnN0IHsgYXVkaW9Db25zdHJhaW50cywgYXVkaW9Db250ZXh0LCBkZWJ1ZywgZW5hYmxlVGVsZW1ldHJ5LCBwY21SZWNvcmRlcldvcmtsZXRVcmwgfSA9IG9wdGlvbnM7XG4gIGNvbnN0IGJ1ZmZlckR1cmF0aW9uSW5NUyA9IG9wdGlvbnMuYnVmZmVyRHVyYXRpb25Jbk1TIHx8IERFRkFVTFRfQlVGRkVSX0RVUkFUSU9OX0lOX01TO1xuXG4gIGNvbnN0IHBjbVJlY29yZGVyID0gbmV3IFBjbVJlY29yZGVyKCk7XG5cbiAgcGNtUmVjb3JkZXJXb3JrbGV0VXJsICYmIHBjbVJlY29yZGVyLnNldFdvcmtsZXRVcmwocGNtUmVjb3JkZXJXb3JrbGV0VXJsKTtcblxuICByZXR1cm4gY3JlYXRlQXVkaW9Db25maWcoe1xuICAgIGFzeW5jIGF0dGFjaChhdWRpb05vZGVJZDogc3RyaW5nKTogUHJvbWlzZTx7XG4gICAgICBhdWRpb1N0cmVhbU5vZGU6IEF1ZGlvU3RyZWFtTm9kZTtcbiAgICAgIGRldmljZUluZm86IERldmljZUluZm87XG4gICAgICBmb3JtYXQ6IEZvcm1hdDtcbiAgICB9PiB7XG4gICAgICAvLyBXZSBuZWVkIHRvIGdldCBuZXcgTWVkaWFTdHJlYW0gb24gZXZlcnkgYXR0YWNoKCkuXG4gICAgICAvLyBUaGlzIGlzIGJlY2F1c2UgUGNtUmVjb3JkZXIucmVsZWFzZU1lZGlhUmVzb3VyY2VzKCkgZGlzY29ubmVjdGVkL3N0b3BwZWQgdGhlbS5cbiAgICAgIGNvbnN0IG1lZGlhU3RyZWFtID0gYXdhaXQgZ2V0VXNlck1lZGlhKHsgYXVkaW86IGF1ZGlvQ29uc3RyYWludHMsIHZpZGVvOiBmYWxzZSB9KTtcblxuICAgICAgY29uc3QgW2ZpcnN0QXVkaW9UcmFja10gPSBtZWRpYVN0cmVhbS5nZXRBdWRpb1RyYWNrcygpO1xuXG4gICAgICBpZiAoIWZpcnN0QXVkaW9UcmFjaykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGF1ZGlvIGRldmljZSBpcyBmb3VuZC4nKTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgb3V0cHV0U3RyZWFtID0gbmV3IENodW5rZWRBcnJheUJ1ZmZlclN0cmVhbShcbiAgICAgICAgLy8gU3BlZWNoIFNESyBxdWlya3M6IFBjbVJlY29yZGVyIGhhcmRjb2RlZCBzYW1wbGUgcmF0ZSBvZiAxNjAwMCBIei5cbiAgICAgICAgYnl0ZXNQZXJTYW1wbGUoUENNX1JFQ09SREVSX0hBUkRDT0RFRF9TRVRUSU5HUykgKlxuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1tYWdpYy1udW1iZXJzXG4gICAgICAgICAgKChidWZmZXJEdXJhdGlvbkluTVMgfHwgREVGQVVMVF9CVUZGRVJfRFVSQVRJT05fSU5fTVMpIC8gMTAwMCksXG4gICAgICAgIGF1ZGlvTm9kZUlkXG4gICAgICApO1xuXG4gICAgICBwY21SZWNvcmRlci5yZWNvcmQoYXVkaW9Db250ZXh0LCBtZWRpYVN0cmVhbSwgb3V0cHV0U3RyZWFtKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYXVkaW9TdHJlYW1Ob2RlOiB7XG4gICAgICAgICAgLy8gU3BlZWNoIFNESyBxdWlya3M6IEluIFNESydzIG9yaWdpbmFsIE1pY0F1ZGlvU291cmNlIGltcGxlbWVudGF0aW9uLCBpdCBjYWxsIHR1cm5PZmYoKSBkdXJpbmcgZGV0YWNoKCkuXG4gICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgIFRoYXQgbWVhbnMsIGl0IGNhbGwgdHVybk9mZigpLCB0aGVuIGRldGFjaCgpLCB0aGVuIHR1cm5PZmYoKSBhZ2Fpbi4gU2VlbXMgcmVkdW5kYW50LlxuICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICBXaGVuIHVzaW5nIHdpdGggRGlyZWN0IExpbmUgU3BlZWNoLCB0dXJuT2ZmKCkgaXMgbmV2ZXIgY2FsbGVkLlxuICAgICAgICAgIGRldGFjaDogKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgICAgICAgICAgLy8gU3BlZWNoIFNESyBxdWlya3M6IEluIFNESywgaXQgY2FsbCBvdXRwdXRTdHJlYW0uY2xvc2UoKSBpbiB0dXJuT2ZmKCkgYmVmb3JlIG91dHB1dFN0cmVhbS5yZWFkRW5kZWQoKSBpbiBkZXRhY2goKS5cbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICBJIHRoaW5rIGl0IG1ha2Ugc2Vuc2UgdG8gY2FsbCByZWFkRW5kZWQoKSBiZWZvcmUgY2xvc2UoKS5cbiAgICAgICAgICAgIG91dHB1dFN0cmVhbS5yZWFkRW5kZWQoKTtcbiAgICAgICAgICAgIG91dHB1dFN0cmVhbS5jbG9zZSgpO1xuXG4gICAgICAgICAgICAvLyBQY21SZWNvcmRlci5yZWxlYXNlTWVkaWFSZXNvdXJjZXMoKSB3aWxsIGRpc2Nvbm5lY3Qvc3RvcCB0aGUgTWVkaWFTdHJlYW0uXG4gICAgICAgICAgICAvLyBXZSBjYW5ub3QgdXNlIE1lZGlhU3RyZWFtIGFnYWluIGFmdGVyIHR1cm5lZCBvZmYuXG4gICAgICAgICAgICBwY21SZWNvcmRlci5yZWxlYXNlTWVkaWFSZXNvdXJjZXMoYXVkaW9Db250ZXh0KTtcblxuICAgICAgICAgICAgLy8gTWVkaWFTdHJlYW0gd2lsbCBiZWNvbWUgaW5hY3RpdmUgYWZ0ZXIgYWxsIHRyYWNrcyBhcmUgcmVtb3ZlZC5cbiAgICAgICAgICAgIG1lZGlhU3RyZWFtLmdldFRyYWNrcygpLmZvckVhY2godHJhY2sgPT4gbWVkaWFTdHJlYW0ucmVtb3ZlVHJhY2sodHJhY2spKTtcblxuICAgICAgICAgICAgLy8gRVNMaW50OiBcInJldHVyblwiIGlzIHJlcXVpcmVkIGJ5IFR5cGVTY3JpcHRcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2VsZXNzLXJldHVyblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgaWQ6ICgpID0+IGF1ZGlvTm9kZUlkLFxuICAgICAgICAgIHJlYWQ6ICgpID0+IG91dHB1dFN0cmVhbS5yZWFkKClcbiAgICAgICAgfSxcbiAgICAgICAgZGV2aWNlSW5mbzoge1xuICAgICAgICAgIG1hbnVmYWN0dXJlcjogJ0JvdCBGcmFtZXdvcmsgV2ViIENoYXQnLFxuICAgICAgICAgIG1vZGVsOiBlbmFibGVUZWxlbWV0cnkgPyBmaXJzdEF1ZGlvVHJhY2subGFiZWwgOiAnJyxcbiAgICAgICAgICB0eXBlOiBlbmFibGVUZWxlbWV0cnkgPyAnTWljcm9waG9uZXMnIDogJ1Vua25vd24nXG4gICAgICAgIH0sXG4gICAgICAgIC8vIFNwZWVjaCBTREsgcXVpcmtzOiBQY21SZWNvcmRlciBoYXJkY29kZWQgc2FtcGxlIHJhdGUgb2YgMTYwMDAgSHouXG4gICAgICAgIC8vICAgICAgICAgICAgICAgICAgICBXZSBjYW5ub3Qgb2J0YWluIHRoaXMgbnVtYmVyIG90aGVyIHRoYW4gbG9va2luZyBhdCB0aGVpciBzb3VyY2UgY29kZS5cbiAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgIEkuZS4gbm8gZ2V0dGVyIHByb3BlcnR5LlxuICAgICAgICAvLyBQY21SZWNvcmRlciBhbHdheXMgZG93bnNjYWxlIHRvIDE2MDAwIEh6LiBXZSBjYW5ub3QgdXNlIHRoZSBkeW5hbWljIHZhbHVlIGZyb20gTWVkaWFDb25zdHJhaW50cyBvciBNZWRpYVRyYWNrU2V0dGluZ3MuXG4gICAgICAgIGZvcm1hdDogUENNX1JFQ09SREVSX0hBUkRDT0RFRF9GT1JNQVRcbiAgICAgIH07XG4gICAgfSxcbiAgICBkZWJ1Z1xuICB9KTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY3JlYXRlTWljcm9waG9uZUF1ZGlvQ29uZmlnQW5kQXVkaW9Db250ZXh0KHtcbiAgYXVkaW9Db250ZXh0LFxuICBhdWRpb0lucHV0RGV2aWNlSWQsXG4gIGVuYWJsZVRlbGVtZXRyeVxufToge1xuICBhdWRpb0NvbnRleHQ/OiBBdWRpb0NvbnRleHQ7XG4gIGF1ZGlvSW5wdXREZXZpY2VJZD86IHN0cmluZztcbiAgZW5hYmxlVGVsZW1ldHJ5PzogdHJ1ZTtcbn0pIHtcbiAgLy8gV2ViIENoYXQgaGFzIGFuIGltcGxlbWVudGF0aW9uIG9mIEF1ZGlvQ29uZmlnIGZvciBtaWNyb3Bob25lIHRoYXQgd291bGQgZW5hYmxlIGJldHRlciBzdXBwb3J0IG9uIFNhZmFyaTpcbiAgLy8gLSBNYWludGFpbiBzYW1lIGluc3RhbmNlIG9mIGBBdWRpb0NvbnRleHRgIGFjcm9zcyByZWNvZ25pdGlvbnM7XG4gIC8vIC0gUmVzdW1lIHN1c3BlbmRlZCBgQXVkaW9Db250ZXh0YCBvbiB1c2VyIGdlc3R1cmVzLlxuICBhdWRpb0NvbnRleHQgfHwgKGF1ZGlvQ29udGV4dCA9IGNyZWF0ZUF1ZGlvQ29udGV4dCgpKTtcblxuICByZXR1cm4ge1xuICAgIGF1ZGlvQ29uZmlnOiBjcmVhdGVNaWNyb3Bob25lQXVkaW9Db25maWcoe1xuICAgICAgYXVkaW9Db25zdHJhaW50czogYXVkaW9JbnB1dERldmljZUlkID8geyBkZXZpY2VJZDogYXVkaW9JbnB1dERldmljZUlkIH0gOiB0cnVlLFxuICAgICAgYXVkaW9Db250ZXh0LFxuICAgICAgZW5hYmxlVGVsZW1ldHJ5OiBlbmFibGVUZWxlbWV0cnkgPyB0cnVlIDogdW5kZWZpbmVkXG4gICAgfSksXG4gICAgYXVkaW9Db250ZXh0XG4gIH07XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export default function getUserMedia(constraints: MediaStreamConstraints): Promise<MediaStream>;
2
+ //# sourceMappingURL=getUserMedia.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUserMedia.d.ts","sourceRoot":"","sources":["../../src/speech/getUserMedia.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,WAAW,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC,CAa9F"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = getUserMedia;
7
+
8
+ function getUserMedia(constraints) {
9
+ var _window = window,
10
+ navigator = _window.navigator;
11
+
12
+ if (typeof navigator.mediaDevices !== 'undefined') {
13
+ return navigator.mediaDevices.getUserMedia(constraints);
14
+ } // Although getUserMedia has vendor prefix, they are only used in very old version of browsers.
15
+
16
+
17
+ if (typeof navigator.getUserMedia !== 'undefined') {
18
+ return new Promise(function (resolve, reject) {
19
+ return navigator.getUserMedia(constraints, resolve, reject);
20
+ });
21
+ }
22
+
23
+ throw new Error('This browser does not support Web Audio API.');
24
+ }
25
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zcGVlY2gvZ2V0VXNlck1lZGlhLnRzIl0sIm5hbWVzIjpbImdldFVzZXJNZWRpYSIsImNvbnN0cmFpbnRzIiwid2luZG93IiwibmF2aWdhdG9yIiwibWVkaWFEZXZpY2VzIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJFcnJvciJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFlLFNBQVNBLFlBQVQsQ0FBc0JDLFdBQXRCLEVBQWlGO0FBQzlGLGdCQUFzQkMsTUFBdEI7QUFBQSxNQUFRQyxTQUFSLFdBQVFBLFNBQVI7O0FBRUEsTUFBSSxPQUFPQSxTQUFTLENBQUNDLFlBQWpCLEtBQWtDLFdBQXRDLEVBQW1EO0FBQ2pELFdBQU9ELFNBQVMsQ0FBQ0MsWUFBVixDQUF1QkosWUFBdkIsQ0FBb0NDLFdBQXBDLENBQVA7QUFDRCxHQUw2RixDQU85Rjs7O0FBQ0EsTUFBSSxPQUFPRSxTQUFTLENBQUNILFlBQWpCLEtBQWtDLFdBQXRDLEVBQW1EO0FBQ2pELFdBQU8sSUFBSUssT0FBSixDQUFZLFVBQUNDLE9BQUQsRUFBVUMsTUFBVjtBQUFBLGFBQXFCSixTQUFTLENBQUNILFlBQVYsQ0FBdUJDLFdBQXZCLEVBQW9DSyxPQUFwQyxFQUE2Q0MsTUFBN0MsQ0FBckI7QUFBQSxLQUFaLENBQVA7QUFDRDs7QUFFRCxRQUFNLElBQUlDLEtBQUosQ0FBVSw4Q0FBVixDQUFOO0FBQ0QiLCJzb3VyY2VSb290IjoiYnVuZGxlOi8vLyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFVzZXJNZWRpYShjb25zdHJhaW50czogTWVkaWFTdHJlYW1Db25zdHJhaW50cyk6IFByb21pc2U8TWVkaWFTdHJlYW0+IHtcbiAgY29uc3QgeyBuYXZpZ2F0b3IgfSA9IHdpbmRvdztcblxuICBpZiAodHlwZW9mIG5hdmlnYXRvci5tZWRpYURldmljZXMgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKGNvbnN0cmFpbnRzKTtcbiAgfVxuXG4gIC8vIEFsdGhvdWdoIGdldFVzZXJNZWRpYSBoYXMgdmVuZG9yIHByZWZpeCwgdGhleSBhcmUgb25seSB1c2VkIGluIHZlcnkgb2xkIHZlcnNpb24gb2YgYnJvd3NlcnMuXG4gIGlmICh0eXBlb2YgbmF2aWdhdG9yLmdldFVzZXJNZWRpYSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gbmF2aWdhdG9yLmdldFVzZXJNZWRpYShjb25zdHJhaW50cywgcmVzb2x2ZSwgcmVqZWN0KSk7XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoJ1RoaXMgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IFdlYiBBdWRpbyBBUEkuJyk7XG59XG4iXX0=
@@ -0,0 +1,13 @@
1
+ import { AdaptiveCard, GlobalSettings, HorizontalAlignment, HostConfig, TextSize, TextWeight, SerializationContext, Version } from 'adaptivecards';
2
+ declare type AdaptiveCardsPackage = {
3
+ AdaptiveCard: typeof AdaptiveCard;
4
+ GlobalSettings: typeof GlobalSettings;
5
+ HorizontalAlignment: typeof HorizontalAlignment;
6
+ HostConfig: typeof HostConfig;
7
+ TextSize: typeof TextSize;
8
+ TextWeight: typeof TextWeight;
9
+ SerializationContext: typeof SerializationContext;
10
+ Version: typeof Version;
11
+ };
12
+ export default AdaptiveCardsPackage;
13
+ //# sourceMappingURL=AdaptiveCardsPackage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdaptiveCardsPackage.d.ts","sourceRoot":"","sources":["../../src/types/AdaptiveCardsPackage.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,UAAU,EACV,QAAQ,EACR,UAAU,EACV,oBAAoB,EACpB,OAAO,EACR,MAAM,eAAe,CAAC;AAEvB,aAAK,oBAAoB,GAAG;IAC1B,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;IAChD,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,OAAO,EAAE,OAAO,OAAO,CAAC;CACzB,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZVJvb3QiOiJidW5kbGU6Ly8vIiwic291cmNlc0NvbnRlbnQiOltdfQ==
@@ -0,0 +1,3 @@
1
+ declare type CognitiveServicesAudioOutputFormat = 'audio-16khz-128kbitrate-mono-mp3' | 'audio-16khz-32kbitrate-mono-mp3' | 'audio-16khz-64kbitrate-mono-mp3' | 'audio-24khz-160kbitrate-mono-mp3' | 'audio-24khz-48kbitrate-mono-mp3' | 'audio-24khz-96kbitrate-mono-mp3' | 'audio-48khz-192kbitrate-mono-mp3' | 'audio-48khz-96kbitrate-mono-mp3' | 'ogg-16khz-16bit-mono-opus' | 'ogg-24khz-16bit-mono-opus' | 'ogg-48khz-16bit-mono-opus' | 'raw-16khz-16bit-mono-pcm' | 'raw-16khz-16bit-mono-truesilk' | 'raw-24khz-16bit-mono-pcm' | 'raw-24khz-16bit-mono-truesilk' | 'raw-48khz-16bit-mono-pcm' | 'raw-8khz-8bit-mono-alaw' | 'raw-8khz-8bit-mono-mulaw' | 'riff-16khz-16bit-mono-pcm' | 'riff-24khz-16bit-mono-pcm' | 'riff-48khz-16bit-mono-pcm' | 'riff-8khz-8bit-mono-alaw' | 'riff-8khz-8bit-mono-mulaw' | 'webm-16khz-16bit-mono-opus' | 'webm-24khz-16bit-mono-opus';
2
+ export default CognitiveServicesAudioOutputFormat;
3
+ //# sourceMappingURL=CognitiveServicesAudioOutputFormat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CognitiveServicesAudioOutputFormat.d.ts","sourceRoot":"","sources":["../../src/types/CognitiveServicesAudioOutputFormat.ts"],"names":[],"mappings":"AAAA,aAAK,kCAAkC,GACnC,kCAAkC,GAClC,iCAAiC,GACjC,iCAAiC,GACjC,kCAAkC,GAClC,iCAAiC,GACjC,iCAAiC,GACjC,kCAAkC,GAClC,iCAAiC,GACjC,2BAA2B,GAC3B,2BAA2B,GAC3B,2BAA2B,GAC3B,0BAA0B,GAC1B,+BAA+B,GAC/B,0BAA0B,GAC1B,+BAA+B,GAC/B,0BAA0B,GAC1B,yBAAyB,GACzB,0BAA0B,GAC1B,2BAA2B,GAC3B,2BAA2B,GAC3B,2BAA2B,GAC3B,0BAA0B,GAC1B,2BAA2B,GAC3B,4BAA4B,GAC5B,4BAA4B,CAAC;AAEjC,eAAe,kCAAkC,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZVJvb3QiOiJidW5kbGU6Ly8vIiwic291cmNlc0NvbnRlbnQiOltdfQ==
@@ -0,0 +1,18 @@
1
+ declare type CognitiveServicesAuthorizationToken = {
2
+ authorizationToken: string;
3
+ };
4
+ declare type CognitiveServicesSubscriptionKey = {
5
+ subscriptionKey: string;
6
+ };
7
+ declare type CognitiveServicesRegion = {
8
+ region: string;
9
+ };
10
+ declare type CognitiveServicesSovereignCloud = {
11
+ customVoiceHostname: string;
12
+ speechRecognitionHostname: string;
13
+ speechSynthesisHostname: string;
14
+ };
15
+ declare type CognitiveServicesBaseCredentials = (CognitiveServicesAuthorizationToken | CognitiveServicesSubscriptionKey) & (CognitiveServicesRegion | CognitiveServicesSovereignCloud);
16
+ declare type CognitiveServicesCredentials = CognitiveServicesBaseCredentials | Promise<CognitiveServicesBaseCredentials> | (() => CognitiveServicesBaseCredentials) | (() => Promise<CognitiveServicesBaseCredentials>);
17
+ export default CognitiveServicesCredentials;
18
+ //# sourceMappingURL=CognitiveServicesCredentials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CognitiveServicesCredentials.d.ts","sourceRoot":"","sources":["../../src/types/CognitiveServicesCredentials.ts"],"names":[],"mappings":"AAAA,aAAK,mCAAmC,GAAG;IACzC,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,aAAK,gCAAgC,GAAG;IACtC,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,aAAK,uBAAuB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,aAAK,+BAA+B,GAAG;IACrC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,yBAAyB,EAAE,MAAM,CAAC;IAClC,uBAAuB,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,aAAK,gCAAgC,GAAG,CAAC,mCAAmC,GAAG,gCAAgC,CAAC,GAC9G,CAAC,uBAAuB,GAAG,+BAA+B,CAAC,CAAC;AAE9D,aAAK,4BAA4B,GAC7B,gCAAgC,GAChC,OAAO,CAAC,gCAAgC,CAAC,GACzC,CAAC,MAAM,gCAAgC,CAAC,GACxC,CAAC,MAAM,OAAO,CAAC,gCAAgC,CAAC,CAAC,CAAC;AAEtD,eAAe,4BAA4B,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZVJvb3QiOiJidW5kbGU6Ly8vIiwic291cmNlc0NvbnRlbnQiOltdfQ==
@@ -0,0 +1,3 @@
1
+ declare type CognitiveServicesTextNormalization = 'display' | 'itn' | 'lexical' | 'maskeditn';
2
+ export default CognitiveServicesTextNormalization;
3
+ //# sourceMappingURL=CognitiveServicesTextNormalization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CognitiveServicesTextNormalization.d.ts","sourceRoot":"","sources":["../../src/types/CognitiveServicesTextNormalization.ts"],"names":[],"mappings":"AAAA,aAAK,kCAAkC,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,GAAG,WAAW,CAAC;AAEtF,eAAe,kCAAkC,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZVJvb3QiOiJidW5kbGU6Ly8vIiwic291cmNlc0NvbnRlbnQiOltdfQ==
@@ -1,5 +1,5 @@
1
1
  import { StrictStyleOptions, StyleOptions } from 'botframework-webchat-api';
2
- import AdaptiveCardStyleOptions, { StrictAdaptiveCardsStyleOptions } from './adaptiveCards/AdaptiveCardsStyleOptions';
2
+ import AdaptiveCardStyleOptions, { StrictAdaptiveCardsStyleOptions } from '../adaptiveCards/AdaptiveCardsStyleOptions';
3
3
  declare type FullBundleStyleOptions = StyleOptions & AdaptiveCardStyleOptions;
4
4
  declare type StrictFullBundleStyleOptions = StrictStyleOptions & StrictAdaptiveCardsStyleOptions;
5
5
  export default FullBundleStyleOptions;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FullBundleStyleOptions.d.ts","sourceRoot":"","sources":["../../src/types/FullBundleStyleOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE5E,OAAO,wBAAwB,EAAE,EAAE,+BAA+B,EAAE,MAAM,4CAA4C,CAAC;AAEvH,aAAK,sBAAsB,GAAG,YAAY,GAAG,wBAAwB,CAAC;AACtE,aAAK,4BAA4B,GAAG,kBAAkB,GAAG,+BAA+B,CAAC;AAEzF,eAAe,sBAAsB,CAAC;AACtC,OAAO,EAAE,4BAA4B,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZVJvb3QiOiJidW5kbGU6Ly8vIiwic291cmNlc0NvbnRlbnQiOltdfQ==
@@ -0,0 +1,22 @@
1
+ import { AttachmentForScreenReaderMiddleware, AttachmentMiddleware } from 'botframework-webchat-api';
2
+ export default function useComposerProps({ attachmentForScreenReaderMiddleware, attachmentMiddleware, renderMarkdown, styleOptions, styleSet }: {
3
+ attachmentForScreenReaderMiddleware: AttachmentForScreenReaderMiddleware[];
4
+ attachmentMiddleware: AttachmentMiddleware[];
5
+ renderMarkdown?: (markdown: string, { markdownRespectCRLF: boolean }: {
6
+ markdownRespectCRLF: any;
7
+ }, { externalLinkAlt: string }: {
8
+ externalLinkAlt: any;
9
+ }) => string;
10
+ styleOptions: any;
11
+ styleSet: any;
12
+ }): {
13
+ attachmentForScreenReaderMiddleware: AttachmentForScreenReaderMiddleware[];
14
+ attachmentMiddleware: AttachmentMiddleware[];
15
+ renderMarkdown: (markdown: string, { markdownRespectCRLF: boolean }: {
16
+ markdownRespectCRLF: any;
17
+ }, { externalLinkAlt: string }: {
18
+ externalLinkAlt: any;
19
+ }) => string;
20
+ extraStyleSet: any;
21
+ };
22
+ //# sourceMappingURL=useComposerProps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useComposerProps.d.ts","sourceRoot":"","sources":["../src/useComposerProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mCAAmC,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAQrG,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,mCAAmC,EACnC,oBAAoB,EACpB,cAAc,EACd,YAAY,EACZ,QAAQ,EACT,EAAE;IACD,mCAAmC,EAAE,mCAAmC,EAAE,CAAC;IAC3E,oBAAoB,EAAE,oBAAoB,EAAE,CAAC;IAC7C,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,mBAAmB,EAAE,OAAO,EAAE;;KAAA,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE;;KAAA,KAAK,MAAM,CAAC;IAC7G,YAAY,EAAE,GAAG,CAAC;IAClB,QAAQ,EAAE,GAAG,CAAC;CACf,GAAG;IACF,mCAAmC,EAAE,mCAAmC,EAAE,CAAC;IAC3E,oBAAoB,EAAE,oBAAoB,EAAE,CAAC;IAC7C,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,mBAAmB,EAAE,OAAO,EAAE;;KAAA,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE;;KAAA,KAAK,MAAM,CAAC;IAC5G,aAAa,EAAE,GAAG,CAAC;CACpB,CA4BA"}
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = useComposerProps;
9
9
 
10
- var _botframeworkWebchatComponent = require("botframework-webchat-component");
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
11
 
12
12
  var _react = require("react");
13
13
 
@@ -26,25 +26,23 @@ function useComposerProps(_ref) {
26
26
  styleOptions = _ref.styleOptions,
27
27
  styleSet = _ref.styleSet;
28
28
  var patchedAttachmentMiddleware = (0, _react.useMemo)(function () {
29
- return (0, _botframeworkWebchatComponent.concatMiddleware)(attachmentMiddleware, (0, _createAdaptiveCardsAttachmentMiddleware.default)());
29
+ return [].concat((0, _toConsumableArray2.default)(attachmentMiddleware), [(0, _createAdaptiveCardsAttachmentMiddleware.default)()]);
30
30
  }, [attachmentMiddleware]);
31
31
  var patchedAttachmentForScreenReaderMiddleware = (0, _react.useMemo)(function () {
32
- return (0, _botframeworkWebchatComponent.concatMiddleware)(attachmentForScreenReaderMiddleware, (0, _createAdaptiveCardsAttachmentForScreenReaderMiddleware.default)());
32
+ return [].concat((0, _toConsumableArray2.default)(attachmentForScreenReaderMiddleware), [(0, _createAdaptiveCardsAttachmentForScreenReaderMiddleware.default)()]);
33
33
  }, [attachmentForScreenReaderMiddleware]); // When styleSet is not specified, the styleOptions will be used to create Adaptive Cards styleSet and merged into useStyleSet.
34
34
 
35
35
  var extraStyleSet = (0, _react.useMemo)(function () {
36
36
  return styleSet ? undefined : (0, _createAdaptiveCardsStyleSet.default)(styleOptions);
37
37
  }, [styleOptions, styleSet]);
38
38
  var patchedRenderMarkdown = (0, _react.useMemo)(function () {
39
- return typeof renderMarkdown === 'undefined' ? function () {
40
- return _renderMarkdown.default.apply(void 0, arguments);
41
- } : renderMarkdown;
39
+ return typeof renderMarkdown === 'undefined' ? _renderMarkdown.default : renderMarkdown;
42
40
  }, [renderMarkdown]);
43
41
  return {
44
- attachmentMiddleware: patchedAttachmentMiddleware,
45
42
  attachmentForScreenReaderMiddleware: patchedAttachmentForScreenReaderMiddleware,
43
+ attachmentMiddleware: patchedAttachmentMiddleware,
46
44
  extraStyleSet: extraStyleSet,
47
45
  renderMarkdown: patchedRenderMarkdown
48
46
  };
49
47
  }
50
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91c2VDb21wb3NlclByb3BzLmpzIl0sIm5hbWVzIjpbInVzZUNvbXBvc2VyUHJvcHMiLCJhdHRhY2htZW50Rm9yU2NyZWVuUmVhZGVyTWlkZGxld2FyZSIsImF0dGFjaG1lbnRNaWRkbGV3YXJlIiwicmVuZGVyTWFya2Rvd24iLCJzdHlsZU9wdGlvbnMiLCJzdHlsZVNldCIsInBhdGNoZWRBdHRhY2htZW50TWlkZGxld2FyZSIsInBhdGNoZWRBdHRhY2htZW50Rm9yU2NyZWVuUmVhZGVyTWlkZGxld2FyZSIsImV4dHJhU3R5bGVTZXQiLCJ1bmRlZmluZWQiLCJwYXRjaGVkUmVuZGVyTWFya2Rvd24iLCJkZWZhdWx0UmVuZGVyTWFya2Rvd24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUVlLFNBQVNBLGdCQUFULE9BTVo7QUFBQSxNQUxEQyxtQ0FLQyxRQUxEQSxtQ0FLQztBQUFBLE1BSkRDLG9CQUlDLFFBSkRBLG9CQUlDO0FBQUEsTUFIREMsY0FHQyxRQUhEQSxjQUdDO0FBQUEsTUFGREMsWUFFQyxRQUZEQSxZQUVDO0FBQUEsTUFEREMsUUFDQyxRQUREQSxRQUNDO0FBQ0QsTUFBTUMsMkJBQTJCLEdBQUcsb0JBQ2xDO0FBQUEsV0FBTSxvREFBaUJKLG9CQUFqQixFQUF1Qyx1REFBdkMsQ0FBTjtBQUFBLEdBRGtDLEVBRWxDLENBQUNBLG9CQUFELENBRmtDLENBQXBDO0FBS0EsTUFBTUssMENBQTBDLEdBQUcsb0JBQ2pEO0FBQUEsV0FDRSxvREFBaUJOLG1DQUFqQixFQUFzRCxzRUFBdEQsQ0FERjtBQUFBLEdBRGlELEVBR2pELENBQUNBLG1DQUFELENBSGlELENBQW5ELENBTkMsQ0FZRDs7QUFDQSxNQUFNTyxhQUFhLEdBQUcsb0JBQVE7QUFBQSxXQUFPSCxRQUFRLEdBQUdJLFNBQUgsR0FBZSwwQ0FBNEJMLFlBQTVCLENBQTlCO0FBQUEsR0FBUixFQUFrRixDQUN0R0EsWUFEc0csRUFFdEdDLFFBRnNHLENBQWxGLENBQXRCO0FBS0EsTUFBTUsscUJBQXFCLEdBQUcsb0JBQzVCO0FBQUEsV0FBTyxPQUFPUCxjQUFQLEtBQTBCLFdBQTFCLEdBQXdDO0FBQUEsYUFBYVEsZ0RBQWI7QUFBQSxLQUF4QyxHQUFzRlIsY0FBN0Y7QUFBQSxHQUQ0QixFQUU1QixDQUFDQSxjQUFELENBRjRCLENBQTlCO0FBS0EsU0FBTztBQUNMRCxJQUFBQSxvQkFBb0IsRUFBRUksMkJBRGpCO0FBRUxMLElBQUFBLG1DQUFtQyxFQUFFTSwwQ0FGaEM7QUFHTEMsSUFBQUEsYUFBYSxFQUFiQSxhQUhLO0FBSUxMLElBQUFBLGNBQWMsRUFBRU87QUFKWCxHQUFQO0FBTUQiLCJzb3VyY2VSb290IjoiYnVuZGxlOi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbmNhdE1pZGRsZXdhcmUgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1jb21wb25lbnQnO1xuaW1wb3J0IHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IGNyZWF0ZUFkYXB0aXZlQ2FyZHNBdHRhY2htZW50Rm9yU2NyZWVuUmVhZGVyTWlkZGxld2FyZSBmcm9tICcuL2FkYXB0aXZlQ2FyZHMvY3JlYXRlQWRhcHRpdmVDYXJkc0F0dGFjaG1lbnRGb3JTY3JlZW5SZWFkZXJNaWRkbGV3YXJlJztcbmltcG9ydCBjcmVhdGVBZGFwdGl2ZUNhcmRzQXR0YWNobWVudE1pZGRsZXdhcmUgZnJvbSAnLi9hZGFwdGl2ZUNhcmRzL2NyZWF0ZUFkYXB0aXZlQ2FyZHNBdHRhY2htZW50TWlkZGxld2FyZSc7XG5pbXBvcnQgY3JlYXRlQWRhcHRpdmVDYXJkc1N0eWxlU2V0IGZyb20gJy4vYWRhcHRpdmVDYXJkcy9TdHlsZXMvY3JlYXRlQWRhcHRpdmVDYXJkc1N0eWxlU2V0JztcbmltcG9ydCBkZWZhdWx0UmVuZGVyTWFya2Rvd24gZnJvbSAnLi9yZW5kZXJNYXJrZG93bic7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUNvbXBvc2VyUHJvcHMoe1xuICBhdHRhY2htZW50Rm9yU2NyZWVuUmVhZGVyTWlkZGxld2FyZSxcbiAgYXR0YWNobWVudE1pZGRsZXdhcmUsXG4gIHJlbmRlck1hcmtkb3duLFxuICBzdHlsZU9wdGlvbnMsXG4gIHN0eWxlU2V0XG59KSB7XG4gIGNvbnN0IHBhdGNoZWRBdHRhY2htZW50TWlkZGxld2FyZSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gY29uY2F0TWlkZGxld2FyZShhdHRhY2htZW50TWlkZGxld2FyZSwgY3JlYXRlQWRhcHRpdmVDYXJkc0F0dGFjaG1lbnRNaWRkbGV3YXJlKCkpLFxuICAgIFthdHRhY2htZW50TWlkZGxld2FyZV1cbiAgKTtcblxuICBjb25zdCBwYXRjaGVkQXR0YWNobWVudEZvclNjcmVlblJlYWRlck1pZGRsZXdhcmUgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBjb25jYXRNaWRkbGV3YXJlKGF0dGFjaG1lbnRGb3JTY3JlZW5SZWFkZXJNaWRkbGV3YXJlLCBjcmVhdGVBZGFwdGl2ZUNhcmRzQXR0YWNobWVudEZvclNjcmVlblJlYWRlck1pZGRsZXdhcmUoKSksXG4gICAgW2F0dGFjaG1lbnRGb3JTY3JlZW5SZWFkZXJNaWRkbGV3YXJlXVxuICApO1xuXG4gIC8vIFdoZW4gc3R5bGVTZXQgaXMgbm90IHNwZWNpZmllZCwgdGhlIHN0eWxlT3B0aW9ucyB3aWxsIGJlIHVzZWQgdG8gY3JlYXRlIEFkYXB0aXZlIENhcmRzIHN0eWxlU2V0IGFuZCBtZXJnZWQgaW50byB1c2VTdHlsZVNldC5cbiAgY29uc3QgZXh0cmFTdHlsZVNldCA9IHVzZU1lbW8oKCkgPT4gKHN0eWxlU2V0ID8gdW5kZWZpbmVkIDogY3JlYXRlQWRhcHRpdmVDYXJkc1N0eWxlU2V0KHN0eWxlT3B0aW9ucykpLCBbXG4gICAgc3R5bGVPcHRpb25zLFxuICAgIHN0eWxlU2V0XG4gIF0pO1xuXG4gIGNvbnN0IHBhdGNoZWRSZW5kZXJNYXJrZG93biA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHR5cGVvZiByZW5kZXJNYXJrZG93biA9PT0gJ3VuZGVmaW5lZCcgPyAoLi4uYXJncykgPT4gZGVmYXVsdFJlbmRlck1hcmtkb3duKC4uLmFyZ3MpIDogcmVuZGVyTWFya2Rvd24pLFxuICAgIFtyZW5kZXJNYXJrZG93bl1cbiAgKTtcblxuICByZXR1cm4ge1xuICAgIGF0dGFjaG1lbnRNaWRkbGV3YXJlOiBwYXRjaGVkQXR0YWNobWVudE1pZGRsZXdhcmUsXG4gICAgYXR0YWNobWVudEZvclNjcmVlblJlYWRlck1pZGRsZXdhcmU6IHBhdGNoZWRBdHRhY2htZW50Rm9yU2NyZWVuUmVhZGVyTWlkZGxld2FyZSxcbiAgICBleHRyYVN0eWxlU2V0LFxuICAgIHJlbmRlck1hcmtkb3duOiBwYXRjaGVkUmVuZGVyTWFya2Rvd25cbiAgfTtcbn1cbiJdfQ==
48
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91c2VDb21wb3NlclByb3BzLnRzIl0sIm5hbWVzIjpbInVzZUNvbXBvc2VyUHJvcHMiLCJhdHRhY2htZW50Rm9yU2NyZWVuUmVhZGVyTWlkZGxld2FyZSIsImF0dGFjaG1lbnRNaWRkbGV3YXJlIiwicmVuZGVyTWFya2Rvd24iLCJzdHlsZU9wdGlvbnMiLCJzdHlsZVNldCIsInBhdGNoZWRBdHRhY2htZW50TWlkZGxld2FyZSIsInBhdGNoZWRBdHRhY2htZW50Rm9yU2NyZWVuUmVhZGVyTWlkZGxld2FyZSIsImV4dHJhU3R5bGVTZXQiLCJ1bmRlZmluZWQiLCJwYXRjaGVkUmVuZGVyTWFya2Rvd24iLCJkZWZhdWx0UmVuZGVyTWFya2Rvd24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRWUsU0FBU0EsZ0JBQVQsT0FpQmI7QUFBQSxNQWhCQUMsbUNBZ0JBLFFBaEJBQSxtQ0FnQkE7QUFBQSxNQWZBQyxvQkFlQSxRQWZBQSxvQkFlQTtBQUFBLE1BZEFDLGNBY0EsUUFkQUEsY0FjQTtBQUFBLE1BYkFDLFlBYUEsUUFiQUEsWUFhQTtBQUFBLE1BWkFDLFFBWUEsUUFaQUEsUUFZQTtBQUNBLE1BQU1DLDJCQUEyQixHQUFHLG9CQUNsQztBQUFBLHNEQUFVSixvQkFBVixJQUFnQyx1REFBaEM7QUFBQSxHQURrQyxFQUVsQyxDQUFDQSxvQkFBRCxDQUZrQyxDQUFwQztBQUtBLE1BQU1LLDBDQUEwQyxHQUFHLG9CQUNqRDtBQUFBLHNEQUFVTixtQ0FBVixJQUErQyxzRUFBL0M7QUFBQSxHQURpRCxFQUVqRCxDQUFDQSxtQ0FBRCxDQUZpRCxDQUFuRCxDQU5BLENBV0E7O0FBQ0EsTUFBTU8sYUFBYSxHQUFHLG9CQUNwQjtBQUFBLFdBQU9ILFFBQVEsR0FBR0ksU0FBSCxHQUFlLDBDQUE0QkwsWUFBNUIsQ0FBOUI7QUFBQSxHQURvQixFQUVwQixDQUFDQSxZQUFELEVBQWVDLFFBQWYsQ0FGb0IsQ0FBdEI7QUFLQSxNQUFNSyxxQkFBcUIsR0FBRyxvQkFDNUI7QUFBQSxXQUFPLE9BQU9QLGNBQVAsS0FBMEIsV0FBMUIsR0FBd0NRLHVCQUF4QyxHQUFnRVIsY0FBdkU7QUFBQSxHQUQ0QixFQUU1QixDQUFDQSxjQUFELENBRjRCLENBQTlCO0FBS0EsU0FBTztBQUNMRixJQUFBQSxtQ0FBbUMsRUFBRU0sMENBRGhDO0FBRUxMLElBQUFBLG9CQUFvQixFQUFFSSwyQkFGakI7QUFHTEUsSUFBQUEsYUFBYSxFQUFiQSxhQUhLO0FBSUxMLElBQUFBLGNBQWMsRUFBRU87QUFKWCxHQUFQO0FBTUQiLCJzb3VyY2VSb290IjoiYnVuZGxlOi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF0dGFjaG1lbnRGb3JTY3JlZW5SZWFkZXJNaWRkbGV3YXJlLCBBdHRhY2htZW50TWlkZGxld2FyZSB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWFwaSc7XG5pbXBvcnQgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgY3JlYXRlQWRhcHRpdmVDYXJkc0F0dGFjaG1lbnRGb3JTY3JlZW5SZWFkZXJNaWRkbGV3YXJlIGZyb20gJy4vYWRhcHRpdmVDYXJkcy9jcmVhdGVBZGFwdGl2ZUNhcmRzQXR0YWNobWVudEZvclNjcmVlblJlYWRlck1pZGRsZXdhcmUnO1xuaW1wb3J0IGNyZWF0ZUFkYXB0aXZlQ2FyZHNBdHRhY2htZW50TWlkZGxld2FyZSBmcm9tICcuL2FkYXB0aXZlQ2FyZHMvY3JlYXRlQWRhcHRpdmVDYXJkc0F0dGFjaG1lbnRNaWRkbGV3YXJlJztcbmltcG9ydCBjcmVhdGVBZGFwdGl2ZUNhcmRzU3R5bGVTZXQgZnJvbSAnLi9hZGFwdGl2ZUNhcmRzL1N0eWxlcy9jcmVhdGVBZGFwdGl2ZUNhcmRzU3R5bGVTZXQnO1xuaW1wb3J0IGRlZmF1bHRSZW5kZXJNYXJrZG93biBmcm9tICcuL3JlbmRlck1hcmtkb3duJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlQ29tcG9zZXJQcm9wcyh7XG4gIGF0dGFjaG1lbnRGb3JTY3JlZW5SZWFkZXJNaWRkbGV3YXJlLFxuICBhdHRhY2htZW50TWlkZGxld2FyZSxcbiAgcmVuZGVyTWFya2Rvd24sXG4gIHN0eWxlT3B0aW9ucyxcbiAgc3R5bGVTZXRcbn06IHtcbiAgYXR0YWNobWVudEZvclNjcmVlblJlYWRlck1pZGRsZXdhcmU6IEF0dGFjaG1lbnRGb3JTY3JlZW5SZWFkZXJNaWRkbGV3YXJlW107XG4gIGF0dGFjaG1lbnRNaWRkbGV3YXJlOiBBdHRhY2htZW50TWlkZGxld2FyZVtdO1xuICByZW5kZXJNYXJrZG93bj86IChtYXJrZG93bjogc3RyaW5nLCB7IG1hcmtkb3duUmVzcGVjdENSTEY6IGJvb2xlYW4gfSwgeyBleHRlcm5hbExpbmtBbHQ6IHN0cmluZyB9KSA9PiBzdHJpbmc7XG4gIHN0eWxlT3B0aW9uczogYW55O1xuICBzdHlsZVNldDogYW55O1xufSk6IHtcbiAgYXR0YWNobWVudEZvclNjcmVlblJlYWRlck1pZGRsZXdhcmU6IEF0dGFjaG1lbnRGb3JTY3JlZW5SZWFkZXJNaWRkbGV3YXJlW107XG4gIGF0dGFjaG1lbnRNaWRkbGV3YXJlOiBBdHRhY2htZW50TWlkZGxld2FyZVtdO1xuICByZW5kZXJNYXJrZG93bjogKG1hcmtkb3duOiBzdHJpbmcsIHsgbWFya2Rvd25SZXNwZWN0Q1JMRjogYm9vbGVhbiB9LCB7IGV4dGVybmFsTGlua0FsdDogc3RyaW5nIH0pID0+IHN0cmluZztcbiAgZXh0cmFTdHlsZVNldDogYW55O1xufSB7XG4gIGNvbnN0IHBhdGNoZWRBdHRhY2htZW50TWlkZGxld2FyZSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gWy4uLmF0dGFjaG1lbnRNaWRkbGV3YXJlLCBjcmVhdGVBZGFwdGl2ZUNhcmRzQXR0YWNobWVudE1pZGRsZXdhcmUoKV0sXG4gICAgW2F0dGFjaG1lbnRNaWRkbGV3YXJlXVxuICApO1xuXG4gIGNvbnN0IHBhdGNoZWRBdHRhY2htZW50Rm9yU2NyZWVuUmVhZGVyTWlkZGxld2FyZSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gWy4uLmF0dGFjaG1lbnRGb3JTY3JlZW5SZWFkZXJNaWRkbGV3YXJlLCBjcmVhdGVBZGFwdGl2ZUNhcmRzQXR0YWNobWVudEZvclNjcmVlblJlYWRlck1pZGRsZXdhcmUoKV0sXG4gICAgW2F0dGFjaG1lbnRGb3JTY3JlZW5SZWFkZXJNaWRkbGV3YXJlXVxuICApO1xuXG4gIC8vIFdoZW4gc3R5bGVTZXQgaXMgbm90IHNwZWNpZmllZCwgdGhlIHN0eWxlT3B0aW9ucyB3aWxsIGJlIHVzZWQgdG8gY3JlYXRlIEFkYXB0aXZlIENhcmRzIHN0eWxlU2V0IGFuZCBtZXJnZWQgaW50byB1c2VTdHlsZVNldC5cbiAgY29uc3QgZXh0cmFTdHlsZVNldCA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHN0eWxlU2V0ID8gdW5kZWZpbmVkIDogY3JlYXRlQWRhcHRpdmVDYXJkc1N0eWxlU2V0KHN0eWxlT3B0aW9ucykpLFxuICAgIFtzdHlsZU9wdGlvbnMsIHN0eWxlU2V0XVxuICApO1xuXG4gIGNvbnN0IHBhdGNoZWRSZW5kZXJNYXJrZG93biA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHR5cGVvZiByZW5kZXJNYXJrZG93biA9PT0gJ3VuZGVmaW5lZCcgPyBkZWZhdWx0UmVuZGVyTWFya2Rvd24gOiByZW5kZXJNYXJrZG93biksXG4gICAgW3JlbmRlck1hcmtkb3duXVxuICApO1xuXG4gIHJldHVybiB7XG4gICAgYXR0YWNobWVudEZvclNjcmVlblJlYWRlck1pZGRsZXdhcmU6IHBhdGNoZWRBdHRhY2htZW50Rm9yU2NyZWVuUmVhZGVyTWlkZGxld2FyZSxcbiAgICBhdHRhY2htZW50TWlkZGxld2FyZTogcGF0Y2hlZEF0dGFjaG1lbnRNaWRkbGV3YXJlLFxuICAgIGV4dHJhU3R5bGVTZXQsXG4gICAgcmVuZGVyTWFya2Rvd246IHBhdGNoZWRSZW5kZXJNYXJrZG93blxuICB9O1xufVxuIl19