@microsoft/teamsfx-core 1.8.0 → 1.8.1-alpha.324752dff.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 (527) hide show
  1. package/build/common/azure-hosting/azureFunctionHosting.d.ts +13 -0
  2. package/build/common/azure-hosting/azureFunctionHosting.d.ts.map +1 -0
  3. package/build/common/azure-hosting/azureFunctionHosting.js +26 -0
  4. package/build/common/azure-hosting/azureFunctionHosting.js.map +1 -0
  5. package/build/common/azure-hosting/azureHosting.d.ts +14 -0
  6. package/build/common/azure-hosting/azureHosting.d.ts.map +1 -0
  7. package/build/common/azure-hosting/azureHosting.js +66 -0
  8. package/build/common/azure-hosting/azureHosting.js.map +1 -0
  9. package/build/common/azure-hosting/botServiceHosting.d.ts +7 -0
  10. package/build/common/azure-hosting/botServiceHosting.d.ts.map +1 -0
  11. package/build/common/azure-hosting/botServiceHosting.js +16 -0
  12. package/build/common/azure-hosting/botServiceHosting.js.map +1 -0
  13. package/build/common/azure-hosting/hostingFactory.d.ts +6 -0
  14. package/build/common/azure-hosting/hostingFactory.d.ts.map +1 -0
  15. package/build/common/azure-hosting/hostingFactory.js +22 -0
  16. package/build/common/azure-hosting/hostingFactory.js.map +1 -0
  17. package/build/common/azure-hosting/interfaces.d.ts +11 -0
  18. package/build/common/azure-hosting/interfaces.d.ts.map +1 -0
  19. package/build/common/azure-hosting/interfaces.js +12 -0
  20. package/build/common/azure-hosting/interfaces.js.map +1 -0
  21. package/build/common/azure-hosting/utils.d.ts +3 -0
  22. package/build/common/azure-hosting/utils.d.ts.map +1 -0
  23. package/build/common/azure-hosting/utils.js +26 -0
  24. package/build/common/azure-hosting/utils.js.map +1 -0
  25. package/build/common/constants.d.ts +1 -2
  26. package/build/common/constants.d.ts.map +1 -1
  27. package/build/common/constants.js +1 -2
  28. package/build/common/constants.js.map +1 -1
  29. package/build/common/deps-checker/constant/helpLink.d.ts +1 -0
  30. package/build/common/deps-checker/constant/helpLink.d.ts.map +1 -1
  31. package/build/common/deps-checker/constant/helpLink.js +6 -5
  32. package/build/common/deps-checker/constant/helpLink.js.map +1 -1
  33. package/build/common/deps-checker/constant/telemetry.d.ts +2 -0
  34. package/build/common/deps-checker/constant/telemetry.d.ts.map +1 -1
  35. package/build/common/deps-checker/constant/telemetry.js +2 -0
  36. package/build/common/deps-checker/constant/telemetry.js.map +1 -1
  37. package/build/common/deps-checker/internal/funcToolChecker.d.ts +2 -1
  38. package/build/common/deps-checker/internal/funcToolChecker.d.ts.map +1 -1
  39. package/build/common/deps-checker/internal/funcToolChecker.js +7 -4
  40. package/build/common/deps-checker/internal/funcToolChecker.js.map +1 -1
  41. package/build/common/deps-checker/internal/nodeChecker.d.ts.map +1 -1
  42. package/build/common/deps-checker/internal/nodeChecker.js +8 -4
  43. package/build/common/deps-checker/internal/nodeChecker.js.map +1 -1
  44. package/build/common/featureFlags.d.ts +1 -0
  45. package/build/common/featureFlags.d.ts.map +1 -1
  46. package/build/common/featureFlags.js +7 -6
  47. package/build/common/featureFlags.js.map +1 -1
  48. package/build/common/local/constants.d.ts +1 -0
  49. package/build/common/local/constants.d.ts.map +1 -1
  50. package/build/common/local/constants.js +2 -1
  51. package/build/common/local/constants.js.map +1 -1
  52. package/build/common/local/projectSettingsHelper.d.ts +1 -0
  53. package/build/common/local/projectSettingsHelper.d.ts.map +1 -1
  54. package/build/common/local/projectSettingsHelper.js +5 -0
  55. package/build/common/local/projectSettingsHelper.js.map +1 -1
  56. package/build/common/projectSettingsHelper.d.ts +3 -2
  57. package/build/common/projectSettingsHelper.d.ts.map +1 -1
  58. package/build/common/projectSettingsHelper.js +32 -4
  59. package/build/common/projectSettingsHelper.js.map +1 -1
  60. package/build/common/samples-config.json +40 -6
  61. package/build/common/telemetry.d.ts +2 -3
  62. package/build/common/telemetry.d.ts.map +1 -1
  63. package/build/common/telemetry.js +1 -2
  64. package/build/common/telemetry.js.map +1 -1
  65. package/build/common/template-utils/templates.d.ts +1 -0
  66. package/build/common/template-utils/templates.d.ts.map +1 -1
  67. package/build/common/template-utils/templates.js +5 -1
  68. package/build/common/template-utils/templates.js.map +1 -1
  69. package/build/common/templates-config.json +2 -2
  70. package/build/common/tools.d.ts +4 -2
  71. package/build/common/tools.d.ts.map +1 -1
  72. package/build/common/tools.js +101 -11
  73. package/build/common/tools.js.map +1 -1
  74. package/build/component/bicep.d.ts +8 -0
  75. package/build/component/bicep.d.ts.map +1 -0
  76. package/build/component/bicep.js +111 -0
  77. package/build/component/bicep.js.map +1 -0
  78. package/build/component/botCode.d.ts +13 -0
  79. package/build/component/botCode.d.ts.map +1 -0
  80. package/build/component/botCode.js +138 -0
  81. package/build/component/botCode.js.map +1 -0
  82. package/build/component/connection.d.ts +8 -0
  83. package/build/component/connection.d.ts.map +1 -0
  84. package/build/component/connection.js +84 -0
  85. package/build/component/connection.js.map +1 -0
  86. package/build/component/core.d.ts +43 -0
  87. package/build/component/core.d.ts.map +1 -0
  88. package/build/component/core.js +714 -0
  89. package/build/component/core.js.map +1 -0
  90. package/build/component/debugManager.d.ts +8 -0
  91. package/build/component/debugManager.d.ts.map +1 -0
  92. package/build/component/debugManager.js +57 -0
  93. package/build/component/debugManager.js.map +1 -0
  94. package/build/component/envManager.d.ts +7 -0
  95. package/build/component/envManager.d.ts.map +1 -0
  96. package/build/component/envManager.js +140 -0
  97. package/build/component/envManager.js.map +1 -0
  98. package/build/component/projectSettingsManager.d.ts +10 -0
  99. package/build/component/projectSettingsManager.d.ts.map +1 -0
  100. package/build/component/projectSettingsManager.js +72 -0
  101. package/build/component/projectSettingsManager.js.map +1 -0
  102. package/build/component/resource/aad.d.ts +11 -0
  103. package/build/component/resource/aad.d.ts.map +1 -0
  104. package/build/component/resource/aad.js +82 -0
  105. package/build/component/resource/aad.js.map +1 -0
  106. package/build/component/resource/azureFunction.d.ts +19 -0
  107. package/build/component/resource/azureFunction.d.ts.map +1 -0
  108. package/build/component/resource/azureFunction.js +81 -0
  109. package/build/component/resource/azureFunction.js.map +1 -0
  110. package/build/component/resource/azureSql.d.ts +24 -0
  111. package/build/component/resource/azureSql.d.ts.map +1 -0
  112. package/build/component/resource/azureSql.js +101 -0
  113. package/build/component/resource/azureSql.js.map +1 -0
  114. package/build/component/resource/azureStorage.d.ts +16 -0
  115. package/build/component/resource/azureStorage.d.ts.map +1 -0
  116. package/build/component/resource/azureStorage.js +102 -0
  117. package/build/component/resource/azureStorage.js.map +1 -0
  118. package/build/component/resource/azureWebApp.d.ts +23 -0
  119. package/build/component/resource/azureWebApp.d.ts.map +1 -0
  120. package/build/component/resource/azureWebApp.js +95 -0
  121. package/build/component/resource/azureWebApp.js.map +1 -0
  122. package/build/component/resource/botService.d.ts +22 -0
  123. package/build/component/resource/botService.d.ts.map +1 -0
  124. package/build/component/resource/botService.js +208 -0
  125. package/build/component/resource/botService.js.map +1 -0
  126. package/build/component/resource/index.d.ts +17 -0
  127. package/build/component/resource/index.d.ts.map +1 -0
  128. package/build/component/resource/index.js +25 -0
  129. package/build/component/resource/index.js.map +1 -0
  130. package/build/component/resource/spfx.d.ts +9 -0
  131. package/build/component/resource/spfx.d.ts.map +1 -0
  132. package/build/component/resource/spfx.js +46 -0
  133. package/build/component/resource/spfx.js.map +1 -0
  134. package/build/component/resource/teamsManifest.d.ts +19 -0
  135. package/build/component/resource/teamsManifest.d.ts.map +1 -0
  136. package/build/component/resource/teamsManifest.js +135 -0
  137. package/build/component/resource/teamsManifest.js.map +1 -0
  138. package/build/component/utils.d.ts +18 -0
  139. package/build/component/utils.d.ts.map +1 -0
  140. package/build/component/utils.js +354 -0
  141. package/build/component/utils.js.map +1 -0
  142. package/build/component/workflow.d.ts +21 -0
  143. package/build/component/workflow.d.ts.map +1 -0
  144. package/build/component/workflow.js +445 -0
  145. package/build/component/workflow.js.map +1 -0
  146. package/build/core/FxCore.d.ts +2 -2
  147. package/build/core/FxCore.d.ts.map +1 -1
  148. package/build/core/FxCore.js +66 -117
  149. package/build/core/FxCore.js.map +1 -1
  150. package/build/core/downloadSample.d.ts.map +1 -1
  151. package/build/core/downloadSample.js +1 -6
  152. package/build/core/downloadSample.js.map +1 -1
  153. package/build/core/environment.d.ts +2 -1
  154. package/build/core/environment.d.ts.map +1 -1
  155. package/build/core/environment.js +20 -10
  156. package/build/core/environment.js.map +1 -1
  157. package/build/core/error.d.ts +0 -1
  158. package/build/core/error.d.ts.map +1 -1
  159. package/build/core/error.js +3 -7
  160. package/build/core/error.js.map +1 -1
  161. package/build/core/generateAadManifestTemplate.d.ts +10 -0
  162. package/build/core/generateAadManifestTemplate.d.ts.map +1 -0
  163. package/build/core/generateAadManifestTemplate.js +100 -0
  164. package/build/core/generateAadManifestTemplate.js.map +1 -0
  165. package/build/core/middleware/MigrationUtils.d.ts +10 -0
  166. package/build/core/middleware/MigrationUtils.d.ts.map +1 -0
  167. package/build/core/middleware/MigrationUtils.js +63 -0
  168. package/build/core/middleware/MigrationUtils.js.map +1 -0
  169. package/build/core/middleware/aadManifestMigration.d.ts.map +1 -1
  170. package/build/core/middleware/aadManifestMigration.js +33 -117
  171. package/build/core/middleware/aadManifestMigration.js.map +1 -1
  172. package/build/core/middleware/consolidateLocalRemote.d.ts.map +1 -1
  173. package/build/core/middleware/consolidateLocalRemote.js +75 -20
  174. package/build/core/middleware/consolidateLocalRemote.js.map +1 -1
  175. package/build/core/middleware/envInfoLoader.d.ts.map +1 -1
  176. package/build/core/middleware/envInfoLoader.js +13 -3
  177. package/build/core/middleware/envInfoLoader.js.map +1 -1
  178. package/build/core/middleware/errorHandler.js +1 -1
  179. package/build/core/middleware/errorHandler.js.map +1 -1
  180. package/build/core/middleware/projectVersionChecker.d.ts +3 -0
  181. package/build/core/middleware/projectVersionChecker.d.ts.map +1 -0
  182. package/build/core/middleware/projectVersionChecker.js +55 -0
  183. package/build/core/middleware/projectVersionChecker.js.map +1 -0
  184. package/build/core/middleware/questionModel.d.ts.map +1 -1
  185. package/build/core/middleware/questionModel.js +85 -28
  186. package/build/core/middleware/questionModel.js.map +1 -1
  187. package/build/core/middleware/questionModelV3.d.ts +6 -0
  188. package/build/core/middleware/questionModelV3.d.ts.map +1 -0
  189. package/build/core/middleware/questionModelV3.js +66 -0
  190. package/build/core/middleware/questionModelV3.js.map +1 -0
  191. package/build/core/question.d.ts +8 -0
  192. package/build/core/question.d.ts.map +1 -1
  193. package/build/core/question.js +105 -11
  194. package/build/core/question.js.map +1 -1
  195. package/build/plugins/resource/aad/aadAppClient.d.ts +1 -1
  196. package/build/plugins/resource/aad/aadAppClient.d.ts.map +1 -1
  197. package/build/plugins/resource/aad/aadAppClient.js +20 -11
  198. package/build/plugins/resource/aad/aadAppClient.js.map +1 -1
  199. package/build/plugins/resource/aad/errors.d.ts +1 -0
  200. package/build/plugins/resource/aad/errors.d.ts.map +1 -1
  201. package/build/plugins/resource/aad/errors.js +8 -1
  202. package/build/plugins/resource/aad/errors.js.map +1 -1
  203. package/build/plugins/resource/aad/plugin.d.ts +1 -1
  204. package/build/plugins/resource/aad/plugin.d.ts.map +1 -1
  205. package/build/plugins/resource/aad/plugin.js +22 -62
  206. package/build/plugins/resource/aad/plugin.js.map +1 -1
  207. package/build/plugins/resource/aad/utils/configs.d.ts +1 -1
  208. package/build/plugins/resource/aad/utils/configs.d.ts.map +1 -1
  209. package/build/plugins/resource/aad/utils/configs.js +13 -7
  210. package/build/plugins/resource/aad/utils/configs.js.map +1 -1
  211. package/build/plugins/resource/apiconnector/checker.d.ts +1 -0
  212. package/build/plugins/resource/apiconnector/checker.d.ts.map +1 -1
  213. package/build/plugins/resource/apiconnector/checker.js +22 -3
  214. package/build/plugins/resource/apiconnector/checker.js.map +1 -1
  215. package/build/plugins/resource/apiconnector/depsHandler.d.ts +1 -0
  216. package/build/plugins/resource/apiconnector/depsHandler.d.ts.map +1 -1
  217. package/build/plugins/resource/apiconnector/depsHandler.js +22 -2
  218. package/build/plugins/resource/apiconnector/depsHandler.js.map +1 -1
  219. package/build/plugins/resource/apiconnector/envHandler.d.ts.map +1 -1
  220. package/build/plugins/resource/apiconnector/envHandler.js +10 -1
  221. package/build/plugins/resource/apiconnector/envHandler.js.map +1 -1
  222. package/build/plugins/resource/apiconnector/errors.d.ts +4 -0
  223. package/build/plugins/resource/apiconnector/errors.d.ts.map +1 -1
  224. package/build/plugins/resource/apiconnector/errors.js +5 -1
  225. package/build/plugins/resource/apiconnector/errors.js.map +1 -1
  226. package/build/plugins/resource/apiconnector/index.d.ts +3 -3
  227. package/build/plugins/resource/apiconnector/index.d.ts.map +1 -1
  228. package/build/plugins/resource/apiconnector/index.js +7 -4
  229. package/build/plugins/resource/apiconnector/index.js.map +1 -1
  230. package/build/plugins/resource/apiconnector/plugin.d.ts +2 -2
  231. package/build/plugins/resource/apiconnector/plugin.d.ts.map +1 -1
  232. package/build/plugins/resource/apiconnector/plugin.js +21 -14
  233. package/build/plugins/resource/apiconnector/plugin.js.map +1 -1
  234. package/build/plugins/resource/apiconnector/questions.d.ts.map +1 -1
  235. package/build/plugins/resource/apiconnector/questions.js +6 -2
  236. package/build/plugins/resource/apiconnector/questions.js.map +1 -1
  237. package/build/plugins/resource/apiconnector/result.d.ts +4 -3
  238. package/build/plugins/resource/apiconnector/result.d.ts.map +1 -1
  239. package/build/plugins/resource/apiconnector/result.js.map +1 -1
  240. package/build/plugins/resource/apiconnector/sampleHandler.d.ts.map +1 -1
  241. package/build/plugins/resource/apiconnector/sampleHandler.js +1 -0
  242. package/build/plugins/resource/apiconnector/sampleHandler.js.map +1 -1
  243. package/build/plugins/resource/apiconnector/telemetry.js +1 -1
  244. package/build/plugins/resource/apim/constants.d.ts +1 -0
  245. package/build/plugins/resource/apim/constants.d.ts.map +1 -1
  246. package/build/plugins/resource/apim/constants.js +1 -0
  247. package/build/plugins/resource/apim/constants.js.map +1 -1
  248. package/build/plugins/resource/apim/index.d.ts.map +1 -1
  249. package/build/plugins/resource/apim/index.js +2 -1
  250. package/build/plugins/resource/apim/index.js.map +1 -1
  251. package/build/plugins/resource/appstudio/appStudio.js +1 -1
  252. package/build/plugins/resource/appstudio/appStudio.js.map +1 -1
  253. package/build/plugins/resource/appstudio/constants.d.ts +2 -0
  254. package/build/plugins/resource/appstudio/constants.d.ts.map +1 -1
  255. package/build/plugins/resource/appstudio/constants.js +2 -0
  256. package/build/plugins/resource/appstudio/constants.js.map +1 -1
  257. package/build/plugins/resource/appstudio/plugin.d.ts.map +1 -1
  258. package/build/plugins/resource/appstudio/plugin.js +9 -3
  259. package/build/plugins/resource/appstudio/plugin.js.map +1 -1
  260. package/build/plugins/resource/appstudio/v3/index.js +1 -1
  261. package/build/plugins/resource/appstudio/v3/index.js.map +1 -1
  262. package/build/plugins/resource/bot/appStudio/appStudio.d.ts +4 -0
  263. package/build/plugins/resource/bot/appStudio/appStudio.d.ts.map +1 -1
  264. package/build/plugins/resource/bot/appStudio/appStudio.js +14 -3
  265. package/build/plugins/resource/bot/appStudio/appStudio.js.map +1 -1
  266. package/build/plugins/resource/bot/azureOps.d.ts +1 -0
  267. package/build/plugins/resource/bot/azureOps.d.ts.map +1 -1
  268. package/build/plugins/resource/bot/azureOps.js +3 -2
  269. package/build/plugins/resource/bot/azureOps.js.map +1 -1
  270. package/build/plugins/resource/bot/configs/teamsBotConfig.js +1 -1
  271. package/build/plugins/resource/bot/configs/teamsBotConfig.js.map +1 -1
  272. package/build/plugins/resource/bot/constants.d.ts +2 -1
  273. package/build/plugins/resource/bot/constants.d.ts.map +1 -1
  274. package/build/plugins/resource/bot/constants.js +2 -1
  275. package/build/plugins/resource/bot/constants.js.map +1 -1
  276. package/build/plugins/resource/bot/index.d.ts.map +1 -1
  277. package/build/plugins/resource/bot/index.js +3 -1
  278. package/build/plugins/resource/bot/index.js.map +1 -1
  279. package/build/plugins/resource/bot/question.d.ts +1 -2
  280. package/build/plugins/resource/bot/question.d.ts.map +1 -1
  281. package/build/plugins/resource/bot/question.js +17 -3
  282. package/build/plugins/resource/bot/question.js.map +1 -1
  283. package/build/plugins/resource/bot/resources/strings.d.ts +1 -0
  284. package/build/plugins/resource/bot/resources/strings.d.ts.map +1 -1
  285. package/build/plugins/resource/bot/utils/common.d.ts +2 -0
  286. package/build/plugins/resource/bot/utils/common.d.ts.map +1 -1
  287. package/build/plugins/resource/bot/utils/common.js +14 -1
  288. package/build/plugins/resource/bot/utils/common.js.map +1 -1
  289. package/build/plugins/resource/bot/v2/common.d.ts +10 -0
  290. package/build/plugins/resource/bot/v2/common.d.ts.map +1 -0
  291. package/build/plugins/resource/bot/v2/common.js +70 -0
  292. package/build/plugins/resource/bot/v2/common.js.map +1 -0
  293. package/build/plugins/resource/bot/v2/enum.d.ts +6 -0
  294. package/build/plugins/resource/bot/v2/enum.d.ts.map +1 -0
  295. package/build/plugins/resource/bot/v2/enum.js +12 -0
  296. package/build/plugins/resource/bot/v2/enum.js.map +1 -0
  297. package/build/plugins/resource/bot/v2/index.d.ts +2 -0
  298. package/build/plugins/resource/bot/v2/index.d.ts.map +1 -1
  299. package/build/plugins/resource/bot/v2/index.js +14 -0
  300. package/build/plugins/resource/bot/v2/index.js.map +1 -1
  301. package/build/plugins/resource/bot/v2/interface/codeTemplateInfo.d.ts +10 -0
  302. package/build/plugins/resource/bot/v2/interface/codeTemplateInfo.d.ts.map +1 -0
  303. package/build/plugins/resource/bot/v2/interface/codeTemplateInfo.js +5 -0
  304. package/build/plugins/resource/bot/v2/interface/codeTemplateInfo.js.map +1 -0
  305. package/build/plugins/resource/bot/v2/mapping.d.ts +7 -0
  306. package/build/plugins/resource/bot/v2/mapping.d.ts.map +1 -0
  307. package/build/plugins/resource/bot/v2/mapping.js +74 -0
  308. package/build/plugins/resource/bot/v2/mapping.js.map +1 -0
  309. package/build/plugins/resource/bot/v2/plugin.d.ts +16 -0
  310. package/build/plugins/resource/bot/v2/plugin.d.ts.map +1 -0
  311. package/build/plugins/resource/bot/v2/plugin.js +129 -0
  312. package/build/plugins/resource/bot/v2/plugin.js.map +1 -0
  313. package/build/plugins/resource/bot/v2/scaffold.d.ts +3 -0
  314. package/build/plugins/resource/bot/v2/scaffold.d.ts.map +1 -0
  315. package/build/plugins/resource/bot/v2/scaffold.js +40 -0
  316. package/build/plugins/resource/bot/v2/scaffold.js.map +1 -0
  317. package/build/plugins/resource/cicd/index.d.ts.map +1 -1
  318. package/build/plugins/resource/cicd/index.js +29 -9
  319. package/build/plugins/resource/cicd/index.js.map +1 -1
  320. package/build/plugins/resource/cicd/questions.d.ts +2 -0
  321. package/build/plugins/resource/cicd/questions.d.ts.map +1 -1
  322. package/build/plugins/resource/cicd/questions.js +3 -1
  323. package/build/plugins/resource/cicd/questions.js.map +1 -1
  324. package/build/plugins/resource/cicd/utils/existingTemplatesStat.d.ts +16 -0
  325. package/build/plugins/resource/cicd/utils/existingTemplatesStat.d.ts.map +1 -0
  326. package/build/plugins/resource/cicd/utils/existingTemplatesStat.js +75 -0
  327. package/build/plugins/resource/cicd/utils/existingTemplatesStat.js.map +1 -0
  328. package/build/plugins/resource/frontend/dotnet/constants.d.ts +0 -10
  329. package/build/plugins/resource/frontend/dotnet/constants.d.ts.map +1 -1
  330. package/build/plugins/resource/frontend/dotnet/constants.js +1 -12
  331. package/build/plugins/resource/frontend/dotnet/constants.js.map +1 -1
  332. package/build/plugins/resource/frontend/dotnet/enum.d.ts +0 -10
  333. package/build/plugins/resource/frontend/dotnet/enum.d.ts.map +1 -1
  334. package/build/plugins/resource/frontend/dotnet/enum.js +1 -12
  335. package/build/plugins/resource/frontend/dotnet/enum.js.map +1 -1
  336. package/build/plugins/resource/frontend/dotnet/ops/scaffold.js +2 -2
  337. package/build/plugins/resource/frontend/dotnet/ops/scaffold.js.map +1 -1
  338. package/build/plugins/resource/frontend/dotnet/plugin.d.ts.map +1 -1
  339. package/build/plugins/resource/frontend/dotnet/plugin.js +9 -24
  340. package/build/plugins/resource/frontend/dotnet/plugin.js.map +1 -1
  341. package/build/plugins/resource/frontend/dotnet/resources/templateInfo.d.ts +2 -7
  342. package/build/plugins/resource/frontend/dotnet/resources/templateInfo.d.ts.map +1 -1
  343. package/build/plugins/resource/frontend/dotnet/resources/templateInfo.js +5 -31
  344. package/build/plugins/resource/frontend/dotnet/resources/templateInfo.js.map +1 -1
  345. package/build/plugins/resource/frontend/resources/errors.js +2 -2
  346. package/build/plugins/resource/frontend/resources/errors.js.map +1 -1
  347. package/build/plugins/resource/function/constants.d.ts +1 -2
  348. package/build/plugins/resource/function/constants.d.ts.map +1 -1
  349. package/build/plugins/resource/function/constants.js +0 -1
  350. package/build/plugins/resource/function/constants.js.map +1 -1
  351. package/build/plugins/resource/function/enums.d.ts +2 -6
  352. package/build/plugins/resource/function/enums.d.ts.map +1 -1
  353. package/build/plugins/resource/function/enums.js +2 -7
  354. package/build/plugins/resource/function/enums.js.map +1 -1
  355. package/build/plugins/resource/function/language-strategy.d.ts +0 -3
  356. package/build/plugins/resource/function/language-strategy.d.ts.map +1 -1
  357. package/build/plugins/resource/function/language-strategy.js +0 -11
  358. package/build/plugins/resource/function/language-strategy.js.map +1 -1
  359. package/build/plugins/resource/function/ops/provision.d.ts +1 -5
  360. package/build/plugins/resource/function/ops/provision.d.ts.map +1 -1
  361. package/build/plugins/resource/function/ops/provision.js +0 -29
  362. package/build/plugins/resource/function/ops/provision.js.map +1 -1
  363. package/build/plugins/resource/function/plugin.d.ts +1 -3
  364. package/build/plugins/resource/function/plugin.d.ts.map +1 -1
  365. package/build/plugins/resource/function/plugin.js +8 -33
  366. package/build/plugins/resource/function/plugin.js.map +1 -1
  367. package/build/plugins/resource/function/resources/errors.js +2 -2
  368. package/build/plugins/resource/function/resources/errors.js.map +1 -1
  369. package/build/plugins/resource/function/v3/index.d.ts +1 -1
  370. package/build/plugins/resource/function/v3/index.d.ts.map +1 -1
  371. package/build/plugins/resource/function/v3/index.js +9 -12
  372. package/build/plugins/resource/function/v3/index.js.map +1 -1
  373. package/build/plugins/solution/fx-solution/arm.d.ts.map +1 -1
  374. package/build/plugins/solution/fx-solution/arm.js +5 -7
  375. package/build/plugins/solution/fx-solution/arm.js.map +1 -1
  376. package/build/plugins/solution/fx-solution/constants.d.ts +13 -2
  377. package/build/plugins/solution/fx-solution/constants.d.ts.map +1 -1
  378. package/build/plugins/solution/fx-solution/constants.js +13 -1
  379. package/build/plugins/solution/fx-solution/constants.js.map +1 -1
  380. package/build/plugins/solution/fx-solution/debug/error.d.ts.map +1 -1
  381. package/build/plugins/solution/fx-solution/debug/error.js +7 -1
  382. package/build/plugins/solution/fx-solution/debug/error.js.map +1 -1
  383. package/build/plugins/solution/fx-solution/debug/provisionLocal.d.ts.map +1 -1
  384. package/build/plugins/solution/fx-solution/debug/provisionLocal.js +17 -0
  385. package/build/plugins/solution/fx-solution/debug/provisionLocal.js.map +1 -1
  386. package/build/plugins/solution/fx-solution/debug/scaffolding.d.ts.map +1 -1
  387. package/build/plugins/solution/fx-solution/debug/scaffolding.js +32 -29
  388. package/build/plugins/solution/fx-solution/debug/scaffolding.js.map +1 -1
  389. package/build/plugins/solution/fx-solution/debug/util/launchNext.d.ts +1 -0
  390. package/build/plugins/solution/fx-solution/debug/util/launchNext.d.ts.map +1 -1
  391. package/build/plugins/solution/fx-solution/debug/util/launchNext.js +49 -9
  392. package/build/plugins/solution/fx-solution/debug/util/launchNext.js.map +1 -1
  393. package/build/plugins/solution/fx-solution/debug/util/settings.d.ts +2 -1
  394. package/build/plugins/solution/fx-solution/debug/util/settings.d.ts.map +1 -1
  395. package/build/plugins/solution/fx-solution/debug/util/settings.js +22 -2
  396. package/build/plugins/solution/fx-solution/debug/util/settings.js.map +1 -1
  397. package/build/plugins/solution/fx-solution/debug/util/tasksNext.d.ts +1 -0
  398. package/build/plugins/solution/fx-solution/debug/util/tasksNext.d.ts.map +1 -1
  399. package/build/plugins/solution/fx-solution/debug/util/tasksNext.js +40 -2
  400. package/build/plugins/solution/fx-solution/debug/util/tasksNext.js.map +1 -1
  401. package/build/plugins/solution/fx-solution/question.d.ts +12 -1
  402. package/build/plugins/solution/fx-solution/question.d.ts.map +1 -1
  403. package/build/plugins/solution/fx-solution/question.js +130 -22
  404. package/build/plugins/solution/fx-solution/question.js.map +1 -1
  405. package/build/plugins/solution/fx-solution/utils/ResourceGroupHelper.js +1 -1
  406. package/build/plugins/solution/fx-solution/utils/ResourceGroupHelper.js.map +1 -1
  407. package/build/plugins/solution/fx-solution/v2/deploy.d.ts.map +1 -1
  408. package/build/plugins/solution/fx-solution/v2/deploy.js +37 -4
  409. package/build/plugins/solution/fx-solution/v2/deploy.js.map +1 -1
  410. package/build/plugins/solution/fx-solution/v2/executeUserTask.d.ts +1 -1
  411. package/build/plugins/solution/fx-solution/v2/executeUserTask.d.ts.map +1 -1
  412. package/build/plugins/solution/fx-solution/v2/executeUserTask.js +113 -65
  413. package/build/plugins/solution/fx-solution/v2/executeUserTask.js.map +1 -1
  414. package/build/plugins/solution/fx-solution/v2/getQuestions.d.ts +6 -0
  415. package/build/plugins/solution/fx-solution/v2/getQuestions.d.ts.map +1 -1
  416. package/build/plugins/solution/fx-solution/v2/getQuestions.js +277 -2
  417. package/build/plugins/solution/fx-solution/v2/getQuestions.js.map +1 -1
  418. package/build/plugins/solution/fx-solution/v2/provision.d.ts.map +1 -1
  419. package/build/plugins/solution/fx-solution/v2/provision.js +48 -20
  420. package/build/plugins/solution/fx-solution/v2/provision.js.map +1 -1
  421. package/build/plugins/solution/fx-solution/v2/provisionLocal.d.ts.map +1 -1
  422. package/build/plugins/solution/fx-solution/v2/provisionLocal.js +8 -5
  423. package/build/plugins/solution/fx-solution/v2/provisionLocal.js.map +1 -1
  424. package/build/plugins/solution/fx-solution/v2/publish.js +1 -1
  425. package/build/plugins/solution/fx-solution/v2/publish.js.map +1 -1
  426. package/build/plugins/solution/fx-solution/v2/solution.d.ts.map +1 -1
  427. package/build/plugins/solution/fx-solution/v2/solution.js +4 -1
  428. package/build/plugins/solution/fx-solution/v2/solution.js.map +1 -1
  429. package/build/plugins/solution/fx-solution/v2/utils.d.ts +7 -0
  430. package/build/plugins/solution/fx-solution/v2/utils.d.ts.map +1 -1
  431. package/build/plugins/solution/fx-solution/v2/utils.js +23 -1
  432. package/build/plugins/solution/fx-solution/v2/utils.js.map +1 -1
  433. package/package.json +8 -3
  434. package/resource/aad-manifest-change-logs.md +27 -0
  435. package/resource/package.nls.json +93 -54
  436. package/resource/{unify-config-change-logs.md → unify-config-and-aad-manifest-change-logs.md} +10 -3
  437. package/templates/bicep/azureSql.parameters.json +4 -0
  438. package/templates/bicep/azureSql.provisionDatabase.module.bicep +15 -0
  439. package/templates/bicep/azureSql.provisionDatabase.orchestration.bicep +5 -0
  440. package/templates/bicep/azureSql.provisionServer.module.bicep +44 -0
  441. package/templates/bicep/azureSql.provisionServer.orchestration.bicep +14 -0
  442. package/templates/bicep/azureWebApp.config.module.bicep +63 -0
  443. package/templates/bicep/azureWebApp.config.orchestration.bicep +12 -0
  444. package/templates/bicep/azureWebApp.parameters.json +4 -0
  445. package/templates/bicep/azureWebApp.provision.module.bicep +50 -0
  446. package/templates/bicep/azureWebApp.provision.orchestration.bicep +18 -0
  447. package/templates/bicep/botService.config.module.bicep +33 -0
  448. package/templates/bicep/botService.config.orchestration.bicep +8 -0
  449. package/templates/bicep/config.bicep +3 -0
  450. package/templates/bicep/main.bicep +18 -0
  451. package/templates/bicep/provision.bicep +2 -0
  452. package/templates/core/README.md +4 -4
  453. package/templates/fallback/blazor-base.csharp.default.zip +0 -0
  454. package/templates/fallback/bot.csharp.default.zip +0 -0
  455. package/templates/fallback/bot.csharp.notification-webapi.zip +0 -0
  456. package/templates/fallback/bot.js.command-and-response.zip +0 -0
  457. package/templates/fallback/bot.js.default.zip +0 -0
  458. package/templates/fallback/bot.js.m365.zip +0 -0
  459. package/templates/fallback/bot.js.notification-function-base.zip +0 -0
  460. package/templates/fallback/bot.js.notification-restify.zip +0 -0
  461. package/templates/fallback/bot.js.notification-trigger-http.zip +0 -0
  462. package/templates/fallback/bot.js.notification-trigger-timer.zip +0 -0
  463. package/templates/fallback/bot.ts.command-and-response.zip +0 -0
  464. package/templates/fallback/bot.ts.default.zip +0 -0
  465. package/templates/fallback/bot.ts.m365.zip +0 -0
  466. package/templates/fallback/bot.ts.notification-function-base.zip +0 -0
  467. package/templates/fallback/bot.ts.notification-restify.zip +0 -0
  468. package/templates/fallback/bot.ts.notification-trigger-http.zip +0 -0
  469. package/templates/fallback/bot.ts.notification-trigger-timer.zip +0 -0
  470. package/templates/fallback/bot.ts.notification.zip +0 -0
  471. package/templates/fallback/function-base.js.default.zip +0 -0
  472. package/templates/fallback/function-base.ts.default.zip +0 -0
  473. package/templates/fallback/function-triggers.js.HTTPTrigger.zip +0 -0
  474. package/templates/fallback/function-triggers.ts.HTTPTrigger.zip +0 -0
  475. package/templates/fallback/tab.csharp.default.zip +0 -0
  476. package/templates/fallback/tab.js.default.zip +0 -0
  477. package/templates/fallback/tab.js.m365.zip +0 -0
  478. package/templates/fallback/tab.js.non-sso.zip +0 -0
  479. package/templates/fallback/tab.ts.default.zip +0 -0
  480. package/templates/fallback/tab.ts.m365.zip +0 -0
  481. package/templates/fallback/tab.ts.non-sso.zip +0 -0
  482. package/templates/plugins/resource/aad/auth/bot/README.md +212 -9
  483. package/templates/plugins/resource/aad/auth/bot/js/public/auth-end.html +4 -1
  484. package/templates/plugins/resource/aad/auth/bot/js/public/auth-start.html +1 -0
  485. package/templates/plugins/resource/aad/auth/bot/js/sso/showUserInfo.js +19 -2
  486. package/templates/plugins/resource/aad/auth/bot/js/sso/ssoDialog.js +46 -18
  487. package/templates/plugins/resource/aad/auth/bot/js/sso/teamsSsoBot.js +13 -5
  488. package/templates/plugins/resource/aad/auth/bot/ts/public/auth-end.html +4 -1
  489. package/templates/plugins/resource/aad/auth/bot/ts/public/auth-start.html +1 -0
  490. package/templates/plugins/resource/aad/auth/bot/ts/sso/showUserInfo.ts +15 -1
  491. package/templates/plugins/resource/aad/auth/bot/ts/sso/ssoDialog.ts +42 -11
  492. package/templates/plugins/resource/aad/auth/bot/ts/sso/teamsSsoBot.ts +7 -1
  493. package/templates/plugins/resource/aad/auth/tab/README.md +44 -8
  494. package/templates/plugins/resource/aad/auth/tab/js/public/auth-end.html +1 -3
  495. package/templates/plugins/resource/aad/auth/tab/js/public/auth-start.html +1 -3
  496. package/templates/plugins/resource/aad/auth/tab/js/sso/GetUserProfile.jsx +23 -11
  497. package/templates/plugins/resource/aad/auth/tab/js/sso/InitTeamsFx.jsx +20 -0
  498. package/templates/plugins/resource/aad/auth/tab/ts/public/auth-end.html +1 -3
  499. package/templates/plugins/resource/aad/auth/tab/ts/public/auth-start.html +1 -3
  500. package/templates/plugins/resource/aad/auth/tab/ts/sso/GetUserProfile.tsx +25 -12
  501. package/templates/plugins/resource/aad/auth/tab/ts/sso/InitTeamsFx.tsx +20 -0
  502. package/templates/plugins/resource/apiconnector/package.json +1 -1
  503. package/templates/plugins/resource/apiconnector/sample/headerComment.template +20 -6
  504. package/templates/plugins/resource/apiconnector/sample/js/aad.template +1 -1
  505. package/templates/plugins/resource/apiconnector/sample/js/apikey.template +2 -2
  506. package/templates/plugins/resource/apiconnector/sample/js/basic.template +1 -1
  507. package/templates/plugins/resource/apiconnector/sample/js/cert.template +1 -1
  508. package/templates/plugins/resource/apiconnector/sample/js/custom.template +1 -1
  509. package/templates/plugins/resource/apiconnector/sample/ts/aad.template +1 -1
  510. package/templates/plugins/resource/apiconnector/sample/ts/apikey.template +1 -1
  511. package/templates/plugins/resource/bot/bicep/funcHostedBotProvision.template.bicep +2 -2
  512. package/templates/plugins/resource/cicd/azdo/cd.yml +2 -1
  513. package/templates/plugins/resource/cicd/jenkins/Jenkinsfile.cd +2 -3
  514. package/templates/plugins/resource/function/bicep/functionProvision.template.bicep +2 -2
  515. package/templates/plugins/resource/hosting/bicep/botservice/botserviceProvision.template.bicep +34 -0
  516. package/templates/plugins/resource/hosting/bicep/botservice/parameters.json +4 -0
  517. package/templates/plugins/resource/hosting/bicep/botservice/provision.template.bicep +8 -0
  518. package/templates/plugins/resource/hosting/bicep/function/config.template.bicep +12 -0
  519. package/templates/plugins/resource/hosting/bicep/function/functionConfiguration.template.bicep +71 -0
  520. package/templates/plugins/resource/hosting/bicep/function/functionProvision.template.bicep +99 -0
  521. package/templates/plugins/resource/hosting/bicep/function/provision.template.bicep +20 -0
  522. package/templates/plugins/resource/keyvault/bicep/keyVaultProvision.template.bicep +1 -1
  523. package/templates/plugins/resource/spfx/solution/README.md +3 -3
  524. package/build/plugins/resource/function/utils/node-version.d.ts +0 -2
  525. package/build/plugins/resource/function/utils/node-version.d.ts.map +0 -1
  526. package/build/plugins/resource/function/utils/node-version.js +0 -21
  527. package/build/plugins/resource/function/utils/node-version.js.map +0 -1
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "core.create.successNotice": "[Teams Toolkit] Scaffold successfully.",
3
3
  "core.init.successNotice": "Your project has been successfully initialized to operate with TeamsFx.\n\nSome next steps:\nteamsfx add <feature> will allow you to add features like single sign on or Teams notification integration.\n\nPro tip:\nRead on aka.ms/teams-manifest to learn more about updating manifest file to connect with your existing launch page experience.",
