@microsoft/teamsfx-core 2.0.7-alpha.409a3da2f.0 → 2.0.7-alpha.44548b1b3.0

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 (244) hide show
  1. package/build/common/constants.d.ts +4 -1
  2. package/build/common/constants.d.ts.map +1 -1
  3. package/build/common/constants.js +4 -1
  4. package/build/common/constants.js.map +1 -1
  5. package/build/common/featureFlags.d.ts +2 -0
  6. package/build/common/featureFlags.d.ts.map +1 -1
  7. package/build/common/featureFlags.js +9 -1
  8. package/build/common/featureFlags.js.map +1 -1
  9. package/build/common/local/packageJsonHelper.d.ts.map +1 -1
  10. package/build/common/local/packageJsonHelper.js +1 -2
  11. package/build/common/local/packageJsonHelper.js.map +1 -1
  12. package/build/common/m365/packageService.d.ts +1 -0
  13. package/build/common/m365/packageService.d.ts.map +1 -1
  14. package/build/common/m365/packageService.js +15 -2
  15. package/build/common/m365/packageService.js.map +1 -1
  16. package/build/common/projectTypeChecker.d.ts.map +1 -1
  17. package/build/common/projectTypeChecker.js +1 -2
  18. package/build/common/projectTypeChecker.js.map +1 -1
  19. package/build/common/samples.d.ts +3 -2
  20. package/build/common/samples.d.ts.map +1 -1
  21. package/build/common/samples.js +84 -40
  22. package/build/common/samples.js.map +1 -1
  23. package/build/common/telemetry.d.ts +3 -1
  24. package/build/common/telemetry.d.ts.map +1 -1
  25. package/build/common/telemetry.js +2 -0
  26. package/build/common/telemetry.js.map +1 -1
  27. package/build/common/templates-config.json +1 -0
  28. package/build/common/tools.d.ts.map +1 -1
  29. package/build/common/tools.js +1 -1
  30. package/build/common/tools.js.map +1 -1
  31. package/build/common/wrappedAxiosClient.d.ts +59 -0
  32. package/build/common/wrappedAxiosClient.d.ts.map +1 -0
  33. package/build/common/wrappedAxiosClient.js +247 -0
  34. package/build/common/wrappedAxiosClient.js.map +1 -0
  35. package/build/component/configManager/lifecycle.js +1 -1
  36. package/build/component/configManager/lifecycle.js.map +1 -1
  37. package/build/component/constant/commonConstant.d.ts +5 -0
  38. package/build/component/constant/commonConstant.d.ts.map +1 -1
  39. package/build/component/constant/commonConstant.js +7 -1
  40. package/build/component/constant/commonConstant.js.map +1 -1
  41. package/build/component/coordinator/index.d.ts +8 -1
  42. package/build/component/coordinator/index.d.ts.map +1 -1
  43. package/build/component/coordinator/index.js +43 -7
  44. package/build/component/coordinator/index.js.map +1 -1
  45. package/build/component/developerPortalScaffoldUtils.d.ts.map +1 -1
  46. package/build/component/developerPortalScaffoldUtils.js +0 -2
  47. package/build/component/developerPortalScaffoldUtils.js.map +1 -1
  48. package/build/component/driver/aad/utility/aadAppClient.d.ts +1 -0
  49. package/build/component/driver/aad/utility/aadAppClient.d.ts.map +1 -1
  50. package/build/component/driver/aad/utility/aadAppClient.js +16 -2
  51. package/build/component/driver/aad/utility/aadAppClient.js.map +1 -1
  52. package/build/component/driver/apiKey/create.d.ts.map +1 -1
  53. package/build/component/driver/apiKey/create.js +2 -4
  54. package/build/component/driver/apiKey/create.js.map +1 -1
  55. package/build/component/driver/botFramework/createOrUpdateBot.d.ts.map +1 -1
  56. package/build/component/driver/botFramework/createOrUpdateBot.js +0 -2
  57. package/build/component/driver/botFramework/createOrUpdateBot.js.map +1 -1
  58. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.d.ts.map +1 -1
  59. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js +5 -5
  60. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js.map +1 -1
  61. package/build/component/driver/middleware/addSWADeployTelemetry.js +1 -2
  62. package/build/component/driver/middleware/addSWADeployTelemetry.js.map +1 -1
  63. package/build/component/driver/teamsApp/appStudio.d.ts.map +1 -1
  64. package/build/component/driver/teamsApp/appStudio.js +0 -2
  65. package/build/component/driver/teamsApp/appStudio.js.map +1 -1
  66. package/build/component/driver/teamsApp/clients/appStudioClient.d.ts +31 -9
  67. package/build/component/driver/teamsApp/clients/appStudioClient.d.ts.map +1 -1
  68. package/build/component/driver/teamsApp/clients/appStudioClient.js +86 -111
  69. package/build/component/driver/teamsApp/clients/appStudioClient.js.map +1 -1
  70. package/build/component/driver/teamsApp/clients/authSvcClient.d.ts.map +1 -1
  71. package/build/component/driver/teamsApp/clients/authSvcClient.js +3 -24
  72. package/build/component/driver/teamsApp/clients/authSvcClient.js.map +1 -1
  73. package/build/component/driver/teamsApp/configure.d.ts.map +1 -1
  74. package/build/component/driver/teamsApp/configure.js +0 -2
  75. package/build/component/driver/teamsApp/configure.js.map +1 -1
  76. package/build/component/driver/teamsApp/constants.d.ts +3 -0
  77. package/build/component/driver/teamsApp/constants.d.ts.map +1 -1
  78. package/build/component/driver/teamsApp/constants.js +3 -0
  79. package/build/component/driver/teamsApp/constants.js.map +1 -1
  80. package/build/component/driver/teamsApp/create.d.ts.map +1 -1
  81. package/build/component/driver/teamsApp/create.js +0 -2
  82. package/build/component/driver/teamsApp/create.js.map +1 -1
  83. package/build/component/driver/teamsApp/createAppPackage.d.ts +3 -0
  84. package/build/component/driver/teamsApp/createAppPackage.d.ts.map +1 -1
  85. package/build/component/driver/teamsApp/createAppPackage.js +63 -14
  86. package/build/component/driver/teamsApp/createAppPackage.js.map +1 -1
  87. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationDetailsResponse.d.ts +21 -0
  88. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationDetailsResponse.d.ts.map +1 -0
  89. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationDetailsResponse.js +5 -0
  90. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationDetailsResponse.js.map +1 -0
  91. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResponse.d.ts +17 -0
  92. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResponse.d.ts.map +1 -0
  93. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResponse.js +16 -0
  94. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResponse.js.map +1 -0
  95. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResultsResponse.d.ts +41 -0
  96. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResultsResponse.d.ts.map +1 -0
  97. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResultsResponse.js +5 -0
  98. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResultsResponse.js.map +1 -0
  99. package/build/component/driver/teamsApp/publishAppPackage.d.ts.map +1 -1
  100. package/build/component/driver/teamsApp/publishAppPackage.js +3 -5
  101. package/build/component/driver/teamsApp/publishAppPackage.js.map +1 -1
  102. package/build/component/driver/teamsApp/utils/telemetry.d.ts +0 -31
  103. package/build/component/driver/teamsApp/utils/telemetry.d.ts.map +1 -1
  104. package/build/component/driver/teamsApp/utils/telemetry.js +1 -53
  105. package/build/component/driver/teamsApp/utils/telemetry.js.map +1 -1
  106. package/build/component/driver/teamsApp/validate.d.ts.map +1 -1
  107. package/build/component/driver/teamsApp/validate.js +0 -1
  108. package/build/component/driver/teamsApp/validate.js.map +1 -1
  109. package/build/component/driver/teamsApp/validateAppPackage.d.ts.map +1 -1
  110. package/build/component/driver/teamsApp/validateAppPackage.js +0 -1
  111. package/build/component/driver/teamsApp/validateAppPackage.js.map +1 -1
  112. package/build/component/feature/collaboration.d.ts +1 -1
  113. package/build/component/feature/collaboration.d.ts.map +1 -1
  114. package/build/component/feature/collaboration.js +2 -4
  115. package/build/component/feature/collaboration.js.map +1 -1
  116. package/build/component/generator/copilotPlugin/generator.d.ts +3 -2
  117. package/build/component/generator/copilotPlugin/generator.d.ts.map +1 -1
  118. package/build/component/generator/copilotPlugin/generator.js +31 -15
  119. package/build/component/generator/copilotPlugin/generator.js.map +1 -1
  120. package/build/component/generator/copilotPlugin/helper.d.ts +1 -1
  121. package/build/component/generator/copilotPlugin/helper.js +19 -19
  122. package/build/component/generator/copilotPlugin/helper.js.map +1 -1
  123. package/build/component/generator/error.d.ts +1 -1
  124. package/build/component/generator/error.d.ts.map +1 -1
  125. package/build/component/generator/error.js +4 -4
  126. package/build/component/generator/error.js.map +1 -1
  127. package/build/component/generator/generator.d.ts +5 -0
  128. package/build/component/generator/generator.d.ts.map +1 -1
  129. package/build/component/generator/generator.js +28 -26
  130. package/build/component/generator/generator.js.map +1 -1
  131. package/build/component/generator/generatorAction.d.ts +5 -16
  132. package/build/component/generator/generatorAction.d.ts.map +1 -1
  133. package/build/component/generator/generatorAction.js +46 -87
  134. package/build/component/generator/generatorAction.js.map +1 -1
  135. package/build/component/generator/officeAddin/config/projectProperties.d.ts +1 -0
  136. package/build/component/generator/officeAddin/config/projectProperties.d.ts.map +1 -1
  137. package/build/component/generator/officeAddin/config/projectProperties.js +1 -0
  138. package/build/component/generator/officeAddin/config/projectProperties.js.map +1 -1
  139. package/build/component/generator/officeAddin/config/projectsJsonData.d.ts +1 -4
  140. package/build/component/generator/officeAddin/config/projectsJsonData.d.ts.map +1 -1
  141. package/build/component/generator/officeAddin/config/projectsJsonData.js +4 -11
  142. package/build/component/generator/officeAddin/config/projectsJsonData.js.map +1 -1
  143. package/build/component/generator/officeAddin/generator.d.ts.map +1 -1
  144. package/build/component/generator/officeAddin/generator.js +7 -6
  145. package/build/component/generator/officeAddin/generator.js.map +1 -1
  146. package/build/component/generator/officeAddin/helperMethods.d.ts +2 -1
  147. package/build/component/generator/officeAddin/helperMethods.d.ts.map +1 -1
  148. package/build/component/generator/officeAddin/helperMethods.js +21 -10
  149. package/build/component/generator/officeAddin/helperMethods.js.map +1 -1
  150. package/build/component/generator/utils.d.ts +2 -1
  151. package/build/component/generator/utils.d.ts.map +1 -1
  152. package/build/component/generator/utils.js +32 -16
  153. package/build/component/generator/utils.js.map +1 -1
  154. package/build/component/resource/botService/appStudio/appStudioClient.d.ts.map +1 -1
  155. package/build/component/resource/botService/appStudio/appStudioClient.js +11 -39
  156. package/build/component/resource/botService/appStudio/appStudioClient.js.map +1 -1
  157. package/build/core/FxCore.js +3 -3
  158. package/build/core/FxCore.js.map +1 -1
  159. package/build/core/collaborator.js +3 -3
  160. package/build/core/collaborator.js.map +1 -1
  161. package/build/core/middleware/projectMigratorV3.d.ts.map +1 -1
  162. package/build/core/middleware/projectMigratorV3.js +6 -1
  163. package/build/core/middleware/projectMigratorV3.js.map +1 -1
  164. package/build/error/arm.d.ts.map +1 -1
  165. package/build/error/arm.js +0 -2
  166. package/build/error/arm.js.map +1 -1
  167. package/build/error/common.d.ts.map +1 -1
  168. package/build/error/common.js +1 -1
  169. package/build/error/common.js.map +1 -1
  170. package/build/error/deploy.d.ts.map +1 -1
  171. package/build/error/deploy.js +17 -6
  172. package/build/error/deploy.js.map +1 -1
  173. package/build/index.d.ts +0 -1
  174. package/build/index.d.ts.map +1 -1
  175. package/build/index.js +1 -3
  176. package/build/index.js.map +1 -1
  177. package/build/question/create.d.ts +18 -0
  178. package/build/question/create.d.ts.map +1 -1
  179. package/build/question/create.js +311 -36
  180. package/build/question/create.js.map +1 -1
  181. package/build/question/inputs/CreateProjectInputs.d.ts +17 -5
  182. package/build/question/inputs/CreateProjectInputs.d.ts.map +1 -1
  183. package/build/question/options/CreateProjectOptions.d.ts.map +1 -1
  184. package/build/question/options/CreateProjectOptions.js +55 -8
  185. package/build/question/options/CreateProjectOptions.js.map +1 -1
  186. package/build/question/questionNames.d.ts +9 -1
  187. package/build/question/questionNames.d.ts.map +1 -1
  188. package/build/question/questionNames.js +8 -0
  189. package/build/question/questionNames.js.map +1 -1
  190. package/package.json +8 -8
  191. package/resource/package.nls.json +119 -75
  192. package/templates/fallback/common.zip +0 -0
  193. package/templates/fallback/csharp.zip +0 -0
  194. package/templates/fallback/js.zip +0 -0
  195. package/templates/fallback/ts.zip +0 -0
  196. package/templates/plugins/resource/aad/auth/V3/Enable SSO.txt +1 -1
  197. package/build/common/spec-parser/adaptiveCardGenerator.d.ts +0 -7
  198. package/build/common/spec-parser/adaptiveCardGenerator.d.ts.map +0 -1
  199. package/build/common/spec-parser/adaptiveCardGenerator.js +0 -168
  200. package/build/common/spec-parser/adaptiveCardGenerator.js.map +0 -1
  201. package/build/common/spec-parser/adaptiveCardWrapper.d.ts +0 -15
  202. package/build/common/spec-parser/adaptiveCardWrapper.d.ts.map +0 -1
  203. package/build/common/spec-parser/adaptiveCardWrapper.js +0 -98
  204. package/build/common/spec-parser/adaptiveCardWrapper.js.map +0 -1
  205. package/build/common/spec-parser/constants.d.ts +0 -41
  206. package/build/common/spec-parser/constants.d.ts.map +0 -1
  207. package/build/common/spec-parser/constants.js +0 -95
  208. package/build/common/spec-parser/constants.js.map +0 -1
  209. package/build/common/spec-parser/index.browser.d.ts +0 -6
  210. package/build/common/spec-parser/index.browser.d.ts.map +0 -1
  211. package/build/common/spec-parser/index.browser.js +0 -16
  212. package/build/common/spec-parser/index.browser.js.map +0 -1
  213. package/build/common/spec-parser/index.d.ts +0 -5
  214. package/build/common/spec-parser/index.d.ts.map +0 -1
  215. package/build/common/spec-parser/index.js +0 -16
  216. package/build/common/spec-parser/index.js.map +0 -1
  217. package/build/common/spec-parser/interfaces.d.ts +0 -180
  218. package/build/common/spec-parser/interfaces.d.ts.map +0 -1
  219. package/build/common/spec-parser/interfaces.js +0 -51
  220. package/build/common/spec-parser/interfaces.js.map +0 -1
  221. package/build/common/spec-parser/manifestUpdater.d.ts +0 -7
  222. package/build/common/spec-parser/manifestUpdater.d.ts.map +0 -1
  223. package/build/common/spec-parser/manifestUpdater.js +0 -98
  224. package/build/common/spec-parser/manifestUpdater.js.map +0 -1
  225. package/build/common/spec-parser/specFilter.d.ts +0 -3
  226. package/build/common/spec-parser/specFilter.d.ts.map +0 -1
  227. package/build/common/spec-parser/specFilter.js +0 -40
  228. package/build/common/spec-parser/specFilter.js.map +0 -1
  229. package/build/common/spec-parser/specParser.browser.d.ts +0 -46
  230. package/build/common/spec-parser/specParser.browser.d.ts.map +0 -1
  231. package/build/common/spec-parser/specParser.browser.js +0 -139
  232. package/build/common/spec-parser/specParser.browser.js.map +0 -1
  233. package/build/common/spec-parser/specParser.d.ts +0 -46
  234. package/build/common/spec-parser/specParser.d.ts.map +0 -1
  235. package/build/common/spec-parser/specParser.js +0 -244
  236. package/build/common/spec-parser/specParser.js.map +0 -1
  237. package/build/common/spec-parser/specParserError.d.ts +0 -6
  238. package/build/common/spec-parser/specParserError.d.ts.map +0 -1
  239. package/build/common/spec-parser/specParserError.js +0 -13
  240. package/build/common/spec-parser/specParserError.js.map +0 -1
  241. package/build/common/spec-parser/utils.d.ts +0 -43
  242. package/build/common/spec-parser/utils.d.ts.map +0 -1
  243. package/build/common/spec-parser/utils.js +0 -587
  244. package/build/common/spec-parser/utils.js.map +0 -1
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) Microsoft Corporation.
3
3
  // Licensed under the MIT license.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.createProjectCliHelpNode = exports.createSampleProjectQuestionNode = exports.createProjectQuestionNode = exports.capabilitySubTree = exports.apiOperationQuestion = exports.apiMessageExtensionAuthQuestion = exports.openAIPluginManifestLocationQuestion = exports.apiSpecLocationQuestion = exports.ApiMessageExtensionAuthOptions = exports.RuntimeOptions = exports.appNameQuestion = exports.AppNamePattern = exports.folderQuestion = exports.programmingLanguageQuestion = exports.ProgrammingLanguage = exports.getLanguageOptions = exports.officeAddinHostingQuestion = exports.getTemplate = exports.SPFxImportFolderQuestion = exports.SPFxVersionOptionIds = exports.SPFxWebpartNameQuestion = exports.SPFxFrameworkQuestion = exports.SPFxPackageSelectQuestion = exports.NotificationTriggerOptions = exports.meArchitectureQuestion = exports.MeArchitectureOptions = exports.capabilityQuestion = exports.CapabilityOptions = exports.ProjectTypeOptions = exports.ScratchOptions = void 0;
