@microsoft/teamsfx-core 3.0.9 → 3.0.10-alpha.845b0d258.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 (193) hide show
  1. package/build/common/featureFlags.d.ts +0 -31
  2. package/build/common/featureFlags.d.ts.map +1 -1
  3. package/build/common/featureFlags.js +1 -22
  4. package/build/common/featureFlags.js.map +1 -1
  5. package/build/common/localizeUtils.d.ts.map +1 -1
  6. package/build/common/localizeUtils.js +36 -12
  7. package/build/common/localizeUtils.js.map +1 -1
  8. package/build/common/templates-config.json +3 -3
  9. package/build/component/constants.d.ts +1 -0
  10. package/build/component/constants.d.ts.map +1 -1
  11. package/build/component/constants.js +2 -1
  12. package/build/component/constants.js.map +1 -1
  13. package/build/component/driver/script/scriptDriver.js +1 -1
  14. package/build/component/driver/script/scriptDriver.js.map +1 -1
  15. package/build/component/driver/teamsApp/publishAppPackage.d.ts +2 -0
  16. package/build/component/driver/teamsApp/publishAppPackage.d.ts.map +1 -1
  17. package/build/component/driver/teamsApp/publishAppPackage.js +79 -4
  18. package/build/component/driver/teamsApp/publishAppPackage.js.map +1 -1
  19. package/build/component/driver/teamsApp/utils/ManifestUtils.js +7 -8
  20. package/build/component/driver/teamsApp/utils/ManifestUtils.js.map +1 -1
  21. package/build/component/driver/teamsApp/utils/PluginManifestUtils.d.ts +20 -0
  22. package/build/component/driver/teamsApp/utils/PluginManifestUtils.d.ts.map +1 -1
  23. package/build/component/driver/teamsApp/utils/PluginManifestUtils.js +152 -2
  24. package/build/component/driver/teamsApp/utils/PluginManifestUtils.js.map +1 -1
  25. package/build/component/generator/declarativeAgent/generator.d.ts.map +1 -1
  26. package/build/component/generator/declarativeAgent/generator.js +16 -6
  27. package/build/component/generator/declarativeAgent/generator.js.map +1 -1
  28. package/build/component/generator/generator.d.ts.map +1 -1
  29. package/build/component/generator/generator.js +3 -13
  30. package/build/component/generator/generator.js.map +1 -1
  31. package/build/component/generator/officeAddin/generator.d.ts.map +1 -1
  32. package/build/component/generator/officeAddin/generator.js +6 -4
  33. package/build/component/generator/officeAddin/generator.js.map +1 -1
  34. package/build/component/generator/officeAddin/metaOSHelper.d.ts.map +1 -1
  35. package/build/component/generator/officeAddin/metaOSHelper.js +13 -6
  36. package/build/component/generator/officeAddin/metaOSHelper.js.map +1 -1
  37. package/build/component/generator/templates/metadata/index.d.ts.map +1 -1
  38. package/build/component/generator/templates/metadata/index.js +21 -25
  39. package/build/component/generator/templates/metadata/index.js.map +1 -1
  40. package/build/component/generator/templates/templateNames.d.ts +1 -0
  41. package/build/component/generator/templates/templateNames.d.ts.map +1 -1
  42. package/build/component/generator/templates/templateNames.js +1 -0
  43. package/build/component/generator/templates/templateNames.js.map +1 -1
  44. package/build/component/generator/templates/templateReplaceMap.d.ts.map +1 -1
  45. package/build/component/generator/templates/templateReplaceMap.js +2 -12
  46. package/build/component/generator/templates/templateReplaceMap.js.map +1 -1
  47. package/build/component/utils/odrProvider.d.ts +49 -0
  48. package/build/component/utils/odrProvider.d.ts.map +1 -0
  49. package/build/component/utils/odrProvider.js +100 -0
  50. package/build/component/utils/odrProvider.js.map +1 -0
  51. package/build/core/FxCore.d.ts +4 -1
  52. package/build/core/FxCore.d.ts.map +1 -1
  53. package/build/core/FxCore.js +96 -19
  54. package/build/core/FxCore.js.map +1 -1
  55. package/build/index.d.ts +2 -1
  56. package/build/index.d.ts.map +1 -1
  57. package/build/index.js +5 -5
  58. package/build/index.js.map +1 -1
  59. package/build/question/collaborator.d.ts.map +1 -1
  60. package/build/question/collaborator.js +5 -8
  61. package/build/question/collaborator.js.map +1 -1
  62. package/build/question/constants.d.ts.map +1 -1
  63. package/build/question/constants.js +1 -3
  64. package/build/question/constants.js.map +1 -1
  65. package/build/question/inputs/CreateProjectInputs.d.ts +1 -15
  66. package/build/question/inputs/CreateProjectInputs.d.ts.map +1 -1
  67. package/build/question/options/CreateProjectOptions.d.ts +1 -1
  68. package/build/question/options/CreateProjectOptions.d.ts.map +1 -1
  69. package/build/question/options/CreateProjectOptions.js +0 -56
  70. package/build/question/options/CreateProjectOptions.js.map +1 -1
  71. package/build/question/other.js +7 -6
  72. package/build/question/other.js.map +1 -1
  73. package/build/question/questionNames.d.ts +6 -0
  74. package/build/question/questionNames.d.ts.map +1 -1
  75. package/build/question/questionNames.js +6 -0
  76. package/build/question/questionNames.js.map +1 -1
  77. package/build/question/scaffold/commonNodes.d.ts +7 -0
  78. package/build/question/scaffold/commonNodes.d.ts.map +1 -0
  79. package/build/question/scaffold/commonNodes.js +154 -0
  80. package/build/question/scaffold/commonNodes.js.map +1 -0
  81. package/build/question/scaffold/constructNode.d.ts +3 -0
  82. package/build/question/scaffold/constructNode.d.ts.map +1 -0
  83. package/build/question/scaffold/constructNode.js +50 -0
  84. package/build/question/scaffold/constructNode.js.map +1 -0
  85. package/build/question/scaffold/vs/createRootNode.d.ts +1 -0
  86. package/build/question/scaffold/vs/createRootNode.d.ts.map +1 -1
  87. package/build/question/scaffold/vs/createRootNode.js +14 -16
  88. package/build/question/scaffold/vs/createRootNode.js.map +1 -1
  89. package/build/question/scaffold/vsc/createFromTdpNode.js +1 -1
  90. package/build/question/scaffold/vsc/createFromTdpNode.js.map +1 -1
  91. package/build/question/scaffold/vsc/createRootNode.d.ts +0 -7
  92. package/build/question/scaffold/vsc/createRootNode.d.ts.map +1 -1
  93. package/build/question/scaffold/vsc/createRootNode.js +3 -72
  94. package/build/question/scaffold/vsc/createRootNode.js.map +1 -1
  95. package/build/question/scaffold/vsc/customEngineAgentNode.d.ts +1 -1
  96. package/build/question/scaffold/vsc/customEngineAgentNode.d.ts.map +1 -1
  97. package/build/question/scaffold/vsc/customEngineAgentNode.js +22 -24
  98. package/build/question/scaffold/vsc/customEngineAgentNode.js.map +1 -1
  99. package/build/question/scaffold/vsc/daProjectTypeNode.js +4 -3
  100. package/build/question/scaffold/vsc/daProjectTypeNode.js.map +1 -1
  101. package/build/question/scaffold/vsc/teamsProjectTypeNode.d.ts +4 -7
  102. package/build/question/scaffold/vsc/teamsProjectTypeNode.d.ts.map +1 -1
  103. package/build/question/scaffold/vsc/teamsProjectTypeNode.js +106 -201
  104. package/build/question/scaffold/vsc/teamsProjectTypeNode.js.map +1 -1
  105. package/build/ui/visitor.d.ts.map +1 -1
  106. package/build/ui/visitor.js +5 -0
  107. package/build/ui/visitor.js.map +1 -1
  108. package/package.json +5 -5
  109. package/resource/package.nls.cs.json +115 -84
  110. package/resource/package.nls.de.json +113 -82
  111. package/resource/package.nls.es.json +114 -83
  112. package/resource/package.nls.fr.json +113 -82
  113. package/resource/package.nls.it.json +126 -95
  114. package/resource/package.nls.ja.json +113 -82
  115. package/resource/package.nls.json +12 -23
  116. package/resource/package.nls.ko.json +111 -80
  117. package/resource/package.nls.pl.json +113 -82
  118. package/resource/package.nls.pt-BR.json +114 -83
  119. package/resource/package.nls.ru.json +113 -82
  120. package/resource/package.nls.tr.json +112 -81
  121. package/resource/package.nls.zh-Hans.json +113 -82
  122. package/resource/package.nls.zh-Hant.json +114 -83
  123. package/resource/templates/package.nls.cs.json +33 -0
  124. package/resource/templates/package.nls.de.json +33 -0
  125. package/resource/templates/package.nls.es.json +33 -0
  126. package/resource/templates/package.nls.fr.json +33 -0
  127. package/resource/templates/package.nls.it.json +33 -0
  128. package/resource/templates/package.nls.ja.json +33 -0
  129. package/resource/templates/package.nls.json +33 -0
  130. package/resource/templates/package.nls.ko.json +33 -0
  131. package/resource/templates/package.nls.pl.json +33 -0
  132. package/resource/templates/package.nls.pt-BR.json +33 -0
  133. package/resource/templates/package.nls.ru.json +33 -0
  134. package/resource/templates/package.nls.tr.json +33 -0
  135. package/resource/templates/package.nls.zh-Hans.json +33 -0
  136. package/resource/templates/package.nls.zh-Hant.json +33 -0
  137. package/resource/templates/package.nls.zh-cn.json +21 -0
  138. package/resource/templates/package.nls.zh-tw.json +21 -0
  139. package/templates/fallback/common.zip +0 -0
  140. package/templates/fallback/csharp.zip +0 -0
  141. package/templates/fallback/js.zip +0 -0
  142. package/templates/fallback/python.zip +0 -0
  143. package/templates/fallback/ts.zip +0 -0
  144. package/templates/metadata/allTemplates.json +429 -0
  145. package/templates/metadata/defaultGeneratorTemplates.json +233 -0
  146. package/templates/metadata.zip +0 -0
  147. package/templates/ui/ceaNode.json +30 -0
  148. package/templates/ui/teamsNode.json +124 -0
  149. package/build/component/generator/templates/metadata/agentForTeams.d.ts +0 -3
  150. package/build/component/generator/templates/metadata/agentForTeams.d.ts.map +0 -1
  151. package/build/component/generator/templates/metadata/agentForTeams.js +0 -147
  152. package/build/component/generator/templates/metadata/agentForTeams.js.map +0 -1
  153. package/build/component/generator/templates/metadata/bot.d.ts +0 -3
  154. package/build/component/generator/templates/metadata/bot.d.ts.map +0 -1
  155. package/build/component/generator/templates/metadata/bot.js +0 -142
  156. package/build/component/generator/templates/metadata/bot.js.map +0 -1
  157. package/build/component/generator/templates/metadata/customEngineAgent.d.ts +0 -3
  158. package/build/component/generator/templates/metadata/customEngineAgent.d.ts.map +0 -1
  159. package/build/component/generator/templates/metadata/customEngineAgent.js +0 -39
  160. package/build/component/generator/templates/metadata/customEngineAgent.js.map +0 -1
  161. package/build/component/generator/templates/metadata/da.d.ts +0 -3
  162. package/build/component/generator/templates/metadata/da.d.ts.map +0 -1
  163. package/build/component/generator/templates/metadata/da.js +0 -117
  164. package/build/component/generator/templates/metadata/da.js.map +0 -1
  165. package/build/component/generator/templates/metadata/graphConnector.d.ts +0 -3
  166. package/build/component/generator/templates/metadata/graphConnector.d.ts.map +0 -1
  167. package/build/component/generator/templates/metadata/graphConnector.js +0 -15
  168. package/build/component/generator/templates/metadata/graphConnector.js.map +0 -1
  169. package/build/component/generator/templates/metadata/me.d.ts +0 -3
  170. package/build/component/generator/templates/metadata/me.d.ts.map +0 -1
  171. package/build/component/generator/templates/metadata/me.js +0 -111
  172. package/build/component/generator/templates/metadata/me.js.map +0 -1
  173. package/build/component/generator/templates/metadata/special.d.ts +0 -3
  174. package/build/component/generator/templates/metadata/special.d.ts.map +0 -1
  175. package/build/component/generator/templates/metadata/special.js +0 -70
  176. package/build/component/generator/templates/metadata/special.js.map +0 -1
  177. package/build/component/generator/templates/metadata/tab.d.ts +0 -3
  178. package/build/component/generator/templates/metadata/tab.d.ts.map +0 -1
  179. package/build/component/generator/templates/metadata/tab.js +0 -59
  180. package/build/component/generator/templates/metadata/tab.js.map +0 -1
  181. package/build/component/generator/templates/metadata/teams.d.ts +0 -3
  182. package/build/component/generator/templates/metadata/teams.d.ts.map +0 -1
  183. package/build/component/generator/templates/metadata/teams.js +0 -238
  184. package/build/component/generator/templates/metadata/teams.js.map +0 -1
  185. package/build/component/generator/templates/metadata/vs.d.ts +0 -3
  186. package/build/component/generator/templates/metadata/vs.d.ts.map +0 -1
  187. package/build/component/generator/templates/metadata/vs.js +0 -22
  188. package/build/component/generator/templates/metadata/vs.js.map +0 -1
  189. package/build/component/generator/templates/metadata/wxp.d.ts +0 -3
  190. package/build/component/generator/templates/metadata/wxp.d.ts.map +0 -1
  191. package/build/component/generator/templates/metadata/wxp.js +0 -33
  192. package/build/component/generator/templates/metadata/wxp.js.map +0 -1
  193. package/build/tsconfig.tsbuildinfo +0 -1
