@microsoft/teamsfx-core 2.0.8-alpha.2f5decfcc.0 → 2.0.8-alpha.4cb5c08a8.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 (168) hide show
  1. package/build/common/constants.d.ts +1 -2
  2. package/build/common/constants.d.ts.map +1 -1
  3. package/build/common/constants.js +1 -2
  4. package/build/common/constants.js.map +1 -1
  5. package/build/common/featureFlags.js +46 -1
  6. package/build/common/featureFlags.js.map +1 -1
  7. package/build/common/projectSettingsHelper.d.ts +7 -2
  8. package/build/common/projectSettingsHelper.d.ts.map +1 -1
  9. package/build/common/projectSettingsHelper.js +25 -7
  10. package/build/common/projectSettingsHelper.js.map +1 -1
  11. package/build/common/samples.d.ts +1 -2
  12. package/build/common/samples.d.ts.map +1 -1
  13. package/build/common/samples.js +37 -83
  14. package/build/common/samples.js.map +1 -1
  15. package/build/common/telemetry.d.ts +3 -0
  16. package/build/common/telemetry.d.ts.map +1 -1
  17. package/build/common/telemetry.js +3 -0
  18. package/build/common/telemetry.js.map +1 -1
  19. package/build/common/templates-config.json +1 -1
  20. package/build/component/configManager/validator.js +1 -1
  21. package/build/component/configManager/validator.js.map +1 -1
  22. package/build/component/coordinator/index.d.ts.map +1 -1
  23. package/build/component/coordinator/index.js +20 -34
  24. package/build/component/coordinator/index.js.map +1 -1
  25. package/build/component/driver/aad/create.d.ts +1 -0
  26. package/build/component/driver/aad/create.d.ts.map +1 -1
  27. package/build/component/driver/aad/create.js +22 -11
  28. package/build/component/driver/aad/create.js.map +1 -1
  29. package/build/component/driver/aad/error/aadManifestError.d.ts +6 -0
  30. package/build/component/driver/aad/error/aadManifestError.d.ts.map +1 -1
  31. package/build/component/driver/aad/error/aadManifestError.js +25 -1
  32. package/build/component/driver/aad/error/aadManifestError.js.map +1 -1
  33. package/build/component/driver/aad/error/clientSecretNotAllowedError.d.ts +5 -0
  34. package/build/component/driver/aad/error/clientSecretNotAllowedError.d.ts.map +1 -0
  35. package/build/component/driver/aad/error/clientSecretNotAllowedError.js +23 -0
  36. package/build/component/driver/aad/error/clientSecretNotAllowedError.js.map +1 -0
  37. package/build/component/driver/aad/error/credentialInvalidLifetimeError.d.ts +5 -0
  38. package/build/component/driver/aad/error/credentialInvalidLifetimeError.d.ts.map +1 -0
  39. package/build/component/driver/aad/error/credentialInvalidLifetimeError.js +23 -0
  40. package/build/component/driver/aad/error/credentialInvalidLifetimeError.js.map +1 -0
  41. package/build/component/driver/aad/interface/IAADDefinition.d.ts +1 -0
  42. package/build/component/driver/aad/interface/IAADDefinition.d.ts.map +1 -1
  43. package/build/component/driver/aad/interface/createAadAppArgs.d.ts +3 -0
  44. package/build/component/driver/aad/interface/createAadAppArgs.d.ts.map +1 -1
  45. package/build/component/driver/aad/permissions/index.d.ts.map +1 -1
  46. package/build/component/driver/aad/permissions/index.js +9 -0
  47. package/build/component/driver/aad/permissions/index.js.map +1 -1
  48. package/build/component/driver/aad/utility/aadAppClient.d.ts +3 -2
  49. package/build/component/driver/aad/utility/aadAppClient.d.ts.map +1 -1
  50. package/build/component/driver/aad/utility/aadAppClient.js +35 -17
  51. package/build/component/driver/aad/utility/aadAppClient.js.map +1 -1
  52. package/build/component/driver/aad/utility/aadManifestHelper.d.ts.map +1 -1
  53. package/build/component/driver/aad/utility/aadManifestHelper.js +7 -0
  54. package/build/component/driver/aad/utility/aadManifestHelper.js.map +1 -1
  55. package/build/component/driver/aad/utility/constants.d.ts +6 -0
  56. package/build/component/driver/aad/utility/constants.d.ts.map +1 -1
  57. package/build/component/driver/aad/utility/constants.js +8 -2
  58. package/build/component/driver/aad/utility/constants.js.map +1 -1
  59. package/build/component/driver/apiKey/create.d.ts +0 -3
  60. package/build/component/driver/apiKey/create.d.ts.map +1 -1
  61. package/build/component/driver/apiKey/create.js +23 -51
  62. package/build/component/driver/apiKey/create.js.map +1 -1
  63. package/build/component/driver/apiKey/interface/createApiKeyArgs.d.ts +2 -0
  64. package/build/component/driver/apiKey/interface/createApiKeyArgs.d.ts.map +1 -1
  65. package/build/component/driver/apiKey/interface/updateApiKeyArgs.d.ts +9 -0
  66. package/build/component/driver/apiKey/interface/updateApiKeyArgs.d.ts.map +1 -0
  67. package/build/component/driver/apiKey/interface/updateApiKeyArgs.js +5 -0
  68. package/build/component/driver/apiKey/interface/updateApiKeyArgs.js.map +1 -0
  69. package/build/component/driver/apiKey/update.d.ts +13 -0
  70. package/build/component/driver/apiKey/update.d.ts.map +1 -0
  71. package/build/component/driver/apiKey/update.js +182 -0
  72. package/build/component/driver/apiKey/update.js.map +1 -0
  73. package/build/component/driver/apiKey/utility/constants.d.ts +2 -0
  74. package/build/component/driver/apiKey/utility/constants.d.ts.map +1 -1
  75. package/build/component/driver/apiKey/utility/constants.js +2 -0
  76. package/build/component/driver/apiKey/utility/constants.js.map +1 -1
  77. package/build/component/driver/apiKey/utility/utility.d.ts +7 -0
  78. package/build/component/driver/apiKey/utility/utility.d.ts.map +1 -0
  79. package/build/component/driver/apiKey/utility/utility.js +56 -0
  80. package/build/component/driver/apiKey/utility/utility.js.map +1 -0
  81. package/build/component/driver/index.d.ts +1 -0
  82. package/build/component/driver/index.d.ts.map +1 -1
  83. package/build/component/driver/index.js +1 -0
  84. package/build/component/driver/index.js.map +1 -1
  85. package/build/component/driver/teamsApp/clients/appStudioClient.d.ts +2 -1
  86. package/build/component/driver/teamsApp/clients/appStudioClient.d.ts.map +1 -1
  87. package/build/component/driver/teamsApp/clients/appStudioClient.js +12 -0
  88. package/build/component/driver/teamsApp/clients/appStudioClient.js.map +1 -1
  89. package/build/component/driver/teamsApp/constants.d.ts +1 -0
  90. package/build/component/driver/teamsApp/constants.d.ts.map +1 -1
  91. package/build/component/driver/teamsApp/constants.js +1 -0
  92. package/build/component/driver/teamsApp/constants.js.map +1 -1
  93. package/build/component/driver/teamsApp/createAppPackage.d.ts +2 -1
  94. package/build/component/driver/teamsApp/createAppPackage.d.ts.map +1 -1
  95. package/build/component/driver/teamsApp/createAppPackage.js +36 -21
  96. package/build/component/driver/teamsApp/createAppPackage.js.map +1 -1
  97. package/build/component/driver/teamsApp/interfaces/ApiSecretRegistration.d.ts +20 -0
  98. package/build/component/driver/teamsApp/interfaces/ApiSecretRegistration.d.ts.map +1 -1
  99. package/build/component/driver/teamsApp/interfaces/ApiSecretRegistration.js.map +1 -1
  100. package/build/component/driver/teamsApp/teamsappMgr.d.ts.map +1 -1
  101. package/build/component/driver/teamsApp/teamsappMgr.js +22 -8
  102. package/build/component/driver/teamsApp/teamsappMgr.js.map +1 -1
  103. package/build/component/driver/teamsApp/utils/telemetry.d.ts +1 -0
  104. package/build/component/driver/teamsApp/utils/telemetry.d.ts.map +1 -1
  105. package/build/component/driver/teamsApp/utils/telemetry.js +1 -0
  106. package/build/component/driver/teamsApp/utils/telemetry.js.map +1 -1
  107. package/build/component/driver/teamsApp/utils/utils.d.ts +1 -0
  108. package/build/component/driver/teamsApp/utils/utils.d.ts.map +1 -1
  109. package/build/component/driver/teamsApp/utils/utils.js +5 -1
  110. package/build/component/driver/teamsApp/utils/utils.js.map +1 -1
  111. package/build/component/driver/teamsApp/validateTestCases.d.ts.map +1 -1
  112. package/build/component/driver/teamsApp/validateTestCases.js +20 -4
  113. package/build/component/driver/teamsApp/validateTestCases.js.map +1 -1
  114. package/build/component/generator/copilotPlugin/helper.d.ts.map +1 -1
  115. package/build/component/generator/copilotPlugin/helper.js +4 -2
  116. package/build/component/generator/copilotPlugin/helper.js.map +1 -1
  117. package/build/component/generator/officeAddin/generator.d.ts +7 -2
  118. package/build/component/generator/officeAddin/generator.d.ts.map +1 -1
  119. package/build/component/generator/officeAddin/generator.js +54 -43
  120. package/build/component/generator/officeAddin/generator.js.map +1 -1
  121. package/build/component/generator/officeXMLAddin/generator.d.ts +4 -1
  122. package/build/component/generator/officeXMLAddin/generator.d.ts.map +1 -1
  123. package/build/component/generator/officeXMLAddin/generator.js +20 -14
  124. package/build/component/generator/officeXMLAddin/generator.js.map +1 -1
  125. package/build/component/generator/officeXMLAddin/projectConfig.d.ts +21 -33
  126. package/build/component/generator/officeXMLAddin/projectConfig.d.ts.map +1 -1
  127. package/build/component/generator/officeXMLAddin/projectConfig.js +73 -86
  128. package/build/component/generator/officeXMLAddin/projectConfig.js.map +1 -1
  129. package/build/component/utils/metadataGraphPermssion.d.ts +8 -6
  130. package/build/component/utils/metadataGraphPermssion.d.ts.map +1 -1
  131. package/build/component/utils/metadataGraphPermssion.js +10 -2
  132. package/build/component/utils/metadataGraphPermssion.js.map +1 -1
  133. package/build/component/utils/metadataRscPermission.d.ts +16 -0
  134. package/build/component/utils/metadataRscPermission.d.ts.map +1 -0
  135. package/build/component/utils/metadataRscPermission.js +69 -0
  136. package/build/component/utils/metadataRscPermission.js.map +1 -0
  137. package/build/component/utils/metadataUtil.d.ts.map +1 -1
  138. package/build/component/utils/metadataUtil.js +2 -0
  139. package/build/component/utils/metadataUtil.js.map +1 -1
  140. package/build/core/FxCore.d.ts.map +1 -1
  141. package/build/core/FxCore.js +4 -1
  142. package/build/core/FxCore.js.map +1 -1
  143. package/build/question/create.d.ts +13 -7
  144. package/build/question/create.d.ts.map +1 -1
  145. package/build/question/create.js +220 -184
  146. package/build/question/create.js.map +1 -1
  147. package/build/question/inputs/CreateProjectInputs.d.ts +3 -5
  148. package/build/question/inputs/CreateProjectInputs.d.ts.map +1 -1
  149. package/build/question/options/CreateProjectOptions.d.ts.map +1 -1
  150. package/build/question/options/CreateProjectOptions.js +17 -9
  151. package/build/question/options/CreateProjectOptions.js.map +1 -1
  152. package/build/question/questionNames.d.ts +0 -1
  153. package/build/question/questionNames.d.ts.map +1 -1
  154. package/build/question/questionNames.js +0 -1
  155. package/build/question/questionNames.js.map +1 -1
  156. package/package.json +5 -4
  157. package/resource/package.nls.json +15 -1
  158. package/resource/yaml-schema/v1.5/yaml.schema.json +1663 -0
  159. package/resource/yaml-schema/yaml.schema.json +77 -2
  160. package/templates/fallback/common.zip +0 -0
  161. package/templates/fallback/csharp.zip +0 -0
  162. package/templates/fallback/js.zip +0 -0
  163. package/templates/fallback/python.zip +0 -0
  164. package/templates/fallback/ts.zip +0 -0
  165. package/build/component/generator/officeAddin/config/projectsJsonData.d.ts +0 -26
  166. package/build/component/generator/officeAddin/config/projectsJsonData.d.ts.map +0 -1
  167. package/build/component/generator/officeAddin/config/projectsJsonData.js +0 -165
  168. package/build/component/generator/officeAddin/config/projectsJsonData.js.map +0 -1
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) Microsoft Corporation.
3
3
  // Licensed under the MIT license.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.createProjectCliHelpNode = exports.createSampleProjectQuestionNode = exports.createProjectQuestionNode = exports.capabilitySubTree = exports.CustomCopilotAssistantOptions = exports.CustomCopilotRagOptions = exports.apiOperationQuestion = exports.apiMessageExtensionAuthQuestion = exports.openAIPluginManifestLocationQuestion = exports.apiSpecLocationQuestion = exports.ApiMessageExtensionAuthOptions = exports.RuntimeOptions = exports.appNameQuestion = exports.AppNamePattern = exports.folderQuestion = exports.programmingLanguageQuestion = exports.ProgrammingLanguage = exports.getLanguageOptions = exports.OfficeAddinFrameworkQuestion = exports.getAddinHostOptions = exports.officeAddinHostingQuestion = exports.getTemplate = exports.SPFxImportFolderQuestion = exports.SPFxVersionOptionIds = exports.SPFxWebpartNameQuestion = exports.SPFxFrameworkQuestion = exports.SPFxPackageSelectQuestion = exports.NotificationTriggerOptions = exports.meArchitectureQuestion = exports.MeArchitectureOptions = exports.capabilityQuestion = exports.CapabilityOptions = exports.OfficeAddinCapabilityOptions = exports.ProjectTypeOptions = exports.ScratchOptions = void 0;
