@microsoft/teamsfx-core 1.6.1 → 1.6.2-alpha.eb3c5cc12.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 (450) hide show
  1. package/build/common/constants.d.ts +3 -0
  2. package/build/common/constants.d.ts.map +1 -1
  3. package/build/common/constants.js +3 -0
  4. package/build/common/constants.js.map +1 -1
  5. package/build/common/local/localEnvManager.d.ts +5 -2
  6. package/build/common/local/localEnvManager.d.ts.map +1 -1
  7. package/build/common/local/localEnvManager.js +16 -2
  8. package/build/common/local/localEnvManager.js.map +1 -1
  9. package/build/common/local/localStateHelper.d.ts +3 -0
  10. package/build/common/local/localStateHelper.d.ts.map +1 -0
  11. package/build/common/local/localStateHelper.js +133 -0
  12. package/build/common/local/localStateHelper.js.map +1 -0
  13. package/build/common/local/taskDefinition.d.ts +3 -0
  14. package/build/common/local/taskDefinition.d.ts.map +1 -1
  15. package/build/common/local/taskDefinition.js +36 -0
  16. package/build/common/local/taskDefinition.js.map +1 -1
  17. package/build/common/localStateConstants.d.ts +39 -0
  18. package/build/common/localStateConstants.d.ts.map +1 -0
  19. package/build/common/localStateConstants.js +44 -0
  20. package/build/common/localStateConstants.js.map +1 -0
  21. package/build/common/localStateProvider.d.ts +7 -0
  22. package/build/common/localStateProvider.d.ts.map +1 -0
  23. package/build/common/localStateProvider.js +28 -0
  24. package/build/common/localStateProvider.js.map +1 -0
  25. package/build/common/projectSettingsHelper.d.ts.map +1 -1
  26. package/build/common/projectSettingsHelper.js +2 -0
  27. package/build/common/projectSettingsHelper.js.map +1 -1
  28. package/build/common/samples-config.json +2 -2
  29. package/build/common/telemetry.d.ts +17 -0
  30. package/build/common/telemetry.d.ts.map +1 -1
  31. package/build/common/telemetry.js +17 -0
  32. package/build/common/telemetry.js.map +1 -1
  33. package/build/common/template-utils/templatesActions.d.ts +2 -2
  34. package/build/common/template-utils/templatesActions.d.ts.map +1 -1
  35. package/build/common/template-utils/templatesActions.js +6 -6
  36. package/build/common/template-utils/templatesActions.js.map +1 -1
  37. package/build/common/templates-config.json +4 -3
  38. package/build/common/tools.d.ts +4 -0
  39. package/build/common/tools.d.ts.map +1 -1
  40. package/build/common/tools.js +27 -1
  41. package/build/common/tools.js.map +1 -1
  42. package/build/core/FxCore.d.ts +2 -0
  43. package/build/core/FxCore.d.ts.map +1 -1
  44. package/build/core/FxCore.js +104 -6
  45. package/build/core/FxCore.js.map +1 -1
  46. package/build/core/environment.d.ts +1 -0
  47. package/build/core/environment.d.ts.map +1 -1
  48. package/build/core/environment.js +9 -2
  49. package/build/core/environment.js.map +1 -1
  50. package/build/core/error.d.ts +4 -0
  51. package/build/core/error.d.ts.map +1 -1
  52. package/build/core/error.js +17 -1
  53. package/build/core/error.js.map +1 -1
  54. package/build/core/globalVars.d.ts +4 -0
  55. package/build/core/globalVars.d.ts.map +1 -1
  56. package/build/core/globalVars.js +5 -1
  57. package/build/core/globalVars.js.map +1 -1
  58. package/build/core/middleware/consolidateLocalRemote.d.ts +3 -0
  59. package/build/core/middleware/consolidateLocalRemote.d.ts.map +1 -0
  60. package/build/core/middleware/consolidateLocalRemote.js +203 -0
  61. package/build/core/middleware/consolidateLocalRemote.js.map +1 -0
  62. package/build/core/middleware/envInfoLoader.d.ts.map +1 -1
  63. package/build/core/middleware/envInfoLoader.js +6 -14
  64. package/build/core/middleware/envInfoLoader.js.map +1 -1
  65. package/build/core/middleware/envInfoWriter.d.ts.map +1 -1
  66. package/build/core/middleware/envInfoWriter.js +6 -0
  67. package/build/core/middleware/envInfoWriter.js.map +1 -1
  68. package/build/core/middleware/projectMigrator.d.ts +3 -0
  69. package/build/core/middleware/projectMigrator.d.ts.map +1 -1
  70. package/build/core/middleware/projectMigrator.js +3 -1
  71. package/build/core/middleware/projectMigrator.js.map +1 -1
  72. package/build/core/middleware/questionModel.d.ts.map +1 -1
  73. package/build/core/middleware/questionModel.js +55 -1
  74. package/build/core/middleware/questionModel.js.map +1 -1
  75. package/build/core/question.d.ts +13 -2
  76. package/build/core/question.d.ts.map +1 -1
  77. package/build/core/question.js +153 -61
  78. package/build/core/question.js.map +1 -1
  79. package/build/plugins/resource/aad/aadAppClient.d.ts +4 -0
  80. package/build/plugins/resource/aad/aadAppClient.d.ts.map +1 -1
  81. package/build/plugins/resource/aad/aadAppClient.js +52 -0
  82. package/build/plugins/resource/aad/aadAppClient.js.map +1 -1
  83. package/build/plugins/resource/aad/aadAppManifestManager.d.ts +11 -0
  84. package/build/plugins/resource/aad/aadAppManifestManager.d.ts.map +1 -0
  85. package/build/plugins/resource/aad/aadAppManifestManager.js +117 -0
  86. package/build/plugins/resource/aad/aadAppManifestManager.js.map +1 -0
  87. package/build/plugins/resource/aad/constants.d.ts +13 -0
  88. package/build/plugins/resource/aad/constants.d.ts.map +1 -1
  89. package/build/plugins/resource/aad/constants.js +25 -0
  90. package/build/plugins/resource/aad/constants.js.map +1 -1
  91. package/build/plugins/resource/aad/errors.d.ts +21 -0
  92. package/build/plugins/resource/aad/errors.d.ts.map +1 -1
  93. package/build/plugins/resource/aad/errors.js +65 -1
  94. package/build/plugins/resource/aad/errors.js.map +1 -1
  95. package/build/plugins/resource/aad/index.d.ts +3 -0
  96. package/build/plugins/resource/aad/index.d.ts.map +1 -1
  97. package/build/plugins/resource/aad/index.js +9 -1
  98. package/build/plugins/resource/aad/index.js.map +1 -1
  99. package/build/plugins/resource/aad/interfaces/AADApplication.d.ts +2 -3
  100. package/build/plugins/resource/aad/interfaces/AADApplication.d.ts.map +1 -1
  101. package/build/plugins/resource/aad/interfaces/AADManifest.d.ts +2 -3
  102. package/build/plugins/resource/aad/interfaces/AADManifest.d.ts.map +1 -1
  103. package/build/plugins/resource/aad/permissions/index.d.ts +1 -0
  104. package/build/plugins/resource/aad/permissions/index.d.ts.map +1 -1
  105. package/build/plugins/resource/aad/permissions/index.js +27 -1
  106. package/build/plugins/resource/aad/permissions/index.js.map +1 -1
  107. package/build/plugins/resource/aad/permissions/permissions.json +1084 -204
  108. package/build/plugins/resource/aad/plugin.d.ts +6 -1
  109. package/build/plugins/resource/aad/plugin.d.ts.map +1 -1
  110. package/build/plugins/resource/aad/plugin.js +117 -20
  111. package/build/plugins/resource/aad/plugin.js.map +1 -1
  112. package/build/plugins/resource/aad/utils/aadManifestHelper.d.ts +2 -0
  113. package/build/plugins/resource/aad/utils/aadManifestHelper.d.ts.map +1 -1
  114. package/build/plugins/resource/aad/utils/aadManifestHelper.js +84 -8
  115. package/build/plugins/resource/aad/utils/aadManifestHelper.js.map +1 -1
  116. package/build/plugins/resource/aad/utils/configs.d.ts +3 -1
  117. package/build/plugins/resource/aad/utils/configs.d.ts.map +1 -1
  118. package/build/plugins/resource/aad/utils/configs.js +2 -2
  119. package/build/plugins/resource/aad/utils/configs.js.map +1 -1
  120. package/build/plugins/resource/aad/v2/index.d.ts +3 -1
  121. package/build/plugins/resource/aad/v2/index.d.ts.map +1 -1
  122. package/build/plugins/resource/aad/v2/index.js +6 -0
  123. package/build/plugins/resource/aad/v2/index.js.map +1 -1
  124. package/build/plugins/resource/apiconnector/constants.d.ts +25 -0
  125. package/build/plugins/resource/apiconnector/constants.d.ts.map +1 -0
  126. package/build/plugins/resource/apiconnector/constants.js +34 -0
  127. package/build/plugins/resource/apiconnector/constants.js.map +1 -0
  128. package/build/plugins/resource/apiconnector/envHandler.d.ts +19 -0
  129. package/build/plugins/resource/apiconnector/envHandler.d.ts.map +1 -0
  130. package/build/plugins/resource/apiconnector/envHandler.js +97 -0
  131. package/build/plugins/resource/apiconnector/envHandler.js.map +1 -0
  132. package/build/plugins/resource/apiconnector/errors.d.ts +35 -0
  133. package/build/plugins/resource/apiconnector/errors.d.ts.map +1 -0
  134. package/build/plugins/resource/apiconnector/errors.js +42 -0
  135. package/build/plugins/resource/apiconnector/errors.js.map +1 -0
  136. package/build/plugins/resource/apiconnector/index.d.ts +14 -0
  137. package/build/plugins/resource/apiconnector/index.d.ts.map +1 -0
  138. package/build/plugins/resource/apiconnector/index.js +43 -0
  139. package/build/plugins/resource/apiconnector/index.js.map +1 -0
  140. package/build/plugins/resource/apiconnector/plugin.d.ts +11 -0
  141. package/build/plugins/resource/apiconnector/plugin.d.ts.map +1 -0
  142. package/build/plugins/resource/apiconnector/plugin.js +101 -0
  143. package/build/plugins/resource/apiconnector/plugin.js.map +1 -0
  144. package/build/plugins/resource/apiconnector/questions.d.ts +13 -0
  145. package/build/plugins/resource/apiconnector/questions.d.ts.map +1 -0
  146. package/build/plugins/resource/apiconnector/questions.js +63 -0
  147. package/build/plugins/resource/apiconnector/questions.js.map +1 -0
  148. package/build/plugins/resource/apiconnector/result.d.ts +9 -0
  149. package/build/plugins/resource/apiconnector/result.d.ts.map +1 -0
  150. package/build/plugins/resource/apiconnector/result.js +21 -0
  151. package/build/plugins/resource/apiconnector/result.js.map +1 -0
  152. package/build/plugins/resource/apiconnector/sampleHandler.d.ts +10 -0
  153. package/build/plugins/resource/apiconnector/sampleHandler.d.ts.map +1 -0
  154. package/build/plugins/resource/apiconnector/sampleHandler.js +47 -0
  155. package/build/plugins/resource/apiconnector/sampleHandler.js.map +1 -0
  156. package/build/plugins/resource/apiconnector/utils.d.ts +22 -0
  157. package/build/plugins/resource/apiconnector/utils.d.ts.map +1 -0
  158. package/build/plugins/resource/apiconnector/utils.js +21 -0
  159. package/build/plugins/resource/apiconnector/utils.js.map +1 -0
  160. package/build/plugins/resource/appstudio/constants.d.ts +4 -0
  161. package/build/plugins/resource/appstudio/constants.d.ts.map +1 -1
  162. package/build/plugins/resource/appstudio/constants.js +30 -1
  163. package/build/plugins/resource/appstudio/constants.js.map +1 -1
  164. package/build/plugins/resource/appstudio/manifestTemplate.d.ts.map +1 -1
  165. package/build/plugins/resource/appstudio/manifestTemplate.js +6 -0
  166. package/build/plugins/resource/appstudio/manifestTemplate.js.map +1 -1
  167. package/build/plugins/resource/appstudio/plugin.d.ts +2 -2
  168. package/build/plugins/resource/appstudio/plugin.d.ts.map +1 -1
  169. package/build/plugins/resource/appstudio/plugin.js +70 -16
  170. package/build/plugins/resource/appstudio/plugin.js.map +1 -1
  171. package/build/plugins/resource/appstudio/v3/index.d.ts +5 -1
  172. package/build/plugins/resource/appstudio/v3/index.d.ts.map +1 -1
  173. package/build/plugins/resource/appstudio/v3/index.js +24 -2
  174. package/build/plugins/resource/appstudio/v3/index.js.map +1 -1
  175. package/build/plugins/resource/bot/azureOps.d.ts +1 -1
  176. package/build/plugins/resource/bot/azureOps.d.ts.map +1 -1
  177. package/build/plugins/resource/bot/azureOps.js +12 -28
  178. package/build/plugins/resource/bot/azureOps.js.map +1 -1
  179. package/build/plugins/resource/bot/clientFactory.d.ts +0 -5
  180. package/build/plugins/resource/bot/clientFactory.d.ts.map +1 -1
  181. package/build/plugins/resource/bot/clientFactory.js +1 -29
  182. package/build/plugins/resource/bot/clientFactory.js.map +1 -1
  183. package/build/plugins/resource/bot/configs/scaffoldConfig.d.ts +8 -4
  184. package/build/plugins/resource/bot/configs/scaffoldConfig.d.ts.map +1 -1
  185. package/build/plugins/resource/bot/configs/scaffoldConfig.js +40 -8
  186. package/build/plugins/resource/bot/configs/scaffoldConfig.js.map +1 -1
  187. package/build/plugins/resource/bot/configs/teamsBotConfig.d.ts +1 -1
  188. package/build/plugins/resource/bot/configs/teamsBotConfig.d.ts.map +1 -1
  189. package/build/plugins/resource/bot/configs/teamsBotConfig.js +15 -9
  190. package/build/plugins/resource/bot/configs/teamsBotConfig.js.map +1 -1
  191. package/build/plugins/resource/bot/constants.d.ts +6 -12
  192. package/build/plugins/resource/bot/constants.d.ts.map +1 -1
  193. package/build/plugins/resource/bot/constants.js +5 -11
  194. package/build/plugins/resource/bot/constants.js.map +1 -1
  195. package/build/plugins/resource/bot/enums/pluginActRoles.d.ts +2 -1
  196. package/build/plugins/resource/bot/enums/pluginActRoles.d.ts.map +1 -1
  197. package/build/plugins/resource/bot/enums/pluginActRoles.js +1 -0
  198. package/build/plugins/resource/bot/enums/pluginActRoles.js.map +1 -1
  199. package/build/plugins/resource/bot/errors.d.ts +3 -18
  200. package/build/plugins/resource/bot/errors.d.ts.map +1 -1
  201. package/build/plugins/resource/bot/errors.js +8 -38
  202. package/build/plugins/resource/bot/errors.js.map +1 -1
  203. package/build/plugins/resource/bot/functionsHostedBot/constants.d.ts +13 -0
  204. package/build/plugins/resource/bot/functionsHostedBot/constants.d.ts.map +1 -0
  205. package/build/plugins/resource/bot/functionsHostedBot/constants.js +20 -0
  206. package/build/plugins/resource/bot/functionsHostedBot/constants.js.map +1 -0
  207. package/build/plugins/resource/bot/functionsHostedBot/deployMgr.d.ts +18 -0
  208. package/build/plugins/resource/bot/functionsHostedBot/deployMgr.d.ts.map +1 -0
  209. package/build/plugins/resource/bot/functionsHostedBot/deployMgr.js +160 -0
  210. package/build/plugins/resource/bot/functionsHostedBot/deployMgr.js.map +1 -0
  211. package/build/plugins/resource/bot/functionsHostedBot/plugin.d.ts +2 -0
  212. package/build/plugins/resource/bot/functionsHostedBot/plugin.d.ts.map +1 -1
  213. package/build/plugins/resource/bot/functionsHostedBot/plugin.js +104 -2
  214. package/build/plugins/resource/bot/functionsHostedBot/plugin.js.map +1 -1
  215. package/build/plugins/resource/bot/index.d.ts +5 -2
  216. package/build/plugins/resource/bot/index.d.ts.map +1 -1
  217. package/build/plugins/resource/bot/index.js +10 -5
  218. package/build/plugins/resource/bot/index.js.map +1 -1
  219. package/build/plugins/resource/bot/languageStrategy.d.ts.map +1 -1
  220. package/build/plugins/resource/bot/languageStrategy.js +4 -2
  221. package/build/plugins/resource/bot/languageStrategy.js.map +1 -1
  222. package/build/plugins/resource/bot/plugin.d.ts +2 -1
  223. package/build/plugins/resource/bot/plugin.d.ts.map +1 -1
  224. package/build/plugins/resource/bot/plugin.js +1 -1
  225. package/build/plugins/resource/bot/plugin.js.map +1 -1
  226. package/build/plugins/resource/bot/question.d.ts +4 -1
  227. package/build/plugins/resource/bot/question.d.ts.map +1 -1
  228. package/build/plugins/resource/bot/question.js +24 -7
  229. package/build/plugins/resource/bot/question.js.map +1 -1
  230. package/build/plugins/resource/bot/resources/messages.d.ts +1 -0
  231. package/build/plugins/resource/bot/resources/messages.d.ts.map +1 -1
  232. package/build/plugins/resource/bot/resources/messages.js +5 -1
  233. package/build/plugins/resource/bot/resources/messages.js.map +1 -1
  234. package/build/plugins/resource/bot/resources/strings.d.ts +10 -0
  235. package/build/plugins/resource/bot/resources/strings.d.ts.map +1 -1
  236. package/build/plugins/resource/bot/resources/strings.js +18 -1
  237. package/build/plugins/resource/bot/resources/strings.js.map +1 -1
  238. package/build/plugins/resource/bot/utils/telemetry-helper.d.ts.map +1 -1
  239. package/build/plugins/resource/bot/utils/telemetry-helper.js +4 -1
  240. package/build/plugins/resource/bot/utils/telemetry-helper.js.map +1 -1
  241. package/build/plugins/resource/bot/v3/index.d.ts.map +1 -1
  242. package/build/plugins/resource/bot/v3/index.js +0 -1
  243. package/build/plugins/resource/bot/v3/index.js.map +1 -1
  244. package/build/plugins/resource/cicd/constants.d.ts +3 -3
  245. package/build/plugins/resource/cicd/constants.d.ts.map +1 -1
  246. package/build/plugins/resource/cicd/constants.js +4 -3
  247. package/build/plugins/resource/cicd/constants.js.map +1 -1
  248. package/build/plugins/resource/cicd/errors.d.ts.map +1 -1
  249. package/build/plugins/resource/cicd/errors.js.map +1 -1
  250. package/build/plugins/resource/cicd/index.d.ts.map +1 -1
  251. package/build/plugins/resource/cicd/index.js +10 -3
  252. package/build/plugins/resource/cicd/index.js.map +1 -1
  253. package/build/plugins/resource/cicd/plugin.d.ts.map +1 -1
  254. package/build/plugins/resource/cicd/plugin.js +14 -12
  255. package/build/plugins/resource/cicd/plugin.js.map +1 -1
  256. package/build/plugins/resource/cicd/questions.d.ts +2 -0
  257. package/build/plugins/resource/cicd/questions.d.ts.map +1 -1
  258. package/build/plugins/resource/cicd/questions.js +28 -6
  259. package/build/plugins/resource/cicd/questions.js.map +1 -1
  260. package/build/plugins/resource/frontend/constants.d.ts +0 -1
  261. package/build/plugins/resource/frontend/constants.d.ts.map +1 -1
  262. package/build/plugins/resource/frontend/constants.js +0 -1
  263. package/build/plugins/resource/frontend/constants.js.map +1 -1
  264. package/build/plugins/resource/frontend/dotnet/constants.d.ts +0 -1
  265. package/build/plugins/resource/frontend/dotnet/constants.d.ts.map +1 -1
  266. package/build/plugins/resource/frontend/dotnet/constants.js +0 -1
  267. package/build/plugins/resource/frontend/dotnet/constants.js.map +1 -1
  268. package/build/plugins/resource/frontend/dotnet/ops/scaffold.d.ts.map +1 -1
  269. package/build/plugins/resource/frontend/dotnet/ops/scaffold.js +0 -1
  270. package/build/plugins/resource/frontend/dotnet/ops/scaffold.js.map +1 -1
  271. package/build/plugins/resource/frontend/ops/scaffold.d.ts.map +1 -1
  272. package/build/plugins/resource/frontend/ops/scaffold.js +0 -1
  273. package/build/plugins/resource/frontend/ops/scaffold.js.map +1 -1
  274. package/build/plugins/resource/frontend/resources/templateInfo.d.ts +1 -0
  275. package/build/plugins/resource/frontend/resources/templateInfo.d.ts.map +1 -1
  276. package/build/plugins/resource/frontend/resources/templateInfo.js +9 -2
  277. package/build/plugins/resource/frontend/resources/templateInfo.js.map +1 -1
  278. package/build/plugins/resource/frontend/v3/index.d.ts.map +1 -1
  279. package/build/plugins/resource/frontend/v3/index.js +0 -1
  280. package/build/plugins/resource/frontend/v3/index.js.map +1 -1
  281. package/build/plugins/resource/function/constants.d.ts +0 -1
  282. package/build/plugins/resource/function/constants.d.ts.map +1 -1
  283. package/build/plugins/resource/function/constants.js +0 -1
  284. package/build/plugins/resource/function/constants.js.map +1 -1
  285. package/build/plugins/resource/function/ops/scaffold.d.ts.map +1 -1
  286. package/build/plugins/resource/function/ops/scaffold.js +0 -1
  287. package/build/plugins/resource/function/ops/scaffold.js.map +1 -1
  288. package/build/plugins/resource/index.d.ts +1 -0
  289. package/build/plugins/resource/index.d.ts.map +1 -1
  290. package/build/plugins/resource/index.js +1 -0
  291. package/build/plugins/resource/index.js.map +1 -1
  292. package/build/plugins/resource/localdebug/v2/index.d.ts.map +1 -1
  293. package/build/plugins/resource/localdebug/v2/index.js +1 -1
  294. package/build/plugins/resource/localdebug/v2/index.js.map +1 -1
  295. package/build/plugins/resource/simpleauth/plugin.d.ts.map +1 -1
  296. package/build/plugins/resource/simpleauth/plugin.js +24 -5
  297. package/build/plugins/resource/simpleauth/plugin.js.map +1 -1
  298. package/build/plugins/resource/simpleauth/v2/index.d.ts +2 -2
  299. package/build/plugins/resource/simpleauth/v2/index.d.ts.map +1 -1
  300. package/build/plugins/resource/simpleauth/v2/index.js +4 -4
  301. package/build/plugins/resource/simpleauth/v2/index.js.map +1 -1
  302. package/build/plugins/resource/spfx/depsChecker/dependencyChecker.d.ts +11 -0
  303. package/build/plugins/resource/spfx/depsChecker/dependencyChecker.d.ts.map +1 -0
  304. package/build/plugins/resource/spfx/depsChecker/dependencyChecker.js +5 -0
  305. package/build/plugins/resource/spfx/depsChecker/dependencyChecker.js.map +1 -0
  306. package/build/plugins/resource/spfx/depsChecker/generatorChecker.d.ts +21 -0
  307. package/build/plugins/resource/spfx/depsChecker/generatorChecker.d.ts.map +1 -0
  308. package/build/plugins/resource/spfx/depsChecker/generatorChecker.js +131 -0
  309. package/build/plugins/resource/spfx/depsChecker/generatorChecker.js.map +1 -0
  310. package/build/plugins/resource/spfx/depsChecker/yoChecker.d.ts +21 -0
  311. package/build/plugins/resource/spfx/depsChecker/yoChecker.d.ts.map +1 -0
  312. package/build/plugins/resource/spfx/depsChecker/yoChecker.js +128 -0
  313. package/build/plugins/resource/spfx/depsChecker/yoChecker.js.map +1 -0
  314. package/build/plugins/resource/spfx/error.d.ts +4 -0
  315. package/build/plugins/resource/spfx/error.d.ts.map +1 -1
  316. package/build/plugins/resource/spfx/error.js +17 -1
  317. package/build/plugins/resource/spfx/error.js.map +1 -1
  318. package/build/plugins/resource/spfx/index.d.ts.map +1 -1
  319. package/build/plugins/resource/spfx/index.js +5 -2
  320. package/build/plugins/resource/spfx/index.js.map +1 -1
  321. package/build/plugins/resource/spfx/plugin.d.ts.map +1 -1
  322. package/build/plugins/resource/spfx/plugin.js +62 -13
  323. package/build/plugins/resource/spfx/plugin.js.map +1 -1
  324. package/build/plugins/resource/spfx/utils/constants.d.ts +5 -2
  325. package/build/plugins/resource/spfx/utils/constants.d.ts.map +1 -1
  326. package/build/plugins/resource/spfx/utils/constants.js +5 -2
  327. package/build/plugins/resource/spfx/utils/constants.js.map +1 -1
  328. package/build/plugins/resource/spfx/utils/questions.js +1 -1
  329. package/build/plugins/resource/spfx/utils/questions.js.map +1 -1
  330. package/build/plugins/resource/spfx/utils/telemetry-helper.d.ts.map +1 -1
  331. package/build/plugins/resource/spfx/utils/telemetry-helper.js +1 -0
  332. package/build/plugins/resource/spfx/utils/telemetry-helper.js.map +1 -1
  333. package/build/plugins/resource/spfx/utils/telemetryEvents.d.ts +11 -0
  334. package/build/plugins/resource/spfx/utils/telemetryEvents.d.ts.map +1 -0
  335. package/build/plugins/resource/spfx/utils/telemetryEvents.js +18 -0
  336. package/build/plugins/resource/spfx/utils/telemetryEvents.js.map +1 -0
  337. package/build/plugins/resource/spfx/utils/utils.d.ts +1 -0
  338. package/build/plugins/resource/spfx/utils/utils.d.ts.map +1 -1
  339. package/build/plugins/resource/spfx/utils/utils.js +16 -0
  340. package/build/plugins/resource/spfx/utils/utils.js.map +1 -1
  341. package/build/plugins/solution/fx-solution/ResourcePluginContainer.d.ts +1 -0
  342. package/build/plugins/solution/fx-solution/ResourcePluginContainer.d.ts.map +1 -1
  343. package/build/plugins/solution/fx-solution/ResourcePluginContainer.js +1 -0
  344. package/build/plugins/solution/fx-solution/ResourcePluginContainer.js.map +1 -1
  345. package/build/plugins/solution/fx-solution/constants.d.ts +24 -3
  346. package/build/plugins/solution/fx-solution/constants.d.ts.map +1 -1
  347. package/build/plugins/solution/fx-solution/constants.js +26 -1
  348. package/build/plugins/solution/fx-solution/constants.js.map +1 -1
  349. package/build/plugins/solution/fx-solution/debug/constants.d.ts +15 -0
  350. package/build/plugins/solution/fx-solution/debug/constants.d.ts.map +1 -1
  351. package/build/plugins/solution/fx-solution/debug/constants.js +18 -1
  352. package/build/plugins/solution/fx-solution/debug/constants.js.map +1 -1
  353. package/build/plugins/solution/fx-solution/debug/provisionLocal.d.ts +2 -3
  354. package/build/plugins/solution/fx-solution/debug/provisionLocal.d.ts.map +1 -1
  355. package/build/plugins/solution/fx-solution/debug/provisionLocal.js +40 -12
  356. package/build/plugins/solution/fx-solution/debug/provisionLocal.js.map +1 -1
  357. package/build/plugins/solution/fx-solution/debug/scaffolding.d.ts.map +1 -1
  358. package/build/plugins/solution/fx-solution/debug/scaffolding.js +17 -10
  359. package/build/plugins/solution/fx-solution/debug/scaffolding.js.map +1 -1
  360. package/build/plugins/solution/fx-solution/debug/util/launch.d.ts.map +1 -1
  361. package/build/plugins/solution/fx-solution/debug/util/launch.js +19 -6
  362. package/build/plugins/solution/fx-solution/debug/util/launch.js.map +1 -1
  363. package/build/plugins/solution/fx-solution/debug/util/launchNext.d.ts +2 -0
  364. package/build/plugins/solution/fx-solution/debug/util/launchNext.d.ts.map +1 -1
  365. package/build/plugins/solution/fx-solution/debug/util/launchNext.js +179 -10
  366. package/build/plugins/solution/fx-solution/debug/util/launchNext.js.map +1 -1
  367. package/build/plugins/solution/fx-solution/debug/util/settings.d.ts +1 -1
  368. package/build/plugins/solution/fx-solution/debug/util/settings.d.ts.map +1 -1
  369. package/build/plugins/solution/fx-solution/debug/util/settings.js +2 -2
  370. package/build/plugins/solution/fx-solution/debug/util/settings.js.map +1 -1
  371. package/build/plugins/solution/fx-solution/debug/util/tasksNext.d.ts +1 -0
  372. package/build/plugins/solution/fx-solution/debug/util/tasksNext.d.ts.map +1 -1
  373. package/build/plugins/solution/fx-solution/debug/util/tasksNext.js +74 -1
  374. package/build/plugins/solution/fx-solution/debug/util/tasksNext.js.map +1 -1
  375. package/build/plugins/solution/fx-solution/question.d.ts +6 -2
  376. package/build/plugins/solution/fx-solution/question.d.ts.map +1 -1
  377. package/build/plugins/solution/fx-solution/question.js +33 -4
  378. package/build/plugins/solution/fx-solution/question.js.map +1 -1
  379. package/build/plugins/solution/fx-solution/v2/executeUserTask.d.ts +5 -1
  380. package/build/plugins/solution/fx-solution/v2/executeUserTask.d.ts.map +1 -1
  381. package/build/plugins/solution/fx-solution/v2/executeUserTask.js +409 -135
  382. package/build/plugins/solution/fx-solution/v2/executeUserTask.js.map +1 -1
  383. package/build/plugins/solution/fx-solution/v2/executor.d.ts +1 -1
  384. package/build/plugins/solution/fx-solution/v2/executor.d.ts.map +1 -1
  385. package/build/plugins/solution/fx-solution/v2/executor.js +33 -13
  386. package/build/plugins/solution/fx-solution/v2/executor.js.map +1 -1
  387. package/build/plugins/solution/fx-solution/v2/getQuestions.d.ts +1 -1
  388. package/build/plugins/solution/fx-solution/v2/getQuestions.d.ts.map +1 -1
  389. package/build/plugins/solution/fx-solution/v2/getQuestions.js +102 -37
  390. package/build/plugins/solution/fx-solution/v2/getQuestions.js.map +1 -1
  391. package/build/plugins/solution/fx-solution/v2/provisionLocal.d.ts +1 -2
  392. package/build/plugins/solution/fx-solution/v2/provisionLocal.d.ts.map +1 -1
  393. package/build/plugins/solution/fx-solution/v2/provisionLocal.js.map +1 -1
  394. package/build/plugins/solution/fx-solution/v2/scaffolding.d.ts +1 -1
  395. package/build/plugins/solution/fx-solution/v2/scaffolding.d.ts.map +1 -1
  396. package/build/plugins/solution/fx-solution/v2/scaffolding.js +25 -13
  397. package/build/plugins/solution/fx-solution/v2/scaffolding.js.map +1 -1
  398. package/build/plugins/solution/fx-solution/v2/utils.d.ts +1 -2
  399. package/build/plugins/solution/fx-solution/v2/utils.d.ts.map +1 -1
  400. package/build/plugins/solution/fx-solution/v2/utils.js +28 -8
  401. package/build/plugins/solution/fx-solution/v2/utils.js.map +1 -1
  402. package/build/plugins/solution/fx-solution/v3/provision.js +1 -1
  403. package/build/plugins/solution/fx-solution/v3/provision.js.map +1 -1
  404. package/build/plugins/solution/fx-solution/v3/userTask.js +1 -1
  405. package/build/plugins/solution/fx-solution/v3/userTask.js.map +1 -1
  406. package/package.json +4 -3
  407. package/resource/package.nls.json +133 -18
  408. package/templates/core/README-auto-generated.md +31 -0
  409. package/templates/{plugins/resource/dotnet → fallback}/blazor-base.csharp.default.zip +0 -0
  410. package/templates/{plugins/resource/bot → fallback}/bot.csharp.default.zip +0 -0
  411. package/templates/{plugins/resource/bot → fallback}/bot.js.default.zip +0 -0
  412. package/templates/fallback/bot.ts.command-and-response.zip +0 -0
  413. package/templates/{plugins/resource/bot → fallback}/bot.ts.default.zip +0 -0
  414. package/templates/fallback/bot.ts.notification-function-base.zip +0 -0
  415. package/templates/fallback/bot.ts.notification-restify.zip +0 -0
  416. package/templates/fallback/bot.ts.notification-trigger-http.zip +0 -0
  417. package/templates/fallback/bot.ts.notification-trigger-timer.zip +0 -0
  418. package/templates/fallback/bot.ts.notification.zip +0 -0
  419. package/templates/{plugins/resource/function → fallback}/function-base.js.default.zip +0 -0
  420. package/templates/{plugins/resource/function → fallback}/function-base.ts.default.zip +0 -0
  421. package/templates/{plugins/resource/function → fallback}/function-triggers.js.HTTPTrigger.zip +0 -0
  422. package/templates/{plugins/resource/function → fallback}/function-triggers.ts.HTTPTrigger.zip +0 -0
  423. package/templates/{plugins/resource/frontend → fallback}/tab.csharp.default.zip +0 -0
  424. package/templates/fallback/tab.js.default.zip +0 -0
  425. package/templates/{plugins/resource/frontend/tab.js.default.zip → fallback/tab.js.m365.zip} +0 -0
  426. package/templates/fallback/tab.js.non-sso.zip +0 -0
  427. package/templates/fallback/tab.ts.default.zip +0 -0
  428. package/templates/{plugins/resource/frontend/tab.ts.default.zip → fallback/tab.ts.m365.zip} +0 -0
  429. package/templates/fallback/tab.ts.non-sso.zip +0 -0
  430. package/templates/plugins/resource/aad/auth/bot/README.md +63 -0
  431. package/templates/plugins/resource/aad/auth/bot/js/public/auth-end.html +65 -0
  432. package/templates/plugins/resource/aad/auth/bot/js/public/auth-start.html +177 -0
  433. package/templates/plugins/resource/aad/auth/bot/js/sso/showUserInfo.js +19 -0
  434. package/templates/plugins/resource/aad/auth/bot/js/sso/ssoDialog.js +173 -0
  435. package/templates/plugins/resource/aad/auth/bot/js/sso/teamsSsoBot.js +55 -0
  436. package/templates/plugins/resource/aad/auth/bot/ts/public/auth-end.html +65 -0
  437. package/templates/plugins/resource/aad/auth/bot/ts/public/auth-start.html +177 -0
  438. package/templates/plugins/resource/aad/auth/bot/ts/sso/showUserInfo.ts +24 -0
  439. package/templates/plugins/resource/aad/auth/bot/ts/sso/ssoDialog.ts +182 -0
  440. package/templates/plugins/resource/aad/auth/bot/ts/sso/teamsSsoBot.ts +69 -0
  441. package/templates/plugins/resource/aad/manifest/aad.template.json +7 -14
  442. package/templates/plugins/resource/apiconnector/sample/js/api-connector.template +30 -0
  443. package/templates/plugins/resource/apiconnector/sample/ts/api-connector.template +30 -0
  444. package/templates/plugins/resource/bot/bicep/botProvision.template.bicep +6 -0
  445. package/templates/plugins/resource/bot/bicep/funcHostedBotProvision.template.bicep +127 -0
  446. package/templates/plugins/resource/function/bicep/functionProvision.template.bicep +2 -0
  447. package/templates/plugins/resource/simpleauth/bicep/simpleAuthProvision.template.bicep +4 -0
  448. package/templates/plugins/resource/spfx/solution/README.md +2 -2
  449. package/templates/plugins/resource/sql/bicep/sqlProvision.template.bicep +1 -0
  450. package/templates/plugins/resource/webapp/bicep/webappProvision.template.bicep +2 -0
