@azure/ai-language-conversations 1.0.0-alpha.20241203.1 → 1.0.0-alpha.20241205.3

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 (231) hide show
  1. package/{types/src → dist/browser}/conversationAnalysisClient.d.ts +1 -1
  2. package/{types/src → dist/browser}/conversationAnalysisClient.d.ts.map +1 -1
  3. package/{dist-esm/src → dist/browser}/conversationAnalysisClient.js +3 -3
  4. package/dist/browser/conversationAnalysisClient.js.map +1 -0
  5. package/{types/src → dist/browser}/generated/conversationAnalysisClient.d.ts +1 -1
  6. package/dist/browser/generated/conversationAnalysisClient.d.ts.map +1 -0
  7. package/{dist-esm/src → dist/browser}/generated/conversationAnalysisClient.js +3 -3
  8. package/dist/browser/generated/conversationAnalysisClient.js.map +1 -0
  9. package/dist/browser/generated/index.d.ts +3 -0
  10. package/{types/src → dist/browser}/generated/index.d.ts.map +1 -1
  11. package/{dist-esm/src → dist/browser}/generated/index.js +2 -2
  12. package/dist/browser/generated/index.js.map +1 -0
  13. package/{dist-esm/src → dist/browser}/generated/models/parameters.js +1 -1
  14. package/{dist-esm/src → dist/browser}/generated/models/parameters.js.map +1 -1
  15. package/{types/src → dist/browser}/index.d.ts +2 -2
  16. package/{types/src → dist/browser}/index.d.ts.map +1 -1
  17. package/{dist-esm/src → dist/browser}/index.js +2 -2
  18. package/{dist-esm/src → dist/browser}/index.js.map +1 -1
  19. package/dist/browser/package.json +3 -0
  20. package/dist/commonjs/azureKeyCredentialPolicy.d.ts +9 -0
  21. package/dist/commonjs/azureKeyCredentialPolicy.d.ts.map +1 -0
  22. package/dist/commonjs/azureKeyCredentialPolicy.js +25 -0
  23. package/dist/commonjs/azureKeyCredentialPolicy.js.map +1 -0
  24. package/dist/commonjs/constants.d.ts +3 -0
  25. package/dist/commonjs/constants.d.ts.map +1 -0
  26. package/dist/commonjs/constants.js +8 -0
  27. package/dist/commonjs/constants.js.map +1 -0
  28. package/dist/commonjs/conversationAnalysisClient.d.ts +65 -0
  29. package/dist/commonjs/conversationAnalysisClient.d.ts.map +1 -0
  30. package/dist/commonjs/conversationAnalysisClient.js +87 -0
  31. package/dist/commonjs/conversationAnalysisClient.js.map +1 -0
  32. package/dist/commonjs/generated/conversationAnalysisClient.d.ts +36 -0
  33. package/dist/commonjs/generated/conversationAnalysisClient.d.ts.map +1 -0
  34. package/dist/commonjs/generated/conversationAnalysisClient.js +196 -0
  35. package/dist/commonjs/generated/conversationAnalysisClient.js.map +1 -0
  36. package/dist/commonjs/generated/index.d.ts +3 -0
  37. package/dist/commonjs/generated/index.d.ts.map +1 -0
  38. package/dist/commonjs/generated/index.js +15 -0
  39. package/dist/commonjs/generated/index.js.map +1 -0
  40. package/dist/commonjs/generated/lroImpl.d.ts +16 -0
  41. package/dist/commonjs/generated/lroImpl.d.ts.map +1 -0
  42. package/dist/commonjs/generated/lroImpl.js +29 -0
  43. package/dist/commonjs/generated/lroImpl.js.map +1 -0
  44. package/dist/commonjs/generated/models/index.d.ts +1951 -0
  45. package/dist/commonjs/generated/models/index.d.ts.map +1 -0
  46. package/dist/commonjs/generated/models/index.js +659 -0
  47. package/dist/commonjs/generated/models/index.js.map +1 -0
  48. package/dist/commonjs/generated/models/mappers.d.ts +153 -0
  49. package/dist/commonjs/generated/models/mappers.d.ts.map +1 -0
  50. package/dist/commonjs/generated/models/mappers.js +2667 -0
  51. package/dist/commonjs/generated/models/mappers.js.map +1 -0
  52. package/dist/commonjs/generated/models/parameters.d.ts +8 -0
  53. package/dist/commonjs/generated/models/parameters.d.ts.map +1 -0
  54. package/dist/commonjs/generated/models/parameters.js +64 -0
  55. package/dist/commonjs/generated/models/parameters.js.map +1 -0
  56. package/dist/commonjs/index.d.ts +13 -0
  57. package/dist/commonjs/index.d.ts.map +1 -0
  58. package/dist/commonjs/index.js +21 -0
  59. package/dist/commonjs/index.js.map +1 -0
  60. package/{types/ai-language-conversations.d.ts → dist/commonjs/models.d.ts} +1953 -2221
  61. package/dist/commonjs/models.d.ts.map +1 -0
  62. package/dist/commonjs/models.js +654 -0
  63. package/dist/commonjs/models.js.map +1 -0
  64. package/dist/commonjs/package.json +3 -0
  65. package/dist/esm/azureKeyCredentialPolicy.d.ts +9 -0
  66. package/dist/esm/azureKeyCredentialPolicy.d.ts.map +1 -0
  67. package/dist/esm/azureKeyCredentialPolicy.js +22 -0
  68. package/dist/esm/azureKeyCredentialPolicy.js.map +1 -0
  69. package/dist/esm/constants.d.ts +3 -0
  70. package/dist/esm/constants.d.ts.map +1 -0
  71. package/dist/esm/constants.js +5 -0
  72. package/dist/esm/constants.js.map +1 -0
  73. package/dist/esm/conversationAnalysisClient.d.ts +65 -0
  74. package/dist/esm/conversationAnalysisClient.d.ts.map +1 -0
  75. package/dist/esm/conversationAnalysisClient.js +83 -0
  76. package/dist/esm/conversationAnalysisClient.js.map +1 -0
  77. package/dist/esm/generated/conversationAnalysisClient.d.ts +36 -0
  78. package/dist/esm/generated/conversationAnalysisClient.d.ts.map +1 -0
  79. package/dist/esm/generated/conversationAnalysisClient.js +191 -0
  80. package/dist/esm/generated/conversationAnalysisClient.js.map +1 -0
  81. package/dist/esm/generated/index.d.ts +3 -0
  82. package/dist/esm/generated/index.d.ts.map +1 -0
  83. package/dist/esm/generated/index.js +10 -0
  84. package/dist/esm/generated/index.js.map +1 -0
  85. package/dist/esm/generated/lroImpl.d.ts +16 -0
  86. package/dist/esm/generated/lroImpl.d.ts.map +1 -0
  87. package/dist/esm/generated/lroImpl.js +25 -0
  88. package/dist/esm/generated/lroImpl.js.map +1 -0
  89. package/dist/esm/generated/models/index.d.ts +1951 -0
  90. package/dist/esm/generated/models/index.d.ts.map +1 -0
  91. package/dist/esm/generated/models/index.js +656 -0
  92. package/dist/esm/generated/models/index.js.map +1 -0
  93. package/dist/esm/generated/models/mappers.d.ts +153 -0
  94. package/dist/esm/generated/models/mappers.d.ts.map +1 -0
  95. package/dist/{index.js → esm/generated/models/mappers.js} +107 -1278
  96. package/dist/esm/generated/models/mappers.js.map +1 -0
  97. package/dist/esm/generated/models/parameters.d.ts +8 -0
  98. package/dist/esm/generated/models/parameters.d.ts.map +1 -0
  99. package/dist/esm/generated/models/parameters.js +61 -0
  100. package/dist/esm/generated/models/parameters.js.map +1 -0
  101. package/dist/esm/index.d.ts +13 -0
  102. package/dist/esm/index.d.ts.map +1 -0
  103. package/dist/esm/index.js +15 -0
  104. package/dist/esm/index.js.map +1 -0
  105. package/dist/esm/models.d.ts +1953 -0
  106. package/dist/esm/models.d.ts.map +1 -0
  107. package/dist/esm/models.js +651 -0
  108. package/dist/esm/models.js.map +1 -0
  109. package/dist/esm/package.json +3 -0
  110. package/dist/react-native/azureKeyCredentialPolicy.d.ts +9 -0
  111. package/dist/react-native/azureKeyCredentialPolicy.d.ts.map +1 -0
  112. package/dist/react-native/azureKeyCredentialPolicy.js +22 -0
  113. package/dist/react-native/azureKeyCredentialPolicy.js.map +1 -0
  114. package/dist/react-native/constants.d.ts +3 -0
  115. package/dist/react-native/constants.d.ts.map +1 -0
  116. package/dist/react-native/constants.js +5 -0
  117. package/dist/react-native/constants.js.map +1 -0
  118. package/dist/react-native/conversationAnalysisClient.d.ts +65 -0
  119. package/dist/react-native/conversationAnalysisClient.d.ts.map +1 -0
  120. package/dist/react-native/conversationAnalysisClient.js +83 -0
  121. package/dist/react-native/conversationAnalysisClient.js.map +1 -0
  122. package/dist/react-native/generated/conversationAnalysisClient.d.ts +36 -0
  123. package/dist/react-native/generated/conversationAnalysisClient.d.ts.map +1 -0
  124. package/dist/react-native/generated/conversationAnalysisClient.js +191 -0
  125. package/dist/react-native/generated/conversationAnalysisClient.js.map +1 -0
  126. package/dist/react-native/generated/index.d.ts +3 -0
  127. package/dist/react-native/generated/index.d.ts.map +1 -0
  128. package/dist/react-native/generated/index.js +10 -0
  129. package/dist/react-native/generated/index.js.map +1 -0
  130. package/dist/react-native/generated/lroImpl.d.ts +16 -0
  131. package/dist/react-native/generated/lroImpl.d.ts.map +1 -0
  132. package/dist/react-native/generated/lroImpl.js +25 -0
  133. package/dist/react-native/generated/lroImpl.js.map +1 -0
  134. package/dist/react-native/generated/models/index.d.ts +1951 -0
  135. package/dist/react-native/generated/models/index.d.ts.map +1 -0
  136. package/dist/react-native/generated/models/index.js +656 -0
  137. package/dist/react-native/generated/models/index.js.map +1 -0
  138. package/dist/react-native/generated/models/mappers.d.ts +153 -0
  139. package/dist/react-native/generated/models/mappers.d.ts.map +1 -0
  140. package/dist/react-native/generated/models/mappers.js +2662 -0
  141. package/dist/react-native/generated/models/mappers.js.map +1 -0
  142. package/dist/react-native/generated/models/parameters.d.ts +8 -0
  143. package/dist/react-native/generated/models/parameters.d.ts.map +1 -0
  144. package/dist/react-native/generated/models/parameters.js +61 -0
  145. package/dist/react-native/generated/models/parameters.js.map +1 -0
  146. package/dist/react-native/index.d.ts +13 -0
  147. package/dist/react-native/index.d.ts.map +1 -0
  148. package/dist/react-native/index.js +15 -0
  149. package/dist/react-native/index.js.map +1 -0
  150. package/dist/react-native/models.d.ts +1953 -0
  151. package/dist/react-native/models.d.ts.map +1 -0
  152. package/dist/react-native/models.js +651 -0
  153. package/dist/react-native/models.js.map +1 -0
  154. package/dist/react-native/package.json +3 -0
  155. package/package.json +69 -60
  156. package/CHANGELOG.md +0 -15
  157. package/dist/index.js.map +0 -1
  158. package/dist-esm/samples-dev/analyzeConversationApp.js +0 -74
  159. package/dist-esm/samples-dev/analyzeConversationApp.js.map +0 -1
  160. package/dist-esm/samples-dev/analyzeOrchestrationAppConvResponse.js +0 -89
  161. package/dist-esm/samples-dev/analyzeOrchestrationAppConvResponse.js.map +0 -1
  162. package/dist-esm/samples-dev/analyzeOrchestrationAppLuisResponse.js +0 -65
  163. package/dist-esm/samples-dev/analyzeOrchestrationAppLuisResponse.js.map +0 -1
  164. package/dist-esm/samples-dev/analyzeOrchestrationAppQnaResponse.js +0 -66
  165. package/dist-esm/samples-dev/analyzeOrchestrationAppQnaResponse.js.map +0 -1
  166. package/dist-esm/samples-dev/analyzeOrchestrationDirectTarget.js +0 -76
  167. package/dist-esm/samples-dev/analyzeOrchestrationDirectTarget.js.map +0 -1
  168. package/dist-esm/samples-dev/authentication.js +0 -44
  169. package/dist-esm/samples-dev/authentication.js.map +0 -1
  170. package/dist-esm/samples-dev/convPiiTranscriptInput.js +0 -112
  171. package/dist-esm/samples-dev/convPiiTranscriptInput.js.map +0 -1
  172. package/dist-esm/samples-dev/convSummarization.js +0 -95
  173. package/dist-esm/samples-dev/convSummarization.js.map +0 -1
  174. package/dist-esm/src/conversationAnalysisClient.js.map +0 -1
  175. package/dist-esm/src/generated/conversationAnalysisClient.js.map +0 -1
  176. package/dist-esm/src/generated/index.js.map +0 -1
  177. package/dist-esm/test/public/analyze.spec.js +0 -316
  178. package/dist-esm/test/public/analyze.spec.js.map +0 -1
  179. package/dist-esm/test/public/utils/recordedClient.js +0 -50
  180. package/dist-esm/test/public/utils/recordedClient.js.map +0 -1
  181. package/review/ai-language-conversations.api.md +0 -1291
  182. package/tsconfig.json +0 -11
  183. package/types/samples-dev/analyzeConversationApp.d.ts +0 -2
  184. package/types/samples-dev/analyzeConversationApp.d.ts.map +0 -1
  185. package/types/samples-dev/analyzeOrchestrationAppConvResponse.d.ts +0 -2
  186. package/types/samples-dev/analyzeOrchestrationAppConvResponse.d.ts.map +0 -1
  187. package/types/samples-dev/analyzeOrchestrationAppLuisResponse.d.ts +0 -2
  188. package/types/samples-dev/analyzeOrchestrationAppLuisResponse.d.ts.map +0 -1
  189. package/types/samples-dev/analyzeOrchestrationAppQnaResponse.d.ts +0 -2
  190. package/types/samples-dev/analyzeOrchestrationAppQnaResponse.d.ts.map +0 -1
  191. package/types/samples-dev/analyzeOrchestrationDirectTarget.d.ts +0 -2
  192. package/types/samples-dev/analyzeOrchestrationDirectTarget.d.ts.map +0 -1
  193. package/types/samples-dev/authentication.d.ts +0 -2
  194. package/types/samples-dev/authentication.d.ts.map +0 -1
  195. package/types/samples-dev/convPiiTranscriptInput.d.ts +0 -2
  196. package/types/samples-dev/convPiiTranscriptInput.d.ts.map +0 -1
  197. package/types/samples-dev/convSummarization.d.ts +0 -2
  198. package/types/samples-dev/convSummarization.d.ts.map +0 -1
  199. package/types/src/generated/conversationAnalysisClient.d.ts.map +0 -1
  200. package/types/src/generated/index.d.ts +0 -3
  201. package/types/test/public/analyze.spec.d.ts +0 -2
  202. package/types/test/public/analyze.spec.d.ts.map +0 -1
  203. package/types/test/public/utils/recordedClient.d.ts +0 -17
  204. package/types/test/public/utils/recordedClient.d.ts.map +0 -1
  205. /package/{types/src → dist/browser}/azureKeyCredentialPolicy.d.ts +0 -0
  206. /package/{types/src → dist/browser}/azureKeyCredentialPolicy.d.ts.map +0 -0
  207. /package/{dist-esm/src → dist/browser}/azureKeyCredentialPolicy.js +0 -0
  208. /package/{dist-esm/src → dist/browser}/azureKeyCredentialPolicy.js.map +0 -0
  209. /package/{types/src → dist/browser}/constants.d.ts +0 -0
  210. /package/{types/src → dist/browser}/constants.d.ts.map +0 -0
  211. /package/{dist-esm/src → dist/browser}/constants.js +0 -0
  212. /package/{dist-esm/src → dist/browser}/constants.js.map +0 -0
  213. /package/{types/src → dist/browser}/generated/lroImpl.d.ts +0 -0
  214. /package/{types/src → dist/browser}/generated/lroImpl.d.ts.map +0 -0
  215. /package/{dist-esm/src → dist/browser}/generated/lroImpl.js +0 -0
  216. /package/{dist-esm/src → dist/browser}/generated/lroImpl.js.map +0 -0
  217. /package/{types/src → dist/browser}/generated/models/index.d.ts +0 -0
  218. /package/{types/src → dist/browser}/generated/models/index.d.ts.map +0 -0
  219. /package/{dist-esm/src → dist/browser}/generated/models/index.js +0 -0
  220. /package/{dist-esm/src → dist/browser}/generated/models/index.js.map +0 -0
  221. /package/{types/src → dist/browser}/generated/models/mappers.d.ts +0 -0
  222. /package/{types/src → dist/browser}/generated/models/mappers.d.ts.map +0 -0
  223. /package/{dist-esm/src → dist/browser}/generated/models/mappers.js +0 -0
  224. /package/{dist-esm/src → dist/browser}/generated/models/mappers.js.map +0 -0
  225. /package/{types/src → dist/browser}/generated/models/parameters.d.ts +0 -0
  226. /package/{types/src → dist/browser}/generated/models/parameters.d.ts.map +0 -0
  227. /package/{types/src → dist/browser}/models.d.ts +0 -0
  228. /package/{types/src → dist/browser}/models.d.ts.map +0 -0
  229. /package/{dist-esm/src → dist/browser}/models.js +0 -0
  230. /package/{dist-esm/src → dist/browser}/models.js.map +0 -0
  231. /package/{types → dist/commonjs}/tsdoc-metadata.json +0 -0