5
+ exports.createProjectCliHelpNode = exports.createSampleProjectQuestionNode = exports.createProjectQuestionNode = exports.capabilitySubTree = exports.CustomCopilotAssistantOptions = exports.CustomCopilotRagOptions = exports.apiOperationQuestion = exports.apiMessageExtensionAuthQuestion = exports.openAIPluginManifestLocationQuestion = exports.apiSpecLocationQuestion = exports.ApiMessageExtensionAuthOptions = exports.RuntimeOptions = exports.appNameQuestion = exports.AppNamePattern = exports.folderQuestion = exports.programmingLanguageQuestion = exports.ProgrammingLanguage = exports.getLanguageOptions = exports.getOfficeAddinFramework = exports.OfficeAddinFrameworkQuestion = exports.officeAddinHostingQuestion = exports.SPFxImportFolderQuestion = exports.SPFxVersionOptionIds = exports.SPFxWebpartNameQuestion = exports.SPFxFrameworkQuestion = exports.SPFxPackageSelectQuestion = exports.NotificationTriggerOptions = exports.meArchitectureQuestion = exports.MeArchitectureOptions = exports.capabilityQuestion = exports.CapabilityOptions = exports.OfficeAddinHostOptions = exports.ProjectTypeOptions = exports.ScratchOptions = void 0;
6
6
  const tslib_1 = require("tslib");