4
- "core.provision.confirmNotice": "The Teams Toolkit will provision resources and register corresponding resource providers under %s (Azure account) with %s (subscription). Costs may incur according to the pricing calculator.",
5
- "core.provision.confirmEnvNotice": "Do you want to provision resources in %s environment?\n%s (Azure account) with %s (subscription) will be used to provision. the resources. Cost may incur according to the usage.",
6
- "core.deploy.confirmEnvNotice": "Do you want to deploy resources in %s environment?\n%s (Azure account) with %s (subscription) will be used for deployment.",
4
+ "core.provision.confirmNotice": "The Teams Toolkit will provision resources and register corresponding resource providers under Azure account (%s) with subscription (%s). Costs may incur according to the pricing calculator.",
5
+ "core.provision.confirmEnvNotice": "Do you want to provision resources in %s environment?\nAzure account (%s) with subscription (%s) will be used to provision the resources. Cost may incur according to the usage.",
6
+ "core.deploy.confirmEnvNotice": "Do you want to deploy resources in %s environment?\nAzure account (%s) with subscription (%s) will be used for deployment.",
7
7
  "core.provision.successAzure": "Azure resources successfully provisioned in the cloud.",
8
8
  "core.provision.successNotice": "'%s' successfully provisioned in the cloud.",