@@ -40,6 +40,9 @@
40
40
  "core.migrationToArmAndMultiEnv.SuccessMessage": "Upgrade succeeded. Your project is upgraded to new configuration files.",
41
41
  "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.",
42
42
  "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.",
43
+ "core.consolidateLocalRemote.Message": "Teams Toolkit will upgrade your project's local config and manifest template 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 <= ????",
44
+ "core.consolidateLocalRemote.SuccessMessage": "Upgrade succeeded. Your project is upgraded to new configuration files.",
45
+ "core.consolidateLocalRemote.outputMsg": "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.",
43
46
  "core.deployArmTemplates.StartNotice": "[%s] Start deploying ARM templates.",
44
47
  "core.deployArmTemplates.CompileBicepSuccessNotice": "[%s] Successfully compile bicep files to JSON.",
45
48
  "core.deployArmTemplates.SuccessNotice": "[%s] Successfully deploy ARM templates. Resource group name: %s. Deployment name: %s",
@@ -111,6 +114,14 @@
111
114
  "plugins.spfx.deploy.createAppcatalog": "Create Sharepoint app catalog",
112
115
  "plugins.spfx.deploy.uploadAddDeploy": "Upload and deploy SPFx package to your tenant app catalog",
113
116
  "plugins.spfx.scaffold.title": "Scaffolding project",