7
7
  const teamsfx_api_1 = require("@microsoft/teamsfx-api");
8
8
  const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
@@ -11,6 +11,7 @@ const lodash_1 = require("lodash");
11
11
  const os = tslib_1.__importStar(require("os"));
12
12
  const path = tslib_1.__importStar(require("path"));
13
13
  const constants_1 = require("../common/constants");
14
+ const correlator_1 = require("../common/correlator");
14
15
  const featureFlags_1 = require("../common/featureFlags");
15
16
  const localizeUtils_1 = require("../common/localizeUtils");
16
17
  const samples_1 = require("../common/samples");
@@ -18,18 +19,16 @@ const utils_1 = require("../common/utils");
18
19
  const developerPortalScaffoldUtils_1 = require("../component/developerPortalScaffoldUtils");
19
20
  const utils_2 = require("../component/driver/teamsApp/utils/utils");
20
21
  const helper_1 = require("../component/generator/copilotPlugin/helper");
21
- const projectsJsonData_1 = tslib_1.__importDefault(require("../component/generator/officeAddin/config/projectsJsonData"));
22
+ const projectConfig_1 = require("../component/generator/officeXMLAddin/projectConfig");
22
23
  const error_1 = require("../component/generator/spfx/error");
23
24
  const spfxGenerator_1 = require("../component/generator/spfx/spfxGenerator");
24
25
  const constants_2 = require("../component/generator/spfx/utils/constants");
25
26
  const utils_3 = require("../component/generator/spfx/utils/utils");
26
27
  const utils_4 = require("../component/utils");
27
28
  const error_2 = require("../error");
29
+ const constants_3 = require("./constants");
28
30
  const questionNames_1 = require("./questionNames");
29
31
  const util_1 = require("./util");