@@ -24,6 +24,7 @@ const localizeUtils_1 = require("../common/localizeUtils");
24
24
  const projectSettingsHelper_1 = require("../common/projectSettingsHelper");
25
25
  const projectTypeChecker_1 = require("../common/projectTypeChecker");
26
26
  const telemetry_1 = require("../common/telemetry");
27
+ const templates_config_json_1 = tslib_1.__importDefault(require("../common/templates-config.json"));
27
28
  const tools_1 = require("../common/tools");
28
29
  const utils_1 = require("../common/utils");
29
30
  const versionMetadata_1 = require("../common/versionMetadata");
@@ -51,6 +52,7 @@ const helper_1 = require("../component/generator/declarativeAgent/helper");
51
52
  const oneDriveSharePointHandler_1 = require("../component/generator/declarativeAgent/oneDriveSharePointHandler");
52
53
  const helper_2 = require("../component/generator/openApiSpec/helper");
53
54
  const templateNames_1 = require("../component/generator/templates/templateNames");
55
+ const utils_5 = require("../component/generator/utils");
54
56
  const launchHelper_1 = require("../component/m365/launchHelper");
55
57
  const packageService_1 = require("../component/m365/packageService");
56
58
  const serviceConstant_1 = require("../component/m365/serviceConstant");