9
9
  "core.provision.failNotice": "fail to provision '%s' in the cloud!",
@@ -13,7 +13,11 @@
13
13
  "core.deploy.FailedToDeployBeforeProvision": "Failed to deploy because the resources have not been provisioned yet. Make sure you do the provision first. Click Get Help to learn more about why you need to provision.",
14
14
  "core.deploy.noCapabilityFound": "No capability found to %s. Click Get Help to learn more about how to add capabilities.",
15
15
  "core.deploy.successNotice": "'%s' successfully deployed to the cloud.",
16
+ "core.deploy.aadManifestSuccessNotice": "Your Azure Active Directory application has been successfully deployed. Click \"Learn more\" to check how to view your Azure Active Directory application.",
17
+ "core.deploy.aadManifestLearnMore": "Learn more",
16
18
  "core.deploy.failNotice": "fail to deploy '%s' to the cloud!",
19
+ "core.deploy.botTroubleShoot": "To troubleshoot bot application in azure, please click learn more for documentation.",
20
+ "core.deploy.botTroubleShoot.learnMore": "Learn more",
17
21
  "core.deploy.startNotice": "[%s] Deployment start.",
18
22
  "core.deploy.selectedPluginsToDeployNotice": "[%s] Selected plugins to deploy: %s",
19
23
  "core.publish.startNotice": "[%s] Publish start.",