117
+ "plugins.spfx.error.npmNotFound": "Npm not found on your machine!",
118
+ "plugins.spfx.error.npmInstallFailed": "Failed to run 'npm install' due to %s",
119
+ "plugins.spfx.error.invalidDependency": "Failed to validate package %s",
120
+ "plugins.spfx.error.installDependency": "Failed to install package %s. Learn how to remediate in the [output](command:fx-extension.showOutputChannel).",
121
+ "plugins.spfx.scaffold.dependencyCheck": "Checking dependencies...",
122
+ "plugins.spfx.scaffold.dependencyInstall": "Installing dependencies ([details](command:fx-extension.showOutputChannel)). This may take more than 5 minutes to finish.",
123
+ "plugins.spfx.scaffold.scaffoldProject": "Generate SPFx project using Yeoman CLI",
124
+ "plugins.spfx.scaffold.updateManifest": "Update webpart manifest",
114
125
  "plugins.spfx.GetTenantFailedError": "Cannot get tenant %s %s",
115
126
  "plugins.spfx.SPFxAlreadyExistError": "Add capability/resource is not supported for SPFx projects",
116
127
  "plugins.spfx.LoadManifestError": "Failed to load manifest!",
@@ -132,6 +143,7 @@
132
143
  "plugins.frontend.checkSystemTimeTip": "You may get expired credentials, check if your system time is correct.",
