@microsoft/teamsfx-core 2.0.8-alpha.87f45d762.0 → 2.0.8-alpha.8da24c130.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 (282) hide show
  1. package/build/common/constants.d.ts +4 -18
  2. package/build/common/constants.d.ts.map +1 -1
  3. package/build/common/constants.js +4 -19
  4. package/build/common/constants.js.map +1 -1
  5. package/build/common/featureFlags.d.ts +68 -7
  6. package/build/common/featureFlags.d.ts.map +1 -1
  7. package/build/common/featureFlags.js +62 -99
  8. package/build/common/featureFlags.js.map +1 -1
  9. package/build/common/m365/launchHelper.d.ts +1 -1
  10. package/build/common/m365/launchHelper.d.ts.map +1 -1
  11. package/build/common/m365/launchHelper.js +3 -6
  12. package/build/common/m365/launchHelper.js.map +1 -1
  13. package/build/common/m365/packageService.d.ts +1 -1
  14. package/build/common/m365/packageService.d.ts.map +1 -1
  15. package/build/common/m365/packageService.js +18 -39
  16. package/build/common/m365/packageService.js.map +1 -1
  17. package/build/common/projectTypeChecker.d.ts.map +1 -1
  18. package/build/common/projectTypeChecker.js +6 -0
  19. package/build/common/projectTypeChecker.js.map +1 -1
  20. package/build/common/samples.d.ts +1 -1
  21. package/build/common/samples.js +1 -1
  22. package/build/common/stringUtils.d.ts +10 -0
  23. package/build/common/stringUtils.d.ts.map +1 -0
  24. package/build/common/stringUtils.js +121 -0
  25. package/build/common/stringUtils.js.map +1 -0
  26. package/build/common/telemetry.d.ts +15 -1
  27. package/build/common/telemetry.d.ts.map +1 -1
  28. package/build/common/telemetry.js +32 -3
  29. package/build/common/telemetry.js.map +1 -1
  30. package/build/common/templates-config.json +1 -1
  31. package/build/component/constants.js +2 -2
  32. package/build/component/constants.js.map +1 -1
  33. package/build/component/coordinator/index.d.ts +0 -40
  34. package/build/component/coordinator/index.d.ts.map +1 -1
  35. package/build/component/coordinator/index.js +126 -179
  36. package/build/component/coordinator/index.js.map +1 -1
  37. package/build/component/driver/apiKey/create.d.ts.map +1 -1
  38. package/build/component/driver/apiKey/create.js.map +1 -1
  39. package/build/component/driver/apiKey/update.js +1 -1
  40. package/build/component/driver/apiKey/update.js.map +1 -1
  41. package/build/component/driver/apiKey/utility/utility.d.ts.map +1 -1
  42. package/build/component/driver/apiKey/utility/utility.js +2 -3
  43. package/build/component/driver/apiKey/utility/utility.js.map +1 -1
  44. package/build/component/driver/index.d.ts +2 -0
  45. package/build/component/driver/index.d.ts.map +1 -1
  46. package/build/component/driver/index.js +2 -0
  47. package/build/component/driver/index.js.map +1 -1
  48. package/build/component/driver/middleware/addSWADeployTelemetry.js +2 -2
  49. package/build/component/driver/middleware/addSWADeployTelemetry.js.map +1 -1
  50. package/build/component/driver/oauth/create.d.ts +12 -0
  51. package/build/component/driver/oauth/create.d.ts.map +1 -0
  52. package/build/component/driver/oauth/create.js +193 -0
  53. package/build/component/driver/oauth/create.js.map +1 -0
  54. package/build/component/driver/oauth/error/oauthAuthInfoInvalid.d.ts +5 -0
  55. package/build/component/driver/oauth/error/oauthAuthInfoInvalid.d.ts.map +1 -0
  56. package/build/component/driver/oauth/error/oauthAuthInfoInvalid.js +21 -0
  57. package/build/component/driver/oauth/error/oauthAuthInfoInvalid.js.map +1 -0
  58. package/build/component/driver/oauth/error/oauthDomainInvalid.d.ts +5 -0
  59. package/build/component/driver/oauth/error/oauthDomainInvalid.d.ts.map +1 -0
  60. package/build/component/driver/oauth/error/oauthDomainInvalid.js +22 -0
  61. package/build/component/driver/oauth/error/oauthDomainInvalid.js.map +1 -0
  62. package/build/component/driver/oauth/error/oauthFailedToGetDomain.d.ts +5 -0
  63. package/build/component/driver/oauth/error/oauthFailedToGetDomain.d.ts.map +1 -0
  64. package/build/component/driver/oauth/error/oauthFailedToGetDomain.js +21 -0
  65. package/build/component/driver/oauth/error/oauthFailedToGetDomain.js.map +1 -0
  66. package/build/component/driver/oauth/error/oauthNameTooLong.d.ts +5 -0
  67. package/build/component/driver/oauth/error/oauthNameTooLong.d.ts.map +1 -0
  68. package/build/component/driver/oauth/error/oauthNameTooLong.js +21 -0
  69. package/build/component/driver/oauth/error/oauthNameTooLong.js.map +1 -0
  70. package/build/component/driver/oauth/interface/createOauthArgs.d.ts +12 -0
  71. package/build/component/driver/oauth/interface/createOauthArgs.d.ts.map +1 -0
  72. package/build/component/driver/oauth/interface/createOauthArgs.js +5 -0
  73. package/build/component/driver/oauth/interface/createOauthArgs.js.map +1 -0
  74. package/build/component/driver/oauth/interface/createOauthOutputs.d.ts +7 -0
  75. package/build/component/driver/oauth/interface/createOauthOutputs.d.ts.map +1 -0
  76. package/build/component/driver/oauth/interface/createOauthOutputs.js +10 -0
  77. package/build/component/driver/oauth/interface/createOauthOutputs.js.map +1 -0
  78. package/build/component/driver/oauth/interface/updateOauthArgs.d.ts +9 -0
  79. package/build/component/driver/oauth/interface/updateOauthArgs.d.ts.map +1 -0
  80. package/build/component/driver/oauth/interface/updateOauthArgs.js +5 -0
  81. package/build/component/driver/oauth/interface/updateOauthArgs.js.map +1 -0
  82. package/build/component/driver/oauth/update.d.ts +13 -0
  83. package/build/component/driver/oauth/update.d.ts.map +1 -0
  84. package/build/component/driver/oauth/update.js +181 -0
  85. package/build/component/driver/oauth/update.js.map +1 -0
  86. package/build/component/driver/oauth/utility/constants.d.ts +13 -0
  87. package/build/component/driver/oauth/utility/constants.d.ts.map +1 -0
  88. package/build/component/driver/oauth/utility/constants.js +18 -0
  89. package/build/component/driver/oauth/utility/constants.js.map +1 -0
  90. package/build/component/driver/oauth/utility/utility.d.ts +12 -0
  91. package/build/component/driver/oauth/utility/utility.d.ts.map +1 -0
  92. package/build/component/driver/oauth/utility/utility.js +90 -0
  93. package/build/component/driver/oauth/utility/utility.js.map +1 -0
  94. package/build/component/driver/script/scriptDriver.d.ts.map +1 -1
  95. package/build/component/driver/script/scriptDriver.js +6 -6
  96. package/build/component/driver/script/scriptDriver.js.map +1 -1
  97. package/build/component/driver/teamsApp/clients/appStudioClient.d.ts +5 -0
  98. package/build/component/driver/teamsApp/clients/appStudioClient.d.ts.map +1 -1
  99. package/build/component/driver/teamsApp/clients/appStudioClient.js +36 -0
  100. package/build/component/driver/teamsApp/clients/appStudioClient.js.map +1 -1
  101. package/build/component/driver/teamsApp/constants.d.ts +3 -0
  102. package/build/component/driver/teamsApp/constants.d.ts.map +1 -1
  103. package/build/component/driver/teamsApp/constants.js +3 -0
  104. package/build/component/driver/teamsApp/constants.js.map +1 -1
  105. package/build/component/driver/teamsApp/createAppPackage.d.ts +17 -0
  106. package/build/component/driver/teamsApp/createAppPackage.d.ts.map +1 -1
  107. package/build/component/driver/teamsApp/createAppPackage.js +62 -6
  108. package/build/component/driver/teamsApp/createAppPackage.js.map +1 -1
  109. package/build/component/driver/teamsApp/interfaces/OauthConfigurationId.d.ts +7 -0
  110. package/build/component/driver/teamsApp/interfaces/OauthConfigurationId.d.ts.map +1 -0
  111. package/build/component/driver/teamsApp/interfaces/OauthConfigurationId.js +5 -0
  112. package/build/component/driver/teamsApp/interfaces/OauthConfigurationId.js.map +1 -0
  113. package/build/component/driver/teamsApp/interfaces/OauthRegistration.d.ts +44 -0
  114. package/build/component/driver/teamsApp/interfaces/OauthRegistration.d.ts.map +1 -0
  115. package/build/component/driver/teamsApp/interfaces/OauthRegistration.js +21 -0
  116. package/build/component/driver/teamsApp/interfaces/OauthRegistration.js.map +1 -0
  117. package/build/component/driver/teamsApp/utils/CopilotGptManifestUtils.d.ts +8 -0
  118. package/build/component/driver/teamsApp/utils/CopilotGptManifestUtils.d.ts.map +1 -0
  119. package/build/component/driver/teamsApp/utils/CopilotGptManifestUtils.js +65 -0
  120. package/build/component/driver/teamsApp/utils/CopilotGptManifestUtils.js.map +1 -0
  121. package/build/component/driver/teamsApp/utils/ManifestUtils.d.ts.map +1 -1
  122. package/build/component/driver/teamsApp/utils/ManifestUtils.js +2 -14
  123. package/build/component/driver/teamsApp/utils/ManifestUtils.js.map +1 -1
  124. package/build/component/driver/teamsApp/utils/telemetry.d.ts +1 -0
  125. package/build/component/driver/teamsApp/utils/telemetry.d.ts.map +1 -1
  126. package/build/component/driver/teamsApp/utils/telemetry.js +1 -0
  127. package/build/component/driver/teamsApp/utils/telemetry.js.map +1 -1
  128. package/build/component/generator/copilotPlugin/generator.d.ts.map +1 -1
  129. package/build/component/generator/copilotPlugin/generator.js +20 -26
  130. package/build/component/generator/copilotPlugin/generator.js.map +1 -1
  131. package/build/component/generator/copilotPlugin/helper.d.ts +7 -2
  132. package/build/component/generator/copilotPlugin/helper.d.ts.map +1 -1
  133. package/build/component/generator/copilotPlugin/helper.js +66 -38
  134. package/build/component/generator/copilotPlugin/helper.js.map +1 -1
  135. package/build/component/generator/generator.d.ts +4 -2
  136. package/build/component/generator/generator.d.ts.map +1 -1
  137. package/build/component/generator/generator.js +10 -7
  138. package/build/component/generator/generator.js.map +1 -1
  139. package/build/component/generator/generatorProvider.d.ts +3 -0
  140. package/build/component/generator/generatorProvider.d.ts.map +1 -0
  141. package/build/component/generator/generatorProvider.js +18 -0
  142. package/build/component/generator/generatorProvider.js.map +1 -0
  143. package/build/component/generator/officeAddin/generator.d.ts +9 -0
  144. package/build/component/generator/officeAddin/generator.d.ts.map +1 -1
  145. package/build/component/generator/officeAddin/generator.js +33 -2
  146. package/build/component/generator/officeAddin/generator.js.map +1 -1
  147. package/build/component/generator/officeAddin/helperMethods.d.ts +0 -3
  148. package/build/component/generator/officeAddin/helperMethods.d.ts.map +1 -1
  149. package/build/component/generator/officeAddin/helperMethods.js +1 -67
  150. package/build/component/generator/officeAddin/helperMethods.js.map +1 -1
  151. package/build/component/generator/officeXMLAddin/generator.d.ts.map +1 -1
  152. package/build/component/generator/officeXMLAddin/generator.js +5 -2
  153. package/build/component/generator/officeXMLAddin/generator.js.map +1 -1
  154. package/build/component/generator/spfx/spfxGenerator.d.ts +18 -5
  155. package/build/component/generator/spfx/spfxGenerator.d.ts.map +1 -1
  156. package/build/component/generator/spfx/spfxGenerator.js +123 -20
  157. package/build/component/generator/spfx/spfxGenerator.js.map +1 -1
  158. package/build/component/generator/templates/ssrTabGenerator.d.ts +12 -0
  159. package/build/component/generator/templates/ssrTabGenerator.d.ts.map +1 -0
  160. package/build/component/generator/templates/ssrTabGenerator.js +36 -0
  161. package/build/component/generator/templates/ssrTabGenerator.js.map +1 -0
  162. package/build/component/generator/templates/templateGenerator.d.ts +12 -0
  163. package/build/component/generator/templates/templateGenerator.d.ts.map +1 -0
  164. package/build/component/generator/templates/templateGenerator.js +99 -0
  165. package/build/component/generator/templates/templateGenerator.js.map +1 -0
  166. package/build/component/generator/templates/templateInfo.d.ts +10 -0
  167. package/build/component/generator/templates/templateInfo.d.ts.map +1 -0
  168. package/build/component/generator/templates/templateInfo.js +3 -0
  169. package/build/component/generator/templates/templateInfo.js.map +1 -0
  170. package/build/component/generator/templates/templateNames.d.ts +52 -0
  171. package/build/component/generator/templates/templateNames.d.ts.map +1 -0
  172. package/build/component/generator/templates/templateNames.js +304 -0
  173. package/build/component/generator/templates/templateNames.js.map +1 -0
  174. package/build/component/generator/templates/templateReplaceMap.d.ts +5 -0
  175. package/build/component/generator/templates/templateReplaceMap.d.ts.map +1 -0
  176. package/build/component/generator/templates/templateReplaceMap.js +39 -0
  177. package/build/component/generator/templates/templateReplaceMap.js.map +1 -0
  178. package/build/component/generator/utils.d.ts +1 -0
  179. package/build/component/generator/utils.d.ts.map +1 -1
  180. package/build/component/generator/utils.js +2 -1
  181. package/build/component/generator/utils.js.map +1 -1
  182. package/build/component/middleware/actionExecutionMW.d.ts.map +1 -1
  183. package/build/component/middleware/actionExecutionMW.js +5 -4
  184. package/build/component/middleware/actionExecutionMW.js.map +1 -1
  185. package/build/component/middleware/questionMW.d.ts.map +1 -1
  186. package/build/component/middleware/questionMW.js +9 -1
  187. package/build/component/middleware/questionMW.js.map +1 -1
  188. package/build/component/utils/envUtil.d.ts +0 -1
  189. package/build/component/utils/envUtil.d.ts.map +1 -1
  190. package/build/component/utils/envUtil.js +1 -13
  191. package/build/component/utils/envUtil.js.map +1 -1
  192. package/build/component/utils/metadataRscPermission.d.ts +1 -0
  193. package/build/component/utils/metadataRscPermission.d.ts.map +1 -1
  194. package/build/component/utils/metadataRscPermission.js +15 -3
  195. package/build/component/utils/metadataRscPermission.js.map +1 -1
  196. package/build/component/utils.d.ts +2 -1
  197. package/build/component/utils.d.ts.map +1 -1
  198. package/build/component/utils.js +43 -1
  199. package/build/component/utils.js.map +1 -1
  200. package/build/core/FxCore.d.ts +8 -3
  201. package/build/core/FxCore.d.ts.map +1 -1
  202. package/build/core/FxCore.js +229 -27
  203. package/build/core/FxCore.js.map +1 -1
  204. package/build/error/common.js +1 -1
  205. package/build/error/common.js.map +1 -1
  206. package/build/error/index.d.ts +1 -0
  207. package/build/error/index.d.ts.map +1 -1
  208. package/build/error/index.js +1 -0
  209. package/build/error/index.js.map +1 -1
  210. package/build/index.d.ts +4 -0
  211. package/build/index.d.ts.map +1 -1
  212. package/build/index.js +7 -1
  213. package/build/index.js.map +1 -1
  214. package/build/question/constants.d.ts.map +1 -1
  215. package/build/question/constants.js +6 -1
  216. package/build/question/constants.js.map +1 -1
  217. package/build/question/create.d.ts +8 -1
  218. package/build/question/create.d.ts.map +1 -1
  219. package/build/question/create.js +137 -48
  220. package/build/question/create.js.map +1 -1
  221. package/build/question/generator.js +2 -0
  222. package/build/question/generator.js.map +1 -1
  223. package/build/question/index.d.ts +2 -0
  224. package/build/question/index.d.ts.map +1 -1
  225. package/build/question/index.js +6 -0
  226. package/build/question/index.js.map +1 -1
  227. package/build/question/inputs/AddPluginInputs.d.ts +18 -0
  228. package/build/question/inputs/AddPluginInputs.d.ts.map +1 -0
  229. package/build/question/inputs/AddPluginInputs.js +5 -0
  230. package/build/question/inputs/AddPluginInputs.js.map +1 -0
  231. package/build/question/inputs/CreateProjectInputs.d.ts +4 -2
  232. package/build/question/inputs/CreateProjectInputs.d.ts.map +1 -1
  233. package/build/question/inputs/PermissionGrantInputs.d.ts +1 -1
  234. package/build/question/inputs/PermissionListInputs.d.ts +1 -1
  235. package/build/question/inputs/PreviewTeamsAppInputs.d.ts +1 -1
  236. package/build/question/inputs/SPFxAddWebpartInputs.d.ts +1 -1
  237. package/build/question/inputs/SelectTeamsManifestInputs.d.ts +1 -1
  238. package/build/question/inputs/ValidateTeamsAppInputs.d.ts +2 -2
  239. package/build/question/inputs/index.d.ts +1 -0
  240. package/build/question/inputs/index.d.ts.map +1 -1
  241. package/build/question/inputs/index.js +1 -0
  242. package/build/question/inputs/index.js.map +1 -1
  243. package/build/question/options/AddPluginOptions.d.ts +10 -0
  244. package/build/question/options/AddPluginOptions.d.ts.map +1 -0
  245. package/build/question/options/AddPluginOptions.js +39 -0
  246. package/build/question/options/AddPluginOptions.js.map +1 -0
  247. package/build/question/options/CreateProjectOptions.d.ts.map +1 -1
  248. package/build/question/options/CreateProjectOptions.js +9 -1
  249. package/build/question/options/CreateProjectOptions.js.map +1 -1
  250. package/build/question/options/PermissionGrantOptions.js +1 -1
  251. package/build/question/options/PermissionGrantOptions.js.map +1 -1
  252. package/build/question/options/PermissionListOptions.js +1 -1
  253. package/build/question/options/PermissionListOptions.js.map +1 -1
  254. package/build/question/options/PreviewTeamsAppOptions.js +1 -1
  255. package/build/question/options/PreviewTeamsAppOptions.js.map +1 -1
  256. package/build/question/options/SPFxAddWebpartOptions.js +1 -1
  257. package/build/question/options/SPFxAddWebpartOptions.js.map +1 -1
  258. package/build/question/options/SelectTeamsManifestOptions.js +1 -1
  259. package/build/question/options/SelectTeamsManifestOptions.js.map +1 -1
  260. package/build/question/options/ValidateTeamsAppOptions.js +1 -1
  261. package/build/question/options/ValidateTeamsAppOptions.js.map +1 -1
  262. package/build/question/options/index.d.ts +1 -0
  263. package/build/question/options/index.d.ts.map +1 -1
  264. package/build/question/options/index.js +1 -0
  265. package/build/question/options/index.js.map +1 -1
  266. package/build/question/other.d.ts +9 -0
  267. package/build/question/other.d.ts.map +1 -1
  268. package/build/question/other.js +167 -2
  269. package/build/question/other.js.map +1 -1
  270. package/build/question/questionNames.d.ts +6 -1
  271. package/build/question/questionNames.d.ts.map +1 -1
  272. package/build/question/questionNames.js +5 -0
  273. package/build/question/questionNames.js.map +1 -1
  274. package/package.json +14 -10
  275. package/resource/package.nls.json +51 -27
  276. package/resource/yaml-schema/v1.5/yaml.schema.json +122 -1
  277. package/resource/yaml-schema/yaml.schema.json +122 -1
  278. package/templates/fallback/common.zip +0 -0
  279. package/templates/fallback/csharp.zip +0 -0
  280. package/templates/fallback/js.zip +0 -0
  281. package/templates/fallback/python.zip +0 -0
  282. package/templates/fallback/ts.zip +0 -0