5
+ exports.createProjectCliHelpNode = exports.createSampleProjectQuestionNode = exports.createProjectQuestionNode = exports.capabilitySubTree = exports.CustomCopilotAssistantOptions = exports.CustomCopilotRagOptions = exports.apiOperationQuestion = exports.apiMessageExtensionAuthQuestion = exports.openAIPluginManifestLocationQuestion = exports.apiSpecLocationQuestion = exports.ApiMessageExtensionAuthOptions = exports.RuntimeOptions = exports.appNameQuestion = exports.AppNamePattern = exports.folderQuestion = exports.programmingLanguageQuestion = exports.ProgrammingLanguage = exports.getLanguageOptions = exports.officeAddinHostingQuestion = exports.getTemplate = exports.SPFxImportFolderQuestion = exports.SPFxVersionOptionIds = exports.SPFxWebpartNameQuestion = exports.SPFxFrameworkQuestion = exports.SPFxPackageSelectQuestion = exports.NotificationTriggerOptions = exports.meArchitectureQuestion = exports.MeArchitectureOptions = exports.capabilityQuestion = exports.CapabilityOptions = exports.ProjectTypeOptions = exports.ScratchOptions = void 0;
6
6
  const tslib_1 = require("tslib");
7
7
  const teamsfx_api_1 = require("@microsoft/teamsfx-api");
