@microsoft/teamsfx-core 2.0.4-alpha.6ff4defd0.0 → 2.0.4-alpha.7313f757f.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 (553) hide show
  1. package/build/common/constants.d.ts +1 -0
  2. package/build/common/constants.d.ts.map +1 -1
  3. package/build/common/constants.js +1 -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/depsLogger.d.ts +14 -14
  10. package/build/common/deps-checker/depsLogger.d.ts.map +1 -1
  11. package/build/common/deps-checker/depsLogger.js +7 -21
  12. package/build/common/deps-checker/depsLogger.js.map +1 -1
  13. package/build/common/deps-checker/internal/dotnetChecker.d.ts.map +1 -1
  14. package/build/common/deps-checker/internal/dotnetChecker.js +40 -35
  15. package/build/common/deps-checker/internal/dotnetChecker.js.map +1 -1
  16. package/build/common/deps-checker/internal/nodeChecker.js +3 -3
  17. package/build/common/deps-checker/internal/nodeChecker.js.map +1 -1
  18. package/build/common/deps-checker/util/cpUtils.d.ts +1 -1
  19. package/build/common/deps-checker/util/cpUtils.d.ts.map +1 -1
  20. package/build/common/deps-checker/util/cpUtils.js +4 -4
  21. package/build/common/deps-checker/util/cpUtils.js.map +1 -1
  22. package/build/common/deps-checker/util/progressIndicator.js +2 -2
  23. package/build/common/deps-checker/util/progressIndicator.js.map +1 -1
  24. package/build/common/featureFlags.d.ts +1 -0
  25. package/build/common/featureFlags.d.ts.map +1 -1
  26. package/build/common/featureFlags.js +5 -1
  27. package/build/common/featureFlags.js.map +1 -1
  28. package/build/common/local/localCertificateManager.d.ts.map +1 -1
  29. package/build/common/local/localCertificateManager.js +3 -0
  30. package/build/common/local/localCertificateManager.js.map +1 -1
  31. package/build/common/local/packageJsonHelper.d.ts.map +1 -1
  32. package/build/common/local/packageJsonHelper.js +1 -0
  33. package/build/common/local/packageJsonHelper.js.map +1 -1
  34. package/build/common/local/portChecker.js.map +1 -1
  35. package/build/common/m365/launchHelper.d.ts +2 -2
  36. package/build/common/m365/launchHelper.d.ts.map +1 -1
  37. package/build/common/m365/launchHelper.js +24 -6
  38. package/build/common/m365/launchHelper.js.map +1 -1
  39. package/build/common/m365/packageService.d.ts.map +1 -1
  40. package/build/common/m365/packageService.js +66 -19
  41. package/build/common/m365/packageService.js.map +1 -1
  42. package/build/common/projectSettingsHelper.d.ts.map +1 -1
  43. package/build/common/projectSettingsHelper.js +1 -0
  44. package/build/common/projectSettingsHelper.js.map +1 -1
  45. package/build/common/samples.d.ts +15 -4
  46. package/build/common/samples.d.ts.map +1 -1
  47. package/build/common/samples.js +58 -28
  48. package/build/common/samples.js.map +1 -1
  49. package/build/common/spec-parser/adaptiveCardGenerator.d.ts.map +1 -1
  50. package/build/common/spec-parser/adaptiveCardGenerator.js +39 -32
  51. package/build/common/spec-parser/adaptiveCardGenerator.js.map +1 -1
  52. package/build/common/spec-parser/constants.d.ts +17 -10
  53. package/build/common/spec-parser/constants.d.ts.map +1 -1
  54. package/build/common/spec-parser/constants.js +42 -10
  55. package/build/common/spec-parser/constants.js.map +1 -1
  56. package/build/common/spec-parser/interfaces.d.ts +44 -21
  57. package/build/common/spec-parser/interfaces.d.ts.map +1 -1
  58. package/build/common/spec-parser/interfaces.js +24 -13
  59. package/build/common/spec-parser/interfaces.js.map +1 -1
  60. package/build/common/spec-parser/manifestUpdater.d.ts +4 -3
  61. package/build/common/spec-parser/manifestUpdater.d.ts.map +1 -1
  62. package/build/common/spec-parser/manifestUpdater.js +104 -49
  63. package/build/common/spec-parser/manifestUpdater.js.map +1 -1
  64. package/build/common/spec-parser/specFilter.d.ts +1 -1
  65. package/build/common/spec-parser/specFilter.d.ts.map +1 -1
  66. package/build/common/spec-parser/specFilter.js +28 -35
  67. package/build/common/spec-parser/specFilter.js.map +1 -1
  68. package/build/common/spec-parser/specParser.d.ts +8 -2
  69. package/build/common/spec-parser/specParser.d.ts.map +1 -1
  70. package/build/common/spec-parser/specParser.js +156 -97
  71. package/build/common/spec-parser/specParser.js.map +1 -1
  72. package/build/common/spec-parser/utils.d.ts +22 -0
  73. package/build/common/spec-parser/utils.d.ts.map +1 -1
  74. package/build/common/spec-parser/utils.js +251 -21
  75. package/build/common/spec-parser/utils.js.map +1 -1
  76. package/build/common/telemetry.d.ts +7 -4
  77. package/build/common/telemetry.d.ts.map +1 -1
  78. package/build/common/telemetry.js +43 -8
  79. package/build/common/telemetry.js.map +1 -1
  80. package/build/common/tools.d.ts.map +1 -1
  81. package/build/common/tools.js +5 -0
  82. package/build/common/tools.js.map +1 -1
  83. package/build/component/configManager/interface.d.ts +5 -3
  84. package/build/component/configManager/interface.d.ts.map +1 -1
  85. package/build/component/configManager/interface.js.map +1 -1
  86. package/build/component/configManager/lifecycle.d.ts +1 -3
  87. package/build/component/configManager/lifecycle.d.ts.map +1 -1
  88. package/build/component/configManager/lifecycle.js +23 -51
  89. package/build/component/configManager/lifecycle.js.map +1 -1
  90. package/build/component/configManager/parser.d.ts.map +1 -1
  91. package/build/component/configManager/parser.js +6 -7
  92. package/build/component/configManager/parser.js.map +1 -1
  93. package/build/component/configManager/validator.d.ts.map +1 -1
  94. package/build/component/configManager/validator.js +2 -3
  95. package/build/component/configManager/validator.js.map +1 -1
  96. package/build/component/constants.d.ts +6 -0
  97. package/build/component/constants.d.ts.map +1 -1
  98. package/build/component/constants.js +7 -1
  99. package/build/component/constants.js.map +1 -1
  100. package/build/component/coordinator/index.d.ts +11 -8
  101. package/build/component/coordinator/index.d.ts.map +1 -1
  102. package/build/component/coordinator/index.js +78 -67
  103. package/build/component/coordinator/index.js.map +1 -1
  104. package/build/component/coordinator/summary.d.ts.map +1 -1
  105. package/build/component/coordinator/summary.js +2 -1
  106. package/build/component/coordinator/summary.js.map +1 -1
  107. package/build/component/developerPortalScaffoldUtils.d.ts +1 -1
  108. package/build/component/developerPortalScaffoldUtils.d.ts.map +1 -1
  109. package/build/component/developerPortalScaffoldUtils.js +7 -7
  110. package/build/component/developerPortalScaffoldUtils.js.map +1 -1
  111. package/build/component/driver/aad/create.d.ts +1 -2
  112. package/build/component/driver/aad/create.d.ts.map +1 -1
  113. package/build/component/driver/aad/create.js +4 -11
  114. package/build/component/driver/aad/create.js.map +1 -1
  115. package/build/component/driver/aad/error/aadManifestError.d.ts +3 -0
  116. package/build/component/driver/aad/error/aadManifestError.d.ts.map +1 -1
  117. package/build/component/driver/aad/error/aadManifestError.js +13 -1
  118. package/build/component/driver/aad/error/aadManifestError.js.map +1 -1
  119. package/build/component/driver/aad/update.d.ts +1 -2
  120. package/build/component/driver/aad/update.d.ts.map +1 -1
  121. package/build/component/driver/aad/update.js +4 -11
  122. package/build/component/driver/aad/update.js.map +1 -1
  123. package/build/component/driver/aad/utility/aadAppClient.d.ts +1 -1
  124. package/build/component/driver/aad/utility/aadAppClient.d.ts.map +1 -1
  125. package/build/component/driver/aad/utility/aadAppClient.js +58 -13
  126. package/build/component/driver/aad/utility/aadAppClient.js.map +1 -1
  127. package/build/component/driver/aad/utility/constants.d.ts +3 -0
  128. package/build/component/driver/aad/utility/constants.d.ts.map +1 -1
  129. package/build/component/driver/aad/utility/constants.js +4 -1
  130. package/build/component/driver/aad/utility/constants.js.map +1 -1
  131. package/build/component/driver/add/addWebPart.d.ts.map +1 -1
  132. package/build/component/driver/add/addWebPart.js +10 -1
  133. package/build/component/driver/add/addWebPart.js.map +1 -1
  134. package/build/component/driver/arm/deploy.d.ts +1 -3
  135. package/build/component/driver/arm/deploy.d.ts.map +1 -1
  136. package/build/component/driver/arm/deploy.js +1 -14
  137. package/build/component/driver/arm/deploy.js.map +1 -1
  138. package/build/component/driver/arm/deployImpl.d.ts +2 -1
  139. package/build/component/driver/arm/deployImpl.d.ts.map +1 -1
  140. package/build/component/driver/arm/deployImpl.js +15 -0
  141. package/build/component/driver/arm/deployImpl.js.map +1 -1
  142. package/build/component/driver/arm/util/bicepChecker.js +7 -6
  143. package/build/component/driver/arm/util/bicepChecker.js.map +1 -1
  144. package/build/component/driver/arm/util/handleError.js.map +1 -1
  145. package/build/component/driver/botAadApp/create.d.ts +2 -1
  146. package/build/component/driver/botAadApp/create.d.ts.map +1 -1
  147. package/build/component/driver/botAadApp/create.js +7 -10
  148. package/build/component/driver/botAadApp/create.js.map +1 -1
  149. package/build/component/driver/botFramework/createOrUpdateBot.d.ts +1 -0
  150. package/build/component/driver/botFramework/createOrUpdateBot.d.ts.map +1 -1
  151. package/build/component/driver/botFramework/createOrUpdateBot.js +6 -12
  152. package/build/component/driver/botFramework/createOrUpdateBot.js.map +1 -1
  153. package/build/component/driver/deploy/azure/azureAppServiceDeployDriver.d.ts +0 -2
  154. package/build/component/driver/deploy/azure/azureAppServiceDeployDriver.d.ts.map +1 -1
  155. package/build/component/driver/deploy/azure/azureAppServiceDeployDriver.js +0 -10
  156. package/build/component/driver/deploy/azure/azureAppServiceDeployDriver.js.map +1 -1
  157. package/build/component/driver/deploy/azure/azureFunctionDeployDriver.d.ts +0 -2
  158. package/build/component/driver/deploy/azure/azureFunctionDeployDriver.d.ts.map +1 -1
  159. package/build/component/driver/deploy/azure/azureFunctionDeployDriver.js +0 -10
  160. package/build/component/driver/deploy/azure/azureFunctionDeployDriver.js.map +1 -1
  161. package/build/component/driver/deploy/azure/azureStorageDeployDriver.d.ts +0 -2
  162. package/build/component/driver/deploy/azure/azureStorageDeployDriver.d.ts.map +1 -1
  163. package/build/component/driver/deploy/azure/azureStorageDeployDriver.js +17 -19
  164. package/build/component/driver/deploy/azure/azureStorageDeployDriver.js.map +1 -1
  165. package/build/component/driver/deploy/azure/azureStorageStaticWebsiteConfigDriver.d.ts.map +1 -1
  166. package/build/component/driver/deploy/azure/azureStorageStaticWebsiteConfigDriver.js +11 -4
  167. package/build/component/driver/deploy/azure/azureStorageStaticWebsiteConfigDriver.js.map +1 -1
  168. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.d.ts.map +1 -1
  169. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js +29 -16
  170. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js.map +1 -1
  171. package/build/component/driver/deploy/azure/impl/azureDeployImpl.d.ts.map +1 -1
  172. package/build/component/driver/deploy/azure/impl/azureDeployImpl.js +18 -15
  173. package/build/component/driver/deploy/azure/impl/azureDeployImpl.js.map +1 -1
  174. package/build/component/driver/deploy/azure/impl/baseDeployImpl.d.ts.map +1 -1
  175. package/build/component/driver/deploy/azure/impl/baseDeployImpl.js +4 -4
  176. package/build/component/driver/deploy/azure/impl/baseDeployImpl.js.map +1 -1
  177. package/build/component/driver/deploy/spfx/deployDriver.d.ts +1 -0
  178. package/build/component/driver/deploy/spfx/deployDriver.d.ts.map +1 -1
  179. package/build/component/driver/deploy/spfx/deployDriver.js +25 -3
  180. package/build/component/driver/deploy/spfx/deployDriver.js.map +1 -1
  181. package/build/component/driver/devTool/installDriver.d.ts +1 -0
  182. package/build/component/driver/devTool/installDriver.d.ts.map +1 -1
  183. package/build/component/driver/devTool/installDriver.js +33 -11
  184. package/build/component/driver/devTool/installDriver.js.map +1 -1
  185. package/build/component/driver/file/createOrUpdateEnvironmentFile.d.ts +1 -0
  186. package/build/component/driver/file/createOrUpdateEnvironmentFile.d.ts.map +1 -1
  187. package/build/component/driver/file/createOrUpdateEnvironmentFile.js +12 -18
  188. package/build/component/driver/file/createOrUpdateEnvironmentFile.js.map +1 -1
  189. package/build/component/driver/file/createOrUpdateJsonFile.d.ts +1 -0
  190. package/build/component/driver/file/createOrUpdateJsonFile.d.ts.map +1 -1
  191. package/build/component/driver/file/createOrUpdateJsonFile.js +5 -11
  192. package/build/component/driver/file/createOrUpdateJsonFile.js.map +1 -1
  193. package/build/component/driver/interface/stepDriver.d.ts +2 -7
  194. package/build/component/driver/interface/stepDriver.d.ts.map +1 -1
  195. package/build/component/driver/m365/acquire.d.ts +1 -0
  196. package/build/component/driver/m365/acquire.d.ts.map +1 -1
  197. package/build/component/driver/m365/acquire.js +6 -12
  198. package/build/component/driver/m365/acquire.js.map +1 -1
  199. package/build/component/driver/script/baseBuildDriver.d.ts.map +1 -1
  200. package/build/component/driver/script/baseBuildDriver.js +1 -0
  201. package/build/component/driver/script/baseBuildDriver.js.map +1 -1
  202. package/build/component/driver/script/baseBuildStepDriver.d.ts +0 -2
  203. package/build/component/driver/script/baseBuildStepDriver.d.ts.map +1 -1
  204. package/build/component/driver/script/baseBuildStepDriver.js +0 -4
  205. package/build/component/driver/script/baseBuildStepDriver.js.map +1 -1
  206. package/build/component/driver/script/dotnetBuildDriver.d.ts +0 -2
  207. package/build/component/driver/script/dotnetBuildDriver.d.ts.map +1 -1
  208. package/build/component/driver/script/dotnetBuildDriver.js +0 -9
  209. package/build/component/driver/script/dotnetBuildDriver.js.map +1 -1
  210. package/build/component/driver/script/npmBuildDriver.d.ts +0 -2
  211. package/build/component/driver/script/npmBuildDriver.d.ts.map +1 -1
  212. package/build/component/driver/script/npmBuildDriver.js +0 -9
  213. package/build/component/driver/script/npmBuildDriver.js.map +1 -1
  214. package/build/component/driver/script/npxBuildDriver.d.ts +0 -2
  215. package/build/component/driver/script/npxBuildDriver.d.ts.map +1 -1
  216. package/build/component/driver/script/npxBuildDriver.js +0 -9
  217. package/build/component/driver/script/npxBuildDriver.js.map +1 -1
  218. package/build/component/driver/script/scriptDriver.d.ts +10 -1
  219. package/build/component/driver/script/scriptDriver.d.ts.map +1 -1
  220. package/build/component/driver/script/scriptDriver.js +31 -30
  221. package/build/component/driver/script/scriptDriver.js.map +1 -1
  222. package/build/component/driver/teamsApp/appStudio.d.ts.map +1 -1
  223. package/build/component/driver/teamsApp/appStudio.js +8 -8
  224. package/build/component/driver/teamsApp/appStudio.js.map +1 -1
  225. package/build/component/driver/teamsApp/clients/appStudioClient.d.ts +5 -5
  226. package/build/component/driver/teamsApp/clients/appStudioClient.d.ts.map +1 -1
  227. package/build/component/driver/teamsApp/clients/appStudioClient.js +31 -11
  228. package/build/component/driver/teamsApp/clients/appStudioClient.js.map +1 -1
  229. package/build/component/driver/teamsApp/clients/authSvcClient.d.ts.map +1 -1
  230. package/build/component/driver/teamsApp/clients/authSvcClient.js +2 -0
  231. package/build/component/driver/teamsApp/clients/authSvcClient.js.map +1 -1
  232. package/build/component/driver/teamsApp/configure.d.ts +1 -1
  233. package/build/component/driver/teamsApp/configure.d.ts.map +1 -1
  234. package/build/component/driver/teamsApp/configure.js +3 -11
  235. package/build/component/driver/teamsApp/configure.js.map +1 -1
  236. package/build/component/driver/teamsApp/copyAppPackageToSPFx.d.ts +1 -2
  237. package/build/component/driver/teamsApp/copyAppPackageToSPFx.d.ts.map +1 -1
  238. package/build/component/driver/teamsApp/copyAppPackageToSPFx.js +4 -11
  239. package/build/component/driver/teamsApp/copyAppPackageToSPFx.js.map +1 -1
  240. package/build/component/driver/teamsApp/create.d.ts +1 -1
  241. package/build/component/driver/teamsApp/create.d.ts.map +1 -1
  242. package/build/component/driver/teamsApp/create.js +6 -11
  243. package/build/component/driver/teamsApp/create.js.map +1 -1
  244. package/build/component/driver/teamsApp/createAppPackage.d.ts +4 -3
  245. package/build/component/driver/teamsApp/createAppPackage.d.ts.map +1 -1
  246. package/build/component/driver/teamsApp/createAppPackage.js +53 -43
  247. package/build/component/driver/teamsApp/createAppPackage.js.map +1 -1
  248. package/build/component/driver/teamsApp/errors.d.ts.map +1 -1
  249. package/build/component/driver/teamsApp/errors.js +2 -0
  250. package/build/component/driver/teamsApp/errors.js.map +1 -1
  251. package/build/component/driver/teamsApp/interfaces/appdefinitions/messagingExtension.d.ts +2 -0
  252. package/build/component/driver/teamsApp/interfaces/appdefinitions/messagingExtension.d.ts.map +1 -1
  253. package/build/component/driver/teamsApp/interfaces/appdefinitions/messagingExtensionCommand.d.ts +1 -0
  254. package/build/component/driver/teamsApp/interfaces/appdefinitions/messagingExtensionCommand.d.ts.map +1 -1
  255. package/build/component/driver/teamsApp/publishAppPackage.d.ts +1 -1
  256. package/build/component/driver/teamsApp/publishAppPackage.d.ts.map +1 -1
  257. package/build/component/driver/teamsApp/publishAppPackage.js +5 -13
  258. package/build/component/driver/teamsApp/publishAppPackage.js.map +1 -1
  259. package/build/component/driver/teamsApp/utils/ManifestUtils.d.ts +2 -1
  260. package/build/component/driver/teamsApp/utils/ManifestUtils.d.ts.map +1 -1
  261. package/build/component/driver/teamsApp/utils/ManifestUtils.js +7 -2
  262. package/build/component/driver/teamsApp/utils/ManifestUtils.js.map +1 -1
  263. package/build/component/driver/teamsApp/utils/telemetry.d.ts +1 -0
  264. package/build/component/driver/teamsApp/utils/telemetry.d.ts.map +1 -1
  265. package/build/component/driver/teamsApp/utils/telemetry.js +1 -0
  266. package/build/component/driver/teamsApp/utils/telemetry.js.map +1 -1
  267. package/build/component/driver/teamsApp/utils/utils.d.ts +2 -2
  268. package/build/component/driver/teamsApp/utils/utils.d.ts.map +1 -1
  269. package/build/component/driver/teamsApp/utils/utils.js +22 -10
  270. package/build/component/driver/teamsApp/utils/utils.js.map +1 -1
  271. package/build/component/driver/teamsApp/validate.d.ts +1 -1
  272. package/build/component/driver/teamsApp/validate.d.ts.map +1 -1
  273. package/build/component/driver/teamsApp/validate.js +18 -13
  274. package/build/component/driver/teamsApp/validate.js.map +1 -1
  275. package/build/component/driver/teamsApp/validateAppPackage.d.ts +1 -1
  276. package/build/component/driver/teamsApp/validateAppPackage.d.ts.map +1 -1
  277. package/build/component/driver/teamsApp/validateAppPackage.js +3 -11
  278. package/build/component/driver/teamsApp/validateAppPackage.js.map +1 -1
  279. package/build/component/error/componentError.d.ts +2 -1
  280. package/build/component/error/componentError.d.ts.map +1 -1
  281. package/build/component/error/componentError.js +8 -4
  282. package/build/component/error/componentError.js.map +1 -1
  283. package/build/component/feature/collaboration.d.ts.map +1 -1
  284. package/build/component/feature/collaboration.js +32 -13
  285. package/build/component/feature/collaboration.js.map +1 -1
  286. package/build/component/generator/copilotPlugin/generator.d.ts +7 -2
  287. package/build/component/generator/copilotPlugin/generator.d.ts.map +1 -1
  288. package/build/component/generator/copilotPlugin/generator.js +91 -20
  289. package/build/component/generator/copilotPlugin/generator.js.map +1 -1
  290. package/build/component/generator/copilotPlugin/helper.d.ts +8 -3
  291. package/build/component/generator/copilotPlugin/helper.d.ts.map +1 -1
  292. package/build/component/generator/copilotPlugin/helper.js +135 -40
  293. package/build/component/generator/copilotPlugin/helper.js.map +1 -1
  294. package/build/component/generator/error.d.ts +7 -1
  295. package/build/component/generator/error.d.ts.map +1 -1
  296. package/build/component/generator/error.js +15 -3
  297. package/build/component/generator/error.js.map +1 -1
  298. package/build/component/generator/generator.d.ts.map +1 -1
  299. package/build/component/generator/generator.js +30 -21
  300. package/build/component/generator/generator.js.map +1 -1
  301. package/build/component/generator/generatorAction.d.ts +2 -1
  302. package/build/component/generator/generatorAction.d.ts.map +1 -1
  303. package/build/component/generator/generatorAction.js +8 -2
  304. package/build/component/generator/generatorAction.js.map +1 -1
  305. package/build/component/generator/officeAddin/generator.d.ts.map +1 -1
  306. package/build/component/generator/officeAddin/generator.js +9 -1
  307. package/build/component/generator/officeAddin/generator.js.map +1 -1
  308. package/build/component/generator/officeAddin/helperMethods.d.ts.map +1 -1
  309. package/build/component/generator/officeAddin/helperMethods.js +8 -4
  310. package/build/component/generator/officeAddin/helperMethods.js.map +1 -1
  311. package/build/component/generator/spfx/depsChecker/generatorChecker.d.ts.map +1 -1
  312. package/build/component/generator/spfx/depsChecker/generatorChecker.js +4 -2
  313. package/build/component/generator/spfx/depsChecker/generatorChecker.js.map +1 -1
  314. package/build/component/generator/spfx/depsChecker/yoChecker.d.ts.map +1 -1
  315. package/build/component/generator/spfx/depsChecker/yoChecker.js +3 -3
  316. package/build/component/generator/spfx/depsChecker/yoChecker.js.map +1 -1
  317. package/build/component/generator/spfx/spfxGenerator.d.ts.map +1 -1
  318. package/build/component/generator/spfx/spfxGenerator.js +2 -2
  319. package/build/component/generator/spfx/spfxGenerator.js.map +1 -1
  320. package/build/component/generator/spfx/utils/utils.js +3 -3
  321. package/build/component/generator/spfx/utils/utils.js.map +1 -1
  322. package/build/component/generator/utils.d.ts +12 -4
  323. package/build/component/generator/utils.d.ts.map +1 -1
  324. package/build/component/generator/utils.js +15 -14
  325. package/build/component/generator/utils.js.map +1 -1
  326. package/build/component/messages.d.ts +2 -3
  327. package/build/component/messages.d.ts.map +1 -1
  328. package/build/component/messages.js +3 -4
  329. package/build/component/messages.js.map +1 -1
  330. package/build/component/middleware/actionExecutionMW.d.ts +2 -2
  331. package/build/component/middleware/actionExecutionMW.d.ts.map +1 -1
  332. package/build/component/middleware/envMW.js +1 -1
  333. package/build/component/middleware/envMW.js.map +1 -1
  334. package/build/component/middleware/questionMW.d.ts +2 -2
  335. package/build/component/middleware/questionMW.d.ts.map +1 -1
  336. package/build/component/middleware/questionMW.js +7 -11
  337. package/build/component/middleware/questionMW.js.map +1 -1
  338. package/build/component/provisionUtils.d.ts +3 -3
  339. package/build/component/provisionUtils.d.ts.map +1 -1
  340. package/build/component/provisionUtils.js +3 -3
  341. package/build/component/provisionUtils.js.map +1 -1
  342. package/build/component/resource/botService/appStudio/appStudioClient.d.ts.map +1 -1
  343. package/build/component/resource/botService/appStudio/appStudioClient.js +24 -2
  344. package/build/component/resource/botService/appStudio/appStudioClient.js.map +1 -1
  345. package/build/component/resource/botService/botRegistration/botFrameworkRegistration.d.ts +2 -2
  346. package/build/component/resource/botService/botRegistration/botFrameworkRegistration.d.ts.map +1 -1
  347. package/build/component/resource/botService/botRegistration/botFrameworkRegistration.js +6 -1
  348. package/build/component/resource/botService/botRegistration/botFrameworkRegistration.js.map +1 -1
  349. package/build/component/telemetry.js +2 -2
  350. package/build/component/telemetry.js.map +1 -1
  351. package/build/component/utils/ResourceGroupHelper.d.ts +2 -2
  352. package/build/component/utils/ResourceGroupHelper.d.ts.map +1 -1
  353. package/build/component/utils/ResourceGroupHelper.js +1 -4
  354. package/build/component/utils/ResourceGroupHelper.js.map +1 -1
  355. package/build/component/utils/charsetUtils.js +3 -3
  356. package/build/component/utils/charsetUtils.js.map +1 -1
  357. package/build/component/utils/common.d.ts +1 -1
  358. package/build/component/utils/common.d.ts.map +1 -1
  359. package/build/component/utils/common.js +4 -5
  360. package/build/component/utils/common.js.map +1 -1
  361. package/build/component/utils/depsChecker/cpUtils.d.ts.map +1 -1
  362. package/build/component/utils/depsChecker/cpUtils.js +8 -4
  363. package/build/component/utils/depsChecker/cpUtils.js.map +1 -1
  364. package/build/component/utils/envUtil.js +2 -2
  365. package/build/component/utils/envUtil.js.map +1 -1
  366. package/build/component/utils/metadataUtil.d.ts +3 -0
  367. package/build/component/utils/metadataUtil.d.ts.map +1 -1
  368. package/build/component/utils/metadataUtil.js +16 -3
  369. package/build/component/utils/metadataUtil.js.map +1 -1
  370. package/build/component/utils/teamsFxTelemetryReporter.js +2 -2
  371. package/build/component/utils/teamsFxTelemetryReporter.js.map +1 -1
  372. package/build/core/FxCore.d.ts +41 -33
  373. package/build/core/FxCore.d.ts.map +1 -1
  374. package/build/core/FxCore.js +817 -66
  375. package/build/core/FxCore.js.map +1 -1
  376. package/build/core/collaborator.js +2 -2
  377. package/build/core/collaborator.js.map +1 -1
  378. package/build/core/globalVars.d.ts +16 -0
  379. package/build/core/globalVars.d.ts.map +1 -1
  380. package/build/core/globalVars.js +34 -1
  381. package/build/core/globalVars.js.map +1 -1
  382. package/build/core/middleware/concurrentLocker.d.ts.map +1 -1
  383. package/build/core/middleware/concurrentLocker.js +7 -3
  384. package/build/core/middleware/concurrentLocker.js.map +1 -1
  385. package/build/core/middleware/projectMigratorV3.d.ts +4 -0
  386. package/build/core/middleware/projectMigratorV3.d.ts.map +1 -1
  387. package/build/core/middleware/projectMigratorV3.js +34 -32
  388. package/build/core/middleware/projectMigratorV3.js.map +1 -1
  389. package/build/core/middleware/projectVersionChecker.js +5 -5
  390. package/build/core/middleware/projectVersionChecker.js.map +1 -1
  391. package/build/core/middleware/utils/appYmlGenerator.d.ts.map +1 -1
  392. package/build/core/middleware/utils/appYmlGenerator.js +2 -1
  393. package/build/core/middleware/utils/appYmlGenerator.js.map +1 -1
  394. package/build/core/middleware/utils/debug/taskMigrator.d.ts.map +1 -1
  395. package/build/core/middleware/utils/debug/taskMigrator.js +3 -0
  396. package/build/core/middleware/utils/debug/taskMigrator.js.map +1 -1
  397. package/build/core/middleware/utils/migrationContext.d.ts +1 -0
  398. package/build/core/middleware/utils/migrationContext.d.ts.map +1 -1
  399. package/build/core/middleware/utils/migrationContext.js.map +1 -1
  400. package/build/core/middleware/utils/v3MigrationUtils.d.ts.map +1 -1
  401. package/build/core/middleware/utils/v3MigrationUtils.js +5 -1
  402. package/build/core/middleware/utils/v3MigrationUtils.js.map +1 -1
  403. package/build/error/common.d.ts +4 -10
  404. package/build/error/common.d.ts.map +1 -1
  405. package/build/error/common.js +13 -35
  406. package/build/error/common.js.map +1 -1
  407. package/build/index.d.ts +4 -1
  408. package/build/index.d.ts.map +1 -1
  409. package/build/index.js +3 -0
  410. package/build/index.js.map +1 -1
  411. package/build/question/constants.d.ts +6 -0
  412. package/build/question/constants.d.ts.map +1 -0
  413. package/build/question/constants.js +18 -0
  414. package/build/question/constants.js.map +1 -0
  415. package/build/question/create.d.ts +23 -9
  416. package/build/question/create.d.ts.map +1 -1
  417. package/build/question/create.js +342 -281
  418. package/build/question/create.js.map +1 -1
  419. package/build/question/generator.d.ts +4 -0
  420. package/build/question/generator.d.ts.map +1 -0
  421. package/build/question/generator.js +365 -0
  422. package/build/question/generator.js.map +1 -0
  423. package/build/question/index.d.ts +19 -30
  424. package/build/question/index.d.ts.map +1 -1
  425. package/build/question/index.js +14 -47
  426. package/build/question/index.js.map +1 -1
  427. package/build/question/inputs/CreateEnvInputs.d.ts +14 -0
  428. package/build/question/inputs/CreateEnvInputs.d.ts.map +1 -0
  429. package/build/question/inputs/CreateEnvInputs.js +5 -0
  430. package/build/question/inputs/CreateEnvInputs.js.map +1 -0
  431. package/build/question/inputs/CreateProjectInputs.d.ts +38 -0
  432. package/build/question/inputs/CreateProjectInputs.d.ts.map +1 -0
  433. package/build/question/inputs/CreateProjectInputs.js +5 -0
  434. package/build/question/inputs/CreateProjectInputs.js.map +1 -0
  435. package/build/question/inputs/CreateSampleProjectInputs.d.ts +12 -0
  436. package/build/question/inputs/CreateSampleProjectInputs.d.ts.map +1 -0
  437. package/build/question/inputs/CreateSampleProjectInputs.js +5 -0
  438. package/build/question/inputs/CreateSampleProjectInputs.js.map +1 -0
  439. package/build/question/inputs/DeployAadManifestInputs.d.ts +14 -0
  440. package/build/question/inputs/DeployAadManifestInputs.d.ts.map +1 -0
  441. package/build/question/inputs/DeployAadManifestInputs.js +5 -0
  442. package/build/question/inputs/DeployAadManifestInputs.js.map +1 -0
  443. package/build/question/inputs/PermissionGrantInputs.d.ts +18 -0
  444. package/build/question/inputs/PermissionGrantInputs.d.ts.map +1 -0
  445. package/build/question/inputs/PermissionGrantInputs.js +5 -0
  446. package/build/question/inputs/PermissionGrantInputs.js.map +1 -0
  447. package/build/question/inputs/PermissionListInputs.d.ts +16 -0
  448. package/build/question/inputs/PermissionListInputs.d.ts.map +1 -0
  449. package/build/question/inputs/PermissionListInputs.js +5 -0
  450. package/build/question/inputs/PermissionListInputs.js.map +1 -0
  451. package/build/question/inputs/PreviewTeamsAppInputs.d.ts +14 -0
  452. package/build/question/inputs/PreviewTeamsAppInputs.d.ts.map +1 -0
  453. package/build/question/inputs/PreviewTeamsAppInputs.js +5 -0
  454. package/build/question/inputs/PreviewTeamsAppInputs.js.map +1 -0
  455. package/build/question/inputs/SPFxAddWebpartInputs.d.ts +18 -0
  456. package/build/question/inputs/SPFxAddWebpartInputs.d.ts.map +1 -0
  457. package/build/question/inputs/SPFxAddWebpartInputs.js +5 -0
  458. package/build/question/inputs/SPFxAddWebpartInputs.js.map +1 -0
  459. package/build/question/inputs/SelectTeamsManifestInputs.d.ts +12 -0
  460. package/build/question/inputs/SelectTeamsManifestInputs.d.ts.map +1 -0
  461. package/build/question/inputs/SelectTeamsManifestInputs.js +5 -0
  462. package/build/question/inputs/SelectTeamsManifestInputs.js.map +1 -0
  463. package/build/question/inputs/ValidateTeamsAppInputs.d.ts +14 -0
  464. package/build/question/inputs/ValidateTeamsAppInputs.d.ts.map +1 -0
  465. package/build/question/inputs/ValidateTeamsAppInputs.js +5 -0
  466. package/build/question/inputs/ValidateTeamsAppInputs.js.map +1 -0
  467. package/build/question/inputs/index.d.ts +11 -0
  468. package/build/question/inputs/index.d.ts.map +1 -0
  469. package/build/question/inputs/index.js +16 -0
  470. package/build/question/inputs/index.js.map +1 -0
  471. package/build/question/options/CreateEnvOptions.d.ts +10 -0
  472. package/build/question/options/CreateEnvOptions.d.ts.map +1 -0
  473. package/build/question/options/CreateEnvOptions.js +24 -0
  474. package/build/question/options/CreateEnvOptions.js.map +1 -0
  475. package/build/question/options/CreateProjectOptions.d.ts +10 -0
  476. package/build/question/options/CreateProjectOptions.d.ts.map +1 -0
  477. package/build/question/options/CreateProjectOptions.js +133 -0
  478. package/build/question/options/CreateProjectOptions.js.map +1 -0
  479. package/build/question/options/CreateSampleProjectOptions.d.ts +10 -0
  480. package/build/question/options/CreateSampleProjectOptions.d.ts.map +1 -0
  481. package/build/question/options/CreateSampleProjectOptions.js +52 -0
  482. package/build/question/options/CreateSampleProjectOptions.js.map +1 -0
  483. package/build/question/options/DeployAadManifestOptions.d.ts +10 -0
  484. package/build/question/options/DeployAadManifestOptions.d.ts.map +1 -0
  485. package/build/question/options/DeployAadManifestOptions.js +21 -0
  486. package/build/question/options/DeployAadManifestOptions.js.map +1 -0
  487. package/build/question/options/PermissionGrantOptions.d.ts +10 -0
  488. package/build/question/options/PermissionGrantOptions.d.ts.map +1 -0
  489. package/build/question/options/PermissionGrantOptions.js +33 -0
  490. package/build/question/options/PermissionGrantOptions.js.map +1 -0
  491. package/build/question/options/PermissionListOptions.d.ts +10 -0
  492. package/build/question/options/PermissionListOptions.d.ts.map +1 -0
  493. package/build/question/options/PermissionListOptions.js +28 -0
  494. package/build/question/options/PermissionListOptions.js.map +1 -0
  495. package/build/question/options/PreviewTeamsAppOptions.d.ts +10 -0
  496. package/build/question/options/PreviewTeamsAppOptions.d.ts.map +1 -0
  497. package/build/question/options/PreviewTeamsAppOptions.js +26 -0
  498. package/build/question/options/PreviewTeamsAppOptions.js.map +1 -0
  499. package/build/question/options/SPFxAddWebpartOptions.d.ts +10 -0
  500. package/build/question/options/SPFxAddWebpartOptions.d.ts.map +1 -0
  501. package/build/question/options/SPFxAddWebpartOptions.js +39 -0
  502. package/build/question/options/SPFxAddWebpartOptions.js.map +1 -0
  503. package/build/question/options/SelectTeamsManifestOptions.d.ts +10 -0
  504. package/build/question/options/SelectTeamsManifestOptions.d.ts.map +1 -0
  505. package/build/question/options/SelectTeamsManifestOptions.js +17 -0
  506. package/build/question/options/SelectTeamsManifestOptions.js.map +1 -0
  507. package/build/question/options/ValidateTeamsAppOptions.d.ts +10 -0
  508. package/build/question/options/ValidateTeamsAppOptions.d.ts.map +1 -0
  509. package/build/question/options/ValidateTeamsAppOptions.js +23 -0
  510. package/build/question/options/ValidateTeamsAppOptions.js.map +1 -0
  511. package/build/question/options/index.d.ts +11 -0
  512. package/build/question/options/index.d.ts.map +1 -0
  513. package/build/question/options/index.js +16 -0
  514. package/build/question/options/index.js.map +1 -0
  515. package/build/question/other.d.ts +12 -1
  516. package/build/question/other.d.ts.map +1 -1
  517. package/build/question/other.js +128 -30
  518. package/build/question/other.js.map +1 -1
  519. package/build/question/questionNames.d.ts +6 -2
  520. package/build/question/questionNames.d.ts.map +1 -1
  521. package/build/question/questionNames.js +8 -3
  522. package/build/question/questionNames.js.map +1 -1
  523. package/build/ui/validationUtils.d.ts +31 -0
  524. package/build/ui/validationUtils.d.ts.map +1 -0
  525. package/build/ui/validationUtils.js +297 -0
  526. package/build/ui/validationUtils.js.map +1 -0
  527. package/build/ui/visitor.d.ts +13 -1
  528. package/build/ui/visitor.d.ts.map +1 -1
  529. package/build/ui/visitor.js +262 -234
  530. package/build/ui/visitor.js.map +1 -1
  531. package/package.json +19 -15
  532. package/resource/package.nls.json +42 -16
  533. package/resource/yaml-schema/{1.1.1 → v1.2}/yaml.schema.json +11 -5
  534. package/templates/fallback/common.zip +0 -0
  535. package/templates/fallback/csharp.zip +0 -0
  536. package/templates/fallback/js.zip +0 -0
  537. package/templates/fallback/ts.zip +0 -0
  538. package/templates/plugins/resource/aad/auth/V3/Tab/GetUserProfile.razor +1 -2
  539. package/templates/plugins/resource/aad/auth/bot/README.md +281 -263
  540. package/templates/plugins/resource/aad/auth/bot/js/sso/handleMessageExtensionQueryWithToken.js +13 -3
  541. package/templates/plugins/resource/aad/auth/bot/js/sso/profileSsoCommandHandler.js +14 -5
  542. package/templates/plugins/resource/aad/auth/bot/ts/sso/handleMessageExtensionQueryWithToken.ts +11 -3
  543. package/templates/plugins/resource/aad/auth/bot/ts/sso/profileSsoCommandHandler.ts +12 -3
  544. package/templates/plugins/resource/aad/auth/tab/csharp/GetUserProfile.razor +1 -2
  545. package/build/common/samples-config-v3.json +0 -233
  546. package/build/component/driver/middleware/updateProgress.d.ts +0 -6
  547. package/build/component/driver/middleware/updateProgress.d.ts.map +0 -1
  548. package/build/component/driver/middleware/updateProgress.js +0 -15
  549. package/build/component/driver/middleware/updateProgress.js.map +0 -1
  550. package/build/core/FxCoreImplementV3.d.ts +0 -47
  551. package/build/core/FxCoreImplementV3.d.ts.map +0 -1
  552. package/build/core/FxCoreImplementV3.js +0 -702
  553. 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.createProjectQuestionNode = 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"));