@@ -40,22 +44,21 @@
40
44
  "core.AppStudioJsonUndefined": "App Studio json is undefined",
41
45
  "core.generateArmTemplate.failNotice": "'%s' Failed to create ARM template for required Azure services.",
42
46
  "core.updateArmTemplate.failNotice": "'%s' Failed to update ARM template for required Azure services.",
43
- "core.updateArmTemplate.successNotice": "The Azure resource template is updated based on your resource and capability selection. We recommend to initialize your project workspace with git init to track all changes.",
47
+ "core.updateArmTemplate.successNotice": "The Azure resource template is updated based on your resource and capability selection.",
44
48
  "core.localDebug.tenantConfirmNotice": "You already run local debug for the Teams app in another tenant '%s'. You can sign out %s and sign in with the matched M365 account to re-use the previous local debug resource. If you really want to switch tenant for local debug, you can delete the %s file and re-run local debug.",
45
49
  "core.migrationToArmAndMultiEnv.Message": "Teams Toolkit will upgrade your project configuration files to support the latest features. The upgrade process will not change your custom code and create the backup files in case revert is needed.\nNotice this upgrade is a must-have to continue to use current version Teams Toolkit. If you are not ready to upgrade and want to continue to use the old version, please find Teams Toolkit in Extension and install the version <= 2.10.0",
46
50
  "core.migrationToArmAndMultiEnv.SuccessMessage": "Upgrade succeeded. Your project is upgraded to new configuration files.",
47
51
  "core.migrationToArmAndMultiEnv.ErrorMessage": "Upgrade Failed. Please check the error message in Output window to troubleshoot and fix. You can also click Learn More for the FAQ and how to upgrade manually.",
48
52
  "core.migrationToArmAndMultiEnv.PreCheckErrorMessage": "Upgrade Failed. '%s' doesn't exist or is not in json format. Please fix it and try again by running command (Teams: Upgrade project).\nYou can also click Learn More for the FAQ.",
