@microsoft/teamsfx-core 3.0.9-rc.1 → 3.0.10-alpha.08ea48cc3.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 (325) hide show
  1. package/build/client/graphClient.d.ts +1 -0
  2. package/build/client/graphClient.d.ts.map +1 -1
  3. package/build/client/teamsDevPortalClient.d.ts +1 -0
  4. package/build/client/teamsDevPortalClient.d.ts.map +1 -1
  5. package/build/common/featureFlags.d.ts +9 -50
  6. package/build/common/featureFlags.d.ts.map +1 -1
  7. package/build/common/featureFlags.js +12 -42
  8. package/build/common/featureFlags.js.map +1 -1
  9. package/build/common/localizeUtils.d.ts.map +1 -1
  10. package/build/common/localizeUtils.js +36 -12
  11. package/build/common/localizeUtils.js.map +1 -1
  12. package/build/common/telemetry.d.ts +2 -0
  13. package/build/common/telemetry.d.ts.map +1 -1
  14. package/build/common/telemetry.js +2 -0
  15. package/build/common/telemetry.js.map +1 -1
  16. package/build/common/templates-config.json +4 -4
  17. package/build/component/constants.d.ts +1 -0
  18. package/build/component/constants.d.ts.map +1 -1
  19. package/build/component/constants.js +2 -1
  20. package/build/component/constants.js.map +1 -1
  21. package/build/component/coordinator/index.d.ts.map +1 -1
  22. package/build/component/coordinator/index.js +0 -11
  23. package/build/component/coordinator/index.js.map +1 -1
  24. package/build/component/deps-checker/internal/dotnetChecker.d.ts +5 -1
  25. package/build/component/deps-checker/internal/dotnetChecker.d.ts.map +1 -1
  26. package/build/component/deps-checker/internal/dotnetChecker.js +16 -8
  27. package/build/component/deps-checker/internal/dotnetChecker.js.map +1 -1
  28. package/build/component/driver/deploy/spfx/utility/spoClient.d.ts +1 -0
  29. package/build/component/driver/deploy/spfx/utility/spoClient.d.ts.map +1 -1
  30. package/build/component/driver/devTool/httpClient.d.ts +1 -0
  31. package/build/component/driver/devTool/httpClient.d.ts.map +1 -1
  32. package/build/component/driver/devTool/nodeInstaller.d.ts +1 -0
  33. package/build/component/driver/devTool/nodeInstaller.d.ts.map +1 -1
  34. package/build/component/driver/script/scriptDriver.d.ts +1 -0
  35. package/build/component/driver/script/scriptDriver.d.ts.map +1 -1
  36. package/build/component/driver/script/scriptDriver.js +1 -1
  37. package/build/component/driver/script/scriptDriver.js.map +1 -1
  38. package/build/component/driver/share/utils.d.ts.map +1 -1
  39. package/build/component/driver/share/utils.js +6 -0
  40. package/build/component/driver/share/utils.js.map +1 -1
  41. package/build/component/driver/teamsApp/constants.d.ts +1 -1
  42. package/build/component/driver/teamsApp/constants.d.ts.map +1 -1
  43. package/build/component/driver/teamsApp/constants.js +2 -2
  44. package/build/component/driver/teamsApp/constants.js.map +1 -1
  45. package/build/component/driver/teamsApp/copyAppPackageToSPFx.d.ts +1 -0
  46. package/build/component/driver/teamsApp/copyAppPackageToSPFx.d.ts.map +1 -1
  47. package/build/component/driver/teamsApp/createAppPackage.d.ts.map +1 -1
  48. package/build/component/driver/teamsApp/createAppPackage.js +12 -1
  49. package/build/component/driver/teamsApp/createAppPackage.js.map +1 -1
  50. package/build/component/driver/teamsApp/interfaces/appdefinitions/appPackage.d.ts +1 -0
  51. package/build/component/driver/teamsApp/interfaces/appdefinitions/appPackage.d.ts.map +1 -1
  52. package/build/component/driver/teamsApp/publishAppPackage.d.ts +2 -0
  53. package/build/component/driver/teamsApp/publishAppPackage.d.ts.map +1 -1
  54. package/build/component/driver/teamsApp/publishAppPackage.js +79 -4
  55. package/build/component/driver/teamsApp/publishAppPackage.js.map +1 -1
  56. package/build/component/driver/teamsApp/utils/ManifestUtils.d.ts +1 -0
  57. package/build/component/driver/teamsApp/utils/ManifestUtils.d.ts.map +1 -1
  58. package/build/component/driver/teamsApp/utils/ManifestUtils.js +7 -8
  59. package/build/component/driver/teamsApp/utils/ManifestUtils.js.map +1 -1
  60. package/build/component/driver/teamsApp/utils/PluginManifestUtils.d.ts +20 -0
  61. package/build/component/driver/teamsApp/utils/PluginManifestUtils.d.ts.map +1 -1
  62. package/build/component/driver/teamsApp/utils/PluginManifestUtils.js +152 -2
  63. package/build/component/driver/teamsApp/utils/PluginManifestUtils.js.map +1 -1
  64. package/build/component/generator/configFiles/configGenerator.d.ts +15 -0
  65. package/build/component/generator/configFiles/configGenerator.d.ts.map +1 -0
  66. package/build/component/generator/configFiles/configGenerator.js +167 -0
  67. package/build/component/generator/configFiles/configGenerator.js.map +1 -0
  68. package/build/component/generator/configFiles/copyPolicy.d.ts +10 -0
  69. package/build/component/generator/configFiles/copyPolicy.d.ts.map +1 -0
  70. package/build/component/generator/configFiles/copyPolicy.js +42 -0
  71. package/build/component/generator/configFiles/copyPolicy.js.map +1 -0
  72. package/build/component/generator/configFiles/jsonMerger.d.ts +11 -0
  73. package/build/component/generator/configFiles/jsonMerger.d.ts.map +1 -0
  74. package/build/component/generator/configFiles/jsonMerger.js +83 -0
  75. package/build/component/generator/configFiles/jsonMerger.js.map +1 -0
  76. package/build/component/generator/configFiles/renderTemplate.d.ts +2 -0
  77. package/build/component/generator/configFiles/renderTemplate.d.ts.map +1 -0
  78. package/build/component/generator/configFiles/renderTemplate.js +16 -0
  79. package/build/component/generator/configFiles/renderTemplate.js.map +1 -0
  80. package/build/component/generator/declarativeAgent/generator.d.ts +5 -0
  81. package/build/component/generator/declarativeAgent/generator.d.ts.map +1 -1
  82. package/build/component/generator/declarativeAgent/generator.js +78 -28
  83. package/build/component/generator/declarativeAgent/generator.js.map +1 -1
  84. package/build/component/generator/declarativeAgent/helper.d.ts.map +1 -1
  85. package/build/component/generator/declarativeAgent/helper.js +0 -1
  86. package/build/component/generator/declarativeAgent/helper.js.map +1 -1
  87. package/build/component/generator/generator.d.ts.map +1 -1
  88. package/build/component/generator/generator.js +3 -13
  89. package/build/component/generator/generator.js.map +1 -1
  90. package/build/component/generator/generatorAction.d.ts +1 -0
  91. package/build/component/generator/generatorAction.d.ts.map +1 -1
  92. package/build/component/generator/officeAddin/generator.d.ts.map +1 -1
  93. package/build/component/generator/officeAddin/generator.js +6 -4
  94. package/build/component/generator/officeAddin/generator.js.map +1 -1
  95. package/build/component/generator/officeAddin/metaOSHelper.d.ts.map +1 -1
  96. package/build/component/generator/officeAddin/metaOSHelper.js +13 -6
  97. package/build/component/generator/officeAddin/metaOSHelper.js.map +1 -1
  98. package/build/component/generator/openApiSpec/common.d.ts.map +1 -1
  99. package/build/component/generator/openApiSpec/common.js +11 -22
  100. package/build/component/generator/openApiSpec/common.js.map +1 -1
  101. package/build/component/generator/openApiSpec/kiota.d.ts +0 -6
  102. package/build/component/generator/openApiSpec/kiota.d.ts.map +1 -1
  103. package/build/component/generator/openApiSpec/kiota.js +2 -17
  104. package/build/component/generator/openApiSpec/kiota.js.map +1 -1
  105. package/build/component/generator/templates/metadata/index.d.ts.map +1 -1
  106. package/build/component/generator/templates/metadata/index.js +21 -25
  107. package/build/component/generator/templates/metadata/index.js.map +1 -1
  108. package/build/component/generator/templates/templateInfo.d.ts +1 -1
  109. package/build/component/generator/templates/templateInfo.d.ts.map +1 -1
  110. package/build/component/generator/templates/templateNames.d.ts +1 -0
  111. package/build/component/generator/templates/templateNames.d.ts.map +1 -1
  112. package/build/component/generator/templates/templateNames.js +1 -0
  113. package/build/component/generator/templates/templateNames.js.map +1 -1
  114. package/build/component/generator/templates/templateReplaceMap.d.ts.map +1 -1
  115. package/build/component/generator/templates/templateReplaceMap.js +2 -12
  116. package/build/component/generator/templates/templateReplaceMap.js.map +1 -1
  117. package/build/component/generator/utils.d.ts +3 -2
  118. package/build/component/generator/utils.d.ts.map +1 -1
  119. package/build/component/generator/utils.js.map +1 -1
  120. package/build/component/m365/packageService.d.ts.map +1 -1
  121. package/build/component/m365/packageService.js +16 -20
  122. package/build/component/m365/packageService.js.map +1 -1
  123. package/build/component/middleware/envMW.d.ts.map +1 -1
  124. package/build/component/middleware/envMW.js +7 -0
  125. package/build/component/middleware/envMW.js.map +1 -1
  126. package/build/component/utils/envUtil.d.ts +1 -0
  127. package/build/component/utils/envUtil.d.ts.map +1 -1
  128. package/build/component/utils/odrProvider.d.ts +49 -0
  129. package/build/component/utils/odrProvider.d.ts.map +1 -0
  130. package/build/component/utils/odrProvider.js +100 -0
  131. package/build/component/utils/odrProvider.js.map +1 -0
  132. package/build/component/utils/pathUtils.d.ts +2 -1
  133. package/build/component/utils/pathUtils.d.ts.map +1 -1
  134. package/build/component/utils/pathUtils.js +19 -3
  135. package/build/component/utils/pathUtils.js.map +1 -1
  136. package/build/component/utils/settingsUtil.d.ts +1 -1
  137. package/build/component/utils/settingsUtil.d.ts.map +1 -1
  138. package/build/component/utils/settingsUtil.js +20 -7
  139. package/build/component/utils/settingsUtil.js.map +1 -1
  140. package/build/core/FxCore.d.ts +10 -3
  141. package/build/core/FxCore.d.ts.map +1 -1
  142. package/build/core/FxCore.declarativeAgent.d.ts +6 -0
  143. package/build/core/FxCore.declarativeAgent.d.ts.map +1 -0
  144. package/build/core/FxCore.declarativeAgent.js +210 -0
  145. package/build/core/FxCore.declarativeAgent.js.map +1 -0
  146. package/build/core/FxCore.js +99 -208
  147. package/build/core/FxCore.js.map +1 -1
  148. package/build/core/generateConfigFiles.d.ts +4 -0
  149. package/build/core/generateConfigFiles.d.ts.map +1 -0
  150. package/build/core/generateConfigFiles.js +61 -0
  151. package/build/core/generateConfigFiles.js.map +1 -0
  152. package/build/core/middleware/projectSettingsLoader.d.ts.map +1 -1
  153. package/build/core/middleware/projectSettingsLoader.js +8 -2
  154. package/build/core/middleware/projectSettingsLoader.js.map +1 -1
  155. package/build/index.d.ts +2 -1
  156. package/build/index.d.ts.map +1 -1
  157. package/build/index.js +5 -5
  158. package/build/index.js.map +1 -1
  159. package/build/question/collaborator.d.ts.map +1 -1
  160. package/build/question/collaborator.js +5 -8
  161. package/build/question/collaborator.js.map +1 -1
  162. package/build/question/constants.d.ts.map +1 -1
  163. package/build/question/constants.js +1 -3
  164. package/build/question/constants.js.map +1 -1
  165. package/build/question/inputs/CreateProjectInputs.d.ts +1 -15
  166. package/build/question/inputs/CreateProjectInputs.d.ts.map +1 -1
  167. package/build/question/options/CreateProjectOptions.d.ts +1 -1
  168. package/build/question/options/CreateProjectOptions.d.ts.map +1 -1
  169. package/build/question/options/CreateProjectOptions.js +0 -56
  170. package/build/question/options/CreateProjectOptions.js.map +1 -1
  171. package/build/question/other.d.ts.map +1 -1
  172. package/build/question/other.js +7 -8
  173. package/build/question/other.js.map +1 -1
  174. package/build/question/questionNames.d.ts +3 -0
  175. package/build/question/questionNames.d.ts.map +1 -1
  176. package/build/question/questionNames.js +3 -0
  177. package/build/question/questionNames.js.map +1 -1
  178. package/build/question/scaffold/commonNodes.d.ts +7 -0
  179. package/build/question/scaffold/commonNodes.d.ts.map +1 -0
  180. package/build/question/scaffold/commonNodes.js +154 -0
  181. package/build/question/scaffold/commonNodes.js.map +1 -0
  182. package/build/question/scaffold/constructNode.d.ts +3 -0
  183. package/build/question/scaffold/constructNode.d.ts.map +1 -0
  184. package/build/question/scaffold/constructNode.js +50 -0
  185. package/build/question/scaffold/constructNode.js.map +1 -0
  186. package/build/question/scaffold/vs/createRootNode.d.ts +1 -0
  187. package/build/question/scaffold/vs/createRootNode.d.ts.map +1 -1
  188. package/build/question/scaffold/vs/createRootNode.js +14 -16
  189. package/build/question/scaffold/vs/createRootNode.js.map +1 -1
  190. package/build/question/scaffold/vsc/ProjectTypeOptions.d.ts +0 -1
  191. package/build/question/scaffold/vsc/ProjectTypeOptions.d.ts.map +1 -1
  192. package/build/question/scaffold/vsc/ProjectTypeOptions.js +1 -14
  193. package/build/question/scaffold/vsc/ProjectTypeOptions.js.map +1 -1
  194. package/build/question/scaffold/vsc/createFromTdpNode.js +1 -1
  195. package/build/question/scaffold/vsc/createFromTdpNode.js.map +1 -1
  196. package/build/question/scaffold/vsc/createRootNode.d.ts +0 -7
  197. package/build/question/scaffold/vsc/createRootNode.d.ts.map +1 -1
  198. package/build/question/scaffold/vsc/createRootNode.js +4 -77
  199. package/build/question/scaffold/vsc/createRootNode.js.map +1 -1
  200. package/build/question/scaffold/vsc/customEngineAgentNode.d.ts +1 -1
  201. package/build/question/scaffold/vsc/customEngineAgentNode.d.ts.map +1 -1
  202. package/build/question/scaffold/vsc/customEngineAgentNode.js +22 -24
  203. package/build/question/scaffold/vsc/customEngineAgentNode.js.map +1 -1
  204. package/build/question/scaffold/vsc/daProjectTypeNode.d.ts.map +1 -1
  205. package/build/question/scaffold/vsc/daProjectTypeNode.js +4 -4
  206. package/build/question/scaffold/vsc/daProjectTypeNode.js.map +1 -1
  207. package/build/question/scaffold/vsc/officeAddinProjectTypeNode.d.ts +0 -1
  208. package/build/question/scaffold/vsc/officeAddinProjectTypeNode.d.ts.map +1 -1
  209. package/build/question/scaffold/vsc/officeAddinProjectTypeNode.js +2 -51
  210. package/build/question/scaffold/vsc/officeAddinProjectTypeNode.js.map +1 -1
  211. package/build/question/scaffold/vsc/teamsProjectTypeNode.d.ts +4 -7
  212. package/build/question/scaffold/vsc/teamsProjectTypeNode.d.ts.map +1 -1
  213. package/build/question/scaffold/vsc/teamsProjectTypeNode.js +96 -202
  214. package/build/question/scaffold/vsc/teamsProjectTypeNode.js.map +1 -1
  215. package/build/ui/visitor.d.ts.map +1 -1
  216. package/build/ui/visitor.js +5 -0
  217. package/build/ui/visitor.js.map +1 -1
  218. package/package.json +6 -6
  219. package/resource/package.nls.cs.json +116 -84
  220. package/resource/package.nls.de.json +126 -94
  221. package/resource/package.nls.es.json +126 -94
  222. package/resource/package.nls.fr.json +114 -82
  223. package/resource/package.nls.it.json +127 -95
  224. package/resource/package.nls.ja.json +115 -83
  225. package/resource/package.nls.json +16 -27
  226. package/resource/package.nls.ko.json +123 -91
  227. package/resource/package.nls.pl.json +125 -93
  228. package/resource/package.nls.pt-BR.json +122 -90
  229. package/resource/package.nls.ru.json +116 -84
  230. package/resource/package.nls.tr.json +113 -81
  231. package/resource/package.nls.zh-Hans.json +114 -82
  232. package/resource/package.nls.zh-Hant.json +120 -88
  233. package/resource/templates/package.nls.cs.json +33 -0
  234. package/resource/templates/package.nls.de.json +33 -0
  235. package/resource/templates/package.nls.es.json +33 -0
  236. package/resource/templates/package.nls.fr.json +33 -0
  237. package/resource/templates/package.nls.it.json +33 -0
  238. package/resource/templates/package.nls.ja.json +33 -0
  239. package/resource/templates/package.nls.json +33 -0
  240. package/resource/templates/package.nls.ko.json +33 -0
  241. package/resource/templates/package.nls.pl.json +33 -0
  242. package/resource/templates/package.nls.pt-BR.json +33 -0
  243. package/resource/templates/package.nls.ru.json +33 -0
  244. package/resource/templates/package.nls.tr.json +33 -0
  245. package/resource/templates/package.nls.zh-Hans.json +33 -0
  246. package/resource/templates/package.nls.zh-Hant.json +33 -0
  247. package/resource/templates/package.nls.zh-cn.json +21 -0
  248. package/resource/templates/package.nls.zh-tw.json +21 -0
  249. package/templates/configs/local/python/.vscode/launch.json.tpl +93 -0
  250. package/templates/configs/local/python/.vscode/tasks.json.tpl +103 -0
  251. package/templates/configs/local/python/env/.env.local +6 -0
  252. package/templates/configs/local/python/m365agents.local.yml.tpl +121 -0
  253. package/templates/configs/local/typescript/.gitignore +1 -0
  254. package/templates/configs/local/typescript/.vscode/launch.json.tpl +147 -0
  255. package/templates/configs/local/typescript/.vscode/tasks.json.tpl +129 -0
  256. package/templates/configs/local/typescript/env/.env.local +6 -0
  257. package/templates/configs/local/typescript/m365agents.local.yml.tpl +129 -0
  258. package/templates/configs/local/typescript/package.json +8 -0
  259. package/templates/configs/playground/python/.vscode/launch.json +46 -0
  260. package/templates/configs/playground/python/.vscode/tasks.json +35 -0
  261. package/templates/configs/playground/python/env/.env.playground +7 -0
  262. package/templates/configs/playground/python/m365agents.playground.yml +14 -0
  263. package/templates/configs/playground/typescript/.gitignore +4 -0
  264. package/templates/configs/playground/typescript/.localConfigs.playground +0 -0
  265. package/templates/configs/playground/typescript/.vscode/launch.json +31 -0
  266. package/templates/configs/playground/typescript/.vscode/tasks.json +104 -0
  267. package/templates/configs/playground/typescript/env/.env.playground +7 -0
  268. package/templates/configs/playground/typescript/env/.env.playground.user +0 -0
  269. package/templates/configs/playground/typescript/m365agents.playground.yml +23 -0
  270. package/templates/configs/playground/typescript/package.json +9 -0
  271. package/templates/fallback/common.zip +0 -0
  272. package/templates/fallback/csharp.zip +0 -0
  273. package/templates/fallback/js.zip +0 -0
  274. package/templates/fallback/python.zip +0 -0
  275. package/templates/fallback/ts.zip +0 -0
  276. package/templates/metadata/allTemplates.json +429 -0
  277. package/templates/metadata/defaultGeneratorTemplates.json +233 -0
  278. package/templates/metadata.zip +0 -0
  279. package/templates/ui/ceaNode.json +30 -0
  280. package/templates/ui/teamsNode.json +124 -0
  281. package/build/component/generator/templates/metadata/agentForTeams.d.ts +0 -3
  282. package/build/component/generator/templates/metadata/agentForTeams.d.ts.map +0 -1
  283. package/build/component/generator/templates/metadata/agentForTeams.js +0 -147
  284. package/build/component/generator/templates/metadata/agentForTeams.js.map +0 -1
  285. package/build/component/generator/templates/metadata/bot.d.ts +0 -3
  286. package/build/component/generator/templates/metadata/bot.d.ts.map +0 -1
  287. package/build/component/generator/templates/metadata/bot.js +0 -142
  288. package/build/component/generator/templates/metadata/bot.js.map +0 -1
  289. package/build/component/generator/templates/metadata/customEngineAgent.d.ts +0 -3
  290. package/build/component/generator/templates/metadata/customEngineAgent.d.ts.map +0 -1
  291. package/build/component/generator/templates/metadata/customEngineAgent.js +0 -39
  292. package/build/component/generator/templates/metadata/customEngineAgent.js.map +0 -1
  293. package/build/component/generator/templates/metadata/da.d.ts +0 -3
  294. package/build/component/generator/templates/metadata/da.d.ts.map +0 -1
  295. package/build/component/generator/templates/metadata/da.js +0 -117
  296. package/build/component/generator/templates/metadata/da.js.map +0 -1
  297. package/build/component/generator/templates/metadata/graphConnector.d.ts +0 -3
  298. package/build/component/generator/templates/metadata/graphConnector.d.ts.map +0 -1
  299. package/build/component/generator/templates/metadata/graphConnector.js +0 -15
  300. package/build/component/generator/templates/metadata/graphConnector.js.map +0 -1
  301. package/build/component/generator/templates/metadata/me.d.ts +0 -3
  302. package/build/component/generator/templates/metadata/me.d.ts.map +0 -1
  303. package/build/component/generator/templates/metadata/me.js +0 -111
  304. package/build/component/generator/templates/metadata/me.js.map +0 -1
  305. package/build/component/generator/templates/metadata/special.d.ts +0 -3
  306. package/build/component/generator/templates/metadata/special.d.ts.map +0 -1
  307. package/build/component/generator/templates/metadata/special.js +0 -70
  308. package/build/component/generator/templates/metadata/special.js.map +0 -1
  309. package/build/component/generator/templates/metadata/tab.d.ts +0 -3
  310. package/build/component/generator/templates/metadata/tab.d.ts.map +0 -1
  311. package/build/component/generator/templates/metadata/tab.js +0 -59
  312. package/build/component/generator/templates/metadata/tab.js.map +0 -1
  313. package/build/component/generator/templates/metadata/teams.d.ts +0 -3
  314. package/build/component/generator/templates/metadata/teams.d.ts.map +0 -1
  315. package/build/component/generator/templates/metadata/teams.js +0 -238
  316. package/build/component/generator/templates/metadata/teams.js.map +0 -1
  317. package/build/component/generator/templates/metadata/vs.d.ts +0 -3
  318. package/build/component/generator/templates/metadata/vs.d.ts.map +0 -1
  319. package/build/component/generator/templates/metadata/vs.js +0 -22
  320. package/build/component/generator/templates/metadata/vs.js.map +0 -1
  321. package/build/component/generator/templates/metadata/wxp.d.ts +0 -3
  322. package/build/component/generator/templates/metadata/wxp.d.ts.map +0 -1
  323. package/build/component/generator/templates/metadata/wxp.js +0 -33
  324. package/build/component/generator/templates/metadata/wxp.js.map +0 -1
  325. package/build/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1,210 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.FxCoreDeclarativeAgentPart = void 0;