133
144
  "plugins.frontend.restoreEnvironmentTip": "If you manually updated configuration files (under directory .%s), recover them.",
134
145
  "plugins.baseErrorMessage": "%s Suggestions: %s",
146
+ "suggestions.retryTheCurrentStep": "Please retry the current step.",
135
147
  "plugins.appstudio.publishTip": "Teams: Publish to Teams",
136
148
  "plugins.appstudio.validationFailedNotice": "Manifest Validation failed!",
137
149
  "plugins.appstudio.validationSucceedNotice": "Manifest Validation succeed!",
@@ -147,6 +159,9 @@
147
159
  "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?",
148
160
  "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?",
149
161
  "plugins.appstudio.provisionTip": "You must run 'Provision in the cloud' first to fill out certain fields in manifest. Click Get Help to learn more about why you need to provision.",
162
+ "plugins.appstudio.provisionTitle": "Provision Teams app",
163
+ "plugins.appstudio.provisionProgress": "Registering Teams app %s...",
164
+ "plugins.appstudio.postProvisionProgress": "Updating Teams app %s...",
150
165
  "plugins.appstudio.publishProgressValidate": "Validating manifest file",
151
166
  "plugins.appstudio.publishProgressUpdate": "Updating app definition for app %s in app studio",
152
167
  "plugins.appstudio.publishProgressBuild": "Building Teams app package in %s.",
