@microsoft/teamsfx-core 2.0.5 → 2.0.6-alpha.1e1beaa82.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 (580) 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 +2 -0
  45. package/build/common/featureFlags.d.ts.map +1 -1
  46. package/build/common/featureFlags.js +11 -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 +2 -1
  82. package/build/common/spec-parser/adaptiveCardGenerator.d.ts.map +1 -1
  83. package/build/common/spec-parser/adaptiveCardGenerator.js +61 -34
  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 +92 -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/interfaces.d.ts +36 -23
  94. package/build/common/spec-parser/interfaces.d.ts.map +1 -1
  95. package/build/common/spec-parser/interfaces.js +13 -2
  96. package/build/common/spec-parser/interfaces.js.map +1 -1
  97. package/build/common/spec-parser/manifestUpdater.d.ts +5 -3
  98. package/build/common/spec-parser/manifestUpdater.d.ts.map +1 -1
  99. package/build/common/spec-parser/manifestUpdater.js +132 -47
  100. package/build/common/spec-parser/manifestUpdater.js.map +1 -1
  101. package/build/common/spec-parser/specFilter.d.ts +1 -1
  102. package/build/common/spec-parser/specFilter.d.ts.map +1 -1
  103. package/build/common/spec-parser/specFilter.js +28 -35
  104. package/build/common/spec-parser/specFilter.js.map +1 -1
  105. package/build/common/spec-parser/specParser.d.ts +8 -2
  106. package/build/common/spec-parser/specParser.d.ts.map +1 -1
  107. package/build/common/spec-parser/specParser.js +158 -110
  108. package/build/common/spec-parser/specParser.js.map +1 -1
  109. package/build/common/spec-parser/utils.d.ts +23 -0
  110. package/build/common/spec-parser/utils.d.ts.map +1 -1
  111. package/build/common/spec-parser/utils.js +265 -21
  112. package/build/common/spec-parser/utils.js.map +1 -1
  113. package/build/common/telemetry.d.ts +11 -4
  114. package/build/common/telemetry.d.ts.map +1 -1
  115. package/build/common/telemetry.js +47 -8
  116. package/build/common/telemetry.js.map +1 -1
  117. package/build/common/templates-config.json +3 -3
  118. package/build/common/tools.d.ts +1 -0
  119. package/build/common/tools.d.ts.map +1 -1
  120. package/build/common/tools.js +11 -1
  121. package/build/common/tools.js.map +1 -1
  122. package/build/common/versionMetadata.d.ts +1 -0
  123. package/build/common/versionMetadata.d.ts.map +1 -1
  124. package/build/common/versionMetadata.js +1 -0
  125. package/build/common/versionMetadata.js.map +1 -1
  126. package/build/component/configManager/interface.d.ts +0 -1
  127. package/build/component/configManager/interface.d.ts.map +1 -1
  128. package/build/component/configManager/lifecycle.d.ts +1 -3
  129. package/build/component/configManager/lifecycle.d.ts.map +1 -1
  130. package/build/component/configManager/lifecycle.js +23 -51
  131. package/build/component/configManager/lifecycle.js.map +1 -1
  132. package/build/component/configManager/parser.js.map +1 -1
  133. package/build/component/configManager/validator.d.ts.map +1 -1
  134. package/build/component/configManager/validator.js +4 -3
  135. package/build/component/configManager/validator.js.map +1 -1
  136. package/build/component/constants.d.ts +6 -0
  137. package/build/component/constants.d.ts.map +1 -1
  138. package/build/component/constants.js +7 -1
  139. package/build/component/constants.js.map +1 -1
  140. package/build/component/coordinator/index.d.ts +8 -6
  141. package/build/component/coordinator/index.d.ts.map +1 -1
  142. package/build/component/coordinator/index.js +64 -65
  143. package/build/component/coordinator/index.js.map +1 -1
  144. package/build/component/coordinator/summary.d.ts.map +1 -1
  145. package/build/component/coordinator/summary.js +2 -1
  146. package/build/component/coordinator/summary.js.map +1 -1
  147. package/build/component/developerPortalScaffoldUtils.js +3 -3
  148. package/build/component/developerPortalScaffoldUtils.js.map +1 -1
  149. package/build/component/driver/aad/create.d.ts +1 -2
  150. package/build/component/driver/aad/create.d.ts.map +1 -1
  151. package/build/component/driver/aad/create.js +9 -12
  152. package/build/component/driver/aad/create.js.map +1 -1
  153. package/build/component/driver/aad/error/aadAppNameTooLongError.d.ts +5 -0
  154. package/build/component/driver/aad/error/aadAppNameTooLongError.d.ts.map +1 -0
  155. package/build/component/driver/aad/error/aadAppNameTooLongError.js +21 -0
  156. package/build/component/driver/aad/error/aadAppNameTooLongError.js.map +1 -0
  157. package/build/component/driver/aad/update.d.ts +1 -2
  158. package/build/component/driver/aad/update.d.ts.map +1 -1
  159. package/build/component/driver/aad/update.js +5 -12
  160. package/build/component/driver/aad/update.js.map +1 -1
  161. package/build/component/driver/aad/utility/aadAppClient.d.ts +11 -3
  162. package/build/component/driver/aad/utility/aadAppClient.d.ts.map +1 -1
  163. package/build/component/driver/aad/utility/aadAppClient.js +49 -8
  164. package/build/component/driver/aad/utility/aadAppClient.js.map +1 -1
  165. package/build/component/driver/add/addWebPart.d.ts.map +1 -1
  166. package/build/component/driver/add/addWebPart.js +9 -0
  167. package/build/component/driver/add/addWebPart.js.map +1 -1
  168. package/build/component/driver/arm/deploy.d.ts +1 -3
  169. package/build/component/driver/arm/deploy.d.ts.map +1 -1
  170. package/build/component/driver/arm/deploy.js +1 -14
  171. package/build/component/driver/arm/deploy.js.map +1 -1
  172. package/build/component/driver/arm/deployImpl.d.ts.map +1 -1
  173. package/build/component/driver/arm/deployImpl.js +12 -0
  174. package/build/component/driver/arm/deployImpl.js.map +1 -1
  175. package/build/component/driver/arm/util/bicepChecker.js +7 -6
  176. package/build/component/driver/arm/util/bicepChecker.js.map +1 -1
  177. package/build/component/driver/arm/util/handleError.js.map +1 -1
  178. package/build/component/driver/botAadApp/create.d.ts +2 -1
  179. package/build/component/driver/botAadApp/create.d.ts.map +1 -1
  180. package/build/component/driver/botAadApp/create.js +10 -9
  181. package/build/component/driver/botAadApp/create.js.map +1 -1
  182. package/build/component/driver/botFramework/createOrUpdateBot.d.ts +1 -0
  183. package/build/component/driver/botFramework/createOrUpdateBot.d.ts.map +1 -1
  184. package/build/component/driver/botFramework/createOrUpdateBot.js +4 -10
  185. package/build/component/driver/botFramework/createOrUpdateBot.js.map +1 -1
  186. package/build/component/driver/deploy/azure/azureAppServiceDeployDriver.d.ts +0 -2
  187. package/build/component/driver/deploy/azure/azureAppServiceDeployDriver.d.ts.map +1 -1
  188. package/build/component/driver/deploy/azure/azureAppServiceDeployDriver.js +0 -10
  189. package/build/component/driver/deploy/azure/azureAppServiceDeployDriver.js.map +1 -1
  190. package/build/component/driver/deploy/azure/azureFunctionDeployDriver.d.ts +0 -2
  191. package/build/component/driver/deploy/azure/azureFunctionDeployDriver.d.ts.map +1 -1
  192. package/build/component/driver/deploy/azure/azureFunctionDeployDriver.js +0 -10
  193. package/build/component/driver/deploy/azure/azureFunctionDeployDriver.js.map +1 -1
  194. package/build/component/driver/deploy/azure/azureStorageDeployDriver.d.ts +0 -2
  195. package/build/component/driver/deploy/azure/azureStorageDeployDriver.d.ts.map +1 -1
  196. package/build/component/driver/deploy/azure/azureStorageDeployDriver.js +17 -19
  197. package/build/component/driver/deploy/azure/azureStorageDeployDriver.js.map +1 -1
  198. package/build/component/driver/deploy/azure/azureStorageStaticWebsiteConfigDriver.d.ts.map +1 -1
  199. package/build/component/driver/deploy/azure/azureStorageStaticWebsiteConfigDriver.js +10 -3
  200. package/build/component/driver/deploy/azure/azureStorageStaticWebsiteConfigDriver.js.map +1 -1
  201. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.d.ts.map +1 -1
  202. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js +29 -16
  203. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js.map +1 -1
  204. package/build/component/driver/deploy/azure/impl/azureDeployImpl.d.ts.map +1 -1
  205. package/build/component/driver/deploy/azure/impl/azureDeployImpl.js +27 -16
  206. package/build/component/driver/deploy/azure/impl/azureDeployImpl.js.map +1 -1
  207. package/build/component/driver/deploy/azure/impl/baseDeployImpl.d.ts.map +1 -1
  208. package/build/component/driver/deploy/azure/impl/baseDeployImpl.js +4 -4
  209. package/build/component/driver/deploy/azure/impl/baseDeployImpl.js.map +1 -1
  210. package/build/component/driver/deploy/spfx/deployDriver.d.ts +1 -0
  211. package/build/component/driver/deploy/spfx/deployDriver.d.ts.map +1 -1
  212. package/build/component/driver/deploy/spfx/deployDriver.js +24 -2
  213. package/build/component/driver/deploy/spfx/deployDriver.js.map +1 -1
  214. package/build/component/driver/devTool/constant.d.ts +2 -0
  215. package/build/component/driver/devTool/constant.d.ts.map +1 -1
  216. package/build/component/driver/devTool/constant.js +4 -0
  217. package/build/component/driver/devTool/constant.js.map +1 -1
  218. package/build/component/driver/devTool/error/testToolInstallationUserError.d.ts +5 -0
  219. package/build/component/driver/devTool/error/testToolInstallationUserError.d.ts.map +1 -0
  220. package/build/component/driver/devTool/error/testToolInstallationUserError.js +24 -0
  221. package/build/component/driver/devTool/error/testToolInstallationUserError.js.map +1 -0
  222. package/build/component/driver/devTool/installDriver.d.ts +2 -0
  223. package/build/component/driver/devTool/installDriver.d.ts.map +1 -1
  224. package/build/component/driver/devTool/installDriver.js +85 -14
  225. package/build/component/driver/devTool/installDriver.js.map +1 -1
  226. package/build/component/driver/devTool/interfaces/InstallToolArgs.d.ts +8 -0
  227. package/build/component/driver/devTool/interfaces/InstallToolArgs.d.ts.map +1 -1
  228. package/build/component/driver/file/createOrUpdateEnvironmentFile.d.ts +1 -0
  229. package/build/component/driver/file/createOrUpdateEnvironmentFile.d.ts.map +1 -1
  230. package/build/component/driver/file/createOrUpdateEnvironmentFile.js +10 -16
  231. package/build/component/driver/file/createOrUpdateEnvironmentFile.js.map +1 -1
  232. package/build/component/driver/file/createOrUpdateJsonFile.d.ts +1 -0
  233. package/build/component/driver/file/createOrUpdateJsonFile.d.ts.map +1 -1
  234. package/build/component/driver/file/createOrUpdateJsonFile.js +3 -9
  235. package/build/component/driver/file/createOrUpdateJsonFile.js.map +1 -1
  236. package/build/component/driver/interface/stepDriver.d.ts +2 -7
  237. package/build/component/driver/interface/stepDriver.d.ts.map +1 -1
  238. package/build/component/driver/m365/acquire.d.ts +1 -0
  239. package/build/component/driver/m365/acquire.d.ts.map +1 -1
  240. package/build/component/driver/m365/acquire.js +4 -10
  241. package/build/component/driver/m365/acquire.js.map +1 -1
  242. package/build/component/driver/script/baseBuildDriver.d.ts.map +1 -1
  243. package/build/component/driver/script/baseBuildDriver.js +1 -0
  244. package/build/component/driver/script/baseBuildDriver.js.map +1 -1
  245. package/build/component/driver/script/baseBuildStepDriver.d.ts +0 -2
  246. package/build/component/driver/script/baseBuildStepDriver.d.ts.map +1 -1
  247. package/build/component/driver/script/baseBuildStepDriver.js +0 -4
  248. package/build/component/driver/script/baseBuildStepDriver.js.map +1 -1
  249. package/build/component/driver/script/dotnetBuildDriver.d.ts +0 -2
  250. package/build/component/driver/script/dotnetBuildDriver.d.ts.map +1 -1
  251. package/build/component/driver/script/dotnetBuildDriver.js +0 -9
  252. package/build/component/driver/script/dotnetBuildDriver.js.map +1 -1
  253. package/build/component/driver/script/npmBuildDriver.d.ts +0 -2
  254. package/build/component/driver/script/npmBuildDriver.d.ts.map +1 -1
  255. package/build/component/driver/script/npmBuildDriver.js +0 -9
  256. package/build/component/driver/script/npmBuildDriver.js.map +1 -1
  257. package/build/component/driver/script/npxBuildDriver.d.ts +0 -2
  258. package/build/component/driver/script/npxBuildDriver.d.ts.map +1 -1
  259. package/build/component/driver/script/npxBuildDriver.js +0 -9
  260. package/build/component/driver/script/npxBuildDriver.js.map +1 -1
  261. package/build/component/driver/script/scriptDriver.d.ts +10 -1
  262. package/build/component/driver/script/scriptDriver.d.ts.map +1 -1
  263. package/build/component/driver/script/scriptDriver.js +30 -29
  264. package/build/component/driver/script/scriptDriver.js.map +1 -1
  265. package/build/component/driver/teamsApp/appStudio.d.ts.map +1 -1
  266. package/build/component/driver/teamsApp/appStudio.js +11 -8
  267. package/build/component/driver/teamsApp/appStudio.js.map +1 -1
  268. package/build/component/driver/teamsApp/clients/appStudioClient.d.ts +11 -5
  269. package/build/component/driver/teamsApp/clients/appStudioClient.d.ts.map +1 -1
  270. package/build/component/driver/teamsApp/clients/appStudioClient.js +62 -21
  271. package/build/component/driver/teamsApp/clients/appStudioClient.js.map +1 -1
  272. package/build/component/driver/teamsApp/clients/authSvcClient.d.ts.map +1 -1
  273. package/build/component/driver/teamsApp/clients/authSvcClient.js +2 -0
  274. package/build/component/driver/teamsApp/clients/authSvcClient.js.map +1 -1
  275. package/build/component/driver/teamsApp/configure.d.ts +1 -1
  276. package/build/component/driver/teamsApp/configure.d.ts.map +1 -1
  277. package/build/component/driver/teamsApp/configure.js +3 -11
  278. package/build/component/driver/teamsApp/configure.js.map +1 -1
  279. package/build/component/driver/teamsApp/copyAppPackageToSPFx.d.ts +1 -2
  280. package/build/component/driver/teamsApp/copyAppPackageToSPFx.d.ts.map +1 -1
  281. package/build/component/driver/teamsApp/copyAppPackageToSPFx.js +4 -11
  282. package/build/component/driver/teamsApp/copyAppPackageToSPFx.js.map +1 -1
  283. package/build/component/driver/teamsApp/create.d.ts +1 -1
  284. package/build/component/driver/teamsApp/create.d.ts.map +1 -1
  285. package/build/component/driver/teamsApp/create.js +6 -11
  286. package/build/component/driver/teamsApp/create.js.map +1 -1
  287. package/build/component/driver/teamsApp/createAppPackage.d.ts +4 -3
  288. package/build/component/driver/teamsApp/createAppPackage.d.ts.map +1 -1
  289. package/build/component/driver/teamsApp/createAppPackage.js +53 -43
  290. package/build/component/driver/teamsApp/createAppPackage.js.map +1 -1
  291. package/build/component/driver/teamsApp/errors.d.ts +4 -4
  292. package/build/component/driver/teamsApp/errors.d.ts.map +1 -1
  293. package/build/component/driver/teamsApp/errors.js +9 -7
  294. package/build/component/driver/teamsApp/errors.js.map +1 -1
  295. package/build/component/driver/teamsApp/interfaces/appdefinitions/messagingExtension.d.ts +2 -0
  296. package/build/component/driver/teamsApp/interfaces/appdefinitions/messagingExtension.d.ts.map +1 -1
  297. package/build/component/driver/teamsApp/interfaces/appdefinitions/messagingExtensionCommand.d.ts +1 -0
  298. package/build/component/driver/teamsApp/interfaces/appdefinitions/messagingExtensionCommand.d.ts.map +1 -1
  299. package/build/component/driver/teamsApp/publishAppPackage.d.ts +1 -1
  300. package/build/component/driver/teamsApp/publishAppPackage.d.ts.map +1 -1
  301. package/build/component/driver/teamsApp/publishAppPackage.js +5 -13
  302. package/build/component/driver/teamsApp/publishAppPackage.js.map +1 -1
  303. package/build/component/driver/teamsApp/utils/ManifestUtils.d.ts +2 -1
  304. package/build/component/driver/teamsApp/utils/ManifestUtils.d.ts.map +1 -1
  305. package/build/component/driver/teamsApp/utils/ManifestUtils.js +22 -4
  306. package/build/component/driver/teamsApp/utils/ManifestUtils.js.map +1 -1
  307. package/build/component/driver/teamsApp/utils/telemetry.d.ts +1 -0
  308. package/build/component/driver/teamsApp/utils/telemetry.d.ts.map +1 -1
  309. package/build/component/driver/teamsApp/utils/telemetry.js +1 -0
  310. package/build/component/driver/teamsApp/utils/telemetry.js.map +1 -1
  311. package/build/component/driver/teamsApp/utils/utils.d.ts +2 -2
  312. package/build/component/driver/teamsApp/utils/utils.d.ts.map +1 -1
  313. package/build/component/driver/teamsApp/utils/utils.js +22 -10
  314. package/build/component/driver/teamsApp/utils/utils.js.map +1 -1
  315. package/build/component/driver/teamsApp/validate.d.ts +1 -1
  316. package/build/component/driver/teamsApp/validate.d.ts.map +1 -1
  317. package/build/component/driver/teamsApp/validate.js +18 -13
  318. package/build/component/driver/teamsApp/validate.js.map +1 -1
  319. package/build/component/driver/teamsApp/validateAppPackage.d.ts +1 -1
  320. package/build/component/driver/teamsApp/validateAppPackage.d.ts.map +1 -1
  321. package/build/component/driver/teamsApp/validateAppPackage.js +6 -11
  322. package/build/component/driver/teamsApp/validateAppPackage.js.map +1 -1
  323. package/build/component/error/componentError.d.ts.map +1 -1
  324. package/build/component/error/componentError.js +6 -3
  325. package/build/component/error/componentError.js.map +1 -1
  326. package/build/component/feature/collaboration.d.ts +2 -2
  327. package/build/component/feature/collaboration.d.ts.map +1 -1
  328. package/build/component/feature/collaboration.js +35 -16
  329. package/build/component/feature/collaboration.js.map +1 -1
  330. package/build/component/generator/copilotPlugin/generator.d.ts +3 -1
  331. package/build/component/generator/copilotPlugin/generator.d.ts.map +1 -1
  332. package/build/component/generator/copilotPlugin/generator.js +73 -20
  333. package/build/component/generator/copilotPlugin/generator.js.map +1 -1
  334. package/build/component/generator/copilotPlugin/helper.d.ts +8 -3
  335. package/build/component/generator/copilotPlugin/helper.d.ts.map +1 -1
  336. package/build/component/generator/copilotPlugin/helper.js +129 -50
  337. package/build/component/generator/copilotPlugin/helper.js.map +1 -1
  338. package/build/component/generator/error.d.ts +6 -0
  339. package/build/component/generator/error.d.ts.map +1 -1
  340. package/build/component/generator/error.js +13 -1
  341. package/build/component/generator/error.js.map +1 -1
  342. package/build/component/generator/generator.d.ts.map +1 -1
  343. package/build/component/generator/generator.js +30 -19
  344. package/build/component/generator/generator.js.map +1 -1
  345. package/build/component/generator/generatorAction.d.ts +2 -1
  346. package/build/component/generator/generatorAction.d.ts.map +1 -1
  347. package/build/component/generator/generatorAction.js +8 -2
  348. package/build/component/generator/generatorAction.js.map +1 -1
  349. package/build/component/generator/officeAddin/generator.js +3 -3
  350. package/build/component/generator/officeAddin/generator.js.map +1 -1
  351. package/build/component/generator/officeAddin/helperMethods.d.ts.map +1 -1
  352. package/build/component/generator/officeAddin/helperMethods.js +6 -2
  353. package/build/component/generator/officeAddin/helperMethods.js.map +1 -1
  354. package/build/component/generator/spfx/depsChecker/generatorChecker.d.ts.map +1 -1
  355. package/build/component/generator/spfx/depsChecker/generatorChecker.js +4 -2
  356. package/build/component/generator/spfx/depsChecker/generatorChecker.js.map +1 -1
  357. package/build/component/generator/spfx/depsChecker/yoChecker.d.ts.map +1 -1
  358. package/build/component/generator/spfx/depsChecker/yoChecker.js +3 -3
  359. package/build/component/generator/spfx/depsChecker/yoChecker.js.map +1 -1
  360. package/build/component/generator/spfx/spfxGenerator.d.ts.map +1 -1
  361. package/build/component/generator/spfx/spfxGenerator.js +2 -2
  362. package/build/component/generator/spfx/spfxGenerator.js.map +1 -1
  363. package/build/component/generator/spfx/utils/utils.js +3 -3
  364. package/build/component/generator/spfx/utils/utils.js.map +1 -1
  365. package/build/component/generator/utils.d.ts +2 -2
  366. package/build/component/generator/utils.d.ts.map +1 -1
  367. package/build/component/generator/utils.js +13 -13
  368. package/build/component/generator/utils.js.map +1 -1
  369. package/build/component/messages.d.ts +2 -3
  370. package/build/component/messages.d.ts.map +1 -1
  371. package/build/component/messages.js +3 -4
  372. package/build/component/messages.js.map +1 -1
  373. package/build/component/middleware/actionExecutionMW.d.ts +2 -2
  374. package/build/component/middleware/actionExecutionMW.d.ts.map +1 -1
  375. package/build/component/middleware/envMW.js +3 -3
  376. package/build/component/middleware/envMW.js.map +1 -1
  377. package/build/component/provisionUtils.d.ts +3 -3
  378. package/build/component/provisionUtils.d.ts.map +1 -1
  379. package/build/component/provisionUtils.js +3 -3
  380. package/build/component/provisionUtils.js.map +1 -1
  381. package/build/component/resource/botService/appStudio/appStudioClient.d.ts.map +1 -1
  382. package/build/component/resource/botService/appStudio/appStudioClient.js +49 -16
  383. package/build/component/resource/botService/appStudio/appStudioClient.js.map +1 -1
  384. package/build/component/resource/botService/botRegistration/botFrameworkRegistration.d.ts +2 -2
  385. package/build/component/resource/botService/botRegistration/botFrameworkRegistration.d.ts.map +1 -1
  386. package/build/component/resource/botService/botRegistration/botFrameworkRegistration.js +6 -1
  387. package/build/component/resource/botService/botRegistration/botFrameworkRegistration.js.map +1 -1
  388. package/build/component/telemetry.js +2 -2
  389. package/build/component/telemetry.js.map +1 -1
  390. package/build/component/utils/ResourceGroupHelper.d.ts +2 -2
  391. package/build/component/utils/ResourceGroupHelper.d.ts.map +1 -1
  392. package/build/component/utils/ResourceGroupHelper.js +11 -9
  393. package/build/component/utils/ResourceGroupHelper.js.map +1 -1
  394. package/build/component/utils/charsetUtils.js +3 -3
  395. package/build/component/utils/charsetUtils.js.map +1 -1
  396. package/build/component/utils/common.js +1 -1
  397. package/build/component/utils/common.js.map +1 -1
  398. package/build/component/utils/depsChecker/cpUtils.d.ts.map +1 -1
  399. package/build/component/utils/depsChecker/cpUtils.js +8 -4
  400. package/build/component/utils/depsChecker/cpUtils.js.map +1 -1
  401. package/build/component/utils/envUtil.d.ts.map +1 -1
  402. package/build/component/utils/envUtil.js +9 -5
  403. package/build/component/utils/envUtil.js.map +1 -1
  404. package/build/component/utils/pathUtils.d.ts.map +1 -1
  405. package/build/component/utils/pathUtils.js +9 -4
  406. package/build/component/utils/pathUtils.js.map +1 -1
  407. package/build/component/utils/teamsFxTelemetryReporter.js +2 -2
  408. package/build/component/utils/teamsFxTelemetryReporter.js.map +1 -1
  409. package/build/core/FxCore.d.ts +38 -34
  410. package/build/core/FxCore.d.ts.map +1 -1
  411. package/build/core/FxCore.js +843 -66
  412. package/build/core/FxCore.js.map +1 -1
  413. package/build/core/collaborator.js +3 -3
  414. package/build/core/collaborator.js.map +1 -1
  415. package/build/core/environment.d.ts +2 -9
  416. package/build/core/environment.d.ts.map +1 -1
  417. package/build/core/environment.js +17 -13
  418. package/build/core/environment.js.map +1 -1
  419. package/build/core/environmentName.d.ts +18 -0
  420. package/build/core/environmentName.d.ts.map +1 -0
  421. package/build/core/environmentName.js +35 -0
  422. package/build/core/environmentName.js.map +1 -0
  423. package/build/core/globalVars.d.ts +16 -0
  424. package/build/core/globalVars.d.ts.map +1 -1
  425. package/build/core/globalVars.js +34 -1
  426. package/build/core/globalVars.js.map +1 -1
  427. package/build/core/middleware/concurrentLocker.d.ts.map +1 -1
  428. package/build/core/middleware/concurrentLocker.js +7 -3
  429. package/build/core/middleware/concurrentLocker.js.map +1 -1
  430. package/build/core/middleware/projectMigratorV3.d.ts.map +1 -1
  431. package/build/core/middleware/projectMigratorV3.js.map +1 -1
  432. package/build/core/middleware/projectVersionChecker.js +5 -5
  433. package/build/core/middleware/projectVersionChecker.js.map +1 -1
  434. package/build/core/middleware/utils/appYmlGenerator.d.ts.map +1 -1
  435. package/build/core/middleware/utils/appYmlGenerator.js +2 -1
  436. package/build/core/middleware/utils/appYmlGenerator.js.map +1 -1
  437. package/build/core/middleware/utils/debug/taskMigrator.d.ts.map +1 -1
  438. package/build/core/middleware/utils/debug/taskMigrator.js +3 -0
  439. package/build/core/middleware/utils/debug/taskMigrator.js.map +1 -1
  440. package/build/core/middleware/utils/v3MigrationUtils.js +1 -1
  441. package/build/core/middleware/utils/v3MigrationUtils.js.map +1 -1
  442. package/build/core/telemetry.d.ts +1 -0
  443. package/build/core/telemetry.d.ts.map +1 -1
  444. package/build/core/telemetry.js +3 -3
  445. package/build/core/telemetry.js.map +1 -1
  446. package/build/error/arm.d.ts.map +1 -1
  447. package/build/error/arm.js +10 -0
  448. package/build/error/arm.js.map +1 -1
  449. package/build/error/azure.d.ts +5 -5
  450. package/build/error/azure.d.ts.map +1 -1
  451. package/build/error/azure.js +21 -5
  452. package/build/error/azure.js.map +1 -1
  453. package/build/error/common.d.ts +8 -11
  454. package/build/error/common.d.ts.map +1 -1
  455. package/build/error/common.js +67 -53
  456. package/build/error/common.js.map +1 -1
  457. package/build/error/deploy.d.ts +1 -1
  458. package/build/error/deploy.d.ts.map +1 -1
  459. package/build/error/deploy.js +21 -2
  460. package/build/error/deploy.js.map +1 -1
  461. package/build/error/m365.d.ts.map +1 -1
  462. package/build/error/m365.js +4 -0
  463. package/build/error/m365.js.map +1 -1
  464. package/build/error/script.d.ts +2 -2
  465. package/build/error/script.d.ts.map +1 -1
  466. package/build/error/script.js +7 -2
  467. package/build/error/script.js.map +1 -1
  468. package/build/error/teamsApp.d.ts +8 -0
  469. package/build/error/teamsApp.d.ts.map +1 -0
  470. package/build/error/teamsApp.js +35 -0
  471. package/build/error/teamsApp.js.map +1 -0
  472. package/build/error/types.d.ts +6 -0
  473. package/build/error/types.d.ts.map +1 -0
  474. package/build/error/types.js +12 -0
  475. package/build/error/types.js.map +1 -0
  476. package/build/error/yml.d.ts.map +1 -1
  477. package/build/error/yml.js +6 -0
  478. package/build/error/yml.js.map +1 -1
  479. package/build/index.d.ts +4 -1
  480. package/build/index.d.ts.map +1 -1
  481. package/build/index.js +5 -1
  482. package/build/index.js.map +1 -1
  483. package/build/question/constants.d.ts +4 -2
  484. package/build/question/constants.d.ts.map +1 -1
  485. package/build/question/constants.js +9 -3
  486. package/build/question/constants.js.map +1 -1
  487. package/build/question/create.d.ts +25 -8
  488. package/build/question/create.d.ts.map +1 -1
  489. package/build/question/create.js +215 -178
  490. package/build/question/create.js.map +1 -1
  491. package/build/question/generator.d.ts +2 -1
  492. package/build/question/generator.d.ts.map +1 -1
  493. package/build/question/generator.js +156 -61
  494. package/build/question/generator.js.map +1 -1
  495. package/build/question/index.d.ts +1 -0
  496. package/build/question/index.d.ts.map +1 -1
  497. package/build/question/index.js +1 -0
  498. package/build/question/index.js.map +1 -1
  499. package/build/question/inputs/CreateProjectInputs.d.ts +9 -7
  500. package/build/question/inputs/CreateProjectInputs.d.ts.map +1 -1
  501. package/build/question/inputs/CreateSampleProjectInputs.d.ts +1 -1
  502. package/build/question/inputs/CreateSampleProjectInputs.d.ts.map +1 -1
  503. package/build/question/inputs/SPFxAddWebpartInputs.d.ts +1 -1
  504. package/build/question/inputs/SPFxAddWebpartInputs.d.ts.map +1 -1
  505. package/build/question/options/CreateProjectOptions.d.ts.map +1 -1
  506. package/build/question/options/CreateProjectOptions.js +37 -25
  507. package/build/question/options/CreateProjectOptions.js.map +1 -1
  508. package/build/question/options/CreateSampleProjectOptions.d.ts.map +1 -1
  509. package/build/question/options/CreateSampleProjectOptions.js +13 -2
  510. package/build/question/options/CreateSampleProjectOptions.js.map +1 -1
  511. package/build/question/options/DeployAadManifestOptions.d.ts.map +1 -1
  512. package/build/question/options/DeployAadManifestOptions.js +3 -2
  513. package/build/question/options/DeployAadManifestOptions.js.map +1 -1
  514. package/build/question/options/PermissionGrantOptions.d.ts.map +1 -1
  515. package/build/question/options/PermissionGrantOptions.js +6 -4
  516. package/build/question/options/PermissionGrantOptions.js.map +1 -1
  517. package/build/question/options/PermissionListOptions.d.ts.map +1 -1
  518. package/build/question/options/PermissionListOptions.js +6 -4
  519. package/build/question/options/PermissionListOptions.js.map +1 -1
  520. package/build/question/options/PreviewTeamsAppOptions.d.ts.map +1 -1
  521. package/build/question/options/PreviewTeamsAppOptions.js +4 -3
  522. package/build/question/options/PreviewTeamsAppOptions.js.map +1 -1
  523. package/build/question/options/SPFxAddWebpartOptions.d.ts.map +1 -1
  524. package/build/question/options/SPFxAddWebpartOptions.js +9 -6
  525. package/build/question/options/SPFxAddWebpartOptions.js.map +1 -1
  526. package/build/question/options/SelectTeamsManifestOptions.d.ts.map +1 -1
  527. package/build/question/options/SelectTeamsManifestOptions.js +3 -2
  528. package/build/question/options/SelectTeamsManifestOptions.js.map +1 -1
  529. package/build/question/options/ValidateTeamsAppOptions.d.ts.map +1 -1
  530. package/build/question/options/ValidateTeamsAppOptions.js +5 -4
  531. package/build/question/options/ValidateTeamsAppOptions.js.map +1 -1
  532. package/build/question/other.d.ts +2 -0
  533. package/build/question/other.d.ts.map +1 -1
  534. package/build/question/other.js +71 -41
  535. package/build/question/other.js.map +1 -1
  536. package/build/question/questionNames.d.ts +5 -3
  537. package/build/question/questionNames.d.ts.map +1 -1
  538. package/build/question/questionNames.js +7 -4
  539. package/build/question/questionNames.js.map +1 -1
  540. package/build/ui/validationUtils.d.ts +23 -4
  541. package/build/ui/validationUtils.d.ts.map +1 -1
  542. package/build/ui/validationUtils.js +229 -16
  543. package/build/ui/validationUtils.js.map +1 -1
  544. package/build/ui/visitor.d.ts +1 -0
  545. package/build/ui/visitor.d.ts.map +1 -1
  546. package/build/ui/visitor.js +79 -166
  547. package/build/ui/visitor.js.map +1 -1
  548. package/package.json +16 -14
  549. package/resource/package.nls.cs.json +83 -23
  550. package/resource/package.nls.de.json +81 -21
  551. package/resource/package.nls.es.json +83 -23
  552. package/resource/package.nls.fr.json +82 -22
  553. package/resource/package.nls.it.json +82 -22
  554. package/resource/package.nls.ja.json +83 -23
  555. package/resource/package.nls.json +49 -20
  556. package/resource/package.nls.ko.json +82 -22
  557. package/resource/package.nls.pl.json +83 -23
  558. package/resource/package.nls.pt-BR.json +84 -24
  559. package/resource/package.nls.ru.json +84 -24
  560. package/resource/package.nls.tr.json +82 -22
  561. package/resource/package.nls.zh-Hans.json +82 -22
  562. package/resource/package.nls.zh-Hant.json +82 -22
  563. package/resource/package.nls.zh-cn.json +82 -22
  564. package/resource/package.nls.zh-tw.json +82 -22
  565. package/resource/yaml-schema/v1.3/yaml.schema.json +1500 -0
  566. package/templates/fallback/common.zip +0 -0
  567. package/templates/fallback/csharp.zip +0 -0
  568. package/templates/fallback/js.zip +0 -0
  569. package/templates/fallback/ts.zip +0 -0
  570. package/templates/plugins/resource/aad/auth/V3/Tab/GetUserProfile.razor +1 -2
  571. package/templates/plugins/resource/aad/auth/tab/csharp/GetUserProfile.razor +1 -2
  572. package/build/common/samples-config-v3.json +0 -446
  573. package/build/component/driver/middleware/updateProgress.d.ts +0 -6
  574. package/build/component/driver/middleware/updateProgress.d.ts.map +0 -1
  575. package/build/component/driver/middleware/updateProgress.js +0 -15
  576. package/build/component/driver/middleware/updateProgress.js.map +0 -1
  577. package/build/core/FxCoreImplementV3.d.ts +0 -49
  578. package/build/core/FxCoreImplementV3.d.ts.map +0 -1
  579. package/build/core/FxCoreImplementV3.js +0 -717
  580. 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.SPFxPackageSelectQuestion = exports.NotificationTriggerOptions = 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,38 @@ 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