49
- "core.consolidateLocalRemote.Message": "Your project will be upgraded to work with the latest version of Teams Toolkit. The upgrade will only backup and change the local config and manifest template file without changing your custom code. If you want to skip auto-upgrade, please install older version of Teams Toolkit (<=3.7.0)",
50
- "core.consolidateLocalRemote.DifferentManifest": "Since Teams Toolkit will use manifest.remote.template.json as a single manifest template file after the upgrade and we detected you may have customized the manifest.local.template.json, you may need to update the manifest.template.json to include your change. See Learn More for details.",
53
+ "core.consolidateLocalRemote.Message": "Your project will be upgraded to work with the latest version of Teams Toolkit. The upgrade will only add config.local.json, manifest.template.json files and backup manifest.remote.template.json, manifest.local.template.json files without changing your custom code. If you want to skip auto-upgrade, please install older version of Teams Toolkit (<=3.7.0)",
54
+ "core.consolidateLocalRemoteWithAadManifest.Message": "Your project will be upgraded to work with the latest version of Teams Toolkit. The upgrade will only add config.local.json, manifest.template.json, aad.template.json files, update projectSettings.json file and backup manifest.remote.template.json, manifest.local.template.json, projectSettings.json files without changing your custom code. If you want to skip auto-upgrade, please install older version of Teams Toolkit (<=3.7.0)",
55
+ "core.consolidateLocalRemote.DifferentManifest": "Since Teams Toolkit will use manifest.remote.template.json as a single manifest template file after the upgrade, if you have customized the manifest.local.template.json, you will need to update the manifest.template.json to include your change.",
51
56
  "core.consolidateLocalRemote.SuccessMessage": "Congratulations! You have successfully upgraded your Teams App project structure. We have added config.local.json for local debug and manifest.template.json for both Teams app running locally and remotely. And we have backed up localSettings.json, manifest.local.template.json and manifest.remote.template.json to .backup folder.",
52
- "core.aadManifestMigration.Canceled": "[core] Upgrade cancelled.",
53
- "core.aadManifestMigration.VSCodeCanceledNotice": "[core] Notice upgrade to new configuration files is a must-have to continue to use current version Teams Toolkit. If you are not ready to upgrade and want to continue to use the old version Teams Toolkit, please find Teams Toolkit in Extension and install the version <= ????",
54
- "core.aadManifestMigration.CLICanceledNotice": "[core] Notice upgrade to new configuration files is a must-have to continue to use current version Teams Toolkit CLI. If you want to upgrade, please trigger this command again.",
55
- "core.aadManifestMigration.CLINotReadyInstallLatestVersionNotice": "[core] If you are not ready to upgrade and want to continue to use the old version Teams Toolkit CLI, please install the version <= ????",
56
- "core.aadManifestMigration.Message": "Teams Toolkit will upgrade your project's to support the latest features. The upgrade process will not change your custom code and create the backup files in case revert is needed.\nNotice this upgrade is a must-have to continue to use current version Teams Toolkit. If you are not ready to upgrade and want to continue to use the old version, please find Teams Toolkit in Extension and install the version <= ????",
57
- "core.aadManifestMigration.outputMsg": "Congratulations! You have successfully upgraded your Teams App project structure. We have added aad.template.json for AAD app configuration. And we have backed up projectSettings.json, permissions.json to .backup folder.",
58
- "core.aadManifestMigration.SuccessMessage": "Upgrade succeeded. Your project is upgraded to new configuration files.",
57
+ "core.consolidateLocalRemoteWithAadManifest.SuccessMessage": "Congratulations! You have successfully upgraded your Teams App project structure. We have added config.local.json for local debug, manifest.template.json for both Teams app running locally and remotely and aad.template.json for AAD manifest template. And we have backed up localSettings.json, manifest.local.template.json, manifest.remote.template.json, projectSettings.json to .backup folder.",
58
+ "core.aadManifestMigration.outputMsg": "Congratulations! AAD manifest has been added, and please start to use this file to customize your AAD App registration. We have added aad.template.json, updated your projectSettings.json file and backed up projectSettings.json to .backup folder.",
59
+ "core.aadManifestMigration.SuccessMessage": "Congratulations! AAD manifest has been added, and please start to use this file to customize your AAD App registration. We have added aad.template.json, updated your projectSettings.json and backed up projectSettings.json to .backup folder. For more information about AAD manifest, please refer %s",
60
+ "core.projectVersionChecker.vscodeUseNewVersion":"Your Teams Toolkit extension is too old to support current project, please update the extension to latest version and try to open this project again",
61
+ "core.projectVersionChecker.cliUseNewVersion": "[core] Your TeamsFx CLI is too old to support current project, please update to latest version using command below:\nnpm install -g @microsoft/teamsfx-cli@latest",
59
62
  "core.aad.includeAadQuestionTitle": "Whether to deploy aad manifest",
60
63
  "core.deployArmTemplates.StartNotice": "[%s] Start deploying ARM templates.",
61
64
  "core.deployArmTemplates.CompileBicepSuccessNotice": "[%s] Successfully compile bicep files to JSON.",
@@ -169,7 +172,8 @@
169
172
  "plugins.appstudio.lastModifiedTip": "Last Modified: %s\n",
170
173
  "plugins.appstudio.updatePublihsedAppConfirm": "Do you want to submit a new update?",
171
174
  "plugins.appstudio.teamsAppCreatedNotice": "Teams app created %s",
172
- "plugins.appstudio.teamsAppUpdatedNotice": "Teams app updated %s",
175
+ "plugins.appstudio.teamsAppUpdatedLog": "Teams app updated %s",
176
+ "plugins.appstudio.teamsAppUpdatedNotice": "Your Teams application manifest has been successfully deployed. Click \"View in Developer Portal\" to view your application in Teams Developer Portal.",
173
177
  "plugins.appstudio.relativePathTip": "%s should be a relative path, URL is not supported",
174
178
  "plugins.appstudio.updateManifestTip": "The manifest file configurations has been modified already. Do you want to continue to regenerate the manifest file and update to Teams platform?",
175
179
  "plugins.appstudio.updateOverwriteTip": "The manifest file on Teams platform has been changed since your last update. Do you want to continue to update and overwrite the manifest file on Teams platform?",
@@ -252,33 +256,33 @@
252
256
  "plugins.cicd.result.scaffold.skipped": "You have already created template(s) of %s using %s for %s environment, please customize it or remove it to create a new one.",
253
257
  "plugins.cicd.suggestions.checkPermission": "Please check if you got sufficient permission.",
254
258
  "plugins.cicd.suggestions.createProjectOrOpenExisting": "You can create a new project or open an existing one.",
255
- "error.cicd.FailedToListMultiEnv": "Failed to list multi env.",
259
+ "error.cicd.FailedToListMultiEnv": "Failed to list multi env: %s.",
256
260
  "error.cicd.PreconditionNotMet": "Some preconditions of inputs are not met.",
257
261
  "error.cicd.NoProjectOpened.details": "No project opened.",
258
- "plugins.apiConnector.getQuestionApiName.title": "API alias",
259
- "plugins.apiConnector.getQuestionApiName.placeholder": "The alias will be used to generate related app setting names for your API. The names can be changed later",
260
- "plugins.apiConnector.getQuestionEndpoint.title": "API endpoint for local debugging",
261
- "plugins.apiConnector.getQuestionEndpoint.placeholder": "We will add the endpoint to local app settings",
262
- "plugins.apiConnector.getQuestion.basicAuth.userName.title": "User name",
263
- "plugins.apiConnector.getQuestion.basicAuth.userName.placeholder": "The content will be added to your project's local app setting",
264
- "plugins.apiConnector.getQuestion.appType.title": "AAD app registration you want to use",
265
- "plugins.apiConnector.getQuestion.apiKeyLocation.title": "API Key position in request",
266
- "plugins.apiConnector.getQuestion.apiKeyName.title": "API Key name",
267
- "plugins.apiConnector.getQuestion.apiKeyName.placeholder": "The content will be added to your project's local app setting",
268
- "plugins.apiConnector.whichService.title": "Component that needs to invoke this API",
269
- "plugins.apiConnector.whichService.placeholder": "We will add necessary packages and app settings for the selected project",
270
- "plugins.apiConnector.whichAuthType.title": "API authentication type",
271
- "plugins.apiConnector.whichAuthType.placeholder": "We will generate sample code based on your selection",
262
+ "plugins.apiConnector.getQuestionApiName.title": "Enter a friendly name for your API.",
263
+ "plugins.apiConnector.getQuestionApiName.placeholder": "API alias will be used to generate app setting names.",
264
+ "plugins.apiConnector.getQuestionEndpoint.title": "Enter an API endpoint for local debugging.",
265
+ "plugins.apiConnector.getQuestionEndpoint.placeholder": "API endpoint will be added to local app setting.",
266
+ "plugins.apiConnector.getQuestion.basicAuth.userName.title": "Enter the username for Basic Auth.",
267
+ "plugins.apiConnector.getQuestion.basicAuth.userName.placeholder": "Username will be added to local app setting.",
268
+ "plugins.apiConnector.getQuestion.appType.title": "Select an AAD app registration you want to use.",
269
+ "plugins.apiConnector.getQuestion.apiKeyLocation.title": "Select the API Key position in request.",
270
+ "plugins.apiConnector.getQuestion.apiKeyName.title": "Enter an API Key name.",
271
+ "plugins.apiConnector.getQuestion.apiKeyName.placeholder": "We will add the key name to generated file.",
272
+ "plugins.apiConnector.whichService.title": "Select component(s) to invoke the API.",
273
+ "plugins.apiConnector.whichService.placeholder": "We will import packages and add app settings.",
274
+ "plugins.apiConnector.whichAuthType.title": "Select an API authentication type.",
275
+ "plugins.apiConnector.whichAuthType.placeholder": "We will generate sample code based on your selection.",
272
276
  "plugins.apiConnector.reuseAppOption.title": "Reuse app registration in current Teams app",
273
- "plugins.apiConnector.reuseAppOption.placeholder": "Use the AAD app registration created for current Teams app",
277
+ "plugins.apiConnector.reuseAppOption.placeholder": "Use the AAD app registration created for current Teams app.",
274
278
  "plugins.apiConnector.anotherAppOption.title": "Use another app registration",
275
- "plugins.apiConnector.anotherAppOption.placeholder": "Provide information for your AAD app registration",
279
+ "plugins.apiConnector.anotherAppOption.placeholder": "Provide information for your AAD app registration.",
276
280
  "plugins.apiConnector.requestHeaderOption.title": "Request header",
277
281
  "plugins.apiConnector.queryParamsOption.title": "Query parameter",
278
- "plugins.apiConnector.appTenantId.title": "AAD tenant id",
279
- "plugins.apiConnector.appTenantId.placeholder": "AAD tenant id will be added to your project's local app setting",
280
- "plugins.apiConnector.appId.title": "AAD application id (client id)",
281
- "plugins.apiConnector.appId.placeholder": "AAD application id (client id) will be added to your project's local app setting",
282
+ "plugins.apiConnector.appTenantId.title": "Enter an AAD tenant id.",
283
+ "plugins.apiConnector.appTenantId.placeholder": "AAD tenant id will be added to local app setting.",
284
+ "plugins.apiConnector.appId.title": "Enter an AAD application id (client id).",
285
+ "plugins.apiConnector.appId.placeholder": "AAD application id (client id) will be added to local app setting.",
282
286
  "plugins.apiConnector.botOption.title": "Notification / Command & Response",
283
287
  "plugins.apiConnector.functionOption.title": "Azure Function App",
284
288
  "plugins.apiConnector.BasicAuthOption.detail": "Use username and password to authentication requests",
@@ -294,6 +298,8 @@
294
298
  "plugins.apiConnector.errorMessage.ApiConnectorFunctionRouteError": "Failed to route function call: %s",
295
299
  "plugins.apiConnector.questionComponentSelect.emptySelection": "You have to select at least one component.",
296
300
  "plugins.apiConnector.QuestionAppName.validation.ApiNameExist": "Please provide a different API name to avoid conflicts with existing file %s",