@@ -160,18 +175,18 @@
160
175
  "plugins.bot.questionHostTypeTrigger.placeholder": "Choose triggers",
161
176
  "plugins.bot.questionHostTypeTrigger.error.emptySelection": "You have to select at least one trigger.",
162
177
  "plugins.bot.questionHostTypeTrigger.error.hostTypeConflict": "Azure Functions and Azure App Service host types are in conflict.",
163
- "plugins.bot.triggers.functionsTimer.label": "Timer Trigger",
164
- "plugins.bot.triggers.functionsTimer.cliName": "timer",
165
- "plugins.bot.triggers.functionsTimer.description": "A function that will be run on a specific schedule.",
166
- "plugins.bot.triggers.functionsTimer.detail": "A function hosted on Azure Functions that will be run on a specific schedule.",
167
- "plugins.bot.triggers.functionsHttp.label": "HTTP Trigger",
168
- "plugins.bot.triggers.functionsHttp.cliName": "http",
169
- "plugins.bot.triggers.functionsHttp.description": "A function that will be run whenever it receives an HTTP request.",
170
- "plugins.bot.triggers.functionsHttp.detail": "A function hosted on Azure Functions that will be run whenever it receives an HTTP request.",
171
- "plugins.bot.triggers.appService.label": "HTTP Trigger (Restify)",
172
- "plugins.bot.triggers.appService.cliName": "http-restify",
173
- "plugins.bot.triggers.appService.description": "A restify server that will be run whenever it receives an HTTP request.",
174
- "plugins.bot.triggers.appService.detail": "A restify server hosted on Azure App Service that will be run whenever it receives an HTTP request.",
178
+ "plugins.bot.triggers.http-functions.cliName": "http-functions",
179
+ "plugins.bot.triggers.http-functions.description": "A function that will be run whenever it receives an HTTP request.",
180
+ "plugins.bot.triggers.http-functions.detail": "A function hosted on Azure Functions that will be run whenever it receives an HTTP request.",
181
+ "plugins.bot.triggers.http-functions.label": "HTTP Trigger (Azure Functions)",
182
+ "plugins.bot.triggers.http-restify.cliName": "http-restify",
183
+ "plugins.bot.triggers.http-restify.description": "A restify server that will be run whenever it receives an HTTP request.",
184
+ "plugins.bot.triggers.http-restify.detail": "A restify server hosted on Azure App Service that will be run whenever it receives an HTTP request.",
185
+ "plugins.bot.triggers.http-restify.label": "HTTP Trigger (Restify)",
186
+ "plugins.bot.triggers.timer-functions.cliName": "timer-functions",
187
+ "plugins.bot.triggers.timer-functions.description": "A function that will be run on a specific schedule.",
188
+ "plugins.bot.triggers.timer-functions.detail": "A function hosted on Azure Functions that will be run on a specific schedule.",
189
+ "plugins.bot.triggers.timer-functions.label": "Timer Trigger (Azure Functions)",
175
190
  "plugins.function.recoverTeamsFxConfigFilesTip": "If you manually updated configuration files (under directory .%s), recover them.",
176
191
  "plugins.function.recreateProject": "If you can not recover configuration files, create a new project.",
177
192
  "plugins.function.checkNetwork": "Check your network connection.",
@@ -227,16 +242,55 @@
227
242
  "plugins.sql.errorMessage.ServicePrincipalWarning": "service principal admin in azure sql can't add database user <%s>. You can add the user for %s manually",
228
243
  "plugins.sql.errorMessage.DomainError": "Conditional Access policy requires a compliant device, and the device is not compliant. %s",
229
244
  "plugins.sql.errorMessage.GuestAdminError": "SQL admin does not have enough permission to add database user. %s",
