@microsoft/teamsfx-core 3.1.0 → 3.1.2-alpha.7d8ba7acc9.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 (958) hide show
  1. package/build/client/aadAppClient.d.ts +0 -6
  2. package/build/client/aadAppClient.d.ts.map +1 -1
  3. package/build/client/aadAppClient.js +8 -6
  4. package/build/client/aadAppClient.js.map +1 -1
  5. package/build/client/graphClient.d.ts +4 -4
  6. package/build/client/graphClient.d.ts.map +1 -1
  7. package/build/client/graphClient.js +91 -23
  8. package/build/client/graphClient.js.map +1 -1
  9. package/build/client/teamsDevPortalClient.d.ts +3 -7
  10. package/build/client/teamsDevPortalClient.d.ts.map +1 -1
  11. package/build/client/teamsDevPortalClient.js +101 -122
  12. package/build/client/teamsDevPortalClient.js.map +1 -1
  13. package/build/client/teamsGraphClient.d.ts +20 -0
  14. package/build/client/teamsGraphClient.d.ts.map +1 -0
  15. package/build/client/teamsGraphClient.js +152 -0
  16. package/build/client/teamsGraphClient.js.map +1 -0
  17. package/build/common/accountUtils.d.ts +3 -2
  18. package/build/common/accountUtils.d.ts.map +1 -1
  19. package/build/common/accountUtils.js +7 -2
  20. package/build/common/accountUtils.js.map +1 -1
  21. package/build/common/constants.d.ts +5 -1
  22. package/build/common/constants.d.ts.map +1 -1
  23. package/build/common/constants.js +20 -5
  24. package/build/common/constants.js.map +1 -1
  25. package/build/common/daSpecParser.d.ts +2 -1
  26. package/build/common/daSpecParser.d.ts.map +1 -1
  27. package/build/common/daSpecParser.js +214 -21
  28. package/build/common/daSpecParser.js.map +1 -1
  29. package/build/common/featureFlags.d.ts +22 -5
  30. package/build/common/featureFlags.d.ts.map +1 -1
  31. package/build/common/featureFlags.js +40 -9
  32. package/build/common/featureFlags.js.map +1 -1
  33. package/build/common/fetchHelper.d.ts.map +1 -1
  34. package/build/common/fetchHelper.js +41 -3
  35. package/build/common/fetchHelper.js.map +1 -1
  36. package/build/common/globalVars.d.ts +1 -1
  37. package/build/common/globalVars.d.ts.map +1 -1
  38. package/build/common/globalVars.js.map +1 -1
  39. package/build/common/httpProxy.d.ts +21 -0
  40. package/build/common/httpProxy.d.ts.map +1 -0
  41. package/build/common/httpProxy.js +117 -0
  42. package/build/common/httpProxy.js.map +1 -0
  43. package/build/common/kiotaClient.d.ts +3 -3
  44. package/build/common/kiotaClient.d.ts.map +1 -1
  45. package/build/common/kiotaClient.js +10 -10
  46. package/build/common/kiotaClient.js.map +1 -1
  47. package/build/common/mcpToolFetcher.d.ts +90 -0
  48. package/build/common/mcpToolFetcher.d.ts.map +1 -0
  49. package/build/common/mcpToolFetcher.js +404 -0
  50. package/build/common/mcpToolFetcher.js.map +1 -0
  51. package/build/common/odrProvider.d.ts +43 -0
  52. package/build/common/odrProvider.d.ts.map +1 -0
  53. package/build/common/odrProvider.js +154 -0
  54. package/build/common/odrProvider.js.map +1 -0
  55. package/build/common/openApiParserOptions.d.ts +3 -0
  56. package/build/common/openApiParserOptions.d.ts.map +1 -0
  57. package/build/common/openApiParserOptions.js +61 -0
  58. package/build/common/openApiParserOptions.js.map +1 -0
  59. package/build/common/permissionInterface.d.ts +12 -3
  60. package/build/common/permissionInterface.d.ts.map +1 -1
  61. package/build/common/permissionInterface.js +7 -1
  62. package/build/common/permissionInterface.js.map +1 -1
  63. package/build/common/projectSettingsHelper.d.ts +0 -2
  64. package/build/common/projectSettingsHelper.d.ts.map +1 -1
  65. package/build/common/projectSettingsHelper.js +1 -59
  66. package/build/common/projectSettingsHelper.js.map +1 -1
  67. package/build/common/retryHandler.d.ts +5 -0
  68. package/build/common/retryHandler.d.ts.map +1 -0
  69. package/build/common/retryHandler.js +27 -0
  70. package/build/common/retryHandler.js.map +1 -0
  71. package/build/common/samples.d.ts +1 -1
  72. package/build/common/samples.js +1 -1
  73. package/build/common/secretmasker/dict.d.ts.map +1 -1
  74. package/build/common/secretmasker/dict.js +5 -2
  75. package/build/common/secretmasker/dict.js.map +1 -1
  76. package/build/common/secretmasker/feature.js.map +1 -1
  77. package/build/common/teamsGraphApiNames.d.ts +10 -0
  78. package/build/common/teamsGraphApiNames.d.ts.map +1 -0
  79. package/build/common/teamsGraphApiNames.js +16 -0
  80. package/build/common/teamsGraphApiNames.js.map +1 -0
  81. package/build/common/telemetry.d.ts +6 -15
  82. package/build/common/telemetry.d.ts.map +1 -1
  83. package/build/common/telemetry.js +9 -20
  84. package/build/common/telemetry.js.map +1 -1
  85. package/build/common/templates-config.json +10 -3
  86. package/build/common/tools.d.ts +1 -1
  87. package/build/common/tools.d.ts.map +1 -1
  88. package/build/common/tools.js +6 -6
  89. package/build/common/tools.js.map +1 -1
  90. package/build/common/wrappedAxiosClient.d.ts +11 -2
  91. package/build/common/wrappedAxiosClient.d.ts.map +1 -1
  92. package/build/common/wrappedAxiosClient.js +147 -59
  93. package/build/common/wrappedAxiosClient.js.map +1 -1
  94. package/build/component/configManager/actionInjector.d.ts +16 -1
  95. package/build/component/configManager/actionInjector.d.ts.map +1 -1
  96. package/build/component/configManager/actionInjector.js +106 -1
  97. package/build/component/configManager/actionInjector.js.map +1 -1
  98. package/build/component/configManager/lifecycle.d.ts +2 -2
  99. package/build/component/configManager/lifecycle.d.ts.map +1 -1
  100. package/build/component/configManager/lifecycle.js +31 -8
  101. package/build/component/configManager/lifecycle.js.map +1 -1
  102. package/build/component/configManager/parser.js.map +1 -1
  103. package/build/component/configManager/validator.d.ts.map +1 -1
  104. package/build/component/configManager/validator.js +2 -0
  105. package/build/component/configManager/validator.js.map +1 -1
  106. package/build/component/coordinator/index.d.ts.map +1 -1
  107. package/build/component/coordinator/index.js +13 -11
  108. package/build/component/coordinator/index.js.map +1 -1
  109. package/build/component/deps-checker/internal/dotnetChecker.js.map +1 -1
  110. package/build/component/deps-checker/internal/funcToolChecker.js +6 -7
  111. package/build/component/deps-checker/internal/funcToolChecker.js.map +1 -1
  112. package/build/component/deps-checker/internal/nodeChecker.js +1 -1
  113. package/build/component/deps-checker/internal/nodeChecker.js.map +1 -1
  114. package/build/component/deps-checker/internal/testToolChecker.js +13 -13
  115. package/build/component/deps-checker/internal/testToolChecker.js.map +1 -1
  116. package/build/component/developerPortalScaffoldUtils.d.ts.map +1 -1
  117. package/build/component/developerPortalScaffoldUtils.js +5 -5
  118. package/build/component/developerPortalScaffoldUtils.js.map +1 -1
  119. package/build/component/driver/aad/utility/aadManifestHelper.d.ts +1 -1
  120. package/build/component/driver/aad/utility/aadManifestHelper.d.ts.map +1 -1
  121. package/build/component/driver/aad/utility/aadManifestHelper.js +7 -4
  122. package/build/component/driver/aad/utility/aadManifestHelper.js.map +1 -1
  123. package/build/component/driver/add/addWebPart.js +3 -3
  124. package/build/component/driver/add/addWebPart.js.map +1 -1
  125. package/build/component/driver/apiKey/create.d.ts.map +1 -1
  126. package/build/component/driver/apiKey/create.js +4 -4
  127. package/build/component/driver/apiKey/create.js.map +1 -1
  128. package/build/component/driver/apiKey/update.d.ts.map +1 -1
  129. package/build/component/driver/apiKey/update.js +4 -4
  130. package/build/component/driver/apiKey/update.js.map +1 -1
  131. package/build/component/driver/arm/util/handleError.js +5 -4
  132. package/build/component/driver/arm/util/handleError.js.map +1 -1
  133. package/build/component/driver/botAadApp/create.js +1 -1
  134. package/build/component/driver/botAadApp/create.js.map +1 -1
  135. package/build/component/driver/copilotAgent/interfaces/PublishArgs.d.ts +14 -0
  136. package/build/component/driver/copilotAgent/interfaces/PublishArgs.d.ts.map +1 -0
  137. package/build/component/driver/copilotAgent/interfaces/PublishArgs.js +5 -0
  138. package/build/component/driver/copilotAgent/interfaces/PublishArgs.js.map +1 -0
  139. package/build/component/driver/copilotAgent/publish.d.ts +16 -0
  140. package/build/component/driver/copilotAgent/publish.d.ts.map +1 -0
  141. package/build/component/driver/copilotAgent/publish.js +175 -0
  142. package/build/component/driver/copilotAgent/publish.js.map +1 -0
  143. package/build/component/driver/dcr/create.d.ts +10 -0
  144. package/build/component/driver/dcr/create.d.ts.map +1 -0
  145. package/build/component/driver/dcr/create.js +142 -0
  146. package/build/component/driver/dcr/create.js.map +1 -0
  147. package/build/component/driver/dcr/error/dcrNameTooLong.d.ts +5 -0
  148. package/build/component/driver/dcr/error/dcrNameTooLong.d.ts.map +1 -0
  149. package/build/component/driver/dcr/error/dcrNameTooLong.js +21 -0
  150. package/build/component/driver/dcr/error/dcrNameTooLong.js.map +1 -0
  151. package/build/component/driver/dcr/error/dcrWellKnownInvalid.d.ts +5 -0
  152. package/build/component/driver/dcr/error/dcrWellKnownInvalid.d.ts.map +1 -0
  153. package/build/component/driver/dcr/error/dcrWellKnownInvalid.js +21 -0
  154. package/build/component/driver/dcr/error/dcrWellKnownInvalid.js.map +1 -0
  155. package/build/component/driver/dcr/interface/createDcrArgs.d.ts +9 -0
  156. package/build/component/driver/dcr/interface/createDcrArgs.d.ts.map +1 -0
  157. package/build/component/driver/dcr/interface/createDcrArgs.js +5 -0
  158. package/build/component/driver/dcr/interface/createDcrArgs.js.map +1 -0
  159. package/build/component/driver/dcr/interface/createDcrOutputs.d.ts +7 -0
  160. package/build/component/driver/dcr/interface/createDcrOutputs.d.ts.map +1 -0
  161. package/build/component/driver/dcr/interface/createDcrOutputs.js +10 -0
  162. package/build/component/driver/dcr/interface/createDcrOutputs.js.map +1 -0
  163. package/build/component/driver/dcr/utility/constants.d.ts +7 -0
  164. package/build/component/driver/dcr/utility/constants.d.ts.map +1 -0
  165. package/build/component/driver/dcr/utility/constants.js +12 -0
  166. package/build/component/driver/dcr/utility/constants.js.map +1 -0
  167. package/build/component/driver/deploy/azure/azureStaticWebAppGetDeploymentTokenDriver.d.ts +3 -1
  168. package/build/component/driver/deploy/azure/azureStaticWebAppGetDeploymentTokenDriver.d.ts.map +1 -1
  169. package/build/component/driver/deploy/azure/azureStaticWebAppGetDeploymentTokenDriver.js +12 -9
  170. package/build/component/driver/deploy/azure/azureStaticWebAppGetDeploymentTokenDriver.js.map +1 -1
  171. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.d.ts +3 -0
  172. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.d.ts.map +1 -1
  173. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js +39 -4
  174. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js.map +1 -1
  175. package/build/component/driver/deploy/azure/impl/azureDeployImpl.js +2 -2
  176. package/build/component/driver/deploy/azure/impl/azureDeployImpl.js.map +1 -1
  177. package/build/component/driver/devTool/httpClient.d.ts +4 -0
  178. package/build/component/driver/devTool/httpClient.d.ts.map +1 -1
  179. package/build/component/driver/devTool/httpClient.js +6 -3
  180. package/build/component/driver/devTool/httpClient.js.map +1 -1
  181. package/build/component/driver/index.d.ts +2 -0
  182. package/build/component/driver/index.d.ts.map +1 -1
  183. package/build/component/driver/index.js +2 -0
  184. package/build/component/driver/index.js.map +1 -1
  185. package/build/component/driver/interface/buildAndDeployArgs.d.ts +1 -1
  186. package/build/component/driver/interface/buildAndDeployArgs.d.ts.map +1 -1
  187. package/build/component/driver/interface/commonArgs.d.ts +2 -1
  188. package/build/component/driver/interface/commonArgs.d.ts.map +1 -1
  189. package/build/component/driver/m365/acquire.d.ts.map +1 -1
  190. package/build/component/driver/m365/acquire.js +4 -3
  191. package/build/component/driver/m365/acquire.js.map +1 -1
  192. package/build/component/driver/oauth/create.d.ts.map +1 -1
  193. package/build/component/driver/oauth/create.js +5 -4
  194. package/build/component/driver/oauth/create.js.map +1 -1
  195. package/build/component/driver/oauth/update.d.ts.map +1 -1
  196. package/build/component/driver/oauth/update.js +5 -5
  197. package/build/component/driver/oauth/update.js.map +1 -1
  198. package/build/component/driver/script/baseBuildDriver.d.ts +1 -2
  199. package/build/component/driver/script/baseBuildDriver.d.ts.map +1 -1
  200. package/build/component/driver/script/baseBuildDriver.js +0 -2
  201. package/build/component/driver/script/baseBuildDriver.js.map +1 -1
  202. package/build/component/driver/script/scriptDriver.d.ts.map +1 -1
  203. package/build/component/driver/script/scriptDriver.js +3 -2
  204. package/build/component/driver/script/scriptDriver.js.map +1 -1
  205. package/build/component/driver/share/utils.d.ts.map +1 -1
  206. package/build/component/driver/share/utils.js +9 -7
  207. package/build/component/driver/share/utils.js.map +1 -1
  208. package/build/component/driver/teamsApp/appStudio.d.ts.map +1 -1
  209. package/build/component/driver/teamsApp/appStudio.js +1 -1
  210. package/build/component/driver/teamsApp/appStudio.js.map +1 -1
  211. package/build/component/driver/teamsApp/configure.d.ts.map +1 -1
  212. package/build/component/driver/teamsApp/configure.js +7 -0
  213. package/build/component/driver/teamsApp/configure.js.map +1 -1
  214. package/build/component/driver/teamsApp/constants.d.ts +9 -3
  215. package/build/component/driver/teamsApp/constants.d.ts.map +1 -1
  216. package/build/component/driver/teamsApp/constants.js +11 -4
  217. package/build/component/driver/teamsApp/constants.js.map +1 -1
  218. package/build/component/driver/teamsApp/create.d.ts.map +1 -1
  219. package/build/component/driver/teamsApp/create.js +19 -1
  220. package/build/component/driver/teamsApp/create.js.map +1 -1
  221. package/build/component/driver/teamsApp/createAppPackage.d.ts +3 -0
  222. package/build/component/driver/teamsApp/createAppPackage.d.ts.map +1 -1
  223. package/build/component/driver/teamsApp/createAppPackage.js +130 -11
  224. package/build/component/driver/teamsApp/createAppPackage.js.map +1 -1
  225. package/build/component/driver/teamsApp/interfaces/DcrRegistration.d.ts +10 -0
  226. package/build/component/driver/teamsApp/interfaces/DcrRegistration.d.ts.map +1 -0
  227. package/build/component/driver/teamsApp/interfaces/DcrRegistration.js +5 -0
  228. package/build/component/driver/teamsApp/interfaces/DcrRegistration.js.map +1 -0
  229. package/build/component/driver/teamsApp/interfaces/OauthRegistration.d.ts +4 -0
  230. package/build/component/driver/teamsApp/interfaces/OauthRegistration.d.ts.map +1 -1
  231. package/build/component/driver/teamsApp/interfaces/OauthRegistration.js.map +1 -1
  232. package/build/component/driver/teamsApp/interfaces/ValidationResult.d.ts +6 -0
  233. package/build/component/driver/teamsApp/interfaces/ValidationResult.d.ts.map +1 -1
  234. package/build/component/driver/teamsApp/publishAppPackage.d.ts +0 -2
  235. package/build/component/driver/teamsApp/publishAppPackage.d.ts.map +1 -1
  236. package/build/component/driver/teamsApp/publishAppPackage.js +19 -60
  237. package/build/component/driver/teamsApp/publishAppPackage.js.map +1 -1
  238. package/build/component/driver/teamsApp/syncManifest.d.ts +3 -3
  239. package/build/component/driver/teamsApp/syncManifest.d.ts.map +1 -1
  240. package/build/component/driver/teamsApp/syncManifest.js +8 -8
  241. package/build/component/driver/teamsApp/syncManifest.js.map +1 -1
  242. package/build/component/driver/teamsApp/teamsappMgr.d.ts +6 -0
  243. package/build/component/driver/teamsApp/teamsappMgr.d.ts.map +1 -1
  244. package/build/component/driver/teamsApp/teamsappMgr.js +38 -3
  245. package/build/component/driver/teamsApp/teamsappMgr.js.map +1 -1
  246. package/build/component/driver/teamsApp/utils/CopilotGptManifestUtils.d.ts +2 -0
  247. package/build/component/driver/teamsApp/utils/CopilotGptManifestUtils.d.ts.map +1 -1
  248. package/build/component/driver/teamsApp/utils/CopilotGptManifestUtils.js +120 -5
  249. package/build/component/driver/teamsApp/utils/CopilotGptManifestUtils.js.map +1 -1
  250. package/build/component/driver/teamsApp/utils/ManifestUtils.d.ts +1 -1
  251. package/build/component/driver/teamsApp/utils/ManifestUtils.d.ts.map +1 -1
  252. package/build/component/driver/teamsApp/utils/ManifestUtils.js +10 -2
  253. package/build/component/driver/teamsApp/utils/ManifestUtils.js.map +1 -1
  254. package/build/component/driver/teamsApp/utils/McpCertVerification.d.ts +17 -0
  255. package/build/component/driver/teamsApp/utils/McpCertVerification.d.ts.map +1 -0
  256. package/build/component/driver/teamsApp/utils/McpCertVerification.js +72 -0
  257. package/build/component/driver/teamsApp/utils/McpCertVerification.js.map +1 -0
  258. package/build/component/driver/teamsApp/utils/PluginManifestUtils.d.ts.map +1 -1
  259. package/build/component/driver/teamsApp/utils/PluginManifestUtils.js +1 -1
  260. package/build/component/driver/teamsApp/utils/PluginManifestUtils.js.map +1 -1
  261. package/build/component/driver/teamsApp/utils/telemetry.d.ts +1 -0
  262. package/build/component/driver/teamsApp/utils/telemetry.d.ts.map +1 -1
  263. package/build/component/driver/teamsApp/utils/telemetry.js +1 -0
  264. package/build/component/driver/teamsApp/utils/telemetry.js.map +1 -1
  265. package/build/component/driver/teamsApp/utils/utils.d.ts +1 -4
  266. package/build/component/driver/teamsApp/utils/utils.d.ts.map +1 -1
  267. package/build/component/driver/teamsApp/utils/utils.js +3 -25
  268. package/build/component/driver/teamsApp/utils/utils.js.map +1 -1
  269. package/build/component/driver/teamsApp/validate.d.ts.map +1 -1
  270. package/build/component/driver/teamsApp/validate.js +16 -5
  271. package/build/component/driver/teamsApp/validate.js.map +1 -1
  272. package/build/component/driver/teamsApp/validateAppPackage.d.ts +13 -0
  273. package/build/component/driver/teamsApp/validateAppPackage.d.ts.map +1 -1
  274. package/build/component/driver/teamsApp/validateAppPackage.js +58 -1
  275. package/build/component/driver/teamsApp/validateAppPackage.js.map +1 -1
  276. package/build/component/driver/teamsApp/validateTestCases.d.ts.map +1 -1
  277. package/build/component/driver/typeSpec/compile.d.ts.map +1 -1
  278. package/build/component/driver/typeSpec/compile.js +23 -7
  279. package/build/component/driver/typeSpec/compile.js.map +1 -1
  280. package/build/component/driver/typeSpec/error/typeSpecCompileError.d.ts +5 -0
  281. package/build/component/driver/typeSpec/error/typeSpecCompileError.d.ts.map +1 -0
  282. package/build/component/driver/typeSpec/error/typeSpecCompileError.js +21 -0
  283. package/build/component/driver/typeSpec/error/typeSpecCompileError.js.map +1 -0
  284. package/build/component/driver/util/utils.d.ts.map +1 -1
  285. package/build/component/driver/util/utils.js +1 -0
  286. package/build/component/driver/util/utils.js.map +1 -1
  287. package/build/component/feature/sso.js +2 -2
  288. package/build/component/feature/sso.js.map +1 -1
  289. package/build/component/generator/combinedProject/generator.d.ts.map +1 -1
  290. package/build/component/generator/combinedProject/generator.js +9 -1
  291. package/build/component/generator/combinedProject/generator.js.map +1 -1
  292. package/build/component/generator/configFiles/configGenerator.js +1 -1
  293. package/build/component/generator/configFiles/configGenerator.js.map +1 -1
  294. package/build/component/generator/declarativeAgent/generator.d.ts +7 -0
  295. package/build/component/generator/declarativeAgent/generator.d.ts.map +1 -1
  296. package/build/component/generator/declarativeAgent/generator.js +23 -15
  297. package/build/component/generator/declarativeAgent/generator.js.map +1 -1
  298. package/build/component/generator/declarativeAgent/helper.d.ts +52 -0
  299. package/build/component/generator/declarativeAgent/helper.d.ts.map +1 -1
  300. package/build/component/generator/declarativeAgent/helper.js +469 -63
  301. package/build/component/generator/declarativeAgent/helper.js.map +1 -1
  302. package/build/component/generator/defaultGenerator.d.ts.map +1 -1
  303. package/build/component/generator/defaultGenerator.js +17 -1
  304. package/build/component/generator/defaultGenerator.js.map +1 -1
  305. package/build/component/generator/error.d.ts +3 -0
  306. package/build/component/generator/error.d.ts.map +1 -1
  307. package/build/component/generator/error.js +7 -1
  308. package/build/component/generator/error.js.map +1 -1
  309. package/build/component/generator/generatorAction.d.ts +12 -1
  310. package/build/component/generator/generatorAction.d.ts.map +1 -1
  311. package/build/component/generator/generatorAction.js +16 -8
  312. package/build/component/generator/generatorAction.js.map +1 -1
  313. package/build/component/generator/officeAddin/generator.d.ts +13 -0
  314. package/build/component/generator/officeAddin/generator.d.ts.map +1 -1
  315. package/build/component/generator/officeAddin/generator.js +159 -35
  316. package/build/component/generator/officeAddin/generator.js.map +1 -1
  317. package/build/component/generator/officeAddin/helperMethods.d.ts +4 -0
  318. package/build/component/generator/officeAddin/helperMethods.d.ts.map +1 -1
  319. package/build/component/generator/officeAddin/helperMethods.js +6 -3
  320. package/build/component/generator/officeAddin/helperMethods.js.map +1 -1
  321. package/build/component/generator/openApiSpec/common.js +1 -1
  322. package/build/component/generator/openApiSpec/common.js.map +1 -1
  323. package/build/component/generator/openApiSpec/customEngineAgentGenerator.d.ts +8 -0
  324. package/build/component/generator/openApiSpec/customEngineAgentGenerator.d.ts.map +1 -1
  325. package/build/component/generator/openApiSpec/customEngineAgentGenerator.js +9 -4
  326. package/build/component/generator/openApiSpec/customEngineAgentGenerator.js.map +1 -1
  327. package/build/component/generator/openApiSpec/helper.d.ts +2 -3
  328. package/build/component/generator/openApiSpec/helper.d.ts.map +1 -1
  329. package/build/component/generator/openApiSpec/helper.js +22 -60
  330. package/build/component/generator/openApiSpec/helper.js.map +1 -1
  331. package/build/component/generator/openPlugin/authorParser.d.ts +8 -0
  332. package/build/component/generator/openPlugin/authorParser.d.ts.map +1 -0
  333. package/build/component/generator/openPlugin/authorParser.js +49 -0
  334. package/build/component/generator/openPlugin/authorParser.js.map +1 -0
  335. package/build/component/generator/openPlugin/deterministicId.d.ts +6 -0
  336. package/build/component/generator/openPlugin/deterministicId.d.ts.map +1 -0
  337. package/build/component/generator/openPlugin/deterministicId.js +31 -0
  338. package/build/component/generator/openPlugin/deterministicId.js.map +1 -0
  339. package/build/component/generator/openPlugin/exporter.d.ts +18 -0
  340. package/build/component/generator/openPlugin/exporter.d.ts.map +1 -0
  341. package/build/component/generator/openPlugin/exporter.js +233 -0
  342. package/build/component/generator/openPlugin/exporter.js.map +1 -0
  343. package/build/component/generator/openPlugin/iconStrategy.d.ts +8 -0
  344. package/build/component/generator/openPlugin/iconStrategy.d.ts.map +1 -0
  345. package/build/component/generator/openPlugin/iconStrategy.js +62 -0
  346. package/build/component/generator/openPlugin/iconStrategy.js.map +1 -0
  347. package/build/component/generator/openPlugin/importer.d.ts +25 -0
  348. package/build/component/generator/openPlugin/importer.d.ts.map +1 -0
  349. package/build/component/generator/openPlugin/importer.js +140 -0
  350. package/build/component/generator/openPlugin/importer.js.map +1 -0
  351. package/build/component/generator/openPlugin/mapper.d.ts +6 -0
  352. package/build/component/generator/openPlugin/mapper.d.ts.map +1 -0
  353. package/build/component/generator/openPlugin/mapper.js +141 -0
  354. package/build/component/generator/openPlugin/mapper.js.map +1 -0
  355. package/build/component/generator/openPlugin/parser.d.ts +3 -0
  356. package/build/component/generator/openPlugin/parser.d.ts.map +1 -0
  357. package/build/component/generator/openPlugin/parser.js +153 -0
  358. package/build/component/generator/openPlugin/parser.js.map +1 -0
  359. package/build/component/generator/openPlugin/placeholderPng.d.ts +6 -0
  360. package/build/component/generator/openPlugin/placeholderPng.d.ts.map +1 -0
  361. package/build/component/generator/openPlugin/placeholderPng.js +71 -0
  362. package/build/component/generator/openPlugin/placeholderPng.js.map +1 -0
  363. package/build/component/generator/openPlugin/textUtils.d.ts +12 -0
  364. package/build/component/generator/openPlugin/textUtils.d.ts.map +1 -0
  365. package/build/component/generator/openPlugin/textUtils.js +43 -0
  366. package/build/component/generator/openPlugin/textUtils.js.map +1 -0
  367. package/build/component/generator/openPlugin/types.d.ts +128 -0
  368. package/build/component/generator/openPlugin/types.d.ts.map +1 -0
  369. package/build/component/generator/openPlugin/types.js.map +1 -0
  370. package/build/component/generator/other/tdpGenerator.d.ts +1 -0
  371. package/build/component/generator/other/tdpGenerator.d.ts.map +1 -1
  372. package/build/component/generator/other/tdpGenerator.js +24 -2
  373. package/build/component/generator/other/tdpGenerator.js.map +1 -1
  374. package/build/component/generator/spfx/spfxGenerator.js +5 -5
  375. package/build/component/generator/spfx/spfxGenerator.js.map +1 -1
  376. package/build/component/generator/spfx/utils/constants.d.ts +1 -1
  377. package/build/component/generator/spfx/utils/constants.js +1 -1
  378. package/build/component/generator/spfx/utils/utils.js +1 -1
  379. package/build/component/generator/spfx/utils/utils.js.map +1 -1
  380. package/build/component/generator/templateHelper.d.ts +17 -2
  381. package/build/component/generator/templateHelper.d.ts.map +1 -1
  382. package/build/component/generator/templateHelper.js +36 -3
  383. package/build/component/generator/templateHelper.js.map +1 -1
  384. package/build/component/generator/templates/metadata/index.d.ts +15 -0
  385. package/build/component/generator/templates/metadata/index.d.ts.map +1 -1
  386. package/build/component/generator/templates/metadata/index.js +51 -5
  387. package/build/component/generator/templates/metadata/index.js.map +1 -1
  388. package/build/component/generator/templates/templateNames.d.ts +6 -3
  389. package/build/component/generator/templates/templateNames.d.ts.map +1 -1
  390. package/build/component/generator/templates/templateNames.js +7 -2
  391. package/build/component/generator/templates/templateNames.js.map +1 -1
  392. package/build/component/generator/templates/templateReplaceMap.d.ts.map +1 -1
  393. package/build/component/generator/templates/templateReplaceMap.js +4 -1
  394. package/build/component/generator/templates/templateReplaceMap.js.map +1 -1
  395. package/build/component/generator/utils.d.ts.map +1 -1
  396. package/build/component/generator/utils.js +14 -8
  397. package/build/component/generator/utils.js.map +1 -1
  398. package/build/component/generator/v4MetadataSource.d.ts +16 -0
  399. package/build/component/generator/v4MetadataSource.d.ts.map +1 -0
  400. package/build/component/generator/v4MetadataSource.js +35 -0
  401. package/build/component/generator/v4MetadataSource.js.map +1 -0
  402. package/build/component/generator/v4TemplateBridge.d.ts +55 -0
  403. package/build/component/generator/v4TemplateBridge.d.ts.map +1 -0
  404. package/build/component/generator/v4TemplateBridge.js +224 -0
  405. package/build/component/generator/v4TemplateBridge.js.map +1 -0
  406. package/build/component/local/localCertificateManager.d.ts +16 -1
  407. package/build/component/local/localCertificateManager.d.ts.map +1 -1
  408. package/build/component/local/localCertificateManager.js +47 -31
  409. package/build/component/local/localCertificateManager.js.map +1 -1
  410. package/build/component/m365/constants.d.ts +2 -1
  411. package/build/component/m365/constants.d.ts.map +1 -1
  412. package/build/component/m365/constants.js +1 -0
  413. package/build/component/m365/constants.js.map +1 -1
  414. package/build/component/m365/launchHelper.d.ts.map +1 -1
  415. package/build/component/m365/launchHelper.js +7 -2
  416. package/build/component/m365/launchHelper.js.map +1 -1
  417. package/build/component/m365/packageService.d.ts +11 -5
  418. package/build/component/m365/packageService.d.ts.map +1 -1
  419. package/build/component/m365/packageService.js +93 -103
  420. package/build/component/m365/packageService.js.map +1 -1
  421. package/build/component/m365/serviceConstant.d.ts.map +1 -1
  422. package/build/component/m365/serviceConstant.js +24 -14
  423. package/build/component/m365/serviceConstant.js.map +1 -1
  424. package/build/component/middleware/envMW.d.ts.map +1 -1
  425. package/build/component/middleware/envMW.js +5 -0
  426. package/build/component/middleware/envMW.js.map +1 -1
  427. package/build/component/provisionUtils.d.ts.map +1 -1
  428. package/build/component/provisionUtils.js +5 -2
  429. package/build/component/provisionUtils.js.map +1 -1
  430. package/build/component/utils/ResourceGroupHelper.d.ts +4 -0
  431. package/build/component/utils/ResourceGroupHelper.d.ts.map +1 -1
  432. package/build/component/utils/ResourceGroupHelper.js +8 -4
  433. package/build/component/utils/ResourceGroupHelper.js.map +1 -1
  434. package/build/component/utils/charsetUtils.js +3 -3
  435. package/build/component/utils/charsetUtils.js.map +1 -1
  436. package/build/component/utils/envFunctionUtils.js +1 -1
  437. package/build/component/utils/envFunctionUtils.js.map +1 -1
  438. package/build/component/utils/envUtil.d.ts.map +1 -1
  439. package/build/component/utils/envUtil.js +2 -2
  440. package/build/component/utils/envUtil.js.map +1 -1
  441. package/build/component/utils/fileOperation.d.ts +9 -0
  442. package/build/component/utils/fileOperation.d.ts.map +1 -1
  443. package/build/component/utils/fileOperation.js +31 -17
  444. package/build/component/utils/fileOperation.js.map +1 -1
  445. package/build/component/utils/mcpAuthScaffolder.d.ts +137 -0
  446. package/build/component/utils/mcpAuthScaffolder.d.ts.map +1 -0
  447. package/build/component/utils/mcpAuthScaffolder.js +200 -0
  448. package/build/component/utils/mcpAuthScaffolder.js.map +1 -0
  449. package/build/component/utils/mcpToolFetcher.d.ts +2 -0
  450. package/build/component/utils/mcpToolFetcher.d.ts.map +1 -0
  451. package/build/component/utils/mcpToolFetcher.js +7 -0
  452. package/build/component/utils/mcpToolFetcher.js.map +1 -0
  453. package/build/component/utils/metadataGraphPermssion.d.ts +4 -0
  454. package/build/component/utils/metadataGraphPermssion.d.ts.map +1 -1
  455. package/build/component/utils/metadataGraphPermssion.js +7 -4
  456. package/build/component/utils/metadataGraphPermssion.js.map +1 -1
  457. package/build/component/utils/odrProvider.d.ts +1 -48
  458. package/build/component/utils/odrProvider.d.ts.map +1 -1
  459. package/build/component/utils/odrProvider.js +2 -94
  460. package/build/component/utils/odrProvider.js.map +1 -1
  461. package/build/core/FxCore.d.ts +49 -16
  462. package/build/core/FxCore.d.ts.map +1 -1
  463. package/build/core/FxCore.declarativeAgent.d.ts +45 -1
  464. package/build/core/FxCore.declarativeAgent.d.ts.map +1 -1
  465. package/build/core/FxCore.declarativeAgent.js +747 -56
  466. package/build/core/FxCore.declarativeAgent.js.map +1 -1
  467. package/build/core/FxCore.js +512 -325
  468. package/build/core/FxCore.js.map +1 -1
  469. package/build/core/FxCore.openPlugin.d.ts +23 -0
  470. package/build/core/FxCore.openPlugin.d.ts.map +1 -0
  471. package/build/core/FxCore.openPlugin.js +131 -0
  472. package/build/core/FxCore.openPlugin.js.map +1 -0
  473. package/build/core/FxCoreClient.d.ts +74 -0
  474. package/build/core/FxCoreClient.d.ts.map +1 -0
  475. package/build/core/FxCoreClient.js +141 -0
  476. package/build/core/FxCoreClient.js.map +1 -0
  477. package/build/core/collaborator.d.ts +1 -0
  478. package/build/core/collaborator.d.ts.map +1 -1
  479. package/build/core/collaborator.js +37 -0
  480. package/build/core/collaborator.js.map +1 -1
  481. package/build/core/createFrontDoorAdapters.d.ts +39 -0
  482. package/build/core/createFrontDoorAdapters.d.ts.map +1 -0
  483. package/build/core/createFrontDoorAdapters.js +244 -0
  484. package/build/core/createFrontDoorAdapters.js.map +1 -0
  485. package/build/core/createProjectFrontDoor.d.ts +49 -0
  486. package/build/core/createProjectFrontDoor.d.ts.map +1 -0
  487. package/build/core/createProjectFrontDoor.js +316 -0
  488. package/build/core/createProjectFrontDoor.js.map +1 -0
  489. package/build/core/middleware/concurrentLocker.d.ts.map +1 -1
  490. package/build/core/middleware/concurrentLocker.js +7 -10
  491. package/build/core/middleware/concurrentLocker.js.map +1 -1
  492. package/build/core/middleware/errorHandler.d.ts.map +1 -1
  493. package/build/core/middleware/errorHandler.js +9 -0
  494. package/build/core/middleware/errorHandler.js.map +1 -1
  495. package/build/core/middleware/fileLocker.js +6 -6
  496. package/build/core/middleware/fileLocker.js.map +1 -1
  497. package/build/core/middleware/utils/v3MigrationUtils.d.ts +1 -34
  498. package/build/core/middleware/utils/v3MigrationUtils.d.ts.map +1 -1
  499. package/build/core/middleware/utils/v3MigrationUtils.js +6 -245
  500. package/build/core/middleware/utils/v3MigrationUtils.js.map +1 -1
  501. package/build/core/modifyProjectFrontDoor.d.ts +27 -0
  502. package/build/core/modifyProjectFrontDoor.d.ts.map +1 -0
  503. package/build/core/modifyProjectFrontDoor.js +148 -0
  504. package/build/core/modifyProjectFrontDoor.js.map +1 -0
  505. package/build/core/v4ArtifactSnapshot.d.ts +5 -0
  506. package/build/core/v4ArtifactSnapshot.d.ts.map +1 -0
  507. package/build/core/v4ArtifactSnapshot.js +23 -0
  508. package/build/core/v4ArtifactSnapshot.js.map +1 -0
  509. package/build/error/common.d.ts.map +1 -1
  510. package/build/error/common.js +3 -0
  511. package/build/error/common.js.map +1 -1
  512. package/build/error/teamsApp.d.ts +3 -0
  513. package/build/error/teamsApp.d.ts.map +1 -1
  514. package/build/error/teamsApp.js +15 -1
  515. package/build/error/teamsApp.js.map +1 -1
  516. package/build/error/teamsGraph.d.ts +5 -0
  517. package/build/error/teamsGraph.d.ts.map +1 -0
  518. package/build/error/teamsGraph.js +24 -0
  519. package/build/error/teamsGraph.js.map +1 -0
  520. package/build/index.d.ts +8 -4
  521. package/build/index.d.ts.map +1 -1
  522. package/build/index.js +21 -7
  523. package/build/index.js.map +1 -1
  524. package/build/question/constants.d.ts +1 -0
  525. package/build/question/constants.d.ts.map +1 -1
  526. package/build/question/constants.js +15 -8
  527. package/build/question/constants.js.map +1 -1
  528. package/build/question/create.d.ts +18 -0
  529. package/build/question/create.d.ts.map +1 -1
  530. package/build/question/create.js +121 -14
  531. package/build/question/create.js.map +1 -1
  532. package/build/question/index.d.ts +1 -1
  533. package/build/question/index.d.ts.map +1 -1
  534. package/build/question/index.js +4 -4
  535. package/build/question/index.js.map +1 -1
  536. package/build/question/inputs/AddKnowledgeInputs.d.ts.map +1 -1
  537. package/build/question/inputs/AddPluginInputs.d.ts +17 -5
  538. package/build/question/inputs/AddPluginInputs.d.ts.map +1 -1
  539. package/build/question/inputs/AddSkillInputs.d.ts +10 -0
  540. package/build/question/inputs/AddSkillInputs.d.ts.map +1 -0
  541. package/build/question/inputs/AddSkillInputs.js +5 -0
  542. package/build/question/inputs/AddSkillInputs.js.map +1 -0
  543. package/build/question/inputs/CreateProjectInputs.d.ts +19 -1
  544. package/build/question/inputs/CreateProjectInputs.d.ts.map +1 -1
  545. package/build/question/inputs/ExportOpenPluginInputs.d.ts +10 -0
  546. package/build/question/inputs/ExportOpenPluginInputs.d.ts.map +1 -0
  547. package/build/question/inputs/ExportOpenPluginInputs.js +5 -0
  548. package/build/question/inputs/ExportOpenPluginInputs.js.map +1 -0
  549. package/build/question/inputs/ImportOpenPluginInputs.d.ts +28 -0
  550. package/build/question/inputs/ImportOpenPluginInputs.d.ts.map +1 -0
  551. package/build/question/inputs/ImportOpenPluginInputs.js +5 -0
  552. package/build/question/inputs/ImportOpenPluginInputs.js.map +1 -0
  553. package/build/question/inputs/index.d.ts +4 -1
  554. package/build/question/inputs/index.d.ts.map +1 -1
  555. package/build/question/inputs/index.js +4 -1
  556. package/build/question/inputs/index.js.map +1 -1
  557. package/build/question/options/AddPluginOptions.d.ts.map +1 -1
  558. package/build/question/options/AddPluginOptions.js +38 -6
  559. package/build/question/options/AddPluginOptions.js.map +1 -1
  560. package/build/question/options/AddSkillOptions.d.ts +4 -0
  561. package/build/question/options/AddSkillOptions.d.ts.map +1 -0
  562. package/build/question/options/AddSkillOptions.js +47 -0
  563. package/build/question/options/AddSkillOptions.js.map +1 -0
  564. package/build/question/options/CreateProjectOptions.d.ts.map +1 -1
  565. package/build/question/options/CreateProjectOptions.js +53 -1
  566. package/build/question/options/CreateProjectOptions.js.map +1 -1
  567. package/build/question/options/ExportOpenPluginOptions.d.ts +4 -0
  568. package/build/question/options/ExportOpenPluginOptions.d.ts.map +1 -0
  569. package/build/question/options/ExportOpenPluginOptions.js +29 -0
  570. package/build/question/options/ExportOpenPluginOptions.js.map +1 -0
  571. package/build/question/options/ImportOpenPluginOptions.d.ts +4 -0
  572. package/build/question/options/ImportOpenPluginOptions.d.ts.map +1 -0
  573. package/build/question/options/ImportOpenPluginOptions.js +54 -0
  574. package/build/question/options/ImportOpenPluginOptions.js.map +1 -0
  575. package/build/question/options/index.d.ts +3 -0
  576. package/build/question/options/index.d.ts.map +1 -1
  577. package/build/question/options/index.js +3 -0
  578. package/build/question/options/index.js.map +1 -1
  579. package/build/question/other.d.ts +1 -1
  580. package/build/question/other.d.ts.map +1 -1
  581. package/build/question/other.js +198 -17
  582. package/build/question/other.js.map +1 -1
  583. package/build/question/questionNames.d.ts +14 -1
  584. package/build/question/questionNames.d.ts.map +1 -1
  585. package/build/question/questionNames.js +13 -0
  586. package/build/question/questionNames.js.map +1 -1
  587. package/build/question/scaffold/commonNodes.d.ts.map +1 -1
  588. package/build/question/scaffold/commonNodes.js +14 -2
  589. package/build/question/scaffold/commonNodes.js.map +1 -1
  590. package/build/question/scaffold/constructNode.d.ts +3 -1
  591. package/build/question/scaffold/constructNode.d.ts.map +1 -1
  592. package/build/question/scaffold/constructNode.js +55 -2
  593. package/build/question/scaffold/constructNode.js.map +1 -1
  594. package/build/question/scaffold/vsc/CapabilityOptions.d.ts +3 -5
  595. package/build/question/scaffold/vsc/CapabilityOptions.d.ts.map +1 -1
  596. package/build/question/scaffold/vsc/CapabilityOptions.js +46 -46
  597. package/build/question/scaffold/vsc/CapabilityOptions.js.map +1 -1
  598. package/build/question/scaffold/vsc/ProjectTypeOptions.d.ts +2 -0
  599. package/build/question/scaffold/vsc/ProjectTypeOptions.d.ts.map +1 -1
  600. package/build/question/scaffold/vsc/ProjectTypeOptions.js +9 -0
  601. package/build/question/scaffold/vsc/ProjectTypeOptions.js.map +1 -1
  602. package/build/question/scaffold/vsc/createRootNode.d.ts.map +1 -1
  603. package/build/question/scaffold/vsc/createRootNode.js +3 -0
  604. package/build/question/scaffold/vsc/createRootNode.js.map +1 -1
  605. package/build/question/scaffold/vsc/daProjectTypeNode.d.ts.map +1 -1
  606. package/build/question/scaffold/vsc/daProjectTypeNode.js +1 -6
  607. package/build/question/scaffold/vsc/daProjectTypeNode.js.map +1 -1
  608. package/build/question/scaffold/vsc/rootNode.d.ts.map +1 -1
  609. package/build/question/scaffold/vsc/rootNode.js +17 -4
  610. package/build/question/scaffold/vsc/rootNode.js.map +1 -1
  611. package/build/question/scaffold/vsc/teamsProjectTypeNode.d.ts +66 -0
  612. package/build/question/scaffold/vsc/teamsProjectTypeNode.d.ts.map +1 -1
  613. package/build/question/scaffold/vsc/teamsProjectTypeNode.js +408 -21
  614. package/build/question/scaffold/vsc/teamsProjectTypeNode.js.map +1 -1
  615. package/build/question/share.js +3 -2
  616. package/build/question/share.js.map +1 -1
  617. package/build/ui/visitor.d.ts.map +1 -1
  618. package/build/ui/visitor.js +10 -0
  619. package/build/ui/visitor.js.map +1 -1
  620. package/build/v4/buildTarget/parseSelector.d.ts +35 -0
  621. package/build/v4/buildTarget/parseSelector.d.ts.map +1 -0
  622. package/build/v4/buildTarget/parseSelector.js +222 -0
  623. package/build/v4/buildTarget/parseSelector.js.map +1 -0
  624. package/build/v4/buildTarget/resolveBuildTarget.d.ts +82 -0
  625. package/build/v4/buildTarget/resolveBuildTarget.d.ts.map +1 -0
  626. package/build/v4/buildTarget/resolveBuildTarget.js +243 -0
  627. package/build/v4/buildTarget/resolveBuildTarget.js.map +1 -0
  628. package/build/v4/collectInputs/collectInputs.d.ts +151 -0
  629. package/build/v4/collectInputs/collectInputs.d.ts.map +1 -0
  630. package/build/v4/collectInputs/collectInputs.js +533 -0
  631. package/build/v4/collectInputs/collectInputs.js.map +1 -0
  632. package/build/v4/distribution/bundledFloor.d.ts +11 -0
  633. package/build/v4/distribution/bundledFloor.d.ts.map +1 -0
  634. package/build/v4/distribution/bundledFloor.js +114 -0
  635. package/build/v4/distribution/bundledFloor.js.map +1 -0
  636. package/build/v4/distribution/createQuestions.d.ts +6 -0
  637. package/build/v4/distribution/createQuestions.d.ts.map +1 -0
  638. package/build/v4/distribution/createQuestions.js +61 -0
  639. package/build/v4/distribution/createQuestions.js.map +1 -0
  640. package/build/v4/distribution/createSelector.d.ts +15 -0
  641. package/build/v4/distribution/createSelector.d.ts.map +1 -0
  642. package/build/v4/distribution/createSelector.js +115 -0
  643. package/build/v4/distribution/createSelector.js.map +1 -0
  644. package/build/v4/distribution/declarativePackage.d.ts +14 -0
  645. package/build/v4/distribution/declarativePackage.d.ts.map +1 -0
  646. package/build/v4/distribution/declarativePackage.js +165 -0
  647. package/build/v4/distribution/declarativePackage.js.map +1 -0
  648. package/build/v4/distribution/packageDir.d.ts +15 -0
  649. package/build/v4/distribution/packageDir.d.ts.map +1 -0
  650. package/build/v4/distribution/packageDir.js +101 -0
  651. package/build/v4/distribution/packageDir.js.map +1 -0
  652. package/build/v4/distribution/questionFragments.d.ts +11 -0
  653. package/build/v4/distribution/questionFragments.d.ts.map +1 -0
  654. package/build/v4/distribution/questionFragments.js +130 -0
  655. package/build/v4/distribution/questionFragments.js.map +1 -0
  656. package/build/v4/distribution/templateArtifacts.d.ts +61 -0
  657. package/build/v4/distribution/templateArtifacts.d.ts.map +1 -0
  658. package/build/v4/distribution/templateArtifacts.js +459 -0
  659. package/build/v4/distribution/templateArtifacts.js.map +1 -0
  660. package/build/v4/distribution/templateConfig.d.ts +43 -0
  661. package/build/v4/distribution/templateConfig.d.ts.map +1 -0
  662. package/build/v4/distribution/templateConfig.js +70 -0
  663. package/build/v4/distribution/templateConfig.js.map +1 -0
  664. package/build/v4/distribution/templatePackage.d.ts +6 -0
  665. package/build/v4/distribution/templatePackage.d.ts.map +1 -0
  666. package/build/v4/distribution/templatePackage.js +63 -0
  667. package/build/v4/distribution/templatePackage.js.map +1 -0
  668. package/build/v4/distribution/templateSource.d.ts +66 -0
  669. package/build/v4/distribution/templateSource.d.ts.map +1 -0
  670. package/build/v4/distribution/templateSource.js +233 -0
  671. package/build/v4/distribution/templateSource.js.map +1 -0
  672. package/build/v4/distribution/templateSourcePort.d.ts +27 -0
  673. package/build/v4/distribution/templateSourcePort.d.ts.map +1 -0
  674. package/build/v4/distribution/templateSourcePort.js +175 -0
  675. package/build/v4/distribution/templateSourcePort.js.map +1 -0
  676. package/build/v4/engineVersion.d.ts +7 -0
  677. package/build/v4/engineVersion.d.ts.map +1 -0
  678. package/build/v4/engineVersion.js +12 -0
  679. package/build/v4/engineVersion.js.map +1 -0
  680. package/build/v4/expression/evaluateExpression.d.ts +55 -0
  681. package/build/v4/expression/evaluateExpression.d.ts.map +1 -0
  682. package/build/v4/expression/evaluateExpression.js +338 -0
  683. package/build/v4/expression/evaluateExpression.js.map +1 -0
  684. package/build/v4/index.d.ts +41 -0
  685. package/build/v4/index.d.ts.map +1 -0
  686. package/build/v4/index.js +46 -0
  687. package/build/v4/index.js.map +1 -0
  688. package/build/v4/inspection/scaffoldCatalog.d.ts +28 -0
  689. package/build/v4/inspection/scaffoldCatalog.d.ts.map +1 -0
  690. package/build/v4/inspection/scaffoldCatalog.js +66 -0
  691. package/build/v4/inspection/scaffoldCatalog.js.map +1 -0
  692. package/build/v4/inspection/scaffoldMetadataSource.d.ts +6 -0
  693. package/build/v4/inspection/scaffoldMetadataSource.d.ts.map +1 -0
  694. package/build/v4/inspection/scaffoldMetadataSource.js +78 -0
  695. package/build/v4/inspection/scaffoldMetadataSource.js.map +1 -0
  696. package/build/v4/mcp/mcpAuthAction.d.ts +36 -0
  697. package/build/v4/mcp/mcpAuthAction.d.ts.map +1 -0
  698. package/build/v4/mcp/mcpAuthAction.js +177 -0
  699. package/build/v4/mcp/mcpAuthAction.js.map +1 -0
  700. package/build/v4/mcp/mcpAuthScaffold.d.ts +37 -0
  701. package/build/v4/mcp/mcpAuthScaffold.d.ts.map +1 -0
  702. package/build/v4/mcp/mcpAuthScaffold.js +162 -0
  703. package/build/v4/mcp/mcpAuthScaffold.js.map +1 -0
  704. package/build/v4/mcp/mcpStaticTools.d.ts +17 -0
  705. package/build/v4/mcp/mcpStaticTools.d.ts.map +1 -0
  706. package/build/v4/mcp/mcpStaticTools.js +70 -0
  707. package/build/v4/mcp/mcpStaticTools.js.map +1 -0
  708. package/build/v4/model/dataModel.d.ts +27 -0
  709. package/build/v4/model/dataModel.d.ts.map +1 -0
  710. package/build/v4/model/dataModel.js +5 -0
  711. package/build/v4/model/dataModel.js.map +1 -0
  712. package/build/v4/pipeline/runScaffoldPipeline.d.ts +101 -0
  713. package/build/v4/pipeline/runScaffoldPipeline.d.ts.map +1 -0
  714. package/build/v4/pipeline/runScaffoldPipeline.js +212 -0
  715. package/build/v4/pipeline/runScaffoldPipeline.js.map +1 -0
  716. package/build/v4/providers/createOptionsProviders.d.ts +11 -0
  717. package/build/v4/providers/createOptionsProviders.d.ts.map +1 -0
  718. package/build/v4/providers/createOptionsProviders.js +268 -0
  719. package/build/v4/providers/createOptionsProviders.js.map +1 -0
  720. package/build/v4/renderContext/buildRenderContext.d.ts +24 -0
  721. package/build/v4/renderContext/buildRenderContext.d.ts.map +1 -0
  722. package/build/v4/renderContext/buildRenderContext.js +75 -0
  723. package/build/v4/renderContext/buildRenderContext.js.map +1 -0
  724. package/build/v4/runtime/generalSensitivityLabel.d.ts +5 -0
  725. package/build/v4/runtime/generalSensitivityLabel.d.ts.map +1 -0
  726. package/build/v4/runtime/generalSensitivityLabel.js +36 -0
  727. package/build/v4/runtime/generalSensitivityLabel.js.map +1 -0
  728. package/build/v4/runtime/inMemoryRuntime.d.ts +21 -0
  729. package/build/v4/runtime/inMemoryRuntime.d.ts.map +1 -0
  730. package/build/v4/runtime/inMemoryRuntime.js +43 -0
  731. package/build/v4/runtime/inMemoryRuntime.js.map +1 -0
  732. package/build/v4/runtime/packageParse.d.ts +13 -0
  733. package/build/v4/runtime/packageParse.d.ts.map +1 -0
  734. package/build/v4/runtime/packageParse.js +235 -0
  735. package/build/v4/runtime/packageParse.js.map +1 -0
  736. package/build/v4/runtime/realRuntime.d.ts +11 -0
  737. package/build/v4/runtime/realRuntime.d.ts.map +1 -0
  738. package/build/v4/runtime/realRuntime.js +64 -0
  739. package/build/v4/runtime/realRuntime.js.map +1 -0
  740. package/build/v4/runtime/renderMustache.d.ts +7 -0
  741. package/build/v4/runtime/renderMustache.d.ts.map +1 -0
  742. package/build/v4/runtime/renderMustache.js +54 -0
  743. package/build/v4/runtime/renderMustache.js.map +1 -0
  744. package/build/v4/runtime/runtimeRegistry.d.ts +28 -0
  745. package/build/v4/runtime/runtimeRegistry.d.ts.map +1 -0
  746. package/build/v4/runtime/runtimeRegistry.js +165 -0
  747. package/build/v4/runtime/runtimeRegistry.js.map +1 -0
  748. package/build/v4/runtime/scaffold.d.ts +31 -0
  749. package/build/v4/runtime/scaffold.d.ts.map +1 -0
  750. package/build/v4/runtime/scaffold.js +34 -0
  751. package/build/v4/runtime/scaffold.js.map +1 -0
  752. package/build/v4/runtime/scaffoldFromPackageDir.d.ts +7 -0
  753. package/build/v4/runtime/scaffoldFromPackageDir.d.ts.map +1 -0
  754. package/build/v4/runtime/scaffoldFromPackageDir.js +43 -0
  755. package/build/v4/runtime/scaffoldFromPackageDir.js.map +1 -0
  756. package/build/v4/runtime/selectLanguageContent.d.ts +7 -0
  757. package/build/v4/runtime/selectLanguageContent.d.ts.map +1 -0
  758. package/build/v4/runtime/selectLanguageContent.js +39 -0
  759. package/build/v4/runtime/selectLanguageContent.js.map +1 -0
  760. package/build/v4/runtime/steps/daAction.d.ts +6 -0
  761. package/build/v4/runtime/steps/daAction.d.ts.map +1 -0
  762. package/build/v4/runtime/steps/daAction.js +41 -0
  763. package/build/v4/runtime/steps/daAction.js.map +1 -0
  764. package/build/v4/runtime/steps/daSensitivity.d.ts +14 -0
  765. package/build/v4/runtime/steps/daSensitivity.d.ts.map +1 -0
  766. package/build/v4/runtime/steps/daSensitivity.js +50 -0
  767. package/build/v4/runtime/steps/daSensitivity.js.map +1 -0
  768. package/build/v4/runtime/steps/mcpAuth.d.ts +13 -0
  769. package/build/v4/runtime/steps/mcpAuth.d.ts.map +1 -0
  770. package/build/v4/runtime/steps/mcpAuth.js +90 -0
  771. package/build/v4/runtime/steps/mcpAuth.js.map +1 -0
  772. package/build/v4/runtime/steps/mcpLocal.d.ts +6 -0
  773. package/build/v4/runtime/steps/mcpLocal.d.ts.map +1 -0
  774. package/build/v4/runtime/steps/mcpLocal.js +93 -0
  775. package/build/v4/runtime/steps/mcpLocal.js.map +1 -0
  776. package/build/v4/runtime/steps/mcpStatic.d.ts +10 -0
  777. package/build/v4/runtime/steps/mcpStatic.d.ts.map +1 -0
  778. package/build/v4/runtime/steps/mcpStatic.js +182 -0
  779. package/build/v4/runtime/steps/mcpStatic.js.map +1 -0
  780. package/build/v4/runtime/steps/metaOs.d.ts +10 -0
  781. package/build/v4/runtime/steps/metaOs.d.ts.map +1 -0
  782. package/build/v4/runtime/steps/metaOs.js +422 -0
  783. package/build/v4/runtime/steps/metaOs.js.map +1 -0
  784. package/build/v4/runtime/steps/officeAddin.d.ts +4 -0
  785. package/build/v4/runtime/steps/officeAddin.d.ts.map +1 -0
  786. package/build/v4/runtime/steps/officeAddin.js +168 -0
  787. package/build/v4/runtime/steps/officeAddin.js.map +1 -0
  788. package/build/v4/runtime/steps/openApi.d.ts +6 -0
  789. package/build/v4/runtime/steps/openApi.d.ts.map +1 -0
  790. package/build/v4/runtime/steps/openApi.js +389 -0
  791. package/build/v4/runtime/steps/openApi.js.map +1 -0
  792. package/build/v4/runtime/steps/openApiCustomApi.d.ts +5 -0
  793. package/build/v4/runtime/steps/openApiCustomApi.d.ts.map +1 -0
  794. package/build/v4/runtime/steps/openApiCustomApi.js +385 -0
  795. package/build/v4/runtime/steps/openApiCustomApi.js.map +1 -0
  796. package/build/v4/runtime/whitelist.d.ts +41 -0
  797. package/build/v4/runtime/whitelist.d.ts.map +1 -0
  798. package/build/v4/runtime/whitelist.js +211 -0
  799. package/build/v4/runtime/whitelist.js.map +1 -0
  800. package/build/v4/runtime/withTempDirectory.d.ts +10 -0
  801. package/build/v4/runtime/withTempDirectory.d.ts.map +1 -0
  802. package/build/v4/runtime/withTempDirectory.js +41 -0
  803. package/build/v4/runtime/withTempDirectory.js.map +1 -0
  804. package/build/v4/surface/createFloorTail.d.ts +12 -0
  805. package/build/v4/surface/createFloorTail.d.ts.map +1 -0
  806. package/build/v4/surface/createFloorTail.js +138 -0
  807. package/build/v4/surface/createFloorTail.js.map +1 -0
  808. package/build/v4/surface/createInputs.d.ts +51 -0
  809. package/build/v4/surface/createInputs.d.ts.map +1 -0
  810. package/build/v4/surface/createInputs.js +153 -0
  811. package/build/v4/surface/createInputs.js.map +1 -0
  812. package/build/v4/surface/createSelectorWalk.d.ts +26 -0
  813. package/build/v4/surface/createSelectorWalk.d.ts.map +1 -0
  814. package/build/v4/surface/createSelectorWalk.js +140 -0
  815. package/build/v4/surface/createSelectorWalk.js.map +1 -0
  816. package/build/v4/surface/deriveCreateOptions.d.ts +5 -0
  817. package/build/v4/surface/deriveCreateOptions.d.ts.map +1 -0
  818. package/build/v4/surface/deriveCreateOptions.js +212 -0
  819. package/build/v4/surface/deriveCreateOptions.js.map +1 -0
  820. package/build/v4/surface/localizePrompt.d.ts +11 -0
  821. package/build/v4/surface/localizePrompt.d.ts.map +1 -0
  822. package/build/v4/surface/localizePrompt.js +32 -0
  823. package/build/v4/surface/localizePrompt.js.map +1 -0
  824. package/build/v4/surface/modifySelectorWalk.d.ts +12 -0
  825. package/build/v4/surface/modifySelectorWalk.d.ts.map +1 -0
  826. package/build/v4/surface/modifySelectorWalk.js +112 -0
  827. package/build/v4/surface/modifySelectorWalk.js.map +1 -0
  828. package/build/v4/surface/uiPromptUI.d.ts +5 -0
  829. package/build/v4/surface/uiPromptUI.d.ts.map +1 -0
  830. package/build/v4/surface/uiPromptUI.js +220 -0
  831. package/build/v4/surface/uiPromptUI.js.map +1 -0
  832. package/build/v4/validation/capabilityCatalog.d.ts +8 -0
  833. package/build/v4/validation/capabilityCatalog.d.ts.map +1 -0
  834. package/build/v4/validation/capabilityCatalog.js +62 -0
  835. package/build/v4/validation/capabilityCatalog.js.map +1 -0
  836. package/build/v4/validation/templateArchiveValidation.d.ts +15 -0
  837. package/build/v4/validation/templateArchiveValidation.d.ts.map +1 -0
  838. package/build/v4/validation/templateArchiveValidation.js +297 -0
  839. package/build/v4/validation/templateArchiveValidation.js.map +1 -0
  840. package/build/v4/validation/validateTemplatePackage.d.ts +83 -0
  841. package/build/v4/validation/validateTemplatePackage.d.ts.map +1 -0
  842. package/build/v4/validation/validateTemplatePackage.js +313 -0
  843. package/build/v4/validation/validateTemplatePackage.js.map +1 -0
  844. package/build/v4/validators/createInputValidators.d.ts +7 -0
  845. package/build/v4/validators/createInputValidators.d.ts.map +1 -0
  846. package/build/v4/validators/createInputValidators.js +77 -0
  847. package/build/v4/validators/createInputValidators.js.map +1 -0
  848. package/build/v4/validators/mcpCredentialValidators.d.ts +5 -0
  849. package/build/v4/validators/mcpCredentialValidators.d.ts.map +1 -0
  850. package/build/v4/validators/mcpCredentialValidators.js +13 -0
  851. package/build/v4/validators/mcpCredentialValidators.js.map +1 -0
  852. package/build/v4/validators/mcpServerUrlValidator.d.ts +9 -0
  853. package/build/v4/validators/mcpServerUrlValidator.d.ts.map +1 -0
  854. package/build/v4/validators/mcpServerUrlValidator.js +15 -0
  855. package/build/v4/validators/mcpServerUrlValidator.js.map +1 -0
  856. package/package.json +49 -100
  857. package/resource/package.nls.cs.json +1176 -1095
  858. package/resource/package.nls.de.json +1176 -1095
  859. package/resource/package.nls.es.json +1176 -1095
  860. package/resource/package.nls.fr.json +1176 -1095
  861. package/resource/package.nls.it.json +1176 -1095
  862. package/resource/package.nls.ja.json +1176 -1095
  863. package/resource/package.nls.json +116 -28
  864. package/resource/package.nls.ko.json +1176 -1095
  865. package/resource/package.nls.pl.json +1176 -1095
  866. package/resource/package.nls.pt-BR.json +1176 -1095
  867. package/resource/package.nls.ru.json +1176 -1095
  868. package/resource/package.nls.tr.json +1176 -1095
  869. package/resource/package.nls.zh-Hans.json +1176 -1095
  870. package/resource/package.nls.zh-Hant.json +1176 -1095
  871. package/resource/templates/package.nls.cs.json +39 -24
  872. package/resource/templates/package.nls.de.json +37 -22
  873. package/resource/templates/package.nls.es.json +35 -20
  874. package/resource/templates/package.nls.fr.json +45 -30
  875. package/resource/templates/package.nls.it.json +42 -27
  876. package/resource/templates/package.nls.ja.json +35 -20
  877. package/resource/templates/package.nls.json +27 -12
  878. package/resource/templates/package.nls.ko.json +33 -18
  879. package/resource/templates/package.nls.pl.json +38 -23
  880. package/resource/templates/package.nls.pt-BR.json +34 -19
  881. package/resource/templates/package.nls.ru.json +33 -18
  882. package/resource/templates/package.nls.tr.json +38 -23
  883. package/resource/templates/package.nls.zh-Hans.json +44 -29
  884. package/resource/templates/package.nls.zh-Hant.json +45 -30
  885. package/resource/templates/package.nls.zh-cn.json +7 -8
  886. package/resource/templates/package.nls.zh-tw.json +7 -8
  887. package/resource/yaml-schema/v1.11/yaml.schema.json +3 -0
  888. package/resource/yaml-schema/v1.12/yaml.schema.json +2132 -0
  889. package/resource/yaml-schema/v1.13/yaml.schema.json +2193 -0
  890. package/resource/yaml-schema/yaml.schema.json +128 -3
  891. package/templates/configs/playground/typescript/.vscode/tasks.json +1 -1
  892. package/templates/configs/remote/python/env/.env.dev +2 -1
  893. package/templates/configs/remote/python/m365agents.yml.tpl +1 -0
  894. package/templates/configs/remote/typescript/env/.env.dev +2 -1
  895. package/templates/configs/remote/typescript/m365agents.yml.tpl +1 -0
  896. package/templates/fallback/common.zip +0 -0
  897. package/templates/fallback/csharp.zip +0 -0
  898. package/templates/fallback/js.zip +0 -0
  899. package/templates/fallback/python.zip +0 -0
  900. package/templates/fallback/ts.zip +0 -0
  901. package/templates/metadata/allTemplates.json +32 -16
  902. package/templates/metadata/defaultGeneratorTemplates.json +8 -0
  903. package/templates/metadata.zip +0 -0
  904. package/templates/ui/ceaNode.json +30 -0
  905. package/templates/ui/tdpNode.json +13 -14
  906. package/templates/ui/teamsNode.json +124 -0
  907. package/templates/ui/wizardNode.json +56 -46
  908. package/templates/v4/create-selector.json +392 -0
  909. package/templates/v4/floor.json +3 -0
  910. package/templates/v4/modify-selector.json +78 -0
  911. package/templates/v4/templates-metadata.zip +0 -0
  912. package/templates/v4/templates.zip +0 -0
  913. package/build/core/middleware/projectMigratorV3.d.ts +0 -39
  914. package/build/core/middleware/projectMigratorV3.d.ts.map +0 -1
  915. package/build/core/middleware/projectMigratorV3.js +0 -694
  916. package/build/core/middleware/projectMigratorV3.js.map +0 -1
  917. package/build/core/middleware/projectVersionChecker.d.ts +0 -3
  918. package/build/core/middleware/projectVersionChecker.d.ts.map +0 -1
  919. package/build/core/middleware/projectVersionChecker.js +0 -60
  920. package/build/core/middleware/projectVersionChecker.js.map +0 -1
  921. package/build/core/middleware/types.d.ts +0 -9
  922. package/build/core/middleware/types.d.ts.map +0 -1
  923. package/build/core/middleware/types.js.map +0 -1
  924. package/build/core/middleware/utils/MigrationUtils.d.ts +0 -13
  925. package/build/core/middleware/utils/MigrationUtils.d.ts.map +0 -1
  926. package/build/core/middleware/utils/MigrationUtils.js +0 -212
  927. package/build/core/middleware/utils/MigrationUtils.js.map +0 -1
  928. package/build/core/middleware/utils/appYmlGenerator.d.ts +0 -34
  929. package/build/core/middleware/utils/appYmlGenerator.d.ts.map +0 -1
  930. package/build/core/middleware/utils/appYmlGenerator.js +0 -158
  931. package/build/core/middleware/utils/appYmlGenerator.js.map +0 -1
  932. package/build/core/middleware/utils/debug/appLocalYmlGenerator.d.ts +0 -65
  933. package/build/core/middleware/utils/debug/appLocalYmlGenerator.d.ts.map +0 -1
  934. package/build/core/middleware/utils/debug/appLocalYmlGenerator.js +0 -61
  935. package/build/core/middleware/utils/debug/appLocalYmlGenerator.js.map +0 -1
  936. package/build/core/middleware/utils/debug/constants.d.ts +0 -20
  937. package/build/core/middleware/utils/debug/constants.d.ts.map +0 -1
  938. package/build/core/middleware/utils/debug/constants.js +0 -28
  939. package/build/core/middleware/utils/debug/constants.js.map +0 -1
  940. package/build/core/middleware/utils/debug/debugMigrationContext.d.ts +0 -14
  941. package/build/core/middleware/utils/debug/debugMigrationContext.d.ts.map +0 -1
  942. package/build/core/middleware/utils/debug/debugMigrationContext.js +0 -23
  943. package/build/core/middleware/utils/debug/debugMigrationContext.js.map +0 -1
  944. package/build/core/middleware/utils/debug/debugV3MigrationUtils.d.ts +0 -37
  945. package/build/core/middleware/utils/debug/debugV3MigrationUtils.d.ts.map +0 -1
  946. package/build/core/middleware/utils/debug/debugV3MigrationUtils.js +0 -291
  947. package/build/core/middleware/utils/debug/debugV3MigrationUtils.js.map +0 -1
  948. package/build/core/middleware/utils/debug/taskMigrator.d.ts +0 -22
  949. package/build/core/middleware/utils/debug/taskMigrator.d.ts.map +0 -1
  950. package/build/core/middleware/utils/debug/taskMigrator.js +0 -935
  951. package/build/core/middleware/utils/debug/taskMigrator.js.map +0 -1
  952. package/build/core/middleware/utils/migrationContext.d.ts +0 -32
  953. package/build/core/middleware/utils/migrationContext.d.ts.map +0 -1
  954. package/build/core/middleware/utils/migrationContext.js +0 -104
  955. package/build/core/middleware/utils/migrationContext.js.map +0 -1
  956. package/templates/configs/local/typescript/.gitignore +0 -1
  957. package/templates/configs/playground/typescript/.gitignore +0 -4
  958. /package/build/{core/middleware → component/generator/openPlugin}/types.js +0 -0
