@microsoft/teamsfx-core 1.23.3-alpha.ea3f4aad2.0 → 2.0.0-alpha.2c2e7a109.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 (235) hide show
  1. package/build/common/constants.d.ts +0 -1
  2. package/build/common/constants.d.ts.map +1 -1
  3. package/build/common/constants.js +0 -1
  4. package/build/common/constants.js.map +1 -1
  5. package/build/common/jsonUtils.d.ts +7 -0
  6. package/build/common/jsonUtils.d.ts.map +1 -0
  7. package/build/common/jsonUtils.js +42 -0
  8. package/build/common/jsonUtils.js.map +1 -0
  9. package/build/common/m365/packageService.d.ts +4 -1
  10. package/build/common/m365/packageService.d.ts.map +1 -1
  11. package/build/common/m365/packageService.js +39 -10
  12. package/build/common/m365/packageService.js.map +1 -1
  13. package/build/common/permissionInterface.d.ts +1 -1
  14. package/build/common/permissionInterface.d.ts.map +1 -1
  15. package/build/common/samples-config-v3.json +2 -12
  16. package/build/common/tools.d.ts +0 -1
  17. package/build/common/tools.d.ts.map +1 -1
  18. package/build/common/tools.js +2 -6
  19. package/build/common/tools.js.map +1 -1
  20. package/build/component/arm.d.ts +1 -0
  21. package/build/component/arm.d.ts.map +1 -1
  22. package/build/component/arm.js +4 -2
  23. package/build/component/arm.js.map +1 -1
  24. package/build/component/code/utils.d.ts.map +1 -1
  25. package/build/component/code/utils.js +6 -4
  26. package/build/component/code/utils.js.map +1 -1
  27. package/build/component/configManager/constant.d.ts +3 -0
  28. package/build/component/configManager/constant.d.ts.map +1 -1
  29. package/build/component/configManager/constant.js +3 -0
  30. package/build/component/configManager/constant.js.map +1 -1
  31. package/build/component/configManager/error.d.ts +3 -0
  32. package/build/component/configManager/error.d.ts.map +1 -1
  33. package/build/component/configManager/error.js +3 -0
  34. package/build/component/configManager/error.js.map +1 -1
  35. package/build/component/configManager/interface.d.ts +4 -0
  36. package/build/component/configManager/interface.d.ts.map +1 -1
  37. package/build/component/configManager/interface.js +3 -0
  38. package/build/component/configManager/interface.js.map +1 -1
  39. package/build/component/configManager/lifecycle.d.ts +3 -0
  40. package/build/component/configManager/lifecycle.d.ts.map +1 -1
  41. package/build/component/configManager/lifecycle.js +6 -1
  42. package/build/component/configManager/lifecycle.js.map +1 -1
  43. package/build/component/configManager/parser.d.ts +3 -0
  44. package/build/component/configManager/parser.d.ts.map +1 -1
  45. package/build/component/configManager/parser.js +15 -0
  46. package/build/component/configManager/parser.js.map +1 -1
  47. package/build/component/constants.d.ts +9 -1
  48. package/build/component/constants.d.ts.map +1 -1
  49. package/build/component/constants.js +11 -2
  50. package/build/component/constants.js.map +1 -1
  51. package/build/component/coordinator/index.d.ts.map +1 -1
  52. package/build/component/coordinator/index.js +2 -1
  53. package/build/component/coordinator/index.js.map +1 -1
  54. package/build/component/driver/add/addWebPart.d.ts.map +1 -1
  55. package/build/component/driver/add/addWebPart.js +8 -5
  56. package/build/component/driver/add/addWebPart.js.map +1 -1
  57. package/build/component/driver/add/interface/AddWebPartArgs.d.ts +4 -0
  58. package/build/component/driver/add/interface/AddWebPartArgs.d.ts.map +1 -1
  59. package/build/component/driver/arm/deployImpl.d.ts.map +1 -1
  60. package/build/component/driver/arm/deployImpl.js +2 -1
  61. package/build/component/driver/arm/deployImpl.js.map +1 -1
  62. package/build/component/driver/botAadApp/create.d.ts.map +1 -1
  63. package/build/component/driver/botAadApp/create.js +4 -5
  64. package/build/component/driver/botAadApp/create.js.map +1 -1
  65. package/build/component/driver/deploy/azure/azureAppServiceDeployDriver.d.ts.map +1 -1
  66. package/build/component/driver/deploy/azure/azureAppServiceDeployDriver.js +2 -6
  67. package/build/component/driver/deploy/azure/azureAppServiceDeployDriver.js.map +1 -1
  68. package/build/component/driver/deploy/azure/azureFunctionDeployDriver.d.ts.map +1 -1
  69. package/build/component/driver/deploy/azure/azureFunctionDeployDriver.js +3 -7
  70. package/build/component/driver/deploy/azure/azureFunctionDeployDriver.js.map +1 -1
  71. package/build/component/driver/deploy/azure/azureStorageDeployDriver.d.ts +2 -2
  72. package/build/component/driver/deploy/azure/azureStorageDeployDriver.d.ts.map +1 -1
  73. package/build/component/driver/deploy/azure/azureStorageDeployDriver.js +4 -2
  74. package/build/component/driver/deploy/azure/azureStorageDeployDriver.js.map +1 -1
  75. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.d.ts +14 -3
  76. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.d.ts.map +1 -1
  77. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js +23 -2
  78. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js.map +1 -1
  79. package/build/component/driver/deploy/azure/impl/baseDeployImpl.d.ts +5 -10
  80. package/build/component/driver/deploy/azure/impl/baseDeployImpl.d.ts.map +1 -1
  81. package/build/component/driver/deploy/azure/impl/baseDeployImpl.js +2 -18
  82. package/build/component/driver/deploy/azure/impl/baseDeployImpl.js.map +1 -1
  83. package/build/component/driver/interface/stepDriver.d.ts +2 -1
  84. package/build/component/driver/interface/stepDriver.d.ts.map +1 -1
  85. package/build/component/driver/script/baseBuildDriver.d.ts +3 -2
  86. package/build/component/driver/script/baseBuildDriver.d.ts.map +1 -1
  87. package/build/component/driver/script/baseBuildDriver.js +14 -3
  88. package/build/component/driver/script/baseBuildDriver.js.map +1 -1
  89. package/build/component/driver/script/baseBuildStepDriver.d.ts.map +1 -1
  90. package/build/component/driver/script/baseBuildStepDriver.js +2 -6
  91. package/build/component/driver/script/baseBuildStepDriver.js.map +1 -1
  92. package/build/component/driver/teamsApp/validateAppPackage.d.ts.map +1 -1
  93. package/build/component/driver/teamsApp/validateAppPackage.js +24 -18
  94. package/build/component/driver/teamsApp/validateAppPackage.js.map +1 -1
  95. package/build/component/generator/officeAddin/generator.d.ts +3 -0
  96. package/build/component/generator/officeAddin/generator.d.ts.map +1 -1
  97. package/build/component/generator/officeAddin/generator.js +6 -1
  98. package/build/component/generator/officeAddin/generator.js.map +1 -1
  99. package/build/component/generator/officeAddin/helperMethods.d.ts +1 -0
  100. package/build/component/generator/officeAddin/helperMethods.d.ts.map +1 -1
  101. package/build/component/generator/officeAddin/helperMethods.js +41 -0
  102. package/build/component/generator/officeAddin/helperMethods.js.map +1 -1
  103. package/build/component/generator/spfxGenerator.d.ts.map +1 -1
  104. package/build/component/generator/spfxGenerator.js +2 -1
  105. package/build/component/generator/spfxGenerator.js.map +1 -1
  106. package/build/component/provisionUtils.d.ts.map +1 -1
  107. package/build/component/provisionUtils.js +12 -11
  108. package/build/component/provisionUtils.js.map +1 -1
  109. package/build/component/question.d.ts +5 -3
  110. package/build/component/question.d.ts.map +1 -1
  111. package/build/component/question.js +46 -29
  112. package/build/component/question.js.map +1 -1
  113. package/build/component/resource/botService/botRegistration/localBotRegistration.js +1 -1
  114. package/build/component/resource/botService/botRegistration/localBotRegistration.js.map +1 -1
  115. package/build/component/resource/spfx/error.d.ts.map +1 -1
  116. package/build/component/resource/spfx/error.js +3 -2
  117. package/build/component/resource/spfx/error.js.map +1 -1
  118. package/build/component/resource/spfx/utils/questions.d.ts.map +1 -1
  119. package/build/component/resource/spfx/utils/questions.js +4 -2
  120. package/build/component/resource/spfx/utils/questions.js.map +1 -1
  121. package/build/component/utils/ResourceGroupHelper.d.ts.map +1 -1
  122. package/build/component/utils/ResourceGroupHelper.js +4 -3
  123. package/build/component/utils/ResourceGroupHelper.js.map +1 -1
  124. package/build/component/utils/envUtil.d.ts +1 -0
  125. package/build/component/utils/envUtil.d.ts.map +1 -1
  126. package/build/component/utils/envUtil.js +15 -11
  127. package/build/component/utils/envUtil.js.map +1 -1
  128. package/build/core/FxCore.d.ts +4 -0
  129. package/build/core/FxCore.d.ts.map +1 -1
  130. package/build/core/FxCore.js +19 -3
  131. package/build/core/FxCore.js.map +1 -1
  132. package/build/core/FxCoreImplementV3.d.ts +3 -0
  133. package/build/core/FxCoreImplementV3.d.ts.map +1 -1
  134. package/build/core/FxCoreImplementV3.js +71 -4
  135. package/build/core/FxCoreImplementV3.js.map +1 -1
  136. package/build/core/collaborator.d.ts +9 -0
  137. package/build/core/collaborator.d.ts.map +1 -1
  138. package/build/core/collaborator.js +197 -48
  139. package/build/core/collaborator.js.map +1 -1
  140. package/build/core/middleware/projectMigratorV3.d.ts +1 -0
  141. package/build/core/middleware/projectMigratorV3.d.ts.map +1 -1
  142. package/build/core/middleware/projectMigratorV3.js +7 -5
  143. package/build/core/middleware/projectMigratorV3.js.map +1 -1
  144. package/build/core/middleware/questionModel.d.ts.map +1 -1
  145. package/build/core/middleware/questionModel.js +3 -0
  146. package/build/core/middleware/questionModel.js.map +1 -1
  147. package/build/core/middleware/utils/appYmlGenerator.d.ts +1 -0
  148. package/build/core/middleware/utils/appYmlGenerator.d.ts.map +1 -1
  149. package/build/core/middleware/utils/appYmlGenerator.js +3 -1
  150. package/build/core/middleware/utils/appYmlGenerator.js.map +1 -1
  151. package/build/core/middleware/utils/debug/appLocalYmlGenerator.d.ts +15 -14
  152. package/build/core/middleware/utils/debug/appLocalYmlGenerator.d.ts.map +1 -1
  153. package/build/core/middleware/utils/debug/appLocalYmlGenerator.js +9 -3
  154. package/build/core/middleware/utils/debug/appLocalYmlGenerator.js.map +1 -1
  155. package/build/core/middleware/utils/debug/taskMigrator.d.ts +1 -0
  156. package/build/core/middleware/utils/debug/taskMigrator.d.ts.map +1 -1
  157. package/build/core/middleware/utils/debug/taskMigrator.js +50 -53
  158. package/build/core/middleware/utils/debug/taskMigrator.js.map +1 -1
  159. package/build/core/middleware/utils/v3MigrationUtils.js +1 -1
  160. package/build/core/middleware/utils/v3MigrationUtils.js.map +1 -1
  161. package/build/core/question.d.ts +13 -2
  162. package/build/core/question.d.ts.map +1 -1
  163. package/build/core/question.js +118 -1
  164. package/build/core/question.js.map +1 -1
  165. package/build/error/azure.d.ts +33 -0
  166. package/build/error/azure.d.ts.map +1 -0
  167. package/build/error/azure.js +87 -0
  168. package/build/error/azure.js.map +1 -0
  169. package/build/error/common.d.ts +10 -1
  170. package/build/error/common.d.ts.map +1 -1
  171. package/build/error/common.js +36 -1
  172. package/build/error/common.js.map +1 -1
  173. package/package.json +7 -5
  174. package/resource/package.nls.cs.json +173 -341
  175. package/resource/package.nls.de.json +184 -352
  176. package/resource/package.nls.es.json +170 -338
  177. package/resource/package.nls.fr.json +183 -351
  178. package/resource/package.nls.it.json +193 -361
  179. package/resource/package.nls.ja.json +168 -336
  180. package/resource/package.nls.json +37 -25
  181. package/resource/package.nls.ko.json +179 -347
  182. package/resource/package.nls.pl.json +184 -352
  183. package/resource/package.nls.pt-BR.json +189 -357
  184. package/resource/package.nls.ru.json +184 -352
  185. package/resource/package.nls.tr.json +194 -362
  186. package/resource/package.nls.zh-Hans.json +174 -342
  187. package/resource/package.nls.zh-Hant.json +173 -341
  188. package/templates/core/v3Migration/csharp.app.local.yml +16 -10
  189. package/templates/core/v3Migration/csharp.app.yml +42 -47
  190. package/templates/core/v3Migration/js.ts.app.local.yml +37 -24
  191. package/templates/core/v3Migration/js.ts.app.yml +61 -43
  192. package/templates/core/v3Migration/spfx.app.yml +20 -22
  193. package/templates/core/v3Migration/upgradeReport.md +5 -3
  194. package/templates/fallback/bot.csharp.command-and-response.zip +0 -0
  195. package/templates/fallback/bot.csharp.default.zip +0 -0
  196. package/templates/fallback/bot.csharp.notification-function-base.zip +0 -0
  197. package/templates/fallback/bot.csharp.notification-trigger-http.zip +0 -0
  198. package/templates/fallback/bot.csharp.notification-trigger-timer.zip +0 -0
  199. package/templates/fallback/bot.csharp.notification-webapi.zip +0 -0
  200. package/templates/fallback/bot.csharp.workflow.zip +0 -0
  201. package/templates/fallback/bot.js.command-and-response.zip +0 -0
  202. package/templates/fallback/bot.js.default.zip +0 -0
  203. package/templates/fallback/bot.js.m365.zip +0 -0
  204. package/templates/fallback/bot.js.notification-function-base.zip +0 -0
  205. package/templates/fallback/bot.js.notification-restify.zip +0 -0
  206. package/templates/fallback/bot.js.notification-trigger-http.zip +0 -0
  207. package/templates/fallback/bot.js.notification-trigger-timer.zip +0 -0
  208. package/templates/fallback/bot.js.workflow.zip +0 -0
  209. package/templates/fallback/bot.ts.command-and-response.zip +0 -0
  210. package/templates/fallback/bot.ts.default.zip +0 -0
  211. package/templates/fallback/bot.ts.m365.zip +0 -0
  212. package/templates/fallback/bot.ts.notification-function-base.zip +0 -0
  213. package/templates/fallback/bot.ts.notification-restify.zip +0 -0
  214. package/templates/fallback/bot.ts.notification-trigger-http.zip +0 -0
  215. package/templates/fallback/bot.ts.notification-trigger-timer.zip +0 -0
  216. package/templates/fallback/bot.ts.workflow.zip +0 -0
  217. package/templates/fallback/common.zip +0 -0
  218. package/templates/fallback/csharp.zip +0 -0
  219. package/templates/fallback/function-base.js.default.zip +0 -0
  220. package/templates/fallback/function-base.ts.default.zip +0 -0
  221. package/templates/fallback/function-triggers.js.HTTPTrigger.zip +0 -0
  222. package/templates/fallback/function-triggers.ts.HTTPTrigger.zip +0 -0
  223. package/templates/fallback/js.zip +0 -0
  224. package/templates/fallback/tab.csharp.default.zip +0 -0
  225. package/templates/fallback/tab.csharp.non-sso.zip +0 -0
  226. package/templates/fallback/tab.js.dashboard.zip +0 -0
  227. package/templates/fallback/tab.js.default.zip +0 -0
  228. package/templates/fallback/tab.js.m365.zip +0 -0
  229. package/templates/fallback/tab.js.non-sso.zip +0 -0
  230. package/templates/fallback/tab.ts.dashboard.zip +0 -0
  231. package/templates/fallback/tab.ts.default.zip +0 -0
  232. package/templates/fallback/tab.ts.m365.zip +0 -0
  233. package/templates/fallback/tab.ts.non-sso.zip +0 -0
  234. package/templates/fallback/ts.zip +0 -0
  235. package/templates/plugins/resource/aad/auth/bot/README.txt +1 -1
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) Microsoft Corporation.
3
3
  // Licensed under the MIT license.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.getQuestionsForGrantPermission = exports.grantPermission = exports.checkPermission = exports.listCollaborator = exports.CollaborationUtil = exports.CollaborationConstants = void 0;