245
+ "plugins.cicd.ciOption.detail": "Help checkout code, build and run test.",
246
+ "plugins.cicd.cdOption.detail": "Help checkout code, build, test and deploy to cloud.",
247
+ "plugins.cicd.provisionOption.detail": "Help create/update resources in cloud and Teams app registration.",
248
+ "plugins.cicd.publishOption.detail": "Help publish Teams app to tenants.",
249
+ "plugins.cicd.whichProvider.title": "Select a CI/CD Provider",
250
+ "plugins.cicd.whichTemplate.title": "Select template(s)",
251
+ "plugins.cicd.whichEnvironment.title": "Select an environment",
252
+ "plugins.cicd.ProgressBar.scaffold.title": "Scaffolding workflow automation files",
253
+ "plugins.cicd.ProgressBar.scaffold.detail": "Scaffolding workflow file for %s.",
254
+ "plugins.cicd.result.scaffold.created": "Workflow automation - including %s using %s for %s environment - has been successfully added to your project. Follow the instructions in README file to configure your workflow(s).",
255
+ "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.",
256
+ "plugins.cicd.suggestions.checkPermission": "Please check if you got sufficient permission.",
257
+ "plugins.cicd.suggestions.createProjectOrOpenExisting": "You can create a new project or open an existing one.",
258
+ "error.cicd.FailedToListMultiEnv": "Failed to list multi env.",
259
+ "error.cicd.PreconditionNotMet": "Some preconditions of inputs are not met.",
260
+ "error.cicd.NoProjectOpened.details": "No project opened.",
261
+ "plugins.apiConnector.getQuestionApiName.title": "Please input the API name",
262
+ "plugins.apiConnector.getQuestionEndpoint.title": "Please input the API endpoint",
263
+ "plugins.apiConnector.getQuestionApiType.title": "Please select the authentication type to connect API",
264
+ "plugins.apiConnector.getQuestionApiUserName.title": "Please input the user name:",
265
+ "plugins.apiConnector.whichService.title": "Please select which component to connect existing API",
266
+ "plugins.apiConnector.botOption.title": "Select the bot component to connect the existing API",
267
+ "plugins.apiConnector.functionOption.title": "Select the function component to connect the existing API",
268
+ "plugins.apiConnector.BasicAuthOption.detail": "Take username and password to authentication",
269
+ "plugins.apiConnector.CertAuthOption.detail": "Take Certification as the way to authentication",
270
+ "plugins.apiConnector.AADAuthOption.detail": "Take Azure active directory as the way to authentication",
271
+ "plugins.apiConnector.APIKeyOption.detail": "Take API Key as the way to authentication",
272
+ "plugins.apiConnector.ImplementMyselfOption.detail": "Define the authentication by yourself",
273
+ "plugins.apiConnector.errorMessage.ApiConnectorInputError": "Api connector input empty",
274
+ "plugins.apiConnector.errorMessage.ApiConnectorPathNotExistError": "Path %s not exists. Select a valid folder.",
275
+ "plugins.apiConnector.errorMessage.ApiConnectorCreateFileFail": "Failed to create %s",
276
+ "plugins.apiConnector.errorMessage.NoActivePluginsExistError": "Please create active resource first.",
277
+ "plugins.apiConnector.errorMessage.NoBotOrFunctionExistError": "Please create bot or function resource first.",
278
+ "plugins.apiConnector.errorMessage.InvalidProjectError": "Please select a valid TeamsFx project",
279
+ "plugins.apiConnector.errorMessage.ApiConnectorFunctionRouteError": "Failed to route function call: %s",
280
+ "plugins.apiConnector.questionComponentSelect.emptySelection": "You have to select at least one component.",
230
281
  "error.ProjectFolderExistError": "Path %s already exists. Select a different folder.",
231
282
  "error.PathNotExistError": "Path does not exist: %s",
232
283
  "error.ProjectFolderInvalidError": "Path %s is invalid, please set valid root folder in user settings(Use absolute directory or relative directory start with \\${homeDir} ).",
233
284
  "error.NoProjectOpenedError": "No project opened, you can create a new project or open an existing one.",
285
+ "error.InitializedFileExistError": "Initialized file(s) %s already exist, please clean up and try again.",
234
286
  "error.InvalidProjectError": "The command only works for project created by Teams Toolkit. %s",
235
287
  "error.InvalidProjectSettingsFileError": "The projectSettings.json file is invalid: %s.",
236
288
  "error.FetchSampleError": "Failed to get data from remote repository for %s.",
237
289
  "error.ProjectEnvNotExistError": "Environment %s not found. Make sure the config.%s.json file exist.",
238
290
  "error.InvalidEnvNameError": "Environment name can only contain letters, digits, _ and -.",
239
291
  "error.UpgradeCanceledError": "If you don't want to upgrade your project, please install another version of Teams Toolkit (version <= 2.10.0).",
292
+ "error.ConsolidateCanceledError": "If you don't want to upgrade your project, please install another version of Teams Toolkit (version <= ????).",
293
+ "error.OperationNotSupportedForExistingAppError": "Operation is not supported for existing app: %s.",
240
294
  "error.OperationNotPermittedError": "Operation is not permitted: %s",
241
295
  "error.InvalidInputError": "Failed to update context: %s",
242
296
  "error.ContextUpgradeError": "Invalid inputs: %s",
@@ -352,6 +406,7 @@
352
406
  "error.dotnet.FetchConfigError": "Failed to find %s from configuration",
353
407
  "error.dotnet.NoProjectSettingError": "Failed to load project setting",
354
408
  "error.dotnet.UnhandledError": "Unhandled error.",
409
+ "error.apiConnector.SampleCodeCreateFailError": "Failed to generate sample code file %s. Reason: %s",
355
410
  "core.QuestionAppName.validation.pattern": "Application name must start with a letter and can only contain letters and digits.",
356
411
  "core.QuestionAppName.validation.pathExist": "Path exists: %s. Select a different application name.",
357
412
  "core.ProgrammingLanguageQuestion.title": "Programming Language",
@@ -365,15 +420,25 @@
365
420
  "core.MessageExtensionOption.detail": "Inserting app content or acting on a message without leaving the conversation",
366
421
  "core.NotificationOption.description": "Notification",
367
422
  "core.NotificationOption.detail": "Sending a message in response to stimulus not originating from the user",
368
- "core.TabSPFxOption.description": "UI-base app with SPFx framework",
369
- "core.TabSPFxOption.detail": "Teams-aware webpages with SPFx framework embedded in Microsoft Teams",
423
+ "core.CommandAndResponseOption.description": "Conversational Agent",
424
+ "core.CommandAndResponseOption.detail": "Running simple and repetitive automated tasks through conversations",
425
+ "core.TabSPFxOption.description": "Client-side app with Sharepoint Framework",
426
+ "core.TabSPFxOption.detail": "Auto-hosted SPFx web part tightly integrated with Microsoft Teams",
370
427
  "core.Sso.description": "Single Sign On",
371
428
  "core.Sso.detail": "Enable Single Sign On in your Teams app",
429
+ "core.TabNonSso.description": "UI-based app without SSO",
430
+ "core.TabNonSso.detail": "Teams-aware webpages embedded in Microsoft Teams without Single Sign On",
431
+ "core.addCapabilityQuestion.notificationCommandAndResponseConflict": "Notification and Command and Response capabilities are in conflict",
372
432
  "core.createCapabilityQuestion.title": "Select capabilities",
373
433
  "core.createCapabilityQuestion.placeholder": "Select at least 1 capability",
434
+ "core.capability.validation": "Invalid capability combinations: %s, option sets: %s are mutually exclusive",
435
+ "core.capability.validation.spfx": "Add SPFx Tab is only permitted for minimal app",
374
436
  "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",
375
- "core.createCapabilityQuestion.validation2": "Bot and Notification capability are in conflict",
376
- "core.createCapabilityQuestion.validation3": "Messaging extension and Notification capability are in conflict",
437
+ "core.createCapabilityQuestion.botNotificationConflict": "Bot and Notification capabilities are in conflict",
438
+ "core.createCapabilityQuestion.botCommandAndResponseConflict": "Bot and Command and Response capabilities are in conflict",
439
+ "core.createCapabilityQuestion.notificationCommandAndResponseConflict": "Notification and Command and Response capabilities are in conflict",
440
+ "core.createCapabilityQuestion.meNotificationConflict": "Messaging Extension and Notification capabilities are in conflict",
441
+ "core.createCapabilityQuestion.meCommandAndResponseConflict": "Messaging Extension and Command and Response capabilities are in conflict",
377
442
  "core.QuestionSelectTargetEnvironment.title": "Select an environment",
378
443
  "core.getQuestionNewTargetEnvironmentName.title": "New environment name",
379
444
  "core.getQuestionNewTargetEnvironmentName.placeholder": "New environment name",
@@ -389,9 +454,13 @@
389
454
  "core.QuestionNewResourceGroupName.validation": "The name can only contain alphanumeric characters or the symbols ._-()",
390
455
  "core.QuestionNewResourceGroupLocation.title": "Location for the new resource group",
391
456
  "core.ScratchOptionYesVSC.label": "Create a new Teams app",
392
- "core.ScratchOptionYesVSC.detail": "Use the Teams Toolkit to create a new application.",
457
+ "core.ScratchOptionYesVSC.detail": "Use the Teams Toolkit to create a new Teams application.",
458
+ "core.ScratchOptionYesM365VSC.label": "Create a new Microsoft 365 app",
459
+ "core.ScratchOptionYesM365VSC.detail": "Use the Teams Toolkit to create a new Microsoft 365 application.",
393
460
  "core.ScratchOptionYes.label": "Create a new Teams app",
