@microsoft/teamsfx-core 2.0.7-alpha.409a3da2f.0 → 2.0.7-alpha.48b9eab36.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 (266) hide show
  1. package/build/common/constants.d.ts +5 -1
  2. package/build/common/constants.d.ts.map +1 -1
  3. package/build/common/constants.js +5 -1
  4. package/build/common/constants.js.map +1 -1
  5. package/build/common/featureFlags.d.ts +3 -0
  6. package/build/common/featureFlags.d.ts.map +1 -1
  7. package/build/common/featureFlags.js +14 -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 +63 -8
  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/errors.d.ts +4 -0
  88. package/build/component/driver/teamsApp/errors.d.ts.map +1 -1
  89. package/build/component/driver/teamsApp/errors.js +7 -0
  90. package/build/component/driver/teamsApp/errors.js.map +1 -1
  91. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationDetailsResponse.d.ts +21 -0
  92. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationDetailsResponse.d.ts.map +1 -0
  93. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationDetailsResponse.js +5 -0
  94. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationDetailsResponse.js.map +1 -0
  95. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResponse.d.ts +17 -0
  96. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResponse.d.ts.map +1 -0
  97. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResponse.js +16 -0
  98. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResponse.js.map +1 -0
  99. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResultsResponse.d.ts +41 -0
  100. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResultsResponse.d.ts.map +1 -0
  101. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResultsResponse.js +5 -0
  102. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResultsResponse.js.map +1 -0
  103. package/build/component/driver/teamsApp/publishAppPackage.d.ts.map +1 -1
  104. package/build/component/driver/teamsApp/publishAppPackage.js +3 -5
  105. package/build/component/driver/teamsApp/publishAppPackage.js.map +1 -1
  106. package/build/component/driver/teamsApp/utils/ManifestUtils.d.ts +1 -0
  107. package/build/component/driver/teamsApp/utils/ManifestUtils.d.ts.map +1 -1
  108. package/build/component/driver/teamsApp/utils/ManifestUtils.js +17 -0
  109. package/build/component/driver/teamsApp/utils/ManifestUtils.js.map +1 -1
  110. package/build/component/driver/teamsApp/utils/PluginManifestUtils.d.ts +8 -0
  111. package/build/component/driver/teamsApp/utils/PluginManifestUtils.d.ts.map +1 -0
  112. package/build/component/driver/teamsApp/utils/PluginManifestUtils.js +63 -0
  113. package/build/component/driver/teamsApp/utils/PluginManifestUtils.js.map +1 -0
  114. package/build/component/driver/teamsApp/utils/telemetry.d.ts +0 -31
  115. package/build/component/driver/teamsApp/utils/telemetry.d.ts.map +1 -1
  116. package/build/component/driver/teamsApp/utils/telemetry.js +1 -53
  117. package/build/component/driver/teamsApp/utils/telemetry.js.map +1 -1
  118. package/build/component/driver/teamsApp/validate.d.ts.map +1 -1
  119. package/build/component/driver/teamsApp/validate.js +0 -1
  120. package/build/component/driver/teamsApp/validate.js.map +1 -1
  121. package/build/component/driver/teamsApp/validateAppPackage.d.ts.map +1 -1
  122. package/build/component/driver/teamsApp/validateAppPackage.js +0 -1
  123. package/build/component/driver/teamsApp/validateAppPackage.js.map +1 -1
  124. package/build/component/feature/collaboration.d.ts +1 -1
  125. package/build/component/feature/collaboration.d.ts.map +1 -1
  126. package/build/component/feature/collaboration.js +2 -4
  127. package/build/component/feature/collaboration.js.map +1 -1
  128. package/build/component/generator/copilotPlugin/generator.d.ts +4 -2
  129. package/build/component/generator/copilotPlugin/generator.d.ts.map +1 -1
  130. package/build/component/generator/copilotPlugin/generator.js +50 -18
  131. package/build/component/generator/copilotPlugin/generator.js.map +1 -1
  132. package/build/component/generator/copilotPlugin/helper.d.ts +5 -3
  133. package/build/component/generator/copilotPlugin/helper.d.ts.map +1 -1
  134. package/build/component/generator/copilotPlugin/helper.js +67 -25
  135. package/build/component/generator/copilotPlugin/helper.js.map +1 -1
  136. package/build/component/generator/error.d.ts +1 -1
  137. package/build/component/generator/error.d.ts.map +1 -1
  138. package/build/component/generator/error.js +4 -4
  139. package/build/component/generator/error.js.map +1 -1
  140. package/build/component/generator/generator.d.ts +5 -0
  141. package/build/component/generator/generator.d.ts.map +1 -1
  142. package/build/component/generator/generator.js +28 -26
  143. package/build/component/generator/generator.js.map +1 -1
  144. package/build/component/generator/generatorAction.d.ts +5 -16
  145. package/build/component/generator/generatorAction.d.ts.map +1 -1
  146. package/build/component/generator/generatorAction.js +46 -87
  147. package/build/component/generator/generatorAction.js.map +1 -1
  148. package/build/component/generator/officeAddin/config/projectProperties.d.ts +1 -0
  149. package/build/component/generator/officeAddin/config/projectProperties.d.ts.map +1 -1
  150. package/build/component/generator/officeAddin/config/projectProperties.js +1 -0
  151. package/build/component/generator/officeAddin/config/projectProperties.js.map +1 -1
  152. package/build/component/generator/officeAddin/config/projectsJsonData.d.ts +1 -4
  153. package/build/component/generator/officeAddin/config/projectsJsonData.d.ts.map +1 -1
  154. package/build/component/generator/officeAddin/config/projectsJsonData.js +4 -11
  155. package/build/component/generator/officeAddin/config/projectsJsonData.js.map +1 -1
  156. package/build/component/generator/officeAddin/generator.d.ts.map +1 -1
  157. package/build/component/generator/officeAddin/generator.js +13 -7
  158. package/build/component/generator/officeAddin/generator.js.map +1 -1
  159. package/build/component/generator/officeAddin/helperMethods.d.ts +2 -1
  160. package/build/component/generator/officeAddin/helperMethods.d.ts.map +1 -1
  161. package/build/component/generator/officeAddin/helperMethods.js +21 -10
  162. package/build/component/generator/officeAddin/helperMethods.js.map +1 -1
  163. package/build/component/generator/officeXMLAddin/generator.d.ts +9 -0
  164. package/build/component/generator/officeXMLAddin/generator.d.ts.map +1 -0
  165. package/build/component/generator/officeXMLAddin/generator.js +90 -0
  166. package/build/component/generator/officeXMLAddin/generator.js.map +1 -0
  167. package/build/component/generator/officeXMLAddin/projectConfig.d.ts +36 -0
  168. package/build/component/generator/officeXMLAddin/projectConfig.d.ts.map +1 -0
  169. package/build/component/generator/officeXMLAddin/projectConfig.js +127 -0
  170. package/build/component/generator/officeXMLAddin/projectConfig.js.map +1 -0
  171. package/build/component/generator/utils.d.ts +2 -1
  172. package/build/component/generator/utils.d.ts.map +1 -1
  173. package/build/component/generator/utils.js +32 -16
  174. package/build/component/generator/utils.js.map +1 -1
  175. package/build/component/resource/botService/appStudio/appStudioClient.d.ts.map +1 -1
  176. package/build/component/resource/botService/appStudio/appStudioClient.js +11 -39
  177. package/build/component/resource/botService/appStudio/appStudioClient.js.map +1 -1
  178. package/build/core/FxCore.d.ts.map +1 -1
  179. package/build/core/FxCore.js +21 -12
  180. package/build/core/FxCore.js.map +1 -1
  181. package/build/core/collaborator.js +3 -3
  182. package/build/core/collaborator.js.map +1 -1
  183. package/build/core/middleware/projectMigratorV3.d.ts.map +1 -1
  184. package/build/core/middleware/projectMigratorV3.js +6 -1
  185. package/build/core/middleware/projectMigratorV3.js.map +1 -1
  186. package/build/error/arm.d.ts.map +1 -1
  187. package/build/error/arm.js +0 -2
  188. package/build/error/arm.js.map +1 -1
  189. package/build/error/common.d.ts.map +1 -1
  190. package/build/error/common.js +1 -1
  191. package/build/error/common.js.map +1 -1
  192. package/build/error/deploy.d.ts.map +1 -1
  193. package/build/error/deploy.js +17 -6
  194. package/build/error/deploy.js.map +1 -1
  195. package/build/index.d.ts +0 -1
  196. package/build/index.d.ts.map +1 -1
  197. package/build/index.js +1 -3
  198. package/build/index.js.map +1 -1
  199. package/build/question/create.d.ts +25 -0
  200. package/build/question/create.d.ts.map +1 -1
  201. package/build/question/create.js +420 -46
  202. package/build/question/create.js.map +1 -1
  203. package/build/question/inputs/CreateProjectInputs.d.ts +19 -5
  204. package/build/question/inputs/CreateProjectInputs.d.ts.map +1 -1
  205. package/build/question/options/CreateProjectOptions.d.ts.map +1 -1
  206. package/build/question/options/CreateProjectOptions.js +61 -8
  207. package/build/question/options/CreateProjectOptions.js.map +1 -1
  208. package/build/question/questionNames.d.ts +10 -1
  209. package/build/question/questionNames.d.ts.map +1 -1
  210. package/build/question/questionNames.js +9 -0
  211. package/build/question/questionNames.js.map +1 -1
  212. package/package.json +8 -8
  213. package/resource/package.nls.json +157 -77
  214. package/templates/fallback/common.zip +0 -0
  215. package/templates/fallback/csharp.zip +0 -0
  216. package/templates/fallback/js.zip +0 -0
  217. package/templates/fallback/ts.zip +0 -0
  218. package/templates/plugins/resource/aad/auth/V3/Enable SSO.txt +1 -1
  219. package/build/common/spec-parser/adaptiveCardGenerator.d.ts +0 -7
  220. package/build/common/spec-parser/adaptiveCardGenerator.d.ts.map +0 -1
  221. package/build/common/spec-parser/adaptiveCardGenerator.js +0 -168
  222. package/build/common/spec-parser/adaptiveCardGenerator.js.map +0 -1
  223. package/build/common/spec-parser/adaptiveCardWrapper.d.ts +0 -15
  224. package/build/common/spec-parser/adaptiveCardWrapper.d.ts.map +0 -1
  225. package/build/common/spec-parser/adaptiveCardWrapper.js +0 -98
  226. package/build/common/spec-parser/adaptiveCardWrapper.js.map +0 -1
  227. package/build/common/spec-parser/constants.d.ts +0 -41
  228. package/build/common/spec-parser/constants.d.ts.map +0 -1
  229. package/build/common/spec-parser/constants.js +0 -95
  230. package/build/common/spec-parser/constants.js.map +0 -1
  231. package/build/common/spec-parser/index.browser.d.ts +0 -6
  232. package/build/common/spec-parser/index.browser.d.ts.map +0 -1
  233. package/build/common/spec-parser/index.browser.js +0 -16
  234. package/build/common/spec-parser/index.browser.js.map +0 -1
  235. package/build/common/spec-parser/index.d.ts +0 -5
  236. package/build/common/spec-parser/index.d.ts.map +0 -1
  237. package/build/common/spec-parser/index.js +0 -16
  238. package/build/common/spec-parser/index.js.map +0 -1
  239. package/build/common/spec-parser/interfaces.d.ts +0 -180
  240. package/build/common/spec-parser/interfaces.d.ts.map +0 -1
  241. package/build/common/spec-parser/interfaces.js +0 -51
  242. package/build/common/spec-parser/interfaces.js.map +0 -1
  243. package/build/common/spec-parser/manifestUpdater.d.ts +0 -7
  244. package/build/common/spec-parser/manifestUpdater.d.ts.map +0 -1
  245. package/build/common/spec-parser/manifestUpdater.js +0 -98
  246. package/build/common/spec-parser/manifestUpdater.js.map +0 -1
  247. package/build/common/spec-parser/specFilter.d.ts +0 -3
  248. package/build/common/spec-parser/specFilter.d.ts.map +0 -1
  249. package/build/common/spec-parser/specFilter.js +0 -40
  250. package/build/common/spec-parser/specFilter.js.map +0 -1
  251. package/build/common/spec-parser/specParser.browser.d.ts +0 -46
  252. package/build/common/spec-parser/specParser.browser.d.ts.map +0 -1
  253. package/build/common/spec-parser/specParser.browser.js +0 -139
  254. package/build/common/spec-parser/specParser.browser.js.map +0 -1
  255. package/build/common/spec-parser/specParser.d.ts +0 -46
  256. package/build/common/spec-parser/specParser.d.ts.map +0 -1
  257. package/build/common/spec-parser/specParser.js +0 -244
  258. package/build/common/spec-parser/specParser.js.map +0 -1
  259. package/build/common/spec-parser/specParserError.d.ts +0 -6
  260. package/build/common/spec-parser/specParserError.d.ts.map +0 -1
  261. package/build/common/spec-parser/specParserError.js +0 -13
  262. package/build/common/spec-parser/specParserError.js.map +0 -1
  263. package/build/common/spec-parser/utils.d.ts +0 -43
  264. package/build/common/spec-parser/utils.d.ts.map +0 -1
  265. package/build/common/spec-parser/utils.js +0 -587
  266. 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.OfficeAddinCapabilityOptions = 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"));
