@microsoft/teamsfx-core 2.0.7-alpha.a10762b45.0 → 2.0.7-alpha.a372ccf67.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 (350) hide show
  1. package/build/common/constants.d.ts +6 -1
  2. package/build/common/constants.d.ts.map +1 -1
  3. package/build/common/constants.js +6 -1
  4. package/build/common/constants.js.map +1 -1
  5. package/build/common/deps-checker/constant/helpLink.d.ts +1 -1
  6. package/build/common/deps-checker/constant/helpLink.d.ts.map +1 -1
  7. package/build/common/deps-checker/constant/helpLink.js +1 -1
  8. package/build/common/deps-checker/constant/helpLink.js.map +1 -1
  9. package/build/common/featureFlags.d.ts +5 -0
  10. package/build/common/featureFlags.d.ts.map +1 -1
  11. package/build/common/featureFlags.js +25 -3
  12. package/build/common/featureFlags.js.map +1 -1
  13. package/build/common/jsonUtils.js.map +1 -1
  14. package/build/common/local/packageJsonHelper.d.ts.map +1 -1
  15. package/build/common/local/packageJsonHelper.js +1 -2
  16. package/build/common/local/packageJsonHelper.js.map +1 -1
  17. package/build/common/m365/packageService.d.ts +1 -0
  18. package/build/common/m365/packageService.d.ts.map +1 -1
  19. package/build/common/m365/packageService.js +17 -3
  20. package/build/common/m365/packageService.js.map +1 -1
  21. package/build/common/projectSettingsHelper.d.ts +3 -0
  22. package/build/common/projectSettingsHelper.d.ts.map +1 -1
  23. package/build/common/projectSettingsHelper.js +29 -1
  24. package/build/common/projectSettingsHelper.js.map +1 -1
  25. package/build/common/projectTypeChecker.d.ts.map +1 -1
  26. package/build/common/projectTypeChecker.js +1 -2
  27. package/build/common/projectTypeChecker.js.map +1 -1
  28. package/build/common/samples.d.ts +4 -3
  29. package/build/common/samples.d.ts.map +1 -1
  30. package/build/common/samples.js +85 -41
  31. package/build/common/samples.js.map +1 -1
  32. package/build/common/telemetry.d.ts +3 -1
  33. package/build/common/telemetry.d.ts.map +1 -1
  34. package/build/common/telemetry.js +2 -0
  35. package/build/common/telemetry.js.map +1 -1
  36. package/build/common/templates-config.json +1 -0
  37. package/build/common/tools.d.ts.map +1 -1
  38. package/build/common/tools.js +5 -2
  39. package/build/common/tools.js.map +1 -1
  40. package/build/common/wrappedAxiosClient.d.ts +59 -0
  41. package/build/common/wrappedAxiosClient.d.ts.map +1 -0
  42. package/build/common/wrappedAxiosClient.js +247 -0
  43. package/build/common/wrappedAxiosClient.js.map +1 -0
  44. package/build/component/configManager/lifecycle.js +1 -1
  45. package/build/component/configManager/lifecycle.js.map +1 -1
  46. package/build/component/configManager/validator.js +1 -1
  47. package/build/component/configManager/validator.js.map +1 -1
  48. package/build/component/constant/commonConstant.d.ts +5 -0
  49. package/build/component/constant/commonConstant.d.ts.map +1 -1
  50. package/build/component/constant/commonConstant.js +7 -1
  51. package/build/component/constant/commonConstant.js.map +1 -1
  52. package/build/component/coordinator/index.d.ts +12 -1
  53. package/build/component/coordinator/index.d.ts.map +1 -1
  54. package/build/component/coordinator/index.js +107 -21
  55. package/build/component/coordinator/index.js.map +1 -1
  56. package/build/component/developerPortalScaffoldUtils.d.ts.map +1 -1
  57. package/build/component/developerPortalScaffoldUtils.js +0 -2
  58. package/build/component/developerPortalScaffoldUtils.js.map +1 -1
  59. package/build/component/driver/aad/create.d.ts +1 -1
  60. package/build/component/driver/aad/create.d.ts.map +1 -1
  61. package/build/component/driver/aad/create.js +11 -11
  62. package/build/component/driver/aad/create.js.map +1 -1
  63. package/build/component/driver/aad/update.d.ts +1 -1
  64. package/build/component/driver/aad/update.d.ts.map +1 -1
  65. package/build/component/driver/aad/update.js +10 -8
  66. package/build/component/driver/aad/update.js.map +1 -1
  67. package/build/component/driver/aad/utility/aadAppClient.d.ts +1 -0
  68. package/build/component/driver/aad/utility/aadAppClient.d.ts.map +1 -1
  69. package/build/component/driver/aad/utility/aadAppClient.js +16 -2
  70. package/build/component/driver/aad/utility/aadAppClient.js.map +1 -1
  71. package/build/component/driver/apiKey/create.d.ts +1 -2
  72. package/build/component/driver/apiKey/create.d.ts.map +1 -1
  73. package/build/component/driver/apiKey/create.js +29 -34
  74. package/build/component/driver/apiKey/create.js.map +1 -1
  75. package/build/component/driver/apiKey/error/apiKeyClientSecretInvalid.d.ts.map +1 -1
  76. package/build/component/driver/apiKey/error/apiKeyClientSecretInvalid.js +2 -3
  77. package/build/component/driver/apiKey/error/apiKeyClientSecretInvalid.js.map +1 -1
  78. package/build/component/driver/apiKey/interface/createApiKeyArgs.d.ts +2 -1
  79. package/build/component/driver/apiKey/interface/createApiKeyArgs.d.ts.map +1 -1
  80. package/build/component/driver/apiKey/utility/constants.d.ts +2 -1
  81. package/build/component/driver/apiKey/utility/constants.d.ts.map +1 -1
  82. package/build/component/driver/apiKey/utility/constants.js +3 -2
  83. package/build/component/driver/apiKey/utility/constants.js.map +1 -1
  84. package/build/component/driver/botAadApp/create.d.ts +2 -2
  85. package/build/component/driver/botAadApp/create.d.ts.map +1 -1
  86. package/build/component/driver/botAadApp/create.js +18 -18
  87. package/build/component/driver/botAadApp/create.js.map +1 -1
  88. package/build/component/driver/botFramework/createOrUpdateBot.d.ts.map +1 -1
  89. package/build/component/driver/botFramework/createOrUpdateBot.js +9 -11
  90. package/build/component/driver/botFramework/createOrUpdateBot.js.map +1 -1
  91. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.d.ts.map +1 -1
  92. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js +5 -5
  93. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js.map +1 -1
  94. package/build/component/driver/file/createOrUpdateEnvironmentFile.d.ts.map +1 -1
  95. package/build/component/driver/file/createOrUpdateEnvironmentFile.js +6 -6
  96. package/build/component/driver/file/createOrUpdateEnvironmentFile.js.map +1 -1
  97. package/build/component/driver/file/createOrUpdateJsonFile.d.ts.map +1 -1
  98. package/build/component/driver/file/createOrUpdateJsonFile.js +8 -8
  99. package/build/component/driver/file/createOrUpdateJsonFile.js.map +1 -1
  100. package/build/component/driver/m365/acquire.d.ts.map +1 -1
  101. package/build/component/driver/m365/acquire.js +9 -10
  102. package/build/component/driver/m365/acquire.js.map +1 -1
  103. package/build/component/driver/middleware/addSWADeployTelemetry.js +1 -2
  104. package/build/component/driver/middleware/addSWADeployTelemetry.js.map +1 -1
  105. package/build/component/driver/teamsApp/appStudio.d.ts.map +1 -1
  106. package/build/component/driver/teamsApp/appStudio.js +0 -2
  107. package/build/component/driver/teamsApp/appStudio.js.map +1 -1
  108. package/build/component/driver/teamsApp/clients/appStudioClient.d.ts +33 -9
  109. package/build/component/driver/teamsApp/clients/appStudioClient.d.ts.map +1 -1
  110. package/build/component/driver/teamsApp/clients/appStudioClient.js +142 -112
  111. package/build/component/driver/teamsApp/clients/appStudioClient.js.map +1 -1
  112. package/build/component/driver/teamsApp/clients/authSvcClient.d.ts.map +1 -1
  113. package/build/component/driver/teamsApp/clients/authSvcClient.js +3 -24
  114. package/build/component/driver/teamsApp/clients/authSvcClient.js.map +1 -1
  115. package/build/component/driver/teamsApp/configure.d.ts.map +1 -1
  116. package/build/component/driver/teamsApp/configure.js +0 -2
  117. package/build/component/driver/teamsApp/configure.js.map +1 -1
  118. package/build/component/driver/teamsApp/constants.d.ts +7 -0
  119. package/build/component/driver/teamsApp/constants.d.ts.map +1 -1
  120. package/build/component/driver/teamsApp/constants.js +7 -0
  121. package/build/component/driver/teamsApp/constants.js.map +1 -1
  122. package/build/component/driver/teamsApp/create.d.ts.map +1 -1
  123. package/build/component/driver/teamsApp/create.js +0 -2
  124. package/build/component/driver/teamsApp/create.js.map +1 -1
  125. package/build/component/driver/teamsApp/createAppPackage.d.ts +3 -0
  126. package/build/component/driver/teamsApp/createAppPackage.d.ts.map +1 -1
  127. package/build/component/driver/teamsApp/createAppPackage.js +61 -14
  128. package/build/component/driver/teamsApp/createAppPackage.js.map +1 -1
  129. package/build/component/driver/teamsApp/errors.d.ts +4 -0
  130. package/build/component/driver/teamsApp/errors.d.ts.map +1 -1
  131. package/build/component/driver/teamsApp/errors.js +7 -0
  132. package/build/component/driver/teamsApp/errors.js.map +1 -1
  133. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationDetailsResponse.d.ts +21 -0
  134. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationDetailsResponse.d.ts.map +1 -0
  135. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationDetailsResponse.js +5 -0
  136. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationDetailsResponse.js.map +1 -0
  137. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResponse.d.ts +17 -0
  138. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResponse.d.ts.map +1 -0
  139. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResponse.js +16 -0
  140. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResponse.js.map +1 -0
  141. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResultsResponse.d.ts +41 -0
  142. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResultsResponse.d.ts.map +1 -0
  143. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResultsResponse.js +5 -0
  144. package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResultsResponse.js.map +1 -0
  145. package/build/component/driver/teamsApp/publishAppPackage.d.ts.map +1 -1
  146. package/build/component/driver/teamsApp/publishAppPackage.js +3 -5
  147. package/build/component/driver/teamsApp/publishAppPackage.js.map +1 -1
  148. package/build/component/driver/teamsApp/utils/ManifestUtils.d.ts +1 -0
  149. package/build/component/driver/teamsApp/utils/ManifestUtils.d.ts.map +1 -1
  150. package/build/component/driver/teamsApp/utils/ManifestUtils.js +17 -0
  151. package/build/component/driver/teamsApp/utils/ManifestUtils.js.map +1 -1
  152. package/build/component/driver/teamsApp/utils/PluginManifestUtils.d.ts +8 -0
  153. package/build/component/driver/teamsApp/utils/PluginManifestUtils.d.ts.map +1 -0
  154. package/build/component/driver/teamsApp/utils/PluginManifestUtils.js +63 -0
  155. package/build/component/driver/teamsApp/utils/PluginManifestUtils.js.map +1 -0
  156. package/build/component/driver/teamsApp/utils/telemetry.d.ts +0 -31
  157. package/build/component/driver/teamsApp/utils/telemetry.d.ts.map +1 -1
  158. package/build/component/driver/teamsApp/utils/telemetry.js +1 -53
  159. package/build/component/driver/teamsApp/utils/telemetry.js.map +1 -1
  160. package/build/component/driver/teamsApp/validate.d.ts.map +1 -1
  161. package/build/component/driver/teamsApp/validate.js +0 -1
  162. package/build/component/driver/teamsApp/validate.js.map +1 -1
  163. package/build/component/driver/teamsApp/validateAppPackage.d.ts.map +1 -1
  164. package/build/component/driver/teamsApp/validateAppPackage.js +0 -1
  165. package/build/component/driver/teamsApp/validateAppPackage.js.map +1 -1
  166. package/build/component/feature/collaboration.d.ts +1 -1
  167. package/build/component/feature/collaboration.d.ts.map +1 -1
  168. package/build/component/feature/collaboration.js +10 -12
  169. package/build/component/feature/collaboration.js.map +1 -1
  170. package/build/component/generator/copilotPlugin/generator.d.ts +5 -2
  171. package/build/component/generator/copilotPlugin/generator.d.ts.map +1 -1
  172. package/build/component/generator/copilotPlugin/generator.js +101 -26
  173. package/build/component/generator/copilotPlugin/generator.js.map +1 -1
  174. package/build/component/generator/copilotPlugin/helper.d.ts +8 -3
  175. package/build/component/generator/copilotPlugin/helper.d.ts.map +1 -1
  176. package/build/component/generator/copilotPlugin/helper.js +239 -28
  177. package/build/component/generator/copilotPlugin/helper.js.map +1 -1
  178. package/build/component/generator/error.d.ts +1 -1
  179. package/build/component/generator/error.d.ts.map +1 -1
  180. package/build/component/generator/error.js +4 -4
  181. package/build/component/generator/error.js.map +1 -1
  182. package/build/component/generator/generator.d.ts +6 -1
  183. package/build/component/generator/generator.d.ts.map +1 -1
  184. package/build/component/generator/generator.js +32 -26
  185. package/build/component/generator/generator.js.map +1 -1
  186. package/build/component/generator/generatorAction.d.ts +5 -16
  187. package/build/component/generator/generatorAction.d.ts.map +1 -1
  188. package/build/component/generator/generatorAction.js +46 -87
  189. package/build/component/generator/generatorAction.js.map +1 -1
  190. package/build/component/generator/officeAddin/config/projectProperties.d.ts +32 -1
  191. package/build/component/generator/officeAddin/config/projectProperties.d.ts.map +1 -1
  192. package/build/component/generator/officeAddin/config/projectProperties.js +33 -2
  193. package/build/component/generator/officeAddin/config/projectProperties.js.map +1 -1
  194. package/build/component/generator/officeAddin/config/projectsJsonData.d.ts +7 -1
  195. package/build/component/generator/officeAddin/config/projectsJsonData.d.ts.map +1 -1
  196. package/build/component/generator/officeAddin/config/projectsJsonData.js +54 -4
  197. package/build/component/generator/officeAddin/config/projectsJsonData.js.map +1 -1
  198. package/build/component/generator/officeAddin/generator.d.ts.map +1 -1
  199. package/build/component/generator/officeAddin/generator.js +31 -10
  200. package/build/component/generator/officeAddin/generator.js.map +1 -1
  201. package/build/component/generator/officeAddin/helperMethods.d.ts +2 -1
  202. package/build/component/generator/officeAddin/helperMethods.d.ts.map +1 -1
  203. package/build/component/generator/officeAddin/helperMethods.js +21 -10
  204. package/build/component/generator/officeAddin/helperMethods.js.map +1 -1
  205. package/build/component/generator/officeXMLAddin/generator.d.ts +9 -0
  206. package/build/component/generator/officeXMLAddin/generator.d.ts.map +1 -0
  207. package/build/component/generator/officeXMLAddin/generator.js +90 -0
  208. package/build/component/generator/officeXMLAddin/generator.js.map +1 -0
  209. package/build/component/generator/officeXMLAddin/projectConfig.d.ts +36 -0
  210. package/build/component/generator/officeXMLAddin/projectConfig.d.ts.map +1 -0
  211. package/build/component/generator/officeXMLAddin/projectConfig.js +127 -0
  212. package/build/component/generator/officeXMLAddin/projectConfig.js.map +1 -0
  213. package/build/component/generator/spfx/error.d.ts +1 -0
  214. package/build/component/generator/spfx/error.d.ts.map +1 -1
  215. package/build/component/generator/spfx/error.js +11 -1
  216. package/build/component/generator/spfx/error.js.map +1 -1
  217. package/build/component/generator/spfx/spfxGenerator.d.ts +1 -0
  218. package/build/component/generator/spfx/spfxGenerator.d.ts.map +1 -1
  219. package/build/component/generator/spfx/spfxGenerator.js +33 -0
  220. package/build/component/generator/spfx/spfxGenerator.js.map +1 -1
  221. package/build/component/generator/spfx/utils/constants.d.ts +2 -0
  222. package/build/component/generator/spfx/utils/constants.d.ts.map +1 -1
  223. package/build/component/generator/spfx/utils/constants.js +2 -0
  224. package/build/component/generator/spfx/utils/constants.js.map +1 -1
  225. package/build/component/generator/spfx/utils/telemetryEvents.d.ts +2 -1
  226. package/build/component/generator/spfx/utils/telemetryEvents.d.ts.map +1 -1
  227. package/build/component/generator/spfx/utils/telemetryEvents.js +1 -0
  228. package/build/component/generator/spfx/utils/telemetryEvents.js.map +1 -1
  229. package/build/component/generator/utils.d.ts +2 -1
  230. package/build/component/generator/utils.d.ts.map +1 -1
  231. package/build/component/generator/utils.js +35 -16
  232. package/build/component/generator/utils.js.map +1 -1
  233. package/build/component/middleware/envMW.d.ts.map +1 -1
  234. package/build/component/middleware/envMW.js +9 -6
  235. package/build/component/middleware/envMW.js.map +1 -1
  236. package/build/component/resource/botService/appStudio/appStudioClient.d.ts +2 -0
  237. package/build/component/resource/botService/appStudio/appStudioClient.d.ts.map +1 -1
  238. package/build/component/resource/botService/appStudio/appStudioClient.js +46 -31
  239. package/build/component/resource/botService/appStudio/appStudioClient.js.map +1 -1
  240. package/build/component/utils/envUtil.d.ts +2 -0
  241. package/build/component/utils/envUtil.d.ts.map +1 -1
  242. package/build/component/utils/envUtil.js +23 -0
  243. package/build/component/utils/envUtil.js.map +1 -1
  244. package/build/component/utils/pathUtils.d.ts.map +1 -1
  245. package/build/component/utils/pathUtils.js +3 -1
  246. package/build/component/utils/pathUtils.js.map +1 -1
  247. package/build/core/FxCore.d.ts.map +1 -1
  248. package/build/core/FxCore.js +26 -15
  249. package/build/core/FxCore.js.map +1 -1
  250. package/build/core/collaborator.js +3 -3
  251. package/build/core/collaborator.js.map +1 -1
  252. package/build/core/middleware/projectMigratorV3.d.ts.map +1 -1
  253. package/build/core/middleware/projectMigratorV3.js +6 -1
  254. package/build/core/middleware/projectMigratorV3.js.map +1 -1
  255. package/build/error/arm.d.ts.map +1 -1
  256. package/build/error/arm.js +0 -2
  257. package/build/error/arm.js.map +1 -1
  258. package/build/error/common.d.ts +4 -0
  259. package/build/error/common.d.ts.map +1 -1
  260. package/build/error/common.js +36 -2
  261. package/build/error/common.js.map +1 -1
  262. package/build/error/deploy.d.ts.map +1 -1
  263. package/build/error/deploy.js +17 -6
  264. package/build/error/deploy.js.map +1 -1
  265. package/build/error/teamsApp.d.ts.map +1 -1
  266. package/build/error/teamsApp.js +3 -1
  267. package/build/error/teamsApp.js.map +1 -1
  268. package/build/index.d.ts +0 -1
  269. package/build/index.d.ts.map +1 -1
  270. package/build/index.js +1 -3
  271. package/build/index.js.map +1 -1
  272. package/build/question/constants.d.ts +1 -0
  273. package/build/question/constants.d.ts.map +1 -1
  274. package/build/question/constants.js +2 -1
  275. package/build/question/constants.js.map +1 -1
  276. package/build/question/create.d.ts +43 -2
  277. package/build/question/create.d.ts.map +1 -1
  278. package/build/question/create.js +620 -74
  279. package/build/question/create.js.map +1 -1
  280. package/build/question/inputs/CreateProjectInputs.d.ts +23 -7
  281. package/build/question/inputs/CreateProjectInputs.d.ts.map +1 -1
  282. package/build/question/options/CreateProjectOptions.d.ts.map +1 -1
  283. package/build/question/options/CreateProjectOptions.js +64 -11
  284. package/build/question/options/CreateProjectOptions.js.map +1 -1
  285. package/build/question/other.d.ts.map +1 -1
  286. package/build/question/other.js +2 -1
  287. package/build/question/other.js.map +1 -1
  288. package/build/question/questionNames.d.ts +11 -1
  289. package/build/question/questionNames.d.ts.map +1 -1
  290. package/build/question/questionNames.js +10 -0
  291. package/build/question/questionNames.js.map +1 -1
  292. package/package.json +8 -8
  293. package/resource/package.nls.json +206 -117
  294. package/resource/yaml-schema/v1.3/yaml.schema.json +6 -43
  295. package/resource/yaml-schema/v1.4/yaml.schema.json +1588 -0
  296. package/resource/yaml-schema/yaml.schema.json +1588 -0
  297. package/templates/fallback/common.zip +0 -0
  298. package/templates/fallback/csharp.zip +0 -0
  299. package/templates/fallback/js.zip +0 -0
  300. package/templates/fallback/python.zip +0 -0
  301. package/templates/fallback/ts.zip +0 -0
  302. package/templates/plugins/resource/aad/auth/V3/Enable SSO.txt +1 -1
  303. package/build/common/spec-parser/adaptiveCardGenerator.d.ts +0 -7
  304. package/build/common/spec-parser/adaptiveCardGenerator.d.ts.map +0 -1
  305. package/build/common/spec-parser/adaptiveCardGenerator.js +0 -168
  306. package/build/common/spec-parser/adaptiveCardGenerator.js.map +0 -1
  307. package/build/common/spec-parser/adaptiveCardWrapper.d.ts +0 -15
  308. package/build/common/spec-parser/adaptiveCardWrapper.d.ts.map +0 -1
  309. package/build/common/spec-parser/adaptiveCardWrapper.js +0 -98
  310. package/build/common/spec-parser/adaptiveCardWrapper.js.map +0 -1
  311. package/build/common/spec-parser/constants.d.ts +0 -41
  312. package/build/common/spec-parser/constants.d.ts.map +0 -1
  313. package/build/common/spec-parser/constants.js +0 -95
  314. package/build/common/spec-parser/constants.js.map +0 -1
  315. package/build/common/spec-parser/index.browser.d.ts +0 -6
  316. package/build/common/spec-parser/index.browser.d.ts.map +0 -1
  317. package/build/common/spec-parser/index.browser.js +0 -16
  318. package/build/common/spec-parser/index.browser.js.map +0 -1
  319. package/build/common/spec-parser/index.d.ts +0 -5
  320. package/build/common/spec-parser/index.d.ts.map +0 -1
  321. package/build/common/spec-parser/index.js +0 -16
  322. package/build/common/spec-parser/index.js.map +0 -1
  323. package/build/common/spec-parser/interfaces.d.ts +0 -180
  324. package/build/common/spec-parser/interfaces.d.ts.map +0 -1
  325. package/build/common/spec-parser/interfaces.js +0 -51
  326. package/build/common/spec-parser/interfaces.js.map +0 -1
  327. package/build/common/spec-parser/manifestUpdater.d.ts +0 -7
  328. package/build/common/spec-parser/manifestUpdater.d.ts.map +0 -1
  329. package/build/common/spec-parser/manifestUpdater.js +0 -98
  330. package/build/common/spec-parser/manifestUpdater.js.map +0 -1
  331. package/build/common/spec-parser/specFilter.d.ts +0 -3
  332. package/build/common/spec-parser/specFilter.d.ts.map +0 -1
  333. package/build/common/spec-parser/specFilter.js +0 -40
  334. package/build/common/spec-parser/specFilter.js.map +0 -1
  335. package/build/common/spec-parser/specParser.browser.d.ts +0 -46
  336. package/build/common/spec-parser/specParser.browser.d.ts.map +0 -1
  337. package/build/common/spec-parser/specParser.browser.js +0 -139
  338. package/build/common/spec-parser/specParser.browser.js.map +0 -1
  339. package/build/common/spec-parser/specParser.d.ts +0 -46
  340. package/build/common/spec-parser/specParser.d.ts.map +0 -1
  341. package/build/common/spec-parser/specParser.js +0 -244
  342. package/build/common/spec-parser/specParser.js.map +0 -1
  343. package/build/common/spec-parser/specParserError.d.ts +0 -6
  344. package/build/common/spec-parser/specParserError.d.ts.map +0 -1
  345. package/build/common/spec-parser/specParserError.js +0 -13
  346. package/build/common/spec-parser/specParserError.js.map +0 -1
  347. package/build/common/spec-parser/utils.d.ts +0 -43
  348. package/build/common/spec-parser/utils.d.ts.map +0 -1
  349. package/build/common/spec-parser/utils.js +0 -587
  350. package/build/common/spec-parser/utils.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.apiOperationQuestion = exports.openAIPluginManifestLocationQuestion = exports.apiSpecLocationQuestion = exports.RuntimeOptions = exports.appNameQuestion = exports.AppNamePattern = exports.folderQuestion = exports.programmingLanguageQuestion = exports.ProgrammingLanguage = exports.getLanguageOptions = exports.officeAddinHostingQuestion = exports.getTemplate = exports.SPFxImportFolderQuestion = exports.SPFxVersionOptionIds = exports.SPFxWebpartNameQuestion = exports.SPFxFrameworkQuestion = exports.SPFxPackageSelectQuestion = exports.NotificationTriggerOptions = exports.meArchitectureQuestion = exports.MeArchitectureOptions = exports.capabilityQuestion = exports.CapabilityOptions = 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.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;
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"));
@@ -29,6 +29,7 @@ const questionNames_1 = require("./questionNames");
29
29
  const util_1 = require("./util");