301
+ "plugins.apiConnector.QuestionAppName.validation.ApiNameAlphanumeric": "Please provide a different API name contains alphanumeric only",
302
+ "plugins.apiConnector.QuestionAppName.validation.ApiNameNumberPrefix": "Please provide a different API name without number beginning",
297
303
  "plugins.apiConnector.Question.validation.EmptyValue": "The value should not be empty",
298
304
  "plugins.apiConnector.Question.validation.NotGuid": "The value should be guid",
299
305
  "plugins.apiConnector.QuestionApiEndpoint.validation.NotHttp": "The API endpoint should be a valid http(s) url",
@@ -312,7 +318,6 @@
312
318
  "error.InvalidEnvNameError": "Environment name can only contain letters, digits, _ and -.",
313
319
  "error.UpgradeCanceledError": "If you don't want to upgrade your project, please install another version of Teams Toolkit (version <= 2.10.0).",
314
320
  "error.ConsolidateCanceledError": "If you don't want to upgrade your project, please install another version of Teams Toolkit (version <= 3.7.0).",
315
- "error.AadManifestMigrationCanceledError": "If you don't want to upgrade your project, please install another version of Teams Toolkit (version <= ????).",
316
321
  "error.OperationNotSupportedForExistingAppError": "Operation is not supported for existing app: %s.",
317
322
  "error.OperationNotPermittedError": "Operation is not permitted: %s",
318
323
  "error.InvalidInputError": "Failed to update context: %s",
@@ -348,7 +353,7 @@
348
353
  "error.FailedToListResourceGroupLocation": "Failed to list resource group locations",
349
354
  "error.UnsupportedPlatformVS": "VS publish is not supposed to run on platform %s",
350
355
  "error.BicepGenerationError": "Failed to generate bicep file %s. Reason: %s",
351
- "error.LocalBotEndpointNotConfigured": "Local bot endpoint is not configured. Set \"fx-resource-local-debug.localBotEndpoint\" in \".fx/default.user.data\" and try again.",
356
+ "error.LocalBotEndpointNotConfigured": "Local bot endpoint is not configured. Set \"bot.siteEndpoint\" in \".fx/configs/config.local.json\" and try again.",
352
357
  "error.InvalidLocalBotEndpointFormat": "Local bot endpoint format is invalid: %s.",
353
358
  "error.NgrokTunnelNotConnected": "Ngrok tunnel is not connected. Check your network settings and try again.",
354
359
  "error.frontend.UnauthenticatedError": "Failed to get user login information.",
@@ -460,24 +465,30 @@
460
465
  "error.apiConnector.SDKVersionImcompatibleError": "In %s project, @microsoft/teamsfx version %s is not compatible. Please upgrade your package version to %s",
461
466
  "error.apiConnector.pkgFileNotExistError": "In %s project, there is no package.json exist",
462
467
  "error.apiConnector.componentNotExistError": "Component %s not exist, please add first",
468
+ "error.apiConnector.envVarExistError": "Please provide a different API name to avoid conflicts with existing env variables %s in .env.teamsfx.local",
463
469
  "core.QuestionAppName.validation.pattern": "Application name must start with a letter and can only contain letters and digits.",
470
+ "core.QuestionAppName.validation.maxlength": "Application name is longer than the maximum length of 30.",
464
471
  "core.QuestionAppName.validation.pathExist": "Path exists: %s. Select a different application name.",
465
472
  "core.ProgrammingLanguageQuestion.title": "Programming Language",
466
473
  "core.ProgrammingLanguageQuestion.placeholder": "Select a programming language.",
467
474
  "core.ProgrammingLanguageQuestion.placeholder.spfx": "SPFx is currently supporting TypeScript only.",
475
+ "core.option.tutorial": "Open tutorial",
468
476
  "core.TabOption.label": "Tab",
469
- "core.TabOption.labelNew": "SSO enabled launch page",
477
+ "core.TabOption.labelNew": "SSO-enabled tab",
470
478
  "core.TabOption.description": "UI-based app",
471
479
  "core.TabOption.detail": "Teams-aware webpages embedded in Microsoft Teams",
472
480
  "core.TabOption.detailNew": "Teams identity aware webpages embedded in Microsoft Teams",
473
481
  "core.BotOption.description": "Conversational Agent",
474
482
  "core.BotOption.detail": "Running simple and repetitive automated tasks through conversations",
475
- "core.MessageExtensionOption.labelNew": "Search, action and link unfurling app",
476
- "core.MessageExtensionOption.label": "Messaging Extension",
483
+ "core.BotNewUIOption.label": "Bot",
484
+ "core.BotNewUIOption.detail": "Hello world chatbot to run simple and repetitive tasks by user",
485
+ "core.MessageExtensionOption.labelNew": "Message extension",
486
+ "core.MessageExtensionOption.label": "Message Extension",
477
487
  "core.MessageExtensionOption.description": "Custom UI when users compose messages in Teams",
478
- "core.MessageExtensionOption.detail": "Inserting app content or acting on a message without leaving the conversation",
488
+ "core.MessageExtensionOption.detail": "Hello world message extension allowing interactions via buttons and forms",
479
489
  "core.NotificationOption.label": "Notification bot",
480
490
  "core.NotificationOption.detail": "Send notification to Microsoft Teams via various triggers",
491
+ "core.Option.recommend": "Recommended",
481
492
  "core.CommandAndResponseOption.label": "Command bot",
482
493
  "core.CommandAndResponseOption.detail": "Respond to simple commands in Microsoft Teams chat",
483
494
  "core.ExistingTabOption.label": "Embed existing web app",
@@ -486,19 +497,20 @@
486
497
  "core.ExistingTabEndpointQuestion.title": "Enter your web app's local endpoint",
487
498
  "core.ExistingTabEndpointQuestion.validation": "Please enter a valid URL started with https://",
488
499
  "core.TabSPFxOption.label": "Tab (SPFx)",
489
- "core.TabSPFxOption.labelNew": "SPFx launch page",
500
+ "core.TabSPFxOption.labelNew": "SPFx tab",
490
501
  "core.TabSPFxOption.description": "Client-side app with SharePoint Framework",
491
502
  "core.TabSPFxOption.detail": "Auto-hosted SPFx web part tightly integrated with Microsoft Teams",
492
- "core.TabSPFxOption.detailNew": "Teams-aware webpages with SharePoint Framework embeded in Microsoft Teams",
503
+ "core.TabSPFxOption.detailNew": "Teams-aware webpages with SharePoint Framework embedded in Microsoft Teams",
493
504
  "core.TabSso.description": "Single Sign On for Tab",
494
505
  "core.TabSso.detail": "Enable Single Sign On in your Teams Tab app",
495
506
  "core.BotSso.description": "Single Sign On for Bot",
496
507
  "core.BotSso.detail": "Enable Single Sign On in your Teams Bot app",
497
- "core.TabNonSso.label": "Static launch Page",
498
- "core.TabNonSso.detail": "Static webpages embeded in Microsoft Teams",
508
+ "core.TabNonSso.label": "Tab",
509
+ "core.TabNonSso.detail": "Hello world webpages embedded in Microsoft Teams",
499
510
  "core.addCapabilityQuestion.title": "Choose Capabilities",
500
511
  "core.addCapabilityQuestion.titleNew": "Capabilities",
501
512
  "core.addCapabilityQuestion.notificationCommandAndResponseConflict": "Notification and Command and Response capabilities are in conflict",
513
+ "core.addFeatureQuestion.title": "Add features",
502
514
  "core.createCapabilityQuestion.title": "Select capabilities",
503
515
  "core.createCapabilityQuestion.titleNew": "Capabilities",
504
516
  "core.createCapabilityQuestion.placeholder": "Select at least 1 capability",
@@ -506,12 +518,12 @@
506
518
  "core.createCapabilityQuestion.single.placeholder": "Select an option",
507
519
  "core.capability.validation": "Invalid capability combinations: %s, option sets: %s are mutually exclusive",
508
520
  "core.capability.validation.spfx": "Add SPFx Tab is only permitted for minimal app",
509
- "core.createCapabilityQuestion.validation1": "Teams Toolkit offers only the Tab capability in a Teams app with Visual Studio Code and SharePoint Framework. The Bot and Messaging extension capabilities are not available",
521
+ "core.createCapabilityQuestion.validation1": "Teams Toolkit offers only the Tab capability in a Teams app with Visual Studio Code and SharePoint Framework. The Bot and Message extension capabilities are not available",
510
522
  "core.createCapabilityQuestion.botNotificationConflict": "Bot and Notification capabilities are in conflict",
511
523
  "core.createCapabilityQuestion.botCommandAndResponseConflict": "Bot and Command and Response capabilities are in conflict",
512
524
  "core.createCapabilityQuestion.notificationCommandAndResponseConflict": "Notification and Command and Response capabilities are in conflict",
513
- "core.createCapabilityQuestion.meNotificationConflict": "Messaging Extension and Notification capabilities are in conflict",
514
- "core.createCapabilityQuestion.meCommandAndResponseConflict": "Messaging Extension and Command and Response capabilities are in conflict",
525
+ "core.createCapabilityQuestion.meNotificationConflict": "Message Extension and Notification capabilities are in conflict",
526
+ "core.createCapabilityQuestion.meCommandAndResponseConflict": "Message Extension and Command and Response capabilities are in conflict",
515
527
  "core.QuestionSelectTargetEnvironment.title": "Select an environment",
516
528
  "core.getQuestionNewTargetEnvironmentName.title": "New environment name",
517
529
  "core.getQuestionNewTargetEnvironmentName.placeholder": "New environment name",
@@ -534,8 +546,12 @@
534
546
  "core.ScratchOptionNoVSC.detail": "Use an existing sample as a starting point for your new application.",
535
547
  "core.ScratchOptionNo.label": "Start from a sample",
536
548
  "core.ScratchOptionNo.detail": "Use an existing sample as a starting point for your new application.",
549
+ "core.RuntimeOptionNodeJS.detail": "A fast JavaScript server runtime",
550
+ "core.RuntimeOptionDotNet.detail": "Free. Cross-platform. Open Source.",
537
551
  "core.getCreateNewOrFromSampleQuestion.title": "Teams Toolkit: Create a new Teams app",
552
+ "core.getRuntimeQuestion.title": "Teams Toolkit: select runtime for your app",
538
553
  "core.getCreateNewOrFromSampleQuestion.placeholder": "Select an option",
554
+ "core.getRuntimeQuestion.placeholder": "Select a runtime",
539
555
  "core.SampleSelect.title": "Start from a sample",
540
556
  "core.SampleSelect.placeholder": "Select a sample",
541
557
  "core.SampleSelect.buttons.viewSamples": "View samples",
@@ -543,18 +559,37 @@
543
559
  "core.HostTypeOptionSPFx.label": "SharePoint Framework (SPFx)",
544
560
  "core.AzureResourceSQL.label": "Azure SQL Database",
545
561
  "core.AzureResourceSQL.description": "Azure Function App will be also selected to access Azure SQL Database",
562
+ "core.AzureResourceSQLNewUI.label": "Azure SQL Database",
563
+ "core.AzureResourceSQLNewUI.detail": "An always-up-to-date relational database service built for the cloud",
546
564
  "core.AzureResourceFunction.label": "Azure Function App",
565
+ "core.AzureResourceFunctionNewUI.label": "Azure Functions",
566
+ "core.AzureResourceFunctionNewUI.detail": "A serverless, event-driven compute solution that allows you to write less code",
547
567
  "core.AzureResourceApim.label": "Register APIs in Azure API Management",
548
568
  "core.AzureResourceApim.description": "Azure Function App will be also selected to be published as an API",