@@ -5,8 +5,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.FxCore = void 0;
6
6
  const tslib_1 = require("tslib");
7
7
  const hooks_1 = require("@feathersjs/hooks");
8
+ const m365_spec_parser_1 = require("@microsoft/m365-spec-parser");
8
9
  const teamsfx_api_1 = require("@microsoft/teamsfx-api");
9
10
  const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
11
+ const jsonschema = tslib_1.__importStar(require("jsonschema"));
10
12
  const os = tslib_1.__importStar(require("os"));
11
13
  const path = tslib_1.__importStar(require("path"));
12
14
  require("reflect-metadata");
@@ -14,12 +16,10 @@ const typedi_1 = require("typedi");
14
16
  const url_1 = require("url");
15
17
  const yaml_1 = require("yaml");
16
18
  const constants_1 = require("../common/constants");
17
- const featureFlags_1 = require("../common/featureFlags");
18
19
  const localizeUtils_1 = require("../common/localizeUtils");
19
20
  const launchHelper_1 = require("../common/m365/launchHelper");
20
21
  const projectSettingsHelper_1 = require("../common/projectSettingsHelper");
21
22
  const projectTypeChecker_1 = require("../common/projectTypeChecker");
22
- const m365_spec_parser_1 = require("@microsoft/m365-spec-parser");
23
23
  const telemetry_1 = require("../common/telemetry");