@@ -2,11 +2,12 @@
2
2
  // Copyright (c) Microsoft Corporation.
3
3
  // Licensed under the MIT license.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.FxCore = void 0;
5
+ exports.FxCore = exports.readCopilotGptManifestFile = exports.getManifestPath = exports.parseShareAppActionYamlConfig = exports.getCoreVersion = exports.addSharedUsers = exports.shareWithTenant = exports.buildAadManifest = exports.isValidProjectV3 = exports.fxCoreDeps = void 0;
6
6
  const tslib_1 = require("tslib");
7
7
  const hooks_1 = require("@feathersjs/hooks");
8
8
  const m365_spec_parser_1 = require("@microsoft/m365-spec-parser");
9
9
  const teamsfx_api_1 = require("@microsoft/teamsfx-api");
10
+ const adm_zip_1 = tslib_1.__importDefault(require("adm-zip"));
10
11
  const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
11
12
  const jsonschema = tslib_1.__importStar(require("jsonschema"));
12
13
  const os = tslib_1.__importStar(require("os"));
@@ -17,8 +18,10 @@ const url_1 = require("url");
17
18
  const teamsDevPortalClient_1 = require("../client/teamsDevPortalClient");
18
19
  const constants_1 = require("../common/constants");
19
20
  const daSpecParser_1 = require("../common/daSpecParser");