569
+ "core.AzureResourceApimNewUI.label": "Azure API Management",
570
+ "core.AzureResourceApimNewUI.detail": "A hybrid, multicloud management platform for APIs across all environments",
549
571
  "core.AzureResourceKeyVault.label": "Azure Key Vault",
550
572
  "core.AzureResourceKeyVault.description": "Secure runtime application secrets with Azure Key Vault",
573
+ "core.AzureResourceKeyVaultNewUI.label": "Azure Key Vault",
574
+ "core.AzureResourceKeyVaultNewUI.detail": "A cloud service for securely storing and accessing secrets",
575
+ "core.SingleSignOnOption.label": "Single Sign-On",
576
+ "core.SingleSignOnOption.detail": "Develop a Single Sign-On feature for Teams Launch pages and Bot capability",
577
+ "core.ApiConnectionOption.label": "API Connection",
578
+ "core.ApiConnectionOption.detail": "Connect to an API with authentication support using TeamsFx SDK",
579
+ "core.cicdWorkflowOption.label": "CI/CD workflows",
580
+ "core.cicdWorkflowOption.detail": "Add CI/CD Workflows for GitHub, Azure DevOps or Jenkins",
551
581
  "core.getUserEmailQuestion.title": "Add owner to Teams/AAD app for the account under the same M365 tenant (email)",
552
582
  "core.getUserEmailQuestion.validation1": "Email address cannot be null or empty",
553
583
  "core.getUserEmailQuestion.validation2": "Please change [UserName] to the real user name",
554
- "core.M365SsoLaunchPageOptionItem.detail": "Microsoft 365 identity aware webpages embedded in Microsoft Teams, Outlook and Office.com",
584
+ "core.M365SsoLaunchPageOptionItem.label": "SSO enabled personal tab",
585
+ "core.M365SsoLaunchPageOptionItem.detail": "Identity aware webpages embedded in Microsoft Teams, Outlook and Office.com",
586
+ "core.M365SearchAppOptionItem.label": "Search-based message extension",
555
587
  "core.M365SearchAppOptionItem.detail": "Insert search result when user composes messages in Microsoft Teams or emails in Outlook",
556
- "core.TeamsAppSeparatorOptionItem.label": "Teams apps",
557
- "core.TeamsM365AppSeparatorOptionItem.label": "Teams/M365 apps",
588
+ "core.options.separator.scenario": "Scenario-based Teams apps",
589
+ "core.options.separator.basic": "Basic Teams apps",
590
+ "core.options.separator.resource": "Cloud resources",
591
+ "core.options.separator.additional": "Additional features",
592
+ "core.options.separator.m365": "Extended Teams apps across Microsoft 365",
558
593
  "core.common.TeamsMobileDesktopClientName": "Teams desktop, mobile client id",
559
594
  "core.common.TeamsWebClientName": "Teams web client id",
560
595
  "core.common.OfficeDesktopClientName": "Office desktop client id",
@@ -587,6 +622,7 @@
587
622
  "error.aad.ListCollaboratorError": "Failed to list collaborator.",
588
623
  "error.aad.AadManifestLoadError": "Failed to load manifest file from %s, due to %s",
589
624
  "error.aad.AadManifestMissingName": "name property is empty or invalid in AAD manifest file",
625
+ "error.aad.AadManifestMissingScopeIdForTeamsApp": "oauth2Permissions property missing item which value should be access_as_user",
590
626
  "error.aad.AadManifestMissingObjectId": "id property is missing or invalid in AAD manifest file, you need to run provision or local debug first",
591
627
  "error.aad.AadManifestMissingReplyUrlsWithType": "replyUrlsWithType property is missing or invalid in AAD manifest file, you need to run provision or local debug first",
592
628
  "error.aad.AadManifestMissingIdentifierUris": "identifierUris property is missing or invalid in AAD manifest file, you need to run provision or local debug first",
@@ -688,11 +724,13 @@
688
724
  "plugins.sa.RegisterRersourceProviderFailed": "Failed to register required resource provider for Simple Auth. Reason: %s. Register required resource provider %s manually.",
689
725
  "plugins.sa.FreeServerFarmsQuotaErrorToUser": "The maximum number of Free App Service Plan allowed in a Subscription is 10. Delete a free App Service plan and try again.",
690
726
  "core.addSso.onlySupportAzure": "Add SSO is only supported for project hosted in Azure",
691
- "core.addSso.needCapability": "Add SSO is only supported for project with Tab, Bot and/or Messaging Extension. You need to run 'add component' first",
727
+ "core.addSso.onlyMeNotSupport": "Add SSO is not supported on Message Extension only projects",
728
+ "core.addSso.needCapability": "Add SSO is only supported for project with Tab, Bot and/or Message Extension. You need to run 'add component' first",
692
729
  "core.addSso.functionNotSupport": "Add SSO is not supported for Bot hosted on Azure Function",
693
730
  "core.addSso.needEnableFeatureFlag": "Need to set 'TEAMSFX_AAD_MANIFEST' in env to use add SSO feature",
694
731
  "core.addSso.ssoEnabled": "SSO is already enabled",
695
732
  "core.addSso.invalidSsoProject": "Invalid project. You may have modified '.fx/projectSettings.json' file.",
733
+ "core.addSso.learnMore": "SSO is successfully added in your project. We have generated sample code and README in 'auth/'. Click on '%s' for more detail.",
696
734
  "core.addSsoFiles.emptyProjectPath": "Project path is empty",
697
735
  "core.addSsoFiles.projectPathNotExists": "Project path does not exist",
698
736
  "core.addSsoFiles.canNotAddNonSsoTabWhenSsoEnabled": "Failed to add non SSO Tab. SSO is enabled in this project",
@@ -821,10 +859,11 @@
821
859
  "depChecker.dotnetInstallStderr": "dotnet-install command failed without error exit code but with non-empty standard error.",
822
860
  "depChecker.dotnetInstallErrorCode": "dotnet-install command failed.",
823
861
  "depChecker.failToInstallDotnet": "Failed to install @NameVersion. Install @NameVersion manually and restart Visual Studio Code.",
824
- "depChecker.NodeNotFound": "Cannot find Node.js.\n\nTeams Toolkit requires Node.js; the recommended version is v14.\n\nClick \"Learn more\" to learn how to install the Node.js.\n\n(If you just installed Node.js, restart Visual Studio Code for the change to take effect.)",
862
+ "depChecker.NodeNotFound": "Cannot find Node.js.\n\nTeams Toolkit requires Node.js; the recommended version is @NodeVersion.\n\nClick \"Learn more\" to learn how to install the Node.js.\n\n(If you just installed Node.js, restart Visual Studio Code for the change to take effect.)",
825
863
  "depChecker.NodeNotSupported": "Node.js (@CurrentVersion) is not in the supported version list (@SupportedVersions).\n\nClick \"Learn more\" to learn more about the supported Node.js versions.\n\n(If you just installed Node.js (@SupportedVersions), restart Visual Studio Code for the change to take effect.)",
826
864
  "depChecker.dotnetNotFound": "Cannot find @NameVersion. For the details why .NET SDK is needed, refer to @HelpLink",
827
865
  "depChecker.depsNotFound": "Cannot find @SupportedPackages.\n\nTeams Toolkit requires these dependencies.\n\nClick \"Install\" to install @InstallPackages.",
828
866
  "depChecker.linuxDepsNotFound": "Cannot find @SupportedPackages.\n\nTeams Toolkit requires these dependencies. \n\n(If you just installed @SupportedPackages, restart Visual Studio Code for the change to take effect.)",
829
- "depChecker.linuxDepsNotFoundHelpLinkMessage": "Cannot find @SupportedPackages.\n\nTeams Toolkit requires these dependencies."
867
+ "depChecker.linuxDepsNotFoundHelpLinkMessage": "Cannot find @SupportedPackages.\n\nTeams Toolkit requires these dependencies.",
868
+ "error.ActionNotExist": "Action not exist: %s"
830
869
  }
@@ -1,6 +1,6 @@
1
1
  # Congratulations! You have successfully upgraded your Teams App project structure.
2
2
 
3
- We have updated the configuration files so that your project is compatible with the latest Teams Toolkit features, including a consistent configuration file schema and a single Teams app manifest template across local and remote environments.
3
+ We have updated the configuration files so that your project is compatible with the latest Teams Toolkit features, including a consistent configuration file schema and a single Teams app manifest template across local and remote environments. If your project contains single sign-on (SSO) feature, then it will also aad an AAD manifest template file.
4
4
 
5
5
  > Important Notes: If you collaborate on this project with your co-workers, please ensure your team members update the Teams Toolkit extension to the latest version after committing the changes with this upgrade.
6
6
 
@@ -8,13 +8,20 @@ We have updated the configuration files so that your project is compatible with
8
8
  Teams Toolkit continues to improve your Teams application development experience. We are upgrading the Teams app project structure so that you can:
9
9
  1. Use a consistent schema to manage configuration settings for local and remote environments.
10
10
  1. Use a single Teams application manifest template across local and remote environments.
11
+ 1. Use AAD manifest template to customize your AAD app (for project contains SSO feature).
12
+ 1. Allow to add SSO for these scenarios and capabilities: Notification bot (with restify server), Command bot, Bot, Tab and Embed existing web app.
11
13
 
12
14
  ## Know about the changes we made
13
15
  After the project upgrade, the new file structure will consist:
14
16
  * `localSettings.json` will be updated to `config.local.json` to ensure consistency between local and remote environment configuration settings.
15
17
  * `manifest.local.template.json` and `manifest.remote.template.json` will be merged into a single manifest template file named `manifest.template.json` to make managing manifest template files easy.
16
18
 
17
- Your existing `localSettings.json`, `manifest.local.template.json`, and `manifest.remote.template.json` files will be backed up in `.backup` folder.
19
+ - For project contains SSO feature, also include these changes:
20
+ * Update `.fx\configs\projectSettings.json` capabilities to include TabSSO and/or BotSSO based on original project capabilities.
21
+ * AAD manifest template file will be added to `templates\appPackage\aad.template.json`.
22
+ * The required resource access information in `permissions.json` file will be merged into `aad.template.json` file and `permissions.json` file will be deprecated.
23
+
24
+ Your existing `localSettings.json`, `manifest.local.template.json`, `manifest.remote.template.json` and `projectSettings.json` (for project contains SSO feature) files will be backed up in `.backup` folder.
18
25
 
19
26
  ## Know what you need to do
20
27
  Since Teams Toolkit will use `manifest.remote.template.json` as a single manifest template file after the upgrade, if you have customized the `manifest.local.template.json`, you will need to update the `manifest.template.json` to include your change.
