@microsoft/teamsfx-core 2.0.5 → 2.0.6-alpha.07708d12e.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 (597) hide show
  1. package/build/common/constants.d.ts +3 -0
  2. package/build/common/constants.d.ts.map +1 -1
  3. package/build/common/constants.js +3 -0
  4. package/build/common/constants.js.map +1 -1
  5. package/build/common/deps-checker/checkerFactory.d.ts +1 -2
  6. package/build/common/deps-checker/checkerFactory.d.ts.map +1 -1
  7. package/build/common/deps-checker/checkerFactory.js +2 -2
  8. package/build/common/deps-checker/checkerFactory.js.map +1 -1
  9. package/build/common/deps-checker/constant/message.d.ts +2 -0
  10. package/build/common/deps-checker/constant/message.d.ts.map +1 -1
  11. package/build/common/deps-checker/constant/message.js +2 -0
  12. package/build/common/deps-checker/constant/message.js.map +1 -1
  13. package/build/common/deps-checker/constant/telemetry.d.ts +12 -1
  14. package/build/common/deps-checker/constant/telemetry.d.ts.map +1 -1
  15. package/build/common/deps-checker/constant/telemetry.js +11 -0
  16. package/build/common/deps-checker/constant/telemetry.js.map +1 -1
  17. package/build/common/deps-checker/depsChecker.d.ts +7 -1
  18. package/build/common/deps-checker/depsChecker.d.ts.map +1 -1
  19. package/build/common/deps-checker/depsChecker.js +1 -0
  20. package/build/common/deps-checker/depsChecker.js.map +1 -1
  21. package/build/common/deps-checker/depsLogger.d.ts +14 -14
  22. package/build/common/deps-checker/depsLogger.d.ts.map +1 -1
  23. package/build/common/deps-checker/depsLogger.js +7 -21
  24. package/build/common/deps-checker/depsLogger.js.map +1 -1
  25. package/build/common/deps-checker/internal/dotnetChecker.d.ts.map +1 -1
  26. package/build/common/deps-checker/internal/dotnetChecker.js +40 -35
  27. package/build/common/deps-checker/internal/dotnetChecker.js.map +1 -1
  28. package/build/common/deps-checker/internal/nodeChecker.js +3 -3
  29. package/build/common/deps-checker/internal/nodeChecker.js.map +1 -1
  30. package/build/common/deps-checker/internal/testToolChecker.d.ts +45 -0
  31. package/build/common/deps-checker/internal/testToolChecker.d.ts.map +1 -0
  32. package/build/common/deps-checker/internal/testToolChecker.js +359 -0
  33. package/build/common/deps-checker/internal/testToolChecker.js.map +1 -0
  34. package/build/common/deps-checker/util/cpUtils.d.ts +1 -1
  35. package/build/common/deps-checker/util/cpUtils.d.ts.map +1 -1
  36. package/build/common/deps-checker/util/cpUtils.js +4 -4
  37. package/build/common/deps-checker/util/cpUtils.js.map +1 -1
  38. package/build/common/deps-checker/util/fileHelper.d.ts +1 -0
  39. package/build/common/deps-checker/util/fileHelper.d.ts.map +1 -1
  40. package/build/common/deps-checker/util/fileHelper.js +9 -1
  41. package/build/common/deps-checker/util/fileHelper.js.map +1 -1
  42. package/build/common/deps-checker/util/progressIndicator.js +2 -2
  43. package/build/common/deps-checker/util/progressIndicator.js.map +1 -1
  44. package/build/common/featureFlags.d.ts +3 -0
  45. package/build/common/featureFlags.d.ts.map +1 -1
  46. package/build/common/featureFlags.js +15 -2
  47. package/build/common/featureFlags.js.map +1 -1
  48. package/build/common/jsonUtils.d.ts.map +1 -1
  49. package/build/common/jsonUtils.js +1 -5
  50. package/build/common/jsonUtils.js.map +1 -1
  51. package/build/common/local/constants.d.ts +10 -0
  52. package/build/common/local/constants.d.ts.map +1 -1
  53. package/build/common/local/constants.js +12 -2
  54. package/build/common/local/constants.js.map +1 -1
  55. package/build/common/local/localCertificateManager.d.ts.map +1 -1
  56. package/build/common/local/localCertificateManager.js +3 -0
  57. package/build/common/local/localCertificateManager.js.map +1 -1
  58. package/build/common/local/localEnvManager.d.ts +1 -0
  59. package/build/common/local/localEnvManager.d.ts.map +1 -1
  60. package/build/common/local/localEnvManager.js +21 -0
  61. package/build/common/local/localEnvManager.js.map +1 -1
  62. package/build/common/local/packageJsonHelper.d.ts.map +1 -1
  63. package/build/common/local/packageJsonHelper.js +1 -0
  64. package/build/common/local/packageJsonHelper.js.map +1 -1
  65. package/build/common/local/portChecker.js.map +1 -1
  66. package/build/common/m365/launchHelper.d.ts +1 -1
  67. package/build/common/m365/launchHelper.d.ts.map +1 -1
  68. package/build/common/m365/launchHelper.js +20 -2
  69. package/build/common/m365/launchHelper.js.map +1 -1
  70. package/build/common/m365/packageService.d.ts +4 -0
  71. package/build/common/m365/packageService.d.ts.map +1 -1
  72. package/build/common/m365/packageService.js +135 -19
  73. package/build/common/m365/packageService.js.map +1 -1
  74. package/build/common/projectSettingsHelper.d.ts.map +1 -1
  75. package/build/common/projectSettingsHelper.js +1 -0
  76. package/build/common/projectSettingsHelper.js.map +1 -1
  77. package/build/common/samples.d.ts +9 -2
  78. package/build/common/samples.d.ts.map +1 -1
  79. package/build/common/samples.js +67 -22
  80. package/build/common/samples.js.map +1 -1
  81. package/build/common/spec-parser/adaptiveCardGenerator.d.ts +5 -3
  82. package/build/common/spec-parser/adaptiveCardGenerator.d.ts.map +1 -1
  83. package/build/common/spec-parser/adaptiveCardGenerator.js +108 -51
  84. package/build/common/spec-parser/adaptiveCardGenerator.js.map +1 -1
  85. package/build/common/spec-parser/adaptiveCardWrapper.d.ts +15 -0
  86. package/build/common/spec-parser/adaptiveCardWrapper.d.ts.map +1 -0
  87. package/build/common/spec-parser/adaptiveCardWrapper.js +98 -0
  88. package/build/common/spec-parser/adaptiveCardWrapper.js.map +1 -0
  89. package/build/common/spec-parser/constants.d.ts +22 -10
  90. package/build/common/spec-parser/constants.d.ts.map +1 -1
  91. package/build/common/spec-parser/constants.js +71 -10
  92. package/build/common/spec-parser/constants.js.map +1 -1
  93. package/build/common/spec-parser/index.d.ts +5 -0
  94. package/build/common/spec-parser/index.d.ts.map +1 -0
  95. package/build/common/spec-parser/index.js +16 -0
  96. package/build/common/spec-parser/index.js.map +1 -0
  97. package/build/common/spec-parser/interfaces.d.ts +44 -25
  98. package/build/common/spec-parser/interfaces.d.ts.map +1 -1
  99. package/build/common/spec-parser/interfaces.js +13 -2
  100. package/build/common/spec-parser/interfaces.js.map +1 -1
  101. package/build/common/spec-parser/manifestUpdater.d.ts +4 -3
  102. package/build/common/spec-parser/manifestUpdater.d.ts.map +1 -1
  103. package/build/common/spec-parser/manifestUpdater.js +42 -46
  104. package/build/common/spec-parser/manifestUpdater.js.map +1 -1
  105. package/build/common/spec-parser/specFilter.d.ts +1 -1
  106. package/build/common/spec-parser/specFilter.d.ts.map +1 -1
  107. package/build/common/spec-parser/specFilter.js +28 -35
  108. package/build/common/spec-parser/specFilter.js.map +1 -1
  109. package/build/common/spec-parser/specParser.d.ts +8 -2
  110. package/build/common/spec-parser/specParser.d.ts.map +1 -1
  111. package/build/common/spec-parser/specParser.js +162 -114
  112. package/build/common/spec-parser/specParser.js.map +1 -1
  113. package/build/common/spec-parser/utils.d.ts +26 -1
  114. package/build/common/spec-parser/utils.d.ts.map +1 -1
  115. package/build/common/spec-parser/utils.js +357 -39
  116. package/build/common/spec-parser/utils.js.map +1 -1
  117. package/build/common/telemetry.d.ts +11 -4
  118. package/build/common/telemetry.d.ts.map +1 -1
  119. package/build/common/telemetry.js +47 -8
  120. package/build/common/telemetry.js.map +1 -1
  121. package/build/common/templates-config.json +2 -2
  122. package/build/common/tools.d.ts +1 -0
  123. package/build/common/tools.d.ts.map +1 -1
  124. package/build/common/tools.js +11 -1
  125. package/build/common/tools.js.map +1 -1
  126. package/build/common/versionMetadata.d.ts +1 -0
  127. package/build/common/versionMetadata.d.ts.map +1 -1
  128. package/build/common/versionMetadata.js +1 -0
  129. package/build/common/versionMetadata.js.map +1 -1
  130. package/build/component/configManager/interface.d.ts +0 -1
  131. package/build/component/configManager/interface.d.ts.map +1 -1
  132. package/build/component/configManager/lifecycle.d.ts +2 -3
  133. package/build/component/configManager/lifecycle.d.ts.map +1 -1
  134. package/build/component/configManager/lifecycle.js +40 -56
  135. package/build/component/configManager/lifecycle.js.map +1 -1
  136. package/build/component/configManager/parser.js.map +1 -1
  137. package/build/component/configManager/validator.d.ts.map +1 -1
  138. package/build/component/configManager/validator.js +4 -3
  139. package/build/component/configManager/validator.js.map +1 -1
  140. package/build/component/constants.d.ts +6 -0
  141. package/build/component/constants.d.ts.map +1 -1
  142. package/build/component/constants.js +7 -1
  143. package/build/component/constants.js.map +1 -1
  144. package/build/component/coordinator/index.d.ts +8 -6
  145. package/build/component/coordinator/index.d.ts.map +1 -1
  146. package/build/component/coordinator/index.js +74 -65
  147. package/build/component/coordinator/index.js.map +1 -1
  148. package/build/component/coordinator/summary.d.ts.map +1 -1
  149. package/build/component/coordinator/summary.js +2 -1
  150. package/build/component/coordinator/summary.js.map +1 -1
  151. package/build/component/developerPortalScaffoldUtils.js +3 -3
  152. package/build/component/developerPortalScaffoldUtils.js.map +1 -1
  153. package/build/component/driver/aad/create.d.ts +1 -2
  154. package/build/component/driver/aad/create.d.ts.map +1 -1
  155. package/build/component/driver/aad/create.js +9 -12
  156. package/build/component/driver/aad/create.js.map +1 -1
  157. package/build/component/driver/aad/error/aadAppNameTooLongError.d.ts +5 -0
  158. package/build/component/driver/aad/error/aadAppNameTooLongError.d.ts.map +1 -0
  159. package/build/component/driver/aad/error/aadAppNameTooLongError.js +21 -0
  160. package/build/component/driver/aad/error/aadAppNameTooLongError.js.map +1 -0
  161. package/build/component/driver/aad/update.d.ts +1 -2
  162. package/build/component/driver/aad/update.d.ts.map +1 -1
  163. package/build/component/driver/aad/update.js +5 -12
  164. package/build/component/driver/aad/update.js.map +1 -1
  165. package/build/component/driver/aad/utility/aadAppClient.d.ts +11 -3
  166. package/build/component/driver/aad/utility/aadAppClient.d.ts.map +1 -1
  167. package/build/component/driver/aad/utility/aadAppClient.js +49 -8
  168. package/build/component/driver/aad/utility/aadAppClient.js.map +1 -1
  169. package/build/component/driver/add/addWebPart.d.ts.map +1 -1
  170. package/build/component/driver/add/addWebPart.js +11 -0
  171. package/build/component/driver/add/addWebPart.js.map +1 -1
  172. package/build/component/driver/add/interface/AddWebPartArgs.d.ts +4 -0
  173. package/build/component/driver/add/interface/AddWebPartArgs.d.ts.map +1 -1
  174. package/build/component/driver/arm/deploy.d.ts +1 -3
  175. package/build/component/driver/arm/deploy.d.ts.map +1 -1
  176. package/build/component/driver/arm/deploy.js +1 -14
  177. package/build/component/driver/arm/deploy.js.map +1 -1
  178. package/build/component/driver/arm/deployImpl.d.ts.map +1 -1
  179. package/build/component/driver/arm/deployImpl.js +12 -0
  180. package/build/component/driver/arm/deployImpl.js.map +1 -1
  181. package/build/component/driver/arm/util/bicepChecker.js +7 -6
  182. package/build/component/driver/arm/util/bicepChecker.js.map +1 -1
  183. package/build/component/driver/arm/util/handleError.js.map +1 -1
  184. package/build/component/driver/botAadApp/create.d.ts +2 -1
  185. package/build/component/driver/botAadApp/create.d.ts.map +1 -1
  186. package/build/component/driver/botAadApp/create.js +10 -9
  187. package/build/component/driver/botAadApp/create.js.map +1 -1
  188. package/build/component/driver/botFramework/createOrUpdateBot.d.ts +1 -0
  189. package/build/component/driver/botFramework/createOrUpdateBot.d.ts.map +1 -1
  190. package/build/component/driver/botFramework/createOrUpdateBot.js +4 -10
  191. package/build/component/driver/botFramework/createOrUpdateBot.js.map +1 -1
  192. package/build/component/driver/deploy/azure/azureAppServiceDeployDriver.d.ts +0 -2
  193. package/build/component/driver/deploy/azure/azureAppServiceDeployDriver.d.ts.map +1 -1
  194. package/build/component/driver/deploy/azure/azureAppServiceDeployDriver.js +0 -10
  195. package/build/component/driver/deploy/azure/azureAppServiceDeployDriver.js.map +1 -1
  196. package/build/component/driver/deploy/azure/azureFunctionDeployDriver.d.ts +0 -2
  197. package/build/component/driver/deploy/azure/azureFunctionDeployDriver.d.ts.map +1 -1
  198. package/build/component/driver/deploy/azure/azureFunctionDeployDriver.js +0 -10
  199. package/build/component/driver/deploy/azure/azureFunctionDeployDriver.js.map +1 -1
  200. package/build/component/driver/deploy/azure/azureStorageDeployDriver.d.ts +0 -2
  201. package/build/component/driver/deploy/azure/azureStorageDeployDriver.d.ts.map +1 -1
  202. package/build/component/driver/deploy/azure/azureStorageDeployDriver.js +17 -19
  203. package/build/component/driver/deploy/azure/azureStorageDeployDriver.js.map +1 -1
  204. package/build/component/driver/deploy/azure/azureStorageStaticWebsiteConfigDriver.d.ts.map +1 -1
  205. package/build/component/driver/deploy/azure/azureStorageStaticWebsiteConfigDriver.js +10 -3
  206. package/build/component/driver/deploy/azure/azureStorageStaticWebsiteConfigDriver.js.map +1 -1
  207. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.d.ts.map +1 -1
  208. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js +29 -16
  209. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js.map +1 -1
  210. package/build/component/driver/deploy/azure/impl/azureDeployImpl.d.ts.map +1 -1
  211. package/build/component/driver/deploy/azure/impl/azureDeployImpl.js +27 -16
  212. package/build/component/driver/deploy/azure/impl/azureDeployImpl.js.map +1 -1
  213. package/build/component/driver/deploy/azure/impl/baseDeployImpl.d.ts.map +1 -1
  214. package/build/component/driver/deploy/azure/impl/baseDeployImpl.js +4 -4
  215. package/build/component/driver/deploy/azure/impl/baseDeployImpl.js.map +1 -1
  216. package/build/component/driver/deploy/spfx/deployDriver.d.ts +1 -0
  217. package/build/component/driver/deploy/spfx/deployDriver.d.ts.map +1 -1
  218. package/build/component/driver/deploy/spfx/deployDriver.js +24 -2
  219. package/build/component/driver/deploy/spfx/deployDriver.js.map +1 -1
  220. package/build/component/driver/devTool/constant.d.ts +2 -0
  221. package/build/component/driver/devTool/constant.d.ts.map +1 -1
  222. package/build/component/driver/devTool/constant.js +4 -0
  223. package/build/component/driver/devTool/constant.js.map +1 -1
  224. package/build/component/driver/devTool/error/testToolInstallationUserError.d.ts +5 -0
  225. package/build/component/driver/devTool/error/testToolInstallationUserError.d.ts.map +1 -0
  226. package/build/component/driver/devTool/error/testToolInstallationUserError.js +24 -0
  227. package/build/component/driver/devTool/error/testToolInstallationUserError.js.map +1 -0
  228. package/build/component/driver/devTool/installDriver.d.ts +2 -0
  229. package/build/component/driver/devTool/installDriver.d.ts.map +1 -1
  230. package/build/component/driver/devTool/installDriver.js +85 -14
  231. package/build/component/driver/devTool/installDriver.js.map +1 -1
  232. package/build/component/driver/devTool/interfaces/InstallToolArgs.d.ts +8 -0
  233. package/build/component/driver/devTool/interfaces/InstallToolArgs.d.ts.map +1 -1
  234. package/build/component/driver/file/createOrUpdateEnvironmentFile.d.ts +1 -0
  235. package/build/component/driver/file/createOrUpdateEnvironmentFile.d.ts.map +1 -1
  236. package/build/component/driver/file/createOrUpdateEnvironmentFile.js +10 -16
  237. package/build/component/driver/file/createOrUpdateEnvironmentFile.js.map +1 -1
  238. package/build/component/driver/file/createOrUpdateJsonFile.d.ts +1 -0
  239. package/build/component/driver/file/createOrUpdateJsonFile.d.ts.map +1 -1
  240. package/build/component/driver/file/createOrUpdateJsonFile.js +3 -9
  241. package/build/component/driver/file/createOrUpdateJsonFile.js.map +1 -1
  242. package/build/component/driver/interface/stepDriver.d.ts +2 -7
  243. package/build/component/driver/interface/stepDriver.d.ts.map +1 -1
  244. package/build/component/driver/m365/acquire.d.ts +1 -0
  245. package/build/component/driver/m365/acquire.d.ts.map +1 -1
  246. package/build/component/driver/m365/acquire.js +4 -10
  247. package/build/component/driver/m365/acquire.js.map +1 -1
  248. package/build/component/driver/script/baseBuildDriver.d.ts.map +1 -1
  249. package/build/component/driver/script/baseBuildDriver.js +1 -0
  250. package/build/component/driver/script/baseBuildDriver.js.map +1 -1
  251. package/build/component/driver/script/baseBuildStepDriver.d.ts +0 -2
  252. package/build/component/driver/script/baseBuildStepDriver.d.ts.map +1 -1
  253. package/build/component/driver/script/baseBuildStepDriver.js +0 -4
  254. package/build/component/driver/script/baseBuildStepDriver.js.map +1 -1
  255. package/build/component/driver/script/dotnetBuildDriver.d.ts +0 -2
  256. package/build/component/driver/script/dotnetBuildDriver.d.ts.map +1 -1
  257. package/build/component/driver/script/dotnetBuildDriver.js +0 -9
  258. package/build/component/driver/script/dotnetBuildDriver.js.map +1 -1
  259. package/build/component/driver/script/npmBuildDriver.d.ts +0 -2
  260. package/build/component/driver/script/npmBuildDriver.d.ts.map +1 -1
  261. package/build/component/driver/script/npmBuildDriver.js +0 -9
  262. package/build/component/driver/script/npmBuildDriver.js.map +1 -1
  263. package/build/component/driver/script/npxBuildDriver.d.ts +0 -2
  264. package/build/component/driver/script/npxBuildDriver.d.ts.map +1 -1
  265. package/build/component/driver/script/npxBuildDriver.js +0 -9
  266. package/build/component/driver/script/npxBuildDriver.js.map +1 -1
  267. package/build/component/driver/script/scriptDriver.d.ts +10 -1
  268. package/build/component/driver/script/scriptDriver.d.ts.map +1 -1
  269. package/build/component/driver/script/scriptDriver.js +30 -29
  270. package/build/component/driver/script/scriptDriver.js.map +1 -1
  271. package/build/component/driver/teamsApp/appStudio.d.ts.map +1 -1
  272. package/build/component/driver/teamsApp/appStudio.js +11 -8
  273. package/build/component/driver/teamsApp/appStudio.js.map +1 -1
  274. package/build/component/driver/teamsApp/clients/appStudioClient.d.ts +11 -5
  275. package/build/component/driver/teamsApp/clients/appStudioClient.d.ts.map +1 -1
  276. package/build/component/driver/teamsApp/clients/appStudioClient.js +62 -21
  277. package/build/component/driver/teamsApp/clients/appStudioClient.js.map +1 -1
  278. package/build/component/driver/teamsApp/clients/authSvcClient.d.ts.map +1 -1
  279. package/build/component/driver/teamsApp/clients/authSvcClient.js +2 -0
  280. package/build/component/driver/teamsApp/clients/authSvcClient.js.map +1 -1
  281. package/build/component/driver/teamsApp/configure.d.ts +1 -1
  282. package/build/component/driver/teamsApp/configure.d.ts.map +1 -1
  283. package/build/component/driver/teamsApp/configure.js +3 -11
  284. package/build/component/driver/teamsApp/configure.js.map +1 -1
  285. package/build/component/driver/teamsApp/copyAppPackageToSPFx.d.ts +1 -2
  286. package/build/component/driver/teamsApp/copyAppPackageToSPFx.d.ts.map +1 -1
  287. package/build/component/driver/teamsApp/copyAppPackageToSPFx.js +4 -11
  288. package/build/component/driver/teamsApp/copyAppPackageToSPFx.js.map +1 -1
  289. package/build/component/driver/teamsApp/create.d.ts +1 -1
  290. package/build/component/driver/teamsApp/create.d.ts.map +1 -1
  291. package/build/component/driver/teamsApp/create.js +6 -11
  292. package/build/component/driver/teamsApp/create.js.map +1 -1
  293. package/build/component/driver/teamsApp/createAppPackage.d.ts +4 -3
  294. package/build/component/driver/teamsApp/createAppPackage.d.ts.map +1 -1
  295. package/build/component/driver/teamsApp/createAppPackage.js +53 -45
  296. package/build/component/driver/teamsApp/createAppPackage.js.map +1 -1
  297. package/build/component/driver/teamsApp/errors.d.ts +4 -4
  298. package/build/component/driver/teamsApp/errors.d.ts.map +1 -1
  299. package/build/component/driver/teamsApp/errors.js +9 -7
  300. package/build/component/driver/teamsApp/errors.js.map +1 -1
  301. package/build/component/driver/teamsApp/interfaces/appdefinitions/messagingExtension.d.ts +2 -0
  302. package/build/component/driver/teamsApp/interfaces/appdefinitions/messagingExtension.d.ts.map +1 -1
  303. package/build/component/driver/teamsApp/interfaces/appdefinitions/messagingExtensionCommand.d.ts +1 -0
  304. package/build/component/driver/teamsApp/interfaces/appdefinitions/messagingExtensionCommand.d.ts.map +1 -1
  305. package/build/component/driver/teamsApp/publishAppPackage.d.ts +2 -1
  306. package/build/component/driver/teamsApp/publishAppPackage.d.ts.map +1 -1
  307. package/build/component/driver/teamsApp/publishAppPackage.js +13 -21
  308. package/build/component/driver/teamsApp/publishAppPackage.js.map +1 -1
  309. package/build/component/driver/teamsApp/teamsappMgr.d.ts +20 -0
  310. package/build/component/driver/teamsApp/teamsappMgr.d.ts.map +1 -0
  311. package/build/component/driver/teamsApp/teamsappMgr.js +278 -0
  312. package/build/component/driver/teamsApp/teamsappMgr.js.map +1 -0
  313. package/build/component/driver/teamsApp/utils/ManifestUtils.d.ts +2 -1
  314. package/build/component/driver/teamsApp/utils/ManifestUtils.d.ts.map +1 -1
  315. package/build/component/driver/teamsApp/utils/ManifestUtils.js +22 -4
  316. package/build/component/driver/teamsApp/utils/ManifestUtils.js.map +1 -1
  317. package/build/component/driver/teamsApp/utils/telemetry.d.ts +1 -0
  318. package/build/component/driver/teamsApp/utils/telemetry.d.ts.map +1 -1
  319. package/build/component/driver/teamsApp/utils/telemetry.js +1 -0
  320. package/build/component/driver/teamsApp/utils/telemetry.js.map +1 -1
  321. package/build/component/driver/teamsApp/utils/utils.d.ts +2 -2
  322. package/build/component/driver/teamsApp/utils/utils.d.ts.map +1 -1
  323. package/build/component/driver/teamsApp/utils/utils.js +22 -10
  324. package/build/component/driver/teamsApp/utils/utils.js.map +1 -1
  325. package/build/component/driver/teamsApp/validate.d.ts +1 -1
  326. package/build/component/driver/teamsApp/validate.d.ts.map +1 -1
  327. package/build/component/driver/teamsApp/validate.js +18 -13
  328. package/build/component/driver/teamsApp/validate.js.map +1 -1
  329. package/build/component/driver/teamsApp/validateAppPackage.d.ts +1 -1
  330. package/build/component/driver/teamsApp/validateAppPackage.d.ts.map +1 -1
  331. package/build/component/driver/teamsApp/validateAppPackage.js +6 -11
  332. package/build/component/driver/teamsApp/validateAppPackage.js.map +1 -1
  333. package/build/component/error/componentError.d.ts.map +1 -1
  334. package/build/component/error/componentError.js +6 -3
  335. package/build/component/error/componentError.js.map +1 -1
  336. package/build/component/feature/collaboration.d.ts +2 -2
  337. package/build/component/feature/collaboration.d.ts.map +1 -1
  338. package/build/component/feature/collaboration.js +35 -16
  339. package/build/component/feature/collaboration.js.map +1 -1
  340. package/build/component/generator/copilotPlugin/generator.d.ts +3 -1
  341. package/build/component/generator/copilotPlugin/generator.d.ts.map +1 -1
  342. package/build/component/generator/copilotPlugin/generator.js +77 -28
  343. package/build/component/generator/copilotPlugin/generator.js.map +1 -1
  344. package/build/component/generator/copilotPlugin/helper.d.ts +9 -4
  345. package/build/component/generator/copilotPlugin/helper.d.ts.map +1 -1
  346. package/build/component/generator/copilotPlugin/helper.js +149 -52
  347. package/build/component/generator/copilotPlugin/helper.js.map +1 -1
  348. package/build/component/generator/error.d.ts +6 -0
  349. package/build/component/generator/error.d.ts.map +1 -1
  350. package/build/component/generator/error.js +13 -1
  351. package/build/component/generator/error.js.map +1 -1
  352. package/build/component/generator/generator.d.ts.map +1 -1
  353. package/build/component/generator/generator.js +32 -19
  354. package/build/component/generator/generator.js.map +1 -1
  355. package/build/component/generator/generatorAction.d.ts +3 -2
  356. package/build/component/generator/generatorAction.d.ts.map +1 -1
  357. package/build/component/generator/generatorAction.js +15 -7
  358. package/build/component/generator/generatorAction.js.map +1 -1
  359. package/build/component/generator/officeAddin/generator.js +4 -4
  360. package/build/component/generator/officeAddin/generator.js.map +1 -1
  361. package/build/component/generator/officeAddin/helperMethods.d.ts.map +1 -1
  362. package/build/component/generator/officeAddin/helperMethods.js +26 -19
  363. package/build/component/generator/officeAddin/helperMethods.js.map +1 -1
  364. package/build/component/generator/spfx/depsChecker/generatorChecker.d.ts.map +1 -1
  365. package/build/component/generator/spfx/depsChecker/generatorChecker.js +4 -2
  366. package/build/component/generator/spfx/depsChecker/generatorChecker.js.map +1 -1
  367. package/build/component/generator/spfx/depsChecker/yoChecker.d.ts.map +1 -1
  368. package/build/component/generator/spfx/depsChecker/yoChecker.js +3 -3
  369. package/build/component/generator/spfx/depsChecker/yoChecker.js.map +1 -1
  370. package/build/component/generator/spfx/spfxGenerator.d.ts.map +1 -1
  371. package/build/component/generator/spfx/spfxGenerator.js +4 -3
  372. package/build/component/generator/spfx/spfxGenerator.js.map +1 -1
  373. package/build/component/generator/spfx/utils/constants.d.ts +0 -1
  374. package/build/component/generator/spfx/utils/constants.d.ts.map +1 -1
  375. package/build/component/generator/spfx/utils/constants.js +0 -1
  376. package/build/component/generator/spfx/utils/constants.js.map +1 -1
  377. package/build/component/generator/spfx/utils/utils.js +3 -3
  378. package/build/component/generator/spfx/utils/utils.js.map +1 -1
  379. package/build/component/generator/utils.d.ts +2 -2
  380. package/build/component/generator/utils.d.ts.map +1 -1
  381. package/build/component/generator/utils.js +17 -16
  382. package/build/component/generator/utils.js.map +1 -1
  383. package/build/component/messages.d.ts +2 -3
  384. package/build/component/messages.d.ts.map +1 -1
  385. package/build/component/messages.js +3 -4
  386. package/build/component/messages.js.map +1 -1
  387. package/build/component/middleware/actionExecutionMW.d.ts +2 -2
  388. package/build/component/middleware/actionExecutionMW.d.ts.map +1 -1
  389. package/build/component/middleware/envMW.js +3 -3
  390. package/build/component/middleware/envMW.js.map +1 -1
  391. package/build/component/provisionUtils.d.ts +3 -3
  392. package/build/component/provisionUtils.d.ts.map +1 -1
  393. package/build/component/provisionUtils.js +3 -3
  394. package/build/component/provisionUtils.js.map +1 -1
  395. package/build/component/resource/botService/appStudio/appStudioClient.d.ts.map +1 -1
  396. package/build/component/resource/botService/appStudio/appStudioClient.js +49 -16
  397. package/build/component/resource/botService/appStudio/appStudioClient.js.map +1 -1
  398. package/build/component/resource/botService/botRegistration/botFrameworkRegistration.d.ts +2 -2
  399. package/build/component/resource/botService/botRegistration/botFrameworkRegistration.d.ts.map +1 -1
  400. package/build/component/resource/botService/botRegistration/botFrameworkRegistration.js +6 -1
  401. package/build/component/resource/botService/botRegistration/botFrameworkRegistration.js.map +1 -1
  402. package/build/component/telemetry.js +2 -2
  403. package/build/component/telemetry.js.map +1 -1
  404. package/build/component/utils/ResourceGroupHelper.d.ts +2 -2
  405. package/build/component/utils/ResourceGroupHelper.d.ts.map +1 -1
  406. package/build/component/utils/ResourceGroupHelper.js +11 -9
  407. package/build/component/utils/ResourceGroupHelper.js.map +1 -1
  408. package/build/component/utils/charsetUtils.js +3 -3
  409. package/build/component/utils/charsetUtils.js.map +1 -1
  410. package/build/component/utils/common.d.ts.map +1 -1
  411. package/build/component/utils/common.js +10 -3
  412. package/build/component/utils/common.js.map +1 -1
  413. package/build/component/utils/depsChecker/cpUtils.d.ts.map +1 -1
  414. package/build/component/utils/depsChecker/cpUtils.js +8 -4
  415. package/build/component/utils/depsChecker/cpUtils.js.map +1 -1
  416. package/build/component/utils/envUtil.d.ts +1 -0
  417. package/build/component/utils/envUtil.d.ts.map +1 -1
  418. package/build/component/utils/envUtil.js +14 -5
  419. package/build/component/utils/envUtil.js.map +1 -1
  420. package/build/component/utils/pathUtils.d.ts.map +1 -1
  421. package/build/component/utils/pathUtils.js +9 -4
  422. package/build/component/utils/pathUtils.js.map +1 -1
  423. package/build/component/utils/teamsFxTelemetryReporter.js +2 -2
  424. package/build/component/utils/teamsFxTelemetryReporter.js.map +1 -1
  425. package/build/core/FxCore.d.ts +53 -34
  426. package/build/core/FxCore.d.ts.map +1 -1
  427. package/build/core/FxCore.js +913 -67
  428. package/build/core/FxCore.js.map +1 -1
  429. package/build/core/collaborator.js +3 -3
  430. package/build/core/collaborator.js.map +1 -1
  431. package/build/core/environment.d.ts +2 -9
  432. package/build/core/environment.d.ts.map +1 -1
  433. package/build/core/environment.js +17 -13
  434. package/build/core/environment.js.map +1 -1
  435. package/build/core/environmentName.d.ts +18 -0
  436. package/build/core/environmentName.d.ts.map +1 -0
  437. package/build/core/environmentName.js +35 -0
  438. package/build/core/environmentName.js.map +1 -0
  439. package/build/core/globalVars.d.ts +16 -0
  440. package/build/core/globalVars.d.ts.map +1 -1
  441. package/build/core/globalVars.js +34 -1
  442. package/build/core/globalVars.js.map +1 -1
  443. package/build/core/middleware/concurrentLocker.d.ts.map +1 -1
  444. package/build/core/middleware/concurrentLocker.js +7 -3
  445. package/build/core/middleware/concurrentLocker.js.map +1 -1
  446. package/build/core/middleware/projectMigratorV3.d.ts.map +1 -1
  447. package/build/core/middleware/projectMigratorV3.js +1 -1
  448. package/build/core/middleware/projectMigratorV3.js.map +1 -1
  449. package/build/core/middleware/projectVersionChecker.js +5 -5
  450. package/build/core/middleware/projectVersionChecker.js.map +1 -1
  451. package/build/core/middleware/utils/appYmlGenerator.d.ts.map +1 -1
  452. package/build/core/middleware/utils/appYmlGenerator.js +2 -1
  453. package/build/core/middleware/utils/appYmlGenerator.js.map +1 -1
  454. package/build/core/middleware/utils/debug/taskMigrator.d.ts.map +1 -1
  455. package/build/core/middleware/utils/debug/taskMigrator.js +3 -0
  456. package/build/core/middleware/utils/debug/taskMigrator.js.map +1 -1
  457. package/build/core/middleware/utils/v3MigrationUtils.js +1 -1
  458. package/build/core/middleware/utils/v3MigrationUtils.js.map +1 -1
  459. package/build/core/telemetry.d.ts +1 -0
  460. package/build/core/telemetry.d.ts.map +1 -1
  461. package/build/core/telemetry.js +3 -3
  462. package/build/core/telemetry.js.map +1 -1
  463. package/build/error/arm.d.ts.map +1 -1
  464. package/build/error/arm.js +10 -0
  465. package/build/error/arm.js.map +1 -1
  466. package/build/error/azure.d.ts +5 -5
  467. package/build/error/azure.d.ts.map +1 -1
  468. package/build/error/azure.js +21 -5
  469. package/build/error/azure.js.map +1 -1
  470. package/build/error/common.d.ts +8 -11
  471. package/build/error/common.d.ts.map +1 -1
  472. package/build/error/common.js +67 -53
  473. package/build/error/common.js.map +1 -1
  474. package/build/error/deploy.d.ts +1 -1
  475. package/build/error/deploy.d.ts.map +1 -1
  476. package/build/error/deploy.js +21 -2
  477. package/build/error/deploy.js.map +1 -1
  478. package/build/error/m365.d.ts.map +1 -1
  479. package/build/error/m365.js +4 -0
  480. package/build/error/m365.js.map +1 -1
  481. package/build/error/script.d.ts +2 -2
  482. package/build/error/script.d.ts.map +1 -1
  483. package/build/error/script.js +7 -2
  484. package/build/error/script.js.map +1 -1
  485. package/build/error/teamsApp.d.ts +8 -0
  486. package/build/error/teamsApp.d.ts.map +1 -0
  487. package/build/error/teamsApp.js +35 -0
  488. package/build/error/teamsApp.js.map +1 -0
  489. package/build/error/types.d.ts +6 -0
  490. package/build/error/types.d.ts.map +1 -0
  491. package/build/error/types.js +12 -0
  492. package/build/error/types.js.map +1 -0
  493. package/build/error/yml.d.ts.map +1 -1
  494. package/build/error/yml.js +6 -0
  495. package/build/error/yml.js.map +1 -1
  496. package/build/index.d.ts +4 -1
  497. package/build/index.d.ts.map +1 -1
  498. package/build/index.js +5 -1
  499. package/build/index.js.map +1 -1
  500. package/build/question/constants.d.ts +4 -2
  501. package/build/question/constants.d.ts.map +1 -1
  502. package/build/question/constants.js +9 -3
  503. package/build/question/constants.js.map +1 -1
  504. package/build/question/create.d.ts +33 -8
  505. package/build/question/create.d.ts.map +1 -1
  506. package/build/question/create.js +268 -173
  507. package/build/question/create.js.map +1 -1
  508. package/build/question/generator.d.ts +2 -1
  509. package/build/question/generator.d.ts.map +1 -1
  510. package/build/question/generator.js +156 -61
  511. package/build/question/generator.js.map +1 -1
  512. package/build/question/index.d.ts +1 -0
  513. package/build/question/index.d.ts.map +1 -1
  514. package/build/question/index.js +1 -0
  515. package/build/question/index.js.map +1 -1
  516. package/build/question/inputs/CreateProjectInputs.d.ts +13 -9
  517. package/build/question/inputs/CreateProjectInputs.d.ts.map +1 -1
  518. package/build/question/inputs/CreateSampleProjectInputs.d.ts +1 -1
  519. package/build/question/inputs/CreateSampleProjectInputs.d.ts.map +1 -1
  520. package/build/question/inputs/SPFxAddWebpartInputs.d.ts +3 -1
  521. package/build/question/inputs/SPFxAddWebpartInputs.d.ts.map +1 -1
  522. package/build/question/options/CreateProjectOptions.d.ts.map +1 -1
  523. package/build/question/options/CreateProjectOptions.js +43 -24
  524. package/build/question/options/CreateProjectOptions.js.map +1 -1
  525. package/build/question/options/CreateSampleProjectOptions.d.ts.map +1 -1
  526. package/build/question/options/CreateSampleProjectOptions.js +13 -2
  527. package/build/question/options/CreateSampleProjectOptions.js.map +1 -1
  528. package/build/question/options/DeployAadManifestOptions.d.ts.map +1 -1
  529. package/build/question/options/DeployAadManifestOptions.js +3 -2
  530. package/build/question/options/DeployAadManifestOptions.js.map +1 -1
  531. package/build/question/options/PermissionGrantOptions.d.ts.map +1 -1
  532. package/build/question/options/PermissionGrantOptions.js +6 -4
  533. package/build/question/options/PermissionGrantOptions.js.map +1 -1
  534. package/build/question/options/PermissionListOptions.d.ts.map +1 -1
  535. package/build/question/options/PermissionListOptions.js +6 -4
  536. package/build/question/options/PermissionListOptions.js.map +1 -1
  537. package/build/question/options/PreviewTeamsAppOptions.d.ts.map +1 -1
  538. package/build/question/options/PreviewTeamsAppOptions.js +4 -3
  539. package/build/question/options/PreviewTeamsAppOptions.js.map +1 -1
  540. package/build/question/options/SPFxAddWebpartOptions.d.ts.map +1 -1
  541. package/build/question/options/SPFxAddWebpartOptions.js +18 -6
  542. package/build/question/options/SPFxAddWebpartOptions.js.map +1 -1
  543. package/build/question/options/SelectTeamsManifestOptions.d.ts.map +1 -1
  544. package/build/question/options/SelectTeamsManifestOptions.js +3 -2
  545. package/build/question/options/SelectTeamsManifestOptions.js.map +1 -1
  546. package/build/question/options/ValidateTeamsAppOptions.d.ts.map +1 -1
  547. package/build/question/options/ValidateTeamsAppOptions.js +5 -4
  548. package/build/question/options/ValidateTeamsAppOptions.js.map +1 -1
  549. package/build/question/other.d.ts +2 -0
  550. package/build/question/other.d.ts.map +1 -1
  551. package/build/question/other.js +96 -43
  552. package/build/question/other.js.map +1 -1
  553. package/build/question/questionNames.d.ts +6 -3
  554. package/build/question/questionNames.d.ts.map +1 -1
  555. package/build/question/questionNames.js +8 -4
  556. package/build/question/questionNames.js.map +1 -1
  557. package/build/ui/validationUtils.d.ts +23 -4
  558. package/build/ui/validationUtils.d.ts.map +1 -1
  559. package/build/ui/validationUtils.js +229 -16
  560. package/build/ui/validationUtils.js.map +1 -1
  561. package/build/ui/visitor.d.ts +1 -0
  562. package/build/ui/visitor.d.ts.map +1 -1
  563. package/build/ui/visitor.js +79 -166
  564. package/build/ui/visitor.js.map +1 -1
  565. package/package.json +18 -15
  566. package/resource/package.nls.cs.json +83 -23
  567. package/resource/package.nls.de.json +81 -21
  568. package/resource/package.nls.es.json +83 -23
  569. package/resource/package.nls.fr.json +82 -22
  570. package/resource/package.nls.it.json +82 -22
  571. package/resource/package.nls.ja.json +83 -23
  572. package/resource/package.nls.json +67 -33
  573. package/resource/package.nls.ko.json +82 -22
  574. package/resource/package.nls.pl.json +83 -23
  575. package/resource/package.nls.pt-BR.json +84 -24
  576. package/resource/package.nls.ru.json +84 -24
  577. package/resource/package.nls.tr.json +82 -22
  578. package/resource/package.nls.zh-Hans.json +82 -22
  579. package/resource/package.nls.zh-Hant.json +82 -22
  580. package/resource/package.nls.zh-cn.json +82 -22
  581. package/resource/package.nls.zh-tw.json +82 -22
  582. package/resource/yaml-schema/v1.3/yaml.schema.json +1500 -0
  583. package/templates/fallback/common.zip +0 -0
  584. package/templates/fallback/csharp.zip +0 -0
  585. package/templates/fallback/js.zip +0 -0
  586. package/templates/fallback/ts.zip +0 -0
  587. package/templates/plugins/resource/aad/auth/V3/Tab/GetUserProfile.razor +1 -2
  588. package/templates/plugins/resource/aad/auth/tab/csharp/GetUserProfile.razor +1 -2
  589. package/build/common/samples-config-v3.json +0 -446
  590. package/build/component/driver/middleware/updateProgress.d.ts +0 -6
  591. package/build/component/driver/middleware/updateProgress.d.ts.map +0 -1
  592. package/build/component/driver/middleware/updateProgress.js +0 -15
  593. package/build/component/driver/middleware/updateProgress.js.map +0 -1
  594. package/build/core/FxCoreImplementV3.d.ts +0 -49
  595. package/build/core/FxCoreImplementV3.d.ts.map +0 -1
  596. package/build/core/FxCoreImplementV3.js +0 -717
  597. package/build/core/FxCoreImplementV3.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.openAIPluginManifestLocationQuestion = exports.apiSpecLocationQuestion = exports.RuntimeOptions = exports.appNameQuestion = exports.AppNamePattern = exports.programmingLanguageQuestion = exports.ProgrammingLanguage = exports.getLanguageOptions = exports.getTemplate = exports.SPFxImportFolderQuestion = exports.SPFxVersionOptionIds = exports.SPFxWebpartNameQuestion = exports.SPFxPackageSelectQuestion = exports.NotificationTriggerOptions = exports.CapabilityOptions = exports.ProjectTypeOptions = exports.ScratchOptions = void 0;