394
- "core.ScratchOptionYes.detail": "Use the Teams Toolkit to create a new application.",
461
+ "core.ScratchOptionYes.detail": "Use the Teams Toolkit to create a new Teams application.",
462
+ "core.ScratchOptionYesM365.label": "Create a new Microsoft 365 app",
463
+ "core.ScratchOptionYesM365.detail": "Use the Teams Toolkit to create a new Microsoft 365 application.",
395
464
  "core.ScratchOptionNoVSC.label": "Start from a sample",
396
465
  "core.ScratchOptionNoVSC.detail": "Use an existing sample as a starting point for your new application.",
397
466
  "core.ScratchOptionNo.label": "Start from a sample",
@@ -412,6 +481,19 @@
412
481
  "core.getUserEmailQuestion.title": "Add owner to Teams/AAD app for the account under the same M365 tenant (email)",
413
482
  "core.getUserEmailQuestion.validation1": "Email address cannot be null or empty",
414
483
  "core.getUserEmailQuestion.validation2": "Please change [UserName] to the real user name",
484
+ "core.M365AppTypeSelectQuestion.title": "Select an app type",
485
+ "core.M365AppTypeSelectQuestion.placeholder": "Select a type of application to jumpstart your project.",
486
+ "core.M365LaunchPageOptionItem.description": "Web pages embedded in Teams, Outlook and Office.com",
487
+ "core.M365MessagingExtensionOptionItem.description": "Custom UI when user composes messages in Teams or emails in Outlook",
488
+ "core.M365MessagingExtensionOptionItem.detail": "Insert app content in conversations or emails.",
489
+ "core.common.TeamsMobileDesktopClientName": "Teams desktop, mobile client id",
490
+ "core.common.TeamsWebClientName": "Teams web client id",
491
+ "core.common.OfficeDesktopClientName": "Office desktop client id",
492
+ "core.common.OfficeWebClientName1": "Office.com client id 1",
493
+ "core.common.OfficeWebClientName2": "Office.com client id 2",
494
+ "core.common.OutlookDesktopClientName": "Outlook desktop client id",
495
+ "core.common.OutlookWebClientName1": "Outlook web access client id 1",
496
+ "core.common.OutlookWebClientName2": "Outlook web access client id 2",
415
497
  "error.aad.GetAppError": "Failed to get AAD app with Object Id \"%s\" in tenant \"%s\". Please make sure the object id is valid, or delete 'objectId' under %s in %s and try again.",
416
498
  "error.aad.GetAppConfigError": "Failed to get %s from Azure AD app settings. Please make sure Azure AD app is correctly configured, or delete 'objectId' under %s in %s and try again.",
417
499
  "error.aad.GetSkipAppConfigError": "Failed to get all necessary info. You need to set %s, %s, %s, %s under%s in %s.",
@@ -433,6 +515,13 @@
433
515
  "error.aad.CheckPermissionError": "Failed to check permission.",
434
516
  "error.aad.GrantPermissionError": "%s: %s. Failed to grant permission.",
435
517
  "error.aad.ListCollaboratorError": "Failed to list collaborator.",
518
+ "error.aad.AadManifestLoadError": "Failed to load manifest file from %s, due to %s",
519
+ "error.aad.AadManifestMissingName": "name property is empty or invalid in AAD manifest file",
520
+ "error.aad.AadManifestMissingObjectId": "id property is missing or invalid in AAD manifest file, please re-provision and try again",
521
+ "error.aad.AadManifestMissingReplyUrlsWithType": "replyUrlsWithType property is missing or invalid in AAD manifest file, please re-provision and try again",
522
+ "error.aad.AadManifestMissingIdentifierUris": "identifierUris property is missing or invalid in AAD manifest file, please re-provision and try again",
523
+ "error.aad.UpdateAadAppError": "Failed to update application in Azure Active Directory: %s",
524
+ "error.aad.AadManifestNotFoundError": "Aad manifest file not found",
436
525
  "error.aad.GetDisplayNameError": "Failed to get display name.",
437
526
  "error.aad.GetConfigError": "Failed to get configuration value \"%s\" for %s.",
438
527
  "error.aad.FormatError": "Invalid format for %s. Value: %s.",
@@ -446,6 +535,18 @@
446
535
  "error.aad.client.AppObjectIdIsNull": "Missing Object ID.",
447
536
  "error.aad.client.EmptyResponse": "Missing response.",
448
537
  "error.aad.client.ReachRetryLimit": "Exceeded retry limit.",
538
+ "error.aad.manifest.NameIsMissing": "name is missing\n",
539
+ "error.aad.manifest.SignInAudienceIsMissing": "signInAudience is missing\n",
540
+ "error.aad.manifest.RequiredResourceAccessIsMissing": "requiredResourceAccess is missing\n",
541
+ "error.aad.manifest.Oauth2PermissionsIsMissing": "oauth2Permissions is missing\n",
542
+ "error.aad.manifest.PreAuthorizedApplicationsIsMissing": "preAuthorizedApplications is missing\n",
543
+ "error.aad.manifest.AccessTokenAcceptedVersionIs1": "accessTokenAcceptedVersion is 1\n",
544
+ "error.aad.manifest.OptionalClaimsIsMissing": "optionalClaims is missing\n",
545
+ "error.aad.manifest.OptionalClaimsMissingIdtypClaim":"optionalClaims access token doesn't contain idtyp claim\n",
546
+ "error.aad.manifest.AADManifestIssues": "AAD manifest has following issues that may potentially break the Teams App:\n",
547
+ "error.aad.manifest.UnknownResourceAppId":"Unknown resourceAppId %s",
548
+ "error.aad.manifest.UnknownResourceAccessType": "Unknown resourceAccess: %s",
549
+ "error.aad.manifest.UnknownResourceAccessId": "Unknown resourceAccess id: %s",
449
550
  "plugins.aad.NoSelection": "No Azure AD app found. Will not update permissions. You need to run provision or local debug first.",
450
551
  "plugins.aad.UserCancelled": "Selection is cancelled by user.",
451
552
  "plugins.aad.UpdatePermissionSuccessMessage": "Successfully updated permission for Azure AD app. You can go to Azure Portal to check the permission or grant admin consent.",
@@ -455,6 +556,7 @@
455
556
  "plugins.aad.UpdatePermissionHelpMessage": "update the permission under \"API permissions\"",
456
557
  "plugins.aad.UpdateAppIdUriHelpMessage": "set \"%s\" as \"Application ID URI\" under \"Expose an API\"",
457
558
  "plugins.aad.UpdateRedirectUriHelpMessage": "set \"%s\" as \"Redirect URIs\" under \"Authentication\"",
559
+ "plugins.aad.UpdateAadHelpMessage": "update Azure AD app manifest",
458
560
  "plugins.apim.QuestionConstants.VSCode.OpenApiDocument.description": "Select Open API document.",
459
561
  "plugins.apim.QuestionConstants.VSCode.ApiPrefix.description": "Input the API name prefix.",
460
562
  "plugins.apim.QuestionConstants.VSCode.ApiPrefix.prompt": "The unique name of the API will be '{api-prefix}-{resource-suffix}-{api-version}'.",
@@ -514,6 +616,18 @@
514
616
  "error.sa.VersionFileNotExist": "`Failed to load version file from %s",
515
617
  "plugins.sa.RegisterRersourceProviderFailed": "Failed to register required resource provider for Simple Auth. Reason: %s. Register required resource provider %s manually.",
516
618
  "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.",
619
+ "core.addSso.onlySupportAzure": "Add SSO is only supported for project hosted in Azure",
620
+ "core.addSso.needCapability": "Add SSO is only supported for project with Tab, Bot and/or Messaging Extension. You need to run 'add component' first",
621
+ "core.addSso.functionNotSupport": "Add SSO is not supported for Bot hosted on Azure Function",
622
+ "core.addSso.needEnableFeatureFlag": "Need to set 'TEAMSFX_AAD_MANIFEST' in env to use add SSO feature",
623
+ "core.addSso.ssoEnabled": "SSO is already enabled",
624
+ "core.addSso.invalidSsoProject": "Invalid project. You may have modified '.fx/projectSettings.json' file.",
625
+ "core.addSsoFiles.emptyProjectPath": "Project path is empty",
626
+ "core.addSsoFiles.projectPathNotExists": "Project path does not exist",
627
+ "core.addSsoFiles.canNotAddNonSsoTabWhenSsoEnabled": "Failed to add non SSO Tab. SSO is enabled in this project",
628
+ "core.addSsoFiles.canNotAddTabWhenSsoNotEnabled": "Failed to add Tab. You need to run 'add SSO' first",
629
+ "core.addSsoFiles.FailedToCreateAuthFiles": "Failed to create files for add sso. Detail error: %s.",
630
+ "core.addSsoFiles.invalidLanguage": "Invalid language. Please make sure '.fx/projectSettings.json' is not modified and try again.",
517
631
  "core.getUserEmailQuestion.validation3": "Email address is not valid",