30
30
  const constants_3 = require("./constants");
31
31
  const correlator_1 = require("../common/correlator");
32
+ const projectConfig_1 = require("../component/generator/officeXMLAddin/projectConfig");
32
33
  class ScratchOptions {
33
34
  static yes() {
34
35
  return {
@@ -80,13 +81,34 @@ class ProjectTypeOptions {
80
81
  detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.outlookAddin.detail"),
81
82
  };
82
83
  }
84
+ static officeXMLAddin(platform) {
85
+ return {
86
+ id: "office-xml-addin-type",
87
+ label: `${platform === teamsfx_api_1.Platform.VSCode ? "$(inbox) " : ""}${localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.mainEntry.title")}`,
88
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.mainEntry.detail"),
89
+ };
90
+ }
91
+ static officeAddin(platform) {
92
+ return {
93
+ id: "office-addin-type",
94
+ label: `${platform === teamsfx_api_1.Platform.VSCode ? "$(extensions) " : ""}${localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.officeAddin.label")}`,
95
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.officeAddin.detail"),
96
+ };
97
+ }
83
98
  static copilotPlugin(platform) {
84
99
  return {
85
100
  id: "copilot-plugin-type",
86
- label: `${platform === teamsfx_api_1.Platform.VSCode ? "$(sparkle) " : ""}${localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.copilotPlugin.label")}`,
101
+ label: `${platform === teamsfx_api_1.Platform.VSCode ? "$(teamsfx-copilot-plugin) " : ""}${localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.copilotPlugin.label")}`,
87
102
  detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.copilotPlugin.detail"),
88
103
  };
89
104
  }
105
+ static customCopilot(platform) {
106
+ return {
107
+ id: "custom-copilot-type",
108
+ label: `${platform === teamsfx_api_1.Platform.VSCode ? "$(teamsfx-custom-copilot) " : ""}${localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.customCopilot.label")}`,
109
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.customCopilot.detail"),
110
+ };
111
+ }
90
112
  }
91
113
  exports.ProjectTypeOptions = ProjectTypeOptions;
92
114
  function projectTypeQuestion() {
@@ -94,7 +116,10 @@ function projectTypeQuestion() {
94
116
  ProjectTypeOptions.bot(teamsfx_api_1.Platform.CLI),
95
117
  ProjectTypeOptions.tab(teamsfx_api_1.Platform.CLI),
96
118
  ProjectTypeOptions.me(teamsfx_api_1.Platform.CLI),
97
- ProjectTypeOptions.outlookAddin(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),
122
+ ProjectTypeOptions.officeAddin(teamsfx_api_1.Platform.CLI),
98
123
  ];
99
124
  return {
100
125
  name: questionNames_1.QuestionNames.ProjectType,
@@ -103,22 +128,12 @@ function projectTypeQuestion() {
103
128
  staticOptions: staticOptions,
104
129
  dynamicOptions: (inputs) => {
105
130
  var _a;
106
- let staticOptions;
131
+ const staticOptions = [];
107
132
  if (featureFlags_1.isApiCopilotPluginEnabled()) {
108
- staticOptions = [
109
- ProjectTypeOptions.copilotPlugin(inputs.platform),
110
- ProjectTypeOptions.bot(inputs.platform),
111
- ProjectTypeOptions.tab(inputs.platform),
112
- ProjectTypeOptions.me(inputs.platform),
113
- ];
114
- }
115
- else {
116
- staticOptions = [
117
- ProjectTypeOptions.bot(inputs.platform),
118
- ProjectTypeOptions.tab(inputs.platform),
119
- ProjectTypeOptions.me(inputs.platform),
120
- ];
133
+ staticOptions.push(ProjectTypeOptions.copilotPlugin(inputs.platform));
121
134
  }
135
+ staticOptions.push(ProjectTypeOptions.customCopilot(inputs.platform));
136
+ staticOptions.push(ProjectTypeOptions.bot(inputs.platform), ProjectTypeOptions.tab(inputs.platform), ProjectTypeOptions.me(inputs.platform));
122
137
  if (developerPortalScaffoldUtils_1.isFromDevPortal(inputs)) {
123
138
  const projectType = (_a = developerPortalScaffoldUtils_1.getProjectTypeAndCapability(inputs.teamsAppFromTdp)) === null || _a === void 0 ? void 0 : _a.projectType;
124
139
  if (projectType) {
@@ -126,7 +141,11 @@ function projectTypeQuestion() {
126
141
  }
127
142
  }
128
143
  else {
129
- staticOptions.push(ProjectTypeOptions.outlookAddin(inputs.platform));
144
+ staticOptions.push(featureFlags_1.isOfficeXMLAddinEnabled() && !featureFlags_1.isOfficeJSONAddinEnabled()
145
+ ? ProjectTypeOptions.officeXMLAddin(inputs.platform)
146
+ : featureFlags_1.isOfficeJSONAddinEnabled()
147
+ ? ProjectTypeOptions.officeAddin(inputs.platform)
148
+ : ProjectTypeOptions.outlookAddin(inputs.platform));
130
149
  }
131
150
  return staticOptions;
132
151
  },
@@ -135,6 +154,30 @@ function projectTypeQuestion() {
135
154
  skipSingleOption: true,
136
155
  };
137
156
  }
157
+ class OfficeAddinCapabilityOptions {
158
+ static word() {
159
+ return {
160
+ id: "word",
161
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.word.title"),
162
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.word.detail"),
163
+ };
164
+ }
165
+ static excel() {
166
+ return {
167
+ id: "excel",
168
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.excel.title"),
169
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.excel.detail"),
170
+ };
171
+ }
172
+ static powerpoint() {
173
+ return {
174
+ id: "powerpoint",
175
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.powerpoint.title"),
176
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.powerpoint.detail"),
177
+ };
178
+ }
179
+ }
180
+ exports.OfficeAddinCapabilityOptions = OfficeAddinCapabilityOptions;
138
181
  class CapabilityOptions {
139
182
  // bot
140
183
  static basicBot() {
@@ -292,11 +335,19 @@ class CapabilityOptions {
292
335
  detail: localizeUtils_1.getLocalizedString("core.MessageExtensionOption.detail"),
293
336
  };
294
337
  }
295
- static bots(inputs, includeAssistant) {
338
+ static bots(inputs) {
339
+ if ((inputs === null || inputs === void 0 ? void 0 : inputs.platform) === teamsfx_api_1.Platform.VS) {
340
+ return [
341
+ CapabilityOptions.basicBot(),
342
+ CapabilityOptions.aiBot(),
343
+ CapabilityOptions.aiAssistantBot(),
344
+ CapabilityOptions.notificationBot(),
345
+ CapabilityOptions.commandBot(),
346
+ CapabilityOptions.workflowBot(inputs),
347
+ ];
348
+ }
296
349
  return [
297
350
  CapabilityOptions.basicBot(),
298
- CapabilityOptions.aiBot(),
299
- ...(includeAssistant === true ? [CapabilityOptions.aiAssistantBot()] : []),
300
351
  CapabilityOptions.notificationBot(),
301
352
  CapabilityOptions.commandBot(),
302
353
  CapabilityOptions.workflowBot(inputs),
@@ -311,13 +362,17 @@ class CapabilityOptions {
311
362
  ];
312
363
  }
313
364
  static dotnetCaps(inputs) {
314
- return [
365
+ const capabilities = [
315
366
  ...CapabilityOptions.copilotPlugins(),
316
- ...CapabilityOptions.bots(inputs, true),
367
+ ...CapabilityOptions.bots(inputs),
317
368
  CapabilityOptions.nonSsoTab(),
318
369
  CapabilityOptions.tab(),
319
370
  ...CapabilityOptions.collectMECaps(),
320
371
  ];
372
+ if (featureFlags_1.isTdpTemplateCliTestEnabled()) {
373
+ capabilities.push(CapabilityOptions.me());
374
+ }
375
+ return capabilities;
321
376
  }
322
377
  /**
323
378
  * Collect all capabilities for message extension, including dotnet and nodejs.
@@ -344,11 +399,29 @@ class CapabilityOptions {
344
399
  CapabilityOptions.linkUnfurling(),
345
400
  ];
346
401
  }
402
+ static officeAll() {
403
+ return [...CapabilityOptions.officeAddinItems(), CapabilityOptions.officeAddinImport()];
404
+ }
347
405
  static copilotPlugins() {
348
406
  return [
349
407
  CapabilityOptions.copilotPluginNewApi(),
350
408
  CapabilityOptions.copilotPluginApiSpec(),
351
- CapabilityOptions.copilotPluginOpenAIPlugin(),
409
+ // CapabilityOptions.copilotPluginOpenAIPlugin(),
410
+ ];
411
+ }
412
+ static customCopilots() {
413
+ return [
414
+ CapabilityOptions.customCopilotBasic(),
415
+ // CapabilityOptions.customCopilotRag(),
416
+ CapabilityOptions.customCopilotAssistant(),
417
+ ];
418
+ }
419
+ static tdpIntegrationCapabilities() {
420
+ // templates that are used by TDP integration only
421
+ return [
422
+ CapabilityOptions.me(),
423
+ CapabilityOptions.botAndMe(),
424
+ CapabilityOptions.nonSsoTabAndBot(),
352
425
  ];
353
426
  }
354
427
  /**
@@ -356,11 +429,23 @@ class CapabilityOptions {
356
429
  */
357
430
  static staticAll(inputs) {
358
431
  const capabilityOptions = [
359
- ...CapabilityOptions.bots(inputs, true),
432
+ ...CapabilityOptions.bots(inputs),
360
433
  ...CapabilityOptions.tabs(),
361
434
  ...CapabilityOptions.collectMECaps(),
362
435
  ...CapabilityOptions.copilotPlugins(),
436
+ ...CapabilityOptions.customCopilots(),
437
+ ...CapabilityOptions.tdpIntegrationCapabilities(),
363
438
  ];
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
+ }
364
449
  return capabilityOptions;
365
450
  }
366
451
  /**
@@ -368,24 +453,44 @@ class CapabilityOptions {
368
453
  */
369
454
  static all(inputs) {
370
455
  const capabilityOptions = [
371
- ...CapabilityOptions.bots(inputs, true),
456
+ ...CapabilityOptions.bots(inputs),
372
457
  ...CapabilityOptions.tabs(),
373
458
  ...CapabilityOptions.collectMECaps(),
459
+ ...CapabilityOptions.outlookAddinItems(),
374
460
  ];
375
461
  if (featureFlags_1.isApiCopilotPluginEnabled()) {
376
462
  capabilityOptions.push(...CapabilityOptions.copilotPlugins());
377
463
  }
464
+ capabilityOptions.push(...CapabilityOptions.customCopilots());
465
+ if (featureFlags_1.isTdpTemplateCliTestEnabled()) {
466
+ // test templates that are used by TDP integration only
467
+ capabilityOptions.push(...CapabilityOptions.tdpIntegrationCapabilities());
468
+ }
378
469
  return capabilityOptions;
379
470
  }
380
- static officeAddinImport() {
471
+ static outlookAddinImport() {
381
472
  return {
382
473
  id: "import",
383
474
  label: localizeUtils_1.getLocalizedString("core.importAddin.label"),
384
475
  detail: localizeUtils_1.getLocalizedString("core.importAddin.detail"),
476
+ };
477
+ }
478
+ static officeAddinImport() {
479
+ return {
480
+ id: "import",
481
+ label: localizeUtils_1.getLocalizedString("core.importOfficeAddin.label"),
482
+ detail: localizeUtils_1.getLocalizedString("core.importAddin.detail"),
385
483
  description: localizeUtils_1.getLocalizedString("core.createProjectQuestion.option.description.previewOnWindow"),
386
484
  };
387
485
  }
388
- static officeAddinItems() {
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() {
389
494
  return officeAddinJsonData.getProjectTemplateNames().map((template) => ({
390
495
  id: template,
391
496
  label: localizeUtils_1.getLocalizedString(officeAddinJsonData.getProjectDisplayName(template)),
@@ -393,6 +498,13 @@ class CapabilityOptions {
393
498
  description: localizeUtils_1.getLocalizedString("core.createProjectQuestion.option.description.previewOnWindow"),
394
499
  }));
395
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
+ }));
507
+ }
396
508
  static nonSsoTabAndBot() {
397
509
  return {
398
510
  id: "TabNonSsoAndBot",
@@ -442,12 +554,47 @@ class CapabilityOptions {
442
554
  description: localizeUtils_1.getLocalizedString("core.createProjectQuestion.option.description.preview"),
443
555
  };
444
556
  }
557
+ // custom copilot
558
+ static customCopilotBasic() {
559
+ return {
560
+ id: "custom-copilot-basic",
561
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotBasicOption.label"),
562
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotBasicOption.detail"),
563
+ };
564
+ }
565
+ static customCopilotRag() {
566
+ return {
567
+ id: "custom-copilot-rag",
568
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRagOption.label"),
569
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRagOption.detail"),
570
+ };
571
+ }
572
+ static customCopilotAssistant() {
573
+ return {
574
+ id: "custom-copilot-agent",
575
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotAssistantOption.label"),
576
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotAssistantOption.detail"),
577
+ };
578
+ }
445
579
  }
446
580
  exports.CapabilityOptions = CapabilityOptions;
447
581
  function capabilityQuestion() {
448
582
  return {
449
583
  name: questionNames_1.QuestionNames.Capabilities,
450
584
  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
+ }
451
598
  const projectType = inputs[questionNames_1.QuestionNames.ProjectType];
452
599
  switch (projectType) {
453
600
  case ProjectTypeOptions.bot().id:
@@ -458,8 +605,12 @@ function capabilityQuestion() {
458
605
  return localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.messageExtension.title");
459
606
  case ProjectTypeOptions.outlookAddin().id:
460
607
  return localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.outlookAddin.title");
608
+ case ProjectTypeOptions.officeAddin().id:
609
+ return localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.officeAddin.title");
461
610
  case ProjectTypeOptions.copilotPlugin().id:
462
611
  return localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.copilotPlugin.title");
612
+ case ProjectTypeOptions.customCopilot().id:
613
+ return localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.customCopilot.title");
463
614
  default:
464
615
  return localizeUtils_1.getLocalizedString("core.createCapabilityQuestion.titleNew");
465
616
  }
@@ -489,8 +640,9 @@ function capabilityQuestion() {
489
640
  }
490
641
  // nodejs capabilities
491
642
  const projectType = inputs[questionNames_1.QuestionNames.ProjectType];
643
+ const officeHost = inputs[questionNames_1.QuestionNames.OfficeAddinCapability];
492
644
  if (projectType === ProjectTypeOptions.bot().id) {
493
- return CapabilityOptions.bots(inputs, true);
645
+ return CapabilityOptions.bots(inputs);
494
646
  }
495
647
  else if (projectType === ProjectTypeOptions.tab().id) {
496
648
  return CapabilityOptions.tabs();
@@ -498,12 +650,25 @@ function capabilityQuestion() {
498
650
  else if (projectType === ProjectTypeOptions.me().id) {
499
651
  return CapabilityOptions.mes();
500
652
  }
501
- else if (projectType === ProjectTypeOptions.outlookAddin().id) {
502
- return [...CapabilityOptions.officeAddinItems(), CapabilityOptions.officeAddinImport()];
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();
503
665
  }
504
666
  else if (projectType === ProjectTypeOptions.copilotPlugin().id) {
505
667
  return CapabilityOptions.copilotPlugins();
506
668
  }
669
+ else if (projectType === ProjectTypeOptions.customCopilot().id) {
670
+ return CapabilityOptions.customCopilots();
671
+ }
507
672
  else {
508
673
  return CapabilityOptions.all(inputs);
509
674
  }
@@ -512,6 +677,9 @@ function capabilityQuestion() {
512
677
  if (inputs[questionNames_1.QuestionNames.ProjectType] === ProjectTypeOptions.copilotPlugin().id) {
513
678
  return localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.copilotPlugin.placeholder");
514
679
  }
680
+ else if (inputs[questionNames_1.QuestionNames.ProjectType] === ProjectTypeOptions.customCopilot().id) {
681
+ return localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.customCopilot.placeholder");
682
+ }
515
683
  return localizeUtils_1.getLocalizedString("core.createCapabilityQuestion.placeholder");
516
684
  },
517
685
  forgetLastValue: true,
@@ -540,14 +708,14 @@ class MeArchitectureOptions {
540
708
  return {
541
709
  id: "new-api",
542
710
  label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.copilotPluginNewApiOption.label"),
543
- detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.copilotPluginNewApiOption.detail"),
711
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.messageExtensionNewApiOption.detail"),
544
712
  };
545
713
  }
546
714
  static apiSpec() {
547
715
  return {
548
716
  id: "api-spec",
549
717
  label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.copilotPluginApiSpecOption.label"),
550
- detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.copilotPluginApiSpecOption.detail"),
718
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.messageExtensionApiSpecOption.detail"),
551
719
  };
552
720
  }
553
721
  static all() {
@@ -624,6 +792,16 @@ class NotificationTriggerOptions {
624
792
  detail: localizeUtils_1.getLocalizedString("plugins.bot.triggers.timer-functions.detail"),
625
793
  };
626
794
  }
795
+ static functionsTimerTriggerIsolated() {
796
+ return {
797
+ id: "timer-functions-isolated",
798
+ hostType: HostType.Functions,
799
+ triggers: [NotificationTriggers.TIMER],
800
+ label: localizeUtils_1.getLocalizedString("plugins.bot.triggers.timer-functions.label"),
801
+ description: localizeUtils_1.getLocalizedString("plugins.bot.triggers.timer-functions.description"),
802
+ detail: localizeUtils_1.getLocalizedString("plugins.bot.triggers.timer-functions.detail"),
803
+ };
804
+ }
627
805
  static functionsHttpAndTimerTrigger() {
628
806
  return {
629
807
  id: "http-and-timer-functions",
@@ -634,6 +812,16 @@ class NotificationTriggerOptions {
634
812
  detail: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-and-timer-functions.detail"),
635
813
  };
636
814
  }
815
+ static functionsHttpAndTimerTriggerIsolated() {
816
+ return {
817
+ id: "http-and-timer-functions-isolated",
818
+ hostType: HostType.Functions,
819
+ triggers: [NotificationTriggers.HTTP, NotificationTriggers.TIMER],
820
+ label: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-and-timer-functions.label"),
821
+ description: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-and-timer-functions.description"),
822
+ detail: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-and-timer-functions.detail"),
823
+ };
824
+ }
637
825
  static functionsHttpTrigger() {
638
826
  return {
639
827
  id: "http-functions",
@@ -644,6 +832,16 @@ class NotificationTriggerOptions {
644
832
  detail: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-functions.detail"),
645
833
  };
646
834
  }
835
+ static functionsHttpTriggerIsolated() {
836
+ return {
837
+ id: "http-functions-isolated",
838
+ hostType: HostType.Functions,
839
+ triggers: [NotificationTriggers.HTTP],
840
+ label: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-functions.label"),
841
+ description: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-functions.description"),
842
+ detail: localizeUtils_1.getLocalizedString("plugins.bot.triggers.http-functions.detail"),
843
+ };
844
+ }
647
845
  static functionsTriggers() {
648
846
  return [
649
847
  NotificationTriggerOptions.functionsHttpAndTimerTrigger(),
@@ -859,15 +1057,7 @@ function officeAddinHostingQuestion() {
859
1057
  name: questionNames_1.QuestionNames.OfficeAddinHost,
860
1058
  title: "Add-in Host",
861
1059
  staticOptions: [],
862
- dynamicOptions: (inputs) => {
863
- const template = exports.getTemplate(inputs);
864
- const getHostTemplateNames = officeAddinJsonData.getHostTemplateNames(template);
865
- const options = getHostTemplateNames.map((host) => ({
866
- label: officeAddinJsonData.getHostDisplayName(host),
867
- id: host,
868
- }));
869
- return options.length > 0 ? options : [{ label: "No Options", id: "No Options" }];
870
- },
1060
+ dynamicOptions: getAddinHostOptions,
871
1061
  default: (inputs) => {
872
1062
  const template = exports.getTemplate(inputs);
873
1063
  const options = officeAddinJsonData.getHostTemplateNames(template);
@@ -878,6 +1068,41 @@ function officeAddinHostingQuestion() {
878
1068
  return OfficeHostQuestion;
879
1069
  }
880
1070
  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
+ function OfficeAddinFrameworkQuestion() {
1091
+ return {
1092
+ type: "singleSelect",
1093
+ name: questionNames_1.QuestionNames.OfficeAddinFramework,
1094
+ cliShortName: "f",
1095
+ cliDescription: "Framework for WXP extension.",
1096
+ title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.officeAddin.framework.title"),
1097
+ staticOptions: [
1098
+ { id: "default", label: "Default" },
1099
+ { id: "react", label: "React" },
1100
+ ],
1101
+ placeholder: localizeUtils_1.getLocalizedString("core.createProjectQuestion.projectType.officeAddin.framework.placeholder"),
1102
+ default: "default",
1103
+ };
1104
+ }
1105
+ exports.OfficeAddinFrameworkQuestion = OfficeAddinFrameworkQuestion;
881
1106
  const officeAddinJsonData = new projectsJsonData_1.default();
882
1107
  function getLanguageOptions(inputs) {
883
1108
  const runtime = getRuntime(inputs);
@@ -887,22 +1112,56 @@ function getLanguageOptions(inputs) {
887
1112
  }
888
1113
  // office addin supports language defined in officeAddinJsonData
889
1114
  const projectType = inputs[questionNames_1.QuestionNames.ProjectType];
890
- if (projectType === ProjectTypeOptions.outlookAddin().id) {
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)) {
891
1120
  const template = exports.getTemplate(inputs);
892
1121
  const supportedTypes = officeAddinJsonData.getSupportedScriptTypes(template);
893
1122
  const options = supportedTypes.map((language) => ({ label: language, id: language }));
894
1123
  return options.length > 0 ? options : [{ label: "No Options", id: "No Options" }];
895
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" }];
1144
+ }
896
1145
  const capabilities = inputs[questionNames_1.QuestionNames.Capabilities];
897
- // SPFx only supports typescript
898
1146
  if (capabilities === CapabilityOptions.SPFxTab().id) {
1147
+ // SPFx only supports typescript
899
1148
  return [{ id: "typescript", label: "TypeScript" }];
900
1149
  }
901
- // other case
902
- return [
903
- { id: "javascript", label: "JavaScript" },
904
- { id: "typescript", label: "TypeScript" },
905
- ];
1150
+ else if (constants_3.capabilitiesHavePythonOption.includes(capabilities)) {
1151
+ // support python language
1152
+ return [
1153
+ { id: "javascript", label: "JavaScript" },
1154
+ { id: "typescript", label: "TypeScript" },
1155
+ { id: "python", label: "Python" },
1156
+ ];
1157
+ }
1158
+ else {
1159
+ // other cases
1160
+ return [
1161
+ { id: "javascript", label: "JavaScript" },
1162
+ { id: "typescript", label: "TypeScript" },
1163
+ ];
1164
+ }
906
1165
  }
907
1166
  exports.getLanguageOptions = getLanguageOptions;
908
1167
  var ProgrammingLanguage;
@@ -910,17 +1169,19 @@ var ProgrammingLanguage;
910
1169
  ProgrammingLanguage["JS"] = "javascript";
911
1170
  ProgrammingLanguage["TS"] = "typescript";
912
1171
  ProgrammingLanguage["CSharp"] = "csharp";
1172
+ ProgrammingLanguage["PY"] = "python";
913
1173
  })(ProgrammingLanguage = exports.ProgrammingLanguage || (exports.ProgrammingLanguage = {}));
914
1174
  function programmingLanguageQuestion() {
915
1175
  const programmingLanguageQuestion = {
916
1176
  name: questionNames_1.QuestionNames.ProgrammingLanguage,
917
1177
  cliShortName: "l",
918
- title: "Programming Language",
1178
+ title: localizeUtils_1.getLocalizedString("core.ProgrammingLanguageQuestion.title"),
919
1179
  type: "singleSelect",
920
1180
  staticOptions: [
921
1181
  { id: ProgrammingLanguage.JS, label: "JavaScript" },
922
1182
  { id: ProgrammingLanguage.TS, label: "TypeScript" },
923
1183
  { id: ProgrammingLanguage.CSharp, label: "C#" },
1184
+ { id: ProgrammingLanguage.PY, label: "Python" },
924
1185
  ],
925
1186
  dynamicOptions: getLanguageOptions,
926
1187
  default: (inputs) => {
@@ -936,7 +1197,7 @@ function programmingLanguageQuestion() {
936
1197
  const projectType = inputs[questionNames_1.QuestionNames.ProjectType];
937
1198
  if (projectType === ProjectTypeOptions.outlookAddin().id) {
938
1199
  const template = exports.getTemplate(inputs);
939
- const options = officeAddinJsonData.getSupportedScriptTypes(template);
1200
+ const options = officeAddinJsonData.getSupportedScriptTypesNew(template);
940
1201
  return options[0] || "No Options";
941
1202
  }
942
1203
  const capabilities = inputs[questionNames_1.QuestionNames.Capabilities];
@@ -974,7 +1235,7 @@ function appNameQuestion() {
974
1235
  type: "text",
975
1236
  name: questionNames_1.QuestionNames.AppName,
976
1237
  cliShortName: "n",
977
- title: "Application name",
1238
+ title: localizeUtils_1.getLocalizedString("core.question.appName.title"),
978
1239
  required: true,
979
1240
  default: async (inputs) => {
980
1241
  var _a, _b;
@@ -1028,7 +1289,7 @@ function appNameQuestion() {
1028
1289
  return undefined;
1029
1290
  },
1030
1291
  },
1031
- placeholder: "Application name",
1292
+ placeholder: localizeUtils_1.getLocalizedString("core.question.appName.placeholder"),
1032
1293
  };
1033
1294
  return question;
1034
1295
  }
@@ -1221,6 +1482,24 @@ function getBotOptions(inputs) {
1221
1482
  }
1222
1483
  return options;
1223
1484
  }
1485
+ class ApiMessageExtensionAuthOptions {
1486
+ static none() {
1487
+ return {
1488
+ id: "none",
1489
+ label: "None",
1490
+ };
1491
+ }
1492
+ static apiKey() {
1493
+ return {
1494
+ id: "api-key",
1495
+ label: "API Key",
1496
+ };
1497
+ }
1498
+ static all() {
1499
+ return [ApiMessageExtensionAuthOptions.none(), ApiMessageExtensionAuthOptions.apiKey()];
1500
+ }
1501
+ }
1502
+ exports.ApiMessageExtensionAuthOptions = ApiMessageExtensionAuthOptions;
1224
1503
  function selectBotIdsQuestion() {
1225
1504
  // const statcOptions: OptionItem[] = [];
1226
1505
  // statcOptions.push(botOptionItem(false, "000000-0000-0000"));
@@ -1241,14 +1520,14 @@ function selectBotIdsQuestion() {
1241
1520
  }
1242
1521
  const maximumLengthOfDetailsErrorMessageInInputBox = 90;
1243
1522
  function apiSpecLocationQuestion(includeExistingAPIs = true) {
1244
- const correlationId = correlator_1.Correlator.getId(); // This is a workaround for VSCode which will loose correlation id when user accepts the value.
1523
+ const correlationId = correlator_1.Correlator.getId(); // This is a workaround for VSCode which will lose correlation id when user accepts the value.
1245
1524
  const validationOnAccept = async (input, inputs) => {
1246
1525
  try {
1247
1526
  if (!inputs) {
1248
1527
  throw new Error("inputs is undefined"); // should never happen
1249
1528
  }
1250
1529
  const context = utils_4.createContextV3();
1251
- const res = await helper_1.listOperations(context, undefined, input.trim(), inputs[questionNames_1.QuestionNames.ManifestPath], includeExistingAPIs, false, inputs.platform === teamsfx_api_1.Platform.VSCode ? correlationId : undefined);
1530
+ const res = await helper_1.listOperations(context, undefined, input.trim(), inputs, includeExistingAPIs, false, inputs.platform === teamsfx_api_1.Platform.VSCode ? correlationId : undefined);
1252
1531
  if (res.isOk()) {
1253
1532
  inputs.supportedApisFromApiSpec = res.value;
1254
1533
  }
@@ -1315,7 +1594,7 @@ function apiSpecLocationQuestion(includeExistingAPIs = true) {
1315
1594
  exports.apiSpecLocationQuestion = apiSpecLocationQuestion;
1316
1595
  function openAIPluginManifestLocationQuestion() {
1317
1596
  // export for unit test
1318
- const correlationId = correlator_1.Correlator.getId(); // This is a workaround for VSCode which will loose correlation id when user accepts the value.
1597
+ const correlationId = correlator_1.Correlator.getId(); // This is a workaround for VSCode which will lose correlation id when user accepts the value.
1319
1598
  return {
1320
1599
  type: "text",
1321
1600
  name: questionNames_1.QuestionNames.OpenAIPluginManifest,
@@ -1350,7 +1629,7 @@ function openAIPluginManifestLocationQuestion() {
1350
1629
  }
1351
1630
  const context = utils_4.createContextV3();
1352
1631
  try {
1353
- const res = await helper_1.listOperations(context, manifest, inputs[questionNames_1.QuestionNames.ApiSpecLocation], undefined, true, true, inputs.platform === teamsfx_api_1.Platform.VSCode ? correlationId : undefined);
1632
+ const res = await helper_1.listOperations(context, manifest, inputs[questionNames_1.QuestionNames.ApiSpecLocation], inputs, true, true, inputs.platform === teamsfx_api_1.Platform.VSCode ? correlationId : undefined);
1354
1633
  if (res.isOk()) {
1355
1634
  inputs.supportedApisFromApiSpec = res.value;
1356
1635
  }
@@ -1377,19 +1656,50 @@ function openAIPluginManifestLocationQuestion() {
1377
1656
  };
1378
1657
  }
1379
1658
  exports.openAIPluginManifestLocationQuestion = openAIPluginManifestLocationQuestion;
1659
+ function apiMessageExtensionAuthQuestion() {
1660
+ return {
1661
+ type: "singleSelect",
1662
+ name: questionNames_1.QuestionNames.ApiMEAuth,
1663
+ title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiMessageExtensionAuth.title"),
1664
+ placeholder: localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiMessageExtensionAuth.placeholder"),
1665
+ cliDescription: "The authentication type for the API.",
1666
+ staticOptions: ApiMessageExtensionAuthOptions.all(),
1667
+ default: ApiMessageExtensionAuthOptions.none().id,
1668
+ };
1669
+ }
1670
+ exports.apiMessageExtensionAuthQuestion = apiMessageExtensionAuthQuestion;
1380
1671
  function apiOperationQuestion(includeExistingAPIs = true) {
1381
1672
  // export for unit test
1673
+ let placeholder = "";
1674
+ const isPlugin = (inputs) => {
1675
+ return (!!inputs && inputs[questionNames_1.QuestionNames.Capabilities] === CapabilityOptions.copilotPluginApiSpec().id);
1676
+ };
1382
1677
  return {
1383
1678
  type: "multiSelect",
1384
1679
  name: questionNames_1.QuestionNames.ApiOperation,
1385
- title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.operation.title"),
1680
+ title: (inputs) => {
1681
+ return isPlugin(inputs)
1682
+ ? localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.copilotOperation.title")
1683
+ : localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.operation.title");
1684
+ },
1386
1685
  cliDescription: "Select Operation(s) Teams Can Interact with.",
1387
1686
  cliShortName: "o",
1388
- placeholder: includeExistingAPIs
1389
- ? featureFlags_1.isApiKeyEnabled()
1390
- ? localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.operation.apikey.placeholder")
1391
- : localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.operation.placeholder")
1392
- : localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.operation.placeholder.skipExisting"),
1687
+ placeholder: (inputs) => {
1688
+ const isPlugin = inputs[questionNames_1.QuestionNames.Capabilities] === CapabilityOptions.copilotPluginApiSpec().id;
1689
+ if (!includeExistingAPIs) {
1690
+ placeholder = localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.operation.placeholder.skipExisting");
1691
+ }
1692
+ else if (isPlugin) {
1693
+ placeholder = ""; // TODO: add placeholder for api plugin
1694
+ }
1695
+ else if (featureFlags_1.isApiKeyEnabled()) {
1696
+ placeholder = localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.operation.apikey.placeholder");
1697
+ }
1698
+ else {
1699
+ placeholder = localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.operation.placeholder");
1700
+ }
1701
+ return placeholder;
1702
+ },
1393
1703
  forgetLastValue: true,
1394
1704
  staticOptions: [],
1395
1705
  validation: {
@@ -1427,6 +1737,154 @@ function apiOperationQuestion(includeExistingAPIs = true) {
1427
1737
  };
1428
1738
  }
1429
1739
  exports.apiOperationQuestion = apiOperationQuestion;
1740
+ class CustomCopilotRagOptions {
1741
+ static customize() {
1742
+ return {
1743
+ id: "custom-copilot-rag-customize",
1744
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRagCustomizeOption.label"),
1745
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRagCustomizeOption.detail"),
1746
+ };
1747
+ }
1748
+ static azureAISearch() {
1749
+ return {
1750
+ id: "custom-copilot-rag-azureAISearch",
1751
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRagAzureAISearchOption.label"),
1752
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRagAzureAISearchOption.detail"),
1753
+ };
1754
+ }
1755
+ static customApi() {
1756
+ return {
1757
+ id: "custom-copilot-rag-customApi",
1758
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRagCustomApiOption.label"),
1759
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRagCustomApiOption.detail"),
1760
+ description: localizeUtils_1.getLocalizedString("core.createProjectQuestion.option.description.preview"),
1761
+ };
1762
+ }
1763
+ static microsoft365() {
1764
+ return {
1765
+ id: "custom-copilot-rag-microsoft365",
1766
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRagMicrosoft365Option.label"),
1767
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRagMicrosoft365Option.detail"),
1768
+ };
1769
+ }
1770
+ static all() {
1771
+ return [
1772
+ CustomCopilotRagOptions.customize(),
1773
+ CustomCopilotRagOptions.azureAISearch(),
1774
+ CustomCopilotRagOptions.customApi(),
1775
+ CustomCopilotRagOptions.microsoft365(),
1776
+ ];
1777
+ }
1778
+ }
1779
+ exports.CustomCopilotRagOptions = CustomCopilotRagOptions;
1780
+ class CustomCopilotAssistantOptions {
1781
+ static new() {
1782
+ return {
1783
+ id: "custom-copilot-agent-new",
1784
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotAssistantNewOption.label"),
1785
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotAssistantNewOption.detail"),
1786
+ };
1787
+ }
1788
+ static assistantsApi() {
1789
+ return {
1790
+ id: "custom-copilot-agent-assistants-api",
1791
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotAssistantAssistantsApiOption.label"),
1792
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotAssistantAssistantsApiOption.detail"),
1793
+ description: localizeUtils_1.getLocalizedString("core.createProjectQuestion.option.description.preview"),
1794
+ };
1795
+ }
1796
+ static all() {
1797
+ return [CustomCopilotAssistantOptions.new(), CustomCopilotAssistantOptions.assistantsApi()];
1798
+ }
1799
+ }
1800
+ exports.CustomCopilotAssistantOptions = CustomCopilotAssistantOptions;
1801
+ function customCopilotRagQuestion() {
1802
+ return {
1803
+ type: "singleSelect",
1804
+ name: questionNames_1.QuestionNames.CustomCopilotRag,
1805
+ title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRag.title"),
1806
+ placeholder: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotRag.placeholder"),
1807
+ staticOptions: CustomCopilotRagOptions.all(),
1808
+ dynamicOptions: () => CustomCopilotRagOptions.all(),
1809
+ default: CustomCopilotRagOptions.customize().id,
1810
+ };
1811
+ }
1812
+ function customCopilotAssistantQuestion() {
1813
+ return {
1814
+ type: "singleSelect",
1815
+ name: questionNames_1.QuestionNames.CustomCopilotAssistant,
1816
+ title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotAssistant.title"),
1817
+ placeholder: localizeUtils_1.getLocalizedString("core.createProjectQuestion.capability.customCopilotAssistant.placeholder"),
1818
+ staticOptions: CustomCopilotAssistantOptions.all(),
1819
+ dynamicOptions: () => CustomCopilotAssistantOptions.all(),
1820
+ default: CustomCopilotAssistantOptions.new().id,
1821
+ };
1822
+ }
1823
+ function llmServiceQuestion() {
1824
+ return {
1825
+ type: "singleSelect",
1826
+ name: questionNames_1.QuestionNames.LLMService,
1827
+ title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmService.title"),
1828
+ placeholder: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmService.placeholder"),
1829
+ staticOptions: [
1830
+ {
1831
+ id: "llm-service-azure-openai",
1832
+ cliName: "azure-openai",
1833
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmServiceAzureOpenAIOption.label"),
1834
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmServiceAzureOpenAIOption.detail"),
1835
+ },
1836
+ {
1837
+ id: "llm-service-openai",
1838
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmServiceOpenAIOption.label"),
1839
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmServiceOpenAIOption.detail"),
1840
+ },
1841
+ ],
1842
+ dynamicOptions: (inputs) => {
1843
+ const options = [];
1844
+ if (inputs[questionNames_1.QuestionNames.CustomCopilotAssistant] !== "custom-copilot-agent-assistants-api") {
1845
+ options.push({
1846
+ id: "llm-service-azure-openai",
1847
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmServiceAzureOpenAIOption.label"),
1848
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmServiceAzureOpenAIOption.detail"),
1849
+ });
1850
+ }
1851
+ options.push({
1852
+ id: "llm-service-openai",
1853
+ label: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmServiceOpenAIOption.label"),
1854
+ detail: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmServiceOpenAIOption.detail"),
1855
+ });
1856
+ return options;
1857
+ },
1858
+ skipSingleOption: true,
1859
+ default: "llm-service-azure-openai",
1860
+ };
1861
+ }
1862
+ function openAIKeyQuestion() {
1863
+ return {
1864
+ type: "text",
1865
+ password: true,
1866
+ name: questionNames_1.QuestionNames.OpenAIKey,
1867
+ title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmService.openAIKey.title"),
1868
+ placeholder: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmService.openAIKey.placeholder"),
1869
+ };
1870
+ }
1871
+ function azureOpenAIKeyQuestion() {
1872
+ return {
1873
+ type: "text",
1874
+ password: true,
1875
+ name: questionNames_1.QuestionNames.AzureOpenAIKey,
1876
+ title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmService.azureOpenAIKey.title"),
1877
+ placeholder: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmService.azureOpenAIKey.placeholder"),
1878
+ };
1879
+ }
1880
+ function azureOpenAIEndpointQuestion() {
1881
+ return {
1882
+ type: "text",
1883
+ name: questionNames_1.QuestionNames.AzureOpenAIEndpoint,
1884
+ title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmService.azureOpenAIEndpoint.title"),
1885
+ placeholder: localizeUtils_1.getLocalizedString("core.createProjectQuestion.llmService.azureOpenAIEndpoint.placeholder"),
1886
+ };
1887
+ }
1430
1888
  function capabilitySubTree() {
1431
1889
  const node = {
1432
1890
  data: capabilityQuestion(),
@@ -1458,7 +1916,7 @@ function capabilitySubTree() {
1458
1916
  },
1459
1917
  {
1460
1918
  // office addin import sub-tree
1461
- condition: { equals: CapabilityOptions.officeAddinImport().id },
1919
+ condition: { equals: CapabilityOptions.outlookAddinImport().id },
1462
1920
  data: { type: "group", name: questionNames_1.QuestionNames.OfficeAddinImport },
1463
1921
  children: [
1464
1922
  {
@@ -1479,9 +1937,11 @@ function capabilitySubTree() {
1479
1937
  },
1480
1938
  {
1481
1939
  // office addin other items sub-tree
1482
- condition: {
1483
- enum: CapabilityOptions.officeAddinItems().map((i) => i.id),
1484
- },
1940
+ condition: (inputs) => featureFlags_1.isOfficeXMLAddinEnabled()
1941
+ ? false
1942
+ : CapabilityOptions.outlookAddinItems()
1943
+ .map((i) => i.id)
1944
+ .includes(inputs[questionNames_1.QuestionNames.Capabilities]),
1485
1945
  data: officeAddinHostingQuestion(),
1486
1946
  },
1487
1947
  {
@@ -1507,15 +1967,55 @@ function capabilitySubTree() {
1507
1967
  },
1508
1968
  data: apiSpecLocationQuestion(),
1509
1969
  },
1510
- {
1511
- condition: { equals: CapabilityOptions.copilotPluginOpenAIPlugin().id },
1512
- data: openAIPluginManifestLocationQuestion(),
1513
- },
1970
+ // {
1971
+ // condition: { equals: CapabilityOptions.copilotPluginOpenAIPlugin().id },
1972
+ // data: openAIPluginManifestLocationQuestion(),
1973
+ // },
1514
1974
  {
1515
1975
  data: apiOperationQuestion(),
1516
1976
  },
1517
1977
  ],
1518
1978
  },
1979
+ {
1980
+ condition: (inputs) => {
1981
+ return (featureFlags_1.isApiKeyEnabled() &&
1982
+ (inputs[questionNames_1.QuestionNames.MeArchitectureType] == MeArchitectureOptions.newApi().id ||
1983
+ inputs[questionNames_1.QuestionNames.Capabilities] == CapabilityOptions.copilotPluginNewApi().id));
1984
+ },
1985
+ data: apiMessageExtensionAuthQuestion(),
1986
+ },
1987
+ /*
1988
+ {
1989
+ condition: (inputs: Inputs) => {
1990
+ return inputs[QuestionNames.Capabilities] == CapabilityOptions.customCopilotRag().id;
1991
+ },
1992
+ data: customCopilotRagQuestion(),
1993
+ children: [
1994
+ {
1995
+ condition: (inputs: Inputs) => {
1996
+ return (
1997
+ inputs[QuestionNames.CustomCopilotRag] === CustomCopilotRagOptions.customApi().id
1998
+ );
1999
+ },
2000
+ data: apiSpecLocationQuestion(),
2001
+ },
2002
+ {
2003
+ condition: (inputs: Inputs) => {
2004
+ return (
2005
+ inputs[QuestionNames.CustomCopilotRag] === CustomCopilotRagOptions.customApi().id
2006
+ );
2007
+ },
2008
+ data: apiOperationQuestion(),
2009
+ },
2010
+ ],
2011
+ },
2012
+ */
2013
+ {
2014
+ condition: (inputs) => {
2015
+ return (inputs[questionNames_1.QuestionNames.Capabilities] == CapabilityOptions.customCopilotAssistant().id);
2016
+ },
2017
+ data: customCopilotAssistantQuestion(),
2018
+ },
1519
2019
  {
1520
2020
  // programming language
1521
2021
  data: programmingLanguageQuestion(),
@@ -1527,6 +2027,40 @@ function capabilitySubTree() {
1527
2027
  inputs[questionNames_1.QuestionNames.MeArchitectureType] !== MeArchitectureOptions.apiSpec().id);
1528
2028
  },
1529
2029
  },
2030
+ {
2031
+ condition: (inputs) => {
2032
+ return (inputs[questionNames_1.QuestionNames.Capabilities] === CapabilityOptions.customCopilotBasic().id ||
2033
+ inputs[questionNames_1.QuestionNames.Capabilities] === CapabilityOptions.customCopilotRag().id ||
2034
+ inputs[questionNames_1.QuestionNames.Capabilities] === CapabilityOptions.customCopilotAssistant().id);
2035
+ },
2036
+ data: llmServiceQuestion(),
2037
+ children: [
2038
+ {
2039
+ condition: { equals: "llm-service-azure-openai" },
2040
+ data: azureOpenAIKeyQuestion(),
2041
+ children: [
2042
+ {
2043
+ condition: (inputs) => {
2044
+ var _a;
2045
+ return ((_a = inputs[questionNames_1.QuestionNames.AzureOpenAIKey]) === null || _a === void 0 ? void 0 : _a.length) > 0;
2046
+ },
2047
+ data: azureOpenAIEndpointQuestion(),
2048
+ },
2049
+ ],
2050
+ },
2051
+ {
2052
+ condition: { equals: "llm-service-openai" },
2053
+ data: openAIKeyQuestion(),
2054
+ },
2055
+ ],
2056
+ },
2057
+ {
2058
+ // WXP addin framework
2059
+ condition: (inputs) => {
2060
+ return inputs[questionNames_1.QuestionNames.ProjectType] === ProjectTypeOptions.officeAddin().id;
2061
+ },
2062
+ data: OfficeAddinFrameworkQuestion(),
2063
+ },
1530
2064
  {
1531
2065
  // root folder
1532
2066
  data: folderQuestion(),
@@ -1553,6 +2087,21 @@ function createProjectQuestionNode() {
1553
2087
  data: projectTypeQuestion(),
1554
2088
  cliOptionDisabled: "self",
1555
2089
  },
2090
+ {
2091
+ condition: (inputs) => featureFlags_1.isOfficeXMLAddinEnabled() &&
2092
+ inputs[questionNames_1.QuestionNames.ProjectType] === ProjectTypeOptions.officeXMLAddin().id,
2093
+ data: {
2094
+ name: questionNames_1.QuestionNames.OfficeAddinCapability,
2095
+ title: localizeUtils_1.getLocalizedString("core.createProjectQuestion.officeXMLAddin.create.title"),
2096
+ type: "singleSelect",
2097
+ staticOptions: [
2098
+ ProjectTypeOptions.outlookAddin(),
2099
+ OfficeAddinCapabilityOptions.word(),
2100
+ OfficeAddinCapabilityOptions.excel(),
2101
+ OfficeAddinCapabilityOptions.powerpoint(),
2102
+ ],
2103
+ },
2104
+ },
1556
2105
  capabilitySubTree(),
1557
2106
  {
1558
2107
  condition: (inputs) => inputs.teamsAppFromTdp && utils_2.isPersonalApp(inputs.teamsAppFromTdp),
@@ -1616,9 +2165,6 @@ function createProjectCliHelpNode() {
1616
2165
  if (!featureFlags_1.isCLIDotNetEnabled()) {
1617
2166
  deleteNames.push(questionNames_1.QuestionNames.Runtime);
1618
2167
  }
1619
- if (!featureFlags_1.isApiCopilotPluginEnabled()) {
1620
- deleteNames.push(questionNames_1.QuestionNames.CopilotPluginExistingApi);
1621
- }
1622
2168
  trimQuestionTreeForCliHelp(node, deleteNames);
1623
2169
  return node;
1624
2170
  }