+ label: `${platform === teamsfx_api_1.Platform.VSCode ? "$(symbol-keyword) " : ""}${localizeUtils_1.getLocalizedString("core.MessageExtensionOption.label")}`,
70
71
  detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.messageExtension.detail"),
71
72
  };
72
73
  }
73
- static outlookAddin() {
74
+ static outlookAddin(platform) {
74
75
  return {
75
76
  id: "outlook-addin-type",
76
- label: `$(mail) ${localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.outlookAddin.label")}`,
77
+ label: `${platform === teamsfx_api_1.Platform.VSCode ? "$(mail) " : ""}${localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.outlookAddin.label")}`,
77
78
  detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.outlookAddin.detail"),
78
79
  };
79
80
  }
80
- static copilotPlugin() {
81
+ static copilotPlugin(platform) {
81
82
  return {
82
83
  id: "copilot-plugin-type",
83
- label: `$(sparkle) ${localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.copilotPlugin.label")}`,
84
+ label: `${platform === teamsfx_api_1.Platform.VSCode ? "$(sparkle) " : ""}${localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.copilotPlugin.label")}`,
84
85
  detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.copilotPlugin.detail"),
85
86
  };
86
87
  }
@@ -88,10 +89,10 @@ class ProjectTypeOptions {
88
89
  exports.ProjectTypeOptions = ProjectTypeOptions;
89
90
  function projectTypeQuestion() {
90
91
  const staticOptions = [
91
- ProjectTypeOptions.bot(),
92
- ProjectTypeOptions.tab(),
93
- ProjectTypeOptions.me(),
94
- ProjectTypeOptions.outlookAddin(),
92
+ ProjectTypeOptions.bot(teamsfx_api_1.Platform.CLI),
93
+ ProjectTypeOptions.tab(teamsfx_api_1.Platform.CLI),
94
+ ProjectTypeOptions.me(teamsfx_api_1.Platform.CLI),
95
+ ProjectTypeOptions.outlookAddin(teamsfx_api_1.Platform.CLI),
95
96
  ];
96
97
  return {
97
98
  name: questionNames_1.QuestionNames.ProjectType,
@@ -101,19 +102,19 @@ function projectTypeQuestion() {
101
102
  dynamicOptions: (inputs) => {
102
103
  var _a;
103
104
  let staticOptions;
104
- if (featureFlags_1.isCopilotPluginEnabled()) {
105
+ if (featureFlags_1.isApiCopilotPluginEnabled()) {
105
106
  staticOptions = [
106
- ProjectTypeOptions.copilotPlugin(),
107
- ProjectTypeOptions.bot(),
108
- ProjectTypeOptions.tab(),
109
- ProjectTypeOptions.me(),
107
+ ProjectTypeOptions.copilotPlugin(inputs.platform),
108
+ ProjectTypeOptions.bot(inputs.platform),
109
+ ProjectTypeOptions.tab(inputs.platform),
110
+ ProjectTypeOptions.me(inputs.platform),
110
111
  ];
111
112
  }
112
113
  else {
113
114
  staticOptions = [
114
- ProjectTypeOptions.bot(),
115
- ProjectTypeOptions.tab(),
116
- ProjectTypeOptions.me(),
115
+ ProjectTypeOptions.bot(inputs.platform),
116
+ ProjectTypeOptions.tab(inputs.platform),
117
+ ProjectTypeOptions.me(inputs.platform),
117
118
  ];
118
119
  }
119
120
  if (developerPortalScaffoldUtils_1.isFromDevPortal(inputs)) {
@@ -123,7 +124,7 @@ function projectTypeQuestion() {
123
124
  }
124
125
  }
125
126
  else {
126
- staticOptions.push(ProjectTypeOptions.outlookAddin());
127
+ staticOptions.push(ProjectTypeOptions.outlookAddin(inputs.platform));
127
128
  }
128
129
  return staticOptions;
129
130
  },
@@ -266,6 +267,21 @@ class CapabilityOptions {
266
267
  description: localizeUtils_1.getLocalizedString("core.createProjectQuestion.option.description.worksInOutlook"),
267
268
  };
268
269
  }
270
+ static copilotM365SearchMe() {
271
+ return {
272
+ id: "search-me-copilot",
273
+ label: `${localizeUtils_1.getLocalizedString("core.M365SearchAppOptionItem.label")}`,
274
+ detail: localizeUtils_1.getLocalizedString("core.M365SearchAppOptionItem.detail"),
275
+ description: localizeUtils_1.getLocalizedString("core.createProjectQuestion.option.description.worksInOutlookCopilot"),
276
+ };
277
+ }
278
+ static SearchMe() {
279
+ return {
280
+ id: "search-message-extension",
281
+ label: `${localizeUtils_1.getLocalizedString("core.M365SearchAppOptionItem.label")}`,
282
+ detail: localizeUtils_1.getLocalizedString("core.SearchAppOptionItem.detail"),
283
+ };
284
+ }
269
285
  static collectFormMe() {
270
286
  return {
271
287
  id: "collect-form-message-extension",
@@ -282,21 +298,13 @@ class CapabilityOptions {
282
298
  };
283
299
  }
284
300
  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
- ];
301
+ return [
302
+ CapabilityOptions.basicBot(),
303
+ CapabilityOptions.aiBot(),
304
+ CapabilityOptions.notificationBot(),
305
+ CapabilityOptions.commandBot(),
306
+ CapabilityOptions.workflowBot(inputs),
307
+ ];
300
308
  }
301
309
  static tabs() {
302
310
  return [
@@ -312,15 +320,47 @@ class CapabilityOptions {
312
320
  ...CapabilityOptions.bots(inputs),
313
321
  CapabilityOptions.nonSsoTab(),
314
322
  CapabilityOptions.tab(),
315
- ...CapabilityOptions.mes(),
323
+ ...CapabilityOptions.mes(inputs),
316
324
  ];
317
325
  }
318
- static mes() {
319
- return [
320
- CapabilityOptions.linkUnfurling(),
321
- CapabilityOptions.m365SearchMe(),
322
- CapabilityOptions.collectFormMe(),
323
- ];
326
+ /**
327
+ * Collect all capabilities for message extension, including dotnet and nodejs.
328
+ * @param filterByFeatureFlag true: filter capabilities by feature flag, false: return all capabilities
329
+ * @returns OptionItem[] capability list
330
+ */
331
+ static collectMECaps(filterByFeatureFlag) {
332
+ return filterByFeatureFlag
333
+ ? [
334
+ CapabilityOptions.linkUnfurling(),
335
+ ...(featureFlags_1.isCopilotPluginEnabled()
336
+ ? [CapabilityOptions.copilotM365SearchMe()]
337
+ : [CapabilityOptions.m365SearchMe(), CapabilityOptions.SearchMe()]),
338
+ CapabilityOptions.collectFormMe(),
339
+ ]
340
+ : [
341
+ CapabilityOptions.linkUnfurling(),
342
+ CapabilityOptions.m365SearchMe(),
343
+ CapabilityOptions.collectFormMe(),
344
+ CapabilityOptions.copilotM365SearchMe(),
345
+ CapabilityOptions.SearchMe(),
346
+ ];
347
+ }
348
+ static mes(inputs) {
349
+ return inputs !== undefined && getRuntime(inputs) === RuntimeOptions.DotNet().id
350
+ ? [
351
+ CapabilityOptions.linkUnfurling(),
352
+ featureFlags_1.isCopilotPluginEnabled()
353
+ ? CapabilityOptions.copilotM365SearchMe()
354
+ : CapabilityOptions.SearchMe(),
355
+ CapabilityOptions.collectFormMe(),
356
+ ]
357
+ : [
358
+ CapabilityOptions.linkUnfurling(),
359
+ featureFlags_1.isCopilotPluginEnabled()
360
+ ? CapabilityOptions.copilotM365SearchMe()
361
+ : CapabilityOptions.m365SearchMe(),
362
+ CapabilityOptions.collectFormMe(),
363
+ ];
324
364
  }
325
365
  static copilotPlugins() {
326
366
  return [
@@ -329,29 +369,36 @@ class CapabilityOptions {
329
369
  CapabilityOptions.copilotPluginOpenAIPlugin(),
330
370
  ];
331
371
  }
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
- };
372
+ /**
373
+ * static capability list, which does not depend on any feature flags
374
+ */
375
+ static staticAll(inputs) {
376
+ const capabilityOptions = [
377
+ ...CapabilityOptions.bots(inputs),
378
+ ...CapabilityOptions.tabs(),
379
+ ...CapabilityOptions.collectMECaps(false),
380
+ ...CapabilityOptions.copilotPlugins(),
381
+ ];
382
+ return capabilityOptions;
338
383
  }
384
+ /**
385
+ * dynamic capability list, which depends on feature flags
386
+ */
339
387
  static all(inputs) {
340
388
  const capabilityOptions = [
341
389
  ...CapabilityOptions.bots(inputs),
342
390
  ...CapabilityOptions.tabs(),
343
- ...CapabilityOptions.mes(),
391
+ ...CapabilityOptions.collectMECaps(true),
344
392
  ];
345
- if (featureFlags_1.isCopilotPluginEnabled()) {
346
- capabilityOptions.push(CapabilityOptions.copilotPluginCli());
393
+ if (featureFlags_1.isApiCopilotPluginEnabled()) {
394
+ capabilityOptions.push(...CapabilityOptions.copilotPlugins());
347
395
  }
348
396
  return capabilityOptions;
349
397
  }
350
398
  static officeAddinImport() {
351
399
  return {
352
- id: "import-addin-project",
400
+ id: "import",
353
401
  label: localizeUtils_1.getLocalizedString("core.importAddin.label"),
354
- cliName: "import",
355
402
  detail: localizeUtils_1.getLocalizedString("core.importAddin.detail"),
356
403
  description: localizeUtils_1.getLocalizedString("core.createProjectQuestion.option.description.previewOnWindow"),
357
404
  };
@@ -379,7 +426,7 @@ class CapabilityOptions {
379
426
  // copilot plugin
380
427
  static copilotPluginNewApi() {
381
428
  return {
382
- id: "copilot-new-api",
429
+ id: constants_3.copilotPluginNewApiOptionId,
383
430
  label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.copilotPluginNewApiOption.label"),
384
431
  detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.copilotPluginNewApiOption.detail"),
385
432
  };
@@ -428,12 +475,12 @@ function capabilityQuestion() {
428
475
  return localizeUtils_1.getLocalizedString("core.createCapabilityQuestion.titleNew");
429
476
  }
430
477
  },
431
- cliDescription: "Specifies the Teams App capability.",
432
- cliName: "capability",
478
+ cliDescription: "Specifies the Microsoft Teams App capability.",
479
+ cliName: questionNames_1.CliQuestionName.Capability,
433
480
  cliShortName: "c",
434
- cliChoiceListCommand: "teamsfx list capabilities",
481
+ cliChoiceListCommand: "teamsfx list templates",
435
482
  type: "singleSelect",
436
- staticOptions: CapabilityOptions.all(),
483
+ staticOptions: CapabilityOptions.staticAll(),
437
484
  dynamicOptions: (inputs) => {
438
485
  var _a;
439
486
  // from dev portal
@@ -447,6 +494,10 @@ function capabilityQuestion() {
447
494
  if (getRuntime(inputs) === RuntimeOptions.DotNet().id) {
448
495
  return CapabilityOptions.dotnetCaps(inputs);
449
496
  }
497
+ if (inputs.nonInteractive && inputs.platform === teamsfx_api_1.Platform.CLI) {
498
+ //cli non-interactive mode the choice list is the same as staticOptions
499
+ return CapabilityOptions.all(inputs);
500
+ }
450
501
  // nodejs capabilities
451
502
  const projectType = inputs[questionNames_1.QuestionNames.ProjectType];
452
503
  if (projectType === ProjectTypeOptions.bot().id) {
@@ -465,15 +516,7 @@ function capabilityQuestion() {
465
516
  return CapabilityOptions.copilotPlugins();
466
517
  }
467
518
  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;
519
+ return CapabilityOptions.all(inputs);
477
520
  }
478
521
  },
479
522
  placeholder: (inputs) => {
@@ -486,6 +529,7 @@ function capabilityQuestion() {
486
529
  skipSingleOption: true,
487
530
  };
488
531
  }
532
+ exports.capabilityQuestion = capabilityQuestion;
489
533
  var HostType;
490
534
  (function (HostType) {
491
535
  HostType["AppService"] = "app-service";
@@ -501,7 +545,6 @@ class NotificationTriggerOptions {
501
545
  id: "http-restify",
502
546
  hostType: HostType.AppService,
503
547
  label: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-restify.label"),
504
- cliName: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-restify.cliName"),
505
548
  description: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-restify.description"),
506
549
  detail: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-restify.detail"),
507
550
  };
@@ -511,7 +554,6 @@ class NotificationTriggerOptions {
511
554
  id: "http-webapi",
512
555
  hostType: HostType.AppService,
513
556
  label: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-webapi.label"),
514
- cliName: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-webapi.cliName"),
515
557
  description: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-webapi.description"),
516
558
  detail: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-webapi.detail"),
517
559
  };
@@ -523,7 +565,6 @@ class NotificationTriggerOptions {
523
565
  hostType: HostType.Functions,
524
566
  triggers: [NotificationTriggers.TIMER],
525
567
  label: localizeUtils_1.getLocalizedString("plugins.bot.triggers.timer-functions.label"),
526
- cliName: localizeUtils_1.getLocalizedString("plugins.bot.triggers.timer-functions.cliName"),
527
568
  description: localizeUtils_1.getLocalizedString("plugins.bot.triggers.timer-functions.description"),
528
569
  detail: localizeUtils_1.getLocalizedString("plugins.bot.triggers.timer-functions.detail"),
529
570
  };
@@ -534,7 +575,6 @@ class NotificationTriggerOptions {
534
575
  hostType: HostType.Functions,
535
576
  triggers: [NotificationTriggers.HTTP, NotificationTriggers.TIMER],
536
577
  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
578
  description: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-and-timer-functions.description"),
539
579
  detail: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-and-timer-functions.detail"),
540
580
  };
@@ -545,7 +585,6 @@ class NotificationTriggerOptions {
545
585
  hostType: HostType.Functions,
546
586
  triggers: [NotificationTriggers.HTTP],
547
587
  label: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-functions.label"),
548
- cliName: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-functions.cliName"),
549
588
  description: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-functions.description"),
550
589
  detail: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-functions.detail"),
551
590
  };
@@ -606,22 +645,13 @@ function botTriggerQuestion() {
606
645
  placeholder: localizeUtils_1.getLocalizedString("plugins.bot.questionHostTypeTrigger.placeholder"),
607
646
  };
608
647
  }
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
648
  function SPFxSolutionQuestion() {
619
649
  return {
620
650
  type: "singleSelect",
621
651
  name: questionNames_1.QuestionNames.SPFxSolution,
622
652
  title: localizeUtils_1.getLocalizedString("plugins.spfx.questions.spfxSolution.title"),
623
653
  cliDescription: "Create a new or import an existing SharePoint Framework solution.",
624
- cliShortName: "ss",
654
+ cliShortName: "s",
625
655
  staticOptions: [
626
656
  {
627
657
  id: "new",
@@ -672,19 +702,18 @@ function SPFxPackageSelectQuestion() {
672
702
  },
673
703
  default: SPFxVersionOptionIds.installLocally,
674
704
  validation: {
675
- validFunc: async (input, previousInputs) => {
705
+ validFunc: (input, previousInputs) => {
676
706
  if (input === SPFxVersionOptionIds.globalPackage) {
677
707
  const hasPackagesInstalled = !!previousInputs &&
678
708
  !!previousInputs.globalSpfxPackageVersion &&
679
709
  !!previousInputs.globalYeomanPackageVersion;
680
710
  if (!hasPackagesInstalled) {
681
- throw error_1.DevEnvironmentSetupError();
711
+ return Promise.reject(error_1.DevEnvironmentSetupError());
682
712
  }
683
713
  }
684
- return undefined;
714
+ return Promise.resolve(undefined);
685
715
  },
686
716
  },
687
- cliShortName: "sp",
688
717
  isBoolean: true,
689
718
  };
690
719
  }
@@ -693,7 +722,8 @@ function SPFxFrameworkQuestion() {
693
722
  return {
694
723
  type: "singleSelect",
695
724
  name: questionNames_1.QuestionNames.SPFxFramework,
696
- cliShortName: "sfk",
725
+ cliShortName: "k",
726
+ cliDescription: "Framework.",
697
727
  title: localizeUtils_1.getLocalizedString("plugins.spfx.questions.framework.title"),
698
728
  staticOptions: [
699
729
  { id: "react", label: "React" },
@@ -708,8 +738,9 @@ function SPFxWebpartNameQuestion() {
708
738
  return {
709
739
  type: "text",
710
740
  name: questionNames_1.QuestionNames.SPFxWebpartName,
711
- cliShortName: "sw",
712
- title: "Name for SharePoint Framework Web Part.",
741
+ cliShortName: "w",
742
+ cliDescription: "Name for SharePoint Framework Web Part.",
743
+ title: localizeUtils_1.getLocalizedString("plugins.spfx.questions.webpartName"),
713
744
  default: constants_2.Constants.DEFAULT_WEBPART_NAME,
714
745
  validation: {
715
746
  validFunc: async (input, previousInputs) => {
@@ -744,7 +775,6 @@ function SPFxImportFolderQuestion(hasDefaultFunc = false) {
744
775
  return {
745
776
  type: "folder",
746
777
  name: questionNames_1.QuestionNames.SPFxFolder,
747
- cliShortName: "sf",
748
778
  title: localizeUtils_1.getLocalizedString("core.spfxFolder.title"),
749
779
  cliDescription: "Directory or Path that contains the existing SharePoint Framework solution.",
750
780
  placeholder: localizeUtils_1.getLocalizedString("core.spfxFolder.placeholder"),
@@ -773,7 +803,7 @@ function officeAddinHostingQuestion() {
773
803
  name: questionNames_1.QuestionNames.OfficeAddinHost,
774
804
  title: "Add-in Host",
775
805
  staticOptions: [],
776
- dynamicOptions: async (inputs) => {
806
+ dynamicOptions: (inputs) => {
777
807
  const template = exports.getTemplate(inputs);
778
808
  const getHostTemplateNames = officeAddinJsonData.getHostTemplateNames(template);
779
809
  const options = getHostTemplateNames.map((host) => ({
@@ -782,7 +812,7 @@ function officeAddinHostingQuestion() {
782
812
  }));
783
813
  return options.length > 0 ? options : [{ label: "No Options", id: "No Options" }];
784
814
  },
785
- default: async (inputs) => {
815
+ default: (inputs) => {
786
816
  const template = exports.getTemplate(inputs);
787
817
  const options = officeAddinJsonData.getHostTemplateNames(template);
788
818
  return options[0] || "No Options";
@@ -791,6 +821,7 @@ function officeAddinHostingQuestion() {
791
821
  };
792
822
  return OfficeHostQuestion;
793
823
  }
824
+ exports.officeAddinHostingQuestion = officeAddinHostingQuestion;
794
825
  const officeAddinJsonData = new projectsJsonData_1.default();
795
826
  function getLanguageOptions(inputs) {
796
827
  const runtime = getRuntime(inputs);
@@ -865,17 +896,22 @@ function programmingLanguageQuestion() {
865
896
  return programmingLanguageQuestion;
866
897
  }
867
898
  exports.programmingLanguageQuestion = programmingLanguageQuestion;
868
- function rootFolderQuestion() {
899
+ function folderQuestion() {
869
900
  return {
870
901
  type: "folder",
871
902
  name: questionNames_1.QuestionNames.Folder,
872
903
  cliShortName: "f",
873
- title: localizeUtils_1.getLocalizedString("core.question.workspaceFolder.title"),
874
- cliDescription: "Root folder of the project.",
904
+ title: (inputs) => teamsfx_api_1.CLIPlatforms.includes(inputs.platform)
905
+ ? "Directory where the project folder will be created in"
906
+ : localizeUtils_1.getLocalizedString("core.question.workspaceFolder.title"),
907
+ cliDescription: "Directory where the project folder will be created in.",
875
908
  placeholder: localizeUtils_1.getLocalizedString("core.question.workspaceFolder.placeholder"),
876
- default: path.join(os.homedir(), constants_1.ConstantString.RootFolder),
909
+ default: (inputs) => teamsfx_api_1.CLIPlatforms.includes(inputs.platform)
910
+ ? "./"
911
+ : path.join(os.homedir(), constants_1.ConstantString.RootFolder),
877
912
  };
878
913
  }
914
+ exports.folderQuestion = folderQuestion;
879
915
  exports.AppNamePattern = '^(?=(.*[\\da-zA-Z]){2})[a-zA-Z][^"<>:\\?/*&|\u0000-\u001F]*[^"\\s.<>:\\?/*&|\u0000-\u001F]$';
880
916
  function appNameQuestion() {
881
917
  const question = {
@@ -936,8 +972,9 @@ function sampleSelectQuestion() {
936
972
  type: "singleSelect",
937
973
  name: questionNames_1.QuestionNames.Samples,
938
974
  cliName: "sample-name",
939
- cliDescription: "Specifies the Teams App sample name.",
975
+ cliDescription: "Specifies the Microsoft Teams App sample name.",
940
976
  cliChoiceListCommand: "teamsfx list samples",
977
+ skipValidation: true,
941
978
  cliType: "argument",
942
979
  title: localizeUtils_1.getLocalizedString("core.SampleSelect.title"),
943
980
  staticOptions: samples_1.sampleProvider.SampleCollection.samples.map((sample) => {
@@ -994,6 +1031,7 @@ function runtimeQuestion() {
994
1031
  staticOptions: [RuntimeOptions.NodeJS(), RuntimeOptions.DotNet()],
995
1032
  default: RuntimeOptions.NodeJS().id,
996
1033
  placeholder: localizeUtils_1.getLocalizedString("core.getRuntimeQuestion.placeholder"),
1034
+ cliHidden: true,
997
1035
  };
998
1036
  }
999
1037
  const defaultTabLocalHostUrl = "https://localhost:53000/index.html#/tab";
@@ -1117,23 +1155,28 @@ function selectBotIdsQuestion() {
1117
1155
  }
1118
1156
  const maximumLengthOfDetailsErrorMessageInInputBox = 90;
1119
1157
  function apiSpecLocationQuestion(includeExistingAPIs = true) {
1158
+ const correlationId = correlator_1.Correlator.getId(); // This is a workaround for VSCode which will loose correlation id when user accepts the value.
1120
1159
  const validationOnAccept = async (input, inputs) => {
1121
1160
  try {
1161
+ if (!inputs) {
1162
+ throw new Error("inputs is undefined"); // should never happen
1163
+ }
1122
1164
  const context = utils_4.createContextV3();
1123
- const res = await helper_1.listOperations(context, undefined, input, inputs[questionNames_1.QuestionNames.ManifestPath], includeExistingAPIs, false);
1165
+ 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
1166
  if (res.isOk()) {
1125
1167
  inputs.supportedApisFromApiSpec = res.value;
1126
1168
  }
1127
1169
  else {
1128
1170
  const errors = res.error;
1171
+ if (inputs.platform === teamsfx_api_1.Platform.CLI) {
1172
+ return errors.map((e) => e.content).join("\n");
1173
+ }
1129
1174
  if (errors.length === 1 &&
1130
1175
  errors[0].content.length <= maximumLengthOfDetailsErrorMessageInInputBox) {
1131
1176
  return errors[0].content;
1132
1177
  }
1133
1178
  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");
1179
+ return localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.multipleValidationErrors.vscode.message");
1137
1180
  }
1138
1181
  }
1139
1182
  }
@@ -1145,20 +1188,26 @@ function apiSpecLocationQuestion(includeExistingAPIs = true) {
1145
1188
  return {
1146
1189
  type: "singleFileOrText",
1147
1190
  name: questionNames_1.QuestionNames.ApiSpecLocation,
1148
- cliShortName: "oapi",
1191
+ cliShortName: "a",
1192
+ cliDescription: "OpenAPI specification file location.",
1149
1193
  title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.title"),
1150
1194
  forgetLastValue: true,
1151
1195
  inputBoxConfig: {
1196
+ type: "innerText",
1152
1197
  title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.title"),
1153
1198
  placeholder: localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.placeholder"),
1154
1199
  name: "input-api-spec-url",
1155
1200
  step: 2,
1156
- validation: async (input) => {
1157
- return util_1.isValidHttpUrl(input)
1158
- ? undefined
1159
- : localizeUtils_1.getLocalizedString("core.createProjectQuestion.invalidUrl.message");
1201
+ validation: {
1202
+ validFunc: (input, inputs) => {
1203
+ const result = util_1.isValidHttpUrl(input)
1204
+ ? undefined
1205
+ : (inputs === null || inputs === void 0 ? void 0 : inputs.platform) === teamsfx_api_1.Platform.CLI
1206
+ ? "Please enter a valid URL or local path of your API Specification"
1207
+ : localizeUtils_1.getLocalizedString("core.createProjectQuestion.invalidUrl.message");
1208
+ return Promise.resolve(result);
1209
+ },
1160
1210
  },
1161
- additionalValidationOnAccept: validationOnAccept,
1162
1211
  },
1163
1212
  inputOptionItem: {
1164
1213
  id: "input",
@@ -1169,8 +1218,8 @@ function apiSpecLocationQuestion(includeExistingAPIs = true) {
1169
1218
  },
1170
1219
  validation: {
1171
1220
  validFunc: async (input, inputs) => {
1172
- if (input === "input") {
1173
- return undefined;
1221
+ if (!util_1.isValidHttpUrl(input) && !(await fs_extra_1.default.pathExists(input))) {
1222
+ return "Please enter a valid URL or local path of your API Specification";
1174
1223
  }
1175
1224
  return await validationOnAccept(input, inputs);
1176
1225
  },
@@ -1180,24 +1229,30 @@ function apiSpecLocationQuestion(includeExistingAPIs = true) {
1180
1229
  exports.apiSpecLocationQuestion = apiSpecLocationQuestion;
1181
1230
  function openAIPluginManifestLocationQuestion() {
1182
1231
  // export for unit test
1232
+ const correlationId = correlator_1.Correlator.getId(); // This is a workaround for VSCode which will loose correlation id when user accepts the value.
1183
1233
  return {
1184
1234
  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"),
1235
+ name: questionNames_1.QuestionNames.OpenAIPluginManifest,
1236
+ cliShortName: "m",
1237
+ title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.OpenAIPluginDomain"),
1238
+ placeholder: localizeUtils_1.getLocalizedString("core.createProjectQuestion.OpenAIPluginDomain.placeholder"),
1239
+ cliDescription: "OpenAI plugin website domain or manifest URL.",
1189
1240
  forgetLastValue: true,
1190
1241
  validation: {
1191
- validFunc: async (input) => {
1192
- const pattern = /(https?:\/\/)?([a-z0-9-]+(\.[a-z0-9-]+)*)(:[0-9]{1,5})?$/i;
1242
+ validFunc: (input) => {
1243
+ const pattern = /(https?:\/\/)?([a-z0-9-]+(\.[a-z0-9-]+)*)(:[0-9]{1,5})?(\/)?$/i;
1193
1244
  const match = pattern.test(input);
1194
- return match
1245
+ const result = match
1195
1246
  ? undefined
1196
- : localizeUtils_1.getLocalizedString("core.createProjectQuestion.invalidDomain.message");
1247
+ : localizeUtils_1.getLocalizedString("core.createProjectQuestion.invalidUrl.message");
1248
+ return Promise.resolve(result);
1197
1249
  },
1198
1250
  },
1199
1251
  additionalValidationOnAccept: {
1200
1252
  validFunc: async (input, inputs) => {
1253
+ if (!inputs) {
1254
+ throw new Error("inputs is undefined"); // should never happen
1255
+ }
1201
1256
  let manifest;
1202
1257
  try {
1203
1258
  manifest = await helper_1.OpenAIPluginManifestHelper.loadOpenAIPluginManifest(input);
@@ -1209,20 +1264,21 @@ function openAIPluginManifestLocationQuestion() {
1209
1264
  }
1210
1265
  const context = utils_4.createContextV3();
1211
1266
  try {
1212
- const res = await helper_1.listOperations(context, manifest, inputs[questionNames_1.QuestionNames.ApiSpecLocation], undefined, true, true);
1267
+ 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
1268
  if (res.isOk()) {
1214
1269
  inputs.supportedApisFromApiSpec = res.value;
1215
1270
  }
1216
1271
  else {
1217
1272
  const errors = res.error;
1273
+ if (inputs.platform === teamsfx_api_1.Platform.CLI) {
1274
+ return errors.map((e) => e.content).join("\n");
1275
+ }
1218
1276
  if (errors.length === 1 &&
1219
1277
  errors[0].content.length <= maximumLengthOfDetailsErrorMessageInInputBox) {
1220
1278
  return errors[0].content;
1221
1279
  }
1222
1280
  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");
1281
+ return localizeUtils_1.getLocalizedString("core.createProjectQuestion.openAiPluginManifest.multipleValidationErrors.vscode.message");
1226
1282
  }
1227
1283
  }
1228
1284
  }
@@ -1241,18 +1297,23 @@ function apiOperationQuestion(includeExistingAPIs = true) {
1241
1297
  type: "multiSelect",
1242
1298
  name: questionNames_1.QuestionNames.ApiOperation,
1243
1299
  title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.operation.title"),
1244
- cliShortName: "api",
1300
+ cliDescription: "Specifies API(s) to be used in Copilot plugin.",
1301
+ cliShortName: "o",
1245
1302
  placeholder: includeExistingAPIs
1246
1303
  ? localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.operation.placeholder")
1247
1304
  : localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.operation.placeholder.skipExisting"),
1248
1305
  forgetLastValue: true,
1249
1306
  staticOptions: [],
1250
1307
  validation: {
1251
- minItems: 1,
1308
+ validFunc: (input) => {
1309
+ if (input.length < 1 || input.length > 10) {
1310
+ return localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.operation.invalidMessage", input.length, 10);
1311
+ }
1312
+ },
1252
1313
  },
1253
- dynamicOptions: async (inputs) => {
1314
+ dynamicOptions: (inputs) => {
1254
1315
  if (!inputs.supportedApisFromApiSpec) {
1255
- throw new error_2.EmptyOptionError();
1316
+ throw new error_2.EmptyOptionError(questionNames_1.QuestionNames.ApiOperation, "question");
1256
1317
  }
1257
1318
  const operations = inputs.supportedApisFromApiSpec;
1258
1319
  return operations;
@@ -1260,14 +1321,6 @@ function apiOperationQuestion(includeExistingAPIs = true) {
1260
1321
  };
1261
1322
  }
1262
1323
  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
1324
  function capabilitySubTree() {
1272
1325
  const node = {
1273
1326
  data: capabilityQuestion(),
@@ -1325,32 +1378,22 @@ function capabilitySubTree() {
1325
1378
  },
1326
1379
  data: officeAddinHostingQuestion(),
1327
1380
  },
1328
- {
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(),
1335
- },
1336
1381
  {
1337
1382
  // Copilot plugin from API spec or AI Plugin
1338
- condition: (inputs) => {
1339
- return constants_3.copilotPluginExistingApiOptionIds.includes(getCopilotPluginFeatureId(inputs));
1383
+ condition: {
1384
+ enum: [
1385
+ CapabilityOptions.copilotPluginApiSpec().id,
1386
+ CapabilityOptions.copilotPluginOpenAIPlugin().id,
1387
+ ],
1340
1388
  },
1341
1389
  data: { type: "group", name: questionNames_1.QuestionNames.CopilotPluginExistingApi },
1342
1390
  children: [
1343
1391
  {
1344
- condition: (inputs) => {
1345
- return (getCopilotPluginFeatureId(inputs) === CapabilityOptions.copilotPluginApiSpec().id);
1346
- },
1392
+ condition: { equals: CapabilityOptions.copilotPluginApiSpec().id },
1347
1393
  data: apiSpecLocationQuestion(),
1348
1394
  },
1349
1395
  {
1350
- condition: (inputs) => {
1351
- return (getCopilotPluginFeatureId(inputs) ===
1352
- CapabilityOptions.copilotPluginOpenAIPlugin().id);
1353
- },
1396
+ condition: { equals: CapabilityOptions.copilotPluginOpenAIPlugin().id },
1354
1397
  data: openAIPluginManifestLocationQuestion(),
1355
1398
  },
1356
1399
  {
@@ -1361,19 +1404,16 @@ function capabilitySubTree() {
1361
1404
  {
1362
1405
  // programming language
1363
1406
  data: programmingLanguageQuestion(),
1364
- 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
- }
1407
+ condition: {
1408
+ excludesEnum: [
1409
+ CapabilityOptions.copilotPluginApiSpec().id,
1410
+ CapabilityOptions.copilotPluginOpenAIPlugin().id,
1411
+ ],
1372
1412
  },
1373
1413
  },
1374
1414
  {
1375
1415
  // root folder
1376
- data: rootFolderQuestion(),
1416
+ data: folderQuestion(),
1377
1417
  },
1378
1418
  {
1379
1419
  // app name
@@ -1388,24 +1428,21 @@ function createProjectQuestionNode() {
1388
1428
  const createProjectQuestion = {
1389
1429
  data: { type: "group" },
1390
1430
  children: [
1391
- ...(featureFlags_1.isCLIDotNetEnabled()
1392
- ? [
1393
- {
1394
- condition: (inputs) => teamsfx_api_1.CLIPlatforms.includes(inputs.platform),
1395
- data: runtimeQuestion(),
1396
- },
1397
- ]
1398
- : []),
1399
1431
  {
1400
- condition: (inputs) => inputs.platform === teamsfx_api_1.Platform.VSCode,
1432
+ condition: (inputs) => featureFlags_1.isCLIDotNetEnabled() && teamsfx_api_1.CLIPlatforms.includes(inputs.platform),
1433
+ data: runtimeQuestion(),
1434
+ },
1435
+ {
1436
+ condition: (inputs) => inputs.platform === teamsfx_api_1.Platform.VSCode || inputs.platform === teamsfx_api_1.Platform.CLI,
1401
1437
  data: projectTypeQuestion(),
1402
- interactiveOnly: "self",
1438
+ cliOptionDisabled: "self",
1403
1439
  },
1404
1440
  capabilitySubTree(),
1405
1441
  {
1406
1442
  condition: (inputs) => inputs.teamsAppFromTdp && utils_2.isPersonalApp(inputs.teamsAppFromTdp),
1407
1443
  data: { type: "group", name: questionNames_1.QuestionNames.RepalceTabUrl },
1408
- interactiveOnly: "all",
1444
+ cliOptionDisabled: "all",
1445
+ inputsDisabled: "all",
1409
1446
  children: [
1410
1447
  {
1411
1448
  condition: (inputs) => {
@@ -1431,7 +1468,8 @@ function createProjectQuestionNode() {
1431
1468
  return appDef && utils_2.needBotCode(appDef);
1432
1469
  },
1433
1470
  data: selectBotIdsQuestion(),
1434
- interactiveOnly: "all", //CLI non interactive mode will ignore this option
1471
+ cliOptionDisabled: "all",
1472
+ inputsDisabled: "all",
1435
1473
  },
1436
1474
  ],
1437
1475
  };
@@ -1443,7 +1481,7 @@ function createSampleProjectQuestionNode() {
1443
1481
  data: sampleSelectQuestion(),
1444
1482
  children: [
1445
1483
  {
1446
- data: rootFolderQuestion(),
1484
+ data: folderQuestion(),
1447
1485
  },
1448
1486
  ],
1449
1487
  };
@@ -1462,9 +1500,8 @@ function createProjectCliHelpNode() {
1462
1500
  if (!featureFlags_1.isCLIDotNetEnabled()) {
1463
1501
  deleteNames.push(questionNames_1.QuestionNames.Runtime);
1464
1502
  }
1465
- if (!featureFlags_1.isCopilotPluginEnabled()) {
1503
+ if (!featureFlags_1.isApiCopilotPluginEnabled()) {
1466
1504
  deleteNames.push(questionNames_1.QuestionNames.CopilotPluginExistingApi);
1467
- deleteNames.push(questionNames_1.QuestionNames.CopilotPluginDevelopment);
1468
1505
  }
1469
1506
  trimQuestionTreeForCliHelp(node, deleteNames);
1470
1507
  return node;