24
24
  const versionMetadata_1 = require("../common/versionMetadata");
25
25
  const parser_1 = require("../component/configManager/parser");
@@ -31,7 +31,9 @@ require("../component/driver/script/scriptDriver");
31
31
  const appStudio_1 = require("../component/driver/teamsApp/appStudio");
32
32
  const teamsappMgr_1 = require("../component/driver/teamsApp/teamsappMgr");
33
33
  const ManifestUtils_1 = require("../component/driver/teamsApp/utils/ManifestUtils");
34
+ const PluginManifestUtils_1 = require("../component/driver/teamsApp/utils/PluginManifestUtils");
34
35
  const utils_1 = require("../component/driver/teamsApp/utils/utils");
36
+ require("../component/feature/sso");
35
37
  const helper_1 = require("../component/generator/copilotPlugin/helper");
36
38
  const envMW_1 = require("../component/middleware/envMW");
37
39
  const questionMW_1 = require("../component/middleware/questionMW");
@@ -44,10 +46,11 @@ const settingsUtil_1 = require("../component/utils/settingsUtil");
44
46
  const common_2 = require("../error/common");
45
47
  const upgrade_1 = require("../error/upgrade");
46
48
  const yml_1 = require("../error/yml");
49
+ const question_1 = require("../question");
50
+ const constants_3 = require("../question/constants");
47
51
  const create_1 = require("../question/create");