5
+ exports.validateEnvQuestion = exports.getQuestionsForListCollaborator = exports.getQuestionsForGrantPermission = exports.grantPermission = exports.checkPermission = exports.listCollaborator = exports.CollaborationUtil = exports.CollaborationConstants = void 0;
6
6
  const tslib_1 = require("tslib");
7
7
  const teamsfx_api_1 = require("@microsoft/teamsfx-api");
8
8
  const typedi_1 = require("typedi");
@@ -19,6 +19,10 @@ const projectSettingsHelperV3_1 = require("../common/projectSettingsHelperV3");
19
19
  const axios_1 = tslib_1.__importDefault(require("axios"));
20
20
  const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
21
21
  const dotenv = tslib_1.__importStar(require("dotenv"));
22
+ const uuid_1 = require("uuid");
23
+ const question_2 = require("./question");
24
+ const envUtil_1 = require("../component/utils/envUtil");
25
+ const common_1 = require("../error/common");
22
26
  class CollaborationConstants {
23
27
  }
24
28
  exports.CollaborationConstants = CollaborationConstants;
@@ -30,6 +34,11 @@ CollaborationConstants.DotEnvFilePath = "dotEnvFilePath";
30
34
  CollaborationConstants.AadObjectIdEnv = "AAD_APP_OBJECT_ID";