30
- const constants_3 = require("./constants");
31
- const correlator_1 = require("../common/correlator");
32
- const projectConfig_1 = require("../component/generator/officeXMLAddin/projectConfig");
33
32
  class ScratchOptions {
34
33
  static yes() {
35
34
  return {
@@ -95,6 +94,13 @@ class ProjectTypeOptions {
95
94
  detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.officeAddin.detail"),
96
95
  };
97
96
  }
97
+ static officeAddinAllIds(platform) {
98
+ return [
99
+ ProjectTypeOptions.officeAddin(platform).id,
100
+ ProjectTypeOptions.officeXMLAddin(platform).id,
101
+ ProjectTypeOptions.outlookAddin(platform).id,
102
+ ];
103
+ }
98
104
  static copilotPlugin(platform) {
99
105
  return {
100
106
  id: "copilot-plugin-type",
@@ -116,10 +122,9 @@ function projectTypeQuestion() {
116
122
  ProjectTypeOptions.bot(teamsfx_api_1.Platform.CLI),
117
123
  ProjectTypeOptions.tab(teamsfx_api_1.Platform.CLI),
118
124
  ProjectTypeOptions.me(teamsfx_api_1.Platform.CLI),
119
- featureFlags_1.isOfficeXMLAddinEnabled()
120
- ? ProjectTypeOptions.officeXMLAddin(teamsfx_api_1.Platform.CLI)
121
- : ProjectTypeOptions.outlookAddin(teamsfx_api_1.Platform.CLI),
125
+ ProjectTypeOptions.officeXMLAddin(teamsfx_api_1.Platform.CLI),
122
126
  ProjectTypeOptions.officeAddin(teamsfx_api_1.Platform.CLI),
127
+ ProjectTypeOptions.outlookAddin(teamsfx_api_1.Platform.CLI),
123
128
  ];
124
129
  return {
125
130
  name: questionNames_1.QuestionNames.ProjectType,
@@ -154,12 +159,29 @@ function projectTypeQuestion() {
154
159
  skipSingleOption: true,
155
160
  };
156
161
  }
157
- class OfficeAddinCapabilityOptions {
162
+ class OfficeAddinHostOptions {
163
+ static all(platform) {
164
+ return [
165
+ OfficeAddinHostOptions.outlook(platform),
166
+ OfficeAddinHostOptions.word(),
167
+ OfficeAddinHostOptions.excel(),
168
+ OfficeAddinHostOptions.powerpoint(),
169
+ ];
170
+ }
171
+ static outlook(platform) {
172
+ return {
173
+ id: "outlook",
174
+ label: `${platform === teamsfx_api_1.Platform.VSCode ? "$(mail) " : ""}${localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.outlookAddin.label")}`,
175
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.outlookAddin.detail"),
176
+ data: "Outlook",
177
+ };
178
+ }
158
179
  static word() {
159
180
  return {
160
181
  id: "word",
161
182
  label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.word.title"),
162
183
  detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.word.detail"),
184
+ data: "Word",
163
185
  };
164
186
  }
165
187
  static excel() {
@@ -167,6 +189,7 @@ class OfficeAddinCapabilityOptions {
167
189
  id: "excel",
168
190
  label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.excel.title"),
169
191
  detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.excel.detail"),
192
+ data: "Excel",
170
193
  };
171
194
  }
172
195
  static powerpoint() {
@@ -174,10 +197,11 @@ class OfficeAddinCapabilityOptions {
174
197
  id: "powerpoint",
175
198
  label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.powerpoint.title"),
176
199
  detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.powerpoint.detail"),
200
+ data: "PowerPoint",
177
201
  };
178
202
  }
179
203
  }
180
- exports.OfficeAddinCapabilityOptions = OfficeAddinCapabilityOptions;
204
+ exports.OfficeAddinHostOptions = OfficeAddinHostOptions;
181
205
  class CapabilityOptions {
182
206
  // bot
183
207
  static basicBot() {
@@ -399,8 +423,61 @@ class CapabilityOptions {
399
423
  CapabilityOptions.linkUnfurling(),
400
424
  ];
401
425
  }
402
- static officeAll() {
403
- return [...CapabilityOptions.officeAddinItems(), CapabilityOptions.officeAddinImport()];
426
+ static officeAddinStaticCapabilities(host) {
427
+ const items = [];
428
+ for (const h of Object.keys(projectConfig_1.OfficeAddinProjectConfig)) {
429
+ if (host && h !== host)
430
+ continue;
431
+ const hostValue = projectConfig_1.OfficeAddinProjectConfig[h];
432
+ for (const capability of Object.keys(hostValue)) {
433
+ const capabilityValue = hostValue[capability];
434
+ items.push({
435
+ id: capability,
436
+ label: localizeUtils_1.getLocalizedString(capabilityValue.title),
437
+ detail: localizeUtils_1.getLocalizedString(capabilityValue.detail),
438
+ });
439
+ }
440
+ }
441
+ return items;
442
+ }
443
+ static officeAddinDynamicCapabilities(projectType, host) {
444
+ const items = [];
445
+ const isOutlookAddin = projectType === ProjectTypeOptions.outlookAddin().id;
446
+ const isOfficeAddin = projectType === ProjectTypeOptions.officeAddin().id;
447
+ const isOfficeXMLAddinForOutlook = projectType === ProjectTypeOptions.officeXMLAddin().id &&
448
+ host === OfficeAddinHostOptions.outlook().id;
449
+ const pushToItems = (option) => {
450
+ const capabilityValue = projectConfig_1.OfficeAddinProjectConfig.json[option];
451
+ items.push({
452
+ id: option,
453
+ label: localizeUtils_1.getLocalizedString(capabilityValue.title),
454
+ detail: localizeUtils_1.getLocalizedString(capabilityValue.detail),
455
+ });
456
+ };
457
+ if (isOutlookAddin || isOfficeAddin || isOfficeXMLAddinForOutlook) {
458
+ pushToItems("json-taskpane");
459
+ if (isOutlookAddin || isOfficeXMLAddinForOutlook) {
460
+ items.push(CapabilityOptions.outlookAddinImport());
461
+ }
462
+ else if (isOfficeAddin) {
463
+ items.push(CapabilityOptions.officeContentAddin());
464
+ items.push(CapabilityOptions.officeAddinImport());
465
+ }
466
+ }
467
+ else {
468
+ if (host) {
469
+ const hostValue = projectConfig_1.OfficeAddinProjectConfig[host];
470
+ for (const capability of Object.keys(hostValue)) {
471
+ const capabilityValue = hostValue[capability];
472
+ items.push({
473
+ id: capability,
474
+ label: localizeUtils_1.getLocalizedString(capabilityValue.title),
475
+ detail: localizeUtils_1.getLocalizedString(capabilityValue.detail),
476
+ });
477
+ }
478
+ }
479
+ }
480
+ return items;
404
481
  }
405
482
  static copilotPlugins() {
406
483
  return [
@@ -436,16 +513,7 @@ class CapabilityOptions {
436
513
  ...CapabilityOptions.customCopilots(),
437
514
  ...CapabilityOptions.tdpIntegrationCapabilities(),
438
515
  ];
439
- if (featureFlags_1.isOfficeXMLAddinEnabled()) {
440
- capabilityOptions.push(...[
441
- ...CapabilityOptions.officeXMLAddinHostOptionItems(OfficeAddinCapabilityOptions.word().id),
442
- ...CapabilityOptions.officeXMLAddinHostOptionItems(OfficeAddinCapabilityOptions.excel().id),
443
- ...CapabilityOptions.officeXMLAddinHostOptionItems(OfficeAddinCapabilityOptions.powerpoint().id),
444
- ]);
445
- }
446
- else {
447
- capabilityOptions.push(...CapabilityOptions.outlookAddinItems());
448
- }
516
+ capabilityOptions.push(...CapabilityOptions.officeAddinStaticCapabilities());
449
517
  return capabilityOptions;
450
518
  }
451
519
  /**
@@ -456,7 +524,6 @@ class CapabilityOptions {
456
524
  ...CapabilityOptions.bots(inputs),
457
525
  ...CapabilityOptions.tabs(),
458
526
  ...CapabilityOptions.collectMECaps(),
459
- ...CapabilityOptions.outlookAddinItems(),
460
527
  ];
461
528
  if (featureFlags_1.isApiCopilotPluginEnabled()) {
462
529
  capabilityOptions.push(...CapabilityOptions.copilotPlugins());
@@ -466,45 +533,66 @@ class CapabilityOptions {
466
533
  // test templates that are used by TDP integration only
467
534
  capabilityOptions.push(...CapabilityOptions.tdpIntegrationCapabilities());
468
535
  }
536
+ capabilityOptions.push(...CapabilityOptions.officeAddinDynamicCapabilities(inputs === null || inputs === void 0 ? void 0 : inputs.projectType, inputs === null || inputs === void 0 ? void 0 : inputs.host));
537
+ // if (isOfficeXMLAddinEnabled()) {
538
+ // capabilityOptions.push(
539
+ // ...[
540
+ // ...CapabilityOptions.officeAddinStaticCapabilities("word"),
541
+ // ...CapabilityOptions.officeAddinStaticCapabilities("excel"),
542
+ // ...CapabilityOptions.officeAddinStaticCapabilities("powerpoint"),
543
+ // ]
544
+ // );
545
+ // } else {
546
+ // capabilityOptions.push(...CapabilityOptions.officeAddinStaticCapabilities("json"));
547
+ // }
469
548
  return capabilityOptions;
470
549
  }
471
550
  static outlookAddinImport() {
472
551
  return {
473
- id: "import",
552
+ id: "outlook-addin-import",
474
553
  label: localizeUtils_1.getLocalizedString("core.importAddin.label"),
475
554
  detail: localizeUtils_1.getLocalizedString("core.importAddin.detail"),
476
555
  };
477
556
  }
478
557
  static officeAddinImport() {
479
558
  return {
480
- id: "import",
559
+ id: "office-addin-import",
481
560
  label: localizeUtils_1.getLocalizedString("core.importOfficeAddin.label"),
482
561
  detail: localizeUtils_1.getLocalizedString("core.importAddin.detail"),
483
562
  description: localizeUtils_1.getLocalizedString("core.createProjectQuestion.option.description.previewOnWindow"),
484
563
  };
485
564
  }
486
- static officeXMLAddinHostOptionItems(host) {
487
- return projectConfig_1.getOfficeXMLAddinHostProjectOptions(host).map((x) => ({
488
- id: x.proj,
489
- label: localizeUtils_1.getLocalizedString(x.title),
490
- detail: localizeUtils_1.getLocalizedString(x.detail),
491
- }));
492
- }
493
- static outlookAddinItems() {
494
- return officeAddinJsonData.getProjectTemplateNames().map((template) => ({
495
- id: template,
496
- label: localizeUtils_1.getLocalizedString(officeAddinJsonData.getProjectDisplayName(template)),
497
- detail: localizeUtils_1.getLocalizedString(officeAddinJsonData.getProjectDetails(template)),
498
- description: localizeUtils_1.getLocalizedString("core.createProjectQuestion.option.description.previewOnWindow"),
499
- }));
500
- }
501
- static officeAddinItems() {
502
- return officeAddinJsonData.getProjectTemplateNames().map((template) => ({
503
- id: template,
504
- label: localizeUtils_1.getLocalizedString(officeAddinJsonData.getProjectDisplayName(template)),
505
- detail: localizeUtils_1.getLocalizedString(officeAddinJsonData.getProjectDetails(template)),
506
- }));
565
+ static officeContentAddin() {
566
+ return {
567
+ id: "office-content-addin",
568
+ label: localizeUtils_1.getLocalizedString("core.officeContentAddin.label"),
569
+ detail: localizeUtils_1.getLocalizedString("core.officeContentAddin.detail"),
570
+ };
507
571
  }
572
+ // static officeXMLAddinHostOptionItems(host: string): OptionItem[] {
573
+ // return getOfficeXMLAddinHostProjectOptions(host).map((x) => ({
574
+ // id: x.proj,
575
+ // label: getLocalizedString(x.title),
576
+ // detail: getLocalizedString(x.detail),
577
+ // }));
578
+ // }
579
+ // static jsonAddinTaskpane(): OptionItem {
580
+ // return {
581
+ // id: "json-taskpane",
582
+ // label: getLocalizedString("core.newTaskpaneAddin.label"),
583
+ // detail: getLocalizedString("core.newTaskpaneAddin.detail"),
584
+ // description: getLocalizedString(
585
+ // "core.createProjectQuestion.option.description.previewOnWindow"
586
+ // ),
587
+ // };
588
+ // }
589
+ // static officeAddinItems(): OptionItem[] {
590
+ // return officeAddinJsonData.getProjectTemplateNames().map((template) => ({
591
+ // id: template,
592
+ // label: getLocalizedString(officeAddinJsonData.getProjectDisplayName(template)),
593
+ // detail: getLocalizedString(officeAddinJsonData.getProjectDetails(template)),
594
+ // }));
595
+ // }
508
596
  static nonSsoTabAndBot() {
509
597
  return {
510
598
  id: "TabNonSsoAndBot",
@@ -582,19 +670,6 @@ function capabilityQuestion() {
582
670
  return {
583
671
  name: questionNames_1.QuestionNames.Capabilities,
584
672
  title: (inputs) => {
585
- // Office Add-in Capability
586
- if (featureFlags_1.isOfficeXMLAddinEnabled()) {
587
- switch (inputs[questionNames_1.QuestionNames.OfficeAddinCapability]) {
588
- case ProjectTypeOptions.outlookAddin().id:
589
- return localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.outlookAddin.title");
590
- case OfficeAddinCapabilityOptions.word().id:
591
- return localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.word.create.title");
592
- case OfficeAddinCapabilityOptions.excel().id:
593
- return localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.excel.create.title");
594
- case OfficeAddinCapabilityOptions.powerpoint().id:
595
- return localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.powerpoint.create.title");
596
- }
597
- }
598
673
  const projectType = inputs[questionNames_1.QuestionNames.ProjectType];
599
674
  switch (projectType) {
600
675
  case ProjectTypeOptions.bot().id:
@@ -604,9 +679,20 @@ function capabilityQuestion() {
604
679
  case ProjectTypeOptions.me().id:
605
680
  return localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.messageExtension.title");
606
681
  case ProjectTypeOptions.outlookAddin().id:
607
- return localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.outlookAddin.title");
608
682
  case ProjectTypeOptions.officeAddin().id:
683
+ case ProjectTypeOptions.officeXMLAddin().id: {
684
+ switch (inputs[questionNames_1.QuestionNames.OfficeAddinHost]) {
685
+ case OfficeAddinHostOptions.outlook().id:
686
+ return localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.outlookAddin.title");
687
+ case OfficeAddinHostOptions.word().id:
688
+ return localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.word.create.title");
689
+ case OfficeAddinHostOptions.excel().id:
690
+ return localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.excel.create.title");
691
+ case OfficeAddinHostOptions.powerpoint().id:
692
+ return localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.powerpoint.create.title");
693
+ }
609
694
  return localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.officeAddin.title");
695
+ }
610
696
  case ProjectTypeOptions.copilotPlugin().id:
611
697
  return localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.copilotPlugin.title");
612
698
  case ProjectTypeOptions.customCopilot().id:
@@ -640,7 +726,6 @@ function capabilityQuestion() {
640
726
  }
641
727
  // nodejs capabilities
642
728
  const projectType = inputs[questionNames_1.QuestionNames.ProjectType];
643
- const officeHost = inputs[questionNames_1.QuestionNames.OfficeAddinCapability];
644
729
  if (projectType === ProjectTypeOptions.bot().id) {
645
730
  return CapabilityOptions.bots(inputs);
646
731
  }
@@ -650,18 +735,8 @@ function capabilityQuestion() {
650
735
  else if (projectType === ProjectTypeOptions.me().id) {
651
736
  return CapabilityOptions.mes();
652
737
  }
653
- else if ((!featureFlags_1.isOfficeXMLAddinEnabled() && projectType === ProjectTypeOptions.outlookAddin().id) ||
654
- (featureFlags_1.isOfficeXMLAddinEnabled() &&
655
- projectType === ProjectTypeOptions.officeXMLAddin().id &&
656
- officeHost === ProjectTypeOptions.outlookAddin().id)) {
657
- return [...CapabilityOptions.outlookAddinItems(), CapabilityOptions.outlookAddinImport()];
658
- }
659
- else if (featureFlags_1.isOfficeXMLAddinEnabled() &&
660
- projectType === ProjectTypeOptions.officeXMLAddin().id) {
661
- return CapabilityOptions.officeXMLAddinHostOptionItems(officeHost);
662
- }
663
- else if (projectType === ProjectTypeOptions.officeAddin().id) {
664
- return CapabilityOptions.officeAll();
738
+ else if (ProjectTypeOptions.officeAddinAllIds().includes(projectType)) {
739
+ return CapabilityOptions.officeAddinDynamicCapabilities(projectType, inputs[questionNames_1.QuestionNames.OfficeAddinHost]);
665
740
  }
666
741
  else if (projectType === ProjectTypeOptions.copilotPlugin().id) {
667
742
  return CapabilityOptions.copilotPlugins();
@@ -1042,51 +1117,15 @@ function SPFxImportFolderQuestion(hasDefaultFunc = false) {
1042
1117
  };
1043
1118
  }
1044
1119
  exports.SPFxImportFolderQuestion = SPFxImportFolderQuestion;
1045
- const getTemplate = (inputs) => {
1046
- const capabilities = inputs[questionNames_1.QuestionNames.Capabilities];
1047
- const templates = officeAddinJsonData.getProjectTemplateNames();
1048
- const foundTemplate = templates.find((template) => {
1049
- return capabilities && capabilities.includes(template);
1050
- });
1051
- return foundTemplate !== null && foundTemplate !== void 0 ? foundTemplate : "";
1052
- };
1053
- exports.getTemplate = getTemplate;
1054
1120
  function officeAddinHostingQuestion() {
1055
- const OfficeHostQuestion = {
1056
- type: "singleSelect",
1121
+ return {
1057
1122
  name: questionNames_1.QuestionNames.OfficeAddinHost,
1058
- title: "Add-in Host",
1059
- staticOptions: [],
1060
- dynamicOptions: getAddinHostOptions,
1061
- default: (inputs) => {
1062
- const template = exports.getTemplate(inputs);
1063
- const options = officeAddinJsonData.getHostTemplateNames(template);
1064
- return options[0] || "No Options";
1065
- },
1066
- skipSingleOption: true,
1123
+ title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.create.title"),
1124
+ type: "singleSelect",
1125
+ staticOptions: OfficeAddinHostOptions.all(),
1067
1126
  };
1068
- return OfficeHostQuestion;
1069
1127
  }
1070
1128
  exports.officeAddinHostingQuestion = officeAddinHostingQuestion;
1071
- function getAddinHostOptions(inputs) {
1072
- // office addin supports host defined in officeAddinJsonData
1073
- const projectType = inputs[questionNames_1.QuestionNames.ProjectType];
1074
- const template = exports.getTemplate(inputs);
1075
- const hostTypes = officeAddinJsonData.getHostTemplateNames(template);
1076
- const options = [];
1077
- hostTypes.forEach((host) => {
1078
- options.push({ label: officeAddinJsonData.getHostDisplayName(host), id: host });
1079
- });
1080
- // Outlook addin only supports outlook
1081
- if (projectType === ProjectTypeOptions.outlookAddin().id) {
1082
- return [options[0] || { label: "No Options", id: "No Options" }];
1083
- }
1084
- else if (projectType === ProjectTypeOptions.officeAddin().id) {
1085
- return options;
1086
- }
1087
- return options || "No Options";
1088
- }
1089
- exports.getAddinHostOptions = getAddinHostOptions;
1090
1129
  function OfficeAddinFrameworkQuestion() {
1091
1130
  return {
1092
1131
  type: "singleSelect",
@@ -1103,63 +1142,72 @@ function OfficeAddinFrameworkQuestion() {
1103
1142
  };
1104
1143
  }
1105
1144
  exports.OfficeAddinFrameworkQuestion = OfficeAddinFrameworkQuestion;
1106
- const officeAddinJsonData = new projectsJsonData_1.default();
1145
+ /**
1146
+ * when project-type=office-addin-type(office-addin-framework-type=default or react), use selected value;
1147
+ * when project-type=outlook-addin-type, no framework to select, office-addin-framework-type=default_old
1148
+ * when project-type=office-xml-addin-type, no framework to select, office-addin-framework-type=default_old
1149
+ */
1150
+ function getOfficeAddinFramework(inputs) {
1151
+ const projectType = inputs[questionNames_1.QuestionNames.ProjectType];
1152
+ if (projectType === ProjectTypeOptions.officeAddin().id &&
1153
+ inputs[questionNames_1.QuestionNames.OfficeAddinFramework]) {
1154
+ return inputs[questionNames_1.QuestionNames.OfficeAddinFramework];
1155
+ }
1156
+ else if (projectType === ProjectTypeOptions.officeXMLAddin().id &&
1157
+ inputs[questionNames_1.QuestionNames.OfficeAddinHost] !== OfficeAddinHostOptions.outlook().id) {
1158
+ return "default";
1159
+ }
1160
+ else {
1161
+ return "default_old";
1162
+ }
1163
+ }
1164
+ exports.getOfficeAddinFramework = getOfficeAddinFramework;
1107
1165
  function getLanguageOptions(inputs) {
1108
1166
  const runtime = getRuntime(inputs);
1109
1167
  // dotnet runtime only supports C#
1110
1168
  if (runtime === RuntimeOptions.DotNet().id) {
1111
- return [{ id: "csharp", label: "C#" }];
1169
+ return [{ id: ProgrammingLanguage.CSharp, label: "C#" }];
1112
1170
  }
1171
+ const capabilities = inputs[questionNames_1.QuestionNames.Capabilities];
1172
+ const host = inputs[questionNames_1.QuestionNames.OfficeAddinHost];
1113
1173
  // office addin supports language defined in officeAddinJsonData
1114
1174
  const projectType = inputs[questionNames_1.QuestionNames.ProjectType];
1115
- const officeHost = inputs[questionNames_1.QuestionNames.OfficeAddinCapability];
1116
- if ((!featureFlags_1.isOfficeXMLAddinEnabled() && projectType === ProjectTypeOptions.outlookAddin().id) ||
1117
- (featureFlags_1.isOfficeXMLAddinEnabled() &&
1118
- projectType === ProjectTypeOptions.officeXMLAddin().id &&
1119
- officeHost === ProjectTypeOptions.outlookAddin().id)) {
1120
- const template = exports.getTemplate(inputs);
1121
- const supportedTypes = officeAddinJsonData.getSupportedScriptTypes(template);
1122
- const options = supportedTypes.map((language) => ({ label: language, id: language }));
1123
- return options.length > 0 ? options : [{ label: "No Options", id: "No Options" }];
1124
- }
1125
- if (featureFlags_1.isOfficeXMLAddinEnabled() && projectType === ProjectTypeOptions.officeXMLAddin().id) {
1126
- const officeProject = inputs[questionNames_1.QuestionNames.Capabilities];
1127
- return officeProject !== "manifest"
1128
- ? projectConfig_1.getOfficeXMLAddinHostProjectLangOptions(officeHost, officeProject)
1129
- : [{ id: "javascript", label: "JavaScript" }];
1130
- }
1131
- if (projectType === ProjectTypeOptions.officeAddin().id) {
1132
- const template = exports.getTemplate(inputs);
1133
- const supportedTypes = officeAddinJsonData.getSupportedScriptTypesNew(template);
1134
- const options = [];
1135
- supportedTypes.forEach((language) => {
1136
- if (language === "TypeScript") {
1137
- options.push({ label: "TypeScript", id: "typescript" });
1138
- }
1139
- else if (language === "JavaScript") {
1140
- options.push({ label: "JavaScript", id: "javascript" });
1141
- }
1142
- });
1143
- return options.length > 0 ? options : [{ label: "No Options", id: "No Options" }];
1175
+ if (ProjectTypeOptions.officeAddinAllIds().includes(projectType)) {
1176
+ if (capabilities.endsWith("-manifest")) {
1177
+ return [{ id: ProgrammingLanguage.JS, label: "JavaScript" }];
1178
+ }
1179
+ if (projectType === ProjectTypeOptions.outlookAddin().id ||
1180
+ (projectType === ProjectTypeOptions.officeXMLAddin().id &&
1181
+ host === OfficeAddinHostOptions.outlook().id)) {
1182
+ return [{ id: ProgrammingLanguage.TS, label: "TypeScript" }];
1183
+ }
1184
+ return [
1185
+ { id: ProgrammingLanguage.TS, label: "TypeScript" },
1186
+ { id: ProgrammingLanguage.JS, label: "JavaScript" },
1187
+ ];
1144
1188
  }
1145
- const capabilities = inputs[questionNames_1.QuestionNames.Capabilities];
1146
1189
  if (capabilities === CapabilityOptions.SPFxTab().id) {
1147
1190
  // SPFx only supports typescript
1148
- return [{ id: "typescript", label: "TypeScript" }];
1191
+ return [{ id: ProgrammingLanguage.TS, label: "TypeScript" }];
1149
1192
  }
1150
1193
  else if (constants_3.capabilitiesHavePythonOption.includes(capabilities)) {
1151
1194
  // support python language
1152
1195
  return [
1153
- { id: "javascript", label: "JavaScript" },
1154
- { id: "typescript", label: "TypeScript" },
1155
- { id: "python", label: "Python" },
1196
+ { id: ProgrammingLanguage.JS, label: "JavaScript" },
1197
+ { id: ProgrammingLanguage.TS, label: "TypeScript" },
1198
+ {
1199
+ id: ProgrammingLanguage.PY,
1200
+ label: "Python",
1201
+ detail: "",
1202
+ description: localizeUtils_1.getLocalizedString("core.createProjectQuestion.option.description.preview"),
1203
+ },
1156
1204
  ];
1157
1205
  }
1158
1206
  else {
1159
1207
  // other cases
1160
1208
  return [
1161
- { id: "javascript", label: "JavaScript" },
1162
- { id: "typescript", label: "TypeScript" },
1209
+ { id: ProgrammingLanguage.JS, label: "JavaScript" },
1210
+ { id: ProgrammingLanguage.TS, label: "TypeScript" },
1163
1211
  ];
1164
1212
  }
1165
1213
  }
@@ -1193,14 +1241,14 @@ function programmingLanguageQuestion() {
1193
1241
  if (runtime === RuntimeOptions.DotNet().id) {
1194
1242
  return "";
1195
1243
  }
1196
- // office addin
1197
- const projectType = inputs[questionNames_1.QuestionNames.ProjectType];
1198
- if (projectType === ProjectTypeOptions.outlookAddin().id) {
1199
- const template = exports.getTemplate(inputs);
1200
- const options = officeAddinJsonData.getSupportedScriptTypesNew(template);
1201
- return options[0] || "No Options";
1202
- }
1203
1244
  const capabilities = inputs[questionNames_1.QuestionNames.Capabilities];
1245
+ // // office addin
1246
+ // const projectType = inputs[QuestionNames.ProjectType];
1247
+ // if (projectType === ProjectTypeOptions.outlookAddin().id) {
1248
+ // const template = getTemplate(inputs);
1249
+ // const options = officeAddinJsonData.getSupportedScriptTypesNew(template);
1250
+ // return options[0] || "No Options";
1251
+ // }
1204
1252
  // SPFx
1205
1253
  if (capabilities === CapabilityOptions.SPFxTab().id) {
1206
1254
  return localizeUtils_1.getLocalizedString("core.ProgrammingLanguageQuestion.placeholder.spfx");
@@ -1937,8 +1985,13 @@ function capabilitySubTree() {
1937
1985
  ],
1938
1986
  },
1939
1987
  {
1940
- // office addin import sub-tree
1941
- condition: { equals: CapabilityOptions.outlookAddinImport().id },
1988
+ // office addin import sub-tree (capabilities=office-addin-import | outlook-addin-import)
1989
+ condition: {
1990
+ enum: [
1991
+ CapabilityOptions.outlookAddinImport().id,
1992
+ CapabilityOptions.officeAddinImport().id,
1993
+ ],
1994
+ },
1942
1995
  data: { type: "group", name: questionNames_1.QuestionNames.OfficeAddinImport },
1943
1996
  children: [
1944
1997
  {
@@ -1957,15 +2010,6 @@ function capabilitySubTree() {
1957
2010
  },
1958
2011
  ],
1959
2012
  },
1960
- {
1961
- // office addin other items sub-tree
1962
- condition: (inputs) => featureFlags_1.isOfficeXMLAddinEnabled()
1963
- ? false
1964
- : CapabilityOptions.outlookAddinItems()
1965
- .map((i) => i.id)
1966
- .includes(inputs[questionNames_1.QuestionNames.Capabilities]),
1967
- data: officeAddinHostingQuestion(),
1968
- },
1969
2013
  {
1970
2014
  // Search ME sub-tree
1971
2015
  condition: { equals: CapabilityOptions.m365SearchMe().id },
@@ -2045,7 +2089,9 @@ function capabilitySubTree() {
2045
2089
  inputs[questionNames_1.QuestionNames.Capabilities] !== CapabilityOptions.copilotPluginApiSpec().id &&
2046
2090
  inputs[questionNames_1.QuestionNames.Capabilities] !==
2047
2091
  CapabilityOptions.copilotPluginOpenAIPlugin().id &&
2048
- inputs[questionNames_1.QuestionNames.MeArchitectureType] !== MeArchitectureOptions.apiSpec().id);
2092
+ inputs[questionNames_1.QuestionNames.MeArchitectureType] !== MeArchitectureOptions.apiSpec().id &&
2093
+ inputs[questionNames_1.QuestionNames.Capabilities] !== CapabilityOptions.officeAddinImport().id &&
2094
+ inputs[questionNames_1.QuestionNames.Capabilities] !== CapabilityOptions.outlookAddinImport().id);
2049
2095
  },
2050
2096
  },
2051
2097
  {
@@ -2078,7 +2124,8 @@ function capabilitySubTree() {
2078
2124
  {
2079
2125
  // WXP addin framework
2080
2126
  condition: (inputs) => {
2081
- return inputs[questionNames_1.QuestionNames.ProjectType] === ProjectTypeOptions.officeAddin().id;
2127
+ return (inputs[questionNames_1.QuestionNames.ProjectType] === ProjectTypeOptions.officeAddin().id &&
2128
+ inputs[questionNames_1.QuestionNames.Capabilities] !== CapabilityOptions.officeAddinImport().id);
2082
2129
  },
2083
2130
  data: OfficeAddinFrameworkQuestion(),
2084
2131
  },
@@ -2109,19 +2156,8 @@ function createProjectQuestionNode() {
2109
2156
  cliOptionDisabled: "self",
2110
2157
  },
2111
2158
  {
2112
- condition: (inputs) => featureFlags_1.isOfficeXMLAddinEnabled() &&
2113
- inputs[questionNames_1.QuestionNames.ProjectType] === ProjectTypeOptions.officeXMLAddin().id,
2114
- data: {
2115
- name: questionNames_1.QuestionNames.OfficeAddinCapability,
2116
- title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.create.title"),
2117
- type: "singleSelect",
2118
- staticOptions: [
2119
- ProjectTypeOptions.outlookAddin(),
2120
- OfficeAddinCapabilityOptions.word(),
2121
- OfficeAddinCapabilityOptions.excel(),
2122
- OfficeAddinCapabilityOptions.powerpoint(),
2123
- ],
2124
- },
2159
+ condition: (inputs) => inputs[questionNames_1.QuestionNames.ProjectType] === ProjectTypeOptions.officeXMLAddin().id,
2160
+ data: officeAddinHostingQuestion(),
2125
2161
  },
2126
2162
  capabilitySubTree(),
2127
2163
  {