@@ -81,13 +83,13 @@ const retry_1 = require("./middleware/retry");
81
83
  const v3MigrationUtils_1 = require("./middleware/utils/v3MigrationUtils");
82
84
  const share_2 = require("./share");
83
85
  const telemetry_2 = require("./telemetry");
86
+ const constants_4 = require("../component/constants");
84
87
  class FxCore {
85
88
  constructor(tools) {
86
89
  (0, globalVars_1.setTools)(tools);
87
90
  }
88
91
  /**
89
92
  * @todo this's a really primitive implement. Maybe could use Subscription Model to
90
- // Copyright (c) Microsoft Corporation.
91
93
  * refactor later.
92
94
  */
93
95
  on(event, callback) {
@@ -1973,12 +1975,12 @@ class FxCore {
1973
1975
  const error = new teamsfx_api_1.UserError("MCPForDAPreFetchToolsNotFound", "PreFetchToolsNotFound", (0, localizeUtils_1.getDefaultString)("core.MCPForDA.preFetchToolsNotFound"), (0, localizeUtils_1.getLocalizedString)("core.MCPForDA.preFetchToolsNotFound"));
1974
1976
  return (0, teamsfx_api_1.err)(error);
1975
1977
  }
1976
- // aiPluginContent.functions = [];
1977
1978
  const toolsSelectedPrevious = [];
1978
1979
  aiPluginContent.runtimes
1979
- .filter((runtime) => runtime.type === "RemoteMCPServer" &&
1980
+ .filter((runtime) => (runtime.type === "RemoteMCPServer" &&
1980
1981
  runtime.spec.url === mcpServerUrl &&
1981
- runtime.spec["enable_dynamic_discovery"] === false)
1982
+ runtime.spec["enable_dynamic_discovery"] === false) ||
1983
+ runtime.type === "LocalPlugin")
1982
1984
  .forEach((runtime) => {
1983
1985
  toolsSelectedPrevious.push(...runtime.run_for_functions);
1984
1986
  });
@@ -1999,23 +2001,34 @@ class FxCore {
1999
2001
  };
2000
2002
  }),