48
52
  const other_1 = require("../question/other");
49
53
  const questionNames_1 = require("../question/questionNames");
50
- const constants_3 = require("../question/constants");
51
54
  const callback_1 = require("./callback");
52
55
  const collaborator_1 = require("./collaborator");
53
56
  const crypto_1 = require("./crypto");
@@ -60,8 +63,9 @@ const errorHandler_1 = require("./middleware/errorHandler");
60
63
  const projectMigratorV3_1 = require("./middleware/projectMigratorV3");
61
64
  const v3MigrationUtils_1 = require("./middleware/utils/v3MigrationUtils");
62
65
  const telemetry_2 = require("./telemetry");
63
- require("../component/feature/sso");
64
- const PluginManifestUtils_1 = require("../component/driver/teamsApp/utils/PluginManifestUtils");
66
+ const results_1 = require("../component/driver/teamsApp/results");
67
+ const errors_1 = require("../component/driver/teamsApp/errors");
68
+ const CopilotGptManifestUtils_1 = require("../component/driver/teamsApp/utils/CopilotGptManifestUtils");
65
69
  class FxCore {
66
70
  constructor(tools) {
67
71
  globalVars_1.setTools(tools);
@@ -75,6 +79,9 @@ class FxCore {
75
79
  }
76
80
  async createProject(inputs) {
77
81
  const context = utils_2.createContextV3();
82
+ if (inputs[questionNames_1.QuestionNames.ProjectType] === question_1.ProjectTypeOptions.startWithGithubCopilot().id) {
83
+ return teamsfx_api_1.ok({ projectPath: "", shouldInvokeTeamsAgent: true });
84
+ }
78
85
  inputs[questionNames_1.QuestionNames.Scratch] = create_1.ScratchOptions.yes().id;
79
86
  if (inputs.teamsAppFromTdp) {
80
87
  // should never happen as we do same check on Developer Portal.
@@ -92,6 +99,39 @@ class FxCore {
92
99
  inputs.projectPath = context.projectPath;
93
100
  return res;
94
101
  }
102
+ async createProjectByCustomizedGenerator(inputs, generator) {
103
+ //1. input validation
104
+ let folder = inputs["folder"];
105
+ if (!folder) {
106
+ return teamsfx_api_1.err(new common_2.MissingRequiredInputError("folder"));
107
+ }
108
+ folder = path.resolve(folder);
109
+ const appName = inputs["app-name"];
110
+ if (undefined === appName)
111
+ return teamsfx_api_1.err(new common_2.MissingRequiredInputError(questionNames_1.QuestionNames.AppName));
112
+ const validateResult = jsonschema.validate(appName, {
113
+ pattern: question_1.AppNamePattern,
114
+ });
115
+ if (validateResult.errors && validateResult.errors.length > 0) {
116
+ return teamsfx_api_1.err(new common_2.InputValidationError(questionNames_1.QuestionNames.AppName, validateResult.errors[0].message));
117
+ }
118
+ const projectPath = path.join(folder, appName);
119
+ //2. run generator
120
+ const context = utils_2.createContextV3();
121
+ const genRes = await generator.run(context, inputs, projectPath);
122
+ if (genRes.isErr())
123
+ return teamsfx_api_1.err(genRes.error);
124
+ //3. ensure unique projectId in teamsapp.yaml (optional)
125
+ const ymlPath = path.join(projectPath, versionMetadata_1.MetadataV3.configFile);
126
+ const result = { projectPath: projectPath };
127
+ if (await fs_extra_1.default.pathExists(ymlPath)) {
128
+ const ensureRes = await coordinator_1.coordinator.ensureTrackingId(projectPath, inputs.projectId);
129
+ if (ensureRes.isErr())
130
+ return teamsfx_api_1.err(ensureRes.error);
131
+ result.projectId = ensureRes.value;
132
+ }
133
+ return teamsfx_api_1.ok(result);
134
+ }
95
135
  /**
96
136
  * lifecycle command: create new sample project
97
137
  */
@@ -415,7 +455,7 @@ class FxCore {
415
455
  const teamsAppId = manifestRes.value.id;
416
456
  const properties = teamsfx_api_1.ManifestUtil.parseCommonProperties(manifestRes.value);
417
457
  const launchHelper = new launchHelper_1.LaunchHelper(globalVars_1.TOOLS.tokenProvider.m365TokenProvider, globalVars_1.TOOLS.logProvider);
418
- const result = await launchHelper.getLaunchUrl(hub, teamsAppId, properties.capabilities, true, properties.isApiME);
458
+ const result = await launchHelper.getLaunchUrl(hub, teamsAppId, properties.capabilities, true);
419
459
  return result;
420
460
  }
421
461
  /**
@@ -807,6 +847,7 @@ class FxCore {
807
847
  if (item.get("uses") === "teamsApp/create") {
808
848
  const teamsAppId = (_a = item.get("writeToEnvironmentFile")) === null || _a === void 0 ? void 0 : _a.get("teamsAppId");
809
849
  if (teamsAppId) {
850
+ const envName = m365_spec_parser_1.Utils.getSafeRegistrationIdEnvName(`${authName}_REGISTRATION_ID`);
810
851
  provisionNode.items.splice(i + 1, 0, {
811
852
  uses: "apiKey/register",
812
853
  with: {
@@ -815,7 +856,7 @@ class FxCore {
815
856
  apiSpecPath: specRelativePath,
816
857
  },
817
858
  writeToEnvironmentFile: {
818
- registrationId: `${authName.toUpperCase()}_REGISTRATION_ID`,
859
+ registrationId: envName,
819
860
  },
820
861
  });
821
862
  added = true;
@@ -845,7 +886,7 @@ class FxCore {
845
886
  if (manifestRes.isErr()) {
846
887
  return teamsfx_api_1.err(manifestRes.error);
847
888
  }
848
- const confirmRes = await context.userInteraction.showMessage("info", localizeUtils_1.getLocalizedString("core.addApi.confirm", teamsfx_api_1.AppPackageFolderName), true, localizeUtils_1.getLocalizedString("core.addApi.continue"));
889
+ const confirmRes = await context.userInteraction.showMessage("warn", localizeUtils_1.getLocalizedString("core.addApi.confirm", teamsfx_api_1.AppPackageFolderName), true, localizeUtils_1.getLocalizedString("core.addApi.continue"));
849
890
  if (confirmRes.isErr()) {
850
891
  return teamsfx_api_1.err(confirmRes.error);
851
892
  }
@@ -856,18 +897,18 @@ class FxCore {
856
897
  const specParser = new m365_spec_parser_1.SpecParser(url, isPlugin
857
898
  ? helper_1.copilotPluginParserOptions
858
899
  : {
859
- allowBearerTokenAuth: featureFlags_1.isApiKeyEnabled(),
860
- allowMultipleParameters: featureFlags_1.isMultipleParametersEnabled(),
900
+ allowBearerTokenAuth: true,
901
+ allowMultipleParameters: true,
861
902
  });
862
903
  const listResult = await specParser.list();
863
904
  const apiResultList = listResult.APIs.filter((value) => value.isValid);
864
905
  let existingOperations;
865
- let outputAPISpecPath;
906
+ let outputApiSpecPath;
866
907
  if (isPlugin) {
867
908
  if (!inputs[questionNames_1.QuestionNames.DestinationApiSpecFilePath]) {
868
909
  return teamsfx_api_1.err(new common_2.MissingRequiredInputError(questionNames_1.QuestionNames.DestinationApiSpecFilePath));
869
910
  }
870
- outputAPISpecPath = inputs[questionNames_1.QuestionNames.DestinationApiSpecFilePath];
911
+ outputApiSpecPath = inputs[questionNames_1.QuestionNames.DestinationApiSpecFilePath];
871
912
  existingOperations = await helper_1.listPluginExistingOperations(manifestRes.value, manifestPath, inputs[questionNames_1.QuestionNames.DestinationApiSpecFilePath]);
872
913
  }
873
914
  else {
@@ -876,23 +917,23 @@ class FxCore {
876
917
  .filter((operation) => existingOperationIds.includes(operation.operationId))
877
918
  .map((operation) => operation.api);
878
919
  const apiSpecificationFile = manifestRes.value.composeExtensions[0].apiSpecificationFile;
879
- outputAPISpecPath = path.join(path.dirname(manifestPath), apiSpecificationFile);
920
+ outputApiSpecPath = path.join(path.dirname(manifestPath), apiSpecificationFile);
880
921
  }
881
922
  const operations = [...existingOperations, ...newOperations];
882
923
  const adaptiveCardFolder = path.join(inputs.projectPath, teamsfx_api_1.AppPackageFolderName, teamsfx_api_1.ResponseTemplatesFolderName);
883
924
  try {
884
- if (featureFlags_1.isApiKeyEnabled()) {
925
+ // TODO: type b will support auth
926
+ if (!isPlugin) {
885
927
  const authNames = new Set();
886
928
  const serverUrls = new Set();
887
929
  for (const api of operations) {
888
930
  const operation = apiResultList.find((op) => op.api === api);
889
- if (operation) {
890
- if (operation.auth &&
891
- operation.auth.authScheme.type === "http" &&
892
- operation.auth.authScheme.scheme === "bearer") {
893
- authNames.add(operation.auth.name);
894
- serverUrls.add(operation.server);
895
- }
931
+ if (operation &&
932
+ operation.auth &&
933
+ (m365_spec_parser_1.Utils.isBearerTokenAuth(operation.auth.authScheme) ||
934
+ m365_spec_parser_1.Utils.isOAuthWithAuthCodeFlow(operation.auth.authScheme))) {
935
+ authNames.add(operation.auth.name);
936
+ serverUrls.add(operation.server);
896
937
  }
897
938
  }
898
939
  if (authNames.size > 1) {
@@ -905,7 +946,7 @@ class FxCore {
905
946
  const ymlPath = path.join(inputs.projectPath, versionMetadata_1.MetadataV3.configFile);
906
947
  const localYamlPath = path.join(inputs.projectPath, versionMetadata_1.MetadataV3.localConfigFile);
907
948
  const authName = [...authNames][0];
908
- const relativeSpecPath = "./" + path.relative(inputs.projectPath, outputAPISpecPath).replace(/\\/g, "/");
949
+ const relativeSpecPath = "./" + path.relative(inputs.projectPath, outputApiSpecPath).replace(/\\/g, "/");
909
950
  await this.injectCreateAPIKeyAction(ymlPath, authName, relativeSpecPath);
910
951
  if (await fs_extra_1.default.pathExists(localYamlPath)) {
911
952
  await this.injectCreateAPIKeyAction(localYamlPath, authName, relativeSpecPath);
@@ -914,14 +955,14 @@ class FxCore {
914
955
  }
915
956
  let generateResult;
916
957
  if (!isPlugin) {
917
- generateResult = await specParser.generate(manifestPath, operations, outputAPISpecPath, adaptiveCardFolder);
958
+ generateResult = await specParser.generate(manifestPath, operations, outputApiSpecPath, adaptiveCardFolder);
918
959
  }
919
960
  else {
920
961
  const pluginPathRes = await ManifestUtils_1.manifestUtils.getPluginFilePath(manifestRes.value, manifestPath);
921
962
  if (pluginPathRes.isErr()) {
922
963
  return teamsfx_api_1.err(pluginPathRes.error);
923
964
  }
924
- generateResult = await specParser.generateForCopilot(manifestPath, operations, outputAPISpecPath, pluginPathRes.value);
965
+ generateResult = await specParser.generateForCopilot(manifestPath, operations, outputApiSpecPath, pluginPathRes.value);
925
966
  }
926
967
  // Send SpecParser.generate() warnings
927
968
  context.telemetryReporter.sendTelemetryEvent(helper_1.specParserGenerateResultTelemetryEvent, {
@@ -932,7 +973,7 @@ class FxCore {
932
973
  [telemetry_2.CoreTelemetryProperty.Component]: telemetry_2.CoreTelemetryComponentName,
933
974
  });
934
975
  if (generateResult.warnings && generateResult.warnings.length > 0) {
935
- const warnSummary = helper_1.generateScaffoldingSummary(generateResult.warnings, manifestRes.value, inputs.projectPath);
976
+ const warnSummary = helper_1.generateScaffoldingSummary(generateResult.warnings, manifestRes.value, path.relative(inputs.projectPath, outputApiSpecPath));
936
977
  context.logProvider.info(warnSummary);
937
978
  }
938
979
  }
@@ -947,8 +988,10 @@ class FxCore {
947
988
  return teamsfx_api_1.err(error);
948
989
  }
949
990
  const message = localizeUtils_1.getLocalizedString("core.copilot.addAPI.success", newOperations, inputs.projectPath);
950
- void context.userInteraction.showMessage("info", message, false);
951
- return teamsfx_api_1.ok(undefined);
991
+ if (inputs.platform !== teamsfx_api_1.Platform.VS) {
992
+ void context.userInteraction.showMessage("info", message, false);
993
+ }
994
+ return teamsfx_api_1.ok(message);
952
995
  }
953
996
  async listPluginApiSpecs(inputs) {
954
997
  try {
@@ -998,6 +1041,141 @@ class FxCore {
998
1041
  (_a = globalVars_1.TOOLS.telemetryReporter) === null || _a === void 0 ? void 0 : _a.sendTelemetryEvent(telemetry_1.TelemetryEvent.ProjectType, props);
999
1042
  return teamsfx_api_1.ok(projectTypeRes);
1000
1043
  }
1044
+ /**
1045
+ * Add plugin
1046
+ */
1047
+ async addPlugin(inputs) {
1048
+ var _a, _b;
1049
+ if (!inputs.projectPath) {
1050
+ throw new Error("projectPath is undefined"); // should never happen
1051
+ }
1052
+ const operations = inputs[questionNames_1.QuestionNames.ApiOperation];
1053
+ const url = inputs[questionNames_1.QuestionNames.ApiSpecLocation];
1054
+ const manifestPath = inputs[questionNames_1.QuestionNames.ManifestPath];
1055
+ const appPackageFolder = path.dirname(manifestPath);
1056
+ const apiSpecFolder = path.join(appPackageFolder, helper_1.defaultApiSpecFolderName);
1057
+ const needAddAction = inputs[questionNames_1.QuestionNames.PluginAvailability] === other_1.PluginAvailabilityOptions.action().id ||
1058
+ inputs[questionNames_1.QuestionNames.PluginAvailability] ===
1059
+ other_1.PluginAvailabilityOptions.copilotPluginAndAction().id;
1060
+ const needAddCopilotPlugin = inputs[questionNames_1.QuestionNames.PluginAvailability] === other_1.PluginAvailabilityOptions.copilotPlugin().id ||
1061
+ inputs[questionNames_1.QuestionNames.PluginAvailability] ===
1062
+ other_1.PluginAvailabilityOptions.copilotPluginAndAction().id;
1063
+ // validate the project is valid for adding plugin
1064
+ const manifestRes = await ManifestUtils_1.manifestUtils._readAppManifest(manifestPath);
1065
+ if (manifestRes.isErr()) {
1066
+ return teamsfx_api_1.err(manifestRes.error);
1067
+ }
1068
+ const teamsManifest = manifestRes.value;
1069
+ if (!((_a = teamsManifest.copilotGpts) === null || _a === void 0 ? void 0 : _a[0].file)) {
1070
+ return teamsfx_api_1.err(results_1.AppStudioResultFactory.UserError(errors_1.AppStudioError.TeamsAppRequiredPropertyMissingError.name, errors_1.AppStudioError.TeamsAppRequiredPropertyMissingError.message("copilotGpts", manifestPath)));
1071
+ }
1072
+ const gptManifestFilePath = path.join(appPackageFolder, teamsManifest.copilotGpts[0].file);
1073
+ const gptManifestRes = await CopilotGptManifestUtils_1.copilotGptManifestUtils.readCopilotGptManifestFile(gptManifestFilePath);
1074
+ if (gptManifestRes.isErr()) {
1075
+ return teamsfx_api_1.err(gptManifestRes.error);
1076
+ }
1077
+ const gptManifest = gptManifestRes.value;
1078
+ const context = utils_2.createContextV3();
1079
+ // confirm
1080
+ const confirmRes = await context.userInteraction.showMessage("warn", localizeUtils_1.getLocalizedString("core.addApi.confirm", path.relative(inputs.projectPath, appPackageFolder)), true, localizeUtils_1.getLocalizedString("core.addApi.continue"));
1081
+ if (confirmRes.isErr()) {
1082
+ return teamsfx_api_1.err(confirmRes.error);
1083
+ }
1084
+ else if (confirmRes.value !== localizeUtils_1.getLocalizedString("core.addApi.continue")) {
1085
+ return teamsfx_api_1.err(new common_2.UserCancelError());
1086
+ }
1087
+ // generate file path
1088
+ let isYaml;
1089
+ try {
1090
+ isYaml = await helper_1.isYamlSpecFile(url);
1091
+ }
1092
+ catch (e) {
1093
+ isYaml = false;
1094
+ }
1095
+ await fs_extra_1.default.ensureDir(apiSpecFolder);
1096
+ let openApiSpecFileName = isYaml ? helper_1.defaultApiSpecYamlFileName : helper_1.defaultApiSpecJsonFileName;
1097
+ const openApiSpecFileNamePrefix = openApiSpecFileName.split(".")[0];
1098
+ const openApiSpecFileType = openApiSpecFileName.split(".")[1];
1099
+ let apiSpecFileNameSuffix = 1;
1100
+ while (await fs_extra_1.default.pathExists(path.join(apiSpecFolder, openApiSpecFileName))) {
1101
+ openApiSpecFileName = `${openApiSpecFileNamePrefix}_${apiSpecFileNameSuffix++}.${openApiSpecFileType}`;
1102
+ }
1103
+ const openApiSpecFilePath = path.join(apiSpecFolder, openApiSpecFileName);
1104
+ let pluginManifestName = helper_1.defaultPluginManifestFileName;
1105
+ const pluginManifestNamePrefix = helper_1.defaultPluginManifestFileName.split(".")[0];
1106
+ let pluginFileNameSuffix = 1;
1107
+ while (await fs_extra_1.default.pathExists(path.join(appPackageFolder, pluginManifestName))) {
1108
+ pluginManifestName = `${pluginManifestNamePrefix}_${pluginFileNameSuffix++}.json`;
1109
+ }
1110
+ const pluginManifestFilePath = path.join(appPackageFolder, pluginManifestName);
1111
+ // generate plugin related files
1112
+ const specParser = new m365_spec_parser_1.SpecParser(url, Object.assign(Object.assign({}, helper_1.copilotPluginParserOptions), { isGptPlugin: true }));
1113
+ try {
1114
+ const generateResult = await specParser.generateForCopilot(manifestPath, operations, openApiSpecFilePath, pluginManifestFilePath);
1115
+ // Send SpecParser.generate() warnings
1116
+ context.telemetryReporter.sendTelemetryEvent(helper_1.specParserGenerateResultTelemetryEvent, {
1117
+ [helper_1.specParserGenerateResultAllSuccessTelemetryProperty]: generateResult.allSuccess.toString(),
1118
+ [helper_1.specParserGenerateResultWarningsTelemetryProperty]: generateResult.warnings
1119
+ .map((w) => w.type.toString() + ": " + w.content)
1120
+ .join(";"),
1121
+ [telemetry_2.CoreTelemetryProperty.Component]: telemetry_2.CoreTelemetryComponentName,
1122
+ });
1123
+ if (generateResult.warnings && generateResult.warnings.length > 0) {
1124
+ const warnSummary = helper_1.generateScaffoldingSummary(generateResult.warnings, manifestRes.value, path.relative(inputs.projectPath, openApiSpecFilePath));
1125
+ context.logProvider.info(warnSummary);
1126
+ }
1127
+ }
1128
+ catch (e) {
1129
+ let error;
1130
+ if (e instanceof m365_spec_parser_1.SpecParserError) {
1131
+ error = helper_1.convertSpecParserErrorToFxError(e);
1132
+ }
1133
+ else {
1134
+ error = common_2.assembleError(e);
1135
+ }
1136
+ return teamsfx_api_1.err(error);
1137
+ }
1138
+ // update Teams manifest
1139
+ if (needAddCopilotPlugin) {
1140
+ teamsManifest.plugins = teamsManifest.plugins || [];
1141
+ teamsManifest.plugins.push({
1142
+ id: "plugin_1",
1143
+ file: pluginManifestName,
1144
+ });
1145
+ const updateManifestRes = await ManifestUtils_1.manifestUtils._writeAppManifest(teamsManifest, manifestPath);
1146
+ if (updateManifestRes.isErr()) {
1147
+ return teamsfx_api_1.err(updateManifestRes.error);
1148
+ }
1149
+ }
1150
+ // update GPT manifest
1151
+ let actionId = "";
1152
+ if (needAddAction) {
1153
+ let suffix = 1;
1154
+ actionId = `action_${suffix}`;
1155
+ const existingActionIds = (_b = gptManifest.actions) === null || _b === void 0 ? void 0 : _b.map((action) => action.id);
1156
+ while (existingActionIds === null || existingActionIds === void 0 ? void 0 : existingActionIds.includes(actionId)) {
1157
+ suffix += 1;
1158
+ actionId = `action_${suffix}`;
1159
+ }
1160
+ const addActionRes = await CopilotGptManifestUtils_1.copilotGptManifestUtils.addAction(gptManifestFilePath, actionId, pluginManifestName);
1161
+ if (addActionRes.isErr()) {
1162
+ return teamsfx_api_1.err(addActionRes.error);
1163
+ }
1164
+ }
1165
+ // TODO: localize string below.
1166
+ let successMessage = "";
1167
+ if (needAddAction && needAddCopilotPlugin) {
1168
+ successMessage = `Action \"${actionId}\" and plugin "plugin_1" have been successfully added to the project.`;
1169
+ }
1170
+ else if (needAddAction) {
1171
+ successMessage = `Action \"${actionId}\" has been successfully added to the project.`;
1172
+ }
1173
+ else if (needAddCopilotPlugin) {
1174
+ successMessage = `Plugin \"plugin_1\" has been successfully added to the project.`;
1175
+ }
1176
+ void context.userInteraction.showMessage("info", successMessage, false);
1177
+ return teamsfx_api_1.ok(undefined);
1178
+ }
1001
1179
  }
1002
1180
  tslib_1.__decorate([
1003
1181
  hooks_1.hooks([
@@ -1009,6 +1187,19 @@ tslib_1.__decorate([
1009
1187
  tslib_1.__metadata("design:paramtypes", [Object]),
1010
1188
  tslib_1.__metadata("design:returntype", Promise)
1011
1189
  ], FxCore.prototype, "createProject", null);
1190
+ tslib_1.__decorate([
1191
+ hooks_1.hooks([
1192
+ globalVars_1.ErrorContextMW({
1193
+ component: "FxCore",
1194
+ stage: "createProjectByCustomizedGenerator",
1195
+ reset: true,
1196
+ }),
1197
+ errorHandler_1.ErrorHandlerMW,
1198
+ ]),
1199
+ tslib_1.__metadata("design:type", Function),
1200
+ tslib_1.__metadata("design:paramtypes", [Object, Object]),
1201
+ tslib_1.__metadata("design:returntype", Promise)
1202
+ ], FxCore.prototype, "createProjectByCustomizedGenerator", null);
1012
1203
  tslib_1.__decorate([
1013
1204
  hooks_1.hooks([
1014
1205
  globalVars_1.ErrorContextMW({ component: "FxCore", stage: "createSampleProject", reset: true }),
@@ -1454,5 +1645,16 @@ tslib_1.__decorate([
1454
1645
  tslib_1.__metadata("design:paramtypes", [String]),
1455
1646
  tslib_1.__metadata("design:returntype", Promise)
1456
1647
  ], FxCore.prototype, "checkProjectType", null);
1648
+ tslib_1.__decorate([
1649
+ hooks_1.hooks([
1650
+ globalVars_1.ErrorContextMW({ component: "FxCore", stage: "addPlugin" }),
1651
+ errorHandler_1.ErrorHandlerMW,
1652
+ questionMW_1.QuestionMW("addPlugin"),
1653
+ concurrentLocker_1.ConcurrentLockerMW,
1654
+ ]),
1655
+ tslib_1.__metadata("design:type", Function),
1656
+ tslib_1.__metadata("design:paramtypes", [Object]),
1657
+ tslib_1.__metadata("design:returntype", Promise)
1658
+ ], FxCore.prototype, "addPlugin", null);
1457
1659
  exports.FxCore = FxCore;
1458
1660
  //# sourceMappingURL=FxCore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FxCore.js","sourceRoot":"","sources":["../../src/core/FxCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FxCore.js","sourceRoot":"","sources":["../../src/core/FxCore.ts"],"names":[],"mappings":"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"}