5
+ exports.createProjectCliHelpNode = exports.createSampleProjectQuestionNode = exports.createProjectQuestionNode = exports.capabilitySubTree = exports.apiOperationQuestion = exports.openAIPluginManifestLocationQuestion = exports.apiSpecLocationQuestion = 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"));
@@ -28,6 +28,7 @@ const error_2 = require("../error");
28
28
  const questionNames_1 = require("./questionNames");
29
29
  const util_1 = require("./util");
30
30
  const constants_3 = require("./constants");
31
+ const correlator_1 = require("../common/correlator");
31
32
  class ScratchOptions {
32
33
  static yes() {
33
34
  return {
@@ -49,38 +50,40 @@ class ScratchOptions {
49
50
  }
50
51
  exports.ScratchOptions = ScratchOptions;
51
52
  class ProjectTypeOptions {
52
- static tab() {
53
+ static tab(platform) {
53
54
  return {
54
55
  id: "tab-type",
55
- label: `$(browser) ${localizeUtils_1.getLocalizedString("core.TabOption.label")}`,
56
+ label: `${platform === teamsfx_api_1.Platform.VSCode ? "$(browser) " : ""}${localizeUtils_1.getLocalizedString("core.TabOption.label")}`,
56
57
  detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.tab.detail"),
57
58
  };
58
59
  }
59
- static bot() {
60
+ static bot(platform) {
60
61
  return {
61
62
  id: "bot-type",
62
- label: `$(hubot) ${localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.bot.label")}`,
63
+ label: `${platform === teamsfx_api_1.Platform.VSCode ? "$(hubot) " : ""}${localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.bot.label")}`,
63
64
  detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.bot.detail"),
64
65
  };
65
66
  }
66
- static me() {
67
+ static me(platform) {
67
68
  return {
68
69
  id: "me-type",
69
- label: `$(symbol-keyword) ${localizeUtils_1.getLocalizedString("core.MessageExtensionOption.label")}`,
70
- detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.messageExtension.detail"),
70
+ label: `${platform === teamsfx_api_1.Platform.VSCode ? "$(symbol-keyword) " : ""}${localizeUtils_1.getLocalizedString("core.MessageExtensionOption.label")}`,
71
+ detail: featureFlags_1.isCopilotPluginEnabled()
72
+ ? localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.messageExtension.copilotEnabled.detail")
73
+ : localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.messageExtension.detail"),
71
74
  };
72
75
  }
73
- static outlookAddin() {
76
+ static outlookAddin(platform) {
74
77
  return {
75
78
  id: "outlook-addin-type",
76
- label: `$(mail) ${localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.outlookAddin.label")}`,
79
+ label: `${platform === teamsfx_api_1.Platform.VSCode ? "$(mail) " : ""}${localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.outlookAddin.label")}`,
77
80
  detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.outlookAddin.detail"),
78
81
  };
79
82
  }
80
- static copilotPlugin() {
83
+ static copilotPlugin(platform) {
81
84
  return {
82
85
  id: "copilot-plugin-type",
83
- label: `$(sparkle) ${localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.copilotPlugin.label")}`,
86
+ label: `${platform === teamsfx_api_1.Platform.VSCode ? "$(sparkle) " : ""}${localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.copilotPlugin.label")}`,
84
87
  detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.copilotPlugin.detail"),
85
88
  };
86
89
  }
@@ -88,10 +91,10 @@ class ProjectTypeOptions {
88
91
  exports.ProjectTypeOptions = ProjectTypeOptions;
89
92
  function projectTypeQuestion() {
90
93
  const staticOptions = [
91
- ProjectTypeOptions.bot(),
92
- ProjectTypeOptions.tab(),
93
- ProjectTypeOptions.me(),
94
- ProjectTypeOptions.outlookAddin(),
94
+ ProjectTypeOptions.bot(teamsfx_api_1.Platform.CLI),
95
+ ProjectTypeOptions.tab(teamsfx_api_1.Platform.CLI),
96
+ ProjectTypeOptions.me(teamsfx_api_1.Platform.CLI),
97
+ ProjectTypeOptions.outlookAddin(teamsfx_api_1.Platform.CLI),
95
98
  ];
96
99
  return {
97
100
  name: questionNames_1.QuestionNames.ProjectType,
@@ -101,19 +104,19 @@ function projectTypeQuestion() {
101
104
  dynamicOptions: (inputs) => {
102
105
  var _a;
103
106
  let staticOptions;
104
- if (featureFlags_1.isCopilotPluginEnabled()) {
107
+ if (featureFlags_1.isApiCopilotPluginEnabled()) {
105
108
  staticOptions = [
106
- ProjectTypeOptions.copilotPlugin(),
107
- ProjectTypeOptions.bot(),
108
- ProjectTypeOptions.tab(),
109
- ProjectTypeOptions.me(),
109
+ ProjectTypeOptions.copilotPlugin(inputs.platform),
110
+ ProjectTypeOptions.bot(inputs.platform),
111
+ ProjectTypeOptions.tab(inputs.platform),
112
+ ProjectTypeOptions.me(inputs.platform),
110
113
  ];
111
114
  }
112
115
  else {
113
116
  staticOptions = [
114
- ProjectTypeOptions.bot(),
115
- ProjectTypeOptions.tab(),
116
- ProjectTypeOptions.me(),
117
+ ProjectTypeOptions.bot(inputs.platform),
118
+ ProjectTypeOptions.tab(inputs.platform),
119
+ ProjectTypeOptions.me(inputs.platform),
117
120
  ];
118
121
  }
119
122
  if (developerPortalScaffoldUtils_1.isFromDevPortal(inputs)) {
@@ -123,7 +126,7 @@ function projectTypeQuestion() {
123
126
  }
124
127
  }
125
128
  else {
126
- staticOptions.push(ProjectTypeOptions.outlookAddin());
129
+ staticOptions.push(ProjectTypeOptions.outlookAddin(inputs.platform));
127
130
  }
128
131
  return staticOptions;
129
132
  },
@@ -262,8 +265,16 @@ class CapabilityOptions {
262
265
  return {
263
266
  id: "search-app",
264
267
  label: `${localizeUtils_1.getLocalizedString("core.M365SearchAppOptionItem.label")}`,
265
- detail: localizeUtils_1.getLocalizedString("core.M365SearchAppOptionItem.detail"),
266
- description: localizeUtils_1.getLocalizedString("core.createProjectQuestion.option.description.worksInOutlook"),
268
+ detail: featureFlags_1.isCopilotPluginEnabled()
269
+ ? localizeUtils_1.getLocalizedString("core.M365SearchAppOptionItem.copilot.detail")
270
+ : localizeUtils_1.getLocalizedString("core.M365SearchAppOptionItem.detail"),
271
+ };
272
+ }
273
+ static SearchMe() {
274
+ return {
275
+ id: "search-message-extension",
276
+ label: `${localizeUtils_1.getLocalizedString("core.M365SearchAppOptionItem.label")}`,
277
+ detail: localizeUtils_1.getLocalizedString("core.SearchAppOptionItem.detail"),
267
278
  };
268
279
  }
269
280
  static collectFormMe() {
@@ -282,21 +293,13 @@ class CapabilityOptions {
282
293
  };
283
294
  }
284
295
  static bots(inputs) {
285
- return inputs !== undefined && getRuntime(inputs) === RuntimeOptions.DotNet().id
286
- ? // currently no ai bot for dotnet
287
- [
288
- CapabilityOptions.basicBot(),
289
- CapabilityOptions.notificationBot(),
290
- CapabilityOptions.commandBot(),
291
- CapabilityOptions.workflowBot(inputs),
292
- ]
293
- : [
294
- CapabilityOptions.basicBot(),
295
- CapabilityOptions.aiBot(),
296
- CapabilityOptions.notificationBot(),
297
- CapabilityOptions.commandBot(),
298
- CapabilityOptions.workflowBot(inputs),
299
- ];
296
+ return [
297
+ CapabilityOptions.basicBot(),
298
+ CapabilityOptions.aiBot(),
299
+ CapabilityOptions.notificationBot(),
300
+ CapabilityOptions.commandBot(),
301
+ CapabilityOptions.workflowBot(inputs),
302
+ ];
300
303
  }
301
304
  static tabs() {
302
305
  return [
@@ -312,16 +315,34 @@ class CapabilityOptions {
312
315
  ...CapabilityOptions.bots(inputs),
313
316
  CapabilityOptions.nonSsoTab(),
314
317
  CapabilityOptions.tab(),
315
- ...CapabilityOptions.mes(),
318
+ ...CapabilityOptions.mes(inputs),
316
319
  ];
317
320
  }
318
- static mes() {
321
+ /**
322
+ * Collect all capabilities for message extension, including dotnet and nodejs.
323
+ * @returns OptionItem[] capability list
324
+ */
325
+ static collectMECaps() {
319
326
  return [
320
- CapabilityOptions.linkUnfurling(),
321
327
  CapabilityOptions.m365SearchMe(),
322
328
  CapabilityOptions.collectFormMe(),
329
+ CapabilityOptions.SearchMe(),
330
+ CapabilityOptions.linkUnfurling(),
323
331
  ];
324
332
  }
333
+ static mes(inputs) {
334
+ return inputs !== undefined && getRuntime(inputs) === RuntimeOptions.DotNet().id
335
+ ? [
336
+ CapabilityOptions.SearchMe(),
337
+ CapabilityOptions.collectFormMe(),
338
+ CapabilityOptions.linkUnfurling(),
339
+ ]
340
+ : [
341
+ CapabilityOptions.m365SearchMe(),
342
+ CapabilityOptions.collectFormMe(),
343
+ CapabilityOptions.linkUnfurling(),
344
+ ];
345
+ }
325
346
  static copilotPlugins() {
326
347
  return [
327
348
  CapabilityOptions.copilotPluginNewApi(),
@@ -329,29 +350,36 @@ class CapabilityOptions {
329
350
  CapabilityOptions.copilotPluginOpenAIPlugin(),
330
351
  ];
331
352
  }
332
- static copilotPluginCli() {
333
- return {
334
- id: "copilot-plugin-capability",
335
- label: `${localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.copilotPlugin.label")}`,
336
- detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.copilotPlugin.detail"),
337
- };
353
+ /**
354
+ * static capability list, which does not depend on any feature flags
355
+ */
356
+ static staticAll(inputs) {
357
+ const capabilityOptions = [
358
+ ...CapabilityOptions.bots(inputs),
359
+ ...CapabilityOptions.tabs(),
360
+ ...CapabilityOptions.collectMECaps(),
361
+ ...CapabilityOptions.copilotPlugins(),
362
+ ];
363
+ return capabilityOptions;
338
364
  }
365
+ /**
366
+ * dynamic capability list, which depends on feature flags
367
+ */
339
368
  static all(inputs) {
340
369
  const capabilityOptions = [
341
370
  ...CapabilityOptions.bots(inputs),
342
371
  ...CapabilityOptions.tabs(),
343
- ...CapabilityOptions.mes(),
372
+ ...CapabilityOptions.collectMECaps(),
344
373
  ];
345
- if (featureFlags_1.isCopilotPluginEnabled()) {
346
- capabilityOptions.push(CapabilityOptions.copilotPluginCli());
374
+ if (featureFlags_1.isApiCopilotPluginEnabled()) {
375
+ capabilityOptions.push(...CapabilityOptions.copilotPlugins());
347
376
  }
348
377
  return capabilityOptions;
349
378
  }
350
379
  static officeAddinImport() {
351
380
  return {
352
- id: "import-addin-project",
381
+ id: "import",
353
382
  label: localizeUtils_1.getLocalizedString("core.importAddin.label"),
354
- cliName: "import",
355
383
  detail: localizeUtils_1.getLocalizedString("core.importAddin.detail"),
356
384
  description: localizeUtils_1.getLocalizedString("core.createProjectQuestion.option.description.previewOnWindow"),
357
385
  };
@@ -379,7 +407,7 @@ class CapabilityOptions {
379
407
  // copilot plugin
380
408
  static copilotPluginNewApi() {
381
409
  return {
382
- id: "copilot-new-api",
410
+ id: constants_3.copilotPluginNewApiOptionId,
383
411
  label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.copilotPluginNewApiOption.label"),
384
412
  detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.copilotPluginNewApiOption.detail"),
385
413
  };
@@ -428,12 +456,12 @@ function capabilityQuestion() {
428
456
  return localizeUtils_1.getLocalizedString("core.createCapabilityQuestion.titleNew");
429
457
  }
430
458
  },
431
- cliDescription: "Specifies the Teams App capability.",
432
- cliName: "capability",
459
+ cliDescription: "Specifies the Microsoft Teams App capability.",
460
+ cliName: questionNames_1.CliQuestionName.Capability,
433
461
  cliShortName: "c",
434
- cliChoiceListCommand: "teamsfx list capabilities",
462
+ cliChoiceListCommand: "teamsfx list templates",
435
463
  type: "singleSelect",
436
- staticOptions: CapabilityOptions.all(),
464
+ staticOptions: CapabilityOptions.staticAll(),
437
465
  dynamicOptions: (inputs) => {
438
466
  var _a;
439
467
  // from dev portal
@@ -447,6 +475,10 @@ function capabilityQuestion() {
447
475
  if (getRuntime(inputs) === RuntimeOptions.DotNet().id) {
448
476
  return CapabilityOptions.dotnetCaps(inputs);
449
477
  }
478
+ if (inputs.nonInteractive && inputs.platform === teamsfx_api_1.Platform.CLI) {
479
+ //cli non-interactive mode the choice list is the same as staticOptions
480
+ return CapabilityOptions.all(inputs);
481
+ }
450
482
  // nodejs capabilities
451
483
  const projectType = inputs[questionNames_1.QuestionNames.ProjectType];
452
484
  if (projectType === ProjectTypeOptions.bot().id) {
@@ -465,15 +497,7 @@ function capabilityQuestion() {
465
497
  return CapabilityOptions.copilotPlugins();
466
498
  }
467
499
  else {
468
- const capabilityOptions = [
469
- ...CapabilityOptions.bots(inputs),
470
- ...CapabilityOptions.tabs(),
471
- ...CapabilityOptions.mes(),
472
- ];
473
- if (featureFlags_1.isCopilotPluginEnabled()) {
474
- capabilityOptions.push(CapabilityOptions.copilotPluginCli());
475
- }
476
- return capabilityOptions;
500
+ return CapabilityOptions.all(inputs);
477
501
  }
478
502
  },
479
503
  placeholder: (inputs) => {
@@ -486,6 +510,73 @@ function capabilityQuestion() {
486
510
  skipSingleOption: true,
487
511
  };
488
512
  }
513
+ exports.capabilityQuestion = capabilityQuestion;
514
+ class MeArchitectureOptions {
515
+ static botMe() {
516
+ return {
517
+ id: "bot",
518
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.botMessageExtension.label"),
519
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.botMessageExtension.detail"),
520
+ description: localizeUtils_1.getLocalizedString("core.createProjectQuestion.option.description.worksInOutlook"),
521
+ };
522
+ }
523
+ static botPlugin() {
524
+ return {
525
+ id: "bot-plugin",
526
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.botMessageExtension.label"),
527
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.botMessageExtension.detail"),
528
+ description: localizeUtils_1.getLocalizedString("core.createProjectQuestion.option.description.worksInOutlookCopilot"),
529
+ };
530
+ }
531
+ static newApi() {
532
+ return {
533
+ id: "new-api",
534
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.copilotPluginNewApiOption.label"),
535
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.copilotPluginNewApiOption.detail"),
536
+ };
537
+ }
538
+ static apiSpec() {
539
+ return {
540
+ id: "api-spec",
541
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.copilotPluginApiSpecOption.label"),
542
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.copilotPluginApiSpecOption.detail"),
543
+ };
544
+ }
545
+ static all() {
546
+ return [
547
+ MeArchitectureOptions.newApi(),
548
+ MeArchitectureOptions.apiSpec(),
549
+ featureFlags_1.isCopilotPluginEnabled() ? MeArchitectureOptions.botPlugin() : MeArchitectureOptions.botMe(),
550
+ ];
551
+ }
552
+ static staticAll() {
553
+ return [
554
+ MeArchitectureOptions.newApi(),
555
+ MeArchitectureOptions.apiSpec(),
556
+ MeArchitectureOptions.botPlugin(),
557
+ MeArchitectureOptions.botMe(),
558
+ ];
559
+ }
560
+ }
561
+ exports.MeArchitectureOptions = MeArchitectureOptions;
562
+ function meArchitectureQuestion() {
563
+ return {
564
+ name: questionNames_1.QuestionNames.MeArchitectureType,
565
+ title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.meArchitecture.title"),
566
+ cliDescription: "Architecture of Search Based Message Extension.",
567
+ cliShortName: "m",
568
+ type: "singleSelect",
569
+ staticOptions: MeArchitectureOptions.staticAll(),
570
+ dynamicOptions: (inputs) => {
571
+ return MeArchitectureOptions.all();
572
+ },
573
+ default: MeArchitectureOptions.newApi().id,
574
+ placeholder: localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.copilotPlugin.placeholder"),
575
+ forgetLastValue: true,
576
+ skipSingleOption: true,
577
+ };
578
+ }
579
+ exports.meArchitectureQuestion = meArchitectureQuestion;
489
580
  var HostType;
490
581
  (function (HostType) {
491
582
  HostType["AppService"] = "app-service";
@@ -501,7 +592,6 @@ class NotificationTriggerOptions {
501
592
  id: "http-restify",
502
593
  hostType: HostType.AppService,
503
594
  label: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-restify.label"),
504
- cliName: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-restify.cliName"),
505
595
  description: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-restify.description"),
506
596
  detail: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-restify.detail"),
507
597
  };
@@ -511,7 +601,6 @@ class NotificationTriggerOptions {
511
601
  id: "http-webapi",
512
602
  hostType: HostType.AppService,
513
603
  label: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-webapi.label"),
514
- cliName: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-webapi.cliName"),
515
604
  description: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-webapi.description"),
516
605
  detail: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-webapi.detail"),
517
606
  };
@@ -523,7 +612,6 @@ class NotificationTriggerOptions {
523
612
  hostType: HostType.Functions,
524
613
  triggers: [NotificationTriggers.TIMER],
525
614
  label: localizeUtils_1.getLocalizedString("plugins.bot.triggers.timer-functions.label"),
526
- cliName: localizeUtils_1.getLocalizedString("plugins.bot.triggers.timer-functions.cliName"),
527
615
  description: localizeUtils_1.getLocalizedString("plugins.bot.triggers.timer-functions.description"),
528
616
  detail: localizeUtils_1.getLocalizedString("plugins.bot.triggers.timer-functions.detail"),
529
617
  };
@@ -534,7 +622,6 @@ class NotificationTriggerOptions {
534
622
  hostType: HostType.Functions,
535
623
  triggers: [NotificationTriggers.HTTP, NotificationTriggers.TIMER],
536
624
  label: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-and-timer-functions.label"),
537
- cliName: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-and-timer-functions.cliName"),
538
625
  description: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-and-timer-functions.description"),
539
626
  detail: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-and-timer-functions.detail"),
540
627
  };
@@ -545,7 +632,6 @@ class NotificationTriggerOptions {
545
632
  hostType: HostType.Functions,
546
633
  triggers: [NotificationTriggers.HTTP],
547
634
  label: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-functions.label"),
548
- cliName: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-functions.cliName"),
549
635
  description: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-functions.description"),
550
636
  detail: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-functions.detail"),
551
637
  };
@@ -606,22 +692,13 @@ function botTriggerQuestion() {
606
692
  placeholder: localizeUtils_1.getLocalizedString("plugins.bot.questionHostTypeTrigger.placeholder"),
607
693
  };
608
694
  }
609
- function copilotPluginDevelopmentQuestion() {
610
- return {
611
- name: questionNames_1.QuestionNames.CopilotPluginDevelopment,
612
- title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.copilotPlugin.title"),
613
- type: "singleSelect",
614
- staticOptions: CapabilityOptions.copilotPlugins(),
615
- cliShortName: "cp",
616
- };
617
- }
618
695
  function SPFxSolutionQuestion() {
619
696
  return {
620
697
  type: "singleSelect",
621
698
  name: questionNames_1.QuestionNames.SPFxSolution,
622
699
  title: localizeUtils_1.getLocalizedString("plugins.spfx.questions.spfxSolution.title"),
623
700
  cliDescription: "Create a new or import an existing SharePoint Framework solution.",
624
- cliShortName: "ss",
701
+ cliShortName: "s",
625
702
  staticOptions: [
626
703
  {
627
704
  id: "new",
@@ -672,19 +749,18 @@ function SPFxPackageSelectQuestion() {
672
749
  },
673
750
  default: SPFxVersionOptionIds.installLocally,
674
751
  validation: {
675
- validFunc: async (input, previousInputs) => {
752
+ validFunc: (input, previousInputs) => {
676
753
  if (input === SPFxVersionOptionIds.globalPackage) {
677
754
  const hasPackagesInstalled = !!previousInputs &&
678
755
  !!previousInputs.globalSpfxPackageVersion &&
679
756
  !!previousInputs.globalYeomanPackageVersion;
680
757
  if (!hasPackagesInstalled) {
681
- throw error_1.DevEnvironmentSetupError();
758
+ return Promise.reject(error_1.DevEnvironmentSetupError());
682
759
  }
683
760
  }
684
- return undefined;
761
+ return Promise.resolve(undefined);
685
762
  },
686
763
  },
687
- cliShortName: "sp",
688
764
  isBoolean: true,
689
765
  };
690
766
  }
@@ -693,7 +769,8 @@ function SPFxFrameworkQuestion() {
693
769
  return {
694
770
  type: "singleSelect",
695
771
  name: questionNames_1.QuestionNames.SPFxFramework,
696
- cliShortName: "sfk",
772
+ cliShortName: "k",
773
+ cliDescription: "Framework.",
697
774
  title: localizeUtils_1.getLocalizedString("plugins.spfx.questions.framework.title"),
698
775
  staticOptions: [
699
776
  { id: "react", label: "React" },
@@ -704,12 +781,14 @@ function SPFxFrameworkQuestion() {
704
781
  default: "react",
705
782
  };
706
783
  }
784
+ exports.SPFxFrameworkQuestion = SPFxFrameworkQuestion;
707
785
  function SPFxWebpartNameQuestion() {
708
786
  return {
709
787
  type: "text",
710
788
  name: questionNames_1.QuestionNames.SPFxWebpartName,
711
- cliShortName: "sw",
712
- title: "Name for SharePoint Framework Web Part.",
789
+ cliShortName: "w",
790
+ cliDescription: "Name for SharePoint Framework Web Part.",
791
+ title: localizeUtils_1.getLocalizedString("plugins.spfx.questions.webpartName"),
713
792
  default: constants_2.Constants.DEFAULT_WEBPART_NAME,
714
793
  validation: {
715
794
  validFunc: async (input, previousInputs) => {
@@ -744,7 +823,6 @@ function SPFxImportFolderQuestion(hasDefaultFunc = false) {
744
823
  return {
745
824
  type: "folder",
746
825
  name: questionNames_1.QuestionNames.SPFxFolder,
747
- cliShortName: "sf",
748
826
  title: localizeUtils_1.getLocalizedString("core.spfxFolder.title"),
749
827
  cliDescription: "Directory or Path that contains the existing SharePoint Framework solution.",
750
828
  placeholder: localizeUtils_1.getLocalizedString("core.spfxFolder.placeholder"),
@@ -773,7 +851,7 @@ function officeAddinHostingQuestion() {
773
851
  name: questionNames_1.QuestionNames.OfficeAddinHost,
774
852
  title: "Add-in Host",
775
853
  staticOptions: [],
776
- dynamicOptions: async (inputs) => {
854
+ dynamicOptions: (inputs) => {
777
855
  const template = exports.getTemplate(inputs);
778
856
  const getHostTemplateNames = officeAddinJsonData.getHostTemplateNames(template);
779
857
  const options = getHostTemplateNames.map((host) => ({
@@ -782,7 +860,7 @@ function officeAddinHostingQuestion() {
782
860
  }));
783
861
  return options.length > 0 ? options : [{ label: "No Options", id: "No Options" }];
784
862
  },
785
- default: async (inputs) => {
863
+ default: (inputs) => {
786
864
  const template = exports.getTemplate(inputs);
787
865
  const options = officeAddinJsonData.getHostTemplateNames(template);
788
866
  return options[0] || "No Options";
@@ -791,6 +869,7 @@ function officeAddinHostingQuestion() {
791
869
  };
792
870
  return OfficeHostQuestion;
793
871
  }
872
+ exports.officeAddinHostingQuestion = officeAddinHostingQuestion;
794
873
  const officeAddinJsonData = new projectsJsonData_1.default();
795
874
  function getLanguageOptions(inputs) {
796
875
  const runtime = getRuntime(inputs);
@@ -828,7 +907,7 @@ function programmingLanguageQuestion() {
828
907
  const programmingLanguageQuestion = {
829
908
  name: questionNames_1.QuestionNames.ProgrammingLanguage,
830
909
  cliShortName: "l",
831
- title: "Programming Language.",
910
+ title: "Programming Language",
832
911
  type: "singleSelect",
833
912
  staticOptions: [
834
913
  { id: ProgrammingLanguage.JS, label: "JavaScript" },
@@ -865,17 +944,22 @@ function programmingLanguageQuestion() {
865
944
  return programmingLanguageQuestion;
866
945
  }
867
946
  exports.programmingLanguageQuestion = programmingLanguageQuestion;
868
- function rootFolderQuestion() {
947
+ function folderQuestion() {
869
948
  return {
870
949
  type: "folder",
871
950
  name: questionNames_1.QuestionNames.Folder,
872
951
  cliShortName: "f",
873
- title: localizeUtils_1.getLocalizedString("core.question.workspaceFolder.title"),
874
- cliDescription: "Root folder of the project.",
952
+ title: (inputs) => teamsfx_api_1.CLIPlatforms.includes(inputs.platform)
953
+ ? "Directory where the project folder will be created in"
954
+ : localizeUtils_1.getLocalizedString("core.question.workspaceFolder.title"),
955
+ cliDescription: "Directory where the project folder will be created in.",
875
956
  placeholder: localizeUtils_1.getLocalizedString("core.question.workspaceFolder.placeholder"),
876
- default: path.join(os.homedir(), constants_1.ConstantString.RootFolder),
957
+ default: (inputs) => teamsfx_api_1.CLIPlatforms.includes(inputs.platform)
958
+ ? "./"
959
+ : path.join(os.homedir(), constants_1.ConstantString.RootFolder),
877
960
  };
878
961
  }
962
+ exports.folderQuestion = folderQuestion;
879
963
  exports.AppNamePattern = '^(?=(.*[\\da-zA-Z]){2})[a-zA-Z][^"<>:\\?/*&|\u0000-\u001F]*[^"\\s.<>:\\?/*&|\u0000-\u001F]$';
880
964
  function appNameQuestion() {
881
965
  const question = {
@@ -936,8 +1020,9 @@ function sampleSelectQuestion() {
936
1020
  type: "singleSelect",
937
1021
  name: questionNames_1.QuestionNames.Samples,
938
1022
  cliName: "sample-name",
939
- cliDescription: "Specifies the Teams App sample name.",
1023
+ cliDescription: "Specifies the Microsoft Teams App sample name.",
940
1024
  cliChoiceListCommand: "teamsfx list samples",
1025
+ skipValidation: true,
941
1026
  cliType: "argument",
942
1027
  title: localizeUtils_1.getLocalizedString("core.SampleSelect.title"),
943
1028
  staticOptions: samples_1.sampleProvider.SampleCollection.samples.map((sample) => {
@@ -994,6 +1079,7 @@ function runtimeQuestion() {
994
1079
  staticOptions: [RuntimeOptions.NodeJS(), RuntimeOptions.DotNet()],
995
1080
  default: RuntimeOptions.NodeJS().id,
996
1081
  placeholder: localizeUtils_1.getLocalizedString("core.getRuntimeQuestion.placeholder"),
1082
+ cliHidden: true,
997
1083
  };
998
1084
  }
999
1085
  const defaultTabLocalHostUrl = "https://localhost:53000/index.html#/tab";
@@ -1117,23 +1203,28 @@ function selectBotIdsQuestion() {
1117
1203
  }
1118
1204
  const maximumLengthOfDetailsErrorMessageInInputBox = 90;
1119
1205
  function apiSpecLocationQuestion(includeExistingAPIs = true) {
1206
+ const correlationId = correlator_1.Correlator.getId(); // This is a workaround for VSCode which will loose correlation id when user accepts the value.
1120
1207
  const validationOnAccept = async (input, inputs) => {
1121
1208
  try {
1209
+ if (!inputs) {
1210
+ throw new Error("inputs is undefined"); // should never happen
1211
+ }
1122
1212
  const context = utils_4.createContextV3();
1123
- const res = await helper_1.listOperations(context, undefined, input, inputs[questionNames_1.QuestionNames.ManifestPath], includeExistingAPIs, false);
1213
+ 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);
1124
1214
  if (res.isOk()) {
1125
1215
  inputs.supportedApisFromApiSpec = res.value;
1126
1216
  }
1127
1217
  else {
1128
1218
  const errors = res.error;
1219
+ if (inputs.platform === teamsfx_api_1.Platform.CLI) {
1220
+ return errors.map((e) => e.content).join("\n");
1221
+ }
1129
1222
  if (errors.length === 1 &&
1130
1223
  errors[0].content.length <= maximumLengthOfDetailsErrorMessageInInputBox) {
1131
1224
  return errors[0].content;
1132
1225
  }
1133
1226
  else {
1134
- return inputs.platform === teamsfx_api_1.Platform.VSCode
1135
- ? localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.multipleValidationErrors.vscode.message")
1136
- : localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.multipleValidationErrors.message");
1227
+ return localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.multipleValidationErrors.vscode.message");
1137
1228
  }
1138
1229
  }
1139
1230
  }
@@ -1145,20 +1236,26 @@ function apiSpecLocationQuestion(includeExistingAPIs = true) {
1145
1236
  return {
1146
1237
  type: "singleFileOrText",
1147
1238
  name: questionNames_1.QuestionNames.ApiSpecLocation,
1148
- cliShortName: "oapi",
1239
+ cliShortName: "a",
1240
+ cliDescription: "OpenAPI description document location.",
1149
1241
  title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.title"),
1150
1242
  forgetLastValue: true,
1151
1243
  inputBoxConfig: {
1244
+ type: "innerText",
1152
1245
  title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.title"),
1153
1246
  placeholder: localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.placeholder"),
1154
1247
  name: "input-api-spec-url",
1155
1248
  step: 2,
1156
- validation: async (input) => {
1157
- return util_1.isValidHttpUrl(input)
1158
- ? undefined
1159
- : localizeUtils_1.getLocalizedString("core.createProjectQuestion.invalidUrl.message");
1249
+ validation: {
1250
+ validFunc: (input, inputs) => {
1251
+ const result = util_1.isValidHttpUrl(input)
1252
+ ? undefined
1253
+ : (inputs === null || inputs === void 0 ? void 0 : inputs.platform) === teamsfx_api_1.Platform.CLI
1254
+ ? "Please enter a valid URL or local path of your API Specification"
1255
+ : localizeUtils_1.getLocalizedString("core.createProjectQuestion.invalidUrl.message");
1256
+ return Promise.resolve(result);
1257
+ },
1160
1258
  },
1161
- additionalValidationOnAccept: validationOnAccept,
1162
1259
  },
1163
1260
  inputOptionItem: {
1164
1261
  id: "input",
@@ -1169,8 +1266,8 @@ function apiSpecLocationQuestion(includeExistingAPIs = true) {
1169
1266
  },
1170
1267
  validation: {
1171
1268
  validFunc: async (input, inputs) => {
1172
- if (input === "input") {
1173
- return undefined;
1269
+ if (!util_1.isValidHttpUrl(input) && !(await fs_extra_1.default.pathExists(input))) {
1270
+ return "Please enter a valid URL or local path of your API Specification";
1174
1271
  }
1175
1272
  return await validationOnAccept(input, inputs);
1176
1273
  },
@@ -1180,24 +1277,30 @@ function apiSpecLocationQuestion(includeExistingAPIs = true) {
1180
1277
  exports.apiSpecLocationQuestion = apiSpecLocationQuestion;
1181
1278
  function openAIPluginManifestLocationQuestion() {
1182
1279
  // export for unit test
1280
+ const correlationId = correlator_1.Correlator.getId(); // This is a workaround for VSCode which will loose correlation id when user accepts the value.
1183
1281
  return {
1184
1282
  type: "text",
1185
- name: questionNames_1.QuestionNames.OpenAIPluginManifestLocation,
1186
- cliShortName: "oai",
1187
- title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.AIPluginManifest.title"),
1188
- placeholder: localizeUtils_1.getLocalizedString("core.createProjectQuestion.AIPluginManifest.placeholder"),
1283
+ name: questionNames_1.QuestionNames.OpenAIPluginManifest,
1284
+ cliShortName: "m",
1285
+ title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.OpenAIPluginDomain"),
1286
+ placeholder: localizeUtils_1.getLocalizedString("core.createProjectQuestion.OpenAIPluginDomain.placeholder"),
1287
+ cliDescription: "OpenAI plugin website domain or manifest URL.",
1189
1288
  forgetLastValue: true,
1190
1289
  validation: {
1191
- validFunc: async (input) => {
1192
- const pattern = /(https?:\/\/)?([a-z0-9-]+(\.[a-z0-9-]+)*)(:[0-9]{1,5})?$/i;
1290
+ validFunc: (input) => {
1291
+ const pattern = /(https?:\/\/)?([a-z0-9-]+(\.[a-z0-9-]+)*)(:[0-9]{1,5})?(\/)?$/i;
1193
1292
  const match = pattern.test(input);
1194
- return match
1293
+ const result = match
1195
1294
  ? undefined
1196
- : localizeUtils_1.getLocalizedString("core.createProjectQuestion.invalidDomain.message");
1295
+ : localizeUtils_1.getLocalizedString("core.createProjectQuestion.invalidUrl.message");
1296
+ return Promise.resolve(result);
1197
1297
  },
1198
1298
  },
1199
1299
  additionalValidationOnAccept: {
1200
1300
  validFunc: async (input, inputs) => {
1301
+ if (!inputs) {
1302
+ throw new Error("inputs is undefined"); // should never happen
1303
+ }
1201
1304
  let manifest;
1202
1305
  try {
1203
1306
  manifest = await helper_1.OpenAIPluginManifestHelper.loadOpenAIPluginManifest(input);
@@ -1209,20 +1312,21 @@ function openAIPluginManifestLocationQuestion() {
1209
1312
  }
1210
1313
  const context = utils_4.createContextV3();
1211
1314
  try {
1212
- const res = await helper_1.listOperations(context, manifest, inputs[questionNames_1.QuestionNames.ApiSpecLocation], undefined, true, true);
1315
+ 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);
1213
1316
  if (res.isOk()) {
1214
1317
  inputs.supportedApisFromApiSpec = res.value;
1215
1318
  }
1216
1319
  else {
1217
1320
  const errors = res.error;
1321
+ if (inputs.platform === teamsfx_api_1.Platform.CLI) {
1322
+ return errors.map((e) => e.content).join("\n");
1323
+ }
1218
1324
  if (errors.length === 1 &&
1219
1325
  errors[0].content.length <= maximumLengthOfDetailsErrorMessageInInputBox) {
1220
1326
  return errors[0].content;
1221
1327
  }
1222
1328
  else {
1223
- return inputs.platform === teamsfx_api_1.Platform.VSCode
1224
- ? localizeUtils_1.getLocalizedString("core.createProjectQuestion.openAiPluginManifest.multipleValidationErrors.vscode.message")
1225
- : localizeUtils_1.getLocalizedString("core.createProjectQuestion.openAiPluginManifest.multipleValidationErrors.message");
1329
+ return localizeUtils_1.getLocalizedString("core.createProjectQuestion.openAiPluginManifest.multipleValidationErrors.vscode.message");
1226
1330
  }
1227
1331
  }
1228
1332
  }
@@ -1241,18 +1345,23 @@ function apiOperationQuestion(includeExistingAPIs = true) {
1241
1345
  type: "multiSelect",
1242
1346
  name: questionNames_1.QuestionNames.ApiOperation,
1243
1347
  title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.operation.title"),
1244
- cliShortName: "api",
1348
+ cliDescription: "Select Operation(s) Teams Can Interact with.",
1349
+ cliShortName: "o",
1245
1350
  placeholder: includeExistingAPIs
1246
1351
  ? localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.operation.placeholder")
1247
1352
  : localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.operation.placeholder.skipExisting"),
1248
1353
  forgetLastValue: true,
1249
1354
  staticOptions: [],
1250
1355
  validation: {
1251
- minItems: 1,
1356
+ validFunc: (input) => {
1357
+ if (input.length < 1 || input.length > 10) {
1358
+ return localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.operation.invalidMessage", input.length, 10);
1359
+ }
1360
+ },
1252
1361
  },
1253
- dynamicOptions: async (inputs) => {
1362
+ dynamicOptions: (inputs) => {
1254
1363
  if (!inputs.supportedApisFromApiSpec) {
1255
- throw new error_2.EmptyOptionError();
1364
+ throw new error_2.EmptyOptionError(questionNames_1.QuestionNames.ApiOperation, "question");
1256
1365
  }
1257
1366
  const operations = inputs.supportedApisFromApiSpec;
1258
1367
  return operations;
@@ -1260,14 +1369,6 @@ function apiOperationQuestion(includeExistingAPIs = true) {
1260
1369
  };
1261
1370
  }
1262
1371
  exports.apiOperationQuestion = apiOperationQuestion;
1263
- function getCopilotPluginFeatureId(inputs) {
1264
- if (teamsfx_api_1.CLIPlatforms.includes(inputs.platform)) {
1265
- return inputs[questionNames_1.QuestionNames.CopilotPluginDevelopment];
1266
- }
1267
- else {
1268
- return inputs[questionNames_1.QuestionNames.Capabilities];
1269
- }
1270
- }
1271
1372
  function capabilitySubTree() {
1272
1373
  const node = {
1273
1374
  data: capabilityQuestion(),
@@ -1326,31 +1427,30 @@ function capabilitySubTree() {
1326
1427
  data: officeAddinHostingQuestion(),
1327
1428
  },
1328
1429
  {
1329
- // Copilot plugin sub-tree (will show in CLI only)
1330
- condition: (inputs) => {
1331
- return (teamsfx_api_1.CLIPlatforms.includes(inputs.platform) &&
1332
- inputs[questionNames_1.QuestionNames.Capabilities] === CapabilityOptions.copilotPluginCli().id);
1333
- },
1334
- data: copilotPluginDevelopmentQuestion(),
1430
+ // Search ME sub-tree
1431
+ condition: { equals: CapabilityOptions.m365SearchMe().id },
1432
+ data: meArchitectureQuestion(),
1335
1433
  },
1336
1434
  {
1337
- // Copilot plugin from API spec or AI Plugin
1435
+ // API ME from API Spec or Copilot plugin from API spec or AI Plugin
1338
1436
  condition: (inputs) => {
1339
- return constants_3.copilotPluginExistingApiOptionIds.includes(getCopilotPluginFeatureId(inputs));
1437
+ return (inputs[questionNames_1.QuestionNames.Capabilities] === CapabilityOptions.copilotPluginApiSpec().id ||
1438
+ inputs[questionNames_1.QuestionNames.Capabilities] ===
1439
+ CapabilityOptions.copilotPluginOpenAIPlugin().id ||
1440
+ inputs[questionNames_1.QuestionNames.MeArchitectureType] === MeArchitectureOptions.apiSpec().id);
1340
1441
  },
1341
1442
  data: { type: "group", name: questionNames_1.QuestionNames.CopilotPluginExistingApi },
1342
1443
  children: [
1343
1444
  {
1344
1445
  condition: (inputs) => {
1345
- return (getCopilotPluginFeatureId(inputs) === CapabilityOptions.copilotPluginApiSpec().id);
1446
+ return (inputs[questionNames_1.QuestionNames.Capabilities] ===
1447
+ CapabilityOptions.copilotPluginApiSpec().id ||
1448
+ inputs[questionNames_1.QuestionNames.MeArchitectureType] === MeArchitectureOptions.apiSpec().id);
1346
1449
  },
1347
1450
  data: apiSpecLocationQuestion(),
1348
1451
  },
1349
1452
  {
1350
- condition: (inputs) => {
1351
- return (getCopilotPluginFeatureId(inputs) ===
1352
- CapabilityOptions.copilotPluginOpenAIPlugin().id);
1353
- },
1453
+ condition: { equals: CapabilityOptions.copilotPluginOpenAIPlugin().id },
1354
1454
  data: openAIPluginManifestLocationQuestion(),
1355
1455
  },
1356
1456
  {
@@ -1362,18 +1462,16 @@ function capabilitySubTree() {
1362
1462
  // programming language
1363
1463
  data: programmingLanguageQuestion(),
1364
1464
  condition: (inputs) => {
1365
- const copilotFeature = getCopilotPluginFeatureId(inputs);
1366
- if (copilotFeature) {
1367
- return !constants_3.copilotPluginExistingApiOptionIds.includes(getCopilotPluginFeatureId(inputs));
1368
- }
1369
- else {
1370
- return !!inputs[questionNames_1.QuestionNames.Capabilities];
1371
- }
1465
+ return (!!inputs[questionNames_1.QuestionNames.Capabilities] &&
1466
+ inputs[questionNames_1.QuestionNames.Capabilities] !== CapabilityOptions.copilotPluginApiSpec().id &&
1467
+ inputs[questionNames_1.QuestionNames.Capabilities] !==
1468
+ CapabilityOptions.copilotPluginOpenAIPlugin().id &&
1469
+ inputs[questionNames_1.QuestionNames.MeArchitectureType] !== MeArchitectureOptions.apiSpec().id);
1372
1470
  },
1373
1471
  },
1374
1472
  {
1375
1473
  // root folder
1376
- data: rootFolderQuestion(),
1474
+ data: folderQuestion(),
1377
1475
  },
1378
1476
  {
1379
1477
  // app name
@@ -1388,24 +1486,21 @@ function createProjectQuestionNode() {
1388
1486
  const createProjectQuestion = {
1389
1487
  data: { type: "group" },
1390
1488
  children: [
1391
- ...(featureFlags_1.isCLIDotNetEnabled()
1392
- ? [
1393
- {
1394
- condition: (inputs) => teamsfx_api_1.CLIPlatforms.includes(inputs.platform),
1395
- data: runtimeQuestion(),
1396
- },
1397
- ]
1398
- : []),
1399
1489
  {
1400
- condition: (inputs) => inputs.platform === teamsfx_api_1.Platform.VSCode,
1490
+ condition: (inputs) => featureFlags_1.isCLIDotNetEnabled() && teamsfx_api_1.CLIPlatforms.includes(inputs.platform),
1491
+ data: runtimeQuestion(),
1492
+ },
1493
+ {
1494
+ condition: (inputs) => inputs.platform === teamsfx_api_1.Platform.VSCode || inputs.platform === teamsfx_api_1.Platform.CLI,
1401
1495
  data: projectTypeQuestion(),
1402
- interactiveOnly: "self",
1496
+ cliOptionDisabled: "self",
1403
1497
  },
1404
1498
  capabilitySubTree(),
1405
1499
  {
1406
1500
  condition: (inputs) => inputs.teamsAppFromTdp && utils_2.isPersonalApp(inputs.teamsAppFromTdp),
1407
1501
  data: { type: "group", name: questionNames_1.QuestionNames.RepalceTabUrl },
1408
- interactiveOnly: "all",
1502
+ cliOptionDisabled: "all",
1503
+ inputsDisabled: "all",
1409
1504
  children: [
1410
1505
  {
1411
1506
  condition: (inputs) => {
@@ -1431,7 +1526,8 @@ function createProjectQuestionNode() {
1431
1526
  return appDef && utils_2.needBotCode(appDef);
1432
1527
  },
1433
1528
  data: selectBotIdsQuestion(),
1434
- interactiveOnly: "all", //CLI non interactive mode will ignore this option
1529
+ cliOptionDisabled: "all",
1530
+ inputsDisabled: "all",
1435
1531
  },
1436
1532
  ],
1437
1533
  };
@@ -1443,7 +1539,7 @@ function createSampleProjectQuestionNode() {
1443
1539
  data: sampleSelectQuestion(),
1444
1540
  children: [
1445
1541
  {
1446
- data: rootFolderQuestion(),
1542
+ data: folderQuestion(),
1447
1543
  },
1448
1544
  ],
1449
1545
  };
@@ -1462,9 +1558,8 @@ function createProjectCliHelpNode() {
1462
1558
  if (!featureFlags_1.isCLIDotNetEnabled()) {
1463
1559
  deleteNames.push(questionNames_1.QuestionNames.Runtime);
1464
1560
  }
1465
- if (!featureFlags_1.isCopilotPluginEnabled()) {
1561
+ if (!featureFlags_1.isApiCopilotPluginEnabled()) {
1466
1562
  deleteNames.push(questionNames_1.QuestionNames.CopilotPluginExistingApi);
1467
- deleteNames.push(questionNames_1.QuestionNames.CopilotPluginDevelopment);
1468
1563
  }
1469
1564
  trimQuestionTreeForCliHelp(node, deleteNames);
1470
1565
  return node;