@@ -29,6 +29,7 @@ const questionNames_1 = require("./questionNames");
29
29
  const util_1 = require("./util");
30
30
  const constants_3 = require("./constants");
31
31
  const correlator_1 = require("../common/correlator");
32
+ const projectConfig_1 = require("../component/generator/officeXMLAddin/projectConfig");
32
33
  class ScratchOptions {
33
34
  static yes() {
34
35
  return {
@@ -80,13 +81,27 @@ class ProjectTypeOptions {
80
81
  detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.outlookAddin.detail"),
81
82
  };
82
83
  }
84
+ static officeAddin(platform) {
85
+ return {
86
+ id: "office-addin-type",
87
+ label: `${platform === teamsfx_api_1.Platform.VSCode ? "$(inbox) " : ""}${localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.mainEntry.title")}`,
88
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.mainEntry.detail"),
89
+ };
90
+ }
83
91
  static copilotPlugin(platform) {
84
92
  return {
85
93
  id: "copilot-plugin-type",
86
- label: `${platform === teamsfx_api_1.Platform.VSCode ? "$(sparkle) " : ""}${localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.copilotPlugin.label")}`,
94
+ label: `${platform === teamsfx_api_1.Platform.VSCode ? "$(teamsfx-copilot-plugin) " : ""}${localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.copilotPlugin.label")}`,
87
95
  detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.copilotPlugin.detail"),
88
96
  };
89
97
  }
98
+ static customCopilot(platform) {
99
+ return {
100
+ id: "custom-copilot-type",
101
+ label: `${platform === teamsfx_api_1.Platform.VSCode ? "$(teamsfx-custom-copilot) " : ""}${localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.customCopilot.label")}`,
102
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.customCopilot.detail"),
103
+ };
104
+ }
90
105
  }
91
106
  exports.ProjectTypeOptions = ProjectTypeOptions;
92
107
  function projectTypeQuestion() {
@@ -94,7 +109,9 @@ function projectTypeQuestion() {
94
109
  ProjectTypeOptions.bot(teamsfx_api_1.Platform.CLI),
95
110
  ProjectTypeOptions.tab(teamsfx_api_1.Platform.CLI),
96
111
  ProjectTypeOptions.me(teamsfx_api_1.Platform.CLI),
97
- ProjectTypeOptions.outlookAddin(teamsfx_api_1.Platform.CLI),
112
+ featureFlags_1.isOfficeXMLAddinEnabled()
113
+ ? ProjectTypeOptions.officeAddin(teamsfx_api_1.Platform.CLI)
114
+ : ProjectTypeOptions.outlookAddin(teamsfx_api_1.Platform.CLI),
98
115
  ];
99
116
  return {
100
117
  name: questionNames_1.QuestionNames.ProjectType,
@@ -103,22 +120,14 @@ function projectTypeQuestion() {
103
120
  staticOptions: staticOptions,
104
121
  dynamicOptions: (inputs) => {
105
122
  var _a;
106
- let staticOptions;
123
+ const staticOptions = [];
107
124
  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
- ];
125
+ staticOptions.push(ProjectTypeOptions.copilotPlugin(inputs.platform));
114
126
  }
115
- else {
116
- staticOptions = [
117
- ProjectTypeOptions.bot(inputs.platform),
118
- ProjectTypeOptions.tab(inputs.platform),
119
- ProjectTypeOptions.me(inputs.platform),
120
- ];
127
+ if (featureFlags_1.isCustomCopilotEnabled()) {
128
+ staticOptions.push(ProjectTypeOptions.customCopilot(inputs.platform));
121
129
  }
130
+ staticOptions.push(ProjectTypeOptions.bot(inputs.platform), ProjectTypeOptions.tab(inputs.platform), ProjectTypeOptions.me(inputs.platform));
122
131
  if (developerPortalScaffoldUtils_1.isFromDevPortal(inputs)) {
123
132
  const projectType = (_a = developerPortalScaffoldUtils_1.getProjectTypeAndCapability(inputs.teamsAppFromTdp)) === null || _a === void 0 ? void 0 : _a.projectType;
124
133
  if (projectType) {
@@ -126,7 +135,9 @@ function projectTypeQuestion() {
126
135
  }
127
136
  }
128
137
  else {
129
- staticOptions.push(ProjectTypeOptions.outlookAddin(inputs.platform));
138
+ staticOptions.push(featureFlags_1.isOfficeXMLAddinEnabled()
139
+ ? ProjectTypeOptions.officeAddin(inputs.platform)
140
+ : ProjectTypeOptions.outlookAddin(inputs.platform));
130
141
  }
131
142
  return staticOptions;
132
143
  },
@@ -135,6 +146,30 @@ function projectTypeQuestion() {
135
146
  skipSingleOption: true,
136
147
  };
137
148
  }
149
+ class OfficeAddinCapabilityOptions {
150
+ static word() {
151
+ return {
152
+ id: "word",
153
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.word.title"),
154
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.word.detail"),
155
+ };
156
+ }
157
+ static excel() {
158
+ return {
159
+ id: "excel",
160
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.excel.title"),
161
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.excel.detail"),
162
+ };
163
+ }
164
+ static powerpoint() {
165
+ return {
166
+ id: "powerpoint",
167
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.powerpoint.title"),
168
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.powerpoint.detail"),
169
+ };
170
+ }
171
+ }
172
+ exports.OfficeAddinCapabilityOptions = OfficeAddinCapabilityOptions;
138
173
  class CapabilityOptions {
139
174
  // bot
140
175
  static basicBot() {
@@ -311,13 +346,17 @@ class CapabilityOptions {
311
346
  ];
312
347
  }
313
348
  static dotnetCaps(inputs) {
314
- return [
349
+ const capabilities = [
315
350
  ...CapabilityOptions.copilotPlugins(),
316
351
  ...CapabilityOptions.bots(inputs, true),
317
352
  CapabilityOptions.nonSsoTab(),
318
353
  CapabilityOptions.tab(),
319
354
  ...CapabilityOptions.collectMECaps(),
320
355
  ];
356
+ if (featureFlags_1.isTdpTemplateCliTestEnabled()) {
357
+ capabilities.push(CapabilityOptions.me());
358
+ }
359
+ return capabilities;
321
360
  }
322
361
  /**
323
362
  * Collect all capabilities for message extension, including dotnet and nodejs.
@@ -348,7 +387,22 @@ class CapabilityOptions {
348
387
  return [
349
388
  CapabilityOptions.copilotPluginNewApi(),
350
389
  CapabilityOptions.copilotPluginApiSpec(),
351
- CapabilityOptions.copilotPluginOpenAIPlugin(),
390
+ // CapabilityOptions.copilotPluginOpenAIPlugin(),
391
+ ];
392
+ }
393
+ static customCopilots() {
394
+ return [
395
+ CapabilityOptions.customCopilotBasic(),
396
+ CapabilityOptions.customCopilotRag(),
397
+ CapabilityOptions.customCopilotAssistant(),
398
+ ];
399
+ }
400
+ static tdpIntegrationCapabilities() {
401
+ // templates that are used by TDP integration only
402
+ return [
403
+ CapabilityOptions.me(),
404
+ CapabilityOptions.botAndMe(),
405
+ CapabilityOptions.nonSsoTabAndBot(),
352
406
  ];
353
407
  }
354
408
  /**
@@ -360,7 +414,19 @@ class CapabilityOptions {
360
414
  ...CapabilityOptions.tabs(),
361
415
  ...CapabilityOptions.collectMECaps(),
362
416
  ...CapabilityOptions.copilotPlugins(),
417
+ ...CapabilityOptions.customCopilots(),
418
+ ...CapabilityOptions.tdpIntegrationCapabilities(),
363
419
  ];
420
+ if (featureFlags_1.isOfficeXMLAddinEnabled()) {
421
+ capabilityOptions.push(...[
422
+ ...CapabilityOptions.officeXMLAddinHostOptionItems(OfficeAddinCapabilityOptions.word().id),
423
+ ...CapabilityOptions.officeXMLAddinHostOptionItems(OfficeAddinCapabilityOptions.excel().id),
424
+ ...CapabilityOptions.officeXMLAddinHostOptionItems(OfficeAddinCapabilityOptions.powerpoint().id),
425
+ ]);
426
+ }
427
+ else {
428
+ capabilityOptions.push(...CapabilityOptions.officeAddinItems());
429
+ }
364
430
  return capabilityOptions;
365
431
  }
366
432
  /**
@@ -371,10 +437,18 @@ class CapabilityOptions {
371
437
  ...CapabilityOptions.bots(inputs, true),
372
438
  ...CapabilityOptions.tabs(),
373
439
  ...CapabilityOptions.collectMECaps(),
440
+ ...CapabilityOptions.officeAddinItems(),
374
441
  ];
375
442
  if (featureFlags_1.isApiCopilotPluginEnabled()) {
376
443
  capabilityOptions.push(...CapabilityOptions.copilotPlugins());
377
444
  }
445
+ if (featureFlags_1.isCustomCopilotEnabled()) {
446
+ capabilityOptions.push(...CapabilityOptions.customCopilots());
447
+ }
448
+ if (featureFlags_1.isTdpTemplateCliTestEnabled()) {
449
+ // test templates that are used by TDP integration only
450
+ capabilityOptions.push(...CapabilityOptions.tdpIntegrationCapabilities());
451
+ }
378
452
  return capabilityOptions;
379
453
  }
380
454
  static officeAddinImport() {
@@ -385,6 +459,13 @@ class CapabilityOptions {
385
459
  description: localizeUtils_1.getLocalizedString("core.createProjectQuestion.option.description.previewOnWindow"),
386
460
  };
387
461
  }
462
+ static officeXMLAddinHostOptionItems(host) {
463
+ return projectConfig_1.getOfficeXMLAddinHostProjectOptions(host).map((x) => ({
464
+ id: x.proj,
465
+ label: localizeUtils_1.getLocalizedString(x.title),
466
+ detail: localizeUtils_1.getLocalizedString(x.detail),
467
+ }));
468
+ }
388
469
  static officeAddinItems() {
389
470
  return officeAddinJsonData.getProjectTemplateNames().map((template) => ({
390
471
  id: template,
@@ -442,12 +523,47 @@ class CapabilityOptions {
442
523
  description: localizeUtils_1.getLocalizedString("core.createProjectQuestion.option.description.preview"),
443
524
  };
444
525
  }
526
+ // custom copilot
527
+ static customCopilotBasic() {
528
+ return {
529
+ id: "custom-copilot-basic",
530
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotBasicOption.label"),
531
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotBasicOption.detail"),
532
+ };
533
+ }
534
+ static customCopilotRag() {
535
+ return {
536
+ id: "custom-copilot-rag",
537
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRagOption.label"),
538
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRagOption.detail"),
539
+ };
540
+ }
541
+ static customCopilotAssistant() {
542
+ return {
543
+ id: "custom-copilot-assistant",
544
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotAssistantOption.label"),
545
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotAssistantOption.detail"),
546
+ };
547
+ }
445
548
  }
446
549
  exports.CapabilityOptions = CapabilityOptions;
447
550
  function capabilityQuestion() {
448
551
  return {
449
552
  name: questionNames_1.QuestionNames.Capabilities,
450
553
  title: (inputs) => {
554
+ // Office Add-in Capability
555
+ if (featureFlags_1.isOfficeXMLAddinEnabled()) {
556
+ switch (inputs[questionNames_1.QuestionNames.OfficeAddinCapability]) {
557
+ case ProjectTypeOptions.outlookAddin().id:
558
+ return localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.outlookAddin.title");
559
+ case OfficeAddinCapabilityOptions.word().id:
560
+ return localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.word.create.title");
561
+ case OfficeAddinCapabilityOptions.excel().id:
562
+ return localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.excel.create.title");
563
+ case OfficeAddinCapabilityOptions.powerpoint().id:
564
+ return localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.powerpoint.create.title");
565
+ }
566
+ }
451
567
  const projectType = inputs[questionNames_1.QuestionNames.ProjectType];
452
568
  switch (projectType) {
453
569
  case ProjectTypeOptions.bot().id:
@@ -460,6 +576,8 @@ function capabilityQuestion() {
460
576
  return localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.outlookAddin.title");
461
577
  case ProjectTypeOptions.copilotPlugin().id:
462
578
  return localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.copilotPlugin.title");
579
+ case ProjectTypeOptions.customCopilot().id:
580
+ return localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.customCopilot.title");
463
581
  default:
464
582
  return localizeUtils_1.getLocalizedString("core.createCapabilityQuestion.titleNew");
465
583
  }
@@ -489,6 +607,7 @@ function capabilityQuestion() {
489
607
  }
490
608
  // nodejs capabilities
491
609
  const projectType = inputs[questionNames_1.QuestionNames.ProjectType];
610
+ const officeHost = inputs[questionNames_1.QuestionNames.OfficeAddinCapability];
492
611
  if (projectType === ProjectTypeOptions.bot().id) {
493
612
  return CapabilityOptions.bots(inputs, true);
494
613
  }
@@ -498,12 +617,21 @@ function capabilityQuestion() {
498
617
  else if (projectType === ProjectTypeOptions.me().id) {
499
618
  return CapabilityOptions.mes();
500
619
  }
501
- else if (projectType === ProjectTypeOptions.outlookAddin().id) {
620
+ else if ((!featureFlags_1.isOfficeXMLAddinEnabled() && projectType === ProjectTypeOptions.outlookAddin().id) ||
621
+ (featureFlags_1.isOfficeXMLAddinEnabled() &&
622
+ projectType === ProjectTypeOptions.officeAddin().id &&
623
+ officeHost === ProjectTypeOptions.outlookAddin().id)) {
502
624
  return [...CapabilityOptions.officeAddinItems(), CapabilityOptions.officeAddinImport()];
503
625
  }
626
+ else if (featureFlags_1.isOfficeXMLAddinEnabled() && projectType === ProjectTypeOptions.officeAddin().id) {
627
+ return CapabilityOptions.officeXMLAddinHostOptionItems(officeHost);
628
+ }
504
629
  else if (projectType === ProjectTypeOptions.copilotPlugin().id) {
505
630
  return CapabilityOptions.copilotPlugins();
506
631
  }
632
+ else if (projectType === ProjectTypeOptions.customCopilot().id) {
633
+ return CapabilityOptions.customCopilots();
634
+ }
507
635
  else {
508
636
  return CapabilityOptions.all(inputs);
509
637
  }
@@ -512,6 +640,9 @@ function capabilityQuestion() {
512
640
  if (inputs[questionNames_1.QuestionNames.ProjectType] === ProjectTypeOptions.copilotPlugin().id) {
513
641
  return localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.copilotPlugin.placeholder");
514
642
  }
643
+ else if (inputs[questionNames_1.QuestionNames.ProjectType] === ProjectTypeOptions.customCopilot().id) {
644
+ return localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.customCopilot.placeholder");
645
+ }
515
646
  return localizeUtils_1.getLocalizedString("core.createCapabilityQuestion.placeholder");
516
647
  },
517
648
  forgetLastValue: true,
@@ -540,14 +671,14 @@ class MeArchitectureOptions {
540
671
  return {
541
672
  id: "new-api",
542
673
  label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.copilotPluginNewApiOption.label"),
543
- detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.copilotPluginNewApiOption.detail"),
674
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.messageExtensionNewApiOption.detail"),
544
675
  };
545
676
  }
546
677
  static apiSpec() {
547
678
  return {
548
679
  id: "api-spec",
549
680
  label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.copilotPluginApiSpecOption.label"),
550
- detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.copilotPluginApiSpecOption.detail"),
681
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.messageExtensionApiSpecOption.detail"),
551
682
  };
552
683
  }
553
684
  static all() {
@@ -917,12 +1048,22 @@ function getLanguageOptions(inputs) {
917
1048
  }
918
1049
  // office addin supports language defined in officeAddinJsonData
919
1050
  const projectType = inputs[questionNames_1.QuestionNames.ProjectType];
920
- if (projectType === ProjectTypeOptions.outlookAddin().id) {
1051
+ const officeHost = inputs[questionNames_1.QuestionNames.OfficeAddinCapability];
1052
+ if ((!featureFlags_1.isOfficeXMLAddinEnabled() && projectType === ProjectTypeOptions.outlookAddin().id) ||
1053
+ (featureFlags_1.isOfficeXMLAddinEnabled() &&
1054
+ projectType === ProjectTypeOptions.officeAddin().id &&
1055
+ officeHost === ProjectTypeOptions.outlookAddin().id)) {
921
1056
  const template = exports.getTemplate(inputs);
922
1057
  const supportedTypes = officeAddinJsonData.getSupportedScriptTypes(template);
923
1058
  const options = supportedTypes.map((language) => ({ label: language, id: language }));
924
1059
  return options.length > 0 ? options : [{ label: "No Options", id: "No Options" }];
925
1060
  }
1061
+ if (featureFlags_1.isOfficeXMLAddinEnabled() && projectType === ProjectTypeOptions.officeAddin().id) {
1062
+ const officeProject = inputs[questionNames_1.QuestionNames.Capabilities];
1063
+ return officeProject !== "manifest"
1064
+ ? projectConfig_1.getOfficeXMLAddinHostProjectLangOptions(officeHost, officeProject)
1065
+ : [{ id: "javascript", label: "JavaScript" }];
1066
+ }
926
1067
  const capabilities = inputs[questionNames_1.QuestionNames.Capabilities];
927
1068
  // SPFx only supports typescript
928
1069
  if (capabilities === CapabilityOptions.SPFxTab().id) {
@@ -945,7 +1086,7 @@ function programmingLanguageQuestion() {
945
1086
  const programmingLanguageQuestion = {
946
1087
  name: questionNames_1.QuestionNames.ProgrammingLanguage,
947
1088
  cliShortName: "l",
948
- title: "Programming Language",
1089
+ title: localizeUtils_1.getLocalizedString("core.ProgrammingLanguageQuestion.title"),
949
1090
  type: "singleSelect",
950
1091
  staticOptions: [
951
1092
  { id: ProgrammingLanguage.JS, label: "JavaScript" },
@@ -1004,7 +1145,7 @@ function appNameQuestion() {
1004
1145
  type: "text",
1005
1146
  name: questionNames_1.QuestionNames.AppName,
1006
1147
  cliShortName: "n",
1007
- title: "Application name",
1148
+ title: localizeUtils_1.getLocalizedString("core.question.appName.title"),
1008
1149
  required: true,
1009
1150
  default: async (inputs) => {
1010
1151
  var _a, _b;
@@ -1058,7 +1199,7 @@ function appNameQuestion() {
1058
1199
  return undefined;
1059
1200
  },
1060
1201
  },
1061
- placeholder: "Application name",
1202
+ placeholder: localizeUtils_1.getLocalizedString("core.question.appName.placeholder"),
1062
1203
  };
1063
1204
  return question;
1064
1205
  }
@@ -1289,14 +1430,14 @@ function selectBotIdsQuestion() {
1289
1430
  }
1290
1431
  const maximumLengthOfDetailsErrorMessageInInputBox = 90;
1291
1432
  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.
1433
+ const correlationId = correlator_1.Correlator.getId(); // This is a workaround for VSCode which will lose correlation id when user accepts the value.
1293
1434
  const validationOnAccept = async (input, inputs) => {
1294
1435
  try {
1295
1436
  if (!inputs) {
1296
1437
  throw new Error("inputs is undefined"); // should never happen
1297
1438
  }
1298
1439
  const context = utils_4.createContextV3();
1299
- const res = await helper_1.listOperations(context, undefined, input.trim(), inputs[questionNames_1.QuestionNames.ManifestPath], includeExistingAPIs, false, inputs.platform === teamsfx_api_1.Platform.VSCode ? correlationId : undefined);
1440
+ const res = await helper_1.listOperations(context, undefined, input.trim(), inputs, includeExistingAPIs, false, inputs.platform === teamsfx_api_1.Platform.VSCode ? correlationId : undefined);
1300
1441
  if (res.isOk()) {
1301
1442
  inputs.supportedApisFromApiSpec = res.value;
1302
1443
  }
@@ -1363,7 +1504,7 @@ function apiSpecLocationQuestion(includeExistingAPIs = true) {
1363
1504
  exports.apiSpecLocationQuestion = apiSpecLocationQuestion;
1364
1505
  function openAIPluginManifestLocationQuestion() {
1365
1506
  // export for unit test
1366
- const correlationId = correlator_1.Correlator.getId(); // This is a workaround for VSCode which will loose correlation id when user accepts the value.
1507
+ const correlationId = correlator_1.Correlator.getId(); // This is a workaround for VSCode which will lose correlation id when user accepts the value.
1367
1508
  return {
1368
1509
  type: "text",
1369
1510
  name: questionNames_1.QuestionNames.OpenAIPluginManifest,
@@ -1398,7 +1539,7 @@ function openAIPluginManifestLocationQuestion() {
1398
1539
  }
1399
1540
  const context = utils_4.createContextV3();
1400
1541
  try {
1401
- const res = await helper_1.listOperations(context, manifest, inputs[questionNames_1.QuestionNames.ApiSpecLocation], undefined, true, true, inputs.platform === teamsfx_api_1.Platform.VSCode ? correlationId : undefined);
1542
+ const res = await helper_1.listOperations(context, manifest, inputs[questionNames_1.QuestionNames.ApiSpecLocation], inputs, true, true, inputs.platform === teamsfx_api_1.Platform.VSCode ? correlationId : undefined);
1402
1543
  if (res.isOk()) {
1403
1544
  inputs.supportedApisFromApiSpec = res.value;
1404
1545
  }
@@ -1439,17 +1580,36 @@ function apiMessageExtensionAuthQuestion() {
1439
1580
  exports.apiMessageExtensionAuthQuestion = apiMessageExtensionAuthQuestion;
1440
1581
  function apiOperationQuestion(includeExistingAPIs = true) {
1441
1582
  // export for unit test
1583
+ let placeholder = "";
1584
+ const isApiPlugin = (inputs) => {
1585
+ return (!!inputs && inputs[questionNames_1.QuestionNames.Capabilities] === CapabilityOptions.copilotPluginApiSpec().id);
1586
+ };
1442
1587
  return {
1443
1588
  type: "multiSelect",
1444
1589
  name: questionNames_1.QuestionNames.ApiOperation,
1445
- title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.operation.title"),
1590
+ title: (inputs) => {
1591
+ return isApiPlugin(inputs)
1592
+ ? localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.copilotOperation.title")
1593
+ : localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.operation.title");
1594
+ },
1446
1595
  cliDescription: "Select Operation(s) Teams Can Interact with.",
1447
1596
  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"),
1597
+ placeholder: (inputs) => {
1598
+ const isApiPlugin = inputs[questionNames_1.QuestionNames.Capabilities] === CapabilityOptions.copilotPluginApiSpec().id;
1599
+ if (!includeExistingAPIs) {
1600
+ placeholder = localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.operation.placeholder.skipExisting");
1601
+ }
1602
+ else if (isApiPlugin) {
1603
+ placeholder = ""; // TODO: add placeholder for api plugin
1604
+ }
1605
+ else if (featureFlags_1.isApiKeyEnabled()) {
1606
+ placeholder = localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.operation.apikey.placeholder");
1607
+ }
1608
+ else {
1609
+ placeholder = localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.operation.placeholder");
1610
+ }
1611
+ return placeholder;
1612
+ },
1453
1613
  forgetLastValue: true,
1454
1614
  staticOptions: [],
1455
1615
  validation: {
@@ -1487,6 +1647,153 @@ function apiOperationQuestion(includeExistingAPIs = true) {
1487
1647
  };
1488
1648
  }
1489
1649
  exports.apiOperationQuestion = apiOperationQuestion;
1650
+ class CustomCopilotRagOptions {
1651
+ static customize() {
1652
+ return {
1653
+ id: "custom-copilot-rag-customize",
1654
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRagCustomizeOption.label"),
1655
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRagCustomizeOption.detail"),
1656
+ };
1657
+ }
1658
+ static azureAISearch() {
1659
+ return {
1660
+ id: "custom-copilot-rag-azureAISearch",
1661
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRagAzureAISearchOption.label"),
1662
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRagAzureAISearchOption.detail"),
1663
+ };
1664
+ }
1665
+ static customApi() {
1666
+ return {
1667
+ id: "custom-copilot-rag-customApi",
1668
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRagCustomApiOption.label"),
1669
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRagCustomApiOption.detail"),
1670
+ description: localizeUtils_1.getLocalizedString("core.createProjectQuestion.option.description.preview"),
1671
+ };
1672
+ }
1673
+ static microsoft365() {
1674
+ return {
1675
+ id: "custom-copilot-rag-microsoft365",
1676
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRagMicrosoft365Option.label"),
1677
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRagMicrosoft365Option.detail"),
1678
+ };
1679
+ }
1680
+ static all() {
1681
+ return [
1682
+ CustomCopilotRagOptions.customize(),
1683
+ CustomCopilotRagOptions.azureAISearch(),
1684
+ CustomCopilotRagOptions.customApi(),
1685
+ CustomCopilotRagOptions.microsoft365(),
1686
+ ];
1687
+ }
1688
+ }
1689
+ exports.CustomCopilotRagOptions = CustomCopilotRagOptions;
1690
+ class CustomCopilotAssistantOptions {
1691
+ static new() {
1692
+ return {
1693
+ id: "custom-copilot-assistant-new",
1694
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotAssistantNewOption.label"),
1695
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotAssistantNewOption.detail"),
1696
+ };
1697
+ }
1698
+ static assistantsApi() {
1699
+ return {
1700
+ id: "custom-copilot-assistant-assistantsApi",
1701
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotAssistantAssistantsApiOption.label"),
1702
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotAssistantAssistantsApiOption.detail"),
1703
+ description: localizeUtils_1.getLocalizedString("core.createProjectQuestion.option.description.preview"),
1704
+ };
1705
+ }
1706
+ static all() {
1707
+ return [CustomCopilotAssistantOptions.new(), CustomCopilotAssistantOptions.assistantsApi()];
1708
+ }
1709
+ }
1710
+ exports.CustomCopilotAssistantOptions = CustomCopilotAssistantOptions;
1711
+ function customCopilotRagQuestion() {
1712
+ return {
1713
+ type: "singleSelect",
1714
+ name: questionNames_1.QuestionNames.CustomCopilotRag,
1715
+ title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRag.title"),
1716
+ placeholder: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRag.placeholder"),
1717
+ staticOptions: CustomCopilotRagOptions.all(),
1718
+ dynamicOptions: () => CustomCopilotRagOptions.all(),
1719
+ default: CustomCopilotRagOptions.customize().id,
1720
+ };
1721
+ }
1722
+ function customCopilotAssistantQuestion() {
1723
+ return {
1724
+ type: "singleSelect",
1725
+ name: questionNames_1.QuestionNames.CustomCopilotAssistant,
1726
+ title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotAssistant.title"),
1727
+ placeholder: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotAssistant.placeholder"),
1728
+ staticOptions: CustomCopilotAssistantOptions.all(),
1729
+ dynamicOptions: () => CustomCopilotAssistantOptions.all(),
1730
+ default: CustomCopilotAssistantOptions.new().id,
1731
+ };
1732
+ }
1733
+ function llmServiceQuestion() {
1734
+ return {
1735
+ type: "singleSelect",
1736
+ name: questionNames_1.QuestionNames.LLMService,
1737
+ title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmService.title"),
1738
+ placeholder: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmService.placeholder"),
1739
+ staticOptions: [
1740
+ {
1741
+ id: "llm-service-azureOpenAI",
1742
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmServiceAzureOpenAIOption.label"),
1743
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmServiceAzureOpenAIOption.detail"),
1744
+ },
1745
+ {
1746
+ id: "llm-service-openAI",
1747
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmServiceOpenAIOption.label"),
1748
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmServiceOpenAIOption.detail"),
1749
+ },
1750
+ ],
1751
+ dynamicOptions: (inputs) => {
1752
+ const options = [];
1753
+ if (inputs[questionNames_1.QuestionNames.CustomCopilotAssistant] !== "custom-copilot-assistant-assistantsApi") {
1754
+ options.push({
1755
+ id: "llm-service-azureOpenAI",
1756
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmServiceAzureOpenAIOption.label"),
1757
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmServiceAzureOpenAIOption.detail"),
1758
+ });
1759
+ }
1760
+ options.push({
1761
+ id: "llm-service-openAI",
1762
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmServiceOpenAIOption.label"),
1763
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmServiceOpenAIOption.detail"),
1764
+ });
1765
+ return options;
1766
+ },
1767
+ skipSingleOption: true,
1768
+ default: "llm-service-azureOpenAI",
1769
+ };
1770
+ }
1771
+ function openAIKeyQuestion() {
1772
+ return {
1773
+ type: "text",
1774
+ password: true,
1775
+ name: questionNames_1.QuestionNames.OpenAIKey,
1776
+ title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmService.openAIKey.title"),
1777
+ placeholder: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmService.openAIKey.placeholder"),
1778
+ };
1779
+ }
1780
+ function azureOpenAIKeyQuestion() {
1781
+ return {
1782
+ type: "text",
1783
+ password: true,
1784
+ name: questionNames_1.QuestionNames.AzureOpenAIKey,
1785
+ title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmService.azureOpenAIKey.title"),
1786
+ placeholder: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmService.azureOpenAIKey.placeholder"),
1787
+ };
1788
+ }
1789
+ function azureOpenAIEndpointQuestion() {
1790
+ return {
1791
+ type: "text",
1792
+ name: questionNames_1.QuestionNames.AzureOpenAIEndpoint,
1793
+ title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmService.azureOpenAIEndpoint.title"),
1794
+ placeholder: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmService.azureOpenAIEndpoint.placeholder"),
1795
+ };
1796
+ }
1490
1797
  function capabilitySubTree() {
1491
1798
  const node = {
1492
1799
  data: capabilityQuestion(),
@@ -1539,9 +1846,11 @@ function capabilitySubTree() {
1539
1846
  },
1540
1847
  {
1541
1848
  // office addin other items sub-tree
1542
- condition: {
1543
- enum: CapabilityOptions.officeAddinItems().map((i) => i.id),
1544
- },
1849
+ condition: (inputs) => featureFlags_1.isOfficeXMLAddinEnabled()
1850
+ ? false
1851
+ : CapabilityOptions.officeAddinItems()
1852
+ .map((i) => i.id)
1853
+ .includes(inputs[questionNames_1.QuestionNames.Capabilities]),
1545
1854
  data: officeAddinHostingQuestion(),
1546
1855
  },
1547
1856
  {
@@ -1567,10 +1876,10 @@ function capabilitySubTree() {
1567
1876
  },
1568
1877
  data: apiSpecLocationQuestion(),
1569
1878
  },
1570
- {
1571
- condition: { equals: CapabilityOptions.copilotPluginOpenAIPlugin().id },
1572
- data: openAIPluginManifestLocationQuestion(),
1573
- },
1879
+ // {
1880
+ // condition: { equals: CapabilityOptions.copilotPluginOpenAIPlugin().id },
1881
+ // data: openAIPluginManifestLocationQuestion(),
1882
+ // },
1574
1883
  {
1575
1884
  data: apiOperationQuestion(),
1576
1885
  },
@@ -1584,6 +1893,32 @@ function capabilitySubTree() {
1584
1893
  },
1585
1894
  data: apiMessageExtensionAuthQuestion(),
1586
1895
  },
1896
+ {
1897
+ condition: (inputs) => {
1898
+ return inputs[questionNames_1.QuestionNames.Capabilities] == CapabilityOptions.customCopilotRag().id;
1899
+ },
1900
+ data: customCopilotRagQuestion(),
1901
+ children: [
1902
+ {
1903
+ condition: (inputs) => {
1904
+ return (inputs[questionNames_1.QuestionNames.CustomCopilotRag] === CustomCopilotRagOptions.customApi().id);
1905
+ },
1906
+ data: apiSpecLocationQuestion(),
1907
+ },
1908
+ {
1909
+ condition: (inputs) => {
1910
+ return (inputs[questionNames_1.QuestionNames.CustomCopilotRag] === CustomCopilotRagOptions.customApi().id);
1911
+ },
1912
+ data: apiOperationQuestion(),
1913
+ },
1914
+ ],
1915
+ },
1916
+ {
1917
+ condition: (inputs) => {
1918
+ return (inputs[questionNames_1.QuestionNames.Capabilities] == CapabilityOptions.customCopilotAssistant().id);
1919
+ },
1920
+ data: customCopilotAssistantQuestion(),
1921
+ },
1587
1922
  {
1588
1923
  // programming language
1589
1924
  data: programmingLanguageQuestion(),
@@ -1595,6 +1930,33 @@ function capabilitySubTree() {
1595
1930
  inputs[questionNames_1.QuestionNames.MeArchitectureType] !== MeArchitectureOptions.apiSpec().id);
1596
1931
  },
1597
1932
  },
1933
+ {
1934
+ condition: (inputs) => {
1935
+ return (inputs[questionNames_1.QuestionNames.Capabilities] === CapabilityOptions.customCopilotBasic().id ||
1936
+ inputs[questionNames_1.QuestionNames.Capabilities] === CapabilityOptions.customCopilotRag().id ||
1937
+ inputs[questionNames_1.QuestionNames.Capabilities] === CapabilityOptions.customCopilotAssistant().id);
1938
+ },
1939
+ data: llmServiceQuestion(),
1940
+ children: [
1941
+ {
1942
+ condition: { equals: "llm-service-azureOpenAI" },
1943
+ data: azureOpenAIKeyQuestion(),
1944
+ children: [
1945
+ {
1946
+ condition: (inputs) => {
1947
+ var _a;
1948
+ return ((_a = inputs[questionNames_1.QuestionNames.AzureOpenAIKey]) === null || _a === void 0 ? void 0 : _a.length) > 0;
1949
+ },
1950
+ data: azureOpenAIEndpointQuestion(),
1951
+ },
1952
+ ],
1953
+ },
1954
+ {
1955
+ condition: { equals: "llm-service-openAI" },
1956
+ data: openAIKeyQuestion(),
1957
+ },
1958
+ ],
1959
+ },
1598
1960
  {
1599
1961
  // root folder
1600
1962
  data: folderQuestion(),
@@ -1621,6 +1983,21 @@ function createProjectQuestionNode() {
1621
1983
  data: projectTypeQuestion(),
1622
1984
  cliOptionDisabled: "self",
1623
1985
  },
1986
+ {
1987
+ condition: (inputs) => featureFlags_1.isOfficeXMLAddinEnabled() &&
1988
+ inputs[questionNames_1.QuestionNames.ProjectType] === ProjectTypeOptions.officeAddin().id,
1989
+ data: {
1990
+ name: questionNames_1.QuestionNames.OfficeAddinCapability,
1991
+ title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.create.title"),
1992
+ type: "singleSelect",
1993
+ staticOptions: [
1994
+ ProjectTypeOptions.outlookAddin(),
1995
+ OfficeAddinCapabilityOptions.word(),
1996
+ OfficeAddinCapabilityOptions.excel(),
1997
+ OfficeAddinCapabilityOptions.powerpoint(),
1998
+ ],
1999
+ },
2000
+ },
1624
2001
  capabilitySubTree(),
1625
2002
  {
1626
2003
  condition: (inputs) => inputs.teamsAppFromTdp && utils_2.isPersonalApp(inputs.teamsAppFromTdp),
@@ -1684,9 +2061,6 @@ function createProjectCliHelpNode() {
1684
2061
  if (!featureFlags_1.isCLIDotNetEnabled()) {
1685
2062
  deleteNames.push(questionNames_1.QuestionNames.Runtime);
1686
2063
  }
1687
- if (!featureFlags_1.isApiCopilotPluginEnabled()) {
1688
- deleteNames.push(questionNames_1.QuestionNames.CopilotPluginExistingApi);
1689
- }
1690
2064
  trimQuestionTreeForCliHelp(node, deleteNames);
1691
2065
  return node;
1692
2066
  }