@@ -25,4 +32,4 @@ For how to update the `manifest.template.json`, you can check this [Wiki Page](h
25
32
  If anything went wrong after the upgrade process, you could restore your old project configuration files by:
26
33
  * Copy the .backup/.fx folder to your project root path.
27
34
  * Copy the .backup/templates folder to your project root path.
28
- * Delete `config.local.json` and `manifest.template.json` if needed.
35
+ * Delete `config.local.json`, `manifest.template.json` and `aad.template.json` (for project contains SSO feature) if needed.
@@ -0,0 +1,4 @@
1
+ {
2
+ "azureSqlAdmin": "{{state.azure-sql.admin}}",
3
+ "azureSqlAdminPassword": "{{state.azure-sql.adminPassword}}"
4
+ }
@@ -0,0 +1,15 @@
1
+ // database added with name suffix [{{suffix}}]
2
+ var sqlDatabaseName_{{suffix}} = contains(provisionParameters, 'sqlDatabaseName_{{suffix}}') ? provisionParameters['sqlDatabaseName_{{suffix}}'] : '${resourceBaseName}_{{suffix}}'
3
+ var sqlDatabaseSku_{{suffix}} = contains(provisionParameters, 'sqlDatabaseSku_{{suffix}}') ? provisionParameters['sqlDatabaseSku_{{suffix}}'] : 'Basic'
4
+
5
+ resource sqlDatabase_{{suffix}} 'Microsoft.Sql/servers/databases@2021-05-01-preview' = {
6
+ // parent should refer to resource symbolic name of SQL server
7
+ parent: sqlServer
8
+ location: resourceGroup().location
9
+ name: sqlDatabaseName_{{suffix}}
10
+ sku: {
11
+ name: sqlDatabaseSku_{{suffix}}
12
+ }
13
+ }
14
+
15
+ output databaseName_{{suffix}} string = sqlDatabaseName_{{suffix}}
@@ -0,0 +1,5 @@
1
+ // output for database with name suffix [{{suffix}}]
2
+ output azureSqlOutput_{{suffix}} object = {
3
+ teamsFxPluginId: 'fx-resource-azure-sql'
4
+ databaseName_{{suffix}}: azureSqlProvision.outputs.databaseName_{{suffix}}
5
+ }
@@ -0,0 +1,44 @@
1
+ @secure()
2
+ param provisionParameters object
3
+ var resourceBaseName = provisionParameters.resourceBaseName
4
+ var sqlServerName = contains(provisionParameters, 'sqlServerName') ? provisionParameters['sqlServerName'] : '${resourceBaseName}' // Try to read name for SQL Server from parameters
5
+ var sqlDatabaseName = contains(provisionParameters, 'sqlDatabaseName') ? provisionParameters['sqlDatabaseName'] : '${resourceBaseName}' // Try to read name for SQL Database from parameters
6
+ var sqlDatabaseSku = contains(provisionParameters, 'sqlDatabaseSku') ? provisionParameters['sqlDatabaseSku'] : 'Basic' // Try to read SKU for SQL Database from parameters
7
+ var administratorLogin = contains(provisionParameters, 'azureSqlAdmin') ? provisionParameters['azureSqlAdmin'] : '' // Try to read admin name for SQL Server from parameters, the value must be empty or same with the admin name used to create SQL Server
8
+ var administratorLoginPassword = contains(provisionParameters, 'azureSqlAdminPassword') ? provisionParameters['azureSqlAdminPassword'] : '' // Try to read admin password for SQL Server from parameters, empty means do not update admin password
9
+
10
+ // SQL Server that hosts the databases
11
+ // The symbolic name of SQL Server will be referenced as parent when adding nmultiple databases
12
+ resource sqlServer 'Microsoft.Sql/servers@2021-05-01-preview' = {
13
+ location: resourceGroup().location
14
+ name: sqlServerName
15
+ properties: {
16
+ minimalTlsVersion:'1.2'
17
+ administratorLogin: empty(administratorLogin) ? null : administratorLogin
18
+ administratorLoginPassword: administratorLoginPassword
19
+ }
20
+ }
21
+
22
+ // SQL Database
23
+ resource sqlDatabase 'Microsoft.Sql/servers/databases@2021-05-01-preview' = {
24
+ parent: sqlServer
25
+ location: resourceGroup().location
26
+ name: sqlDatabaseName
27
+ sku: {
28
+ name: sqlDatabaseSku // You can follow https://aka.ms/teamsfx-bicep-add-param-tutorial to add sqlDatabaseSku property to provisionParameters to override the default value "Basic".
29
+ }
30
+ }
31
+
32
+ // Allow Azure services connect to the SQL Server
33
+ resource sqlFirewallRules 'Microsoft.Sql/servers/firewallRules@2021-05-01-preview' = {
34
+ parent: sqlServer
35
+ name: 'AllowAzure'
36
+ properties: {
37
+ endIpAddress: '0.0.0.0'
38
+ startIpAddress: '0.0.0.0'
39
+ }
40
+ }
41
+
42
+ output resourceId string = sqlServer.id
43
+ output sqlEndpoint string = sqlServer.properties.fullyQualifiedDomainName
44
+ output sqlDatabaseName string = sqlDatabaseName
@@ -0,0 +1,14 @@
1
+ // Resources for Azure SQL
2
+ module azureSqlProvision './provision/azureSql.bicep' = {
3
+ name: 'azureSqlProvision'
4
+ params: {
5
+ provisionParameters: provisionParameters
6
+ }
7
+ }
8
+
9
+ output azureSqlOutput object = {
10
+ teamsFxPluginId: 'azure-sql'
11
+ sqlResourceId: azureSqlProvision.outputs.resourceId
12
+ sqlEndpoint: azureSqlProvision.outputs.sqlEndpoint
13
+ sqlDatabaseName: azureSqlProvision.outputs.sqlDatabaseName
14
+ }
@@ -0,0 +1,63 @@
1
+ // Auto generated content, please customize files under provision folder
2
+
3
+ @secure()
4
+ param provisionParameters object
5
+ param provisionOutputs object
6
+ @secure()
7
+ param currentAppSettings object
8
+
9
+ var webAppName = split({{azure-web-app.outputs.resourceId}} , '/')[8]
10
+ {{#if (contains "aad" connections)}}
11
+ var m365ClientId = provisionParameters['m365ClientId']
12
+ {{#if (contains "key-vault" connections) }}
13
+ var m365ClientSecret = {{key-vault.outputs.m365ClientSecretReference}}
14
+ {{else}}
15
+ var m365ClientSecret = provisionParameters['m365ClientSecret']
16
+ {{/if}}
17
+ var m365TenantId = provisionParameters['m365TenantId']
18
+ var m365OauthAuthorityHost = provisionParameters['m365OauthAuthorityHost']
19
+ var botId = provisionParameters['botAadAppClientId']
20
+ {{#if (contains "teams-tab" connections)}}
21
+ {{#if (contains "bot-service" connections) }}
22
+ var m365ApplicationIdUri = 'api://${ {{tabDomainVarName}} }/botid-${botId}'
23
+ {{/if}}
24
+ {{else}}
25
+ var m365ApplicationIdUri = 'api://botid-${botId}'
26
+ {{/if}}
27
+ {{/if}}
28
+ {{#if (contains "teams-bot" connections)}}
29
+ var botAadAppClientId = provisionParameters['botAadAppClientId']
30
+ {{#if (contains "key-vault" connections) }}
31
+ var botAadAppClientSecret = {{key-vault.outputs.botClientSecretReference}}
32
+ {{else}}
33
+ var botAadAppClientSecret = provisionParameters['botAadAppClientSecret']
34
+ {{/if}}
35
+ {{/if}}
36
+
37
+ resource webAppSettings 'Microsoft.Web/sites/config@2021-02-01' = {
38
+ name: '${webAppName}/appsettings'
39
+ properties: union({
40
+ {{#if (contains "aad" connections)}}
41
+ INITIATE_LOGIN_ENDPOINT: uri({{azure-web-app.outputs.endpoint}}, 'auth-start.html') // The page is used to let users consent required OAuth permissions during bot SSO process
42
+ M365_AUTHORITY_HOST: m365OauthAuthorityHost // AAD authority host
43
+ M365_CLIENT_ID: m365ClientId // Client id of AAD application
44
+ M365_CLIENT_SECRET: m365ClientSecret // Client secret of AAD application
45
+ M365_TENANT_ID: m365TenantId // Tenant id of AAD application
46
+ M365_APPLICATION_ID_URI: m365ApplicationIdUri // Application ID URI of AAD application
47
+ {{/if}}
48
+ {{#if (contains "teams-bot" connections)}}
49
+ BOT_ID: botAadAppClientId // ID of your bot
50
+ BOT_PASSWORD: botAadAppClientSecret // Secret of your bot
51
+ {{/if}}
52
+ {{#if (contains "azure-function" connections) }}
53
+ API_ENDPOINT: {{azure-function.outputs.functionEndpoint}} // Azure Function endpoint
54
+ {{/if}}
55
+ {{#if (contains "azure-sql" connections)}}
56
+ SQL_DATABASE_NAME: {{azure-sql.outputs.sqlDatabaseName}} // SQL database name
57
+ SQL_ENDPOINT: {{azure-sql.outputs.sqlEndpoint}} // SQL server endpoint
58
+ {{/if}}
59
+ {{#if (contains "identity" connections)}}
60
+ IDENTITY_ID: {{identity.outputs.identityClientId}} // User assigned identity id, the identity is used to access other Azure resources
61
+ {{/if}}
62
+ }, currentAppSettings)
63
+ }
@@ -0,0 +1,12 @@
1
+ // Get existing app settings for merge
2
+ var currentAppSettings = list('${provisionOutputs.azureWebAppOutput.value.resourceId}/config/appsettings', '2021-02-01').properties
3
+
4
+ // Merge TeamsFx configurations to Bot resources
5
+ module teamsFxAzureWebAppConfig './teamsFx/azureWebAppConfig.bicep' = {
6
+ name: 'teamsFxAzureWebAppConfig'
7
+ params: {
8
+ provisionParameters: provisionParameters
9
+ provisionOutputs: provisionOutputs
10
+ currentAppSettings: currentAppSettings
11
+ }
12
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "botAadAppClientId": "{{state.bot-service.botId}}",
3
+ "botAadAppClientSecret": "{{state.bot-service.botPassword}}"
4
+ }
@@ -0,0 +1,50 @@
1
+ @secure()
2
+ param provisionParameters object
3
+
4
+ var resourceBaseName = provisionParameters.resourceBaseName
5
+ var serverfarmsName = contains(provisionParameters, 'webAppServerfarmsName') ? provisionParameters['webAppServerfarmsName'] : '${resourceBaseName}webApp' // Try to read name for App Service Plan from parameters
6
+ var webAppSKU = contains(provisionParameters, 'webAppSKU') ? provisionParameters['webAppSKU'] : 'F1' // Try to read SKU for Azure Web App from parameters
7
+ var webAppName = contains(provisionParameters, 'webAppSitesName') ? provisionParameters['webAppSitesName'] : '${resourceBaseName}webApp' // Try to read name for Azure Web App from parameters
8
+
9
+ // Compute resources for your Web App
10
+ resource serverfarm 'Microsoft.Web/serverfarms@2021-02-01' = {
11
+ kind: 'app'
12
+ location: resourceGroup().location
13
+ name: serverfarmsName
14
+ sku: {
15
+ name: webAppSKU
16
+ }
17
+ }
18
+
19
+ // Web App that hosts your bot
20
+ resource webApp 'Microsoft.Web/sites@2021-02-01' = {
21
+ kind: 'app'
22
+ location: resourceGroup().location
23
+ name: webAppName
24
+ properties: {
25
+ serverFarmId: serverfarm.id
26
+ siteConfig: {
27
+ appSettings: [
28
+ {
29
+ name: 'SCM_DO_BUILD_DURING_DEPLOYMENT'
30
+ value: 'true' // Execute build steps on your site during deployment
31
+ }
32
+ {
33
+ name: 'WEBSITE_NODE_DEFAULT_VERSION'
34
+ value: '~14' // Set NodeJS version to 14.x for your site
35
+ }
36
+ {
37
+ name: 'RUNNING_ON_AZURE'
38
+ value: '1'
39
+ }
40
+ ]
41
+ }
42
+ }
43
+ }
44
+
45
+ output sku string = webAppSKU
46
+ output appName string = webAppName
47
+ output domain string = webApp.properties.defaultHostName
48
+ output appServicePlanName string = serverfarmsName
49
+ output resourceId string = webApp.id
50
+ output endpoint string = 'https://${webApp.properties.defaultHostName}'