8
8
  const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
@@ -83,10 +83,17 @@ class ProjectTypeOptions {
83
83
  static copilotPlugin(platform) {
84
84
  return {
85
85
  id: "copilot-plugin-type",
86
- label: `${platform === teamsfx_api_1.Platform.VSCode ? "$(sparkle) " : ""}${localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.copilotPlugin.label")}`,
86
+ label: `${platform === teamsfx_api_1.Platform.VSCode ? "$(teamsfx-copilot-plugin) " : ""}${localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.copilotPlugin.label")}`,
87
87
  detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.copilotPlugin.detail"),
88
88
  };
89
89
  }
90
+ static customCopilot(platform) {
91
+ return {
92
+ id: "custom-copilot-type",
93
+ label: `${platform === teamsfx_api_1.Platform.VSCode ? "$(teamsfx-custom-copilot) " : ""}${localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.customCopilot.label")}`,
94
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.customCopilot.detail"),
95
+ };
96
+ }
90
97
  }
91
98
  exports.ProjectTypeOptions = ProjectTypeOptions;
92
99
  function projectTypeQuestion() {
@@ -103,22 +110,14 @@ function projectTypeQuestion() {
103
110
  staticOptions: staticOptions,
104
111
  dynamicOptions: (inputs) => {
105
112
  var _a;
106
- let staticOptions;
113
+ const staticOptions = [];
107
114
  if (featureFlags_1.isApiCopilotPluginEnabled()) {
108
- staticOptions = [
109
- ProjectTypeOptions.copilotPlugin(inputs.platform),
110
- ProjectTypeOptions.bot(inputs.platform),
111
- ProjectTypeOptions.tab(inputs.platform),
112
- ProjectTypeOptions.me(inputs.platform),
113
- ];
115
+ staticOptions.push(ProjectTypeOptions.copilotPlugin(inputs.platform));
114
116
  }
115
- else {
116
- staticOptions = [
117
- ProjectTypeOptions.bot(inputs.platform),
118
- ProjectTypeOptions.tab(inputs.platform),
119
- ProjectTypeOptions.me(inputs.platform),
120
- ];
117
+ if (featureFlags_1.isCustomCopilotEnabled()) {
118
+ staticOptions.push(ProjectTypeOptions.customCopilot(inputs.platform));
121
119
  }
120
+ staticOptions.push(ProjectTypeOptions.bot(inputs.platform), ProjectTypeOptions.tab(inputs.platform), ProjectTypeOptions.me(inputs.platform));
122
121
  if (developerPortalScaffoldUtils_1.isFromDevPortal(inputs)) {
123
122
  const projectType = (_a = developerPortalScaffoldUtils_1.getProjectTypeAndCapability(inputs.teamsAppFromTdp)) === null || _a === void 0 ? void 0 : _a.projectType;
124
123
  if (projectType) {
@@ -311,13 +310,17 @@ class CapabilityOptions {
311
310
  ];
312
311
  }
313
312
  static dotnetCaps(inputs) {
314
- return [
313
+ const capabilities = [
315
314
  ...CapabilityOptions.copilotPlugins(),
316
315
  ...CapabilityOptions.bots(inputs, true),
317
316
  CapabilityOptions.nonSsoTab(),
318
317
  CapabilityOptions.tab(),
319
318
  ...CapabilityOptions.collectMECaps(),
320
319
  ];
320
+ if (featureFlags_1.isTdpTemplateCliTestEnabled()) {
321
+ capabilities.push(CapabilityOptions.me());
322
+ }
323
+ return capabilities;
321
324
  }
322
325
  /**
323
326
  * Collect all capabilities for message extension, including dotnet and nodejs.
@@ -348,7 +351,22 @@ class CapabilityOptions {
348
351
  return [
349
352
  CapabilityOptions.copilotPluginNewApi(),
350
353
  CapabilityOptions.copilotPluginApiSpec(),
351
- CapabilityOptions.copilotPluginOpenAIPlugin(),
354
+ // CapabilityOptions.copilotPluginOpenAIPlugin(),
355
+ ];
356
+ }
357
+ static customCopilots() {
358
+ return [
359
+ CapabilityOptions.customCopilotBasic(),
360
+ CapabilityOptions.customCopilotRag(),
361
+ CapabilityOptions.customCopilotAssistant(),
362
+ ];
363
+ }
364
+ static tdpIntegrationCapabilities() {
365
+ // templates that are used by TDP integration only
366
+ return [
367
+ CapabilityOptions.me(),
368
+ CapabilityOptions.botAndMe(),
369
+ CapabilityOptions.nonSsoTabAndBot(),
352
370
  ];
353
371
  }
354
372
  /**
@@ -360,6 +378,9 @@ class CapabilityOptions {
360
378
  ...CapabilityOptions.tabs(),
361
379
  ...CapabilityOptions.collectMECaps(),
362
380
  ...CapabilityOptions.copilotPlugins(),
381
+ ...CapabilityOptions.customCopilots(),
382
+ ...CapabilityOptions.tdpIntegrationCapabilities(),
383
+ ...CapabilityOptions.officeAddinItems(),
363
384
  ];
364
385
  return capabilityOptions;
365
386
  }
@@ -371,10 +392,18 @@ class CapabilityOptions {
371
392
  ...CapabilityOptions.bots(inputs, true),
372
393
  ...CapabilityOptions.tabs(),
373
394
  ...CapabilityOptions.collectMECaps(),
395
+ ...CapabilityOptions.officeAddinItems(),
374
396
  ];
375
397
  if (featureFlags_1.isApiCopilotPluginEnabled()) {
376
398
  capabilityOptions.push(...CapabilityOptions.copilotPlugins());
377
399
  }
400
+ if (featureFlags_1.isCustomCopilotEnabled()) {
401
+ capabilityOptions.push(...CapabilityOptions.customCopilots());
402
+ }
403
+ if (featureFlags_1.isTdpTemplateCliTestEnabled()) {
404
+ // test templates that are used by TDP integration only
405
+ capabilityOptions.push(...CapabilityOptions.tdpIntegrationCapabilities());
406
+ }
378
407
  return capabilityOptions;
379
408
  }
380
409
  static officeAddinImport() {
@@ -442,6 +471,28 @@ class CapabilityOptions {
442
471
  description: localizeUtils_1.getLocalizedString("core.createProjectQuestion.option.description.preview"),
443
472
  };
444
473
  }
474
+ // custom copilot
475
+ static customCopilotBasic() {
476
+ return {
477
+ id: "custom-copilot-basic",
478
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotBasicOption.label"),
479
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotBasicOption.detail"),
480
+ };
481
+ }
482
+ static customCopilotRag() {
483
+ return {
484
+ id: "custom-copilot-rag",
485
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRagOption.label"),
486
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRagOption.detail"),
487
+ };
488
+ }
489
+ static customCopilotAssistant() {
490
+ return {
491
+ id: "custom-copilot-assistant",
492
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotAssistantOption.label"),
493
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotAssistantOption.detail"),
494
+ };
495
+ }
445
496
  }
446
497
  exports.CapabilityOptions = CapabilityOptions;
447
498
  function capabilityQuestion() {
@@ -460,6 +511,8 @@ function capabilityQuestion() {
460
511
  return localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.outlookAddin.title");
461
512
  case ProjectTypeOptions.copilotPlugin().id:
462
513
  return localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.copilotPlugin.title");
514
+ case ProjectTypeOptions.customCopilot().id:
515
+ return localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.customCopilot.title");
463
516
  default:
464
517
  return localizeUtils_1.getLocalizedString("core.createCapabilityQuestion.titleNew");
465
518
  }
@@ -504,6 +557,9 @@ function capabilityQuestion() {
504
557
  else if (projectType === ProjectTypeOptions.copilotPlugin().id) {
505
558
  return CapabilityOptions.copilotPlugins();
506
559
  }
560
+ else if (projectType === ProjectTypeOptions.customCopilot().id) {
561
+ return CapabilityOptions.customCopilots();
562
+ }
507
563
  else {
508
564
  return CapabilityOptions.all(inputs);
509
565
  }
@@ -512,6 +568,9 @@ function capabilityQuestion() {
512
568
  if (inputs[questionNames_1.QuestionNames.ProjectType] === ProjectTypeOptions.copilotPlugin().id) {
513
569
  return localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.copilotPlugin.placeholder");
514
570
  }
571
+ else if (inputs[questionNames_1.QuestionNames.ProjectType] === ProjectTypeOptions.customCopilot().id) {
572
+ return localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.customCopilot.placeholder");
573
+ }
515
574
  return localizeUtils_1.getLocalizedString("core.createCapabilityQuestion.placeholder");
516
575
  },
517
576
  forgetLastValue: true,
@@ -540,14 +599,14 @@ class MeArchitectureOptions {
540
599
  return {
541
600
  id: "new-api",
542
601
  label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.copilotPluginNewApiOption.label"),
543
- detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.copilotPluginNewApiOption.detail"),
602
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.messageExtensionNewApiOption.detail"),
544
603
  };
545
604
  }
546
605
  static apiSpec() {
547
606
  return {
548
607
  id: "api-spec",
549
608
  label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.copilotPluginApiSpecOption.label"),
550
- detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.copilotPluginApiSpecOption.detail"),
609
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.messageExtensionApiSpecOption.detail"),
551
610
  };
552
611
  }
553
612
  static all() {
@@ -945,7 +1004,7 @@ function programmingLanguageQuestion() {
945
1004
  const programmingLanguageQuestion = {
946
1005
  name: questionNames_1.QuestionNames.ProgrammingLanguage,
947
1006
  cliShortName: "l",
948
- title: "Programming Language",
1007
+ title: localizeUtils_1.getLocalizedString("core.ProgrammingLanguageQuestion.title"),
949
1008
  type: "singleSelect",
950
1009
  staticOptions: [
951
1010
  { id: ProgrammingLanguage.JS, label: "JavaScript" },
@@ -1004,7 +1063,7 @@ function appNameQuestion() {
1004
1063
  type: "text",
1005
1064
  name: questionNames_1.QuestionNames.AppName,
1006
1065
  cliShortName: "n",
1007
- title: "Application name",
1066
+ title: localizeUtils_1.getLocalizedString("core.question.appName.title"),
1008
1067
  required: true,
1009
1068
  default: async (inputs) => {
1010
1069
  var _a, _b;
@@ -1058,7 +1117,7 @@ function appNameQuestion() {
1058
1117
  return undefined;
1059
1118
  },
1060
1119
  },
1061
- placeholder: "Application name",
1120
+ placeholder: localizeUtils_1.getLocalizedString("core.question.appName.placeholder"),
1062
1121
  };
1063
1122
  return question;
1064
1123
  }
@@ -1289,7 +1348,7 @@ function selectBotIdsQuestion() {
1289
1348
  }
1290
1349
  const maximumLengthOfDetailsErrorMessageInInputBox = 90;
1291
1350
  function apiSpecLocationQuestion(includeExistingAPIs = true) {
1292
- const correlationId = correlator_1.Correlator.getId(); // This is a workaround for VSCode which will loose correlation id when user accepts the value.
1351
+ const correlationId = correlator_1.Correlator.getId(); // This is a workaround for VSCode which will lose correlation id when user accepts the value.
1293
1352
  const validationOnAccept = async (input, inputs) => {
1294
1353
  try {
1295
1354
  if (!inputs) {
@@ -1439,17 +1498,36 @@ function apiMessageExtensionAuthQuestion() {
1439
1498
  exports.apiMessageExtensionAuthQuestion = apiMessageExtensionAuthQuestion;
1440
1499
  function apiOperationQuestion(includeExistingAPIs = true) {
1441
1500
  // export for unit test
1501
+ let placeholder = "";
1502
+ const isApiPlugin = (inputs) => {
1503
+ return (!!inputs && inputs[questionNames_1.QuestionNames.Capabilities] === CapabilityOptions.copilotPluginApiSpec().id);
1504
+ };
1442
1505
  return {
1443
1506
  type: "multiSelect",
1444
1507
  name: questionNames_1.QuestionNames.ApiOperation,
1445
- title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.operation.title"),
1508
+ title: (inputs) => {
1509
+ return isApiPlugin(inputs)
1510
+ ? localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.copilotOperation.title")
1511
+ : localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.operation.title");
1512
+ },
1446
1513
  cliDescription: "Select Operation(s) Teams Can Interact with.",
1447
1514
  cliShortName: "o",
1448
- placeholder: includeExistingAPIs
1449
- ? featureFlags_1.isApiKeyEnabled()
1450
- ? localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.operation.apikey.placeholder")
1451
- : localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.operation.placeholder")
1452
- : localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.operation.placeholder.skipExisting"),
1515
+ placeholder: (inputs) => {
1516
+ const isApiPlugin = inputs[questionNames_1.QuestionNames.Capabilities] === CapabilityOptions.copilotPluginApiSpec().id;
1517
+ if (!includeExistingAPIs) {
1518
+ placeholder = localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.operation.placeholder.skipExisting");
1519
+ }
1520
+ else if (isApiPlugin) {
1521
+ placeholder = ""; // TODO: add placeholder for api plugin
1522
+ }
1523
+ else if (featureFlags_1.isApiKeyEnabled()) {
1524
+ placeholder = localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.operation.apikey.placeholder");
1525
+ }
1526
+ else {
1527
+ placeholder = localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.operation.placeholder");
1528
+ }
1529
+ return placeholder;
1530
+ },
1453
1531
  forgetLastValue: true,
1454
1532
  staticOptions: [],
1455
1533
  validation: {
@@ -1487,6 +1565,153 @@ function apiOperationQuestion(includeExistingAPIs = true) {
1487
1565
  };
1488
1566
  }
1489
1567
  exports.apiOperationQuestion = apiOperationQuestion;
1568
+ class CustomCopilotRagOptions {
1569
+ static customize() {
1570
+ return {
1571
+ id: "custom-copilot-rag-customize",
1572
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRagCustomizeOption.label"),
1573
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRagCustomizeOption.detail"),
1574
+ };
1575
+ }
1576
+ static azureAISearch() {
1577
+ return {
1578
+ id: "custom-copilot-rag-azureAISearch",
1579
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRagAzureAISearchOption.label"),
1580
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRagAzureAISearchOption.detail"),
1581
+ };
1582
+ }
1583
+ static customApi() {
1584
+ return {
1585
+ id: "custom-copilot-rag-customApi",
1586
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRagCustomApiOption.label"),
1587
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRagCustomApiOption.detail"),
1588
+ description: localizeUtils_1.getLocalizedString("core.createProjectQuestion.option.description.preview"),
1589
+ };
1590
+ }
1591
+ static microsoft365() {
1592
+ return {
1593
+ id: "custom-copilot-rag-microsoft365",
1594
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRagMicrosoft365Option.label"),
1595
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRagMicrosoft365Option.detail"),
1596
+ };
1597
+ }
1598
+ static all() {
1599
+ return [
1600
+ CustomCopilotRagOptions.customize(),
1601
+ CustomCopilotRagOptions.azureAISearch(),
1602
+ CustomCopilotRagOptions.customApi(),
1603
+ CustomCopilotRagOptions.microsoft365(),
1604
+ ];
1605
+ }
1606
+ }
1607
+ exports.CustomCopilotRagOptions = CustomCopilotRagOptions;
1608
+ class CustomCopilotAssistantOptions {
1609
+ static new() {
1610
+ return {
1611
+ id: "custom-copilot-assistant-new",
1612
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotAssistantNewOption.label"),
1613
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotAssistantNewOption.detail"),
1614
+ };
1615
+ }
1616
+ static assistantsApi() {
1617
+ return {
1618
+ id: "custom-copilot-assistant-assistantsApi",
1619
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotAssistantAssistantsApiOption.label"),
1620
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotAssistantAssistantsApiOption.detail"),
1621
+ description: localizeUtils_1.getLocalizedString("core.createProjectQuestion.option.description.preview"),
1622
+ };
1623
+ }
1624
+ static all() {
1625
+ return [CustomCopilotAssistantOptions.new(), CustomCopilotAssistantOptions.assistantsApi()];
1626
+ }
1627
+ }
1628
+ exports.CustomCopilotAssistantOptions = CustomCopilotAssistantOptions;
1629
+ function customCopilotRagQuestion() {
1630
+ return {
1631
+ type: "singleSelect",
1632
+ name: questionNames_1.QuestionNames.CustomCopilotRag,
1633
+ title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRag.title"),
1634
+ placeholder: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRag.placeholder"),
1635
+ staticOptions: CustomCopilotRagOptions.all(),
1636
+ dynamicOptions: () => CustomCopilotRagOptions.all(),
1637
+ default: CustomCopilotRagOptions.customize().id,
1638
+ };
1639
+ }
1640
+ function customCopilotAssistantQuestion() {
1641
+ return {
1642
+ type: "singleSelect",
1643
+ name: questionNames_1.QuestionNames.CustomCopilotAssistant,
1644
+ title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotAssistant.title"),
1645
+ placeholder: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotAssistant.placeholder"),
1646
+ staticOptions: CustomCopilotAssistantOptions.all(),
1647
+ dynamicOptions: () => CustomCopilotAssistantOptions.all(),
1648
+ default: CustomCopilotAssistantOptions.new().id,
1649
+ };
1650
+ }
1651
+ function llmServiceQuestion() {
1652
+ return {
1653
+ type: "singleSelect",
1654
+ name: questionNames_1.QuestionNames.LLMService,
1655
+ title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmService.title"),
1656
+ placeholder: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmService.placeholder"),
1657
+ staticOptions: [
1658
+ {
1659
+ id: "llm-service-azureOpenAI",
1660
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmServiceAzureOpenAIOption.label"),
1661
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmServiceAzureOpenAIOption.detail"),
1662
+ },
1663
+ {
1664
+ id: "llm-service-openAI",
1665
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmServiceOpenAIOption.label"),
1666
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmServiceOpenAIOption.detail"),
1667
+ },
1668
+ ],
1669
+ dynamicOptions: (inputs) => {
1670
+ const options = [];
1671
+ if (inputs[questionNames_1.QuestionNames.CustomCopilotAssistant] !== "custom-copilot-assistant-assistantsApi") {
1672
+ options.push({
1673
+ id: "llm-service-azureOpenAI",
1674
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmServiceAzureOpenAIOption.label"),
1675
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmServiceAzureOpenAIOption.detail"),
1676
+ });
1677
+ }
1678
+ options.push({
1679
+ id: "llm-service-openAI",
1680
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmServiceOpenAIOption.label"),
1681
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmServiceOpenAIOption.detail"),
1682
+ });
1683
+ return options;
1684
+ },
1685
+ skipSingleOption: true,
1686
+ default: "llm-service-azureOpenAI",
1687
+ };
1688
+ }
1689
+ function openAIKeyQuestion() {
1690
+ return {
1691
+ type: "text",
1692
+ password: true,
1693
+ name: questionNames_1.QuestionNames.OpenAIKey,
1694
+ title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmService.openAIKey.title"),
1695
+ placeholder: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmService.openAIKey.placeholder"),
1696
+ };
1697
+ }
1698
+ function azureOpenAIKeyQuestion() {
1699
+ return {
1700
+ type: "text",
1701
+ password: true,
1702
+ name: questionNames_1.QuestionNames.AzureOpenAIKey,
1703
+ title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmService.azureOpenAIKey.title"),
1704
+ placeholder: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmService.azureOpenAIKey.placeholder"),
1705
+ };
1706
+ }
1707
+ function azureOpenAIEndpointQuestion() {
1708
+ return {
1709
+ type: "text",
1710
+ name: questionNames_1.QuestionNames.AzureOpenAIEndpoint,
1711
+ title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmService.azureOpenAIEndpoint.title"),
1712
+ placeholder: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmService.azureOpenAIEndpoint.placeholder"),
1713
+ };
1714
+ }
1490
1715
  function capabilitySubTree() {
1491
1716
  const node = {
1492
1717
  data: capabilityQuestion(),
@@ -1567,10 +1792,10 @@ function capabilitySubTree() {
1567
1792
  },
1568
1793
  data: apiSpecLocationQuestion(),
1569
1794
  },
1570
- {
1571
- condition: { equals: CapabilityOptions.copilotPluginOpenAIPlugin().id },
1572
- data: openAIPluginManifestLocationQuestion(),
1573
- },
1795
+ // {
1796
+ // condition: { equals: CapabilityOptions.copilotPluginOpenAIPlugin().id },
1797
+ // data: openAIPluginManifestLocationQuestion(),
1798
+ // },
1574
1799
  {
1575
1800
  data: apiOperationQuestion(),
1576
1801
  },
@@ -1584,6 +1809,32 @@ function capabilitySubTree() {
1584
1809
  },
1585
1810
  data: apiMessageExtensionAuthQuestion(),
1586
1811
  },
1812
+ {
1813
+ condition: (inputs) => {
1814
+ return inputs[questionNames_1.QuestionNames.Capabilities] == CapabilityOptions.customCopilotRag().id;
1815
+ },
1816
+ data: customCopilotRagQuestion(),
1817
+ children: [
1818
+ {
1819
+ condition: (inputs) => {
1820
+ return (inputs[questionNames_1.QuestionNames.CustomCopilotRag] === CustomCopilotRagOptions.customApi().id);
1821
+ },
1822
+ data: apiSpecLocationQuestion(),
1823
+ },
1824
+ {
1825
+ condition: (inputs) => {
1826
+ return (inputs[questionNames_1.QuestionNames.CustomCopilotRag] === CustomCopilotRagOptions.customApi().id);
1827
+ },
1828
+ data: apiOperationQuestion(),
1829
+ },
1830
+ ],
1831
+ },
1832
+ {
1833
+ condition: (inputs) => {
1834
+ return (inputs[questionNames_1.QuestionNames.Capabilities] == CapabilityOptions.customCopilotAssistant().id);
1835
+ },
1836
+ data: customCopilotAssistantQuestion(),
1837
+ },
1587
1838
  {
1588
1839
  // programming language
1589
1840
  data: programmingLanguageQuestion(),
@@ -1595,6 +1846,33 @@ function capabilitySubTree() {
1595
1846
  inputs[questionNames_1.QuestionNames.MeArchitectureType] !== MeArchitectureOptions.apiSpec().id);
1596
1847
  },
1597
1848
  },
1849
+ {
1850
+ condition: (inputs) => {
1851
+ return (inputs[questionNames_1.QuestionNames.Capabilities] === CapabilityOptions.customCopilotBasic().id ||
1852
+ inputs[questionNames_1.QuestionNames.Capabilities] === CapabilityOptions.customCopilotRag().id ||
1853
+ inputs[questionNames_1.QuestionNames.Capabilities] === CapabilityOptions.customCopilotAssistant().id);
1854
+ },
1855
+ data: llmServiceQuestion(),
1856
+ children: [
1857
+ {
1858
+ condition: { equals: "llm-service-azureOpenAI" },
1859
+ data: azureOpenAIKeyQuestion(),
1860
+ children: [
1861
+ {
1862
+ condition: (inputs) => {
1863
+ var _a;
1864
+ return ((_a = inputs[questionNames_1.QuestionNames.AzureOpenAIKey]) === null || _a === void 0 ? void 0 : _a.length) > 0;
1865
+ },
1866
+ data: azureOpenAIEndpointQuestion(),
1867
+ },
1868
+ ],
1869
+ },
1870
+ {
1871
+ condition: { equals: "llm-service-openAI" },
1872
+ data: openAIKeyQuestion(),
1873
+ },
1874
+ ],
1875
+ },
1598
1876
  {
1599
1877
  // root folder
1600
1878
  data: folderQuestion(),
@@ -1684,9 +1962,6 @@ function createProjectCliHelpNode() {
1684
1962
  if (!featureFlags_1.isCLIDotNetEnabled()) {
1685
1963
  deleteNames.push(questionNames_1.QuestionNames.Runtime);
1686
1964
  }
1687
- if (!featureFlags_1.isApiCopilotPluginEnabled()) {
1688
- deleteNames.push(questionNames_1.QuestionNames.CopilotPluginExistingApi);
1689
- }
1690
1965
  trimQuestionTreeForCliHelp(node, deleteNames);
1691
1966
  return node;
1692
1967
  }