@@ -1,95 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- /**
4
- * This sample demonstrates how to analyze a conversation for issue resolution
5
- *
6
- * @summary Conversation Summarization
7
- * @azsdk-weight 50
8
- */
9
- import { AzureKeyCredential } from "@azure/core-auth";
10
- import { ConversationAnalysisClient } from "@azure/ai-language-conversations";
11
- import * as dotenv from "dotenv";
12
- dotenv.config();
13
- //Get secrets
14
- //You will have to set these environment variables for the sample to work
15
- const cluEndpoint = process.env.AZURE_CONVERSATIONS_ENDPOINT || "https://dummyendpoint.cognitiveservices.azure.com";
16
- const cluKey = process.env.AZURE_CONVERSATIONS_KEY || "<api-key>";
17
- const service = new ConversationAnalysisClient(cluEndpoint, new AzureKeyCredential(cluKey));
18
- export async function main() {
19
- //Analyze query
20
- const poller = await service.beginConversationAnalysis({
21
- displayName: "Analyze conversations from xxx",
22
- analysisInput: {
23
- conversations: [
24
- {
25
- conversationItems: [
26
- {
27
- text: "Hello, how can I help you?",
28
- modality: "text",
29
- id: "1",
30
- participantId: "Agent",
31
- },
32
- {
33
- text: "How to upgrade Office? I am getting error messages the whole day.",
34
- modality: "text",
35
- id: "2",
36
- participantId: "Customer",
37
- },
38
- {
39
- text: "Press the upgrade button please. Then sign in and follow the instructions.",
40
- modality: "text",
41
- id: "3",
42
- participantId: "Agent",
43
- },
44
- ],
45
- modality: "text",
46
- id: "conversation1",
47
- language: "en",
48
- },
49
- ],
50
- },
51
- tasks: [
52
- {
53
- taskName: "analyze 1",
54
- kind: "ConversationalSummarizationTask",
55
- parameters: {
56
- summaryAspects: ["Issue, Resolution"],
57
- },
58
- },
59
- ],
60
- });
61
- const actionResult = await poller.pollUntilDone();
62
- if (actionResult.tasks.items === undefined)
63
- return;
64
- const taskResult = actionResult.tasks.items[0];
65
- if (taskResult.kind == "conversationalSummarizationResults") {
66
- console.log("... view task status ...");
67
- console.log("status: %s", taskResult.status);
68
- const resolutionResult = taskResult.results;
69
- if (resolutionResult.errors && resolutionResult.errors.length != 0) {
70
- console.log("... errors occured ...");
71
- for (const error of resolutionResult.errors) {
72
- console.log(error);
73
- }
74
- }
75
- else {
76
- const conversationResult = resolutionResult.conversations[0];
77
- if (conversationResult.warnings && conversationResult.warnings.length != 0) {
78
- console.log("... view warnings ...");
79
- for (const warning of conversationResult.warnings) {
80
- console.log(warning);
81
- }
82
- }
83
- else {
84
- const summaries = conversationResult.summaries;
85
- console.log("... view task result ...");
86
- console.log("issue: %s", summaries[0].text);
87
- console.log("resolution: %s", summaries[1].text);
88
- }
89
- }
90
- }
91
- }
92
- main().catch((err) => {
93
- console.error("The sample encountered an error:", err);
94
- });
95
- //# sourceMappingURL=convSummarization.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"convSummarization.js","sourceRoot":"","sources":["../../samples-dev/convSummarization.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * This sample demonstrates how to analyze a conversation for issue resolution\n *\n * @summary Conversation Summarization\n * @azsdk-weight 50\n */\n\nimport { AzureKeyCredential } from \"@azure/core-auth\";\nimport { ConversationAnalysisClient } from \"@azure/ai-language-conversations\";\nimport * as dotenv from \"dotenv\";\ndotenv.config();\n\n//Get secrets\n//You will have to set these environment variables for the sample to work\nconst cluEndpoint =\n process.env.AZURE_CONVERSATIONS_ENDPOINT || \"https://dummyendpoint.cognitiveservices.azure.com\";\nconst cluKey = process.env.AZURE_CONVERSATIONS_KEY || \"<api-key>\";\n\nconst service: ConversationAnalysisClient = new ConversationAnalysisClient(\n cluEndpoint,\n new AzureKeyCredential(cluKey),\n);\n\nexport async function main() {\n //Analyze query\n const poller = await service.beginConversationAnalysis({\n displayName: \"Analyze conversations from xxx\",\n analysisInput: {\n conversations: [\n {\n conversationItems: [\n {\n text: \"Hello, how can I help you?\",\n modality: \"text\",\n id: \"1\",\n participantId: \"Agent\",\n },\n {\n text: \"How to upgrade Office? I am getting error messages the whole day.\",\n modality: \"text\",\n id: \"2\",\n participantId: \"Customer\",\n },\n {\n text: \"Press the upgrade button please. Then sign in and follow the instructions.\",\n modality: \"text\",\n id: \"3\",\n participantId: \"Agent\",\n },\n ],\n modality: \"text\",\n id: \"conversation1\",\n language: \"en\",\n },\n ],\n },\n tasks: [\n {\n taskName: \"analyze 1\",\n kind: \"ConversationalSummarizationTask\",\n parameters: {\n summaryAspects: [\"Issue, Resolution\"],\n },\n },\n ],\n });\n\n const actionResult = await poller.pollUntilDone();\n if (actionResult.tasks.items === undefined) return;\n\n const taskResult = actionResult.tasks.items[0];\n if (taskResult.kind == \"conversationalSummarizationResults\") {\n console.log(\"... view task status ...\");\n console.log(\"status: %s\", taskResult.status);\n const resolutionResult = taskResult.results;\n if (resolutionResult.errors && resolutionResult.errors.length != 0) {\n console.log(\"... errors occured ...\");\n for (const error of resolutionResult.errors) {\n console.log(error);\n }\n } else {\n const conversationResult = resolutionResult.conversations[0];\n if (conversationResult.warnings && conversationResult.warnings.length != 0) {\n console.log(\"... view warnings ...\");\n for (const warning of conversationResult.warnings) {\n console.log(warning);\n }\n } else {\n const summaries = conversationResult.summaries;\n console.log(\"... view task result ...\");\n console.log(\"issue: %s\", summaries[0].text);\n console.log(\"resolution: %s\", summaries[1].text);\n }\n }\n }\n}\n\nmain().catch((err) => {\n console.error(\"The sample encountered an error:\", err);\n});\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"conversationAnalysisClient.js","sourceRoot":"","sources":["../../src/conversationAnalysisClient.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAgBlC,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,IAAI,eAAe,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,4CAA4C,EAAE,MAAM,4BAA4B,CAAC;AAE1F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,OAAO,0BAA0B;IAIrC;;;;;OAKG;IACH,YACE,QAAgB,EAChB,UAA2C,EAC3C,UAAoD,EAAE;QAEtD,IAAI,CAAC,OAAO,GAAG,IAAI,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEtD,IAAI,CAAC,QAAQ,GAAG,mBAAmB,CAAC;YAClC,WAAW,EAAE,kCAAkC;YAC/C,cAAc,EAAE,WAAW;YAC3B,SAAS,EAAE,6BAA6B;SACzC,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,iBAAiB,CAAC,UAAU,CAAC;YAC9C,CAAC,CAAC,+BAA+B,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;YAClF,CAAC,CAAC,4CAA4C,CAAC,UAAU,CAAC,CAAC;QAE7D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CACjB,IAAkC,EAClC,OAA2C;QAE3C,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAC3B,gDAAgD,EAChD,OAAO,IAAI,EAAE,EACb,CAAC,cAAc,EAAE,EAAE,CACjB,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAC9B,IAAI,EACJ,cAAc,CACyB,CAC5C,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,yBAAyB,CAC7B,IAAkC,EAClC,OAA4C;QAI5C,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAC3B,sDAAsD,EACtD,OAAO,IAAI,EAAE,EACb,CAAC,cAAc,EAAE,EAAE,CACjB,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAI,EAAE,cAAc,CAE1D,CACJ,CAAC;IACJ,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n */\n\nimport type {\n AnalyzeConversationJobsInput,\n AnalyzeConversationOptionalParams,\n AnalyzeConversationResponse,\n AnalyzeConversationTaskUnion,\n ConversationAnalysisClientOptionalParams,\n ConversationAnalysisOptionalParams,\n ConversationAnalysisResponse,\n} from \"./models\";\nimport { DEFAULT_COGNITIVE_SCOPE, SDK_VERSION } from \"./constants\";\nimport type { KeyCredential, TokenCredential } from \"@azure/core-auth\";\nimport { isTokenCredential } from \"@azure/core-auth\";\nimport type { PollOperationState, PollerLike } from \"@azure/core-lro\";\nimport type { TracingClient } from \"@azure/core-tracing\";\nimport { createTracingClient } from \"@azure/core-tracing\";\nimport { ConversationAnalysisClient as GeneratedClient } from \"./generated\";\nimport { bearerTokenAuthenticationPolicy } from \"@azure/core-rest-pipeline\";\nimport { conversationAnalysisAzureKeyCredentialPolicy } from \"./azureKeyCredentialPolicy\";\n\n/**\n * A client for interacting with the conversational language understanding\n * features in Azure Cognitive Language Service.\n *\n * The client needs the endpoint of a Language resource and an authentication\n * method such as an API key or AAD. The API key and endpoint can be found in\n * the Language resource page in the Azure portal. They will be located in the\n * resource's Keys and Endpoint page, under Resource Management.\n *\n * ### Examples for authentication:\n *\n * #### API Key\n *\n * ```js\n * import { AzureKeyCredential } from \"@azure/core-auth\";\n * import { ConversationAnalysisClient } from \"@azure/ai-language-conversations\";\n *\n * const endpoint = \"https://<resource name>.cognitiveservices.azure.com\";\n * const credential = new AzureKeyCredential(\"<api key>\");\n *\n * const client = new ConversationAnalysisClient(endpoint, credential);\n * ```\n *\n * #### Azure Active Directory\n *\n * See the [`@azure/identity`](https://npmjs.com/package/\\@azure/identity)\n * package for more information about authenticating with Azure Active Directory.\n *\n * ```js\n * import { ConversationAnalysisClient } from \"@azure/ai-language-conversations\";\n * import { DefaultAzureCredential } from \"@azure/identity\";\n *\n * const endpoint = \"https://<resource name>.cognitiveservices.azure.com\";\n * const credential = new DefaultAzureCredential();\n *\n * const client = new ConversationAnalysisClient(endpoint, credential);\n * ```\n */\nexport class ConversationAnalysisClient {\n private readonly _client: GeneratedClient;\n private readonly _tracing: TracingClient;\n\n /**\n * Initializes a new instance of the ConversationAnalysisClient class.\n * @param endpoint - Supported Cognitive Services endpoint (e.g.,\n * https://<resource-name>.api.cognitiveservices.azure.com).\n * @param options - The parameter options\n */\n constructor(\n endpoint: string,\n credential: TokenCredential | KeyCredential,\n options: ConversationAnalysisClientOptionalParams = {},\n ) {\n this._client = new GeneratedClient(endpoint, options);\n\n this._tracing = createTracingClient({\n packageName: \"@azure/ai-language-conversations\",\n packageVersion: SDK_VERSION,\n namespace: \"Microsoft.CognitiveServices\",\n });\n\n const authPolicy = isTokenCredential(credential)\n ? bearerTokenAuthenticationPolicy({ credential, scopes: DEFAULT_COGNITIVE_SCOPE })\n : conversationAnalysisAzureKeyCredentialPolicy(credential);\n\n this._client.pipeline.addPolicy(authPolicy);\n }\n\n /**\n * Analyzes the input conversation utterance.\n * @param task - A single conversational task to execute.\n * @param options - The options parameters.\n */\n analyzeConversation(\n task: AnalyzeConversationTaskUnion,\n options?: AnalyzeConversationOptionalParams,\n ): Promise<AnalyzeConversationResponse> {\n return this._tracing.withSpan(\n \"ConversationAnalysisClient.analyzeConversation\",\n options || {},\n (updatedOptions) =>\n this._client.analyzeConversation(\n task,\n updatedOptions,\n ) as Promise<AnalyzeConversationResponse>,\n );\n }\n\n /**\n * Submit a collection of conversations for analysis. Specify one or more unique tasks to be executed.\n * @param task - The collection of conversations to analyze and one or more tasks to execute.\n * @param options - The options parameters.\n */\n async beginConversationAnalysis(\n task: AnalyzeConversationJobsInput,\n options?: ConversationAnalysisOptionalParams,\n ): Promise<\n PollerLike<PollOperationState<ConversationAnalysisResponse>, ConversationAnalysisResponse>\n > {\n return this._tracing.withSpan(\n \"ConversationAnalysisClient.beginConversationAnalysis\",\n options || {},\n (updatedOptions) =>\n this._client.beginConversationAnalysis(task, updatedOptions) as Promise<\n PollerLike<PollOperationState<ConversationAnalysisResponse>, ConversationAnalysisResponse>\n >,\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"conversationAnalysisClient.js","sourceRoot":"","sources":["../../../src/generated/conversationAnalysisClient.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\nimport * as coreRestPipeline from \"@azure/core-rest-pipeline\";\nimport {\n PipelineRequest,\n PipelineResponse,\n SendRequest\n} from \"@azure/core-rest-pipeline\";\nimport { PollerLike, PollOperationState, LroEngine } from \"@azure/core-lro\";\nimport { LroImpl } from \"./lroImpl\";\nimport * as Parameters from \"./models/parameters\";\nimport * as Mappers from \"./models/mappers\";\nimport {\n ConversationAnalysisClientOptionalParams,\n AnalyzeConversationTaskUnion,\n AnalyzeConversationOptionalParams,\n AnalyzeConversationResponse,\n AnalyzeConversationJobsInput,\n ConversationAnalysisOptionalParams,\n ConversationAnalysisResponse\n} from \"./models\";\n\n/** @internal */\nexport class ConversationAnalysisClient extends coreClient.ServiceClient {\n endpoint: string;\n apiVersion: string;\n\n /**\n * Initializes a new instance of the ConversationAnalysisClient class.\n * @param endpoint Supported Cognitive Services endpoint (e.g.,\n * https://<resource-name>.api.cognitiveservices.azure.com).\n * @param options The parameter options\n */\n constructor(\n endpoint: string,\n options?: ConversationAnalysisClientOptionalParams\n ) {\n if (endpoint === undefined) {\n throw new Error(\"'endpoint' cannot be null\");\n }\n\n // Initializing default values for options\n if (!options) {\n options = {};\n }\n const defaults: ConversationAnalysisClientOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\"\n };\n\n const packageDetails = `azsdk-js-ai-language-conversations/1.0.0-beta.2`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`\n : `${packageDetails}`;\n\n const optionsWithDefaults = {\n ...defaults,\n ...options,\n userAgentOptions: {\n userAgentPrefix\n },\n baseUri: options.endpoint ?? options.baseUri ?? \"{Endpoint}/language\"\n };\n super(optionsWithDefaults);\n\n if (options?.pipeline && options.pipeline.getOrderedPolicies().length > 0) {\n const pipelinePolicies: coreRestPipeline.PipelinePolicy[] = options.pipeline.getOrderedPolicies();\n const bearerTokenAuthenticationPolicyFound = pipelinePolicies.some(\n (pipelinePolicy) =>\n pipelinePolicy.name ===\n coreRestPipeline.bearerTokenAuthenticationPolicyName\n );\n if (!bearerTokenAuthenticationPolicyFound) {\n this.pipeline.removePolicy({\n name: coreRestPipeline.bearerTokenAuthenticationPolicyName\n });\n this.pipeline.addPolicy(\n coreRestPipeline.bearerTokenAuthenticationPolicy({\n scopes: `${optionsWithDefaults.baseUri}/.default`,\n challengeCallbacks: {\n authorizeRequestOnChallenge:\n coreClient.authorizeRequestOnClaimChallenge\n }\n })\n );\n }\n }\n // Parameter assignments\n this.endpoint = endpoint;\n\n // Assigning values to Constant parameters\n this.apiVersion = options.apiVersion || \"2022-05-15-preview\";\n this.addCustomApiVersionPolicy(options.apiVersion);\n }\n\n /** A function that adds a policy that sets the api-version (or equivalent) to reflect the library version. */\n private addCustomApiVersionPolicy(apiVersion?: string) {\n if (!apiVersion) {\n return;\n }\n const apiVersionPolicy = {\n name: \"CustomApiVersionPolicy\",\n async sendRequest(\n request: PipelineRequest,\n next: SendRequest\n ): Promise<PipelineResponse> {\n const param = request.url.split(\"?\");\n if (param.length > 1) {\n const newParams = param[1].split(\"&\").map((item) => {\n if (item.indexOf(\"api-version\") > -1) {\n return \"api-version=\" + apiVersion;\n } else {\n return item;\n }\n });\n request.url = param[0] + \"?\" + newParams.join(\"&\");\n }\n return next(request);\n }\n };\n this.pipeline.addPolicy(apiVersionPolicy);\n }\n\n /**\n * Analyzes the input conversation utterance.\n * @param task A single conversational task to execute.\n * @param options The options parameters.\n */\n analyzeConversation(\n task: AnalyzeConversationTaskUnion,\n options?: AnalyzeConversationOptionalParams\n ): Promise<AnalyzeConversationResponse> {\n return this.sendOperationRequest(\n { task, options },\n analyzeConversationOperationSpec\n );\n }\n\n /**\n * Submit a collection of conversations for analysis. Specify one or more unique tasks to be executed.\n * @param task The collection of conversations to analyze and one or more tasks to execute.\n * @param options The options parameters.\n */\n async beginConversationAnalysis(\n task: AnalyzeConversationJobsInput,\n options?: ConversationAnalysisOptionalParams\n ): Promise<\n PollerLike<\n PollOperationState<ConversationAnalysisResponse>,\n ConversationAnalysisResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ): Promise<ConversationAnalysisResponse> => {\n return this.sendOperationRequest(args, spec);\n };\n const sendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ) => {\n let currentRawResponse:\n | coreClient.FullOperationResponse\n | undefined = undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback\n }\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON()\n }\n };\n };\n\n const lro = new LroImpl(\n sendOperation,\n { task, options },\n conversationAnalysisOperationSpec\n );\n const poller = new LroEngine(lro, {\n resumeFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs\n });\n await poller.poll();\n return poller;\n }\n\n /**\n * Submit a collection of conversations for analysis. Specify one or more unique tasks to be executed.\n * @param task The collection of conversations to analyze and one or more tasks to execute.\n * @param options The options parameters.\n */\n async beginConversationAnalysisAndWait(\n task: AnalyzeConversationJobsInput,\n options?: ConversationAnalysisOptionalParams\n ): Promise<ConversationAnalysisResponse> {\n const poller = await this.beginConversationAnalysis(task, options);\n return poller.pollUntilDone();\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst analyzeConversationOperationSpec: coreClient.OperationSpec = {\n path: \"/:analyze-conversations\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.AnalyzeConversationTaskResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n headersMapper:\n Mappers.ConversationAnalysisClientAnalyzeConversationExceptionHeaders\n }\n },\n requestBody: Parameters.task,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer\n};\nconst conversationAnalysisOperationSpec: coreClient.OperationSpec = {\n path: \"/analyze-conversations/jobs\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.AnalyzeConversationJobState\n },\n 201: {\n bodyMapper: Mappers.AnalyzeConversationJobState\n },\n 202: {\n bodyMapper: Mappers.AnalyzeConversationJobState\n },\n 204: {\n bodyMapper: Mappers.AnalyzeConversationJobState\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.task1,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generated/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nexport * from \"./models\";\nexport { ConversationAnalysisClient } from \"./conversationAnalysisClient\";\n"]}
@@ -1,316 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- import { createClient, startRecorder } from "./utils/recordedClient";
4
- import { assert, matrix } from "@azure-tools/test-utils";
5
- import { assertEnvironmentVariable } from "@azure-tools/test-recorder";
6
- matrix([["APIKey"]], async (authMethod) => {
7
- describe(`[${authMethod}] ConversationAnalysisClient`, function () {
8
- let recorder;
9
- let client;
10
- beforeEach(async function () {
11
- recorder = await startRecorder(this.currentTest);
12
- client = createClient({
13
- authMethod,
14
- recorder,
15
- });
16
- });
17
- afterEach(async function () {
18
- await recorder.stop();
19
- });
20
- describe("#sync", function () {
21
- it("Test Conversation App", async function () {
22
- const message = await client.analyzeConversation({
23
- kind: "Conversation",
24
- analysisInput: {
25
- conversationItem: {
26
- participantId: "1",
27
- id: "1",
28
- modality: "text",
29
- language: "en",
30
- text: "Send an email to Carol about the tomorrow's demo",
31
- },
32
- },
33
- parameters: {
34
- projectName: assertEnvironmentVariable("LANGUAGE_CLU_PROJECT_NAME"),
35
- deploymentName: assertEnvironmentVariable("LANGUAGE_CLU_DEPLOYMENT_NAME"),
36
- verbose: true,
37
- isLoggingEnabled: false,
38
- },
39
- });
40
- // Assert prediction type
41
- assert.equal(message.kind, "ConversationResult");
42
- assert.exists(message.result.query);
43
- if (message.result.prediction.projectKind !== "Conversation") {
44
- assert.fail("Expected a Conversation prediction");
45
- }
46
- // Assert top intent
47
- assert.equal(message.result.prediction.topIntent, "Send");
48
- assert.isAtLeast(message.result.prediction.intents.length, 1);
49
- assert.equal(message.result.prediction.intents[0].category, "Send");
50
- assert.isAbove(message.result.prediction.intents[0].confidence, 0);
51
- // Assert entities
52
- assert.isAtLeast(message.result.prediction.entities.length, 1);
53
- assert.equal(message.result.prediction.entities[0].category, "Contact");
54
- assert.equal(message.result.prediction.entities[0].text, "Carol");
55
- assert.isAbove(message.result.prediction.entities[0].confidence, 0);
56
- });
57
- it("Test Orchestration App Conversational Response", async function () {
58
- var _a;
59
- const message = await client.analyzeConversation({
60
- kind: "Conversation",
61
- analysisInput: {
62
- conversationItem: {
63
- participantId: "1",
64
- id: "1",
65
- modality: "text",
66
- language: "en",
67
- text: "Send an email to Carol about the tomorrow's demo",
68
- },
69
- },
70
- parameters: {
71
- projectName: assertEnvironmentVariable("LANGUAGE_ORCHESTRATION_PROJECT_NAME"),
72
- deploymentName: assertEnvironmentVariable("LANGUAGE_ORCHESTRATION_DEPLOYMENT_NAME"),
73
- verbose: true,
74
- isLoggingEnabled: false,
75
- },
76
- });
77
- // Assert prediction type
78
- assert.equal(message.kind, "ConversationResult");
79
- assert.exists(message.result.query);
80
- if (message.result.prediction.projectKind !== "Orchestration") {
81
- assert.fail("Expected an Orchestration prediction");
82
- }
83
- // Assert top matching project
84
- assert.equal(message.result.prediction.topIntent, "EmailIntent");
85
- assert.exists(message.result.prediction.intents.EmailIntent);
86
- const top_intent_object = message.result.prediction.intents.EmailIntent;
87
- if (top_intent_object.targetProjectKind !== "Conversation" ||
88
- ((_a = top_intent_object.result) === null || _a === void 0 ? void 0 : _a.prediction) === undefined) {
89
- assert.fail("Expected a Conversational response");
90
- }
91
- // Assert intent
92
- const conversation_result = top_intent_object.result.prediction;
93
- assert.equal(conversation_result.topIntent, "Send");
94
- assert.isAtLeast(conversation_result.intents.length, 1);
95
- assert.equal(conversation_result.intents[0].category, "Send");
96
- assert.isAbove(conversation_result.intents[0].confidence, 0);
97
- // Assert entities
98
- assert.isAtLeast(conversation_result.entities.length, 1);
99
- assert.equal(conversation_result.entities[0].category, "Contact");
100
- assert.equal(conversation_result.entities[0].text, "Carol");
101
- assert.isAbove(conversation_result.entities[0].confidence, 0);
102
- });
103
- it.skip("Test Orchestration App LUIS Response", async function () {
104
- var _a;
105
- const message = await client.analyzeConversation({
106
- kind: "Conversation",
107
- analysisInput: {
108
- conversationItem: {
109
- participantId: "1",
110
- id: "1",
111
- modality: "text",
112
- language: "en",
113
- text: "Reserve a table for 2 at the Italian restaurant",
114
- },
115
- },
116
- parameters: {
117
- projectName: assertEnvironmentVariable("LANGUAGE_ORCHESTRATION_PROJECT_NAME"),
118
- deploymentName: assertEnvironmentVariable("LANGUAGE_ORCHESTRATION_DEPLOYMENT_NAME"),
119
- verbose: true,
120
- isLoggingEnabled: false,
121
- },
122
- });
123
- // Assert prediction type
124
- assert.equal(message.kind, "ConversationResult");
125
- assert.exists(message.result.query);
126
- if (message.result.prediction.projectKind !== "Orchestration") {
127
- assert.fail("Expected an Orchestration prediction");
128
- }
129
- // Assert top matching project
130
- assert.equal(message.result.prediction.topIntent, "RestaurantIntent");
131
- assert.exists(message.result.prediction.intents.RestaurantIntent);
132
- const top_intent_object = message.result.prediction.intents.RestaurantIntent;
133
- assert.equal(top_intent_object.targetProjectKind, "Luis");
134
- // Assert intent
135
- if (top_intent_object.targetProjectKind !== "Luis" ||
136
- ((_a = top_intent_object.result) === null || _a === void 0 ? void 0 : _a.prediction) === undefined) {
137
- assert.fail("Expected a LUIS response");
138
- }
139
- const luis_result = top_intent_object.result.prediction;
140
- assert.equal(luis_result.topIntent, "Reserve");
141
- assert.isAtLeast(luis_result.intents.length, 1);
142
- assert.isAbove(luis_result.intents[0].confidence, 0);
143
- // Assert entities
144
- assert.isAtLeast(luis_result.entities.length, 1);
145
- });
146
- it("Test Orchestration App QnA Response", async function () {
147
- var _a;
148
- const message = await client.analyzeConversation({
149
- kind: "Conversation",
150
- analysisInput: {
151
- conversationItem: {
152
- participantId: "1",
153
- id: "1",
154
- modality: "text",
155
- language: "en",
156
- text: "How are you?",
157
- },
158
- },
159
- parameters: {
160
- projectName: assertEnvironmentVariable("LANGUAGE_ORCHESTRATION_PROJECT_NAME"),
161
- deploymentName: assertEnvironmentVariable("LANGUAGE_ORCHESTRATION_DEPLOYMENT_NAME"),
162
- verbose: true,
163
- isLoggingEnabled: false,
164
- },
165
- });
166
- // Assert prediction type
167
- assert.equal(message.kind, "ConversationResult");
168
- assert.exists(message.result.query);
169
- if (message.result.prediction.projectKind !== "Orchestration") {
170
- assert.fail("Expected an Orchestration prediction");
171
- }
172
- // Assert top matching project
173
- assert.equal(message.result.prediction.topIntent, "ChitChat-QnA");
174
- assert.exists(message.result.prediction.intents["ChitChat-QnA"]);
175
- const top_intent_object = message.result.prediction.intents["ChitChat-QnA"];
176
- assert.equal(top_intent_object.targetProjectKind, "QuestionAnswering");
177
- // Assert intent
178
- if (top_intent_object.targetProjectKind !== "QuestionAnswering" ||
179
- ((_a = top_intent_object.result) === null || _a === void 0 ? void 0 : _a.answers) === undefined) {
180
- assert.fail("Expected a QnA response");
181
- }
182
- assert.exists(top_intent_object.result.answers[0].answer);
183
- assert.isAbove(top_intent_object.result.answers[0].confidence || 0, 0);
184
- });
185
- });
186
- describe("#async", function () {
187
- it("Test Conversation App PII transcript", async function () {
188
- const poller = await client.beginConversationAnalysis({
189
- displayName: "Analyze PII in conversation",
190
- analysisInput: {
191
- conversations: [
192
- {
193
- conversationItems: [
194
- {
195
- id: "1",
196
- participantId: "0",
197
- modality: "transcript",
198
- text: "It is john doe.",
199
- lexical: "It is john doe",
200
- itn: "It is john doe",
201
- maskedItn: "It is john doe",
202
- },
203
- {
204
- id: "2",
205
- participantId: "1",
206
- modality: "transcript",
207
- text: "Yes, 633-27-8199 is my phone",
208
- lexical: "yes six three three two seven eight one nine nine is my phone",
209
- itn: "yes 633278199 is my phone",
210
- maskedItn: "yes 633278199 is my phone",
211
- },
212
- {
213
- id: "3",
214
- participantId: "1",
215
- modality: "transcript",
216
- text: "j.doe@yahoo.com is my email",
217
- lexical: "j dot doe at yahoo dot com is my email",
218
- maskedItn: "j.doe@yahoo.com is my email",
219
- itn: "j.doe@yahoo.com is my email",
220
- },
221
- ],
222
- modality: "transcript",
223
- id: "1",
224
- language: "en",
225
- },
226
- ],
227
- },
228
- tasks: [
229
- {
230
- kind: "ConversationalPIITask",
231
- parameters: {
232
- redactionSource: "lexical",
233
- piiCategories: ["all"],
234
- },
235
- },
236
- ],
237
- });
238
- const message = await poller.pollUntilDone();
239
- // Assert main object
240
- assert.equal(message.status, "succeeded");
241
- // Assert task result
242
- if (message.tasks.items === undefined ||
243
- message.tasks.items[0].kind !== "conversationalPIIResults") {
244
- assert.fail("Expected a Conversational PII result");
245
- }
246
- const task_result = message.tasks.items[0];
247
- assert.equal(task_result.status, "succeeded");
248
- assert.equal(task_result.kind, "conversationalPIIResults");
249
- // Assert Conversation Result
250
- const conversation_items = task_result.results.conversations[0].conversationItems;
251
- assert.exists(conversation_items);
252
- conversation_items.forEach((conversation) => {
253
- assert.exists(conversation.redactedContent);
254
- assert.exists(conversation.entities);
255
- });
256
- });
257
- it("Test Conversation Summarization App", async function () {
258
- const poller = await client.beginConversationAnalysis({
259
- displayName: "Analyze conversations from xxx",
260
- analysisInput: {
261
- conversations: [
262
- {
263
- conversationItems: [
264
- {
265
- text: "Hello, how can I help you?",
266
- modality: "text",
267
- id: "1",
268
- participantId: "Agent",
269
- },
270
- {
271
- text: "How to upgrade Office? I am getting error messages the whole day.",
272
- modality: "text",
273
- id: "2",
274
- participantId: "Customer",
275
- },
276
- {
277
- text: "Press the upgrade button please. Then sign in and follow the instructions.",
278
- modality: "text",
279
- id: "3",
280
- participantId: "Agent",
281
- },
282
- ],
283
- modality: "text",
284
- id: "conversation1",
285
- language: "en",
286
- },
287
- ],
288
- },
289
- tasks: [
290
- {
291
- taskName: "analyze 1",
292
- kind: "ConversationalSummarizationTask",
293
- parameters: {
294
- summaryAspects: ["Issue, Resolution"],
295
- },
296
- },
297
- ],
298
- });
299
- const message = await poller.pollUntilDone();
300
- // Assert main object
301
- assert.equal(message.status, "succeeded");
302
- // Assert task result
303
- if (message.tasks.items === undefined ||
304
- message.tasks.items[0].kind !== "conversationalSummarizationResults") {
305
- assert.fail("Expected a Conversational Summarization result");
306
- }
307
- const task_result = message.tasks.items[0];
308
- assert.equal(task_result.status, "succeeded");
309
- // Assert Conversation Result
310
- const conversation_result = task_result.results.conversations[0];
311
- assert.exists(conversation_result.summaries);
312
- });
313
- });
314
- });
315
- });
316
- //# sourceMappingURL=analyze.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analyze.spec.js","sourceRoot":"","sources":["../../../test/public/analyze.spec.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { AuthMethod } from \"./utils/recordedClient\";\nimport { createClient, startRecorder } from \"./utils/recordedClient\";\nimport type { Context, Suite } from \"mocha\";\nimport { assert, matrix } from \"@azure-tools/test-utils\";\nimport type { ConversationAnalysisClient } from \"../../src\";\nimport type { Recorder } from \"@azure-tools/test-recorder\";\nimport { assertEnvironmentVariable } from \"@azure-tools/test-recorder\";\n\nmatrix([[\"APIKey\"]] as const, async (authMethod: AuthMethod) => {\n describe(`[${authMethod}] ConversationAnalysisClient`, function (this: Suite) {\n let recorder: Recorder;\n let client: ConversationAnalysisClient;\n\n beforeEach(async function (this: Context) {\n recorder = await startRecorder(this.currentTest);\n client = createClient({\n authMethod,\n recorder,\n });\n });\n\n afterEach(async function () {\n await recorder.stop();\n });\n\n describe(\"#sync\", function () {\n it(\"Test Conversation App\", async function () {\n const message = await client.analyzeConversation({\n kind: \"Conversation\",\n analysisInput: {\n conversationItem: {\n participantId: \"1\",\n id: \"1\",\n modality: \"text\",\n language: \"en\",\n text: \"Send an email to Carol about the tomorrow's demo\",\n },\n },\n parameters: {\n projectName: assertEnvironmentVariable(\"LANGUAGE_CLU_PROJECT_NAME\"),\n deploymentName: assertEnvironmentVariable(\"LANGUAGE_CLU_DEPLOYMENT_NAME\"),\n verbose: true,\n isLoggingEnabled: false,\n },\n });\n // Assert prediction type\n assert.equal(message.kind, \"ConversationResult\");\n assert.exists(message.result.query);\n if (message.result.prediction.projectKind !== \"Conversation\") {\n assert.fail(\"Expected a Conversation prediction\");\n }\n // Assert top intent\n assert.equal(message.result.prediction.topIntent, \"Send\");\n assert.isAtLeast(message.result.prediction.intents.length, 1);\n assert.equal(message.result.prediction.intents[0].category, \"Send\");\n assert.isAbove(message.result.prediction.intents[0].confidence, 0);\n\n // Assert entities\n assert.isAtLeast(message.result.prediction.entities.length, 1);\n assert.equal(message.result.prediction.entities[0].category, \"Contact\");\n assert.equal(message.result.prediction.entities[0].text, \"Carol\");\n assert.isAbove(message.result.prediction.entities[0].confidence, 0);\n });\n\n it(\"Test Orchestration App Conversational Response\", async function () {\n const message = await client.analyzeConversation({\n kind: \"Conversation\",\n analysisInput: {\n conversationItem: {\n participantId: \"1\",\n id: \"1\",\n modality: \"text\",\n language: \"en\",\n text: \"Send an email to Carol about the tomorrow's demo\",\n },\n },\n parameters: {\n projectName: assertEnvironmentVariable(\"LANGUAGE_ORCHESTRATION_PROJECT_NAME\"),\n deploymentName: assertEnvironmentVariable(\"LANGUAGE_ORCHESTRATION_DEPLOYMENT_NAME\"),\n verbose: true,\n isLoggingEnabled: false,\n },\n });\n // Assert prediction type\n assert.equal(message.kind, \"ConversationResult\");\n assert.exists(message.result.query);\n if (message.result.prediction.projectKind !== \"Orchestration\") {\n assert.fail(\"Expected an Orchestration prediction\");\n }\n // Assert top matching project\n assert.equal(message.result.prediction.topIntent, \"EmailIntent\");\n assert.exists(message.result.prediction.intents.EmailIntent);\n const top_intent_object = message.result.prediction.intents.EmailIntent;\n\n if (\n top_intent_object.targetProjectKind !== \"Conversation\" ||\n top_intent_object.result?.prediction === undefined\n ) {\n assert.fail(\"Expected a Conversational response\");\n }\n // Assert intent\n const conversation_result = top_intent_object.result.prediction;\n assert.equal(conversation_result.topIntent, \"Send\");\n assert.isAtLeast(conversation_result.intents.length, 1);\n assert.equal(conversation_result.intents[0].category, \"Send\");\n assert.isAbove(conversation_result.intents[0].confidence, 0);\n\n // Assert entities\n assert.isAtLeast(conversation_result.entities.length, 1);\n assert.equal(conversation_result.entities[0].category, \"Contact\");\n assert.equal(conversation_result.entities[0].text, \"Carol\");\n assert.isAbove(conversation_result.entities[0].confidence, 0);\n });\n\n it.skip(\"Test Orchestration App LUIS Response\", async function () {\n const message = await client.analyzeConversation({\n kind: \"Conversation\",\n analysisInput: {\n conversationItem: {\n participantId: \"1\",\n id: \"1\",\n modality: \"text\",\n language: \"en\",\n text: \"Reserve a table for 2 at the Italian restaurant\",\n },\n },\n parameters: {\n projectName: assertEnvironmentVariable(\"LANGUAGE_ORCHESTRATION_PROJECT_NAME\"),\n deploymentName: assertEnvironmentVariable(\"LANGUAGE_ORCHESTRATION_DEPLOYMENT_NAME\"),\n verbose: true,\n isLoggingEnabled: false,\n },\n });\n // Assert prediction type\n assert.equal(message.kind, \"ConversationResult\");\n assert.exists(message.result.query);\n\n if (message.result.prediction.projectKind !== \"Orchestration\") {\n assert.fail(\"Expected an Orchestration prediction\");\n }\n // Assert top matching project\n assert.equal(message.result.prediction.topIntent, \"RestaurantIntent\");\n assert.exists(message.result.prediction.intents.RestaurantIntent);\n const top_intent_object = message.result.prediction.intents.RestaurantIntent;\n assert.equal(top_intent_object.targetProjectKind, \"Luis\");\n\n // Assert intent\n if (\n top_intent_object.targetProjectKind !== \"Luis\" ||\n top_intent_object.result?.prediction === undefined\n ) {\n assert.fail(\"Expected a LUIS response\");\n }\n const luis_result = top_intent_object.result.prediction;\n assert.equal(luis_result.topIntent, \"Reserve\");\n assert.isAtLeast(luis_result.intents.length, 1);\n assert.isAbove(luis_result.intents[0].confidence, 0);\n\n // Assert entities\n assert.isAtLeast(luis_result.entities.length, 1);\n });\n\n it(\"Test Orchestration App QnA Response\", async function () {\n const message = await client.analyzeConversation({\n kind: \"Conversation\",\n analysisInput: {\n conversationItem: {\n participantId: \"1\",\n id: \"1\",\n modality: \"text\",\n language: \"en\",\n text: \"How are you?\",\n },\n },\n parameters: {\n projectName: assertEnvironmentVariable(\"LANGUAGE_ORCHESTRATION_PROJECT_NAME\"),\n deploymentName: assertEnvironmentVariable(\"LANGUAGE_ORCHESTRATION_DEPLOYMENT_NAME\"),\n verbose: true,\n isLoggingEnabled: false,\n },\n });\n // Assert prediction type\n assert.equal(message.kind, \"ConversationResult\");\n assert.exists(message.result.query);\n if (message.result.prediction.projectKind !== \"Orchestration\") {\n assert.fail(\"Expected an Orchestration prediction\");\n }\n\n // Assert top matching project\n assert.equal(message.result.prediction.topIntent, \"ChitChat-QnA\");\n assert.exists(message.result.prediction.intents[\"ChitChat-QnA\"]);\n const top_intent_object = message.result.prediction.intents[\"ChitChat-QnA\"];\n assert.equal(top_intent_object.targetProjectKind, \"QuestionAnswering\");\n\n // Assert intent\n if (\n top_intent_object.targetProjectKind !== \"QuestionAnswering\" ||\n top_intent_object.result?.answers === undefined\n ) {\n assert.fail(\"Expected a QnA response\");\n }\n assert.exists(top_intent_object.result.answers[0].answer);\n assert.isAbove(top_intent_object.result.answers[0].confidence || 0, 0);\n });\n });\n\n describe(\"#async\", function () {\n it(\"Test Conversation App PII transcript\", async function () {\n const poller = await client.beginConversationAnalysis({\n displayName: \"Analyze PII in conversation\",\n analysisInput: {\n conversations: [\n {\n conversationItems: [\n {\n id: \"1\",\n participantId: \"0\",\n modality: \"transcript\",\n text: \"It is john doe.\",\n lexical: \"It is john doe\",\n itn: \"It is john doe\",\n maskedItn: \"It is john doe\",\n },\n {\n id: \"2\",\n participantId: \"1\",\n modality: \"transcript\",\n text: \"Yes, 633-27-8199 is my phone\",\n lexical: \"yes six three three two seven eight one nine nine is my phone\",\n itn: \"yes 633278199 is my phone\",\n maskedItn: \"yes 633278199 is my phone\",\n },\n {\n id: \"3\",\n participantId: \"1\",\n modality: \"transcript\",\n text: \"j.doe@yahoo.com is my email\",\n lexical: \"j dot doe at yahoo dot com is my email\",\n maskedItn: \"j.doe@yahoo.com is my email\",\n itn: \"j.doe@yahoo.com is my email\",\n },\n ],\n modality: \"transcript\",\n id: \"1\",\n language: \"en\",\n },\n ],\n },\n tasks: [\n {\n kind: \"ConversationalPIITask\",\n parameters: {\n redactionSource: \"lexical\",\n piiCategories: [\"all\"],\n },\n },\n ],\n });\n const message = await poller.pollUntilDone();\n // Assert main object\n assert.equal(message.status, \"succeeded\");\n\n // Assert task result\n if (\n message.tasks.items === undefined ||\n message.tasks.items[0].kind !== \"conversationalPIIResults\"\n ) {\n assert.fail(\"Expected a Conversational PII result\");\n }\n\n const task_result = message.tasks.items[0];\n assert.equal(task_result.status, \"succeeded\");\n assert.equal(task_result.kind, \"conversationalPIIResults\");\n\n // Assert Conversation Result\n const conversation_items = task_result.results.conversations[0].conversationItems;\n assert.exists(conversation_items);\n conversation_items.forEach((conversation) => {\n assert.exists(conversation.redactedContent);\n assert.exists(conversation.entities);\n });\n });\n\n it(\"Test Conversation Summarization App\", async function () {\n const poller = await client.beginConversationAnalysis({\n displayName: \"Analyze conversations from xxx\",\n analysisInput: {\n conversations: [\n {\n conversationItems: [\n {\n text: \"Hello, how can I help you?\",\n modality: \"text\",\n id: \"1\",\n participantId: \"Agent\",\n },\n {\n text: \"How to upgrade Office? I am getting error messages the whole day.\",\n modality: \"text\",\n id: \"2\",\n participantId: \"Customer\",\n },\n {\n text: \"Press the upgrade button please. Then sign in and follow the instructions.\",\n modality: \"text\",\n id: \"3\",\n participantId: \"Agent\",\n },\n ],\n modality: \"text\",\n id: \"conversation1\",\n language: \"en\",\n },\n ],\n },\n tasks: [\n {\n taskName: \"analyze 1\",\n kind: \"ConversationalSummarizationTask\",\n parameters: {\n summaryAspects: [\"Issue, Resolution\"],\n },\n },\n ],\n });\n const message = await poller.pollUntilDone();\n // Assert main object\n assert.equal(message.status, \"succeeded\");\n\n // Assert task result\n if (\n message.tasks.items === undefined ||\n message.tasks.items[0].kind !== \"conversationalSummarizationResults\"\n ) {\n assert.fail(\"Expected a Conversational Summarization result\");\n }\n\n const task_result = message.tasks.items[0];\n assert.equal(task_result.status, \"succeeded\");\n\n // Assert Conversation Result\n const conversation_result = task_result.results.conversations[0];\n assert.exists(conversation_result.summaries);\n });\n });\n });\n});\n"]}
@@ -1,50 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- import { ConversationAnalysisClient } from "../../../src/";
4
- import { Recorder, assertEnvironmentVariable } from "@azure-tools/test-recorder";
5
- import { AzureKeyCredential } from "@azure/core-auth";
6
- import { createTestCredential } from "@azure-tools/test-credential";
7
- const envSetupForPlayback = {
8
- LANGUAGE_API_KEY: "sanitized",
9
- // Second API key
10
- LANGUAGE_API_KEY_ALT: "sanitized",
11
- ENDPOINT: "https://endpoint",
12
- LANGUAGE_CLU_PROJECT_NAME: "<project-name>",
13
- LANGUAGE_CLU_DEPLOYMENT_NAME: "<deployment-name>",
14
- LANGUAGE_ORCHESTRATION_PROJECT_NAME: "<project-name>",
15
- LANGUAGE_ORCHESTRATION_DEPLOYMENT_NAME: "<deployment-name>",
16
- };
17
- const recorderStartOptions = {
18
- envSetupForPlayback,
19
- };
20
- export function createClient(options) {
21
- const { authMethod, recorder, clientOptions = {} } = options;
22
- const endpoint = assertEnvironmentVariable("ENDPOINT");
23
- const updatedOptions = recorder ? recorder.configureClientOptions(clientOptions) : clientOptions;
24
- switch (authMethod) {
25
- case "APIKey": {
26
- return new ConversationAnalysisClient(endpoint, new AzureKeyCredential(assertEnvironmentVariable("LANGUAGE_API_KEY")), updatedOptions);
27
- }
28
- case "AAD": {
29
- return new ConversationAnalysisClient(endpoint, createTestCredential(), updatedOptions);
30
- }
31
- case "DummyAPIKey": {
32
- return new ConversationAnalysisClient(endpoint, new AzureKeyCredential("whatever"), updatedOptions);
33
- }
34
- default: {
35
- throw Error(`Unsupported authentication method: ${authMethod}`);
36
- }
37
- }
38
- }
39
- /**
40
- * starts the recorder and reads the environment variables from the `.env` file.
41
- * Should be called first in the test suite to make sure environment variables are
42
- * read before they are being used.
43
- */
44
- export async function startRecorder(currentTest) {
45
- const recorder = new Recorder(currentTest);
46
- await recorder.start(recorderStartOptions);
47
- await recorder.setMatcher("CustomDefaultMatcher", { excludedHeaders: ["Accept-Language"] });
48
- return recorder;
49
- }
50
- //# sourceMappingURL=recordedClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"recordedClient.js","sourceRoot":"","sources":["../../../../test/public/utils/recordedClient.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,mBAAmB,GAA4B;IACnD,gBAAgB,EAAE,WAAW;IAC7B,iBAAiB;IACjB,oBAAoB,EAAE,WAAW;IACjC,QAAQ,EAAE,kBAAkB;IAC5B,yBAAyB,EAAE,gBAAgB;IAC3C,4BAA4B,EAAE,mBAAmB;IACjD,mCAAmC,EAAE,gBAAgB;IACrD,sCAAsC,EAAE,mBAAmB;CAC5D,CAAC;AAEF,MAAM,oBAAoB,GAAyB;IACjD,mBAAmB;CACpB,CAAC;AAIF,MAAM,UAAU,YAAY,CAAC,OAI5B;IACC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAC7D,MAAM,QAAQ,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;IAEjG,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,OAAO,IAAI,0BAA0B,CACnC,QAAQ,EACR,IAAI,kBAAkB,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,CAAC,EACrE,cAAc,CACf,CAAC;QACJ,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,OAAO,IAAI,0BAA0B,CAAC,QAAQ,EAAE,oBAAoB,EAAE,EAAE,cAAc,CAAC,CAAC;QAC1F,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,OAAO,IAAI,0BAA0B,CACnC,QAAQ,EACR,IAAI,kBAAkB,CAAC,UAAU,CAAC,EAClC,cAAc,CACf,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,KAAK,CAAC,sCAAsC,UAAU,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,WAAkB;IACpD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,QAAQ,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC3C,MAAM,QAAQ,CAAC,UAAU,CAAC,sBAAsB,EAAE,EAAE,eAAe,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAC5F,OAAO,QAAQ,CAAC;AAClB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { ConversationAnalysisOptions } from \"../../../src/\";\nimport { ConversationAnalysisClient } from \"../../../src/\";\nimport type { RecorderStartOptions } from \"@azure-tools/test-recorder\";\nimport { Recorder, assertEnvironmentVariable } from \"@azure-tools/test-recorder\";\nimport { AzureKeyCredential } from \"@azure/core-auth\";\nimport type { Test } from \"mocha\";\nimport { createTestCredential } from \"@azure-tools/test-credential\";\n\nconst envSetupForPlayback: { [k: string]: string } = {\n LANGUAGE_API_KEY: \"sanitized\",\n // Second API key\n LANGUAGE_API_KEY_ALT: \"sanitized\",\n ENDPOINT: \"https://endpoint\",\n LANGUAGE_CLU_PROJECT_NAME: \"<project-name>\",\n LANGUAGE_CLU_DEPLOYMENT_NAME: \"<deployment-name>\",\n LANGUAGE_ORCHESTRATION_PROJECT_NAME: \"<project-name>\",\n LANGUAGE_ORCHESTRATION_DEPLOYMENT_NAME: \"<deployment-name>\",\n};\n\nconst recorderStartOptions: RecorderStartOptions = {\n envSetupForPlayback,\n};\n\nexport type AuthMethod = \"APIKey\" | \"AAD\" | \"DummyAPIKey\";\n\nexport function createClient(options: {\n authMethod: AuthMethod;\n recorder?: Recorder;\n clientOptions?: ConversationAnalysisOptions;\n}): ConversationAnalysisClient {\n const { authMethod, recorder, clientOptions = {} } = options;\n const endpoint = assertEnvironmentVariable(\"ENDPOINT\");\n const updatedOptions = recorder ? recorder.configureClientOptions(clientOptions) : clientOptions;\n\n switch (authMethod) {\n case \"APIKey\": {\n return new ConversationAnalysisClient(\n endpoint,\n new AzureKeyCredential(assertEnvironmentVariable(\"LANGUAGE_API_KEY\")),\n updatedOptions,\n );\n }\n case \"AAD\": {\n return new ConversationAnalysisClient(endpoint, createTestCredential(), updatedOptions);\n }\n case \"DummyAPIKey\": {\n return new ConversationAnalysisClient(\n endpoint,\n new AzureKeyCredential(\"whatever\"),\n updatedOptions,\n );\n }\n default: {\n throw Error(`Unsupported authentication method: ${authMethod}`);\n }\n }\n}\n\n/**\n * starts the recorder and reads the environment variables from the `.env` file.\n * Should be called first in the test suite to make sure environment variables are\n * read before they are being used.\n */\nexport async function startRecorder(currentTest?: Test): Promise<Recorder> {\n const recorder = new Recorder(currentTest);\n await recorder.start(recorderStartOptions);\n await recorder.setMatcher(\"CustomDefaultMatcher\", { excludedHeaders: [\"Accept-Language\"] });\n return recorder;\n}\n"]}