@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.
- package/build/client/graphClient.d.ts +1 -0
- package/build/client/graphClient.d.ts.map +1 -1
- package/build/client/teamsDevPortalClient.d.ts +1 -0
- package/build/client/teamsDevPortalClient.d.ts.map +1 -1
- package/build/common/featureFlags.d.ts +9 -50
- package/build/common/featureFlags.d.ts.map +1 -1
- package/build/common/featureFlags.js +12 -42
- package/build/common/featureFlags.js.map +1 -1
- package/build/common/localizeUtils.d.ts.map +1 -1
- package/build/common/localizeUtils.js +36 -12
- package/build/common/localizeUtils.js.map +1 -1
- package/build/common/telemetry.d.ts +2 -0
- package/build/common/telemetry.d.ts.map +1 -1
- package/build/common/telemetry.js +2 -0
- package/build/common/telemetry.js.map +1 -1
- package/build/common/templates-config.json +4 -4
- package/build/component/constants.d.ts +1 -0
- package/build/component/constants.d.ts.map +1 -1
- package/build/component/constants.js +2 -1
- package/build/component/constants.js.map +1 -1
- package/build/component/coordinator/index.d.ts.map +1 -1
- package/build/component/coordinator/index.js +0 -11
- package/build/component/coordinator/index.js.map +1 -1
- package/build/component/deps-checker/internal/dotnetChecker.d.ts +5 -1
- package/build/component/deps-checker/internal/dotnetChecker.d.ts.map +1 -1
- package/build/component/deps-checker/internal/dotnetChecker.js +16 -8
- package/build/component/deps-checker/internal/dotnetChecker.js.map +1 -1
- package/build/component/driver/deploy/spfx/utility/spoClient.d.ts +1 -0
- package/build/component/driver/deploy/spfx/utility/spoClient.d.ts.map +1 -1
- package/build/component/driver/devTool/httpClient.d.ts +1 -0
- package/build/component/driver/devTool/httpClient.d.ts.map +1 -1
- package/build/component/driver/devTool/nodeInstaller.d.ts +1 -0
- package/build/component/driver/devTool/nodeInstaller.d.ts.map +1 -1
- package/build/component/driver/script/scriptDriver.d.ts +1 -0
- package/build/component/driver/script/scriptDriver.d.ts.map +1 -1
- package/build/component/driver/script/scriptDriver.js +1 -1
- package/build/component/driver/script/scriptDriver.js.map +1 -1
- package/build/component/driver/share/utils.d.ts.map +1 -1
- package/build/component/driver/share/utils.js +6 -0
- package/build/component/driver/share/utils.js.map +1 -1
- package/build/component/driver/teamsApp/constants.d.ts +1 -1
- package/build/component/driver/teamsApp/constants.d.ts.map +1 -1
- package/build/component/driver/teamsApp/constants.js +2 -2
- package/build/component/driver/teamsApp/constants.js.map +1 -1
- package/build/component/driver/teamsApp/copyAppPackageToSPFx.d.ts +1 -0
- package/build/component/driver/teamsApp/copyAppPackageToSPFx.d.ts.map +1 -1
- package/build/component/driver/teamsApp/createAppPackage.d.ts.map +1 -1
- package/build/component/driver/teamsApp/createAppPackage.js +12 -1
- package/build/component/driver/teamsApp/createAppPackage.js.map +1 -1
- package/build/component/driver/teamsApp/interfaces/appdefinitions/appPackage.d.ts +1 -0
- package/build/component/driver/teamsApp/interfaces/appdefinitions/appPackage.d.ts.map +1 -1
- package/build/component/driver/teamsApp/publishAppPackage.d.ts +2 -0
- package/build/component/driver/teamsApp/publishAppPackage.d.ts.map +1 -1
- package/build/component/driver/teamsApp/publishAppPackage.js +79 -4
- package/build/component/driver/teamsApp/publishAppPackage.js.map +1 -1
- package/build/component/driver/teamsApp/utils/ManifestUtils.d.ts +1 -0
- package/build/component/driver/teamsApp/utils/ManifestUtils.d.ts.map +1 -1
- package/build/component/driver/teamsApp/utils/ManifestUtils.js +7 -8
- package/build/component/driver/teamsApp/utils/ManifestUtils.js.map +1 -1
- package/build/component/driver/teamsApp/utils/PluginManifestUtils.d.ts +20 -0
- package/build/component/driver/teamsApp/utils/PluginManifestUtils.d.ts.map +1 -1
- package/build/component/driver/teamsApp/utils/PluginManifestUtils.js +152 -2
- package/build/component/driver/teamsApp/utils/PluginManifestUtils.js.map +1 -1
- package/build/component/generator/configFiles/configGenerator.d.ts +15 -0
- package/build/component/generator/configFiles/configGenerator.d.ts.map +1 -0
- package/build/component/generator/configFiles/configGenerator.js +167 -0
- package/build/component/generator/configFiles/configGenerator.js.map +1 -0
- package/build/component/generator/configFiles/copyPolicy.d.ts +10 -0
- package/build/component/generator/configFiles/copyPolicy.d.ts.map +1 -0
- package/build/component/generator/configFiles/copyPolicy.js +42 -0
- package/build/component/generator/configFiles/copyPolicy.js.map +1 -0
- package/build/component/generator/configFiles/jsonMerger.d.ts +11 -0
- package/build/component/generator/configFiles/jsonMerger.d.ts.map +1 -0
- package/build/component/generator/configFiles/jsonMerger.js +83 -0
- package/build/component/generator/configFiles/jsonMerger.js.map +1 -0
- package/build/component/generator/configFiles/renderTemplate.d.ts +2 -0
- package/build/component/generator/configFiles/renderTemplate.d.ts.map +1 -0
- package/build/component/generator/configFiles/renderTemplate.js +16 -0
- package/build/component/generator/configFiles/renderTemplate.js.map +1 -0
- package/build/component/generator/declarativeAgent/generator.d.ts +5 -0
- package/build/component/generator/declarativeAgent/generator.d.ts.map +1 -1
- package/build/component/generator/declarativeAgent/generator.js +78 -28
- package/build/component/generator/declarativeAgent/generator.js.map +1 -1
- package/build/component/generator/declarativeAgent/helper.d.ts.map +1 -1
- package/build/component/generator/declarativeAgent/helper.js +0 -1
- package/build/component/generator/declarativeAgent/helper.js.map +1 -1
- package/build/component/generator/generator.d.ts.map +1 -1
- package/build/component/generator/generator.js +3 -13
- package/build/component/generator/generator.js.map +1 -1
- package/build/component/generator/generatorAction.d.ts +1 -0
- package/build/component/generator/generatorAction.d.ts.map +1 -1
- package/build/component/generator/officeAddin/generator.d.ts.map +1 -1
- package/build/component/generator/officeAddin/generator.js +6 -4
- package/build/component/generator/officeAddin/generator.js.map +1 -1
- package/build/component/generator/officeAddin/metaOSHelper.d.ts.map +1 -1
- package/build/component/generator/officeAddin/metaOSHelper.js +13 -6
- package/build/component/generator/officeAddin/metaOSHelper.js.map +1 -1
- package/build/component/generator/openApiSpec/common.d.ts.map +1 -1
- package/build/component/generator/openApiSpec/common.js +11 -22
- package/build/component/generator/openApiSpec/common.js.map +1 -1
- package/build/component/generator/openApiSpec/kiota.d.ts +0 -6
- package/build/component/generator/openApiSpec/kiota.d.ts.map +1 -1
- package/build/component/generator/openApiSpec/kiota.js +2 -17
- package/build/component/generator/openApiSpec/kiota.js.map +1 -1
- package/build/component/generator/templates/metadata/index.d.ts.map +1 -1
- package/build/component/generator/templates/metadata/index.js +21 -25
- package/build/component/generator/templates/metadata/index.js.map +1 -1
- package/build/component/generator/templates/templateInfo.d.ts +1 -1
- package/build/component/generator/templates/templateInfo.d.ts.map +1 -1
- package/build/component/generator/templates/templateNames.d.ts +1 -0
- package/build/component/generator/templates/templateNames.d.ts.map +1 -1
- package/build/component/generator/templates/templateNames.js +1 -0
- package/build/component/generator/templates/templateNames.js.map +1 -1
- package/build/component/generator/templates/templateReplaceMap.d.ts.map +1 -1
- package/build/component/generator/templates/templateReplaceMap.js +2 -12
- package/build/component/generator/templates/templateReplaceMap.js.map +1 -1
- package/build/component/generator/utils.d.ts +3 -2
- package/build/component/generator/utils.d.ts.map +1 -1
- package/build/component/generator/utils.js.map +1 -1
- package/build/component/m365/packageService.d.ts.map +1 -1
- package/build/component/m365/packageService.js +16 -20
- package/build/component/m365/packageService.js.map +1 -1
- package/build/component/middleware/envMW.d.ts.map +1 -1
- package/build/component/middleware/envMW.js +7 -0
- package/build/component/middleware/envMW.js.map +1 -1
- package/build/component/utils/envUtil.d.ts +1 -0
- package/build/component/utils/envUtil.d.ts.map +1 -1
- package/build/component/utils/odrProvider.d.ts +49 -0
- package/build/component/utils/odrProvider.d.ts.map +1 -0
- package/build/component/utils/odrProvider.js +100 -0
- package/build/component/utils/odrProvider.js.map +1 -0
- package/build/component/utils/pathUtils.d.ts +2 -1
- package/build/component/utils/pathUtils.d.ts.map +1 -1
- package/build/component/utils/pathUtils.js +19 -3
- package/build/component/utils/pathUtils.js.map +1 -1
- package/build/component/utils/settingsUtil.d.ts +1 -1
- package/build/component/utils/settingsUtil.d.ts.map +1 -1
- package/build/component/utils/settingsUtil.js +20 -7
- package/build/component/utils/settingsUtil.js.map +1 -1
- package/build/core/FxCore.d.ts +10 -3
- package/build/core/FxCore.d.ts.map +1 -1
- package/build/core/FxCore.declarativeAgent.d.ts +6 -0
- package/build/core/FxCore.declarativeAgent.d.ts.map +1 -0
- package/build/core/FxCore.declarativeAgent.js +210 -0
- package/build/core/FxCore.declarativeAgent.js.map +1 -0
- package/build/core/FxCore.js +99 -208
- package/build/core/FxCore.js.map +1 -1
- package/build/core/generateConfigFiles.d.ts +4 -0
- package/build/core/generateConfigFiles.d.ts.map +1 -0
- package/build/core/generateConfigFiles.js +61 -0
- package/build/core/generateConfigFiles.js.map +1 -0
- package/build/core/middleware/projectSettingsLoader.d.ts.map +1 -1
- package/build/core/middleware/projectSettingsLoader.js +8 -2
- package/build/core/middleware/projectSettingsLoader.js.map +1 -1
- package/build/index.d.ts +2 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +5 -5
- package/build/index.js.map +1 -1
- package/build/question/collaborator.d.ts.map +1 -1
- package/build/question/collaborator.js +5 -8
- package/build/question/collaborator.js.map +1 -1
- package/build/question/constants.d.ts.map +1 -1
- package/build/question/constants.js +1 -3
- package/build/question/constants.js.map +1 -1
- package/build/question/inputs/CreateProjectInputs.d.ts +1 -15
- package/build/question/inputs/CreateProjectInputs.d.ts.map +1 -1
- package/build/question/options/CreateProjectOptions.d.ts +1 -1
- package/build/question/options/CreateProjectOptions.d.ts.map +1 -1
- package/build/question/options/CreateProjectOptions.js +0 -56
- package/build/question/options/CreateProjectOptions.js.map +1 -1
- package/build/question/other.d.ts.map +1 -1
- package/build/question/other.js +7 -8
- package/build/question/other.js.map +1 -1
- package/build/question/questionNames.d.ts +3 -0
- package/build/question/questionNames.d.ts.map +1 -1
- package/build/question/questionNames.js +3 -0
- package/build/question/questionNames.js.map +1 -1
- package/build/question/scaffold/commonNodes.d.ts +7 -0
- package/build/question/scaffold/commonNodes.d.ts.map +1 -0
- package/build/question/scaffold/commonNodes.js +154 -0
- package/build/question/scaffold/commonNodes.js.map +1 -0
- package/build/question/scaffold/constructNode.d.ts +3 -0
- package/build/question/scaffold/constructNode.d.ts.map +1 -0
- package/build/question/scaffold/constructNode.js +50 -0
- package/build/question/scaffold/constructNode.js.map +1 -0
- package/build/question/scaffold/vs/createRootNode.d.ts +1 -0
- package/build/question/scaffold/vs/createRootNode.d.ts.map +1 -1
- package/build/question/scaffold/vs/createRootNode.js +14 -16
- package/build/question/scaffold/vs/createRootNode.js.map +1 -1
- package/build/question/scaffold/vsc/ProjectTypeOptions.d.ts +0 -1
- package/build/question/scaffold/vsc/ProjectTypeOptions.d.ts.map +1 -1
- package/build/question/scaffold/vsc/ProjectTypeOptions.js +1 -14
- package/build/question/scaffold/vsc/ProjectTypeOptions.js.map +1 -1
- package/build/question/scaffold/vsc/createFromTdpNode.js +1 -1
- package/build/question/scaffold/vsc/createFromTdpNode.js.map +1 -1
- package/build/question/scaffold/vsc/createRootNode.d.ts +0 -7
- package/build/question/scaffold/vsc/createRootNode.d.ts.map +1 -1
- package/build/question/scaffold/vsc/createRootNode.js +4 -77
- package/build/question/scaffold/vsc/createRootNode.js.map +1 -1
- package/build/question/scaffold/vsc/customEngineAgentNode.d.ts +1 -1
- package/build/question/scaffold/vsc/customEngineAgentNode.d.ts.map +1 -1
- package/build/question/scaffold/vsc/customEngineAgentNode.js +22 -24
- package/build/question/scaffold/vsc/customEngineAgentNode.js.map +1 -1
- package/build/question/scaffold/vsc/daProjectTypeNode.d.ts.map +1 -1
- package/build/question/scaffold/vsc/daProjectTypeNode.js +4 -4
- package/build/question/scaffold/vsc/daProjectTypeNode.js.map +1 -1
- package/build/question/scaffold/vsc/officeAddinProjectTypeNode.d.ts +0 -1
- package/build/question/scaffold/vsc/officeAddinProjectTypeNode.d.ts.map +1 -1
- package/build/question/scaffold/vsc/officeAddinProjectTypeNode.js +2 -51
- package/build/question/scaffold/vsc/officeAddinProjectTypeNode.js.map +1 -1
- package/build/question/scaffold/vsc/teamsProjectTypeNode.d.ts +4 -7
- package/build/question/scaffold/vsc/teamsProjectTypeNode.d.ts.map +1 -1
- package/build/question/scaffold/vsc/teamsProjectTypeNode.js +96 -202
- package/build/question/scaffold/vsc/teamsProjectTypeNode.js.map +1 -1
- package/build/ui/visitor.d.ts.map +1 -1
- package/build/ui/visitor.js +5 -0
- package/build/ui/visitor.js.map +1 -1
- package/package.json +6 -6
- package/resource/package.nls.cs.json +116 -84
- package/resource/package.nls.de.json +126 -94
- package/resource/package.nls.es.json +126 -94
- package/resource/package.nls.fr.json +114 -82
- package/resource/package.nls.it.json +127 -95
- package/resource/package.nls.ja.json +115 -83
- package/resource/package.nls.json +16 -27
- package/resource/package.nls.ko.json +123 -91
- package/resource/package.nls.pl.json +125 -93
- package/resource/package.nls.pt-BR.json +122 -90
- package/resource/package.nls.ru.json +116 -84
- package/resource/package.nls.tr.json +113 -81
- package/resource/package.nls.zh-Hans.json +114 -82
- package/resource/package.nls.zh-Hant.json +120 -88
- package/resource/templates/package.nls.cs.json +33 -0
- package/resource/templates/package.nls.de.json +33 -0
- package/resource/templates/package.nls.es.json +33 -0
- package/resource/templates/package.nls.fr.json +33 -0
- package/resource/templates/package.nls.it.json +33 -0
- package/resource/templates/package.nls.ja.json +33 -0
- package/resource/templates/package.nls.json +33 -0
- package/resource/templates/package.nls.ko.json +33 -0
- package/resource/templates/package.nls.pl.json +33 -0
- package/resource/templates/package.nls.pt-BR.json +33 -0
- package/resource/templates/package.nls.ru.json +33 -0
- package/resource/templates/package.nls.tr.json +33 -0
- package/resource/templates/package.nls.zh-Hans.json +33 -0
- package/resource/templates/package.nls.zh-Hant.json +33 -0
- package/resource/templates/package.nls.zh-cn.json +21 -0
- package/resource/templates/package.nls.zh-tw.json +21 -0
- package/templates/configs/local/python/.vscode/launch.json.tpl +93 -0
- package/templates/configs/local/python/.vscode/tasks.json.tpl +103 -0
- package/templates/configs/local/python/env/.env.local +6 -0
- package/templates/configs/local/python/m365agents.local.yml.tpl +121 -0
- package/templates/configs/local/typescript/.gitignore +1 -0
- package/templates/configs/local/typescript/.vscode/launch.json.tpl +147 -0
- package/templates/configs/local/typescript/.vscode/tasks.json.tpl +129 -0
- package/templates/configs/local/typescript/env/.env.local +6 -0
- package/templates/configs/local/typescript/m365agents.local.yml.tpl +129 -0
- package/templates/configs/local/typescript/package.json +8 -0
- package/templates/configs/playground/python/.vscode/launch.json +46 -0
- package/templates/configs/playground/python/.vscode/tasks.json +35 -0
- package/templates/configs/playground/python/env/.env.playground +7 -0
- package/templates/configs/playground/python/m365agents.playground.yml +14 -0
- package/templates/configs/playground/typescript/.gitignore +4 -0
- package/templates/configs/playground/typescript/.localConfigs.playground +0 -0
- package/templates/configs/playground/typescript/.vscode/launch.json +31 -0
- package/templates/configs/playground/typescript/.vscode/tasks.json +104 -0
- package/templates/configs/playground/typescript/env/.env.playground +7 -0
- package/templates/configs/playground/typescript/env/.env.playground.user +0 -0
- package/templates/configs/playground/typescript/m365agents.playground.yml +23 -0
- package/templates/configs/playground/typescript/package.json +9 -0
- package/templates/fallback/common.zip +0 -0
- package/templates/fallback/csharp.zip +0 -0
- package/templates/fallback/js.zip +0 -0
- package/templates/fallback/python.zip +0 -0
- package/templates/fallback/ts.zip +0 -0
- package/templates/metadata/allTemplates.json +429 -0
- package/templates/metadata/defaultGeneratorTemplates.json +233 -0
- package/templates/metadata.zip +0 -0
- package/templates/ui/ceaNode.json +30 -0
- package/templates/ui/teamsNode.json +124 -0
- package/build/component/generator/templates/metadata/agentForTeams.d.ts +0 -3
- package/build/component/generator/templates/metadata/agentForTeams.d.ts.map +0 -1
- package/build/component/generator/templates/metadata/agentForTeams.js +0 -147
- package/build/component/generator/templates/metadata/agentForTeams.js.map +0 -1
- package/build/component/generator/templates/metadata/bot.d.ts +0 -3
- package/build/component/generator/templates/metadata/bot.d.ts.map +0 -1
- package/build/component/generator/templates/metadata/bot.js +0 -142
- package/build/component/generator/templates/metadata/bot.js.map +0 -1
- package/build/component/generator/templates/metadata/customEngineAgent.d.ts +0 -3
- package/build/component/generator/templates/metadata/customEngineAgent.d.ts.map +0 -1
- package/build/component/generator/templates/metadata/customEngineAgent.js +0 -39
- package/build/component/generator/templates/metadata/customEngineAgent.js.map +0 -1
- package/build/component/generator/templates/metadata/da.d.ts +0 -3
- package/build/component/generator/templates/metadata/da.d.ts.map +0 -1
- package/build/component/generator/templates/metadata/da.js +0 -117
- package/build/component/generator/templates/metadata/da.js.map +0 -1
- package/build/component/generator/templates/metadata/graphConnector.d.ts +0 -3
- package/build/component/generator/templates/metadata/graphConnector.d.ts.map +0 -1
- package/build/component/generator/templates/metadata/graphConnector.js +0 -15
- package/build/component/generator/templates/metadata/graphConnector.js.map +0 -1
- package/build/component/generator/templates/metadata/me.d.ts +0 -3
- package/build/component/generator/templates/metadata/me.d.ts.map +0 -1
- package/build/component/generator/templates/metadata/me.js +0 -111
- package/build/component/generator/templates/metadata/me.js.map +0 -1
- package/build/component/generator/templates/metadata/special.d.ts +0 -3
- package/build/component/generator/templates/metadata/special.d.ts.map +0 -1
- package/build/component/generator/templates/metadata/special.js +0 -70
- package/build/component/generator/templates/metadata/special.js.map +0 -1
- package/build/component/generator/templates/metadata/tab.d.ts +0 -3
- package/build/component/generator/templates/metadata/tab.d.ts.map +0 -1
- package/build/component/generator/templates/metadata/tab.js +0 -59
- package/build/component/generator/templates/metadata/tab.js.map +0 -1
- package/build/component/generator/templates/metadata/teams.d.ts +0 -3
- package/build/component/generator/templates/metadata/teams.d.ts.map +0 -1
- package/build/component/generator/templates/metadata/teams.js +0 -238
- package/build/component/generator/templates/metadata/teams.js.map +0 -1
- package/build/component/generator/templates/metadata/vs.d.ts +0 -3
- package/build/component/generator/templates/metadata/vs.d.ts.map +0 -1
- package/build/component/generator/templates/metadata/vs.js +0 -22
- package/build/component/generator/templates/metadata/vs.js.map +0 -1
- package/build/component/generator/templates/metadata/wxp.d.ts +0 -3
- package/build/component/generator/templates/metadata/wxp.d.ts.map +0 -1
- package/build/component/generator/templates/metadata/wxp.js +0 -33
- package/build/component/generator/templates/metadata/wxp.js.map +0 -1
- package/build/tsconfig.tsbuildinfo +0 -1
package/build/core/FxCore.js
CHANGED
|
@@ -7,7 +7,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 axios_1 = tslib_1.__importDefault(require("axios"));
|
|
11
10
|
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
12
11
|
const jsonschema = tslib_1.__importStar(require("jsonschema"));
|
|
13
12
|
const os = tslib_1.__importStar(require("os"));
|
|
@@ -18,16 +17,15 @@ const url_1 = require("url");
|
|
|
18
17
|
const teamsDevPortalClient_1 = require("../client/teamsDevPortalClient");
|
|
19
18
|
const constants_1 = require("../common/constants");
|
|
20
19
|
const daSpecParser_1 = require("../common/daSpecParser");
|
|
21
|
-
const featureFlags_1 = require("../common/featureFlags");
|
|
22
20
|
const globalVars_1 = require("../common/globalVars");
|
|
23
21
|
const localizeUtils_1 = require("../common/localizeUtils");
|
|
24
22
|
const projectSettingsHelper_1 = require("../common/projectSettingsHelper");
|
|
25
23
|
const projectTypeChecker_1 = require("../common/projectTypeChecker");
|
|
26
24
|
const telemetry_1 = require("../common/telemetry");
|
|
25
|
+
const templates_config_json_1 = tslib_1.__importDefault(require("../common/templates-config.json"));
|
|
27
26
|
const tools_1 = require("../common/tools");
|
|
28
27
|
const utils_1 = require("../common/utils");
|
|
29
28
|
const versionMetadata_1 = require("../common/versionMetadata");
|
|
30
|
-
const actionInjector_1 = require("../component/configManager/actionInjector");
|
|
31
29
|
const constant_1 = require("../component/configManager/constant");
|
|
32
30
|
const parser_1 = require("../component/configManager/parser");
|
|
33
31
|
const constants_2 = require("../component/constants");
|
|
@@ -51,6 +49,7 @@ const helper_1 = require("../component/generator/declarativeAgent/helper");
|
|
|
51
49
|
const oneDriveSharePointHandler_1 = require("../component/generator/declarativeAgent/oneDriveSharePointHandler");
|
|
52
50
|
const helper_2 = require("../component/generator/openApiSpec/helper");
|
|
53
51
|
const templateNames_1 = require("../component/generator/templates/templateNames");
|
|
52
|
+
const utils_5 = require("../component/generator/utils");
|
|
54
53
|
const launchHelper_1 = require("../component/m365/launchHelper");
|
|
55
54
|
const packageService_1 = require("../component/m365/packageService");
|
|
56
55
|
const serviceConstant_1 = require("../component/m365/serviceConstant");
|
|
@@ -72,6 +71,7 @@ const callback_1 = require("./callback");
|
|
|
72
71
|
const collaborator_1 = require("./collaborator");
|
|
73
72
|
const crypto_1 = require("./crypto");
|
|
74
73
|
const environmentName_1 = require("./environmentName");
|
|
74
|
+
const generateConfigFiles_1 = require("./generateConfigFiles");
|
|
75
75
|
const concurrentLocker_1 = require("./middleware/concurrentLocker");
|
|
76
76
|
const contextInjector_1 = require("./middleware/contextInjector");
|
|
77
77
|
const errorHandler_1 = require("./middleware/errorHandler");
|
|
@@ -81,13 +81,14 @@ const retry_1 = require("./middleware/retry");
|
|
|
81
81
|
const v3MigrationUtils_1 = require("./middleware/utils/v3MigrationUtils");
|
|
82
82
|
const share_2 = require("./share");
|
|
83
83
|
const telemetry_2 = require("./telemetry");
|
|
84
|
-
|
|
84
|
+
const FxCore_declarativeAgent_1 = require("./FxCore.declarativeAgent");
|
|
85
|
+
class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
85
86
|
constructor(tools) {
|
|
87
|
+
super();
|
|
86
88
|
(0, globalVars_1.setTools)(tools);
|
|
87
89
|
}
|
|
88
90
|
/**
|
|
89
91
|
* @todo this's a really primitive implement. Maybe could use Subscription Model to
|
|
90
|
-
// Copyright (c) Microsoft Corporation.
|
|
91
92
|
* refactor later.
|
|
92
93
|
*/
|
|
93
94
|
on(event, callback) {
|
|
@@ -1055,7 +1056,7 @@ class FxCore {
|
|
|
1055
1056
|
.toString()
|
|
1056
1057
|
.split(/\r?\n/)
|
|
1057
1058
|
.forEach((line) => {
|
|
1058
|
-
const reg = /^([a-zA-Z_][a-zA-Z0-9_]*=)/g;
|
|
1059
|
+
const reg = /^([a-zA-Z_][a-zA-Z0-9_]*=)(.*)/g;
|
|
1059
1060
|
const match = reg.exec(line);
|
|
1060
1061
|
if (match) {
|
|
1061
1062
|
if (match[1].startsWith("TEAMSFX_ENV=")) {
|
|
@@ -1065,7 +1066,7 @@ class FxCore {
|
|
|
1065
1066
|
writeStream.write(`APP_NAME_SUFFIX=${targetEnvName}${os.EOL}`);
|
|
1066
1067
|
}
|
|
1067
1068
|
else if (match[1].startsWith("AGENT_SCOPE=")) {
|
|
1068
|
-
writeStream.write(`AGENT_SCOPE
|
|
1069
|
+
writeStream.write(`AGENT_SCOPE=${match[2]}${os.EOL}`);
|
|
1069
1070
|
}
|
|
1070
1071
|
else {
|
|
1071
1072
|
writeStream.write(`${match[1]}${os.EOL}`);
|
|
@@ -1348,24 +1349,10 @@ class FxCore {
|
|
|
1348
1349
|
if (!inputs.projectPath) {
|
|
1349
1350
|
throw new Error("projectPath is undefined"); // should never happen
|
|
1350
1351
|
}
|
|
1351
|
-
// Call Kiota to select the OpenAPI spec file
|
|
1352
|
-
if (inputs.platform === teamsfx_api_1.Platform.VSCode &&
|
|
1353
|
-
featureFlags_1.featureFlagManager.getBooleanValue(featureFlags_1.FeatureFlags.KiotaIntegration) &&
|
|
1354
|
-
inputs[constants_3.QuestionNames.ActionType] === constants_3.ActionStartOptions.apiSpec().id &&
|
|
1355
|
-
!!!inputs[constants_3.QuestionNames.ActionManifestPath]) {
|
|
1356
|
-
return (0, teamsfx_api_1.ok)({
|
|
1357
|
-
projectPath: inputs.projectPath,
|
|
1358
|
-
lastCommand: constants_2.KiotaLastCommands.addPlugin,
|
|
1359
|
-
manifestPath: inputs[constants_3.QuestionNames.ManifestPath],
|
|
1360
|
-
});
|
|
1361
|
-
}
|
|
1362
1352
|
const context = (0, globalVars_1.createContext)();
|
|
1363
1353
|
const teamsManifestPath = inputs[constants_3.QuestionNames.ManifestPath];
|
|
1364
1354
|
const appPackageFolder = path.dirname(teamsManifestPath);
|
|
1365
1355
|
const isGenerateFromApiSpec = inputs[constants_3.QuestionNames.ActionType] === constants_3.ActionStartOptions.apiSpec().id;
|
|
1366
|
-
const isKiotaIntegration = inputs.platform === teamsfx_api_1.Platform.VSCode &&
|
|
1367
|
-
featureFlags_1.featureFlagManager.getBooleanValue(featureFlags_1.FeatureFlags.KiotaIntegration) &&
|
|
1368
|
-
!!inputs[constants_3.QuestionNames.ActionManifestPath];
|
|
1369
1356
|
// validate the project is valid for adding plugin
|
|
1370
1357
|
const manifestRes = await ManifestUtils_1.manifestUtils._readAppManifest(teamsManifestPath);
|
|
1371
1358
|
if (manifestRes.isErr()) {
|
|
@@ -1392,15 +1379,9 @@ class FxCore {
|
|
|
1392
1379
|
// Will be used if generating from API spec
|
|
1393
1380
|
let specParser = undefined;
|
|
1394
1381
|
let authNameAndSchemes = [];
|
|
1395
|
-
if (isGenerateFromApiSpec
|
|
1382
|
+
if (isGenerateFromApiSpec) {
|
|
1396
1383
|
specParser = new m365_spec_parser_1.SpecParser(inputs[constants_3.QuestionNames.ApiSpecLocation].trim(), (0, helper_2.getParserOptions)(m365_spec_parser_1.ProjectType.Copilot, true));
|
|
1397
1384
|
const listResult = await (0, daSpecParser_1.listAPIInfo)(inputs[constants_3.QuestionNames.ApiSpecLocation].trim());
|
|
1398
|
-
if (inputs.platform === teamsfx_api_1.Platform.VSCode &&
|
|
1399
|
-
featureFlags_1.featureFlagManager.getBooleanValue(featureFlags_1.FeatureFlags.KiotaIntegration) &&
|
|
1400
|
-
inputs[constants_3.QuestionNames.ActionType] === constants_3.ActionStartOptions.apiSpec().id &&
|
|
1401
|
-
!!inputs[constants_3.QuestionNames.ActionManifestPath]) {
|
|
1402
|
-
inputs[constants_3.QuestionNames.ApiOperation] = listResult.APIs.filter((value) => value.isValid).map((value) => value.api);
|
|
1403
|
-
}
|
|
1404
1385
|
authNameAndSchemes = this.parseAuthNameAndScheme(listResult, inputs);
|
|
1405
1386
|
if (authNameAndSchemes.length > 0) {
|
|
1406
1387
|
const doesLocalYamlPathExists = await fs_extra_1.default.pathExists(path.join(inputs.projectPath, versionMetadata_1.MetadataV3.localConfigFile));
|
|
@@ -1427,64 +1408,39 @@ class FxCore {
|
|
|
1427
1408
|
actionId = `action_${suffix}`;
|
|
1428
1409
|
}
|
|
1429
1410
|
let destinationPluginManifestPath;
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
await
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1411
|
+
// generate files
|
|
1412
|
+
if (isGenerateFromApiSpec && specParser) {
|
|
1413
|
+
destinationPluginManifestPath =
|
|
1414
|
+
await CopilotGptManifestUtils_1.copilotGptManifestUtils.getDefaultNextAvailablePluginManifestPath(appPackageFolder, undefined);
|
|
1415
|
+
const destinationApiSpecPath = await PluginManifestUtils_1.pluginManifestUtils.getDefaultNextAvailableApiSpecPath(inputs[constants_3.QuestionNames.ApiSpecLocation].trim(), path.join(appPackageFolder, teamsfx_api_1.DefaultApiSpecFolderName));
|
|
1416
|
+
const generateRes = await (0, helper_2.generateFromApiSpec)(specParser, teamsManifestPath, inputs, context, teamsfx_api_1.Stage.addPlugin, m365_spec_parser_1.ProjectType.Copilot, {
|
|
1417
|
+
destinationApiSpecFilePath: destinationApiSpecPath,
|
|
1418
|
+
pluginManifestFilePath: destinationPluginManifestPath,
|
|
1419
|
+
}, inputs[constants_3.QuestionNames.ApiSpecLocation].trim());
|
|
1420
|
+
if (generateRes.isErr()) {
|
|
1421
|
+
return (0, teamsfx_api_1.err)(generateRes.error);
|
|
1422
|
+
}
|
|
1423
|
+
const warnings = generateRes.value.warnings;
|
|
1424
|
+
if (warnings && warnings.length > 0) {
|
|
1425
|
+
const warnSummary = await (0, helper_2.generateScaffoldingSummary)(warnings, manifestRes.value, path.relative(inputs.projectPath, destinationApiSpecPath), path.relative(inputs.projectPath, destinationPluginManifestPath), inputs.projectPath);
|
|
1426
|
+
context.logProvider.info(warnSummary + "\n");
|
|
1427
|
+
}
|
|
1446
1428
|
const addActionRes = await CopilotGptManifestUtils_1.copilotGptManifestUtils.addAction(declarativeCopilotManifestPath, actionId, (0, utils_3.normalizePath)(path.relative(appPackageFolder, destinationPluginManifestPath), true));
|
|
1447
1429
|
if (addActionRes.isErr()) {
|
|
1448
1430
|
return (0, teamsfx_api_1.err)(addActionRes.error);
|
|
1449
1431
|
}
|
|
1450
|
-
|
|
1451
|
-
|
|
1432
|
+
for (const authNameAndScheme of authNameAndSchemes) {
|
|
1433
|
+
await this.updateAuthActionInYaml(authNameAndScheme.authName, authNameAndScheme.authScheme, inputs.projectPath, destinationApiSpecPath, destinationPluginManifestPath);
|
|
1434
|
+
}
|
|
1452
1435
|
}
|
|
1453
1436
|
else {
|
|
1454
|
-
|
|
1455
|
-
if (
|
|
1456
|
-
|
|
1457
|
-
await CopilotGptManifestUtils_1.copilotGptManifestUtils.getDefaultNextAvailablePluginManifestPath(appPackageFolder, undefined);
|
|
1458
|
-
const destinationApiSpecPath = await PluginManifestUtils_1.pluginManifestUtils.getDefaultNextAvailableApiSpecPath(inputs[constants_3.QuestionNames.ApiSpecLocation].trim(), path.join(appPackageFolder, teamsfx_api_1.DefaultApiSpecFolderName));
|
|
1459
|
-
const generateRes = await (0, helper_2.generateFromApiSpec)(specParser, teamsManifestPath, inputs, context, teamsfx_api_1.Stage.addPlugin, m365_spec_parser_1.ProjectType.Copilot, {
|
|
1460
|
-
destinationApiSpecFilePath: destinationApiSpecPath,
|
|
1461
|
-
pluginManifestFilePath: destinationPluginManifestPath,
|
|
1462
|
-
}, inputs[constants_3.QuestionNames.ApiSpecLocation].trim());
|
|
1463
|
-
if (generateRes.isErr()) {
|
|
1464
|
-
return (0, teamsfx_api_1.err)(generateRes.error);
|
|
1465
|
-
}
|
|
1466
|
-
const warnings = generateRes.value.warnings;
|
|
1467
|
-
if (warnings && warnings.length > 0) {
|
|
1468
|
-
const warnSummary = await (0, helper_2.generateScaffoldingSummary)(warnings, manifestRes.value, path.relative(inputs.projectPath, destinationApiSpecPath), path.relative(inputs.projectPath, destinationPluginManifestPath), inputs.projectPath);
|
|
1469
|
-
context.logProvider.info(warnSummary + "\n");
|
|
1470
|
-
}
|
|
1471
|
-
const addActionRes = await CopilotGptManifestUtils_1.copilotGptManifestUtils.addAction(declarativeCopilotManifestPath, actionId, (0, utils_3.normalizePath)(path.relative(appPackageFolder, destinationPluginManifestPath), true));
|
|
1472
|
-
if (addActionRes.isErr()) {
|
|
1473
|
-
return (0, teamsfx_api_1.err)(addActionRes.error);
|
|
1474
|
-
}
|
|
1475
|
-
for (const authNameAndScheme of authNameAndSchemes) {
|
|
1476
|
-
await this.updateAuthActionInYaml(authNameAndScheme.authName, authNameAndScheme.authScheme, inputs.projectPath, destinationApiSpecPath, destinationPluginManifestPath);
|
|
1477
|
-
}
|
|
1478
|
-
}
|
|
1479
|
-
else {
|
|
1480
|
-
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);
|
|
1481
|
-
if (addPluginRes.isErr()) {
|
|
1482
|
-
return (0, teamsfx_api_1.err)(addPluginRes.error);
|
|
1483
|
-
}
|
|
1484
|
-
destinationPluginManifestPath = addPluginRes.value.destinationPluginManifestPath;
|
|
1485
|
-
const warningMessage = (0, common_1.outputScaffoldingWarningMessage)(addPluginRes.value.warnings);
|
|
1486
|
-
context.logProvider.info(warningMessage);
|
|
1437
|
+
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);
|
|
1438
|
+
if (addPluginRes.isErr()) {
|
|
1439
|
+
return (0, teamsfx_api_1.err)(addPluginRes.error);
|
|
1487
1440
|
}
|
|
1441
|
+
destinationPluginManifestPath = addPluginRes.value.destinationPluginManifestPath;
|
|
1442
|
+
const warningMessage = (0, common_1.outputScaffoldingWarningMessage)(addPluginRes.value.warnings);
|
|
1443
|
+
context.logProvider.info(warningMessage);
|
|
1488
1444
|
}
|
|
1489
1445
|
if (inputs.platform === teamsfx_api_1.Platform.VSCode) {
|
|
1490
1446
|
const successMessage = (0, localizeUtils_1.getLocalizedString)("core.addPlugin.success.vsc", actionId);
|
|
@@ -1901,135 +1857,66 @@ class FxCore {
|
|
|
1901
1857
|
}
|
|
1902
1858
|
return (0, teamsfx_api_1.ok)(undefined);
|
|
1903
1859
|
}
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
if (
|
|
1909
|
-
|
|
1910
|
-
}
|
|
1911
|
-
const aiPluginFilePath = inputs[constants_3.QuestionNames.PluginManifestFilePath];
|
|
1912
|
-
if (!(await fs_extra_1.default.pathExists(aiPluginFilePath))) {
|
|
1913
|
-
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));
|
|
1914
|
-
return (0, teamsfx_api_1.err)(error);
|
|
1860
|
+
/**
|
|
1861
|
+
* dynamic template metadata download
|
|
1862
|
+
*/
|
|
1863
|
+
async fetchOnlineTemplateMetadata() {
|
|
1864
|
+
if (templates_config_json_1.default.useLocalTemplate) {
|
|
1865
|
+
return (0, teamsfx_api_1.ok)(undefined); // Skip if using local templates
|
|
1915
1866
|
}
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
registrationId = `MCP_DA_AUTH_ID_${serverName.toUpperCase()}`;
|
|
1928
|
-
if (authType === "oauth") {
|
|
1929
|
-
let wellKnownMetadataUrl = inputs[constants_3.QuestionNames.MCPForDAAuthWellKnownUrl];
|
|
1930
|
-
if (!wellKnownMetadataUrl) {
|
|
1931
|
-
const mcpAuthMetadataUrl = inputs[constants_3.QuestionNames.MCPForDAAuthMetadataUrl];
|
|
1932
|
-
if (!mcpAuthMetadataUrl) {
|
|
1933
|
-
throw new Error((0, localizeUtils_1.getLocalizedString)("core.MCPForDA.mcpAuthMetadataUrlNotFound"));
|
|
1934
|
-
}
|
|
1935
|
-
const response = await axios_1.default.get(mcpAuthMetadataUrl);
|
|
1936
|
-
if (response.status === 200 &&
|
|
1937
|
-
response.data &&
|
|
1938
|
-
response.data.authorization_servers &&
|
|
1939
|
-
response.data.authorization_servers.length > 0) {
|
|
1940
|
-
const mcpServerMetadataUrl = (_a = response.data.authorization_servers) === null || _a === void 0 ? void 0 : _a[0];
|
|
1941
|
-
// Transform the URL to the proper OAuth authorization server metadata endpoint
|
|
1942
|
-
// According to RFC 8414, the well-known endpoint should be constructed as:
|
|
1943
|
-
// https://{domain}/.well-known/oauth-authorization-server{path}
|
|
1944
|
-
const serverUrl = new URL(mcpServerMetadataUrl);
|
|
1945
|
-
wellKnownMetadataUrl = `${serverUrl.protocol}//${serverUrl.host}/.well-known/oauth-authorization-server${serverUrl.pathname}`;
|
|
1946
|
-
}
|
|
1947
|
-
else {
|
|
1948
|
-
throw new Error((0, localizeUtils_1.getLocalizedString)("core.MCPForDA.mcpServerMetadataUrlNotFound"));
|
|
1949
|
-
}
|
|
1950
|
-
}
|
|
1951
|
-
const metadataResponse = await axios_1.default.get(wellKnownMetadataUrl);
|
|
1952
|
-
if (metadataResponse.status === 200) {
|
|
1953
|
-
oauthAuthorizationUrl = metadataResponse.data.authorization_endpoint;
|
|
1954
|
-
oauthTokenUrl = metadataResponse.data.token_endpoint;
|
|
1955
|
-
oauthRefreshUrl = metadataResponse.data.refresh_endpoint;
|
|
1956
|
-
}
|
|
1957
|
-
if (!oauthAuthorizationUrl || !oauthTokenUrl) {
|
|
1958
|
-
throw new Error((0, localizeUtils_1.getLocalizedString)("core.MCPForDA.authUrlNotFound"));
|
|
1959
|
-
}
|
|
1960
|
-
}
|
|
1961
|
-
}
|
|
1962
|
-
catch (error) {
|
|
1963
|
-
void context.userInteraction.showMessage("error", (0, localizeUtils_1.getLocalizedString)("core.MCPForDA.mcpAuthMetadataMissingError", error.message), false);
|
|
1867
|
+
// Downloads the latest online template metadata (metadata.zip) into user's home .fx folder.
|
|
1868
|
+
// Caches the template version so subsequent calls avoid redundant downloads if unchanged.
|
|
1869
|
+
try {
|
|
1870
|
+
// Determine latest template version (respect prerelease env variable similar to getTemplateVSCUrl)
|
|
1871
|
+
const coreVersion = require("../../package.json").version;
|
|
1872
|
+
let latestVersion = "0.0.0-rc";
|
|
1873
|
+
if (coreVersion.includes("alpha") ||
|
|
1874
|
+
coreVersion.includes("beta") ||
|
|
1875
|
+
coreVersion.includes("rc")) {
|
|
1876
|
+
// daily build, prerelease or rc
|
|
1877
|
+
latestVersion = "0.0.0-rc";
|
|
1964
1878
|
}
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
const
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
.filter((runtime) => runtime.type === "RemoteMCPServer" &&
|
|
1980
|
-
runtime.spec.url === mcpServerUrl &&
|
|
1981
|
-
runtime.spec["enable_dynamic_discovery"] === false)
|
|
1982
|
-
.forEach((runtime) => {
|
|
1983
|
-
toolsSelectedPrevious.push(...runtime.run_for_functions);
|
|
1984
|
-
});
|
|
1985
|
-
aiPluginContent.functions = aiPluginContent.functions.filter((func) => !toolsSelectedPrevious.includes(func.name));
|
|
1986
|
-
aiPluginContent.functions = [
|
|
1987
|
-
...aiPluginContent.functions,
|
|
1988
|
-
...mcpToolsDetail
|
|
1989
|
-
.filter((tool) => mcpToolsSelected.includes(tool.name))
|
|
1990
|
-
.map((tool) => {
|
|
1991
|
-
return {
|
|
1992
|
-
name: tool.name,
|
|
1993
|
-
description: tool.description,
|
|
1994
|
-
parameters: {
|
|
1995
|
-
type: tool.inputSchema.type || "object",
|
|
1996
|
-
properties: tool.inputSchema.properties,
|
|
1997
|
-
required: tool.inputSchema.required || [],
|
|
1998
|
-
},
|
|
1999
|
-
};
|
|
2000
|
-
}),
|
|
2001
|
-
];
|
|
2002
|
-
aiPluginContent.runtimes = aiPluginContent.runtimes.filter((runtime) => runtime.type !== "RemoteMCPServer" ||
|
|
2003
|
-
runtime.spec.url !== mcpServerUrl ||
|
|
2004
|
-
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}\}\}`,
|
|
1879
|
+
else {
|
|
1880
|
+
// stable version
|
|
1881
|
+
latestVersion = await (0, utils_5.getTemplateLatestVersion)();
|
|
1882
|
+
}
|
|
1883
|
+
const homedir = os.homedir();
|
|
1884
|
+
const metadataDir = path.join(homedir, `.${String(teamsfx_api_1.ConfigFolderName)}`);
|
|
1885
|
+
await fs_extra_1.default.ensureDir(metadataDir);
|
|
1886
|
+
const versionFile = path.join(metadataDir, "template-version.txt");
|
|
1887
|
+
const needDownload = async () => {
|
|
1888
|
+
if (!(await fs_extra_1.default.pathExists(versionFile)))
|
|
1889
|
+
return true;
|
|
1890
|
+
try {
|
|
1891
|
+
const cachedVersion = (await fs_extra_1.default.readFile(versionFile, "utf-8")).trim();
|
|
1892
|
+
return cachedVersion !== latestVersion;
|
|
2016
1893
|
}
|
|
2017
|
-
|
|
2018
|
-
|
|
2019
|
-
|
|
2020
|
-
|
|
2021
|
-
await
|
|
1894
|
+
catch (_a) {
|
|
1895
|
+
return true; // re-download if any issue reading cached version
|
|
1896
|
+
}
|
|
1897
|
+
};
|
|
1898
|
+
if (!(await needDownload())) {
|
|
1899
|
+
return (0, teamsfx_api_1.ok)(undefined); // Already up-to-date
|
|
1900
|
+
}
|
|
1901
|
+
// Construct metadata.zip download URL based on tag prefix and version
|
|
1902
|
+
const tag = `${templates_config_json_1.default.tagPrefix}${latestVersion}`;
|
|
1903
|
+
const metadataZipUrl = `${templates_config_json_1.default.templateDownloadBaseURL}/${tag}/metadata.zip`;
|
|
1904
|
+
const zip = await (0, utils_5.fetchZipFromUrl)(metadataZipUrl);
|
|
1905
|
+
await (0, utils_5.unzip)(zip, metadataDir);
|
|
1906
|
+
await fs_extra_1.default.writeFile(versionFile, latestVersion, { encoding: "utf-8" });
|
|
1907
|
+
return (0, teamsfx_api_1.ok)(undefined);
|
|
1908
|
+
}
|
|
1909
|
+
catch (error) {
|
|
1910
|
+
const message = (error === null || error === void 0 ? void 0 : error.message) || "Unknown error while fetching template metadata";
|
|
1911
|
+
const systemErr = new teamsfx_api_1.SystemError("FetchOnlineTemplateMetadata", "DownloadFailed", message, message);
|
|
1912
|
+
return (0, teamsfx_api_1.err)(systemErr);
|
|
2022
1913
|
}
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
|
|
2027
|
-
|
|
2028
|
-
|
|
2029
|
-
});
|
|
2030
|
-
await fs_extra_1.default.writeJSON(aiPluginFilePath, aiPluginContent, { spaces: 4 });
|
|
2031
|
-
void ((_c = (_b = context.userInteraction).openFile) === null || _c === void 0 ? void 0 : _c.call(_b, aiPluginFilePath));
|
|
2032
|
-
return (0, teamsfx_api_1.ok)(undefined);
|
|
1914
|
+
}
|
|
1915
|
+
/**
|
|
1916
|
+
* dynamic template metadata download
|
|
1917
|
+
*/
|
|
1918
|
+
async generateConfigFiles(inputs) {
|
|
1919
|
+
return await (0, generateConfigFiles_1.generateConfigFiles)(inputs);
|
|
2033
1920
|
}
|
|
2034
1921
|
async updateAuthActionInYaml(authName, authScheme, projectPath, apSpecPath, pluginManifestPath, forceToAddNew = true) {
|
|
2035
1922
|
if (authName && authScheme) {
|
|
@@ -2855,14 +2742,18 @@ tslib_1.__decorate([
|
|
|
2855
2742
|
], FxCore.prototype, "installAppToChannel", null);
|
|
2856
2743
|
tslib_1.__decorate([
|
|
2857
2744
|
(0, hooks_1.hooks)([
|
|
2858
|
-
(0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage:
|
|
2745
|
+
(0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: "fetchOnlineTemplateMetadata" }),
|
|
2859
2746
|
errorHandler_1.ErrorHandlerMW,
|
|
2860
|
-
(0, questionMW_1.QuestionMW)("updateActionWithMCP"),
|
|
2861
|
-
concurrentLocker_1.ConcurrentLockerMW,
|
|
2862
2747
|
]),
|
|
2863
2748
|
tslib_1.__metadata("design:type", Function),
|
|
2749
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
2750
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
2751
|
+
], FxCore.prototype, "fetchOnlineTemplateMetadata", null);
|
|
2752
|
+
tslib_1.__decorate([
|
|
2753
|
+
(0, hooks_1.hooks)([(0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: "generateConfigFiles" }), errorHandler_1.ErrorHandlerMW]),
|
|
2754
|
+
tslib_1.__metadata("design:type", Function),
|
|
2864
2755
|
tslib_1.__metadata("design:paramtypes", [Object]),
|
|
2865
2756
|
tslib_1.__metadata("design:returntype", Promise)
|
|
2866
|
-
], FxCore.prototype, "
|
|
2757
|
+
], FxCore.prototype, "generateConfigFiles", null);
|
|
2867
2758
|
exports.FxCore = FxCore;
|
|
2868
2759
|
//# sourceMappingURL=FxCore.js.map
|