21
+ const featureFlags_1 = require("../common/featureFlags");
20
22
  const globalVars_1 = require("../common/globalVars");
21
23
  const localizeUtils_1 = require("../common/localizeUtils");
24
+ const projectSettingsHelper = tslib_1.__importStar(require("../common/projectSettingsHelper"));
22
25
  const projectSettingsHelper_1 = require("../common/projectSettingsHelper");
23
26
  const projectTypeChecker_1 = require("../common/projectTypeChecker");
24
27
  const telemetry_1 = require("../common/telemetry");
@@ -34,7 +37,7 @@ const aadManifestHelper_1 = require("../component/driver/aad/utility/aadManifest
34
37
  const buildAadManifest_1 = require("../component/driver/aad/utility/buildAadManifest");
35
38
  require("../component/driver/index");
36
39
  require("../component/driver/script/scriptDriver");
37
- const utils_2 = require("../component/driver/share/utils");
40
+ const shareUtils = tslib_1.__importStar(require("../component/driver/share/utils"));
38
41
  const appStudio_1 = require("../component/driver/teamsApp/appStudio");
39
42
  const errors_1 = require("../component/driver/teamsApp/errors");
40
43
  const results_1 = require("../component/driver/teamsApp/results");
@@ -42,14 +45,14 @@ const teamsappMgr_1 = require("../component/driver/teamsApp/teamsappMgr");
42
45
  const CopilotGptManifestUtils_1 = require("../component/driver/teamsApp/utils/CopilotGptManifestUtils");
43
46
  const ManifestUtils_1 = require("../component/driver/teamsApp/utils/ManifestUtils");
44
47
  const PluginManifestUtils_1 = require("../component/driver/teamsApp/utils/PluginManifestUtils");
45
- const utils_3 = require("../component/driver/teamsApp/utils/utils");
46
- const utils_4 = require("../component/driver/util/utils");
47
- const helper_1 = require("../component/generator/declarativeAgent/helper");
48
+ const utils_2 = require("../component/driver/teamsApp/utils/utils");
49
+ const utils_3 = require("../component/driver/util/utils");
48
50
  const oneDriveSharePointHandler_1 = require("../component/generator/declarativeAgent/oneDriveSharePointHandler");
49
- const helper_2 = require("../component/generator/openApiSpec/helper");
50
- const templateHelper_1 = require("../component/generator/templateHelper");
51
- const templateNames_1 = require("../component/generator/templates/templateNames");
52
- const utils_5 = require("../component/generator/utils");
51
+ const openApiSpecHelper = tslib_1.__importStar(require("../component/generator/openApiSpec/helper"));
52
+ const helper_1 = require("../component/generator/openApiSpec/helper");
53
+ const templateHelper = tslib_1.__importStar(require("../component/generator/templateHelper"));
54
+ const generatorUtils = tslib_1.__importStar(require("../component/generator/utils"));
55
+ const v4MetadataSource_1 = require("../component/generator/v4MetadataSource");
53
56
  const launchHelper_1 = require("../component/m365/launchHelper");
54
57
  const packageService_1 = require("../component/m365/packageService");
55
58
  const envMW_1 = require("../component/middleware/envMW");
@@ -60,32 +63,51 @@ const metadataUtil_1 = require("../component/utils/metadataUtil");
60
63
  const pathUtils_1 = require("../component/utils/pathUtils");
61
64
  const settingsUtil_1 = require("../component/utils/settingsUtil");
62
65
  const common_2 = require("../error/common");
63
- const upgrade_1 = require("../error/upgrade");
64
66
  const yml_1 = require("../error/yml");
65
67
  const constants_3 = require("../question/constants");
66
68
  const other_1 = require("../question/other");
67
69
  const ProjectTypeOptions_1 = require("../question/scaffold/vsc/ProjectTypeOptions");
68
70
  const share_1 = require("../question/share");
69
71
  const callback_1 = require("./callback");
72
+ const collaboratorCore = tslib_1.__importStar(require("./collaborator"));
70
73
  const collaborator_1 = require("./collaborator");
74
+ const createFrontDoorAdapters_1 = require("./createFrontDoorAdapters");
75
+ const createProjectFrontDoor_1 = require("./createProjectFrontDoor");
71
76
  const crypto_1 = require("./crypto");
72
77
  const environmentName_1 = require("./environmentName");
73
- const FxCore_declarativeAgent_1 = require("./FxCore.declarativeAgent");
78
+ const FxCore_openPlugin_1 = require("./FxCore.openPlugin");
74
79
  const generateConfigFiles_1 = require("./generateConfigFiles");
75
80
  const concurrentLocker_1 = require("./middleware/concurrentLocker");
76
81
  const contextInjector_1 = require("./middleware/contextInjector");
77
82
  const errorHandler_1 = require("./middleware/errorHandler");
78
83
  const fileLocker_1 = require("./middleware/fileLocker");
79
- const projectMigratorV3_1 = require("./middleware/projectMigratorV3");
84
+ const v4ArtifactSnapshot_1 = require("./v4ArtifactSnapshot");
80
85
  const retry_1 = require("./middleware/retry");
81
- const v3MigrationUtils_1 = require("./middleware/utils/v3MigrationUtils");
86
+ const v3MigrationUtils = tslib_1.__importStar(require("./middleware/utils/v3MigrationUtils"));
87
+ const shareCore = tslib_1.__importStar(require("./share"));
82
88
  const share_2 = require("./share");
83
89
  const telemetry_2 = require("./telemetry");
84
- class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
90
+ exports.fxCoreDeps = {
91
+ getCoreVersion: () => require("../../package.json").version,
92
+ };
93
+ const getCoreVersion = () => exports.fxCoreDeps.getCoreVersion();
94
+ exports.getCoreVersion = getCoreVersion;
95
+ // Compatibility exports for tests that stub module-level helpers.
96
+ exports.isValidProjectV3 = projectSettingsHelper_1.isValidProjectV3;
97
+ exports.buildAadManifest = buildAadManifest_1.buildAadManifest;
98
+ exports.shareWithTenant = share_2.shareWithTenant;
99
+ exports.addSharedUsers = share_2.addSharedUsers;
100
+ exports.parseShareAppActionYamlConfig = shareUtils.parseShareAppActionYamlConfig;
101
+ exports.getManifestPath = CopilotGptManifestUtils_1.copilotGptManifestUtils.getManifestPath;
102
+ exports.readCopilotGptManifestFile = CopilotGptManifestUtils_1.copilotGptManifestUtils.readCopilotGptManifestFile;
103
+ class FxCore extends FxCore_openPlugin_1.FxCoreOpenPluginPart {
85
104
  constructor(tools) {
86
105
  super();
87
106
  (0, globalVars_1.setTools)(tools);
88
107
  }
108
+ getAbortSignal(inputs) {
109
+ return inputs.abortSignal;
110
+ }
89
111
  /**
90
112
  * @todo this's a really primitive implement. Maybe could use Subscription Model to
91
113
  * refactor later.
@@ -105,17 +127,37 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
105
127
  }
106
128
  return res;
107
129
  }
130
+ /**
131
+ * The create front door (operation `dispatch-create-by-engine`): the single
132
+ * entry the create surfaces call in place of `createProject`. Behind
133
+ * `TEAMSFX_V4_ENABLED` it runs the v4 create selector (Q1) and dispatches the
134
+ * resolved `BuildTarget` by engine; flag off it is a pure pass-through to the
135
+ * unmodified `createProject`, so v3 behavior is byte-identical.
136
+ *
137
+ * It drives its own questions (the v4 selector + the template's Q2 + the v4
138
+ * create floor, or the v3 `QuestionMW` reached through `createProject`), so it
139
+ * carries no `QuestionMW`. `FxCore` is the composition root that supplies the
140
+ * four real seams; the orchestrator stays pure and injectable.
141
+ */
142
+ async createProjectFrontDoor(inputs) {
143
+ return (0, createProjectFrontDoor_1.createProjectFrontDoor)(inputs, {
144
+ createV3: (i) => this.createProject(i),
145
+ scaffoldV4: createFrontDoorAdapters_1.scaffoldV4,
146
+ collectCreateFloor: createFrontDoorAdapters_1.collectCreateFloor,
147
+ resolveArtifactSnapshot: v4ArtifactSnapshot_1.resolveV4TemplateArtifactSnapshot,
148
+ });
149
+ }
108
150
  async createProjectFromTdp(inputs) {
109
151
  const context = (0, globalVars_1.createContext)();
110
152
  inputs[constants_3.QuestionNames.Scratch] = constants_3.ScratchOptions.yes().id;
111
153
  // should never happen as we do same check on Developer Portal.
112
154
  if (inputs.teamsAppFromTdp) {
113
- if ((0, utils_3.containsUnsupportedFeature)(inputs.teamsAppFromTdp)) {
155
+ if ((0, utils_2.containsUnsupportedFeature)(inputs.teamsAppFromTdp)) {
114
156
  return (0, teamsfx_api_1.err)(new common_2.InputValidationError("manifest.json", "App contains unsupported features"));
115
157
  }
116
158
  else {
117
- context.telemetryReporter.sendTelemetryEvent(telemetry_2.CoreTelemetryEvent.CreateFromTdpStart, {
118
- [telemetry_2.CoreTelemetryProperty.TdpTeamsAppFeatures]: (0, utils_3.getFeaturesFromAppDefinition)(inputs.teamsAppFromTdp).join(","),
159
+ context.telemetryReporter?.sendTelemetryEvent(telemetry_2.CoreTelemetryEvent.CreateFromTdpStart, {
160
+ [telemetry_2.CoreTelemetryProperty.TdpTeamsAppFeatures]: (0, utils_2.getFeaturesFromAppDefinition)(inputs.teamsAppFromTdp).join(","),
119
161
  [telemetry_2.CoreTelemetryProperty.TdpTeamsAppId]: inputs.teamsAppFromTdp.teamsAppId,
120
162
  });
121
163
  }
@@ -181,7 +223,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
181
223
  */
182
224
  async provisionResourcesOnce(inputs, ctx) {
183
225
  inputs.stage = teamsfx_api_1.Stage.provision;
184
- const context = (0, utils_4.createDriverContext)(inputs);
226
+ const context = (0, utils_3.createDriverContext)(inputs);
185
227
  try {
186
228
  const res = await coordinator_1.coordinator.provision(context, inputs);
187
229
  if (res.isOk()) {
@@ -206,6 +248,9 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
206
248
  * none lifecycle command, uninstall provisioned resources
207
249
  */
208
250
  async uninstall(inputs) {
251
+ if (this.getAbortSignal(inputs)?.aborted) {
252
+ return (0, teamsfx_api_1.err)(new common_2.UserCancelError("FxCore"));
253
+ }
209
254
  switch (inputs[constants_3.QuestionNames.UninstallMode]) {
210
255
  case constants_3.QuestionNames.UninstallModeManifestId:
211
256
  return await this.uninstallByManifestId(inputs);
@@ -230,20 +275,20 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
230
275
  const tdpOption = uninstallOptions?.includes(constants_3.QuestionNames.UninstallOptionTDP);
231
276
  const botOption = uninstallOptions?.includes(constants_3.QuestionNames.UninstallOptionBot);
232
277
  if (m356AppOption) {
233
- const res = await this.uninstallM365App(undefined, manifestId);
278
+ const res = await this.uninstallM365App(undefined, manifestId, this.getAbortSignal(inputs));
234
279
  if (res.isErr()) {
235
280
  return (0, teamsfx_api_1.err)(res.error);
236
281
  }
237
282
  }
238
283
  if (botOption) {
239
- const res = await this.uninstallBotFrameworRegistration(undefined, manifestId);
284
+ const res = await this.uninstallBotFrameworRegistration(undefined, manifestId, this.getAbortSignal(inputs));
240
285
  if (res.isErr()) {
241
286
  return (0, teamsfx_api_1.err)(res.error);
242
287
  }
243
288
  }
244
289
  // App registraion should be the last to remove, because we might need to query some metadata from TDP.
245
290
  if (tdpOption) {
246
- const res = await this.uninstallAppRegistration(manifestId);
291
+ const res = await this.uninstallAppRegistration(manifestId, this.getAbortSignal(inputs));
247
292
  if (res.isErr()) {
248
293
  return (0, teamsfx_api_1.err)(res.error);
249
294
  }
@@ -288,7 +333,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
288
333
  const tdpOption = uninstallOptions?.includes(constants_3.QuestionNames.UninstallOptionTDP);
289
334
  const botOption = uninstallOptions?.includes(constants_3.QuestionNames.UninstallOptionBot);
290
335
  if ((teamsAppId || m365TitleId) && m356AppOption) {
291
- const res = await this.uninstallM365App(m365TitleId, teamsAppId);
336
+ const res = await this.uninstallM365App(m365TitleId, teamsAppId, this.getAbortSignal(inputs));
292
337
  if (res.isErr()) {
293
338
  return (0, teamsfx_api_1.err)(res.error);
294
339
  }
@@ -296,7 +341,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
296
341
  this.resetEnvVar(m365TitleIdKeyName, ctx);
297
342
  }
298
343
  if (botId && botOption) {
299
- const res = await this.uninstallBotFrameworRegistration(botId);
344
+ const res = await this.uninstallBotFrameworRegistration(botId, undefined, this.getAbortSignal(inputs));
300
345
  if (res.isErr()) {
301
346
  return (0, teamsfx_api_1.err)(res.error);
302
347
  }
@@ -304,7 +349,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
304
349
  }
305
350
  // App registraion should be the last to remove, because we might need to query some metadata from TDP.
306
351
  if (teamsAppId && tdpOption) {
307
- const res = await this.uninstallAppRegistration(teamsAppId);
352
+ const res = await this.uninstallAppRegistration(teamsAppId, this.getAbortSignal(inputs));
308
353
  if (res.isErr()) {
309
354
  return (0, teamsfx_api_1.err)(res.error);
310
355
  }
@@ -333,7 +378,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
333
378
  if (!titleId) {
334
379
  return (0, teamsfx_api_1.err)(new common_2.MissingRequiredInputError("title-id", "FxCore"));
335
380
  }
336
- const res = await this.uninstallM365App(titleId);
381
+ const res = await this.uninstallM365App(titleId, undefined, this.getAbortSignal(inputs));
337
382
  if (res.isErr()) {
338
383
  return (0, teamsfx_api_1.err)(res.error);
339
384
  }
@@ -342,7 +387,10 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
342
387
  /**
343
388
  * uninstall sideloaded appps in M365
344
389
  */
345
- async uninstallM365App(titleId, manifestId) {
390
+ async uninstallM365App(titleId, manifestId, signal) {
391
+ if (signal?.aborted) {
392
+ return (0, teamsfx_api_1.err)(new common_2.UserCancelError("Uninstall M365 App"));
393
+ }
346
394
  if (titleId === undefined && manifestId === undefined) {
347
395
  return (0, teamsfx_api_1.err)(new common_2.MissingRequiredInputError("title id or manifest id", "FxCore"));
348
396
  }
@@ -356,7 +404,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
356
404
  const packageService = new packageService_1.PackageService(sideloadingServiceEndpoint, globalVars_1.TOOLS.logProvider);
357
405
  if (titleId === undefined) {
358
406
  try {
359
- titleId = await packageService.retrieveTitleId(sideloadingTokenRes.value, manifestId ?? "");
407
+ titleId = await packageService.retrieveTitleId(sideloadingTokenRes.value, manifestId ?? "", signal);
360
408
  }
361
409
  catch (err) {
362
410
  await globalVars_1.TOOLS.ui.showMessage("info", (0, localizeUtils_1.getLocalizedString)("core.uninstall.failed.titleId"), false);
@@ -369,7 +417,10 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
369
417
  default: true,
370
418
  });
371
419
  if (confirmRes?.isOk() && confirmRes.value.result === true) {
372
- await packageService.unacquire(sideloadingTokenRes.value, titleId);
420
+ if (signal?.aborted) {
421
+ return (0, teamsfx_api_1.err)(new common_2.UserCancelError("Uninstall M365 App"));
422
+ }
423
+ await packageService.unacquire(sideloadingTokenRes.value, titleId, signal);
373
424
  await globalVars_1.TOOLS.ui.showMessage("info", (0, localizeUtils_1.getLocalizedString)("core.uninstall.success.m365App", titleId), false);
374
425
  await globalVars_1.TOOLS.ui.showMessage("info", (0, localizeUtils_1.getLocalizedString)("core.uninstall.success.delayWarning"), false);
375
426
  }
@@ -382,7 +433,10 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
382
433
  /**
383
434
  * uninstall sideloaded apps in Teams Developer Portal
384
435
  */
385
- async uninstallAppRegistration(manifestId) {
436
+ async uninstallAppRegistration(manifestId, signal) {
437
+ if (signal?.aborted) {
438
+ return (0, teamsfx_api_1.err)(new common_2.UserCancelError("Uninstall App Registration"));
439
+ }
386
440
  const appStudioTokenRes = await globalVars_1.TOOLS.tokenProvider.m365TokenProvider.getAccessToken({
387
441
  scopes: (0, constants_1.AppStudioScopes)(),
388
442
  });
@@ -395,8 +449,14 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
395
449
  default: true,
396
450
  });
397
451
  if (confirmRes?.isOk() && confirmRes.value.result === true) {
452
+ if (signal?.aborted) {
453
+ return (0, teamsfx_api_1.err)(new common_2.UserCancelError("Uninstall App Registration"));
454
+ }
398
455
  const token = appStudioTokenRes.value;
399
456
  await teamsDevPortalClient_1.teamsDevPortalClient.deleteApp(token, manifestId);
457
+ if (signal?.aborted) {
458
+ return (0, teamsfx_api_1.err)(new common_2.UserCancelError("Uninstall App Registration"));
459
+ }
400
460
  await globalVars_1.TOOLS.ui.showMessage("info", (0, localizeUtils_1.getLocalizedString)("core.uninstall.success.tdp", manifestId), false);
401
461
  return (0, teamsfx_api_1.ok)(undefined);
402
462
  }
@@ -408,7 +468,10 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
408
468
  /**
409
469
  * uninstall bots created in dev.botframework.com
410
470
  */
411
- async uninstallBotFrameworRegistration(botId, manifestId) {
471
+ async uninstallBotFrameworRegistration(botId, manifestId, signal) {
472
+ if (signal?.aborted) {
473
+ return (0, teamsfx_api_1.err)(new common_2.UserCancelError("Uninstall Bot Framework Registration"));
474
+ }
412
475
  if (!botId && !manifestId) {
413
476
  return (0, teamsfx_api_1.err)(new common_2.MissingRequiredInputError("bot id or manifest id", "FxCore"));
414
477
  }
@@ -433,7 +496,13 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
433
496
  default: true,
434
497
  });
435
498
  if (confirmRes?.isOk() && confirmRes.value.result === true) {
499
+ if (signal?.aborted) {
500
+ return (0, teamsfx_api_1.err)(new common_2.UserCancelError("Uninstall Bot Framework Registration"));
501
+ }
436
502
  await teamsDevPortalClient_1.teamsDevPortalClient.deleteBot(token, botId);
503
+ if (signal?.aborted) {
504
+ return (0, teamsfx_api_1.err)(new common_2.UserCancelError("Uninstall Bot Framework Registration"));
505
+ }
437
506
  await globalVars_1.TOOLS.ui.showMessage("info", (0, localizeUtils_1.getLocalizedString)("core.uninstall.success.bot", botId), false);
438
507
  }
439
508
  else {
@@ -447,7 +516,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
447
516
  */
448
517
  async deployArtifacts(inputs, ctx) {
449
518
  inputs.stage = teamsfx_api_1.Stage.deploy;
450
- const context = (0, utils_4.createDriverContext)(inputs);
519
+ const context = (0, utils_3.createDriverContext)(inputs);
451
520
  const res = await coordinator_1.coordinator.deploy(context, inputs);
452
521
  if (res.isOk()) {
453
522
  ctx.envVars = res.value;
@@ -483,7 +552,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
483
552
  manifestPath: manifestTemplatePath,
484
553
  outputFilePath: manifestOutputPath,
485
554
  };
486
- const Context = (0, utils_4.createDriverContext)(inputs);
555
+ const Context = (0, utils_3.createDriverContext)(inputs);
487
556
  (0, globalVars_1.setErrorContext)({ component: "aadAppUpdate" });
488
557
  const res = await updateAadClient.execute(inputArgs, Context);
489
558
  if (res.result.isErr()) {
@@ -518,7 +587,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
518
587
  framework: inputs[constants_3.QuestionNames.SPFxFramework],
519
588
  spfxPackage: constants_3.SPFxVersionOptionIds.installLocally,
520
589
  };
521
- const Context = (0, utils_4.createDriverContext)(inputs);
590
+ const Context = (0, utils_3.createDriverContext)(inputs);
522
591
  const res = await driver.run(args, Context);
523
592
  if (res.isErr()) {
524
593
  return (0, teamsfx_api_1.err)(res.error);
@@ -530,7 +599,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
530
599
  */
531
600
  async publishApplication(inputs, ctx) {
532
601
  inputs.stage = teamsfx_api_1.Stage.publish;
533
- const context = (0, utils_4.createDriverContext)(inputs);
602
+ const context = (0, utils_3.createDriverContext)(inputs);
534
603
  const res = await coordinator_1.coordinator.publish(context, inputs);
535
604
  if (res.isOk()) {
536
605
  ctx.envVars = res.value;
@@ -543,11 +612,17 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
543
612
  }
544
613
  }
545
614
  async removeSharedAccess(inputs, ctx) {
546
- const emails = inputs[constants_3.QuestionNames.RemoveUsers];
615
+ const removeUsersInput = inputs[constants_3.QuestionNames.RemoveUsers];
616
+ const emails = Array.isArray(removeUsersInput)
617
+ ? removeUsersInput
618
+ : (removeUsersInput
619
+ ?.split(",")
620
+ .map((email) => email.trim())
621
+ .filter((email) => !!email) ?? []);
547
622
  if (!emails || emails.length === 0) {
548
623
  return (0, teamsfx_api_1.err)(new common_2.MissingRequiredInputError("emails", "FxCore"));
549
624
  }
550
- const parseRes = await (0, utils_2.parseShareAppActionYamlConfig)(inputs.projectPath);
625
+ const parseRes = await shareUtils.parseShareAppActionYamlConfig(inputs.projectPath);
551
626
  if (parseRes.isErr()) {
552
627
  return (0, teamsfx_api_1.err)(parseRes.error);
553
628
  }
@@ -603,12 +678,19 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
603
678
  let emails = [];
604
679
  if (scope === share_1.ShareScopeOption.ShareAppWithSpecificUsers ||
605
680
  operation === share_1.ShareOperationOption.RemoveShareAccessFromUsers) {
606
- emails = inputs[constants_3.QuestionNames.UserEmail].split(",").map((e) => e.trim());
681
+ emails =
682
+ inputs[constants_3.QuestionNames.UserEmail]
683
+ ?.split(",")
684
+ .map((e) => e.trim())
685
+ .filter((e) => !!e) ?? [];
686
+ if (emails.length === 0) {
687
+ return (0, teamsfx_api_1.err)(new common_2.InputValidationError("emails", "No emails"));
688
+ }
607
689
  if (emails.length > constants_3.MAX_EMAIL_NUMBER) {
608
690
  return (0, teamsfx_api_1.err)(new common_2.InputValidationError("emails", "Too many emails"));
609
691
  }
610
692
  }
611
- const parseRes = await (0, utils_2.parseShareAppActionYamlConfig)(inputs.projectPath);
693
+ const parseRes = await shareUtils.parseShareAppActionYamlConfig(inputs.projectPath);
612
694
  if (parseRes.isErr()) {
613
695
  return (0, teamsfx_api_1.err)(parseRes.error);
614
696
  }
@@ -622,13 +704,13 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
622
704
  }
623
705
  const mosToken = mosTokenRes.value;
624
706
  if (operation === share_1.ShareOperationOption.RemoveShareAccessFromUsers) {
625
- return (0, share_2.removeShareAccess)(mosToken, sharedTitleId, emails);
707
+ return shareCore.removeShareAccess(mosToken, sharedTitleId, emails);
626
708
  }
627
709
  else if (scope === share_1.ShareScopeOption.ShareAppWithTenantUsers) {
628
- return (0, share_2.shareWithTenant)(mosToken, sharedTitleId);
710
+ return shareCore.shareWithTenant(mosToken, sharedTitleId);
629
711
  }
630
712
  else if (scope === share_1.ShareScopeOption.ShareAppWithSpecificUsers) {
631
- return (0, share_2.addSharedUsers)(mosToken, sharedTitleId, emails);
713
+ return shareCore.addSharedUsers(mosToken, sharedTitleId, emails);
632
714
  }
633
715
  else {
634
716
  return (0, teamsfx_api_1.err)(new common_2.InputValidationError("shareOption", "Invalid share option"));
@@ -639,7 +721,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
639
721
  */
640
722
  async executeUserTask(func, inputs) {
641
723
  let res = (0, teamsfx_api_1.ok)(undefined);
642
- const context = (0, utils_4.createDriverContext)(inputs);
724
+ const context = (0, utils_3.createDriverContext)(inputs);
643
725
  if (func.method === "addSso") {
644
726
  // used in v3 only in VS
645
727
  inputs.stage = teamsfx_api_1.Stage.addFeature;
@@ -662,8 +744,8 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
662
744
  }
663
745
  await fs_extra_1.default.ensureDir(path.join(inputs.projectPath, "build"));
664
746
  const manifestOutputPath = path.join(inputs.projectPath, "build", `aad.${inputs.env}.json`);
665
- const Context = (0, utils_4.createDriverContext)(inputs);
666
- await (0, buildAadManifest_1.buildAadManifest)(Context, manifestTemplatePath, manifestOutputPath);
747
+ const Context = (0, utils_3.createDriverContext)(inputs);
748
+ await (0, exports.buildAadManifest)(Context, manifestTemplatePath, manifestOutputPath);
667
749
  return (0, teamsfx_api_1.ok)(undefined);
668
750
  }
669
751
  async convertAadToNewSchema(inputs) {
@@ -734,7 +816,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
734
816
  */
735
817
  async validateManifest(inputs) {
736
818
  inputs.stage = teamsfx_api_1.Stage.validateApplication;
737
- const context = (0, utils_4.createDriverContext)(inputs);
819
+ const context = (0, utils_3.createDriverContext)(inputs);
738
820
  const teamsAppManifestFilePath = inputs["manifest-path"];
739
821
  const args = {
740
822
  manifestPath: teamsAppManifestFilePath,
@@ -749,7 +831,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
749
831
  */
750
832
  async validateAppPackage(inputs) {
751
833
  inputs.stage = teamsfx_api_1.Stage.validateApplication;
752
- const context = (0, utils_4.createDriverContext)(inputs);
834
+ const context = (0, utils_3.createDriverContext)(inputs);
753
835
  const teamsAppPackageFilePath = inputs["app-package-file-path"];
754
836
  const args = {
755
837
  appPackagePath: teamsAppPackageFilePath,
@@ -759,7 +841,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
759
841
  return (await driver.execute(args, context)).result;
760
842
  }
761
843
  async validateWithTestCases(inputs) {
762
- const context = (0, utils_4.createDriverContext)(inputs);
844
+ const context = (0, utils_3.createDriverContext)(inputs);
763
845
  const args = {
764
846
  appPackagePath: inputs["app-package-file-path"],
765
847
  showMessage: true,
@@ -772,7 +854,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
772
854
  * v3 only none lifecycle command
773
855
  */
774
856
  async syncManifest(inputs) {
775
- const context = (0, utils_4.createDriverContext)(inputs);
857
+ const context = (0, utils_3.createDriverContext)(inputs);
776
858
  const projectPath = inputs[constants_3.QuestionNames.ProjectPath];
777
859
  const env = inputs[constants_3.QuestionNames.Env];
778
860
  const teamsAppId = inputs[constants_3.QuestionNames.TeamsAppId];
@@ -789,7 +871,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
789
871
  */
790
872
  async createAppPackage(inputs) {
791
873
  inputs.stage = teamsfx_api_1.Stage.createAppPackage;
792
- const context = (0, utils_4.createDriverContext)(inputs);
874
+ const context = (0, utils_3.createDriverContext)(inputs);
793
875
  // For TSP projects
794
876
  await (0, tools_1.runForTypeSpecProject)(inputs.projectPath, context);
795
877
  const teamsAppManifestFilePath = inputs?.[constants_3.QuestionNames.TeamsAppManifestFilePath];
@@ -797,8 +879,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
797
879
  const args = {
798
880
  manifestPath: teamsAppManifestFilePath,
799
881
  outputZipPath: inputs[constants_3.QuestionNames.OutputZipPathParamName] ??
800
- `${inputs.projectPath}/${teamsfx_api_1.AppPackageFolderName}/${teamsfx_api_1.BuildFolderName}/appPackage.${process.env
801
- .TEAMSFX_ENV}.zip`,
882
+ `${inputs.projectPath}/${teamsfx_api_1.AppPackageFolderName}/${teamsfx_api_1.BuildFolderName}/appPackage.${process.env.TEAMSFX_ENV}.zip`,
802
883
  outputFolder: inputs[constants_3.QuestionNames.OutputManifestParamName] ??
803
884
  `${inputs.projectPath}/${teamsfx_api_1.AppPackageFolderName}/${teamsfx_api_1.BuildFolderName}`,
804
885
  };
@@ -967,7 +1048,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
967
1048
  inputs.stage = teamsfx_api_1.Stage.grantPermission;
968
1049
  const context = (0, globalVars_1.createContext)();
969
1050
  (0, globalVars_1.setErrorContext)({ component: "collaborator" });
970
- const res = await (0, collaborator_1.grantPermission)(context, inputs, globalVars_1.TOOLS.tokenProvider);
1051
+ const res = await collaboratorCore.grantPermission(context, inputs, globalVars_1.TOOLS.tokenProvider);
971
1052
  return res;
972
1053
  }
973
1054
  /**
@@ -976,7 +1057,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
976
1057
  async checkPermission(inputs) {
977
1058
  inputs.stage = teamsfx_api_1.Stage.checkPermission;
978
1059
  const context = (0, globalVars_1.createContext)();
979
- const res = await (0, collaborator_1.checkPermission)(context, inputs, globalVars_1.TOOLS.tokenProvider);
1060
+ const res = await collaboratorCore.checkPermission(context, inputs, globalVars_1.TOOLS.tokenProvider);
980
1061
  return res;
981
1062
  }
982
1063
  /**
@@ -985,7 +1066,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
985
1066
  async listCollaborator(inputs) {
986
1067
  inputs.stage = teamsfx_api_1.Stage.listCollaborator;
987
1068
  const context = (0, globalVars_1.createContext)();
988
- const res = await (0, collaborator_1.listCollaborator)(context, inputs, globalVars_1.TOOLS.tokenProvider);
1069
+ const res = await collaboratorCore.listCollaborator(context, inputs, globalVars_1.TOOLS.tokenProvider);
989
1070
  return res;
990
1071
  }
991
1072
  getSelectedEnv(inputs) {
@@ -1066,45 +1147,16 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
1066
1147
  globalVars_1.TOOLS.logProvider.info(`env file created: ${targetDotEnvFile}`);
1067
1148
  return (0, teamsfx_api_1.ok)(undefined);
1068
1149
  }
1069
- // a phantom migration method for V3
1070
- async phantomMigrationV3(inputs) {
1071
- // If the project is invalid or upgraded, the ProjectMigratorMWV3 will not take action.
1072
- // Check invaliad/upgraded project here before call ProjectMigratorMWV3
1073
- const projectPath = inputs.projectPath || "";
1074
- const version = await (0, v3MigrationUtils_1.getProjectVersionFromPath)(projectPath);
1075
- if (version.source === versionMetadata_1.VersionSource.teamsapp) {
1076
- return (0, teamsfx_api_1.err)(new upgrade_1.NoNeedUpgradeError());
1077
- }
1078
- else if (version.source === versionMetadata_1.VersionSource.projectSettings) {
1079
- const isValid = await (0, projectMigratorV3_1.checkActiveResourcePlugins)(projectPath);
1080
- if (!isValid) {
1081
- return (0, teamsfx_api_1.err)(new common_2.InvalidProjectError(projectPath));
1082
- }
1083
- }
1084
- if (version.source === versionMetadata_1.VersionSource.unknown) {
1085
- return (0, teamsfx_api_1.err)(new common_2.InvalidProjectError(projectPath));
1086
- }
1087
- return this.innerMigrationV3(inputs);
1088
- }
1089
- innerMigrationV3(inputs) {
1090
- return (0, teamsfx_api_1.ok)(undefined);
1091
- }
1092
1150
  // a project version check
1093
1151
  async projectVersionCheck(inputs) {
1094
1152
  const projectPath = inputs.projectPath || "";
1095
- if ((0, projectSettingsHelper_1.isValidProjectV3)(projectPath) || (0, projectSettingsHelper_1.isValidProjectV2)(projectPath)) {
1096
- const versionInfo = await (0, v3MigrationUtils_1.getProjectVersionFromPath)(projectPath);
1153
+ if (projectSettingsHelper.isValidProjectV3(projectPath)) {
1154
+ const versionInfo = await v3MigrationUtils.getProjectVersionFromPath(projectPath);
1097
1155
  if (!versionInfo.version) {
1098
1156
  return (0, teamsfx_api_1.err)(new common_2.InvalidProjectError(projectPath));
1099
1157
  }
1100
- const trackingId = await (0, v3MigrationUtils_1.getTrackingIdFromPath)(projectPath);
1101
- const isSupport = (0, v3MigrationUtils_1.getVersionState)(versionInfo);
1102
- // if the project is upgradeable, check whether the project is valid and invalid project should not show upgrade option.
1103
- if (isSupport === versionMetadata_1.VersionState.upgradeable) {
1104
- if (!(await (0, projectMigratorV3_1.checkActiveResourcePlugins)(projectPath))) {
1105
- return (0, teamsfx_api_1.err)(new common_2.InvalidProjectError(projectPath));
1106
- }
1107
- }
1158
+ const trackingId = await v3MigrationUtils.getTrackingIdFromPath(projectPath);
1159
+ const isSupport = v3MigrationUtils.getVersionState(versionInfo);
1108
1160
  return (0, teamsfx_api_1.ok)({
1109
1161
  currentVersion: versionInfo.version,
1110
1162
  trackingId,
@@ -1190,11 +1242,11 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
1190
1242
  }
1191
1243
  }
1192
1244
  async preProvisionForVS(inputs) {
1193
- const context = (0, utils_4.createDriverContext)(inputs);
1245
+ const context = (0, utils_3.createDriverContext)(inputs);
1194
1246
  return coordinator_1.coordinator.preProvisionForVS(context, inputs);
1195
1247
  }
1196
1248
  async preCheckYmlAndEnvForVS(inputs) {
1197
- const context = (0, utils_4.createDriverContext)(inputs);
1249
+ const context = (0, utils_3.createDriverContext)(inputs);
1198
1250
  const result = await coordinator_1.coordinator.preCheckYmlAndEnvForVS(context, inputs);
1199
1251
  return result;
1200
1252
  }
@@ -1222,7 +1274,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
1222
1274
  }
1223
1275
  try {
1224
1276
  // Merge existing operations in manifest.json
1225
- const specParser = new m365_spec_parser_1.SpecParser(url, (0, helper_2.getParserOptions)(m365_spec_parser_1.ProjectType.SME));
1277
+ const specParser = new m365_spec_parser_1.SpecParser(url, (0, helper_1.getParserOptions)(m365_spec_parser_1.ProjectType.SME));
1226
1278
  const listResult = await specParser.list();
1227
1279
  const apiResultList = listResult.APIs.filter((value) => value.isValid);
1228
1280
  const existingOperationIds = ManifestUtils_1.manifestUtils.getOperationIds(manifestRes.value);
@@ -1252,11 +1304,11 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
1252
1304
  }
1253
1305
  if (authNames.size >= 1) {
1254
1306
  for (const authName of authNames) {
1255
- await (0, helper_2.injectAuthAction)(inputs.projectPath, [...authNames][0], authNamesDict[authName], outputApiSpecPath, false);
1307
+ await openApiSpecHelper.injectAuthAction(inputs.projectPath, [...authNames][0], authNamesDict[authName], outputApiSpecPath, false);
1256
1308
  }
1257
1309
  }
1258
1310
  let pluginPath;
1259
- const generateResult = await (0, helper_2.generateFromApiSpec)(specParser, manifestPath, inputs, context, "copilotPluginAddAPI", m365_spec_parser_1.ProjectType.SME, {
1311
+ const generateResult = await openApiSpecHelper.generateFromApiSpec(specParser, manifestPath, inputs, context, "copilotPluginAddAPI", m365_spec_parser_1.ProjectType.SME, {
1260
1312
  destinationApiSpecFilePath: outputApiSpecPath,
1261
1313
  responseTemplateFolder: adaptiveCardFolder,
1262
1314
  pluginManifestFilePath: pluginPath,
@@ -1265,7 +1317,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
1265
1317
  return (0, teamsfx_api_1.err)(generateResult.error);
1266
1318
  }
1267
1319
  if (generateResult.value.warnings && generateResult.value.warnings.length > 0) {
1268
- const warnSummary = await (0, helper_2.generateScaffoldingSummary)(generateResult.value.warnings, manifestRes.value, path.relative(inputs.projectPath, outputApiSpecPath), pluginPath === undefined ? undefined : path.relative(inputs.projectPath, pluginPath), inputs.projectPath);
1320
+ const warnSummary = await openApiSpecHelper.generateScaffoldingSummary(generateResult.value.warnings, manifestRes.value, path.relative(inputs.projectPath, outputApiSpecPath), pluginPath === undefined ? undefined : path.relative(inputs.projectPath, pluginPath), inputs.projectPath);
1269
1321
  if (warnSummary) {
1270
1322
  context.logProvider.info(warnSummary);
1271
1323
  }
@@ -1274,7 +1326,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
1274
1326
  catch (e) {
1275
1327
  let error;
1276
1328
  if (e instanceof m365_spec_parser_1.SpecParserError) {
1277
- error = (0, helper_2.convertSpecParserErrorToFxError)(e);
1329
+ error = (0, helper_1.convertSpecParserErrorToFxError)(e);
1278
1330
  }
1279
1331
  else {
1280
1332
  error = (0, common_2.assembleError)(e);
@@ -1307,7 +1359,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
1307
1359
  }
1308
1360
  }
1309
1361
  async copilotPluginListOperations(inputs) {
1310
- const res = await (0, helper_2.listOperations)((0, globalVars_1.createContext)(), inputs.apiSpecUrl, inputs, inputs.includeExistingAPIs, inputs.shouldLogWarning);
1362
+ const res = await openApiSpecHelper.listOperations((0, globalVars_1.createContext)(), inputs.apiSpecUrl, inputs, inputs.includeExistingAPIs, inputs.shouldLogWarning);
1311
1363
  if (res.isErr()) {
1312
1364
  const msg = res.error.map((e) => e.content).join("\n");
1313
1365
  return (0, teamsfx_api_1.err)(new teamsfx_api_1.UserError("FxCore", "ListOpenAPISpecOperationsError", msg, msg));
@@ -1326,134 +1378,17 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
1326
1378
  globalVars_1.TOOLS.telemetryReporter?.sendTelemetryEvent(telemetry_1.TelemetryEvent.ProjectType, props);
1327
1379
  return (0, teamsfx_api_1.ok)(projectTypeRes);
1328
1380
  }
1329
- /**
1330
- * Add plugin
1331
- */
1332
- async addPlugin(inputs) {
1333
- if (!inputs.projectPath) {
1334
- throw new Error("projectPath is undefined"); // should never happen
1335
- }
1336
- const context = (0, globalVars_1.createContext)();
1337
- const teamsManifestPath = inputs[constants_3.QuestionNames.ManifestPath];
1338
- const appPackageFolder = path.dirname(teamsManifestPath);
1339
- const isGenerateFromApiSpec = inputs[constants_3.QuestionNames.ActionType] === constants_3.ActionStartOptions.apiSpec().id;
1340
- // validate the project is valid for adding plugin
1341
- const manifestRes = await ManifestUtils_1.manifestUtils._readAppManifest(teamsManifestPath);
1342
- if (manifestRes.isErr()) {
1343
- return (0, teamsfx_api_1.err)(manifestRes.error);
1344
- }
1345
- const teamsManifest = manifestRes.value;
1346
- const declarativeGpt = teamsManifest.copilotExtensions
1347
- ? teamsManifest.copilotExtensions.declarativeCopilots?.[0]
1348
- : teamsManifest.copilotAgents?.declarativeAgents?.[0];
1349
- if (!declarativeGpt?.file) {
1350
- return (0, teamsfx_api_1.err)(results_1.AppStudioResultFactory.UserError(errors_1.AppStudioError.TeamsAppRequiredPropertyMissingError.name, errors_1.AppStudioError.TeamsAppRequiredPropertyMissingError.message("declarativeAgents", teamsManifestPath)));
1351
- }
1352
- const gptManifestFilePathRes = await CopilotGptManifestUtils_1.copilotGptManifestUtils.getManifestPath(teamsManifestPath);
1353
- if (gptManifestFilePathRes.isErr()) {
1354
- return (0, teamsfx_api_1.err)(gptManifestFilePathRes.error);
1355
- }
1356
- const declarativeCopilotManifestPath = gptManifestFilePathRes.value;
1357
- const declarativeCopilotManifesRes = await CopilotGptManifestUtils_1.copilotGptManifestUtils.readCopilotGptManifestFile(declarativeCopilotManifestPath);
1358
- if (declarativeCopilotManifesRes.isErr()) {
1359
- return (0, teamsfx_api_1.err)(declarativeCopilotManifesRes.error);
1360
- }
1361
- const declarativeCopilotManifest = declarativeCopilotManifesRes.value;
1362
- let confirmMessage = (0, localizeUtils_1.getLocalizedString)("core.addApi.confirm", path.relative(inputs.projectPath, appPackageFolder));
1363
- // Will be used if generating from API spec
1364
- let specParser = undefined;
1365
- let authNameAndSchemes = [];
1366
- if (isGenerateFromApiSpec) {
1367
- specParser = new m365_spec_parser_1.SpecParser(inputs[constants_3.QuestionNames.ApiSpecLocation].trim(), (0, helper_2.getParserOptions)(m365_spec_parser_1.ProjectType.Copilot, true));
1368
- const listResult = await (0, daSpecParser_1.listAPIInfo)(inputs[constants_3.QuestionNames.ApiSpecLocation].trim());
1369
- authNameAndSchemes = this.parseAuthNameAndScheme(listResult, inputs);
1370
- if (authNameAndSchemes.length > 0) {
1371
- const doesLocalYamlPathExists = await fs_extra_1.default.pathExists(path.join(inputs.projectPath, versionMetadata_1.MetadataV3.localConfigFile));
1372
- confirmMessage = doesLocalYamlPathExists
1373
- ? (0, localizeUtils_1.getLocalizedString)("core.addApi.confirm.localTeamsYaml", path.relative(inputs.projectPath, appPackageFolder), versionMetadata_1.MetadataV4.localConfigFile, versionMetadata_1.MetadataV4.configFile)
1374
- : (0, localizeUtils_1.getLocalizedString)("core.addApi.confirm.teamsYaml", path.relative(inputs.projectPath, appPackageFolder), versionMetadata_1.MetadataV4.configFile);
1375
- }
1376
- }
1377
- // confirm
1378
- const confirmRes = await context.userInteraction.showMessage("warn", confirmMessage, true, (0, localizeUtils_1.getLocalizedString)("core.addApi.continue"));
1379
- if (confirmRes.isErr()) {
1380
- return (0, teamsfx_api_1.err)(confirmRes.error);
1381
- }
1382
- else if (confirmRes.value !== (0, localizeUtils_1.getLocalizedString)("core.addApi.continue")) {
1383
- return (0, teamsfx_api_1.err)(new common_2.UserCancelError());
1384
- }
1385
- // find the next available action id
1386
- let actionId = "";
1387
- let suffix = 1;
1388
- actionId = `action_${suffix}`;
1389
- const existingActionIds = declarativeCopilotManifest.actions?.map((action) => action.id);
1390
- while (existingActionIds?.includes(actionId)) {
1391
- suffix += 1;
1392
- actionId = `action_${suffix}`;
1393
- }
1394
- let destinationPluginManifestPath;
1395
- // generate files
1396
- if (isGenerateFromApiSpec && specParser) {
1397
- destinationPluginManifestPath =
1398
- await CopilotGptManifestUtils_1.copilotGptManifestUtils.getDefaultNextAvailablePluginManifestPath(appPackageFolder, undefined);
1399
- const destinationApiSpecPath = await PluginManifestUtils_1.pluginManifestUtils.getDefaultNextAvailableApiSpecPath(inputs[constants_3.QuestionNames.ApiSpecLocation].trim(), path.join(appPackageFolder, teamsfx_api_1.DefaultApiSpecFolderName));
1400
- const generateRes = await (0, helper_2.generateFromApiSpec)(specParser, teamsManifestPath, inputs, context, teamsfx_api_1.Stage.addPlugin, m365_spec_parser_1.ProjectType.Copilot, {
1401
- destinationApiSpecFilePath: destinationApiSpecPath,
1402
- pluginManifestFilePath: destinationPluginManifestPath,
1403
- }, inputs[constants_3.QuestionNames.ApiSpecLocation].trim());
1404
- if (generateRes.isErr()) {
1405
- return (0, teamsfx_api_1.err)(generateRes.error);
1406
- }
1407
- const warnings = generateRes.value.warnings;
1408
- if (warnings && warnings.length > 0) {
1409
- const warnSummary = await (0, helper_2.generateScaffoldingSummary)(warnings, manifestRes.value, path.relative(inputs.projectPath, destinationApiSpecPath), path.relative(inputs.projectPath, destinationPluginManifestPath), inputs.projectPath);
1410
- context.logProvider.info(warnSummary + "\n");
1411
- }
1412
- const addActionRes = await CopilotGptManifestUtils_1.copilotGptManifestUtils.addAction(declarativeCopilotManifestPath, actionId, (0, utils_3.normalizePath)(path.relative(appPackageFolder, destinationPluginManifestPath), true));
1413
- if (addActionRes.isErr()) {
1414
- return (0, teamsfx_api_1.err)(addActionRes.error);
1415
- }
1416
- for (const authNameAndScheme of authNameAndSchemes) {
1417
- await this.updateAuthActionInYaml(authNameAndScheme.authName, authNameAndScheme.authScheme, inputs.projectPath, destinationApiSpecPath, destinationPluginManifestPath);
1418
- }
1419
- }
1420
- else {
1421
- const addPluginRes = await (0, helper_1.addExistingPlugin)(declarativeCopilotManifestPath, inputs[constants_3.QuestionNames.PluginManifestFilePath].trim(), inputs[constants_3.QuestionNames.PluginOpenApiSpecFilePath].trim(), actionId, context, teamsfx_api_1.Stage.addPlugin);
1422
- if (addPluginRes.isErr()) {
1423
- return (0, teamsfx_api_1.err)(addPluginRes.error);
1424
- }
1425
- destinationPluginManifestPath = addPluginRes.value.destinationPluginManifestPath;
1426
- const warningMessage = (0, common_1.outputScaffoldingWarningMessage)(addPluginRes.value.warnings);
1427
- context.logProvider.info(warningMessage);
1428
- }
1429
- if (inputs.platform === teamsfx_api_1.Platform.VSCode) {
1430
- const successMessage = (0, localizeUtils_1.getLocalizedString)("core.addPlugin.success.vsc", actionId);
1431
- const viewPluginManifest = (0, localizeUtils_1.getLocalizedString)("core.addPlugin.success.viewPluginManifest");
1432
- void context.userInteraction
1433
- .showMessage("info", successMessage, false, viewPluginManifest)
1434
- .then((userRes) => {
1435
- if (userRes.isOk() && userRes.value === viewPluginManifest) {
1436
- context.telemetryReporter.sendTelemetryEvent(telemetry_1.TelemetryEvent.ViewPluginManifestAfterAdded);
1437
- void globalVars_1.TOOLS?.ui?.openFile?.(destinationPluginManifestPath);
1438
- }
1439
- });
1440
- }
1441
- else {
1442
- const successMessage = (0, localizeUtils_1.getLocalizedString)("core.addPlugin.success", actionId, destinationPluginManifestPath);
1443
- void context.userInteraction.showMessage("info", successMessage, false);
1444
- }
1445
- return (0, teamsfx_api_1.ok)(undefined);
1446
- }
1447
1381
  async regeneratePlugin(inputs) {
1448
1382
  const projectPath = inputs.projectPath;
1449
1383
  const context = (0, globalVars_1.createContext)();
1450
- const teamsManifestPath = inputs[constants_3.QuestionNames.ManifestPath];
1384
+ const teamsManifestPath = (inputs[constants_3.QuestionNames.ManifestPath] ??
1385
+ inputs[constants_3.QuestionNames.TeamsAppManifestFilePath]);
1451
1386
  const appPackageFolder = path.dirname(teamsManifestPath);
1452
1387
  const manifestRes = await ManifestUtils_1.manifestUtils._readAppManifest(teamsManifestPath);
1453
1388
  if (manifestRes.isErr()) {
1454
1389
  return (0, teamsfx_api_1.err)(manifestRes.error);
1455
1390
  }
1456
- const gptManifestFilePathRes = await CopilotGptManifestUtils_1.copilotGptManifestUtils.getManifestPath(teamsManifestPath);
1391
+ const gptManifestFilePathRes = await (0, exports.getManifestPath)(teamsManifestPath);
1457
1392
  if (gptManifestFilePathRes.isErr()) {
1458
1393
  return (0, teamsfx_api_1.err)(gptManifestFilePathRes.error);
1459
1394
  }
@@ -1478,7 +1413,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
1478
1413
  }
1479
1414
  const destinationPluginManifestPath = inputs[constants_3.QuestionNames.SelectPluginManifest];
1480
1415
  const destinationApiSpecPath = inputs[constants_3.QuestionNames.SelectOpenAPISpecFromPlugin];
1481
- const generateRes = await (0, helper_2.generateFromApiSpec)(undefined, teamsManifestPath, inputs, context, teamsfx_api_1.Stage.RegeneratePlugin, m365_spec_parser_1.ProjectType.Copilot, {
1416
+ const generateRes = await openApiSpecHelper.generateFromApiSpec(undefined, teamsManifestPath, inputs, context, teamsfx_api_1.Stage.RegeneratePlugin, m365_spec_parser_1.ProjectType.Copilot, {
1482
1417
  destinationApiSpecFilePath: destinationApiSpecPath,
1483
1418
  pluginManifestFilePath: destinationPluginManifestPath,
1484
1419
  }, inputs[constants_3.QuestionNames.ApiSpecLocation].trim(), true);
@@ -1487,14 +1422,14 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
1487
1422
  }
1488
1423
  const warnings = generateRes.value.warnings;
1489
1424
  if (warnings && warnings.length > 0) {
1490
- const warnSummary = await (0, helper_2.generateScaffoldingSummary)(warnings, manifestRes.value, path.relative(projectPath, destinationApiSpecPath), path.relative(projectPath, destinationPluginManifestPath), projectPath);
1425
+ const warnSummary = await openApiSpecHelper.generateScaffoldingSummary(warnings, manifestRes.value, path.relative(projectPath, destinationApiSpecPath), path.relative(projectPath, destinationPluginManifestPath), projectPath);
1491
1426
  context.logProvider.info(warnSummary + "\n");
1492
1427
  }
1493
1428
  for (const authNameAndScheme of authNameAndSchemes) {
1494
1429
  await this.updateAuthActionInYaml(authNameAndScheme.authName, authNameAndScheme.authScheme, projectPath, destinationApiSpecPath, destinationPluginManifestPath, false);
1495
1430
  }
1496
1431
  const declarativeAgentManifestPath = gptManifestFilePathRes.value;
1497
- const declarativeAgentManifesRes = await CopilotGptManifestUtils_1.copilotGptManifestUtils.readCopilotGptManifestFile(declarativeAgentManifestPath);
1432
+ const declarativeAgentManifesRes = await (0, exports.readCopilotGptManifestFile)(declarativeAgentManifestPath);
1498
1433
  if (declarativeAgentManifesRes.isErr()) {
1499
1434
  return (0, teamsfx_api_1.err)(declarativeAgentManifesRes.error);
1500
1435
  }
@@ -1511,7 +1446,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
1511
1446
  .showMessage("info", successMessage, false, viewPluginManifest)
1512
1447
  .then((userRes) => {
1513
1448
  if (userRes.isOk() && userRes.value === viewPluginManifest) {
1514
- context.telemetryReporter.sendTelemetryEvent(telemetry_1.TelemetryEvent.ViewPluginManifestAfterAdded);
1449
+ context.telemetryReporter?.sendTelemetryEvent(telemetry_1.TelemetryEvent.ViewPluginManifestAfterAdded);
1515
1450
  void globalVars_1.TOOLS?.ui?.openFile?.(destinationPluginManifestPath);
1516
1451
  }
1517
1452
  });
@@ -1522,20 +1457,6 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
1522
1457
  }
1523
1458
  return (0, teamsfx_api_1.ok)(undefined);
1524
1459
  }
1525
- /**
1526
- * MetaOS Extend To DA
1527
- */
1528
- async metaOSExtendToDA(inputs, workDir) {
1529
- const context = (0, globalVars_1.createContext)();
1530
- inputs[constants_3.QuestionNames.Scratch] = constants_3.ScratchOptions.yes().id;
1531
- inputs[constants_3.QuestionNames.TemplateName] = templateNames_1.TemplateNames.DeclarativeAgentMetaOSUpgradeProject;
1532
- inputs[constants_3.QuestionNames.OfficeAddinFolder] = workDir;
1533
- const res = await coordinator_1.coordinator.create(context, inputs);
1534
- if (res.isOk()) {
1535
- inputs.projectPath = res.value.projectPath;
1536
- }
1537
- return res;
1538
- }
1539
1460
  /**
1540
1461
  * Add Knowledge
1541
1462
  */
@@ -1558,7 +1479,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
1558
1479
  if (!agent?.file) {
1559
1480
  return (0, teamsfx_api_1.err)(results_1.AppStudioResultFactory.UserError(errors_1.AppStudioError.TeamsAppRequiredPropertyMissingError.name, errors_1.AppStudioError.TeamsAppRequiredPropertyMissingError.message("declarativeAgents", teamsManifestPath)));
1560
1481
  }
1561
- const agentFilePathRes = await CopilotGptManifestUtils_1.copilotGptManifestUtils.getManifestPath(teamsManifestPath);
1482
+ const agentFilePathRes = await (0, exports.getManifestPath)(teamsManifestPath);
1562
1483
  if (agentFilePathRes.isErr()) {
1563
1484
  return (0, teamsfx_api_1.err)(agentFilePathRes.error);
1564
1485
  }
@@ -1600,6 +1521,281 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
1600
1521
  this.showAddKnowledgeSuccessMessage(context, inputs, agentManifestPath, knowledgeSource);
1601
1522
  return (0, teamsfx_api_1.ok)(result);
1602
1523
  }
1524
+ /**
1525
+ * Add Skill
1526
+ */
1527
+ async addSkill(inputs) {
1528
+ if (!featureFlags_1.featureFlagManager.getBooleanValue(featureFlags_1.FeatureFlags.AgentSkillsManifest)) {
1529
+ return (0, teamsfx_api_1.err)(new teamsfx_api_1.UserError("FxCore", "AgentSkillsDisabled", (0, localizeUtils_1.getLocalizedString)("core.addSkill.featureFlagDisabled")));
1530
+ }
1531
+ if (!inputs.projectPath) {
1532
+ throw new Error("projectPath is undefined"); // should never happen
1533
+ }
1534
+ const context = (0, globalVars_1.createContext)();
1535
+ const projectPath = inputs.projectPath;
1536
+ const teamsManifestPath = path.resolve(projectPath, inputs[constants_3.QuestionNames.ManifestPath]);
1537
+ const appPackageFolder = path.dirname(teamsManifestPath);
1538
+ // Validate the project is valid for adding a skill
1539
+ const manifestRes = await ManifestUtils_1.manifestUtils._readAppManifest(teamsManifestPath);
1540
+ if (manifestRes.isErr()) {
1541
+ return (0, teamsfx_api_1.err)(manifestRes.error);
1542
+ }
1543
+ const teamsManifest = manifestRes.value;
1544
+ const agent = teamsManifest.copilotExtensions
1545
+ ? teamsManifest.copilotExtensions.declarativeCopilots?.[0]
1546
+ : teamsManifest.copilotAgents?.declarativeAgents?.[0];
1547
+ if (!agent?.file) {
1548
+ return (0, teamsfx_api_1.err)(results_1.AppStudioResultFactory.UserError(errors_1.AppStudioError.TeamsAppRequiredPropertyMissingError.name, errors_1.AppStudioError.TeamsAppRequiredPropertyMissingError.message("declarativeAgents", teamsManifestPath)));
1549
+ }
1550
+ const agentFilePathRes = await (0, exports.getManifestPath)(teamsManifestPath);
1551
+ if (agentFilePathRes.isErr()) {
1552
+ return (0, teamsfx_api_1.err)(agentFilePathRes.error);
1553
+ }
1554
+ const agentManifestPath = agentFilePathRes.value;
1555
+ // Confirm before modifying files (matches addPlugin pattern)
1556
+ const confirmMessage = (0, localizeUtils_1.getLocalizedString)("core.addSkill.confirm", path.relative(inputs.projectPath, appPackageFolder));
1557
+ const confirmRes = await context.userInteraction.showMessage("warn", confirmMessage, true, (0, localizeUtils_1.getLocalizedString)("core.addSkill.continue"));
1558
+ if (confirmRes.isErr()) {
1559
+ return (0, teamsfx_api_1.err)(confirmRes.error);
1560
+ }
1561
+ else if (confirmRes.value !== (0, localizeUtils_1.getLocalizedString)("core.addSkill.continue")) {
1562
+ return (0, teamsfx_api_1.err)(new common_2.UserCancelError());
1563
+ }
1564
+ const skillName = inputs[constants_3.QuestionNames.SkillName];
1565
+ const skillDescription = inputs[constants_3.QuestionNames.SkillDescription];
1566
+ const skillFrom = inputs[constants_3.QuestionNames.SkillFrom];
1567
+ const skillFromZipFile = inputs[constants_3.QuestionNames.SkillFromZipFile];
1568
+ let skillFolder;
1569
+ if (skillFrom || skillFromZipFile) {
1570
+ const isZipImport = skillFromZipFile || (skillFrom && skillFrom.toLowerCase().endsWith(".zip"));
1571
+ const sourcePath = (skillFromZipFile || skillFrom);
1572
+ if (isZipImport) {
1573
+ // Zip import mode
1574
+ const importRes = await this.importSkillFromZip(sourcePath, appPackageFolder, agentManifestPath);
1575
+ if (importRes.isErr()) {
1576
+ return (0, teamsfx_api_1.err)(importRes.error);
1577
+ }
1578
+ skillFolder = importRes.value;
1579
+ }
1580
+ else {
1581
+ // Existing skill folder mode: validate it's within appPackage
1582
+ const skillAbsPath = path.resolve(appPackageFolder, sourcePath);
1583
+ const relativePath = path.relative(appPackageFolder, skillAbsPath);
1584
+ if (relativePath.startsWith("..")) {
1585
+ return (0, teamsfx_api_1.err)(new teamsfx_api_1.UserError("FxCore", "SkillOutsideAppPackage", "The skill directory must be within the app package folder."));
1586
+ }
1587
+ // Validate folder name format
1588
+ const folderName = path.basename(skillAbsPath);
1589
+ const namePattern = /^[a-zA-Z][a-zA-Z0-9-]*$/;
1590
+ if (!namePattern.test(folderName)) {
1591
+ return (0, teamsfx_api_1.err)(new teamsfx_api_1.UserError("FxCore", "InvalidSkillFolderName", `Skill folder name "${folderName}" is invalid. It must start with a letter and contain only letters, numbers, and hyphens.`));
1592
+ }
1593
+ // Validate SKILL.md exists
1594
+ const skillMdPath = path.join(skillAbsPath, "SKILL.md");
1595
+ if (!(await fs_extra_1.default.pathExists(skillMdPath))) {
1596
+ return (0, teamsfx_api_1.err)(new teamsfx_api_1.UserError("FxCore", "SkillMdNotFound", `SKILL.md not found in ${skillAbsPath}. Each skill directory must contain a SKILL.md file.`));
1597
+ }
1598
+ // Validate skill name in SKILL.md matches folder name
1599
+ const skillMdContent = await fs_extra_1.default.readFile(skillMdPath, "utf-8");
1600
+ const nameMatch = skillMdContent.match(/^---[\s\S]*?^name:\s*(.+)$/m);
1601
+ if (nameMatch) {
1602
+ const skillMdName = nameMatch[1].trim();
1603
+ if (skillMdName !== folderName) {
1604
+ return (0, teamsfx_api_1.err)(new teamsfx_api_1.UserError("FxCore", "SkillNameMismatch", `Skill name "${skillMdName}" in SKILL.md does not match folder name "${folderName}". They must be the same.`));
1605
+ }
1606
+ }
1607
+ skillFolder = (0, utils_2.normalizePath)(path.relative(path.dirname(agentManifestPath), skillAbsPath), true);
1608
+ }
1609
+ }
1610
+ else {
1611
+ // New skill mode: create the directory and SKILL.md
1612
+ const skillDir = path.join(appPackageFolder, "skills", skillName);
1613
+ await fs_extra_1.default.ensureDir(skillDir);
1614
+ const skillMdContent = [
1615
+ "---",
1616
+ `name: ${skillName}`,
1617
+ `description: ${skillDescription}`,
1618
+ "---",
1619
+ `# ${skillName}`,
1620
+ "",
1621
+ "<!-- Add your skill instructions here -->",
1622
+ "<!-- The agent will follow these instructions when this skill is activated -->",
1623
+ "",
1624
+ ].join("\n");
1625
+ await fs_extra_1.default.writeFile(path.join(skillDir, "SKILL.md"), skillMdContent);
1626
+ skillFolder = (0, utils_2.normalizePath)(path.relative(path.dirname(agentManifestPath), skillDir), true);
1627
+ }
1628
+ // Add skill entry to DA manifest
1629
+ const addSkillRes = await CopilotGptManifestUtils_1.copilotGptManifestUtils.addSkill(agentManifestPath, skillFolder);
1630
+ if (addSkillRes.isErr()) {
1631
+ return (0, teamsfx_api_1.err)(addSkillRes.error);
1632
+ }
1633
+ // Optionally expose skill to Copilot via top-level Teams manifest agentSkills
1634
+ const exposeToCopilot = inputs[constants_3.QuestionNames.ExposeToCopilot];
1635
+ if (exposeToCopilot === true || exposeToCopilot === "yes") {
1636
+ // Compute folder path relative to app package folder (Teams manifest dir)
1637
+ const skillAbsPath = path.resolve(path.dirname(agentManifestPath), skillFolder);
1638
+ const teamsManifestSkillFolder = (0, utils_2.normalizePath)(path.relative(appPackageFolder, skillAbsPath), true);
1639
+ // Read, update, and write the Teams manifest
1640
+ const teamsManifestForSkill = manifestRes.value;
1641
+ if (!teamsManifestForSkill.agentSkills) {
1642
+ teamsManifestForSkill.agentSkills = [];
1643
+ }
1644
+ if (!teamsManifestForSkill.agentSkills.some((s) => s.folder === teamsManifestSkillFolder)) {
1645
+ teamsManifestForSkill.agentSkills.push({ folder: teamsManifestSkillFolder });
1646
+ }
1647
+ await fs_extra_1.default.writeFile(teamsManifestPath, JSON.stringify(teamsManifestForSkill, null, 4));
1648
+ }
1649
+ // Show success message
1650
+ if (inputs.platform === teamsfx_api_1.Platform.VSCode) {
1651
+ const successMessage = (0, localizeUtils_1.getLocalizedString)("core.addSkill.success.vsc");
1652
+ const viewAgentManifest = (0, localizeUtils_1.getLocalizedString)("core.addSkill.success.viewAgentManifest");
1653
+ void context.userInteraction
1654
+ .showMessage("info", successMessage, false, viewAgentManifest)
1655
+ .then((userRes) => {
1656
+ if (userRes.isOk() && userRes.value === viewAgentManifest) {
1657
+ void globalVars_1.TOOLS?.ui?.openFile?.(agentManifestPath);
1658
+ }
1659
+ });
1660
+ }
1661
+ else {
1662
+ const successMessage = (0, localizeUtils_1.getLocalizedString)("core.addSkill.success", agentManifestPath);
1663
+ void context.userInteraction.showMessage("info", successMessage, false);
1664
+ }
1665
+ return (0, teamsfx_api_1.ok)(undefined);
1666
+ }
1667
+ /**
1668
+ * Import a skill from a .zip file into the appPackage/skills folder.
1669
+ * Validates zip entries for security, extracts to a temp directory, then moves atomically.
1670
+ */
1671
+ async importSkillFromZip(zipPath, appPackageFolder, agentManifestPath) {
1672
+ // Resolve zip path relative to CWD (not appPackage)
1673
+ const resolvedZipPath = path.resolve(zipPath);
1674
+ if (!(await fs_extra_1.default.pathExists(resolvedZipPath))) {
1675
+ return (0, teamsfx_api_1.err)(new teamsfx_api_1.UserError("FxCore", "ZipFileNotFound", `Zip file not found: ${resolvedZipPath}`));
1676
+ }
1677
+ let zip;
1678
+ try {
1679
+ zip = new adm_zip_1.default(resolvedZipPath);
1680
+ }
1681
+ catch {
1682
+ return (0, teamsfx_api_1.err)(new teamsfx_api_1.UserError("FxCore", "InvalidZipFile", `Failed to read zip file: ${resolvedZipPath}. Please provide a valid .zip file.`));
1683
+ }
1684
+ const entries = zip.getEntries();
1685
+ // Metadata directories to ignore
1686
+ const ignoredPrefixes = ["__MACOSX/", ".DS_Store"];
1687
+ // Security: validate all entries before extraction
1688
+ for (const entry of entries) {
1689
+ const entryName = entry.entryName.replace(/\\/g, "/");
1690
+ if (entryName.includes("..") || path.isAbsolute(entryName) || entryName.startsWith("/")) {
1691
+ return (0, teamsfx_api_1.err)(new teamsfx_api_1.UserError("FxCore", "ZipInvalidEntries", (0, localizeUtils_1.getLocalizedString)("core.addSkill.zipInvalidEntries")));
1692
+ }
1693
+ }
1694
+ // Filter out metadata entries
1695
+ const validEntries = entries.filter((entry) => {
1696
+ const entryName = entry.entryName.replace(/\\/g, "/");
1697
+ return !ignoredPrefixes.some((prefix) => entryName.startsWith(prefix) || entryName === prefix.replace("/", ""));
1698
+ });
1699
+ // Determine zip layout: single top-level directory or root-level files
1700
+ const topLevelDirs = new Set();
1701
+ let hasRootFiles = false;
1702
+ for (const entry of validEntries) {
1703
+ const entryName = entry.entryName.replace(/\\/g, "/");
1704
+ const parts = entryName.split("/").filter((p) => p.length > 0);
1705
+ if (parts.length === 1 && !entry.isDirectory) {
1706
+ hasRootFiles = true;
1707
+ }
1708
+ else if (parts.length >= 1) {
1709
+ topLevelDirs.add(parts[0]);
1710
+ }
1711
+ }
1712
+ let skillContentPrefix = "";
1713
+ let derivedSkillName;
1714
+ if (!hasRootFiles && topLevelDirs.size === 1) {
1715
+ // Single top-level directory layout
1716
+ skillContentPrefix = [...topLevelDirs][0] + "/";
1717
+ derivedSkillName = [...topLevelDirs][0];
1718
+ }
1719
+ else if (hasRootFiles) {
1720
+ // Root-level files layout: derive name from SKILL.md frontmatter
1721
+ const skillMdEntry = validEntries.find((e) => {
1722
+ const name = e.entryName.replace(/\\/g, "/");
1723
+ return name === "SKILL.md" || name === "./SKILL.md";
1724
+ });
1725
+ if (!skillMdEntry) {
1726
+ return (0, teamsfx_api_1.err)(new teamsfx_api_1.UserError("FxCore", "ZipNoSkillMd", (0, localizeUtils_1.getLocalizedString)("core.addSkill.zipNoSkillMd")));
1727
+ }
1728
+ const skillMdContent = skillMdEntry.getData().toString("utf-8");
1729
+ const nameMatch = skillMdContent.match(/^---[\s\S]*?^name:\s*(.+)$/m);
1730
+ if (!nameMatch) {
1731
+ return (0, teamsfx_api_1.err)(new teamsfx_api_1.UserError("FxCore", "ZipNoSkillMd", (0, localizeUtils_1.getLocalizedString)("core.addSkill.zipNoSkillMd") +
1732
+ " The SKILL.md file must include a 'name' field in its frontmatter."));
1733
+ }
1734
+ derivedSkillName = nameMatch[1].trim();
1735
+ }
1736
+ else {
1737
+ return (0, teamsfx_api_1.err)(new teamsfx_api_1.UserError("FxCore", "ZipInvalidLayout", (0, localizeUtils_1.getLocalizedString)("core.addSkill.zipInvalidLayout")));
1738
+ }
1739
+ // Validate skill name format
1740
+ const namePattern = /^[a-zA-Z][a-zA-Z0-9-]*$/;
1741
+ if (!namePattern.test(derivedSkillName)) {
1742
+ return (0, teamsfx_api_1.err)(new teamsfx_api_1.UserError("FxCore", "InvalidSkillFolderName", `Skill name "${derivedSkillName}" is invalid. It must start with a letter and contain only letters, numbers, and hyphens.`));
1743
+ }
1744
+ // Check target folder doesn't already exist
1745
+ const targetSkillDir = path.join(appPackageFolder, "skills", derivedSkillName);
1746
+ if (await fs_extra_1.default.pathExists(targetSkillDir)) {
1747
+ return (0, teamsfx_api_1.err)(new teamsfx_api_1.UserError("FxCore", "SkillFolderAlreadyExists", (0, localizeUtils_1.getLocalizedString)("core.addSkill.zipSkillFolderExists", derivedSkillName)));
1748
+ }
1749
+ // Extract to temp directory first, then move atomically
1750
+ const tempDir = await fs_extra_1.default.mkdtemp(path.join(os.tmpdir(), "atk-skill-import-"));
1751
+ const tempSkillDir = path.join(tempDir, derivedSkillName);
1752
+ try {
1753
+ await fs_extra_1.default.ensureDir(tempSkillDir);
1754
+ // Extract relevant entries
1755
+ for (const entry of validEntries) {
1756
+ if (entry.isDirectory)
1757
+ continue;
1758
+ const entryName = entry.entryName.replace(/\\/g, "/");
1759
+ let relativeName = entryName;
1760
+ if (skillContentPrefix && entryName.startsWith(skillContentPrefix)) {
1761
+ relativeName = entryName.slice(skillContentPrefix.length);
1762
+ }
1763
+ if (!relativeName)
1764
+ continue;
1765
+ const targetPath = path.join(tempSkillDir, relativeName);
1766
+ // Re-validate no path traversal after joining
1767
+ const normalizedTarget = path.resolve(targetPath);
1768
+ if (!normalizedTarget.startsWith(path.resolve(tempSkillDir))) {
1769
+ return (0, teamsfx_api_1.err)(new teamsfx_api_1.UserError("FxCore", "ZipInvalidEntries", (0, localizeUtils_1.getLocalizedString)("core.addSkill.zipInvalidEntries")));
1770
+ }
1771
+ await fs_extra_1.default.ensureDir(path.dirname(targetPath));
1772
+ await fs_extra_1.default.writeFile(targetPath, entry.getData());
1773
+ }
1774
+ // Validate SKILL.md exists in extracted content
1775
+ const extractedSkillMdPath = path.join(tempSkillDir, "SKILL.md");
1776
+ if (!(await fs_extra_1.default.pathExists(extractedSkillMdPath))) {
1777
+ return (0, teamsfx_api_1.err)(new teamsfx_api_1.UserError("FxCore", "ZipNoSkillMd", (0, localizeUtils_1.getLocalizedString)("core.addSkill.zipNoSkillMd")));
1778
+ }
1779
+ // Validate name in SKILL.md matches derived folder name
1780
+ const extractedSkillMd = await fs_extra_1.default.readFile(extractedSkillMdPath, "utf-8");
1781
+ const extractedNameMatch = extractedSkillMd.match(/^---[\s\S]*?^name:\s*(.+)$/m);
1782
+ if (extractedNameMatch) {
1783
+ const extractedName = extractedNameMatch[1].trim();
1784
+ if (extractedName !== derivedSkillName) {
1785
+ return (0, teamsfx_api_1.err)(new teamsfx_api_1.UserError("FxCore", "SkillNameMismatch", `Skill name "${extractedName}" in SKILL.md does not match folder name "${derivedSkillName}". They must be the same.`));
1786
+ }
1787
+ }
1788
+ // Move to final location
1789
+ await fs_extra_1.default.ensureDir(path.dirname(targetSkillDir));
1790
+ await fs_extra_1.default.move(tempSkillDir, targetSkillDir);
1791
+ }
1792
+ finally {
1793
+ // Clean up temp directory
1794
+ await fs_extra_1.default.remove(tempDir).catch(() => { });
1795
+ }
1796
+ const skillFolder = (0, utils_2.normalizePath)(path.relative(path.dirname(agentManifestPath), targetSkillDir), true);
1797
+ return (0, teamsfx_api_1.ok)(skillFolder);
1798
+ }
1603
1799
  /**
1604
1800
  * only for vs code extension
1605
1801
  */
@@ -1634,12 +1830,12 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
1634
1830
  if (!declarativeGpt?.file) {
1635
1831
  return (0, teamsfx_api_1.err)(results_1.AppStudioResultFactory.UserError(errors_1.AppStudioError.TeamsAppRequiredPropertyMissingError.name, errors_1.AppStudioError.TeamsAppRequiredPropertyMissingError.message("declarativeCopilots", teamsManifestPath)));
1636
1832
  }
1637
- const gptManifestFilePathRes = await CopilotGptManifestUtils_1.copilotGptManifestUtils.getManifestPath(teamsManifestPath);
1833
+ const gptManifestFilePathRes = await (0, exports.getManifestPath)(teamsManifestPath);
1638
1834
  if (gptManifestFilePathRes.isErr()) {
1639
1835
  return (0, teamsfx_api_1.err)(gptManifestFilePathRes.error);
1640
1836
  }
1641
1837
  const declarativeCopilotManifestPath = gptManifestFilePathRes.value;
1642
- const declarativeCopilotManifesRes = await CopilotGptManifestUtils_1.copilotGptManifestUtils.readCopilotGptManifestFile(declarativeCopilotManifestPath);
1838
+ const declarativeCopilotManifesRes = await (0, exports.readCopilotGptManifestFile)(declarativeCopilotManifestPath);
1643
1839
  if (declarativeCopilotManifesRes.isErr()) {
1644
1840
  return (0, teamsfx_api_1.err)(declarativeCopilotManifesRes.error);
1645
1841
  }
@@ -1662,7 +1858,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
1662
1858
  suffix += 1;
1663
1859
  actionId = `action_${suffix}`;
1664
1860
  }
1665
- const addActionRes = await CopilotGptManifestUtils_1.copilotGptManifestUtils.addAction(declarativeCopilotManifestPath, actionId, (0, utils_3.normalizePath)(path.relative(appPackageFolder, pluginManifestFilePath), true));
1861
+ const addActionRes = await CopilotGptManifestUtils_1.copilotGptManifestUtils.addAction(declarativeCopilotManifestPath, actionId, (0, utils_2.normalizePath)(path.relative(appPackageFolder, pluginManifestFilePath), true));
1666
1862
  if (addActionRes.isErr()) {
1667
1863
  return (0, teamsfx_api_1.err)(addActionRes.error);
1668
1864
  }
@@ -1673,10 +1869,10 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
1673
1869
  // 2. Update teamsapp.local.yaml and teamsapp.yaml if need to add auth action
1674
1870
  const specPath = inputs[constants_3.QuestionNames.ApiSpecLocation].trim();
1675
1871
  for (const authInfo of authData) {
1676
- await (0, helper_2.injectAuthAction)(inputs.projectPath, authInfo.authName, undefined, specPath, false, authInfo.authType === "apiKey" ? "ApiKeyPluginVault" : "OAuthPluginVault", false, authInfo.registrationId);
1872
+ await openApiSpecHelper.injectAuthAction(inputs.projectPath, authInfo.authName, undefined, specPath, false, authInfo.authType === "apiKey" ? "ApiKeyPluginVault" : "OAuthPluginVault", false, authInfo.registrationId);
1677
1873
  }
1678
1874
  // 3. Update plugin manifest to add ac info (optional)
1679
- await (0, helper_2.generateAdaptiveCardInPluginManifestForKiota)(pluginManifestFilePath, specPath, context);
1875
+ await (0, helper_1.generateAdaptiveCardInPluginManifestForKiota)(pluginManifestFilePath, specPath, context);
1680
1876
  for (const action of declarativeCopilotManifest.actions) {
1681
1877
  const actionPath = path.normalize(path.join(appPackageFolder, action.file));
1682
1878
  await CopilotGptManifestUtils_1.copilotGptManifestUtils.updateConversationStarters(actionPath, declarativeCopilotManifest);
@@ -1736,7 +1932,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
1736
1932
  };
1737
1933
  }
1738
1934
  // Update openapi spec
1739
- const specParser = new m365_spec_parser_1.SpecParser(apiSpecPath, (0, helper_2.getParserOptions)(m365_spec_parser_1.ProjectType.Copilot, true));
1935
+ const specParser = new m365_spec_parser_1.SpecParser(apiSpecPath, (0, helper_1.getParserOptions)(m365_spec_parser_1.ProjectType.Copilot, true));
1740
1936
  await specParser.addAuthScheme(authName, authType, authParameters);
1741
1937
  let authTypeScheme;
1742
1938
  switch (authType) {
@@ -1752,7 +1948,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
1752
1948
  authTypeScheme = constant_1.MicrosoftEntraAuthType;
1753
1949
  break;
1754
1950
  }
1755
- const addAuthActionRes = await (0, helper_2.injectAuthAction)(inputs.projectPath, authName, undefined, apiSpecPath, true, authTypeScheme, "enablePKCE" in authParameters ? authParameters.enablePKCE : undefined);
1951
+ const addAuthActionRes = await openApiSpecHelper.injectAuthAction(inputs.projectPath, authName, undefined, apiSpecPath, true, authTypeScheme, "enablePKCE" in authParameters ? authParameters.enablePKCE : undefined);
1756
1952
  if (addAuthActionRes?.registrationIdEnvName) {
1757
1953
  const pluginManifest = (await fs_extra_1.default.readJson(pluginManifestPath));
1758
1954
  pluginManifest.runtimes?.forEach((runtime) => {
@@ -1785,17 +1981,17 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
1785
1981
  const appIdUriPlaceholder = m365_spec_parser_1.Utils.getSafeRegistrationIdEnvName(`${authName}_APPLICATION_ID_URI`);
1786
1982
  void context.userInteraction.showMessage("warn", (0, localizeUtils_1.getLocalizedString)("core.addAuthAction.microsoftEntra.message", appIdUriPlaceholder), false);
1787
1983
  }
1788
- context.telemetryReporter.sendTelemetryEvent(telemetry_1.TelemetryEvent.AddAuthAction, {
1984
+ context.telemetryReporter?.sendTelemetryEvent(telemetry_1.TelemetryEvent.AddAuthAction, {
1789
1985
  [telemetry_1.TelemetryProperty.AddAuthType]: authType,
1790
1986
  });
1791
1987
  }
1792
- catch (err) {
1793
- const error = (0, common_2.assembleError)(err);
1794
- context.telemetryReporter.sendTelemetryErrorEvent(telemetry_1.TelemetryEvent.AddAuthAction, {
1988
+ catch (e) {
1989
+ const error = (0, common_2.assembleError)(e);
1990
+ context.telemetryReporter?.sendTelemetryErrorEvent(telemetry_1.TelemetryEvent.AddAuthAction, {
1795
1991
  [telemetry_1.TelemetryProperty.ErrorCode]: error.name,
1796
1992
  [telemetry_1.TelemetryProperty.ErrorMessage]: error.message,
1797
1993
  });
1798
- return err(error);
1994
+ return (0, teamsfx_api_1.err)(error);
1799
1995
  }
1800
1996
  return (0, teamsfx_api_1.ok)(undefined);
1801
1997
  }
@@ -1832,7 +2028,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
1832
2028
  }
1833
2029
  async installAppToChannel(inputs) {
1834
2030
  const installAppDriver = typedi_1.Container.get("devChannel/installApp");
1835
- const context = (0, utils_4.createDriverContext)(inputs);
2031
+ const context = (0, utils_3.createDriverContext)(inputs);
1836
2032
  (0, globalVars_1.setErrorContext)({ component: "devChannelInstallApp" });
1837
2033
  const env = inputs.env;
1838
2034
  const readEnvRes = await envUtil_1.envUtil.readEnv(context.projectPath, env, false, false);
@@ -1855,29 +2051,48 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
1855
2051
  * dynamic template metadata download
1856
2052
  */
1857
2053
  async fetchOnlineTemplateMetadata() {
1858
- if ((0, templateHelper_1.useLocalTemplate)()) {
2054
+ if (templateHelper.useLocalTemplate()) {
1859
2055
  return (0, teamsfx_api_1.ok)(undefined); // Skip if using local templates
1860
2056
  }
1861
2057
  // Downloads the latest online template metadata (metadata.zip) into user's home .fx folder.
1862
2058
  // Caches the template version so subsequent calls avoid redundant downloads if unchanged.
1863
2059
  try {
1864
- // Determine latest template version (respect prerelease env variable similar to getTemplateVSCUrl)
1865
- const coreVersion = require("../../package.json").version;
1866
- let latestVersion = "0.0.0-rc";
1867
- if (coreVersion.includes("alpha") ||
1868
- coreVersion.includes("beta") ||
1869
- coreVersion.includes("rc")) {
1870
- // daily build, prerelease or rc
1871
- latestVersion = "0.0.0-rc";
1872
- }
1873
- else {
1874
- // stable version
1875
- latestVersion = await (0, utils_5.getTemplateLatestVersion)();
1876
- }
2060
+ const useV4Channel = featureFlags_1.featureFlagManager.getBooleanValue(featureFlags_1.FeatureFlags.V4Enabled);
1877
2061
  const homedir = os.homedir();
1878
2062
  const metadataDir = path.join(homedir, `.${String(teamsfx_api_1.ConfigFolderName)}`);
1879
2063
  await fs_extra_1.default.ensureDir(metadataDir);
1880
- const versionFile = path.join(metadataDir, "template-version.txt");
2064
+ let latestVersion;
2065
+ if (useV4Channel) {
2066
+ // V4 publishes templates-metadata.zip as a staged artifact. Resolve it
2067
+ // through the shared artifact cache and leave the legacy ~/.fx metadata
2068
+ // directory untouched so old metadata readers keep using bundled v4 data.
2069
+ const resolved = await (0, v4MetadataSource_1.resolveV4MetadataSource)();
2070
+ if (resolved.isErr()) {
2071
+ // Malformed tag list / digest mismatch are hard errors (no silent
2072
+ // fallback). An unreachable channel does not reach here — it already
2073
+ // resolved to a bundled-fallback origin handled below.
2074
+ return (0, teamsfx_api_1.err)(resolved.error);
2075
+ }
2076
+ return (0, teamsfx_api_1.ok)(undefined);
2077
+ }
2078
+ else {
2079
+ // v3: prerelease builds use the mutable rolling `0.0.0-rc` tag; stable
2080
+ // builds resolve the latest published templates version.
2081
+ const coreVersion = getCoreVersion();
2082
+ if (coreVersion.includes("alpha") ||
2083
+ coreVersion.includes("beta") ||
2084
+ coreVersion.includes("rc")) {
2085
+ latestVersion = "0.0.0-rc";
2086
+ }
2087
+ else {
2088
+ latestVersion = await generatorUtils.getTemplateLatestVersion();
2089
+ }
2090
+ }
2091
+ // Use a channel-specific cache file so flipping the flag triggers a fresh
2092
+ // download instead of a stale v3 cache hit; the v4 file's presence is also
2093
+ // the readers' signal (`useBundledMetadataForV4`) that downloaded v4
2094
+ // metadata is available.
2095
+ const versionFile = path.join(metadataDir, useV4Channel ? "template-version-v4.txt" : "template-version.txt");
1881
2096
  const needDownload = async () => {
1882
2097
  // Always re-download for mutable pre-release tags (content changes but tag stays the same)
1883
2098
  if (latestVersion === "0.0.0-rc")
@@ -1895,11 +2110,12 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
1895
2110
  if (!(await needDownload())) {
1896
2111
  return (0, teamsfx_api_1.ok)(undefined); // Already up-to-date
1897
2112
  }
1898
- // Construct metadata.zip download URL based on tag prefix and version
1899
- const tag = `${templates_config_json_1.default.tagPrefix}${latestVersion}`;
2113
+ // Construct metadata.zip download URL based on tag prefix and version.
2114
+ const tagPrefix = useV4Channel ? templates_config_json_1.default.v4tagPrefix : templates_config_json_1.default.tagPrefix;
2115
+ const tag = `${tagPrefix}${latestVersion}`;
1900
2116
  const metadataZipUrl = `${templates_config_json_1.default.templateDownloadBaseURL}/${tag}/metadata.zip`;
1901
- const zip = await (0, utils_5.fetchZipFromUrl)(metadataZipUrl);
1902
- await (0, utils_5.unzip)(zip, metadataDir);
2117
+ const zip = await generatorUtils.fetchZipFromUrl(metadataZipUrl);
2118
+ await generatorUtils.unzip(zip, metadataDir);
1903
2119
  await fs_extra_1.default.writeFile(versionFile, latestVersion, { encoding: "utf-8" });
1904
2120
  // Clear locale cache so freshly downloaded NLS files are picked up
1905
2121
  (0, localizeUtils_1.clearLocaleCache)();
@@ -1915,16 +2131,16 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
1915
2131
  * dynamic VS template metadata download
1916
2132
  */
1917
2133
  async fetchOnlineTemplateMetadataForVS() {
1918
- if ((0, templateHelper_1.useLocalTemplate)()) {
2134
+ if (templateHelper.useLocalTemplate()) {
1919
2135
  return (0, teamsfx_api_1.ok)(undefined); // Skip if using local templates
1920
2136
  }
1921
2137
  try {
1922
2138
  // VS ships stable templates with a stable fx-core and test/pre-release
1923
2139
  // templates with a beta fx-core. So beta = pre-stable test build → RC.
1924
- const coreVersion = require("../../package.json").version;
2140
+ const coreVersion = getCoreVersion();
1925
2141
  const latestVersion = coreVersion.includes("beta")
1926
2142
  ? "0.0.0-rc"
1927
- : await (0, utils_5.getTemplateVSLatestVersion)();
2143
+ : await generatorUtils.getTemplateVSLatestVersion();
1928
2144
  const homedir = os.homedir();
1929
2145
  const metadataDir = path.join(homedir, `.${String(teamsfx_api_1.ConfigFolderName)}`, "vs-metadata");
1930
2146
  await fs_extra_1.default.ensureDir(metadataDir);
@@ -1945,8 +2161,8 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
1945
2161
  }
1946
2162
  const tag = `${templates_config_json_1.default.vstagPrefix}${latestVersion}`;
1947
2163
  const metadataZipUrl = `${templates_config_json_1.default.templateDownloadBaseURL}/${tag}/metadata.zip`;
1948
- const zip = await (0, utils_5.fetchZipFromUrl)(metadataZipUrl);
1949
- await (0, utils_5.unzip)(zip, metadataDir);
2164
+ const zip = await generatorUtils.fetchZipFromUrl(metadataZipUrl);
2165
+ await generatorUtils.unzip(zip, metadataDir);
1950
2166
  await fs_extra_1.default.writeFile(versionFile, latestVersion, { encoding: "utf-8" });
1951
2167
  return (0, teamsfx_api_1.ok)(undefined);
1952
2168
  }
@@ -1964,7 +2180,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
1964
2180
  }
1965
2181
  async updateAuthActionInYaml(authName, authScheme, projectPath, apSpecPath, pluginManifestPath, forceToAddNew = true) {
1966
2182
  if (authName && authScheme) {
1967
- const authInjectRes = await (0, helper_2.injectAuthAction)(projectPath, authName, authScheme, apSpecPath, forceToAddNew);
2183
+ const authInjectRes = await openApiSpecHelper.injectAuthAction(projectPath, authName, authScheme, apSpecPath, forceToAddNew);
1968
2184
  if (authInjectRes?.defaultRegistrationIdEnvName &&
1969
2185
  authInjectRes?.registrationIdEnvName &&
1970
2186
  authInjectRes.defaultRegistrationIdEnvName !== authInjectRes.registrationIdEnvName) {
@@ -2013,7 +2229,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
2013
2229
  return (0, teamsfx_api_1.ok)((0, projectTypeChecker_1.IsDeclarativeAgentManifest)(manifestRes.value));
2014
2230
  }
2015
2231
  async addOneDriveSharePointKnowledge(inputs, agentManifestPath) {
2016
- const manifestRes = await CopilotGptManifestUtils_1.copilotGptManifestUtils.readCopilotGptManifestFile(agentManifestPath);
2232
+ const manifestRes = await (0, exports.readCopilotGptManifestFile)(agentManifestPath);
2017
2233
  if (manifestRes.isErr()) {
2018
2234
  return (0, teamsfx_api_1.err)(manifestRes.error);
2019
2235
  }
@@ -2041,7 +2257,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
2041
2257
  return (0, teamsfx_api_1.ok)(undefined);
2042
2258
  }
2043
2259
  async addWebSearchKnowledge(context, inputs, agentManifestPath) {
2044
- const manifestRes = await CopilotGptManifestUtils_1.copilotGptManifestUtils.readCopilotGptManifestFile(agentManifestPath);
2260
+ const manifestRes = await (0, exports.readCopilotGptManifestFile)(agentManifestPath);
2045
2261
  if (manifestRes.isErr()) {
2046
2262
  return (0, teamsfx_api_1.err)(manifestRes.error);
2047
2263
  }
@@ -2058,7 +2274,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
2058
2274
  return (0, teamsfx_api_1.ok)(undefined);
2059
2275
  }
2060
2276
  async addGCKnowledge(inputs, agentManifestPath) {
2061
- const manifestRes = await CopilotGptManifestUtils_1.copilotGptManifestUtils.readCopilotGptManifestFile(agentManifestPath);
2277
+ const manifestRes = await (0, exports.readCopilotGptManifestFile)(agentManifestPath);
2062
2278
  if (manifestRes.isErr()) {
2063
2279
  return (0, teamsfx_api_1.err)(manifestRes.error);
2064
2280
  }
@@ -2093,7 +2309,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
2093
2309
  .showMessage("info", successMessage, false, viewAgentManifest)
2094
2310
  .then((userRes) => {
2095
2311
  if (userRes.isOk() && userRes.value === viewAgentManifest) {
2096
- context.telemetryReporter.sendTelemetryEvent(telemetry_1.TelemetryEvent.ViewAgentManifestAfterAdded);
2312
+ context.telemetryReporter?.sendTelemetryEvent(telemetry_1.TelemetryEvent.ViewAgentManifestAfterAdded);
2097
2313
  void globalVars_1.TOOLS?.ui?.openFile?.(agentManifestPath);
2098
2314
  }
2099
2315
  });
@@ -2115,6 +2331,15 @@ tslib_1.__decorate([
2115
2331
  tslib_1.__metadata("design:paramtypes", [Object]),
2116
2332
  tslib_1.__metadata("design:returntype", Promise)
2117
2333
  ], FxCore.prototype, "createProject", null);
2334
+ tslib_1.__decorate([
2335
+ (0, hooks_1.hooks)([
2336
+ (0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: "createProjectFrontDoor", reset: true }),
2337
+ errorHandler_1.ErrorHandlerMW,
2338
+ ]),
2339
+ tslib_1.__metadata("design:type", Function),
2340
+ tslib_1.__metadata("design:paramtypes", [Object]),
2341
+ tslib_1.__metadata("design:returntype", Promise)
2342
+ ], FxCore.prototype, "createProjectFrontDoor", null);
2118
2343
  tslib_1.__decorate([
2119
2344
  (0, hooks_1.hooks)([
2120
2345
  (0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: "createProjectFromTdp", reset: true }),
@@ -2152,7 +2377,6 @@ tslib_1.__decorate([
2152
2377
  (0, hooks_1.hooks)([
2153
2378
  (0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: "provision", reset: true }),
2154
2379
  errorHandler_1.ErrorHandlerMW,
2155
- projectMigratorV3_1.ProjectMigratorMWV3,
2156
2380
  (0, envMW_1.EnvLoaderMW)(false),
2157
2381
  concurrentLocker_1.ConcurrentLockerMW,
2158
2382
  contextInjector_1.ContextInjectorMW,
@@ -2166,7 +2390,6 @@ tslib_1.__decorate([
2166
2390
  (0, hooks_1.hooks)([
2167
2391
  (0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: "uninstall", reset: true }),
2168
2392
  errorHandler_1.ErrorHandlerMW,
2169
- projectMigratorV3_1.ProjectMigratorMWV3,
2170
2393
  (0, questionMW_1.QuestionMW)("uninstall"),
2171
2394
  ]),
2172
2395
  tslib_1.__metadata("design:type", Function),
@@ -2210,7 +2433,7 @@ tslib_1.__decorate([
2210
2433
  errorHandler_1.ErrorHandlerMW,
2211
2434
  ]),
2212
2435
  tslib_1.__metadata("design:type", Function),
2213
- tslib_1.__metadata("design:paramtypes", [String, String]),
2436
+ tslib_1.__metadata("design:paramtypes", [String, String, AbortSignal]),
2214
2437
  tslib_1.__metadata("design:returntype", Promise)
2215
2438
  ], FxCore.prototype, "uninstallM365App", null);
2216
2439
  tslib_1.__decorate([
@@ -2219,7 +2442,7 @@ tslib_1.__decorate([
2219
2442
  errorHandler_1.ErrorHandlerMW,
2220
2443
  ]),
2221
2444
  tslib_1.__metadata("design:type", Function),
2222
- tslib_1.__metadata("design:paramtypes", [String]),
2445
+ tslib_1.__metadata("design:paramtypes", [String, AbortSignal]),
2223
2446
  tslib_1.__metadata("design:returntype", Promise)
2224
2447
  ], FxCore.prototype, "uninstallAppRegistration", null);
2225
2448
  tslib_1.__decorate([
@@ -2228,14 +2451,13 @@ tslib_1.__decorate([
2228
2451
  errorHandler_1.ErrorHandlerMW,
2229
2452
  ]),
2230
2453
  tslib_1.__metadata("design:type", Function),
2231
- tslib_1.__metadata("design:paramtypes", [String, String]),
2454
+ tslib_1.__metadata("design:paramtypes", [String, String, AbortSignal]),
2232
2455
  tslib_1.__metadata("design:returntype", Promise)
2233
2456
  ], FxCore.prototype, "uninstallBotFrameworRegistration", null);
2234
2457
  tslib_1.__decorate([
2235
2458
  (0, hooks_1.hooks)([
2236
2459
  (0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: "deploy", reset: true }),
2237
2460
  errorHandler_1.ErrorHandlerMW,
2238
- projectMigratorV3_1.ProjectMigratorMWV3,
2239
2461
  (0, envMW_1.EnvLoaderMW)(false),
2240
2462
  concurrentLocker_1.ConcurrentLockerMW,
2241
2463
  contextInjector_1.ContextInjectorMW,
@@ -2255,7 +2477,6 @@ tslib_1.__decorate([
2255
2477
  (0, hooks_1.hooks)([
2256
2478
  (0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: "deployAadManifest", reset: true }),
2257
2479
  errorHandler_1.ErrorHandlerMW,
2258
- projectMigratorV3_1.ProjectMigratorMWV3,
2259
2480
  (0, questionMW_1.QuestionMW)("deployAadManifest"),
2260
2481
  (0, envMW_1.EnvLoaderMW)(true, true),
2261
2482
  concurrentLocker_1.ConcurrentLockerMW,
@@ -2270,7 +2491,6 @@ tslib_1.__decorate([
2270
2491
  (0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: "addWebpart", reset: true }),
2271
2492
  errorHandler_1.ErrorHandlerMW,
2272
2493
  (0, questionMW_1.QuestionMW)("addWebpart"),
2273
- projectMigratorV3_1.ProjectMigratorMWV3,
2274
2494
  concurrentLocker_1.ConcurrentLockerMW,
2275
2495
  ]),
2276
2496
  tslib_1.__metadata("design:type", Function),
@@ -2281,7 +2501,6 @@ tslib_1.__decorate([
2281
2501
  (0, hooks_1.hooks)([
2282
2502
  (0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: "publish", reset: true }),
2283
2503
  errorHandler_1.ErrorHandlerMW,
2284
- projectMigratorV3_1.ProjectMigratorMWV3,
2285
2504
  (0, envMW_1.EnvLoaderMW)(false),
2286
2505
  concurrentLocker_1.ConcurrentLockerMW,
2287
2506
  contextInjector_1.ContextInjectorMW,
@@ -2296,7 +2515,6 @@ tslib_1.__decorate([
2296
2515
  (0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: "share", reset: true }),
2297
2516
  errorHandler_1.ErrorHandlerMW,
2298
2517
  (0, questionMW_1.QuestionMW)("removeSharedAccess"),
2299
- projectMigratorV3_1.ProjectMigratorMWV3,
2300
2518
  (0, envMW_1.EnvLoaderMW)(false),
2301
2519
  concurrentLocker_1.ConcurrentLockerMW,
2302
2520
  contextInjector_1.ContextInjectorMW,
@@ -2310,7 +2528,6 @@ tslib_1.__decorate([
2310
2528
  (0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: "share", reset: true }),
2311
2529
  errorHandler_1.ErrorHandlerMW,
2312
2530
  (0, questionMW_1.QuestionMW)("share"),
2313
- projectMigratorV3_1.ProjectMigratorMWV3,
2314
2531
  (0, envMW_1.EnvLoaderMW)(false),
2315
2532
  concurrentLocker_1.ConcurrentLockerMW,
2316
2533
  contextInjector_1.ContextInjectorMW,
@@ -2324,7 +2541,6 @@ tslib_1.__decorate([
2324
2541
  (0, hooks_1.hooks)([
2325
2542
  (0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: "executeUserTask", reset: true }),
2326
2543
  errorHandler_1.ErrorHandlerMW,
2327
- projectMigratorV3_1.ProjectMigratorMWV3,
2328
2544
  (0, envMW_1.EnvLoaderMW)(false),
2329
2545
  concurrentLocker_1.ConcurrentLockerMW,
2330
2546
  ]),
@@ -2336,7 +2552,6 @@ tslib_1.__decorate([
2336
2552
  (0, hooks_1.hooks)([
2337
2553
  (0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: "buildAadManifest", reset: true }),
2338
2554
  errorHandler_1.ErrorHandlerMW,
2339
- projectMigratorV3_1.ProjectMigratorMWV3,
2340
2555
  (0, envMW_1.EnvLoaderMW)(false),
2341
2556
  concurrentLocker_1.ConcurrentLockerMW,
2342
2557
  ]),
@@ -2358,7 +2573,6 @@ tslib_1.__decorate([
2358
2573
  (0, hooks_1.hooks)([
2359
2574
  (0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: "deployTeamsManifest", reset: true }),
2360
2575
  errorHandler_1.ErrorHandlerMW,
2361
- projectMigratorV3_1.ProjectMigratorMWV3,
2362
2576
  (0, questionMW_1.QuestionMW)("selectTeamsAppManifest"),
2363
2577
  (0, envMW_1.EnvLoaderMW)(true),
2364
2578
  concurrentLocker_1.ConcurrentLockerMW,
@@ -2523,7 +2737,6 @@ tslib_1.__decorate([
2523
2737
  (0, hooks_1.hooks)([
2524
2738
  (0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: "grantPermission", reset: true }),
2525
2739
  errorHandler_1.ErrorHandlerMW,
2526
- projectMigratorV3_1.ProjectMigratorMWV3,
2527
2740
  (0, questionMW_1.QuestionMW)("grantPermission"),
2528
2741
  (0, envMW_1.EnvLoaderMW)(false, true),
2529
2742
  concurrentLocker_1.ConcurrentLockerMW,
@@ -2537,7 +2750,6 @@ tslib_1.__decorate([
2537
2750
  (0, hooks_1.hooks)([
2538
2751
  (0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: "checkPermission", reset: true }),
2539
2752
  errorHandler_1.ErrorHandlerMW,
2540
- projectMigratorV3_1.ProjectMigratorMWV3,
2541
2753
  (0, questionMW_1.QuestionMW)("listCollaborator"),
2542
2754
  (0, envMW_1.EnvLoaderMW)(false, true),
2543
2755
  concurrentLocker_1.ConcurrentLockerMW,
@@ -2551,7 +2763,6 @@ tslib_1.__decorate([
2551
2763
  (0, hooks_1.hooks)([
2552
2764
  (0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: "listCollaborator", reset: true }),
2553
2765
  errorHandler_1.ErrorHandlerMW,
2554
- projectMigratorV3_1.ProjectMigratorMWV3,
2555
2766
  (0, questionMW_1.QuestionMW)("listCollaborator"),
2556
2767
  (0, envMW_1.EnvLoaderMW)(false, true),
2557
2768
  concurrentLocker_1.ConcurrentLockerMW,
@@ -2600,18 +2811,6 @@ tslib_1.__decorate([
2600
2811
  tslib_1.__metadata("design:paramtypes", [Object]),
2601
2812
  tslib_1.__metadata("design:returntype", Promise)
2602
2813
  ], FxCore.prototype, "createEnv", null);
2603
- tslib_1.__decorate([
2604
- (0, hooks_1.hooks)([(0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: "phantomMigrationV3", reset: true })]),
2605
- tslib_1.__metadata("design:type", Function),
2606
- tslib_1.__metadata("design:paramtypes", [Object]),
2607
- tslib_1.__metadata("design:returntype", Promise)
2608
- ], FxCore.prototype, "phantomMigrationV3", null);
2609
- tslib_1.__decorate([
2610
- (0, hooks_1.hooks)([errorHandler_1.ErrorHandlerMW, projectMigratorV3_1.ProjectMigratorMWV3]),
2611
- tslib_1.__metadata("design:type", Function),
2612
- tslib_1.__metadata("design:paramtypes", [Object]),
2613
- tslib_1.__metadata("design:returntype", Object)
2614
- ], FxCore.prototype, "innerMigrationV3", null);
2615
2814
  tslib_1.__decorate([
2616
2815
  (0, hooks_1.hooks)([
2617
2816
  (0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: "projectVersionCheck", reset: true }),
@@ -2625,7 +2824,6 @@ tslib_1.__decorate([
2625
2824
  (0, hooks_1.hooks)([
2626
2825
  (0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: "preProvisionForVS" }),
2627
2826
  errorHandler_1.ErrorHandlerMW,
2628
- projectMigratorV3_1.ProjectMigratorMWV3,
2629
2827
  (0, envMW_1.EnvLoaderMW)(false),
2630
2828
  concurrentLocker_1.ConcurrentLockerMW,
2631
2829
  contextInjector_1.ContextInjectorMW,
@@ -2638,7 +2836,6 @@ tslib_1.__decorate([
2638
2836
  (0, hooks_1.hooks)([
2639
2837
  (0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: "preCheckYmlAndEnvForVS" }),
2640
2838
  errorHandler_1.ErrorHandlerMW,
2641
- projectMigratorV3_1.ProjectMigratorMWV3,
2642
2839
  (0, envMW_1.EnvLoaderMW)(false),
2643
2840
  concurrentLocker_1.ConcurrentLockerMW,
2644
2841
  contextInjector_1.ContextInjectorMW,
@@ -2693,17 +2890,6 @@ tslib_1.__decorate([
2693
2890
  tslib_1.__metadata("design:paramtypes", [String]),
2694
2891
  tslib_1.__metadata("design:returntype", Promise)
2695
2892
  ], FxCore.prototype, "checkProjectType", null);
2696
- tslib_1.__decorate([
2697
- (0, hooks_1.hooks)([
2698
- (0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: teamsfx_api_1.Stage.addPlugin }),
2699
- errorHandler_1.ErrorHandlerMW,
2700
- (0, questionMW_1.QuestionMW)("addPlugin"),
2701
- concurrentLocker_1.ConcurrentLockerMW,
2702
- ]),
2703
- tslib_1.__metadata("design:type", Function),
2704
- tslib_1.__metadata("design:paramtypes", [Object]),
2705
- tslib_1.__metadata("design:returntype", Promise)
2706
- ], FxCore.prototype, "addPlugin", null);
2707
2893
  tslib_1.__decorate([
2708
2894
  (0, hooks_1.hooks)([
2709
2895
  (0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: teamsfx_api_1.Stage.RegeneratePlugin }),
@@ -2717,25 +2903,26 @@ tslib_1.__decorate([
2717
2903
  ], FxCore.prototype, "regeneratePlugin", null);
2718
2904
  tslib_1.__decorate([
2719
2905
  (0, hooks_1.hooks)([
2720
- (0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: teamsfx_api_1.Stage.metaOSExtendToDA }),
2906
+ (0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: teamsfx_api_1.Stage.addKnowledge }),
2721
2907
  errorHandler_1.ErrorHandlerMW,
2722
- (0, questionMW_1.QuestionMW)("metaOSExtendToDA"),
2908
+ (0, questionMW_1.QuestionMW)("addKnowledge"),
2909
+ concurrentLocker_1.ConcurrentLockerMW,
2723
2910
  ]),
2724
2911
  tslib_1.__metadata("design:type", Function),
2725
- tslib_1.__metadata("design:paramtypes", [Object, String]),
2912
+ tslib_1.__metadata("design:paramtypes", [Object]),
2726
2913
  tslib_1.__metadata("design:returntype", Promise)
2727
- ], FxCore.prototype, "metaOSExtendToDA", null);
2914
+ ], FxCore.prototype, "addKnowledge", null);
2728
2915
  tslib_1.__decorate([
2729
2916
  (0, hooks_1.hooks)([
2730
- (0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: teamsfx_api_1.Stage.addKnowledge }),
2917
+ (0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: teamsfx_api_1.Stage.addSkill }),
2731
2918
  errorHandler_1.ErrorHandlerMW,
2732
- (0, questionMW_1.QuestionMW)("addKnowledge"),
2919
+ (0, questionMW_1.QuestionMW)("addSkill"),
2733
2920
  concurrentLocker_1.ConcurrentLockerMW,
2734
2921
  ]),
2735
2922
  tslib_1.__metadata("design:type", Function),
2736
2923
  tslib_1.__metadata("design:paramtypes", [Object]),
2737
2924
  tslib_1.__metadata("design:returntype", Promise)
2738
- ], FxCore.prototype, "addKnowledge", null);
2925
+ ], FxCore.prototype, "addSkill", null);
2739
2926
  tslib_1.__decorate([
2740
2927
  (0, hooks_1.hooks)([
2741
2928
  (0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: "getODSPItemDetails", reset: true }),