2001
2003
  ];
2002
- aiPluginContent.runtimes = aiPluginContent.runtimes.filter((runtime) => runtime.type !== "RemoteMCPServer" ||
2004
+ aiPluginContent.runtimes = aiPluginContent.runtimes.filter((runtime) => (runtime.type !== "RemoteMCPServer" && runtime.type !== "LocalPlugin") ||
2003
2005
  runtime.spec.url !== mcpServerUrl ||
2004
2006
  runtime.spec["enable_dynamic_discovery"] === true);
2005
- aiPluginContent.runtimes.push({
2006
- type: "RemoteMCPServer",
2007
- spec: {
2008
- url: mcpServerUrl,
2009
- enable_dynamic_discovery: false,
2010
- },
2011
- run_for_functions: mcpToolsSelected,
2012
- auth: mcpAuth === "OAuthPluginVault" && !!registrationId
2013
- ? {
2014
- type: "OAuthPluginVault",
2015
- reference_id: `$\{\{${registrationId}\}\}`,
2016
- }
2017
- : undefined,
2018
- });
2007
+ if (inputs[constants_3.QuestionNames.MCPLocalServerIdentifier] != null) {
2008
+ aiPluginContent.runtimes.push({
2009
+ type: "LocalPlugin",
2010
+ spec: {
2011
+ local_endpoint: `${constants_4.LocalMcpPrefix}${inputs[constants_3.QuestionNames.MCPLocalServerIdentifier]}`,
2012
+ },
2013
+ run_for_functions: mcpToolsSelected,
2014
+ });
2015
+ }
2016
+ else {
2017
+ aiPluginContent.runtimes.push({
2018
+ type: "RemoteMCPServer",
2019
+ spec: {
2020
+ url: mcpServerUrl,
2021
+ enable_dynamic_discovery: false,
2022
+ },
2023
+ run_for_functions: mcpToolsSelected,
2024
+ auth: mcpAuth === "OAuthPluginVault" && !!registrationId
2025
+ ? {
2026
+ type: "OAuthPluginVault",
2027
+ reference_id: `$\{\{${registrationId}\}\}`,
2028
+ }
2029
+ : undefined,
2030
+ });
2031
+ }
2019
2032
  if (mcpAuth === "OAuthPluginVault" && !!registrationId) {
2020
2033
  // insert oauth info in teamsapp.yaml
2021
2034
  await actionInjector_1.ActionInjector.injectCreateOAuthActionForMCP(pathUtils_1.pathUtils.getYmlFilePath(projectPath), authType, serverName, registrationId, mcpServerUrl, oauthAuthorizationUrl, oauthTokenUrl, oauthRefreshUrl);
@@ -2031,6 +2044,61 @@ class FxCore {
2031
2044
  void ((_c = (_b = context.userInteraction).openFile) === null || _c === void 0 ? void 0 : _c.call(_b, aiPluginFilePath));
2032
2045
  return (0, teamsfx_api_1.ok)(undefined);
2033
2046
  }
2047
+ /**
2048
+ * dynamic template metadata download
2049
+ */
2050
+ async fetchOnlineTemplateMetadata() {
2051
+ if (templates_config_json_1.default.useLocalTemplate) {
2052
+ return (0, teamsfx_api_1.ok)(undefined); // Skip if using local templates
2053
+ }
2054
+ // Downloads the latest online template metadata (metadata.zip) into user's home .fx folder.
2055
+ // Caches the template version so subsequent calls avoid redundant downloads if unchanged.
2056
+ try {
2057
+ // Determine latest template version (respect prerelease env variable similar to getTemplateVSCUrl)
2058
+ const coreVersion = require("../../package.json").version;
2059
+ let latestVersion = "0.0.0-rc";
2060
+ if (coreVersion.includes("alpha") ||
2061
+ coreVersion.includes("beta") ||
2062
+ coreVersion.includes("rc")) {
2063
+ // daily build, prerelease or rc
2064
+ latestVersion = "0.0.0-rc";
2065
+ }
2066
+ else {
2067
+ // stable version
2068
+ latestVersion = await (0, utils_5.getTemplateLatestVersion)();
2069
+ }
2070
+ const homedir = os.homedir();
2071
+ const metadataDir = path.join(homedir, `.${String(teamsfx_api_1.ConfigFolderName)}`);
2072
+ await fs_extra_1.default.ensureDir(metadataDir);
2073
+ const versionFile = path.join(metadataDir, "template-version.txt");
2074
+ const needDownload = async () => {
2075
+ if (!(await fs_extra_1.default.pathExists(versionFile)))
2076
+ return true;
2077
+ try {
2078
+ const cachedVersion = (await fs_extra_1.default.readFile(versionFile, "utf-8")).trim();
2079
+ return cachedVersion !== latestVersion;
2080
+ }
2081
+ catch (_a) {
2082
+ return true; // re-download if any issue reading cached version
2083
+ }
2084
+ };
2085
+ if (!(await needDownload())) {
2086
+ return (0, teamsfx_api_1.ok)(undefined); // Already up-to-date
2087
+ }
2088
+ // Construct metadata.zip download URL based on tag prefix and version
2089
+ const tag = `${templates_config_json_1.default.tagPrefix}${latestVersion}`;
2090
+ const metadataZipUrl = `${templates_config_json_1.default.templateDownloadBaseURL}/${tag}/metadata.zip`;
2091
+ const zip = await (0, utils_5.fetchZipFromUrl)(metadataZipUrl);
2092
+ await (0, utils_5.unzip)(zip, metadataDir);
2093
+ await fs_extra_1.default.writeFile(versionFile, latestVersion, { encoding: "utf-8" });
2094
+ return (0, teamsfx_api_1.ok)(undefined);
2095
+ }
2096
+ catch (error) {
2097
+ const message = (error === null || error === void 0 ? void 0 : error.message) || "Unknown error while fetching template metadata";
2098
+ const systemErr = new teamsfx_api_1.SystemError("FetchOnlineTemplateMetadata", "DownloadFailed", message, message);
2099
+ return (0, teamsfx_api_1.err)(systemErr);
2100
+ }
2101
+ }
2034
2102
  async updateAuthActionInYaml(authName, authScheme, projectPath, apSpecPath, pluginManifestPath, forceToAddNew = true) {
2035
2103
  if (authName && authScheme) {
2036
2104
  const authInjectRes = await (0, helper_2.injectAuthAction)(projectPath, authName, authScheme, apSpecPath, forceToAddNew);
@@ -2864,5 +2932,14 @@ tslib_1.__decorate([
2864
2932
  tslib_1.__metadata("design:paramtypes", [Object]),
2865
2933
  tslib_1.__metadata("design:returntype", Promise)
2866
2934
  ], FxCore.prototype, "updateActionWithMCP", null);
2935
+ tslib_1.__decorate([
2936
+ (0, hooks_1.hooks)([
2937
+ (0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: "fetchOnlineTemplateMetadata" }),
2938
+ errorHandler_1.ErrorHandlerMW,
2939
+ ]),
2940
+ tslib_1.__metadata("design:type", Function),
2941
+ tslib_1.__metadata("design:paramtypes", []),
2942
+ tslib_1.__metadata("design:returntype", Promise)
2943
+ ], FxCore.prototype, "fetchOnlineTemplateMetadata", null);
2867
2944
  exports.FxCore = FxCore;
2868
2945
  //# sourceMappingURL=FxCore.js.map