6
+ const tslib_1 = require("tslib");
7
+ const hooks_1 = require("@feathersjs/hooks");
8
+ const teamsfx_api_1 = require("@microsoft/teamsfx-api");
9
+ const axios_1 = tslib_1.__importDefault(require("axios"));
10
+ const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
11
+ const path = tslib_1.__importStar(require("path"));
12
+ const globalVars_1 = require("../common/globalVars");
13
+ const localizeUtils_1 = require("../common/localizeUtils");
14
+ const actionInjector_1 = require("../component/configManager/actionInjector");
15
+ const constants_1 = require("../component/constants");
16
+ const questionMW_1 = require("../component/middleware/questionMW");
17
+ const pathUtils_1 = require("../component/utils/pathUtils");
18
+ const constants_2 = require("../question/constants");
19
+ const concurrentLocker_1 = require("./middleware/concurrentLocker");
20
+ const errorHandler_1 = require("./middleware/errorHandler");
21
+ class FxCoreDeclarativeAgentPart {
22
+ async updateActionWithMCP(inputs) {
23
+ var _a, _b, _c, _d;
24
+ const context = (0, globalVars_1.createContext)();
25
+ const projectPath = inputs.projectPath;
26
+ if (!projectPath) {
27
+ throw new Error("projectPath is undefined"); // should never happen
28
+ }
29
+ const aiPluginFilePath = inputs[constants_2.QuestionNames.PluginManifestFilePath];
30
+ if (!(await fs_extra_1.default.pathExists(aiPluginFilePath))) {
31
+ const error = new teamsfx_api_1.SystemError("MCPForDAPluginManifestNotFound", "PluginManifestNotFound", (0, localizeUtils_1.getDefaultString)("core.MCPForDA.pluginManifestNotFound", aiPluginFilePath), (0, localizeUtils_1.getLocalizedString)("core.MCPForDA.pluginManifestNotFound", aiPluginFilePath));
32
+ return (0, teamsfx_api_1.err)(error);
33
+ }
34
+ const aiPluginFilePathRelative = path.basename(aiPluginFilePath);
35
+ const mcpServerUrl = inputs[constants_2.QuestionNames.MCPForDAServerUrl];
36
+ const serverName = inputs[constants_2.QuestionNames.MCPForDAServerName];
37
+ const mcpAuth = inputs[constants_2.QuestionNames.MCPForDAAuth];
38
+ const authType = inputs[constants_2.QuestionNames.MCPForDAAuthType];
39
+ let oauthAuthorizationUrl = undefined;
40
+ let oauthTokenUrl = undefined;
41
+ let oauthRefreshUrl = undefined;
42
+ let registrationId = undefined;
43
+ if (mcpAuth === "OAuthPluginVault") {
44
+ try {
45
+ registrationId = `MCP_DA_AUTH_ID_${serverName.toUpperCase()}`;
46
+ if (authType === "oauth") {
47
+ let wellKnownMetadataUrl = inputs[constants_2.QuestionNames.MCPForDAAuthWellKnownUrl];
48
+ if (!wellKnownMetadataUrl) {
49
+ const mcpAuthMetadataUrl = inputs[constants_2.QuestionNames.MCPForDAAuthMetadataUrl];
50
+ if (!mcpAuthMetadataUrl) {
51
+ throw new Error((0, localizeUtils_1.getLocalizedString)("core.MCPForDA.mcpAuthMetadataUrlNotFound"));
52
+ }
53
+ const response = await axios_1.default.get(mcpAuthMetadataUrl);
54
+ if (response.status === 200 &&
55
+ response.data &&
56
+ response.data.authorization_servers &&
57
+ response.data.authorization_servers.length > 0) {
58
+ const mcpServerMetadataUrl = (_a = response.data.authorization_servers) === null || _a === void 0 ? void 0 : _a[0];
59
+ // Transform the URL to the proper OAuth authorization server metadata endpoint
60
+ // According to RFC 8414, the well-known endpoint should be constructed as:
61
+ // https://{domain}/.well-known/oauth-authorization-server{path}
62
+ const serverUrl = new URL(mcpServerMetadataUrl);
63
+ wellKnownMetadataUrl = `${serverUrl.protocol}//${serverUrl.host}/.well-known/oauth-authorization-server${serverUrl.pathname}`;
64
+ }
65
+ else {
66
+ throw new Error((0, localizeUtils_1.getLocalizedString)("core.MCPForDA.mcpServerMetadataUrlNotFound"));
67
+ }
68
+ }
69
+ const metadataResponse = await axios_1.default.get(wellKnownMetadataUrl);
70
+ if (metadataResponse.status === 200) {
71
+ oauthAuthorizationUrl = metadataResponse.data.authorization_endpoint;
72
+ oauthTokenUrl = metadataResponse.data.token_endpoint;
73
+ oauthRefreshUrl = metadataResponse.data.refresh_endpoint;
74
+ }
75
+ if (!oauthAuthorizationUrl || !oauthTokenUrl) {
76
+ throw new Error((0, localizeUtils_1.getLocalizedString)("core.MCPForDA.authUrlNotFound"));
77
+ }
78
+ }
79
+ }
80
+ catch (error) {
81
+ void context.userInteraction.showMessage("error", (0, localizeUtils_1.getLocalizedString)("core.MCPForDA.mcpAuthMetadataMissingError", error.message), false);
82
+ }
83
+ }
84
+ // 2. Read ai-plugin.json
85
+ const aiPluginContent = await fs_extra_1.default.readJSON(aiPluginFilePath);
86
+ // For dynamic fetch tools, keep the functions empty and add runtime info
87
+ // TODO: support dynamic fetch tools in the future
88
+ const mcpToolsDetail = inputs[constants_2.QuestionNames.MCPForDAAvailableTools];
89
+ const mcpToolsSelected = inputs[constants_2.QuestionNames.MCPForDAPreFetchTools];
90
+ if (!mcpToolsDetail || !mcpToolsSelected) {
91
+ const error = new teamsfx_api_1.UserError("MCPForDAPreFetchToolsNotFound", "PreFetchToolsNotFound", (0, localizeUtils_1.getDefaultString)("core.MCPForDA.preFetchToolsNotFound"), (0, localizeUtils_1.getLocalizedString)("core.MCPForDA.preFetchToolsNotFound"));
92
+ return (0, teamsfx_api_1.err)(error);
93
+ }
94
+ const toolsSelectedPrevious = [];
95
+ aiPluginContent.runtimes
96
+ .filter((runtime) => (runtime.type === "RemoteMCPServer" && runtime.spec.url === mcpServerUrl) ||
97
+ runtime.type === "LocalPlugin")
98
+ .forEach((runtime) => {
99
+ toolsSelectedPrevious.push(...runtime.run_for_functions);
100
+ });
101
+ aiPluginContent.functions = aiPluginContent.functions.filter((func) => !toolsSelectedPrevious.includes(func.name));
102
+ aiPluginContent.functions = [
103
+ ...aiPluginContent.functions,
104
+ ...mcpToolsDetail
105
+ .filter((tool) => mcpToolsSelected.includes(tool.name))
106
+ .map((tool) => {
107
+ if (inputs[constants_2.QuestionNames.MCPLocalServerIdentifier] != null) {
108
+ return {
109
+ name: tool.name,
110
+ description: tool.description,
111
+ parameters: {
112
+ type: tool.inputSchema.type || "object",
113
+ properties: tool.inputSchema.properties,
114
+ required: tool.inputSchema.required || [],
115
+ },
116
+ };
117
+ }
118
+ else {
119
+ return {
120
+ name: tool.name,
121
+ description: tool.description,
122
+ };
123
+ }
124
+ }),
125
+ ];
126
+ const matchedRuntime = aiPluginContent.runtimes.find((runtime) => runtime.type === "RemoteMCPServer" && runtime.spec.url === mcpServerUrl);
127
+ aiPluginContent.runtimes = aiPluginContent.runtimes.filter((runtime) => (runtime.type !== "RemoteMCPServer" && runtime.type !== "LocalPlugin") ||
128
+ runtime.spec.url !== mcpServerUrl);
129
+ if (inputs[constants_2.QuestionNames.MCPLocalServerIdentifier] != null) {
130
+ aiPluginContent.runtimes.push({
131
+ type: "LocalPlugin",
132
+ spec: {
133
+ local_endpoint: `${constants_1.LocalMcpPrefix}${inputs[constants_2.QuestionNames.MCPLocalServerIdentifier]}`,
134
+ },
135
+ run_for_functions: mcpToolsSelected,
136
+ });
137
+ }
138
+ else {
139
+ let mcpFile = (_b = matchedRuntime === null || matchedRuntime === void 0 ? void 0 : matchedRuntime.spec.mcp_tool_description) === null || _b === void 0 ? void 0 : _b.file;
140
+ if (!mcpFile) {
141
+ mcpFile = "mcp-tools.json";
142
+ let suffix = 1;
143
+ while (await fs_extra_1.default.pathExists(path.join(path.dirname(aiPluginFilePath), mcpFile))) {
144
+ mcpFile = `mcp-tools-${suffix}.json`;
145
+ suffix += 1;
146
+ }
147
+ }
148
+ await fs_extra_1.default.writeJSON(path.join(path.dirname(aiPluginFilePath), mcpFile), {
149
+ tools: [
150
+ ...mcpToolsDetail
151
+ .filter((tool) => mcpToolsSelected.includes(tool.name))
152
+ .map((tool) => {
153
+ return Object.assign(Object.assign({}, tool), { title: tool.name
154
+ .replace(/_/g, " ")
155
+ .replace(/^./, (str) => str.toUpperCase()) });
156
+ }),
157
+ ],
158
+ }, { spaces: 4 });
159
+ aiPluginContent.runtimes.push({
160
+ type: "RemoteMCPServer",
161
+ spec: {
162
+ url: mcpServerUrl,
163
+ mcp_tool_description: {
164
+ file: mcpFile,
165
+ },
166
+ },
167
+ run_for_functions: mcpToolsSelected,
168
+ auth: mcpAuth === "OAuthPluginVault" && !!registrationId
169
+ ? {
170
+ type: "OAuthPluginVault",
171
+ reference_id: `$\{\{${registrationId}\}\}`,
172
+ }
173
+ : {
174
+ type: "None",
175
+ },
176
+ });
177
+ }
178
+ if (mcpAuth === "OAuthPluginVault" && !!registrationId) {
179
+ // insert oauth info in teamsapp.yaml
180
+ await actionInjector_1.ActionInjector.injectCreateOAuthActionForMCP(pathUtils_1.pathUtils.getYmlFilePath(projectPath), authType, serverName, registrationId, mcpServerUrl, oauthAuthorizationUrl, oauthTokenUrl, oauthRefreshUrl);
181
+ }
182
+ void context.userInteraction
183
+ .showMessage("info", (0, localizeUtils_1.getLocalizedString)("core.MCPForDA.updatePluginManifest", aiPluginFilePathRelative), false, "Provision")
184
+ .then((result) => {
185
+ if (result.isOk() && result.value === "Provision") {
186
+ void this.provisionResources(inputs);
187
+ }
188
+ });
189
+ await fs_extra_1.default.writeJSON(aiPluginFilePath, aiPluginContent, { spaces: 4 });
190
+ void ((_d = (_c = context.userInteraction).openFile) === null || _d === void 0 ? void 0 : _d.call(_c, aiPluginFilePath));
191
+ return (0, teamsfx_api_1.ok)(undefined);
192
+ }
193
+ // This method will be implemented by FxCore
194
+ provisionResources(_inputs) {
195
+ throw new Error("Method not implemented.");
196
+ }
197
+ }
198
+ tslib_1.__decorate([
199
+ (0, hooks_1.hooks)([
200
+ (0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: teamsfx_api_1.Stage.installApp }),
201
+ errorHandler_1.ErrorHandlerMW,
202
+ (0, questionMW_1.QuestionMW)("updateActionWithMCP"),
203
+ concurrentLocker_1.ConcurrentLockerMW,
204
+ ]),
205
+ tslib_1.__metadata("design:type", Function),
206
+ tslib_1.__metadata("design:paramtypes", [Object]),
207
+ tslib_1.__metadata("design:returntype", Promise)
208
+ ], FxCoreDeclarativeAgentPart.prototype, "updateActionWithMCP", null);
209
+ exports.FxCoreDeclarativeAgentPart = FxCoreDeclarativeAgentPart;
210
+ //# sourceMappingURL=FxCore.declarativeAgent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FxCore.declarativeAgent.js","sourceRoot":"","sources":["../../src/core/FxCore.declarativeAgent.ts"],"names":[],"mappings":"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"}