@@ -16,7 +16,6 @@ const localizeUtils_1 = require("../common/localizeUtils");
16
16
  const samples_1 = require("../common/samples");
17
17
  const utils_1 = require("../common/utils");
18
18
  const developerPortalScaffoldUtils_1 = require("../component/developerPortalScaffoldUtils");
19
- const ManifestUtils_1 = require("../component/driver/teamsApp/utils/ManifestUtils");
20
19
  const utils_2 = require("../component/driver/teamsApp/utils/utils");
21
20
  const helper_1 = require("../component/generator/copilotPlugin/helper");
22
21
  const projectsJsonData_1 = tslib_1.__importDefault(require("../component/generator/officeAddin/config/projectsJsonData"));
@@ -28,6 +27,7 @@ const utils_4 = require("../component/utils");
28
27
  const error_2 = require("../error");
29
28
  const questionNames_1 = require("./questionNames");
30
29
  const util_1 = require("./util");
30
+ const constants_3 = require("./constants");
31
31
  class ScratchOptions {
32
32
  static yes() {
33
33
  return {
@@ -49,62 +49,49 @@ class ScratchOptions {
49
49
  }
50
50
  exports.ScratchOptions = ScratchOptions;
51
51
  class ProjectTypeOptions {
52
- static tab() {
52
+ static tab(platform) {
53
53
  return {
54
54
  id: "tab-type",
55
- label: `$(browser) ${localizeUtils_1.getLocalizedString("core.TabOption.label")}`,
55
+ label: `${platform === teamsfx_api_1.Platform.VSCode ? "$(browser) " : ""}${localizeUtils_1.getLocalizedString("core.TabOption.label")}`,
56
56
  detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.tab.detail"),
57
57
  };
58
58
  }
59
- static bot() {
59
+ static bot(platform) {
60
60
  return {
61
61
  id: "bot-type",
62
- label: `$(hubot) ${localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.bot.label")}`,
62
+ label: `${platform === teamsfx_api_1.Platform.VSCode ? "$(hubot) " : ""}${localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.bot.label")}`,
63
63
  detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.bot.detail"),
64
64
  };
65
65
  }
66
- static me() {
66
+ static me(platform) {
67
67
  return {
68
68
  id: "me-type",
69
- label: `$(symbol-keyword) ${localizeUtils_1.getLocalizedString("core.MessageExtensionOption.label")}`,
69
+ label: `${platform === teamsfx_api_1.Platform.VSCode ? "$(symbol-keyword) " : ""}${localizeUtils_1.getLocalizedString("core.MessageExtensionOption.label")}`,
70
70
  detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.messageExtension.detail"),
71
71
  };
72
72
  }
73
- static outlookAddin() {
73
+ static outlookAddin(platform) {
74
74
  return {
75
75
  id: "outlook-addin-type",
76
- label: `$(mail) ${localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.outlookAddin.label")}`,
76
+ label: `${platform === teamsfx_api_1.Platform.VSCode ? "$(mail) " : ""}${localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.outlookAddin.label")}`,
77
77
  detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.outlookAddin.detail"),
78
78
  };
79
79
  }
80
- static copilotPlugin() {
80
+ static copilotPlugin(platform) {
81
81
  return {
82
82
  id: "copilot-plugin-type",
83
- label: `$(sparkle) ${localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.copilotPlugin.label")}`,
83
+ label: `${platform === teamsfx_api_1.Platform.VSCode ? "$(sparkle) " : ""}${localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.copilotPlugin.label")}`,
84
84
  detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.copilotPlugin.detail"),
85
85
  };
86
86
  }
87
87
  }
88
88
  exports.ProjectTypeOptions = ProjectTypeOptions;
89
- function scratchOrSampleQuestion() {
90
- const staticOptions = ScratchOptions.all();
91
- return {
92
- type: "singleSelect",
93
- name: questionNames_1.QuestionNames.Scratch,
94
- title: localizeUtils_1.getLocalizedString("core.getCreateNewOrFromSampleQuestion.title"),
95
- staticOptions,
96
- default: ScratchOptions.yes().id,
97
- placeholder: localizeUtils_1.getLocalizedString("core.getCreateNewOrFromSampleQuestion.placeholder"),
98
- skipSingleOption: true,
99
- forgetLastValue: true,
100
- };
101
- }
102
89
  function projectTypeQuestion() {
103
90
  const staticOptions = [
104
- ProjectTypeOptions.bot(),
105
- ProjectTypeOptions.tab(),
106
- ProjectTypeOptions.me(),
107
- ProjectTypeOptions.outlookAddin(),
91
+ ProjectTypeOptions.bot(teamsfx_api_1.Platform.CLI),
92
+ ProjectTypeOptions.tab(teamsfx_api_1.Platform.CLI),
93
+ ProjectTypeOptions.me(teamsfx_api_1.Platform.CLI),
94
+ ProjectTypeOptions.outlookAddin(teamsfx_api_1.Platform.CLI),
108
95
  ];
109
96
  return {
110
97
  name: questionNames_1.QuestionNames.ProjectType,
@@ -116,27 +103,27 @@ function projectTypeQuestion() {
116
103
  let staticOptions;
117
104
  if (featureFlags_1.isCopilotPluginEnabled()) {
118
105
  staticOptions = [
119
- ProjectTypeOptions.copilotPlugin(),
120
- ProjectTypeOptions.bot(),
121
- ProjectTypeOptions.tab(),
122
- ProjectTypeOptions.me(),
106
+ ProjectTypeOptions.copilotPlugin(inputs.platform),
107
+ ProjectTypeOptions.bot(inputs.platform),
108
+ ProjectTypeOptions.tab(inputs.platform),
109
+ ProjectTypeOptions.me(inputs.platform),
123
110
  ];
124
111
  }
125
112
  else {
126
113
  staticOptions = [
127
- ProjectTypeOptions.bot(),
128
- ProjectTypeOptions.tab(),
129
- ProjectTypeOptions.me(),
114
+ ProjectTypeOptions.bot(inputs.platform),
115
+ ProjectTypeOptions.tab(inputs.platform),
116
+ ProjectTypeOptions.me(inputs.platform),
130
117
  ];
131
118
  }
132
119
  if (developerPortalScaffoldUtils_1.isFromDevPortal(inputs)) {
133
- const projectType = (_a = developerPortalScaffoldUtils_1.getTemplateId(inputs.teamsAppFromTdp)) === null || _a === void 0 ? void 0 : _a.projectType;
120
+ const projectType = (_a = developerPortalScaffoldUtils_1.getProjectTypeAndCapability(inputs.teamsAppFromTdp)) === null || _a === void 0 ? void 0 : _a.projectType;
134
121
  if (projectType) {
135
122
  return [projectType];
136
123
  }
137
124
  }
138
125
  else {
139
- staticOptions.push(ProjectTypeOptions.outlookAddin());
126
+ staticOptions.push(ProjectTypeOptions.outlookAddin(inputs.platform));
140
127
  }
141
128
  return staticOptions;
142
129
  },
@@ -149,18 +136,16 @@ class CapabilityOptions {
149
136
  // bot
150
137
  static basicBot() {
151
138
  return {
152
- id: "Bot",
139
+ id: "bot",
153
140
  label: `${localizeUtils_1.getLocalizedString("core.BotNewUIOption.label")}`,
154
- cliName: "bot",
155
141
  detail: localizeUtils_1.getLocalizedString("core.BotNewUIOption.detail"),
156
142
  };
157
143
  }
158
144
  static notificationBot() {
159
145
  return {
160
146
  // For default option, id and cliName must be the same
161
- id: "Notification",
147
+ id: "notification",
162
148
  label: `${localizeUtils_1.getLocalizedString("core.NotificationOption.label")}`,
163
- cliName: "notification",
164
149
  detail: localizeUtils_1.getLocalizedString("core.NotificationOption.detail"),
165
150
  data: "https://aka.ms/teamsfx-send-notification",
166
151
  buttons: [
@@ -177,7 +162,6 @@ class CapabilityOptions {
177
162
  // id must match cli `yargsHelp`
178
163
  id: "command-bot",
179
164
  label: `${localizeUtils_1.getLocalizedString("core.CommandAndResponseOption.label")}`,
180
- cliName: "command-bot",
181
165
  detail: localizeUtils_1.getLocalizedString("core.CommandAndResponseOption.detail"),
182
166
  data: "https://aka.ms/teamsfx-create-command",
183
167
  buttons: [
@@ -194,7 +178,6 @@ class CapabilityOptions {
194
178
  // id must match cli `yargsHelp`
195
179
  id: "workflow-bot",
196
180
  label: `${localizeUtils_1.getLocalizedString("core.WorkflowOption.label")}`,
197
- cliName: "workflow-bot",
198
181
  detail: localizeUtils_1.getLocalizedString("core.WorkflowOption.detail"),
199
182
  data: "https://aka.ms/teamsfx-create-workflow",
200
183
  buttons: [
@@ -220,27 +203,24 @@ class CapabilityOptions {
220
203
  //tab
221
204
  static nonSsoTab() {
222
205
  return {
223
- id: "TabNonSso",
206
+ id: "tab-non-sso",
224
207
  label: `${localizeUtils_1.getLocalizedString("core.TabNonSso.label")}`,
225
- cliName: "tab-non-sso",
226
208
  detail: localizeUtils_1.getLocalizedString("core.TabNonSso.detail"),
227
209
  description: localizeUtils_1.getLocalizedString("core.createProjectQuestion.option.description.worksInOutlookM365"),
228
210
  };
229
211
  }
230
212
  static tab() {
231
213
  return {
232
- id: "Tab",
214
+ id: "tab",
233
215
  label: localizeUtils_1.getLocalizedString("core.TabOption.label"),
234
- cliName: "tab",
235
216
  description: localizeUtils_1.getLocalizedString("core.TabOption.description"),
236
217
  detail: localizeUtils_1.getLocalizedString("core.TabOption.detail"),
237
218
  };
238
219
  }
239
220
  static m365SsoLaunchPage() {
240
221
  return {
241
- id: "M365SsoLaunchPage",
222
+ id: "sso-launch-page",
242
223
  label: `${localizeUtils_1.getLocalizedString("core.M365SsoLaunchPageOptionItem.label")}`,
243
- cliName: "sso-launch-page",
244
224
  detail: localizeUtils_1.getLocalizedString("core.M365SsoLaunchPageOptionItem.detail"),
245
225
  description: localizeUtils_1.getLocalizedString("core.createProjectQuestion.option.description.worksInOutlookM365"),
246
226
  };
@@ -249,7 +229,6 @@ class CapabilityOptions {
249
229
  return {
250
230
  id: "dashboard-tab",
251
231
  label: `${localizeUtils_1.getLocalizedString("core.DashboardOption.label")}`,
252
- cliName: "dashboard-tab",
253
232
  detail: localizeUtils_1.getLocalizedString("core.DashboardOption.detail"),
254
233
  description: localizeUtils_1.getLocalizedString("core.createProjectQuestion.option.description.worksInOutlookM365"),
255
234
  data: "https://aka.ms/teamsfx-dashboard-app",
@@ -264,9 +243,8 @@ class CapabilityOptions {
264
243
  }
265
244
  static SPFxTab() {
266
245
  return {
267
- id: "TabSPFx",
246
+ id: "tab-spfx",
268
247
  label: localizeUtils_1.getLocalizedString("core.TabSPFxOption.labelNew"),
269
- cliName: "tab-spfx",
270
248
  description: localizeUtils_1.getLocalizedString("core.createProjectQuestion.option.description.worksInOutlookM365"),
271
249
  detail: localizeUtils_1.getLocalizedString("core.TabSPFxOption.detailNew"),
272
250
  };
@@ -274,46 +252,58 @@ class CapabilityOptions {
274
252
  //message extension
275
253
  static linkUnfurling() {
276
254
  return {
277
- id: "LinkUnfurling",
255
+ id: "link-unfurling",
278
256
  label: `${localizeUtils_1.getLocalizedString("core.LinkUnfurlingOption.label")}`,
279
- cliName: "link-unfurling",
280
257
  detail: localizeUtils_1.getLocalizedString("core.LinkUnfurlingOption.detail"),
281
258
  description: localizeUtils_1.getLocalizedString("core.createProjectQuestion.option.description.worksInOutlook"),
282
259
  };
283
260
  }
284
261
  static m365SearchMe() {
285
262
  return {
286
- id: "M365SearchApp",
263
+ id: "search-app",
287
264
  label: `${localizeUtils_1.getLocalizedString("core.M365SearchAppOptionItem.label")}`,
288
- cliName: "search-app",
289
265
  detail: localizeUtils_1.getLocalizedString("core.M365SearchAppOptionItem.detail"),
290
266
  description: localizeUtils_1.getLocalizedString("core.createProjectQuestion.option.description.worksInOutlook"),
291
267
  };
292
268
  }
269
+ static SearchMe() {
270
+ return {
271
+ id: "search-message-extension",
272
+ label: `${localizeUtils_1.getLocalizedString("core.M365SearchAppOptionItem.label")}`,
273
+ detail: localizeUtils_1.getLocalizedString("core.SearchAppOptionItem.detail"),
274
+ };
275
+ }
293
276
  static collectFormMe() {
294
277
  return {
295
- id: "MessagingExtension",
278
+ id: "collect-form-message-extension",
296
279
  label: `${localizeUtils_1.getLocalizedString("core.MessageExtensionOption.labelNew")}`,
297
- cliName: "message-extension",
298
280
  detail: localizeUtils_1.getLocalizedString("core.MessageExtensionOption.detail"),
299
281
  };
300
282
  }
301
283
  static me() {
302
284
  return {
303
- id: "MessagingExtension",
285
+ id: "message-extension",
304
286
  label: localizeUtils_1.getLocalizedString("core.MessageExtensionOption.label"),
305
- cliName: "message-extension",
306
287
  description: localizeUtils_1.getLocalizedString("core.MessageExtensionOption.description"),
307
288
  detail: localizeUtils_1.getLocalizedString("core.MessageExtensionOption.detail"),
308
289
  };
309
290
  }
310
291
  static bots(inputs) {
311
- return [
312
- CapabilityOptions.basicBot(),
313
- CapabilityOptions.notificationBot(),
314
- CapabilityOptions.commandBot(),
315
- CapabilityOptions.workflowBot(inputs),
316
- ];
292
+ return inputs !== undefined && getRuntime(inputs) === RuntimeOptions.DotNet().id
293
+ ? // currently no ai bot for dotnet
294
+ [
295
+ CapabilityOptions.basicBot(),
296
+ CapabilityOptions.notificationBot(),
297
+ CapabilityOptions.commandBot(),
298
+ CapabilityOptions.workflowBot(inputs),
299
+ ]
300
+ : [
301
+ CapabilityOptions.basicBot(),
302
+ CapabilityOptions.aiBot(),
303
+ CapabilityOptions.notificationBot(),
304
+ CapabilityOptions.commandBot(),
305
+ CapabilityOptions.workflowBot(inputs),
306
+ ];
317
307
  }
318
308
  static tabs() {
319
309
  return [
@@ -323,21 +313,27 @@ class CapabilityOptions {
323
313
  CapabilityOptions.SPFxTab(),
324
314
  ];
325
315
  }
326
- static dotnetCaps() {
316
+ static dotnetCaps(inputs) {
327
317
  return [
328
- CapabilityOptions.notificationBot(),
329
- CapabilityOptions.commandBot(),
318
+ ...CapabilityOptions.copilotPlugins(),
319
+ ...CapabilityOptions.bots(inputs),
330
320
  CapabilityOptions.nonSsoTab(),
331
321
  CapabilityOptions.tab(),
332
- CapabilityOptions.me(),
322
+ ...CapabilityOptions.mes(inputs),
333
323
  ];
334
324
  }
335
- static mes() {
336
- return [
337
- CapabilityOptions.linkUnfurling(),
338
- CapabilityOptions.m365SearchMe(),
339
- CapabilityOptions.collectFormMe(),
340
- ];
325
+ static mes(inputs) {
326
+ return inputs !== undefined && getRuntime(inputs) === RuntimeOptions.DotNet().id
327
+ ? [
328
+ CapabilityOptions.linkUnfurling(),
329
+ CapabilityOptions.SearchMe(),
330
+ CapabilityOptions.collectFormMe(),
331
+ ]
332
+ : [
333
+ CapabilityOptions.linkUnfurling(),
334
+ CapabilityOptions.m365SearchMe(),
335
+ CapabilityOptions.collectFormMe(),
336
+ ];
341
337
  }
342
338
  static copilotPlugins() {
343
339
  return [
@@ -346,11 +342,29 @@ class CapabilityOptions {
346
342
  CapabilityOptions.copilotPluginOpenAIPlugin(),
347
343
  ];
348
344
  }
345
+ /**
346
+ * static capability list, which does not depend on any feature flags
347
+ */
348
+ static staticAll(inputs) {
349
+ const capabilityOptions = [
350
+ ...CapabilityOptions.bots(inputs),
351
+ ...CapabilityOptions.tabs(),
352
+ ...CapabilityOptions.mes(),
353
+ ...CapabilityOptions.copilotPlugins(),
354
+ //add search me options here to unblock e2e test
355
+ CapabilityOptions.SearchMe(),
356
+ ];
357
+ return capabilityOptions;
358
+ }
359
+ /**
360
+ * dynamic capability list, which depends on feature flags
361
+ */
349
362
  static all(inputs) {
350
363
  const capabilityOptions = [
351
364
  ...CapabilityOptions.bots(inputs),
352
365
  ...CapabilityOptions.tabs(),
353
366
  ...CapabilityOptions.mes(),
367
+ CapabilityOptions.SearchMe(),
354
368
  ];
355
369
  if (featureFlags_1.isCopilotPluginEnabled()) {
356
370
  capabilityOptions.push(...CapabilityOptions.copilotPlugins());
@@ -359,9 +373,8 @@ class CapabilityOptions {
359
373
  }
360
374
  static officeAddinImport() {
361
375
  return {
362
- id: "import-addin-project",
376
+ id: "import",
363
377
  label: localizeUtils_1.getLocalizedString("core.importAddin.label"),
364
- cliName: "import",
365
378
  detail: localizeUtils_1.getLocalizedString("core.importAddin.detail"),
366
379
  description: localizeUtils_1.getLocalizedString("core.createProjectQuestion.option.description.previewOnWindow"),
367
380
  };
@@ -389,25 +402,32 @@ class CapabilityOptions {
389
402
  // copilot plugin
390
403
  static copilotPluginNewApi() {
391
404
  return {
392
- id: "copilot-new-api",
405
+ id: constants_3.copilotPluginNewApiOptionId,
393
406
  label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.copilotPluginNewApiOption.label"),
394
407
  detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.copilotPluginNewApiOption.detail"),
395
408
  };
396
409
  }
397
410
  static copilotPluginApiSpec() {
398
411
  return {
399
- id: "copilot-api-spec",
412
+ id: constants_3.copilotPluginApiSpecOptionId,
400
413
  label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.copilotPluginApiSpecOption.label"),
401
414
  detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.copilotPluginApiSpecOption.detail"),
402
415
  };
403
416
  }
404
417
  static copilotPluginOpenAIPlugin() {
405
418
  return {
406
- id: "copilot-ai-plugin",
419
+ id: constants_3.copilotPluginOpenAIPluginOptionId,
407
420
  label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.copilotPluginAIPluginOption.label"),
408
421
  detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.copilotPluginAIPluginOption.detail"),
409
422
  };
410
423
  }
424
+ static aiBot() {
425
+ return {
426
+ id: "ai-bot",
427
+ label: localizeUtils_1.getLocalizedString("core.aiBotOption.label"),
428
+ detail: localizeUtils_1.getLocalizedString("core.aiBotOption.detail"),
429
+ };
430
+ }
411
431
  }
412
432
  exports.CapabilityOptions = CapabilityOptions;
413
433
  function capabilityQuestion() {
@@ -430,20 +450,28 @@ function capabilityQuestion() {
430
450
  return localizeUtils_1.getLocalizedString("core.createCapabilityQuestion.titleNew");
431
451
  }
432
452
  },
453
+ cliDescription: "Specifies the Microsoft Teams App capability.",
454
+ cliName: questionNames_1.CliQuestionName.Capability,
455
+ cliShortName: "c",
456
+ cliChoiceListCommand: "teamsfx list templates",
433
457
  type: "singleSelect",
434
- staticOptions: CapabilityOptions.all(),
458
+ staticOptions: CapabilityOptions.staticAll(),
435
459
  dynamicOptions: (inputs) => {
436
460
  var _a;
437
461
  // from dev portal
438
462
  if (developerPortalScaffoldUtils_1.isFromDevPortal(inputs)) {
439
- const capability = (_a = developerPortalScaffoldUtils_1.getTemplateId(inputs.teamsAppFromTdp)) === null || _a === void 0 ? void 0 : _a.templateId;
463
+ const capability = (_a = developerPortalScaffoldUtils_1.getProjectTypeAndCapability(inputs.teamsAppFromTdp)) === null || _a === void 0 ? void 0 : _a.templateId;
440
464
  if (capability) {
441
465
  return [capability];
442
466
  }
443
467
  }
444
468
  // dotnet capabilities
445
469
  if (getRuntime(inputs) === RuntimeOptions.DotNet().id) {
446
- return CapabilityOptions.dotnetCaps();
470
+ return CapabilityOptions.dotnetCaps(inputs);
471
+ }
472
+ if (inputs.nonInteractive && inputs.platform === teamsfx_api_1.Platform.CLI) {
473
+ //cli non-interactive mode the choice list is the same as staticOptions
474
+ return CapabilityOptions.all(inputs);
447
475
  }
448
476
  // nodejs capabilities
449
477
  const projectType = inputs[questionNames_1.QuestionNames.ProjectType];
@@ -463,15 +491,7 @@ function capabilityQuestion() {
463
491
  return CapabilityOptions.copilotPlugins();
464
492
  }
465
493
  else {
466
- const capabilityOptions = [
467
- ...CapabilityOptions.bots(inputs),
468
- ...CapabilityOptions.tabs(),
469
- ...CapabilityOptions.mes(),
470
- ];
471
- if (featureFlags_1.isCopilotPluginEnabled()) {
472
- capabilityOptions.push(...CapabilityOptions.copilotPlugins());
473
- }
474
- return capabilityOptions;
494
+ return CapabilityOptions.all(inputs);
475
495
  }
476
496
  },
477
497
  placeholder: (inputs) => {
@@ -484,6 +504,7 @@ function capabilityQuestion() {
484
504
  skipSingleOption: true,
485
505
  };
486
506
  }
507
+ exports.capabilityQuestion = capabilityQuestion;
487
508
  var HostType;
488
509
  (function (HostType) {
489
510
  HostType["AppService"] = "app-service";
@@ -499,7 +520,6 @@ class NotificationTriggerOptions {
499
520
  id: "http-restify",
500
521
  hostType: HostType.AppService,
501
522
  label: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-restify.label"),
502
- cliName: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-restify.cliName"),
503
523
  description: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-restify.description"),
504
524
  detail: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-restify.detail"),
505
525
  };
@@ -509,7 +529,6 @@ class NotificationTriggerOptions {
509
529
  id: "http-webapi",
510
530
  hostType: HostType.AppService,
511
531
  label: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-webapi.label"),
512
- cliName: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-webapi.cliName"),
513
532
  description: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-webapi.description"),
514
533
  detail: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-webapi.detail"),
515
534
  };
@@ -521,7 +540,6 @@ class NotificationTriggerOptions {
521
540
  hostType: HostType.Functions,
522
541
  triggers: [NotificationTriggers.TIMER],
523
542
  label: localizeUtils_1.getLocalizedString("plugins.bot.triggers.timer-functions.label"),
524
- cliName: localizeUtils_1.getLocalizedString("plugins.bot.triggers.timer-functions.cliName"),
525
543
  description: localizeUtils_1.getLocalizedString("plugins.bot.triggers.timer-functions.description"),
526
544
  detail: localizeUtils_1.getLocalizedString("plugins.bot.triggers.timer-functions.detail"),
527
545
  };
@@ -532,7 +550,6 @@ class NotificationTriggerOptions {
532
550
  hostType: HostType.Functions,
533
551
  triggers: [NotificationTriggers.HTTP, NotificationTriggers.TIMER],
534
552
  label: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-and-timer-functions.label"),
535
- cliName: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-and-timer-functions.cliName"),
536
553
  description: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-and-timer-functions.description"),
537
554
  detail: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-and-timer-functions.detail"),
538
555
  };
@@ -543,7 +560,6 @@ class NotificationTriggerOptions {
543
560
  hostType: HostType.Functions,
544
561
  triggers: [NotificationTriggers.HTTP],
545
562
  label: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-functions.label"),
546
- cliName: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-functions.cliName"),
547
563
  description: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-functions.description"),
548
564
  detail: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-functions.detail"),
549
565
  };
@@ -582,6 +598,8 @@ function botTriggerQuestion() {
582
598
  return {
583
599
  name: questionNames_1.QuestionNames.BotTrigger,
584
600
  title: localizeUtils_1.getLocalizedString("plugins.bot.questionHostTypeTrigger.title"),
601
+ cliDescription: "Specifies the trigger for `Chat Notification Message` app template.",
602
+ cliShortName: "t",
585
603
  type: "singleSelect",
586
604
  staticOptions: NotificationTriggerOptions.all(),
587
605
  dynamicOptions: (inputs) => {
@@ -607,6 +625,8 @@ function SPFxSolutionQuestion() {
607
625
  type: "singleSelect",
608
626
  name: questionNames_1.QuestionNames.SPFxSolution,
609
627
  title: localizeUtils_1.getLocalizedString("plugins.spfx.questions.spfxSolution.title"),
628
+ cliDescription: "Create a new or import an existing SharePoint Framework solution.",
629
+ cliShortName: "s",
610
630
  staticOptions: [
611
631
  {
612
632
  id: "new",
@@ -627,6 +647,7 @@ function SPFxPackageSelectQuestion() {
627
647
  type: "singleSelect",
628
648
  name: questionNames_1.QuestionNames.SPFxInstallPackage,
629
649
  title: localizeUtils_1.getLocalizedString("plugins.spfx.questions.packageSelect.title"),
650
+ cliDescription: "Install the latest version of SharePoint Framework.",
630
651
  staticOptions: [],
631
652
  placeholder: localizeUtils_1.getLocalizedString("plugins.spfx.questions.packageSelect.placeholder"),
632
653
  dynamicOptions: async (inputs) => {
@@ -656,18 +677,19 @@ function SPFxPackageSelectQuestion() {
656
677
  },
657
678
  default: SPFxVersionOptionIds.installLocally,
658
679
  validation: {
659
- validFunc: async (input, previousInputs) => {
680
+ validFunc: (input, previousInputs) => {
660
681
  if (input === SPFxVersionOptionIds.globalPackage) {
661
682
  const hasPackagesInstalled = !!previousInputs &&
662
683
  !!previousInputs.globalSpfxPackageVersion &&
663
684
  !!previousInputs.globalYeomanPackageVersion;
664
685
  if (!hasPackagesInstalled) {
665
- throw error_1.DevEnvironmentSetupError();
686
+ return Promise.reject(error_1.DevEnvironmentSetupError());
666
687
  }
667
688
  }
668
- return undefined;
689
+ return Promise.resolve(undefined);
669
690
  },
670
691
  },
692
+ isBoolean: true,
671
693
  };
672
694
  }
673
695
  exports.SPFxPackageSelectQuestion = SPFxPackageSelectQuestion;
@@ -675,6 +697,8 @@ function SPFxFrameworkQuestion() {
675
697
  return {
676
698
  type: "singleSelect",
677
699
  name: questionNames_1.QuestionNames.SPFxFramework,
700
+ cliShortName: "k",
701
+ cliDescription: "Framework.",
678
702
  title: localizeUtils_1.getLocalizedString("plugins.spfx.questions.framework.title"),
679
703
  staticOptions: [
680
704
  { id: "react", label: "React" },
@@ -689,7 +713,9 @@ function SPFxWebpartNameQuestion() {
689
713
  return {
690
714
  type: "text",
691
715
  name: questionNames_1.QuestionNames.SPFxWebpartName,
692
- title: "Web Part Name",
716
+ cliShortName: "w",
717
+ cliDescription: "Name for SharePoint Framework Web Part.",
718
+ title: localizeUtils_1.getLocalizedString("plugins.spfx.questions.webpartName"),
693
719
  default: constants_2.Constants.DEFAULT_WEBPART_NAME,
694
720
  validation: {
695
721
  validFunc: async (input, previousInputs) => {
@@ -725,6 +751,7 @@ function SPFxImportFolderQuestion(hasDefaultFunc = false) {
725
751
  type: "folder",
726
752
  name: questionNames_1.QuestionNames.SPFxFolder,
727
753
  title: localizeUtils_1.getLocalizedString("core.spfxFolder.title"),
754
+ cliDescription: "Directory or Path that contains the existing SharePoint Framework solution.",
728
755
  placeholder: localizeUtils_1.getLocalizedString("core.spfxFolder.placeholder"),
729
756
  default: hasDefaultFunc
730
757
  ? (inputs) => {
@@ -740,7 +767,7 @@ const getTemplate = (inputs) => {
740
767
  const capabilities = inputs[questionNames_1.QuestionNames.Capabilities];
741
768
  const templates = officeAddinJsonData.getProjectTemplateNames();
742
769
  const foundTemplate = templates.find((template) => {
743
- return capabilities.includes(template);
770
+ return capabilities && capabilities.includes(template);
744
771
  });
745
772
  return foundTemplate !== null && foundTemplate !== void 0 ? foundTemplate : "";
746
773
  };
@@ -751,7 +778,7 @@ function officeAddinHostingQuestion() {
751
778
  name: questionNames_1.QuestionNames.OfficeAddinHost,
752
779
  title: "Add-in Host",
753
780
  staticOptions: [],
754
- dynamicOptions: async (inputs) => {
781
+ dynamicOptions: (inputs) => {
755
782
  const template = exports.getTemplate(inputs);
756
783
  const getHostTemplateNames = officeAddinJsonData.getHostTemplateNames(template);
757
784
  const options = getHostTemplateNames.map((host) => ({
@@ -760,7 +787,7 @@ function officeAddinHostingQuestion() {
760
787
  }));
761
788
  return options.length > 0 ? options : [{ label: "No Options", id: "No Options" }];
762
789
  },
763
- default: async (inputs) => {
790
+ default: (inputs) => {
764
791
  const template = exports.getTemplate(inputs);
765
792
  const options = officeAddinJsonData.getHostTemplateNames(template);
766
793
  return options[0] || "No Options";
@@ -769,6 +796,7 @@ function officeAddinHostingQuestion() {
769
796
  };
770
797
  return OfficeHostQuestion;
771
798
  }
799
+ exports.officeAddinHostingQuestion = officeAddinHostingQuestion;
772
800
  const officeAddinJsonData = new projectsJsonData_1.default();
773
801
  function getLanguageOptions(inputs) {
774
802
  const runtime = getRuntime(inputs);
@@ -805,7 +833,8 @@ var ProgrammingLanguage;
805
833
  function programmingLanguageQuestion() {
806
834
  const programmingLanguageQuestion = {
807
835
  name: questionNames_1.QuestionNames.ProgrammingLanguage,
808
- title: "Programming Language",
836
+ cliShortName: "l",
837
+ title: "Programming Language.",
809
838
  type: "singleSelect",
810
839
  staticOptions: [
811
840
  { id: ProgrammingLanguage.JS, label: "JavaScript" },
@@ -842,21 +871,30 @@ function programmingLanguageQuestion() {
842
871
  return programmingLanguageQuestion;
843
872
  }
844
873
  exports.programmingLanguageQuestion = programmingLanguageQuestion;
845
- function rootFolderQuestion() {
874
+ function folderQuestion() {
846
875
  return {
847
876
  type: "folder",
848
877
  name: questionNames_1.QuestionNames.Folder,
849
- title: localizeUtils_1.getLocalizedString("core.question.workspaceFolder.title"),
878
+ cliShortName: "f",
879
+ title: (inputs) => teamsfx_api_1.CLIPlatforms.includes(inputs.platform)
880
+ ? "Directory where the project folder will be created in"
881
+ : localizeUtils_1.getLocalizedString("core.question.workspaceFolder.title"),
882
+ cliDescription: "Directory where the project folder will be created in.",
850
883
  placeholder: localizeUtils_1.getLocalizedString("core.question.workspaceFolder.placeholder"),
851
- default: path.join(os.homedir(), constants_1.ConstantString.RootFolder),
884
+ default: (inputs) => teamsfx_api_1.CLIPlatforms.includes(inputs.platform)
885
+ ? "./"
886
+ : path.join(os.homedir(), constants_1.ConstantString.RootFolder),
852
887
  };
853
888
  }
889
+ exports.folderQuestion = folderQuestion;
854
890
  exports.AppNamePattern = '^(?=(.*[\\da-zA-Z]){2})[a-zA-Z][^"<>:\\?/*&|\u0000-\u001F]*[^"\\s.<>:\\?/*&|\u0000-\u001F]$';
855
891
  function appNameQuestion() {
856
892
  const question = {
857
893
  type: "text",
858
894
  name: questionNames_1.QuestionNames.AppName,
895
+ cliShortName: "n",
859
896
  title: "Application name",
897
+ required: true,
860
898
  default: async (inputs) => {
861
899
  var _a, _b;
862
900
  let defaultName = undefined;
@@ -908,6 +946,11 @@ function sampleSelectQuestion() {
908
946
  return {
909
947
  type: "singleSelect",
910
948
  name: questionNames_1.QuestionNames.Samples,
949
+ cliName: "sample-name",
950
+ cliDescription: "Specifies the Microsoft Teams App sample name.",
951
+ cliChoiceListCommand: "teamsfx list samples",
952
+ skipValidation: true,
953
+ cliType: "argument",
911
954
  title: localizeUtils_1.getLocalizedString("core.SampleSelect.title"),
912
955
  staticOptions: samples_1.sampleProvider.SampleCollection.samples.map((sample) => {
913
956
  return {
@@ -963,6 +1006,7 @@ function runtimeQuestion() {
963
1006
  staticOptions: [RuntimeOptions.NodeJS(), RuntimeOptions.DotNet()],
964
1007
  default: RuntimeOptions.NodeJS().id,
965
1008
  placeholder: localizeUtils_1.getLocalizedString("core.getRuntimeQuestion.placeholder"),
1009
+ cliHidden: true,
966
1010
  };
967
1011
  }
968
1012
  const defaultTabLocalHostUrl = "https://localhost:53000/index.html#/tab";
@@ -1054,6 +1098,8 @@ function getBotIdAndMeId(appDefinition) {
1054
1098
  }
1055
1099
  function getBotOptions(inputs) {
1056
1100
  const appDefinition = inputs.teamsAppFromTdp;
1101
+ if (!appDefinition)
1102
+ return [];
1057
1103
  const [botId, messageExtensionId] = getBotIdAndMeId(appDefinition);
1058
1104
  const options = [];
1059
1105
  if (botId) {
@@ -1065,14 +1111,14 @@ function getBotOptions(inputs) {
1065
1111
  return options;
1066
1112
  }
1067
1113
  function selectBotIdsQuestion() {
1068
- const statcOptions = [];
1069
- statcOptions.push(botOptionItem(false, "000000-0000-0000"));
1070
- statcOptions.push(botOptionItem(true, "000000-0000-0000"));
1114
+ // const statcOptions: OptionItem[] = [];
1115
+ // statcOptions.push(botOptionItem(false, "000000-0000-0000"));
1116
+ // statcOptions.push(botOptionItem(true, "000000-0000-0000"));
1071
1117
  return {
1072
1118
  type: "multiSelect",
1073
1119
  name: questionNames_1.QuestionNames.ReplaceBotIds,
1074
1120
  title: localizeUtils_1.getLocalizedString("core.updateBotIdsQuestion.title"),
1075
- staticOptions: statcOptions,
1121
+ staticOptions: [],
1076
1122
  dynamicOptions: getBotOptions,
1077
1123
  default: (inputs) => {
1078
1124
  const options = getBotOptions(inputs);
@@ -1082,17 +1128,22 @@ function selectBotIdsQuestion() {
1082
1128
  forgetLastValue: true,
1083
1129
  };
1084
1130
  }
1085
- function apiSpecLocationQuestion() {
1131
+ const maximumLengthOfDetailsErrorMessageInInputBox = 90;
1132
+ function apiSpecLocationQuestion(includeExistingAPIs = true) {
1086
1133
  const validationOnAccept = async (input, inputs) => {
1087
1134
  try {
1088
1135
  const context = utils_4.createContextV3();
1089
- const res = await helper_1.listOperations(context, undefined, input, false);
1136
+ const res = await helper_1.listOperations(context, undefined, input, inputs[questionNames_1.QuestionNames.ManifestPath], includeExistingAPIs, false);
1090
1137
  if (res.isOk()) {
1091
1138
  inputs.supportedApisFromApiSpec = res.value;
1092
1139
  }
1093
1140
  else {
1094
1141
  const errors = res.error;
1095
- if (errors.length === 1) {
1142
+ if ((inputs === null || inputs === void 0 ? void 0 : inputs.platform) === teamsfx_api_1.Platform.CLI) {
1143
+ return errors.map((e) => e.content).join("\n");
1144
+ }
1145
+ if (errors.length === 1 &&
1146
+ errors[0].content.length <= maximumLengthOfDetailsErrorMessageInInputBox) {
1096
1147
  return errors[0].content;
1097
1148
  }
1098
1149
  else {
@@ -1110,19 +1161,26 @@ function apiSpecLocationQuestion() {
1110
1161
  return {
1111
1162
  type: "singleFileOrText",
1112
1163
  name: questionNames_1.QuestionNames.ApiSpecLocation,
1164
+ cliShortName: "a",
1165
+ cliDescription: "OpenAPI specification file location.",
1113
1166
  title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.title"),
1114
1167
  forgetLastValue: true,
1115
1168
  inputBoxConfig: {
1169
+ type: "innerText",
1116
1170
  title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.title"),
1117
1171
  placeholder: localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.placeholder"),
1118
1172
  name: "input-api-spec-url",
1119
1173
  step: 2,
1120
- validation: async (input) => {
1121
- return util_1.isValidHttpUrl(input)
1122
- ? undefined
1123
- : localizeUtils_1.getLocalizedString("core.createProjectQuestion.invalidUrl.message");
1174
+ validation: {
1175
+ validFunc: (input, inputs) => {
1176
+ const result = util_1.isValidHttpUrl(input)
1177
+ ? undefined
1178
+ : (inputs === null || inputs === void 0 ? void 0 : inputs.platform) === teamsfx_api_1.Platform.CLI
1179
+ ? "Please enter a valid URL or local path of your API Specification"
1180
+ : localizeUtils_1.getLocalizedString("core.createProjectQuestion.invalidUrl.message");
1181
+ return Promise.resolve(result);
1182
+ },
1124
1183
  },
1125
- additionalValidationOnAccept: validationOnAccept,
1126
1184
  },
1127
1185
  inputOptionItem: {
1128
1186
  id: "input",
@@ -1133,8 +1191,8 @@ function apiSpecLocationQuestion() {
1133
1191
  },
1134
1192
  validation: {
1135
1193
  validFunc: async (input, inputs) => {
1136
- if (input === "input") {
1137
- return undefined;
1194
+ if (!util_1.isValidHttpUrl(input) && !(await fs_extra_1.default.pathExists(input))) {
1195
+ return "Please enter a valid URL or local path of your API Specification";
1138
1196
  }
1139
1197
  return await validationOnAccept(input, inputs);
1140
1198
  },
@@ -1146,17 +1204,20 @@ function openAIPluginManifestLocationQuestion() {
1146
1204
  // export for unit test
1147
1205
  return {
1148
1206
  type: "text",
1149
- name: questionNames_1.QuestionNames.OpenAIPluginManifestLocation,
1207
+ name: questionNames_1.QuestionNames.OpenAIPluginDomain,
1208
+ cliShortName: "d",
1150
1209
  title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.AIPluginManifest.title"),
1151
1210
  placeholder: localizeUtils_1.getLocalizedString("core.createProjectQuestion.AIPluginManifest.placeholder"),
1211
+ cliDescription: "OpenAI plugin website domain.",
1152
1212
  forgetLastValue: true,
1153
1213
  validation: {
1154
- validFunc: async (input) => {
1155
- const pattern = /(https?:\/\/)?([a-z0-9-]+(\.[a-z0-9-]+)*)(:[0-9]{1,5})?$/i;
1214
+ validFunc: (input) => {
1215
+ const pattern = /(https?:\/\/)?([a-z0-9-]+(\.[a-z0-9-]+)*)(:[0-9]{1,5})?(\/)?$/i;
1156
1216
  const match = pattern.test(input);
1157
- return match
1217
+ const result = match
1158
1218
  ? undefined
1159
1219
  : localizeUtils_1.getLocalizedString("core.createProjectQuestion.invalidDomain.message");
1220
+ return Promise.resolve(result);
1160
1221
  },
1161
1222
  },
1162
1223
  additionalValidationOnAccept: {
@@ -1172,13 +1233,17 @@ function openAIPluginManifestLocationQuestion() {
1172
1233
  }
1173
1234
  const context = utils_4.createContextV3();
1174
1235
  try {
1175
- const res = await helper_1.listOperations(context, manifest, inputs[questionNames_1.QuestionNames.ApiSpecLocation], true);
1236
+ const res = await helper_1.listOperations(context, manifest, inputs[questionNames_1.QuestionNames.ApiSpecLocation], undefined, true, true);
1176
1237
  if (res.isOk()) {
1177
1238
  inputs.supportedApisFromApiSpec = res.value;
1178
1239
  }
1179
1240
  else {
1180
1241
  const errors = res.error;
1181
- if (errors.length === 1) {
1242
+ if ((inputs === null || inputs === void 0 ? void 0 : inputs.platform) === teamsfx_api_1.Platform.CLI) {
1243
+ return errors.map((e) => e.content).join("\n");
1244
+ }
1245
+ if (errors.length === 1 &&
1246
+ errors[0].content.length <= maximumLengthOfDetailsErrorMessageInInputBox) {
1182
1247
  return errors[0].content;
1183
1248
  }
1184
1249
  else {
@@ -1203,6 +1268,8 @@ function apiOperationQuestion(includeExistingAPIs = true) {
1203
1268
  type: "multiSelect",
1204
1269
  name: questionNames_1.QuestionNames.ApiOperation,
1205
1270
  title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.operation.title"),
1271
+ cliDescription: "Specifies API(s) to be used in Copilot plugin.",
1272
+ cliShortName: "o",
1206
1273
  placeholder: includeExistingAPIs
1207
1274
  ? localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.operation.placeholder")
1208
1275
  : localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.operation.placeholder.skipExisting"),
@@ -1210,189 +1277,184 @@ function apiOperationQuestion(includeExistingAPIs = true) {
1210
1277
  staticOptions: [],
1211
1278
  validation: {
1212
1279
  minItems: 1,
1280
+ maxItems: 10,
1213
1281
  },
1214
- dynamicOptions: async (inputs) => {
1282
+ dynamicOptions: (inputs) => {
1215
1283
  if (!inputs.supportedApisFromApiSpec) {
1216
- throw new error_2.EmptyOptionError();
1217
- }
1218
- let operations = inputs.supportedApisFromApiSpec;
1219
- if (!includeExistingAPIs) {
1220
- const teamsManifestPath = inputs.teamsManifestPath;
1221
- const manifest = await ManifestUtils_1.manifestUtils._readAppManifest(teamsManifestPath);
1222
- if (manifest.isOk()) {
1223
- const existingOperationIds = ManifestUtils_1.manifestUtils.getOperationIds(manifest.value);
1224
- operations = inputs.supportedApisFromApiSpec.filter((operation) => !existingOperationIds.includes(operation.id));
1225
- }
1226
- else {
1227
- throw manifest.error;
1228
- }
1284
+ throw new error_2.EmptyOptionError(questionNames_1.QuestionNames.ApiOperation, "question");
1229
1285
  }
1286
+ const operations = inputs.supportedApisFromApiSpec;
1230
1287
  return operations;
1231
1288
  },
1232
1289
  };
1233
1290
  }
1234
1291
  exports.apiOperationQuestion = apiOperationQuestion;
1235
- function createProjectQuestionNode() {
1236
- const createProjectQuestion = {
1237
- data: scratchOrSampleQuestion(),
1292
+ function capabilitySubTree() {
1293
+ const node = {
1294
+ data: capabilityQuestion(),
1238
1295
  children: [
1239
1296
  {
1240
- condition: { equals: ScratchOptions.yes().id },
1241
- data: { type: "group", name: questionNames_1.QuestionNames.SctatchYes },
1297
+ // Notification bot trigger sub-tree
1298
+ condition: { equals: CapabilityOptions.notificationBot().id },
1299
+ data: botTriggerQuestion(),
1300
+ },
1301
+ {
1302
+ // SPFx sub-tree
1303
+ condition: { equals: CapabilityOptions.SPFxTab().id },
1304
+ data: SPFxSolutionQuestion(),
1242
1305
  children: [
1243
1306
  {
1244
- condition: (inputs) => featureFlags_1.isCLIDotNetEnabled() && teamsfx_api_1.CLIPlatforms.includes(inputs.platform),
1245
- data: runtimeQuestion(),
1307
+ data: { type: "group" },
1308
+ children: [
1309
+ { data: SPFxPackageSelectQuestion() },
1310
+ { data: SPFxFrameworkQuestion() },
1311
+ { data: SPFxWebpartNameQuestion() },
1312
+ ],
1313
+ condition: { equals: "new" },
1246
1314
  },
1247
1315
  {
1248
- condition: (inputs) => inputs.platform === teamsfx_api_1.Platform.VSCode,
1249
- data: projectTypeQuestion(),
1316
+ data: SPFxImportFolderQuestion(),
1317
+ condition: { equals: "import" },
1250
1318
  },
1319
+ ],
1320
+ },
1321
+ {
1322
+ // office addin import sub-tree
1323
+ condition: { equals: CapabilityOptions.officeAddinImport().id },
1324
+ data: { type: "group", name: questionNames_1.QuestionNames.OfficeAddinImport },
1325
+ children: [
1251
1326
  {
1252
- data: capabilityQuestion(),
1253
- children: [
1254
- {
1255
- // Notification bot trigger sub-tree
1256
- condition: { equals: CapabilityOptions.notificationBot().id },
1257
- data: botTriggerQuestion(),
1258
- },
1259
- {
1260
- // SPFx sub-tree
1261
- condition: { equals: CapabilityOptions.SPFxTab().id },
1262
- data: SPFxSolutionQuestion(),
1263
- children: [
1264
- {
1265
- data: { type: "group" },
1266
- children: [
1267
- { data: SPFxPackageSelectQuestion() },
1268
- { data: SPFxFrameworkQuestion() },
1269
- { data: SPFxWebpartNameQuestion() },
1270
- ],
1271
- condition: { equals: "new" },
1272
- },
1273
- {
1274
- data: SPFxImportFolderQuestion(),
1275
- condition: { equals: "import" },
1276
- },
1277
- ],
1278
- },
1279
- {
1280
- // office addin import sub-tree
1281
- condition: { equals: CapabilityOptions.officeAddinImport().id },
1282
- data: { type: "group", name: questionNames_1.QuestionNames.OfficeAddinImport },
1283
- children: [
1284
- {
1285
- data: {
1286
- type: "folder",
1287
- name: questionNames_1.QuestionNames.OfficeAddinFolder,
1288
- title: "Existing add-in project folder",
1289
- },
1290
- },
1291
- {
1292
- data: {
1293
- type: "singleFile",
1294
- name: questionNames_1.QuestionNames.OfficeAddinManifest,
1295
- title: "Select import project manifest file",
1296
- },
1297
- },
1298
- ],
1299
- },
1300
- {
1301
- // office addin other items sub-tree
1302
- condition: {
1303
- enum: CapabilityOptions.officeAddinItems().map((i) => i.id),
1304
- },
1305
- data: officeAddinHostingQuestion(),
1306
- },
1307
- {
1308
- // Copilot plugin from API spec or AI Plugin
1309
- condition: {
1310
- enum: [
1311
- CapabilityOptions.copilotPluginApiSpec().id,
1312
- CapabilityOptions.copilotPluginOpenAIPlugin().id,
1313
- ],
1314
- },
1315
- data: { type: "group", name: questionNames_1.QuestionNames.CopilotPluginExistingApi },
1316
- children: [
1317
- {
1318
- condition: { equals: CapabilityOptions.copilotPluginApiSpec().id },
1319
- data: apiSpecLocationQuestion(),
1320
- },
1321
- {
1322
- condition: { equals: CapabilityOptions.copilotPluginOpenAIPlugin().id },
1323
- data: openAIPluginManifestLocationQuestion(),
1324
- },
1325
- {
1326
- data: apiOperationQuestion(),
1327
- },
1328
- ],
1329
- },
1330
- {
1331
- // programming language
1332
- data: programmingLanguageQuestion(),
1333
- condition: {
1334
- excludesEnum: [
1335
- CapabilityOptions.copilotPluginApiSpec().id,
1336
- CapabilityOptions.copilotPluginOpenAIPlugin().id,
1337
- ],
1338
- },
1339
- },
1340
- {
1341
- // root folder
1342
- data: rootFolderQuestion(),
1343
- },
1344
- {
1345
- // app name
1346
- data: appNameQuestion(),
1347
- },
1348
- ],
1327
+ data: {
1328
+ type: "folder",
1329
+ name: questionNames_1.QuestionNames.OfficeAddinFolder,
1330
+ title: "Existing add-in project folder",
1331
+ },
1349
1332
  },
1350
1333
  {
1351
- condition: (inputs) => inputs.teamsAppFromTdp && utils_2.isPersonalApp(inputs.teamsAppFromTdp),
1352
- data: { type: "group", name: questionNames_1.QuestionNames.RepalceTabUrl },
1353
- children: [
1354
- {
1355
- condition: (inputs) => {
1356
- var _a;
1357
- return (((_a = inputs.teamsAppFromTdp) === null || _a === void 0 ? void 0 : _a.staticTabs.filter((o) => !!o.websiteUrl)) || [])
1358
- .length > 0;
1359
- },
1360
- data: selectTabWebsiteUrlQuestion(),
1361
- },
1362
- {
1363
- condition: (inputs) => {
1364
- var _a;
1365
- return (((_a = inputs.teamsAppFromTdp) === null || _a === void 0 ? void 0 : _a.staticTabs.filter((o) => !!o.contentUrl)) || [])
1366
- .length > 0;
1367
- },
1368
- data: selectTabsContentUrlQuestion(),
1369
- },
1370
- ],
1334
+ data: {
1335
+ type: "singleFile",
1336
+ name: questionNames_1.QuestionNames.OfficeAddinManifest,
1337
+ title: "Select import project manifest file",
1338
+ },
1339
+ },
1340
+ ],
1341
+ },
1342
+ {
1343
+ // office addin other items sub-tree
1344
+ condition: {
1345
+ enum: CapabilityOptions.officeAddinItems().map((i) => i.id),
1346
+ },
1347
+ data: officeAddinHostingQuestion(),
1348
+ },
1349
+ {
1350
+ // Copilot plugin from API spec or AI Plugin
1351
+ condition: {
1352
+ enum: [
1353
+ CapabilityOptions.copilotPluginApiSpec().id,
1354
+ CapabilityOptions.copilotPluginOpenAIPlugin().id,
1355
+ ],
1356
+ },
1357
+ data: { type: "group", name: questionNames_1.QuestionNames.CopilotPluginExistingApi },
1358
+ children: [
1359
+ {
1360
+ condition: { equals: CapabilityOptions.copilotPluginApiSpec().id },
1361
+ data: apiSpecLocationQuestion(),
1371
1362
  },
1372
1363
  {
1373
- condition: (inputs) => {
1374
- const appDef = inputs.teamsAppFromTdp;
1375
- return appDef && utils_2.needBotCode(appDef);
1376
- },
1377
- data: selectBotIdsQuestion(),
1364
+ condition: { equals: CapabilityOptions.copilotPluginOpenAIPlugin().id },
1365
+ data: openAIPluginManifestLocationQuestion(),
1366
+ },
1367
+ {
1368
+ data: apiOperationQuestion(),
1378
1369
  },
1379
1370
  ],
1380
1371
  },
1381
1372
  {
1382
- condition: { equals: ScratchOptions.no().id },
1383
- data: sampleSelectQuestion(),
1373
+ // programming language
1374
+ data: programmingLanguageQuestion(),
1375
+ condition: {
1376
+ excludesEnum: [
1377
+ CapabilityOptions.copilotPluginApiSpec().id,
1378
+ CapabilityOptions.copilotPluginOpenAIPlugin().id,
1379
+ ],
1380
+ },
1381
+ },
1382
+ {
1383
+ // root folder
1384
+ data: folderQuestion(),
1385
+ },
1386
+ {
1387
+ // app name
1388
+ data: appNameQuestion(),
1389
+ },
1390
+ ],
1391
+ };
1392
+ return node;
1393
+ }
1394
+ exports.capabilitySubTree = capabilitySubTree;
1395
+ function createProjectQuestionNode() {
1396
+ const createProjectQuestion = {
1397
+ data: { type: "group" },
1398
+ children: [
1399
+ {
1400
+ condition: (inputs) => featureFlags_1.isCLIDotNetEnabled() && teamsfx_api_1.CLIPlatforms.includes(inputs.platform),
1401
+ data: runtimeQuestion(),
1402
+ },
1403
+ {
1404
+ condition: (inputs) => inputs.platform === teamsfx_api_1.Platform.VSCode || inputs.platform === teamsfx_api_1.Platform.CLI,
1405
+ data: projectTypeQuestion(),
1406
+ cliOptionDisabled: "self",
1407
+ },
1408
+ capabilitySubTree(),
1409
+ {
1410
+ condition: (inputs) => inputs.teamsAppFromTdp && utils_2.isPersonalApp(inputs.teamsAppFromTdp),
1411
+ data: { type: "group", name: questionNames_1.QuestionNames.RepalceTabUrl },
1412
+ cliOptionDisabled: "all",
1413
+ inputsDisabled: "all",
1384
1414
  children: [
1385
1415
  {
1386
- // root folder
1387
- data: rootFolderQuestion(),
1416
+ condition: (inputs) => {
1417
+ var _a;
1418
+ return (((_a = inputs.teamsAppFromTdp) === null || _a === void 0 ? void 0 : _a.staticTabs.filter((o) => !!o.websiteUrl)) || []).length >
1419
+ 0;
1420
+ },
1421
+ data: selectTabWebsiteUrlQuestion(),
1422
+ },
1423
+ {
1424
+ condition: (inputs) => {
1425
+ var _a;
1426
+ return (((_a = inputs.teamsAppFromTdp) === null || _a === void 0 ? void 0 : _a.staticTabs.filter((o) => !!o.contentUrl)) || []).length >
1427
+ 0;
1428
+ },
1429
+ data: selectTabsContentUrlQuestion(),
1388
1430
  },
1389
1431
  ],
1390
1432
  },
1433
+ {
1434
+ condition: (inputs) => {
1435
+ const appDef = inputs.teamsAppFromTdp;
1436
+ return appDef && utils_2.needBotCode(appDef);
1437
+ },
1438
+ data: selectBotIdsQuestion(),
1439
+ cliOptionDisabled: "all",
1440
+ inputsDisabled: "all",
1441
+ },
1391
1442
  ],
1392
1443
  };
1393
1444
  return createProjectQuestion;
1394
1445
  }
1395
1446
  exports.createProjectQuestionNode = createProjectQuestionNode;
1447
+ function createSampleProjectQuestionNode() {
1448
+ return {
1449
+ data: sampleSelectQuestion(),
1450
+ children: [
1451
+ {
1452
+ data: folderQuestion(),
1453
+ },
1454
+ ],
1455
+ };
1456
+ }
1457
+ exports.createSampleProjectQuestionNode = createSampleProjectQuestionNode;
1396
1458
  function createProjectCliHelpNode() {
1397
1459
  const node = lodash_1.cloneDeep(createProjectQuestionNode());
1398
1460
  const deleteNames = [
@@ -1410,8 +1472,7 @@ function createProjectCliHelpNode() {
1410
1472
  deleteNames.push(questionNames_1.QuestionNames.CopilotPluginExistingApi);
1411
1473
  }
1412
1474
  trimQuestionTreeForCliHelp(node, deleteNames);
1413
- const subTree = pickSubTree(node, questionNames_1.QuestionNames.SctatchYes);
1414
- return subTree;
1475
+ return node;
1415
1476
  }
1416
1477
  exports.createProjectCliHelpNode = createProjectCliHelpNode;
1417
1478
  function trimQuestionTreeForCliHelp(node, deleteNames) {