518
632
  "plugins.bot.DetailedError": "Detailed error: %s.",
519
633
  "plugins.bot.DetailedErrorReason": "Reason: %s",
@@ -532,6 +646,7 @@
532
646
  "plugins.bot.FailedToUpdateConfigs": "Failed to update configs for %s",
533
647
  "plugins.bot.FailedListPublishingCredentials": "Failed to list publishing credentials.",
534
648
  "plugins.bot.FailedDeployZipFile": "Failed to deploy zip file.",
649
+ "plugins.bot.FailedRestartWebApp": "Failed to restart web app.",
535
650
  "plugins.bot.FailedUpdateMessageEndpoint": "Failed to update message endpoint with %s",
536
651
  "plugins.bot.DownloadFail": "Failed to download from %s",
537
652
  "plugins.bot.ClickGetHelp": "Please click 'Get Help' button for more details.",
@@ -0,0 +1,31 @@
1
+ # TeamsFx Project
2
+
3
+ ## Take a tour of your app source code
4
+
5
+ After initializing the project, you can view the project folders and files in the Explorer area of Visual Studio Code after the Teams Toolkit registers and configures your app. The following table lists all the scaffolded folder and files by Teams Toolkit:
6
+
7
+ | File name | Contents |
8
+ |- | -|
9
+ |`.fx/configs/config.local.json`| Configuration file for local environment |
10
+ |`.fx/configs/config.dev.json`| Configuration file for dev environment |
11
+ |`.fx/configs/projectSettings.json`| Global project settings, which apply to all environments |
12
+ |`templates/appPackage/manifest.template.json`|Teams app manifest template|
13
+ |`templates/appPackage/resources`|Teams app's icon referenced by manifest template|
14
+
15
+
16
+ ## Add components
17
+
18
+ Now you're able to add components with Teams Toolkit to build Teams app for below scenarios.
19
+
20
+ ### Scenario 1: Send Notification to Teams
21
+
22
+ Sending a message in response to stimulus tasks through conversations. Please refer to [our wiki](https://github.com/OfficeDev/TeamsFx/wiki/Incremental-Build#scenario-1-send-notification-to-teams) for instructions.
23
+
24
+ ### Scenario 2: Build Command And Response
25
+
26
+ Running simple and repetitive automated tasks through conversations. Please refer to [our wiki](https://github.com/OfficeDev/TeamsFx/wiki/Incremental-Build#scenario-2-build-command-and-response) for instructions.
27
+
28
+
29
+ ### Scenario 3: Embed your existing web pages in Teams
30
+
31
+ Integrate with your existing web page application to build a Teams app. Please refer to [our wiki](https://github.com/OfficeDev/TeamsFx/wiki/Incremental-Build#scenario-3-embed-your-existing-web-pages-in-teams) for instructions.
@@ -0,0 +1,63 @@
1
+ ## How to enable SSO in TeamsFx Bot projects
2
+
3
+ This doc will show you how to add Single Sign On feature to TeamsFx Bot projects. Note that this article is only for Teams Toolkit Visual Studio Code Extension version after x.x.x or TeamsFx CLI version after x.x.x.
4
+
5
+ *Note: This article is only for bot hosted on Azure App Service. Bot that hosted on Azure Function is not supported now.*
6
+
7
+ *Note: This article is only for TeamsFx projects by Javascript and Typescript. For Dotnet, please refer to ${help link}.*
8
+
9
+ ### Step 1: Enable Single Sign On with TeamsFx commands
10
+
11
+ You can follow the following steps to add SSO feature to your TeamsFx projects.
12
+ - From Visual Studio Code: open the command palette and select: `Teams: Add SSO`.
13
+ - From TeamsFx CLI: run command `teamsfx add sso` in your project directory.
14
+
15
+ What TeamsFx will do when trigger this command:
16
+
17
+ 1. Create Azure AD app template under `template\appPackage\aad.template.json`
18
+
19
+ 1. Add `webApplicationInfo` object in Teams App manifest
20
+
21
+ 1. Create `README.md` and sample code under `auth/bot/`
22
+
23
+ ### Step 2: Update your source code
24
+
25
+ There are two folders under `auth/bot`: `public` and `sso`.
26
+
27
+ 1. In `public`, there are two html files which is used for authentication. You can simply copy the folder and place it under `bot/src`. Note that you need to modify `bot/src/index` file to add routing to these pages.
28
+
29
+ 1. In `sso`, there are three files. You can simply copy the folder and place it under `bot/src`.
30
+ - `showUserInfo`: This file implement a function to get user info with SSO token. You can follow this method and create your own method that requires SSO token.
31
+ - `ssoDialog`: Create a [ComponentDialog](https://docs.microsoft.com/en-us/javascript/api/botbuilder-dialogs/componentdialog?view=botbuilder-ts-latest) that used for Single Sign On.
32
+ - `teamsSsoBot`: Create a [TeamsActivityHandler](https://docs.microsoft.com/en-us/dotnet/api/microsoft.bot.builder.teams.teamsactivityhandler?view=botbuilder-dotnet-stable) with `ssoDialog` and add `showUserInfo` as a command that can be triggered. You need to register your own command with `addCommand` in this file.
33
+
34
+ 1. After adding the following files, you need to new a `teamsSsoBot` instance in `bot/src/index` file with:
35
+
36
+ ```
37
+ const handler = new TeamsSsoBot();
38
+ server.post("/api/messages", async (req, res) => {
39
+ await adapter.processActivity(req, res, async (context) => {
40
+ await handler.run(context);
41
+ }).catch((err) => {
42
+ // Error message including "412" means it is waiting for user's consent, which is a normal process of SSO, sholdn't throw this error.
43
+ if (!err.message.includes("412")) {
44
+ throw err;
45
+ }
46
+ });
47
+ });
48
+ ```
49
+
50
+ 1. As mentioned above, you also need to add routing in `bot/src/index` file as below:
51
+
52
+ ```
53
+ server.get(
54
+ "/auth-*.html",
55
+ restify.plugins.serveStatic({
56
+ directory: path.join(__dirname, "public"),
57
+ })
58
+ );
59
+ ```
60
+
61
+ ### Step 3: Provision Azure AD app and deploy latest code
62
+
63
+ After running `add sso` command and updating source code, you need to run `Provision` + `Deploy` or `Local Debug` again to provision an Azure AD app for Single Sign On. After the above steps, Single Sign On is successfully added in your Teams App.
@@ -0,0 +1,65 @@
1
+ <html>
2
+ <head>
3
+ <title>Login End Page</title>
4
+ <meta charset="utf-8" />
5
+ </head>
6
+
7
+ <body>
8
+ <script
9
+ src="https://statics.teams.cdn.office.net/sdk/v1.6.0/js/MicrosoftTeams.min.js"
10
+ integrity="sha384-mhp2E+BLMiZLe7rDIzj19WjgXJeI32NkPvrvvZBrMi5IvWup/1NUfS5xuYN5S3VT"
11
+ crossorigin="anonymous"
12
+ ></script>
13
+ <div id="divError"></div>
14
+ <script type="text/javascript">
15
+ microsoftTeams.initialize();
16
+ let hashParams = getHashParameters();
17
+
18
+ if (hashParams["error"]) {
19
+ // Authentication failed
20
+ handleAuthError(hashParams["error"], hashParams);
21
+ } else if (hashParams["code"]) {
22
+ // Get the stored state parameter and compare with incoming state
23
+ let expectedState = localStorage.getItem("state");
24
+ if (expectedState !== hashParams["state"]) {
25
+ // State does not match, report error
26
+ handleAuthError("StateDoesNotMatch", hashParams);
27
+ } else {
28
+ microsoftTeams.authentication.notifySuccess();
29
+ }
30
+ } else {
31
+ // Unexpected condition: hash does not contain error or access_token parameter
32
+ handleAuthError("UnexpectedFailure", hashParams);
33
+ }
34
+
35
+ // Parse hash parameters into key-value pairs
36
+ function getHashParameters() {
37
+ let hashParams = {};
38
+ location.hash
39
+ .substr(1)
40
+ .split("&")
41
+ .forEach(function (item) {
42
+ let s = item.split("="),
43
+ k = s[0],
44
+ v = s[1] && decodeURIComponent(s[1]);
45
+ hashParams[k] = v;
46
+ });
47
+ return hashParams;
48
+ }
49
+
50
+ // Show error information
51
+ function handleAuthError(errorType, errorMessage) {
52
+ const err = JSON.stringify({
53
+ error: errorType,
54
+ message: JSON.stringify(errorMessage),
55
+ });
56
+ let para = document.createElement("p");
57
+ let node = document.createTextNode(err);
58
+ para.appendChild(node);
59
+
60
+ let element = document.getElementById("divError");
61
+ element.appendChild(para);
62
+ }
63
+ </script>
64
+ </body>
65
+ </html>