31
35
  CollaborationConstants.TeamsAppIdEnv = "TEAMS_APP_ID";
32
36
  CollaborationConstants.TeamsAppTenantIdEnv = "TEAMS_APP_TENANT_ID";
37
+ // App Type Question
38
+ CollaborationConstants.AppType = "collaborationType";
39
+ CollaborationConstants.TeamsAppQuestionId = "teamsApp";
40
+ CollaborationConstants.AadAppQuestionId = "aadApp";
41
+ CollaborationConstants.placeholderRegex = /\$\{\{ *[a-zA-Z0-9_.-]* *\}\}/g;
33
42
  class CollaborationUtil {
34
43
  static async getCurrentUserInfo(m365TokenProvider) {
35
44
  const user = await CollaborationUtil.getUserInfo(m365TokenProvider);
@@ -99,7 +108,7 @@ class CollaborationUtil {
99
108
  }
100
109
  // Priority parameter > dotenv > env
101
110
  static async getTeamsAppIdAndAadObjectId(inputs) {
102
- var _a, _b, _c, _d, _e, _f;
111
+ var _a, _b, _c, _d;
103
112
  let teamsAppId, aadObjectId;
104
113
  // load from parameter and dotenv only wroks for cli
105
114
  if ((inputs === null || inputs === void 0 ? void 0 : inputs.platform) == teamsfx_api_1.Platform.CLI) {
@@ -132,21 +141,74 @@ class CollaborationUtil {
132
141
  }
133
142
  }
134
143
  // 3. load from env
135
- // TODO: load env from context
136
- teamsAppId = (_e = teamsAppId !== null && teamsAppId !== void 0 ? teamsAppId : process.env[CollaborationConstants.TeamsAppIdEnv]) !== null && _e !== void 0 ? _e : undefined;
137
- aadObjectId = (_f = aadObjectId !== null && aadObjectId !== void 0 ? aadObjectId : process.env[CollaborationConstants.AadObjectIdEnv]) !== null && _f !== void 0 ? _f : undefined;
138
- if (!teamsAppId) {
139
- return teamsfx_api_1.err(new teamsfx_api_1.UserError(constants_1.SolutionSource, constants_1.SolutionError.FailedToGetTeamsAppId, localizeUtils_1.getLocalizedString("core.collaboration.error.failedToGetTeamsAppId", CollaborationConstants.TeamsAppIdEnv)));
144
+ const teamsAppManifestFilePath = inputs === null || inputs === void 0 ? void 0 : inputs[question_2.CoreQuestionNames.TeamsAppManifestFilePath];
145
+ const aadAppManifestFilePath = inputs === null || inputs === void 0 ? void 0 : inputs[question_2.CoreQuestionNames.AadAppManifestFilePath];
146
+ if (teamsAppManifestFilePath && !teamsAppId) {
147
+ const teamsAppIdRes = await this.loadManifestId(teamsAppManifestFilePath);
148
+ if (teamsAppIdRes.isOk()) {
149
+ teamsAppId = await this.parseManifestId(teamsAppIdRes.value, inputs);
150
+ }
151
+ else {
152
+ return teamsfx_api_1.err(teamsAppIdRes.error);
153
+ }
154
+ }
155
+ if (aadAppManifestFilePath && !aadObjectId) {
156
+ const aadObjectIdRes = await this.loadManifestId(aadAppManifestFilePath);
157
+ if (aadObjectIdRes.isOk()) {
158
+ aadObjectId = await this.parseManifestId(aadObjectIdRes.value, inputs);
159
+ }
160
+ else {
161
+ return teamsfx_api_1.err(aadObjectIdRes.error);
162
+ }
140
163
  }
141
164
  return teamsfx_api_1.ok({
142
165
  teamsAppId: teamsAppId,
143
166
  aadObjectId: aadObjectId,
144
167
  });
145
168
  }
169
+ static async loadManifestId(manifestFilePath) {
170
+ try {
171
+ if (!manifestFilePath || !(await fs_extra_1.default.pathExists(manifestFilePath))) {
172
+ return teamsfx_api_1.err(new common_1.FileNotFoundError(constants_1.SolutionSource, manifestFilePath));
173
+ }
174
+ const manifest = await fs_extra_1.default.readJson(manifestFilePath);
175
+ if (!manifest || !manifest.id) {
176
+ return teamsfx_api_1.err(new teamsfx_api_1.UserError(constants_1.SolutionSource, constants_1.SolutionError.InvalidManifestError, localizeUtils_1.getLocalizedString("error.collaboration.InvalidManifestError", manifestFilePath)));
177
+ }
178
+ const id = manifest.id;
179
+ return teamsfx_api_1.ok(id);
180
+ }
181
+ catch (error) {
182
+ return teamsfx_api_1.err(new teamsfx_api_1.UserError(constants_1.SolutionSource, constants_1.SolutionError.FailedToLoadManifestFile, localizeUtils_1.getLocalizedString("error.collaboration.FailedToLoadManifest", manifestFilePath)));
183
+ }
184
+ }
185
+ static requireEnvQuestion(appId) {
186
+ return !!appId.match(CollaborationConstants.placeholderRegex);
187
+ }
188
+ static async parseManifestId(appId, inputs) {
189
+ var _a, _b;
190
+ // Hardcoded id in manifest
191
+ if (uuid_1.validate(appId)) {
192
+ return appId;
193
+ }
194
+ else if (appId.match(CollaborationConstants.placeholderRegex)) {
195
+ // Reference value in .env file
196
+ const envName = appId
197
+ .replace(/\$*\{+/g, "")
198
+ .replace(/\}+/g, "")
199
+ .trim();
200
+ const targetEnv = (_a = inputs.env) !== null && _a !== void 0 ? _a : inputs === null || inputs === void 0 ? void 0 : inputs[question_2.CoreQuestionNames.TargetEnvName];
201
+ const res = await envUtil_1.envUtil.readEnv(inputs.projectPath, targetEnv);
202
+ if (res.isOk() && res.value) {
203
+ return (_b = res.value[envName]) !== null && _b !== void 0 ? _b : undefined;
204
+ }
205
+ }
206
+ return undefined;
207
+ }
146
208
  }
147
209
  exports.CollaborationUtil = CollaborationUtil;
148
210
  async function listCollaborator(ctx, inputs, envInfo, tokenProvider, telemetryProps) {
149
- var _a, _b, _c, _d, _e, _f, _g;
211
+ var _a, _b, _c, _d, _e;
150
212
  const result = await CollaborationUtil.getCurrentUserInfo(tokenProvider.m365TokenProvider);
151
213
  if (result.isErr()) {
152
214
  return teamsfx_api_1.err(result.error);
@@ -176,9 +238,12 @@ async function listCollaborator(ctx, inputs, envInfo, tokenProvider, telemetryPr
176
238
  appIds = getAppIdsResult.value;
177
239
  }
178
240
  const hasAad = tools_1.isV3Enabled() ? appIds.aadObjectId != undefined : projectSettingsHelperV3_1.hasAAD(ctx.projectSetting);
241
+ const hasTeams = tools_1.isV3Enabled() ? appIds.teamsAppId != undefined : true;
179
242
  const appStudio = typedi_1.Container.get(constants_3.ComponentNames.AppManifest);
180
243
  const aadPlugin = typedi_1.Container.get(constants_3.ComponentNames.AadApp);
181
- const appStudioRes = await appStudio.listCollaborator(ctx, inputs, envInfo, tokenProvider.m365TokenProvider, tools_1.isV3Enabled() ? appIds.teamsAppId : undefined);
244
+ const appStudioRes = hasTeams
245
+ ? await appStudio.listCollaborator(ctx, inputs, envInfo, tokenProvider.m365TokenProvider, tools_1.isV3Enabled() ? appIds.teamsAppId : undefined)
246
+ : teamsfx_api_1.ok([]);
182
247
  if (appStudioRes.isErr())
183
248
  return teamsfx_api_1.err(appStudioRes.error);
184
249
  const teamsAppOwners = appStudioRes.value;
@@ -188,23 +253,11 @@ async function listCollaborator(ctx, inputs, envInfo, tokenProvider, telemetryPr
188
253
  if (aadRes.isErr())
189
254
  return teamsfx_api_1.err(aadRes.error);
190
255
  const aadOwners = aadRes.value;
191
- const collaborators = [];
192
256
  const teamsAppId = (_b = (_a = teamsAppOwners[0]) === null || _a === void 0 ? void 0 : _a.resourceId) !== null && _b !== void 0 ? _b : "";
193
257
  const aadAppId = (_d = (_c = aadOwners[0]) === null || _c === void 0 ? void 0 : _c.resourceId) !== null && _d !== void 0 ? _d : "";
194
258
  const aadAppTenantId = tools_1.isV3Enabled()
195
259
  ? user.tenantId
196
260
  : (_e = envInfo.state[constants_3.ComponentNames.AppManifest]) === null || _e === void 0 ? void 0 : _e.tenantId;
197
- for (const teamsAppOwner of teamsAppOwners) {
198
- const aadOwner = aadOwners.find((owner) => owner.userObjectId === teamsAppOwner.userObjectId);
199
- collaborators.push({
200
- // For guest account, aadOwner.userPrincipalName will be user's email, and is easy to read.
201
- userPrincipalName: (_g = (_f = aadOwner === null || aadOwner === void 0 ? void 0 : aadOwner.userPrincipalName) !== null && _f !== void 0 ? _f : teamsAppOwner.userPrincipalName) !== null && _g !== void 0 ? _g : teamsAppOwner.userObjectId,
202
- userObjectId: teamsAppOwner.userObjectId,
203
- isAadOwner: aadOwner ? true : false,
204
- aadResourceId: aadOwner ? aadOwner.resourceId : undefined,
205
- teamsAppResourceId: teamsAppOwner.resourceId,
206
- });
207
- }
208
261
  if (inputs.platform === teamsfx_api_1.Platform.CLI || inputs.platform === teamsfx_api_1.Platform.VSCode) {
209
262
  const message = [
210
263
  {
@@ -216,57 +269,53 @@ async function listCollaborator(ctx, inputs, envInfo, tokenProvider, telemetryPr
216
269
  color: teamsfx_api_1.Colors.BRIGHT_WHITE,
217
270
  },
218
271
  { content: user.userPrincipalName + "\n", color: teamsfx_api_1.Colors.BRIGHT_MAGENTA },
219
- ...getPrintEnvMessage(tools_1.isV3Enabled() ? inputs.env : envInfo.envName, localizeUtils_1.getLocalizedString("core.collaboration.StartingListAllTeamsAppOwners")),
220
272
  { content: localizeUtils_1.getLocalizedString("core.collaboration.TenantId"), color: teamsfx_api_1.Colors.BRIGHT_WHITE },
221
273
  { content: aadAppTenantId + "\n", color: teamsfx_api_1.Colors.BRIGHT_MAGENTA },
222
- {
274
+ ];
275
+ if (hasTeams) {
276
+ message.push(...getPrintEnvMessage(tools_1.isV3Enabled() ? inputs.env : envInfo.envName, localizeUtils_1.getLocalizedString("core.collaboration.StartingListAllTeamsAppOwners")), {
223
277
  content: localizeUtils_1.getLocalizedString("core.collaboration.M365TeamsAppId"),
224
278
  color: teamsfx_api_1.Colors.BRIGHT_WHITE,
225
- },
226
- { content: teamsAppId, color: teamsfx_api_1.Colors.BRIGHT_MAGENTA },
227
- ];
279
+ }, { content: teamsAppId, color: teamsfx_api_1.Colors.BRIGHT_MAGENTA }, { content: `)\n`, color: teamsfx_api_1.Colors.BRIGHT_WHITE });
280
+ for (const teamsAppOwner of teamsAppOwners) {
281
+ message.push({
282
+ content: localizeUtils_1.getLocalizedString("core.collaboration.TeamsAppOwner"),
283
+ color: teamsfx_api_1.Colors.BRIGHT_WHITE,
284
+ }, { content: teamsAppOwner.userPrincipalName, color: teamsfx_api_1.Colors.BRIGHT_MAGENTA }, { content: `.\n`, color: teamsfx_api_1.Colors.BRIGHT_WHITE });
285
+ }
286
+ }
228
287
  if (hasAad) {
229
- message.push({
288
+ message.push(...getPrintEnvMessage(tools_1.isV3Enabled() ? inputs.env : envInfo.envName, localizeUtils_1.getLocalizedString("core.collaboration.StartingListAllAadAppOwners")), {
230
289
  content: localizeUtils_1.getLocalizedString("core.collaboration.SsoAadAppId"),
231
290
  color: teamsfx_api_1.Colors.BRIGHT_WHITE,
232
291
  }, { content: aadAppId, color: teamsfx_api_1.Colors.BRIGHT_MAGENTA }, { content: `)\n`, color: teamsfx_api_1.Colors.BRIGHT_WHITE });
233
- }
234
- else {
235
- message.push({ content: ")\n", color: teamsfx_api_1.Colors.BRIGHT_WHITE });
236
- }
237
- for (const collaborator of collaborators) {
238
- message.push({
239
- content: localizeUtils_1.getLocalizedString("core.collaboration.TeamsAppOwner"),
240
- color: teamsfx_api_1.Colors.BRIGHT_WHITE,
241
- }, { content: collaborator.userPrincipalName, color: teamsfx_api_1.Colors.BRIGHT_MAGENTA }, { content: `. `, color: teamsfx_api_1.Colors.BRIGHT_WHITE });
242
- if (hasAad && !collaborator.isAadOwner) {
292
+ for (const aadOwner of aadOwners) {
243
293
  message.push({
244
- content: localizeUtils_1.getLocalizedString("core.collaboration.NotOwnerOfSsoAadApp"),
245
- color: teamsfx_api_1.Colors.BRIGHT_YELLOW,
246
- });
294
+ content: localizeUtils_1.getLocalizedString("core.collaboration.AadAppOwner"),
295
+ color: teamsfx_api_1.Colors.BRIGHT_WHITE,
296
+ }, { content: aadOwner.userPrincipalName, color: teamsfx_api_1.Colors.BRIGHT_MAGENTA }, { content: `.\n`, color: teamsfx_api_1.Colors.BRIGHT_WHITE });
247
297
  }
248
- message.push({ content: "\n", color: teamsfx_api_1.Colors.BRIGHT_WHITE });
249
298
  }
250
299
  if (inputs.platform === teamsfx_api_1.Platform.CLI) {
251
300
  ctx.userInteraction.showMessage("info", message, false);
252
301
  }
253
302
  else if (inputs.platform === teamsfx_api_1.Platform.VSCode) {
254
- ctx.userInteraction.showMessage("info", localizeUtils_1.getLocalizedString("core.collaboration.ListCollaboratorsSuccess", hasAad ? localizeUtils_1.getLocalizedString("core.collaboration.WithAadApp") : "", constants_2.VSCodeExtensionCommand.showOutputChannel), false);
303
+ ctx.userInteraction.showMessage("info", localizeUtils_1.getLocalizedString("core.collaboration.ListCollaboratorsSuccess", constants_2.VSCodeExtensionCommand.showOutputChannel), false);
255
304
  ctx.logProvider.info(message);
256
305
  }
257
306
  }
258
- const aadOwnerCount = collaborators.filter((collaborator) => collaborator.aadResourceId && collaborator.isAadOwner).length;
307
+ const aadOwnerCount = hasAad ? aadOwners.length : -1;
308
+ const teamsOwnerCount = hasTeams ? teamsAppOwners.length : -1;
259
309
  if (telemetryProps) {
260
310
  telemetryProps[constants_1.SolutionTelemetryProperty.Env] = tools_1.isV3Enabled()
261
311
  ? inputs.env
262
312
  ? tools_1.getHashedEnv(inputs.env)
263
313
  : undefined
264
314
  : tools_1.getHashedEnv(envInfo.envName);
265
- telemetryProps[constants_1.SolutionTelemetryProperty.CollaboratorCount] = collaborators.length.toString();
315
+ telemetryProps[constants_1.SolutionTelemetryProperty.CollaboratorCount] = teamsOwnerCount.toString();
266
316
  telemetryProps[constants_1.SolutionTelemetryProperty.AadOwnerCount] = aadOwnerCount.toString();
267
317
  }
268
318
  return teamsfx_api_1.ok({
269
- collaborators: collaborators,
270
319
  state: permissionInterface_1.CollaborationState.OK,
271
320
  });
272
321
  }
@@ -340,7 +389,10 @@ async function checkPermission(ctx, inputs, envInfo, tokenProvider, telemetryPro
340
389
  }
341
390
  const appStudio = typedi_1.Container.get(constants_3.ComponentNames.AppManifest);
342
391
  const aadPlugin = typedi_1.Container.get(constants_3.ComponentNames.AadApp);
343
- const appStudioRes = await appStudio.checkPermission(ctx, inputs, envInfo, tokenProvider.m365TokenProvider, userInfo, tools_1.isV3Enabled() ? appIds.teamsAppId : undefined);
392
+ const isTeamsActivated = tools_1.isV3Enabled() ? appIds.teamsAppId != undefined : true;
393
+ const appStudioRes = isTeamsActivated
394
+ ? await appStudio.checkPermission(ctx, inputs, envInfo, tokenProvider.m365TokenProvider, userInfo, tools_1.isV3Enabled() ? appIds.teamsAppId : undefined)
395
+ : teamsfx_api_1.ok([]);
344
396
  if (appStudioRes.isErr()) {
345
397
  return teamsfx_api_1.err(appStudioRes.error);
346
398
  }
@@ -463,9 +515,12 @@ async function grantPermission(ctx, inputs, envInfo, tokenProvider, telemetryPro
463
515
  const isAadActivated = tools_1.isV3Enabled()
464
516
  ? appIds.aadObjectId != undefined
465
517
  : projectSettingsHelperV3_1.hasAAD(ctx.projectSetting);
518
+ const isTeamsActivated = tools_1.isV3Enabled() ? appIds.teamsAppId != undefined : true;
466
519
  const appStudio = typedi_1.Container.get(constants_3.ComponentNames.AppManifest);
467
520
  const aadPlugin = typedi_1.Container.get(constants_3.ComponentNames.AadApp);
468
- const appStudioRes = await appStudio.grantPermission(ctx, inputs, envInfo, tokenProvider.m365TokenProvider, userInfo, tools_1.isV3Enabled() ? appIds.teamsAppId : undefined);
521
+ const appStudioRes = isTeamsActivated
522
+ ? await appStudio.grantPermission(ctx, inputs, envInfo, tokenProvider.m365TokenProvider, userInfo, tools_1.isV3Enabled() ? appIds.teamsAppId : undefined)
523
+ : teamsfx_api_1.ok([]);
469
524
  if (appStudioRes.isErr()) {
470
525
  return teamsfx_api_1.err(appStudioRes.error);
471
526
  }
@@ -526,11 +581,22 @@ async function getQuestionsForGrantPermission(inputs) {
526
581
  return teamsfx_api_1.err(jsonObjectRes.error);
527
582
  }
528
583
  const jsonObject = jsonObjectRes.value;
529
- return teamsfx_api_1.ok(new teamsfx_api_1.QTreeNode(question_1.getUserEmailQuestion(jsonObject.upn)));
584
+ const root = await getCollaborationQuestionNode(inputs);
585
+ root.addChild(new teamsfx_api_1.QTreeNode(question_1.getUserEmailQuestion(jsonObject.upn)));
586
+ return teamsfx_api_1.ok(root);
530
587
  }
531
588
  return teamsfx_api_1.ok(undefined);
532
589
  }
533
590
  exports.getQuestionsForGrantPermission = getQuestionsForGrantPermission;
591
+ async function getQuestionsForListCollaborator(inputs) {
592
+ const isDynamicQuestion = teamsfx_api_1.DynamicPlatforms.includes(inputs.platform);
593
+ if (isDynamicQuestion) {
594
+ const root = await getCollaborationQuestionNode(inputs);
595
+ return teamsfx_api_1.ok(root);
596
+ }
597
+ return teamsfx_api_1.ok(undefined);
598
+ }
599
+ exports.getQuestionsForListCollaborator = getQuestionsForListCollaborator;
534
600
  function getPrintEnvMessage(env, message) {
535
601
  return env
536
602
  ? [
@@ -542,4 +608,87 @@ function getPrintEnvMessage(env, message) {
542
608
  ]
543
609
  : [];
544
610
  }
611
+ function selectAppTypeQuestion() {
612
+ return {
613
+ name: CollaborationConstants.AppType,
614
+ title: localizeUtils_1.getLocalizedString("core.selectCollaborationAppTypeQuestion.title"),
615
+ type: "multiSelect",
616
+ staticOptions: [
617
+ {
618
+ id: CollaborationConstants.AadAppQuestionId,
619
+ label: localizeUtils_1.getLocalizedString("core.aadAppQuestion.label"),
620
+ description: localizeUtils_1.getLocalizedString("core.aadAppQuestion.description"),
621
+ },
622
+ {
623
+ id: CollaborationConstants.TeamsAppQuestionId,
624
+ label: localizeUtils_1.getLocalizedString("core.teamsAppQuestion.label"),
625
+ description: localizeUtils_1.getLocalizedString("core.teamsAppQuestion.description"),
626
+ },
627
+ ],
628
+ };
629
+ }
630
+ async function getCollaborationQuestionNode(inputs) {
631
+ const root = new teamsfx_api_1.QTreeNode(selectAppTypeQuestion());
632
+ // Teams app manifest select node
633
+ const teamsAppSelectNode = question_2.selectTeamsAppManifestQuestion(inputs);
634
+ teamsAppSelectNode.condition = { contains: CollaborationConstants.TeamsAppQuestionId };
635
+ root.addChild(teamsAppSelectNode);
636
+ // Aad app manifest select node
637
+ const aadAppSelectNode = question_2.selectAadAppManifestQuestion(inputs);
638
+ aadAppSelectNode.condition = { contains: CollaborationConstants.AadAppQuestionId };
639
+ root.addChild(aadAppSelectNode);
640
+ // Env select node
641
+ const envNode = await question_2.selectEnvNode(inputs);
642
+ if (!envNode) {
643
+ return root;
644
+ }
645
+ envNode.condition = {
646
+ validFunc: validateEnvQuestion,
647
+ };
648
+ teamsAppSelectNode.addChild(envNode);
649
+ aadAppSelectNode.addChild(envNode);
650
+ return root;
651
+ }
652
+ async function validateEnvQuestion(input, inputs) {
653
+ if ((inputs === null || inputs === void 0 ? void 0 : inputs.env) || (inputs === null || inputs === void 0 ? void 0 : inputs.targetEnvName)) {
654
+ return "Env already selected";
655
+ }
656
+ const appType = inputs === null || inputs === void 0 ? void 0 : inputs[CollaborationConstants.AppType];
657
+ const requireAad = appType.includes(CollaborationConstants.AadAppQuestionId);
658
+ const requireTeams = appType.includes(CollaborationConstants.TeamsAppQuestionId);
659
+ const aadManifestPath = inputs === null || inputs === void 0 ? void 0 : inputs[question_2.CoreQuestionNames.AadAppManifestFilePath];
660
+ const teamsManifestPath = inputs === null || inputs === void 0 ? void 0 : inputs[question_2.CoreQuestionNames.TeamsAppManifestFilePath];
661
+ // When both is selected, only show the question once at the end
662
+ if ((requireAad && !aadManifestPath) || (requireTeams && !teamsManifestPath)) {
663
+ return "Question not finished";
664
+ }
665
+ // Only show env question when manifest id is referencing value from .env file
666
+ let requireEnv = false;
667
+ if (requireTeams && teamsManifestPath) {
668
+ const teamsAppIdRes = await CollaborationUtil.loadManifestId(teamsManifestPath);
669
+ if (teamsAppIdRes.isOk()) {
670
+ requireEnv = CollaborationUtil.requireEnvQuestion(teamsAppIdRes.value);
671
+ if (requireEnv) {
672
+ return undefined;
673
+ }
674
+ }
675
+ else {
676
+ return "Invalid manifest";
677
+ }
678
+ }
679
+ if (requireAad && aadManifestPath) {
680
+ const aadAppIdRes = await CollaborationUtil.loadManifestId(aadManifestPath);
681
+ if (aadAppIdRes.isOk()) {
682
+ requireEnv = CollaborationUtil.requireEnvQuestion(aadAppIdRes.value);
683
+ if (requireEnv) {
684
+ return undefined;
685
+ }
686
+ }
687
+ else {
688
+ return "Invalid manifest";
689
+ }
690
+ }
691
+ return "Env question not required";
692
+ }
693
+ exports.validateEnvQuestion = validateEnvQuestion;
545
694
  //# sourceMappingURL=collaborator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"collaborator.js","sourceRoot":"","sources":["../../src/core/collaborator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collaborator.js","sourceRoot":"","sources":["../../src/core/collaborator.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,7 @@ export declare const errorNames: {
39
39
  manifestTemplateNotExist: string;
40
40
  aadManifestTemplateNotExist: string;
41
41
  };
42
+ export declare const moreInfoButton: string;
42
43
  export declare const ProjectMigratorMWV3: Middleware;
43
44
  export declare function wrapRunMigration(context: MigrationContext, exec: (context: MigrationContext) => void): Promise<void>;
44
45
  export declare function migrate(context: MigrationContext): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"projectMigratorV3.d.ts","sourceRoot":"","sources":["../../../src/core/middleware/projectMigratorV3.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projectMigratorV3.d.ts","sourceRoot":"","sources":["../../../src/core/middleware/projectMigratorV3.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) Microsoft Corporation.
3
3
  // Licensed under the MIT license.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.updateGitignore = exports.generateApimPluginEnvContent = exports.checkapimPluginExists = exports.debugMigration = exports.userdataMigration = exports.statesMigration = exports.configsMigration = exports.ensureTrackingIdInGlobal = exports.generateLocalConfig = exports.popupMessage = exports.popupMessageNonmodal = exports.popupMessageModal = exports.showConfirmOnlyNotification = exports.showNonmodalNotification = exports.askUserConfirm = exports.showNotification = exports.azureParameterMigration = exports.manifestsMigration = exports.updateLaunchJson = exports.generateAppYml = exports.checkVersionForMigration = exports.migrate = exports.wrapRunMigration = exports.ProjectMigratorMWV3 = exports.errorNames = exports.learnMoreLink = exports.TelemetryPropertyValue = exports.TelemetryPropertyKey = exports.Parameters = exports.Constants = void 0;
5
+ exports.updateGitignore = exports.generateApimPluginEnvContent = exports.checkapimPluginExists = exports.debugMigration = exports.userdataMigration = exports.statesMigration = exports.configsMigration = exports.ensureTrackingIdInGlobal = exports.generateLocalConfig = exports.popupMessage = exports.popupMessageNonmodal = exports.popupMessageModal = exports.showConfirmOnlyNotification = exports.showNonmodalNotification = exports.askUserConfirm = exports.showNotification = exports.azureParameterMigration = exports.manifestsMigration = exports.updateLaunchJson = exports.generateAppYml = exports.checkVersionForMigration = exports.migrate = exports.wrapRunMigration = exports.ProjectMigratorMWV3 = exports.moreInfoButton = exports.errorNames = exports.learnMoreLink = exports.TelemetryPropertyValue = exports.TelemetryPropertyKey = exports.Parameters = exports.Constants = void 0;
6
6
  const tslib_1 = require("tslib");
7
7
  /**
8
8
  * @author xzf0587 <zhaofengxu@microsoft.com>
@@ -72,7 +72,8 @@ exports.errorNames = {
72
72
  manifestTemplateNotExist: "ManifestTemplateNotExist",
73
73
  aadManifestTemplateNotExist: "AadManifestTemplateNotExist",
74
74
  };
75
- const migrationMessageButtons = [projectMigrator_1.upgradeButton, projectMigrator_1.learnMoreText];
75
+ exports.moreInfoButton = localizeUtils_1.getLocalizedString("core.option.moreInfo");
76
+ const migrationMessageButtons = [projectMigrator_1.upgradeButton, exports.moreInfoButton];
76
77
  const subMigrations = [
77
78
  preMigration,
78
79
  manifestsMigration,
@@ -372,7 +373,7 @@ async function askUserConfirm(ctx, versionForMigration) {
372
373
  let answer;
373
374
  do {
374
375
  answer = await popupMessageModal(versionForMigration);
375
- if (answer === projectMigrator_1.learnMoreText) {
376
+ if (answer === exports.moreInfoButton) {
376
377
  globalVars_1.TOOLS === null || globalVars_1.TOOLS === void 0 ? void 0 : globalVars_1.TOOLS.ui.openUrl(exports.learnMoreLink);
377
378
  telemetry_1.sendTelemetryEvent(telemetry_1.Component.core, telemetry_1.TelemetryEvent.ProjectMigratorNotification, {
378
379
  [exports.TelemetryPropertyKey.button]: exports.TelemetryPropertyValue.learnMore,
@@ -380,7 +381,7 @@ async function askUserConfirm(ctx, versionForMigration) {
380
381
  [exports.TelemetryPropertyKey.mode]: exports.TelemetryPropertyValue.modal,
381
382
  });
382
383
  }
383
- } while (answer === projectMigrator_1.learnMoreText);
384
+ } while (answer === exports.moreInfoButton);
384
385
  if (!answer || !migrationMessageButtons.includes(answer)) {
385
386
  telemetry_1.sendTelemetryEvent(telemetry_1.Component.core, telemetry_1.TelemetryEvent.ProjectMigratorNotification, {
386
387
  [exports.TelemetryPropertyKey.button]: exports.TelemetryPropertyValue.cancel,
@@ -404,7 +405,7 @@ async function showNonmodalNotification(ctx, versionForMigration) {
404
405
  [exports.TelemetryPropertyKey.upgradeVersion]: exports.TelemetryPropertyValue.upgradeVersion,
405
406
  });
406
407
  const answer = await popupMessageNonmodal(versionForMigration);
407
- if (answer === projectMigrator_1.learnMoreText) {
408
+ if (answer === exports.moreInfoButton) {
408
409
  globalVars_1.TOOLS === null || globalVars_1.TOOLS === void 0 ? void 0 : globalVars_1.TOOLS.ui.openUrl(exports.learnMoreLink);
409
410
  telemetry_1.sendTelemetryEvent(telemetry_1.Component.core, telemetry_1.TelemetryEvent.ProjectMigratorNotification, {
410
411
  [exports.TelemetryPropertyKey.button]: exports.TelemetryPropertyValue.learnMore,
@@ -573,6 +574,7 @@ async function debugMigration(context) {
573
574
  taskMigrator_1.migrateSetUpBot,
574
575
  taskMigrator_1.migrateSetUpSSO,
575
576
  taskMigrator_1.migratePrepareManifest,
577
+ taskMigrator_1.migrateInstallAppInTeams,
576
578
  taskMigrator_1.migrateValidateDependencies,
577
579
  taskMigrator_1.migrateBackendExtensionsInstall,
578
580
  taskMigrator_1.migrateFrontendStart,