@microsoft/teamsfx-core 3.0.10-alpha.845b0d258.0 → 3.0.10-alpha.a791ca4b9.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 +10 -20
- package/build/common/featureFlags.d.ts.map +1 -1
- package/build/common/featureFlags.js +12 -21
- package/build/common/featureFlags.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 +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/utils/ManifestUtils.d.ts +1 -0
- package/build/component/driver/teamsApp/utils/ManifestUtils.d.ts.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 +40 -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 +76 -36
- 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/generatorAction.d.ts +1 -0
- package/build/component/generator/generatorAction.d.ts.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/templateInfo.d.ts +1 -1
- package/build/component/generator/templates/templateInfo.d.ts.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/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 +6 -2
- 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 +45 -231
- 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/question/other.d.ts.map +1 -1
- package/build/question/other.js +0 -2
- package/build/question/other.js.map +1 -1
- package/build/question/questionNames.d.ts +0 -3
- package/build/question/questionNames.d.ts.map +1 -1
- package/build/question/questionNames.js +0 -3
- package/build/question/questionNames.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/createRootNode.d.ts.map +1 -1
- package/build/question/scaffold/vsc/createRootNode.js +1 -5
- package/build/question/scaffold/vsc/createRootNode.js.map +1 -1
- package/build/question/scaffold/vsc/daProjectTypeNode.d.ts.map +1 -1
- package/build/question/scaffold/vsc/daProjectTypeNode.js +1 -2
- 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.map +1 -1
- package/build/question/scaffold/vsc/teamsProjectTypeNode.js +5 -16
- package/build/question/scaffold/vsc/teamsProjectTypeNode.js.map +1 -1
- package/package.json +5 -5
- package/resource/package.nls.cs.json +4 -4
- package/resource/package.nls.de.json +16 -16
- package/resource/package.nls.es.json +15 -15
- package/resource/package.nls.fr.json +4 -4
- package/resource/package.nls.it.json +4 -4
- package/resource/package.nls.ja.json +5 -5
- package/resource/package.nls.json +4 -4
- package/resource/package.nls.ko.json +15 -15
- package/resource/package.nls.pl.json +15 -15
- package/resource/package.nls.pt-BR.json +11 -11
- package/resource/package.nls.ru.json +6 -6
- package/resource/package.nls.tr.json +4 -4
- package/resource/package.nls.zh-Hans.json +4 -4
- package/resource/package.nls.zh-Hant.json +9 -9
- 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/env/.env.playground.user +0 -0
- package/templates/configs/playground/python/m365agents.playground.yml +14 -0
- package/templates/configs/playground/typescript/.gitignore +4 -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.zip +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configGenerator.d.ts","sourceRoot":"","sources":["../../../../src/component/generator/configFiles/configGenerator.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,OAAO,EAEP,OAAO,EACP,eAAe,EAEf,MAAM,EAEP,MAAM,wBAAwB,CAAC;AAchC,qBAAa,eAAe;IAC1B,aAAa,SAAqB;IAWrB,GAAG,CACd,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAA;KAAE,EAAE,EAC3D,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IA6E5C,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,YAAY;YAIN,kBAAkB;IAsBhC,OAAO,CAAC,+BAA+B;YAKzB,2BAA2B;CAsD1C;AAED,eAAO,MAAM,eAAe,iBAAwB,CAAC"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT license.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.configGenerator = exports.ConfigGenerator = void 0;
|
|
6
|
+
const tslib_1 = require("tslib");
|
|
7
|
+
const lib_1 = require("@feathersjs/hooks/lib");
|
|
8
|
+
const teamsfx_api_1 = require("@microsoft/teamsfx-api");
|
|
9
|
+
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
10
|
+
const path_1 = tslib_1.__importDefault(require("path"));
|
|
11
|
+
const uuid = tslib_1.__importStar(require("uuid"));
|
|
12
|
+
const localizeUtils_1 = require("../../../common/localizeUtils");
|
|
13
|
+
const telemetry_1 = require("../../../common/telemetry");
|
|
14
|
+
const folder_1 = require("../../../folder");
|
|
15
|
+
const messages_1 = require("../../messages");
|
|
16
|
+
const actionExecutionMW_1 = require("../../middleware/actionExecutionMW");
|
|
17
|
+
const settingsUtil_1 = require("../../utils/settingsUtil");
|
|
18
|
+
const copyPolicy_1 = require("./copyPolicy");
|
|
19
|
+
const jsonMerger_1 = require("./jsonMerger");
|
|
20
|
+
const renderTemplate_1 = require("./renderTemplate");
|
|
21
|
+
class ConfigGenerator {
|
|
22
|
+
constructor() {
|
|
23
|
+
this.componentName = "ConfigGenerator";
|
|
24
|
+
}
|
|
25
|
+
async run(context, destinationPath, components, features) {
|
|
26
|
+
await context.userInteraction.showMessage("info", "Generating configuration files...", false);
|
|
27
|
+
// telemetry props
|
|
28
|
+
const successComponents = [];
|
|
29
|
+
const failedComponents = [];
|
|
30
|
+
// Process all components: detect conflicts and generate files in a single pass
|
|
31
|
+
for (const component of components) {
|
|
32
|
+
const policyKey = this.getPolicyKey(component);
|
|
33
|
+
const policy = copyPolicy_1.policys[policyKey];
|
|
34
|
+
if (!policy) {
|
|
35
|
+
return (0, teamsfx_api_1.err)(new teamsfx_api_1.UserError(this.componentName, "UnknownPolicyError", (0, localizeUtils_1.getDefaultString)("error.generator.UnknownPolicy", policyKey)));
|
|
36
|
+
}
|
|
37
|
+
const fileDetectionResult = await this.detectFileConflict(destinationPath, policy);
|
|
38
|
+
if (fileDetectionResult.isErr()) {
|
|
39
|
+
await context.userInteraction.showMessage("warn", fileDetectionResult.error.message, false);
|
|
40
|
+
failedComponents.push(policyKey);
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
const sourcePath = path_1.default.join((0, folder_1.getTemplatesFolder)(), "configs", component.name, component.programmingLanguage);
|
|
44
|
+
await context.userInteraction.showMessage("info", `Processing ${component.name} (${component.programmingLanguage})...`, false);
|
|
45
|
+
const changes = await this.generateConfigFilesByPolicy(sourcePath, destinationPath, policy, features);
|
|
46
|
+
// Show what files were changed
|
|
47
|
+
for (const change of changes) {
|
|
48
|
+
const action = change.action === "added"
|
|
49
|
+
? "Added"
|
|
50
|
+
: change.action === "modified"
|
|
51
|
+
? "Modified"
|
|
52
|
+
: "Skipped";
|
|
53
|
+
await context.userInteraction.showMessage("info", ` ${action}: ${change.file}`, false);
|
|
54
|
+
}
|
|
55
|
+
successComponents.push(policyKey);
|
|
56
|
+
}
|
|
57
|
+
const settingsRes = await settingsUtil_1.settingsUtil.readSettings(destinationPath, false);
|
|
58
|
+
if (settingsRes.isErr())
|
|
59
|
+
return (0, teamsfx_api_1.err)(settingsRes.error);
|
|
60
|
+
const settings = settingsRes.value;
|
|
61
|
+
if (!settings.trackingId) {
|
|
62
|
+
settings.trackingId = uuid.v4();
|
|
63
|
+
}
|
|
64
|
+
await settingsUtil_1.settingsUtil.writeSettings(destinationPath, settings);
|
|
65
|
+
context.telemetryReporter.sendTelemetryEvent(telemetry_1.TelemetryEvent.GenerateConfigSummary, {
|
|
66
|
+
[telemetry_1.ProjectTypeProps.TeamsManifestCapabilities]: this.getCapabilities(features).join(",") || "",
|
|
67
|
+
successComponents: successComponents.join(",") || "",
|
|
68
|
+
failedComponents: failedComponents.join(",") || "",
|
|
69
|
+
trackingId: settings.trackingId || "",
|
|
70
|
+
});
|
|
71
|
+
return (0, teamsfx_api_1.ok)({});
|
|
72
|
+
}
|
|
73
|
+
getCapabilities(features) {
|
|
74
|
+
const capabilities = [];
|
|
75
|
+
if (features["hasTab"])
|
|
76
|
+
capabilities.push("Tab");
|
|
77
|
+
if (features["hasBot"])
|
|
78
|
+
capabilities.push("Bot");
|
|
79
|
+
if (features["hasMessageExtension"])
|
|
80
|
+
capabilities.push("ME");
|
|
81
|
+
if (features["hasDeclarativeAgent"])
|
|
82
|
+
capabilities.push("DA");
|
|
83
|
+
if (features["hasCustomEngineAgent"])
|
|
84
|
+
capabilities.push("CEA");
|
|
85
|
+
return capabilities;
|
|
86
|
+
}
|
|
87
|
+
getPolicyKey(component) {
|
|
88
|
+
return `${component.name}-${component.programmingLanguage}`;
|
|
89
|
+
}
|
|
90
|
+
async detectFileConflict(destinationPath, policy) {
|
|
91
|
+
for (const [filePath, copyPolicy] of Object.entries(policy)) {
|
|
92
|
+
if (!copyPolicy.allowExistingFile) {
|
|
93
|
+
const fullPath = path_1.default.join(destinationPath, filePath);
|
|
94
|
+
const fileExists = await fs_extra_1.default.pathExists(fullPath);
|
|
95
|
+
if (fileExists) {
|
|
96
|
+
return (0, teamsfx_api_1.err)(new teamsfx_api_1.UserError(this.componentName, "ConflictFileError", (0, localizeUtils_1.getDefaultString)("error.generator.FileConflictError", filePath)));
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return (0, teamsfx_api_1.ok)(undefined);
|
|
101
|
+
}
|
|
102
|
+
getFileExtensionWithoutTemplate(filePath) {
|
|
103
|
+
const withoutTemplate = filePath.endsWith(".tpl") ? filePath.slice(0, -4) : filePath;
|
|
104
|
+
return path_1.default.extname(withoutTemplate);
|
|
105
|
+
}
|
|
106
|
+
async generateConfigFilesByPolicy(sourcePath, destinationPath, policy, features) {
|
|
107
|
+
const changes = [];
|
|
108
|
+
for (const [filePath, copyPolicy] of Object.entries(policy)) {
|
|
109
|
+
const isTemplate = filePath.endsWith(".tpl");
|
|
110
|
+
let srcFilePath = path_1.default.join(sourcePath, filePath);
|
|
111
|
+
const destFilePath = path_1.default.join(destinationPath, isTemplate ? filePath.slice(0, -4) : filePath);
|
|
112
|
+
const fileExtension = this.getFileExtensionWithoutTemplate(filePath);
|
|
113
|
+
let renderedFilePath = null;
|
|
114
|
+
// Render template if needed
|
|
115
|
+
if (isTemplate) {
|
|
116
|
+
renderedFilePath = destFilePath + ".rendered";
|
|
117
|
+
const renderedContent = (0, renderTemplate_1.renderTemplate)(srcFilePath, features);
|
|
118
|
+
await fs_extra_1.default.outputFile(renderedFilePath, renderedContent, "utf-8");
|
|
119
|
+
srcFilePath = renderedFilePath;
|
|
120
|
+
}
|
|
121
|
+
try {
|
|
122
|
+
// Handle existing files
|
|
123
|
+
const fileExists = await fs_extra_1.default.pathExists(destFilePath);
|
|
124
|
+
const relativeFilePath = path_1.default.relative(destinationPath, destFilePath);
|
|
125
|
+
if (fileExists) {
|
|
126
|
+
if (copyPolicy.policy === "add" && fileExtension === ".json") {
|
|
127
|
+
await (0, jsonMerger_1.mergeJsonFile)(srcFilePath, destFilePath);
|
|
128
|
+
changes.push({ file: relativeFilePath, action: "modified" });
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
// For "skip" or non-JSON files, do nothing
|
|
132
|
+
changes.push({ file: relativeFilePath, action: "skipped" });
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
// If the file does not exist, just copy it.
|
|
137
|
+
await fs_extra_1.default.copy(srcFilePath, destFilePath);
|
|
138
|
+
changes.push({ file: relativeFilePath, action: "added" });
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
finally {
|
|
142
|
+
// Clean up rendered temp file
|
|
143
|
+
if (renderedFilePath !== null) {
|
|
144
|
+
await fs_extra_1.default.remove(renderedFilePath);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return changes;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
tslib_1.__decorate([
|
|
152
|
+
(0, lib_1.hooks)([
|
|
153
|
+
(0, actionExecutionMW_1.ActionExecutionMW)({
|
|
154
|
+
enableProgressBar: true,
|
|
155
|
+
progressTitle: messages_1.ProgressTitles.create,
|
|
156
|
+
progressSteps: 1,
|
|
157
|
+
enableTelemetry: true,
|
|
158
|
+
telemetryEventName: telemetry_1.TelemetryEvent.GenerateConfig,
|
|
159
|
+
}),
|
|
160
|
+
]),
|
|
161
|
+
tslib_1.__metadata("design:type", Function),
|
|
162
|
+
tslib_1.__metadata("design:paramtypes", [Object, String, Array, Object]),
|
|
163
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
164
|
+
], ConfigGenerator.prototype, "run", null);
|
|
165
|
+
exports.ConfigGenerator = ConfigGenerator;
|
|
166
|
+
exports.configGenerator = new ConfigGenerator();
|
|
167
|
+
//# sourceMappingURL=configGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configGenerator.js","sourceRoot":"","sources":["../../../../src/component/generator/configFiles/configGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface CopyPolicy {
|
|
2
|
+
allowExistingFile: boolean;
|
|
3
|
+
policy: "add" | "skip" | "error";
|
|
4
|
+
}
|
|
5
|
+
export declare const playgroundNode: Record<string, CopyPolicy>;
|
|
6
|
+
export declare const localNode: Record<string, CopyPolicy>;
|
|
7
|
+
export declare const playgroundPython: Record<string, CopyPolicy>;
|
|
8
|
+
export declare const localPython: Record<string, CopyPolicy>;
|
|
9
|
+
export declare const policys: Record<string, Record<string, CopyPolicy>>;
|
|
10
|
+
//# sourceMappingURL=copyPolicy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copyPolicy.d.ts","sourceRoot":"","sources":["../../../../src/component/generator/configFiles/copyPolicy.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,UAAU;IACzB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;CAClC;AAED,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAOrD,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAMhD,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAMvD,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAKlD,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAK9D,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT license.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.policys = exports.localPython = exports.playgroundPython = exports.localNode = exports.playgroundNode = void 0;
|
|
6
|
+
exports.playgroundNode = {
|
|
7
|
+
"package.json": { allowExistingFile: true, policy: "add" },
|
|
8
|
+
".vscode/launch.json": { allowExistingFile: true, policy: "add" },
|
|
9
|
+
".vscode/tasks.json": { allowExistingFile: true, policy: "add" },
|
|
10
|
+
"env/.env.playground": { allowExistingFile: false, policy: "skip" },
|
|
11
|
+
"env/.env.playground.user": { allowExistingFile: false, policy: "skip" },
|
|
12
|
+
"m365agents.playground.yml": { allowExistingFile: false, policy: "error" },
|
|
13
|
+
};
|
|
14
|
+
exports.localNode = {
|
|
15
|
+
"package.json": { allowExistingFile: true, policy: "add" },
|
|
16
|
+
".vscode/launch.json.tpl": { allowExistingFile: true, policy: "add" },
|
|
17
|
+
".vscode/tasks.json.tpl": { allowExistingFile: true, policy: "add" },
|
|
18
|
+
"env/.env.local": { allowExistingFile: false, policy: "skip" },
|
|
19
|
+
"m365agents.local.yml.tpl": { allowExistingFile: false, policy: "error" },
|
|
20
|
+
};
|
|
21
|
+
exports.playgroundPython = {
|
|
22
|
+
".vscode/launch.json": { allowExistingFile: true, policy: "add" },
|
|
23
|
+
".vscode/tasks.json": { allowExistingFile: true, policy: "add" },
|
|
24
|
+
"env/.env.playground": { allowExistingFile: false, policy: "skip" },
|
|
25
|
+
"env/.env.playground.user": { allowExistingFile: false, policy: "skip" },
|
|
26
|
+
"m365agents.playground.yml": { allowExistingFile: false, policy: "error" },
|
|
27
|
+
};
|
|
28
|
+
exports.localPython = {
|
|
29
|
+
".vscode/launch.json.tpl": { allowExistingFile: true, policy: "add" },
|
|
30
|
+
".vscode/tasks.json.tpl": { allowExistingFile: true, policy: "add" },
|
|
31
|
+
"env/.env.local": { allowExistingFile: false, policy: "skip" },
|
|
32
|
+
"m365agents.local.yml.tpl": { allowExistingFile: false, policy: "error" },
|
|
33
|
+
};
|
|
34
|
+
exports.policys = {
|
|
35
|
+
"playground-typescript": exports.playgroundNode,
|
|
36
|
+
"local-typescript": exports.localNode,
|
|
37
|
+
"playground-python": exports.playgroundPython,
|
|
38
|
+
"local-python": exports.localPython,
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=copyPolicy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copyPolicy.js","sourceRoot":"","sources":["../../../../src/component/generator/configFiles/copyPolicy.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAOrB,QAAA,cAAc,GAA+B;IACxD,cAAc,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;IAC1D,qBAAqB,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;IACjE,oBAAoB,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;IAChE,qBAAqB,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE;IACnE,0BAA0B,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE;IACxE,2BAA2B,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;CAC3E,CAAC;AAEW,QAAA,SAAS,GAA+B;IACnD,cAAc,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;IAC1D,yBAAyB,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;IACrE,wBAAwB,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;IACpE,gBAAgB,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE;IAC9D,0BAA0B,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;CAC1E,CAAC;AAEW,QAAA,gBAAgB,GAA+B;IAC1D,qBAAqB,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;IACjE,oBAAoB,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;IAChE,qBAAqB,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE;IACnE,0BAA0B,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE;IACxE,2BAA2B,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;CAC3E,CAAC;AAEW,QAAA,WAAW,GAA+B;IACrD,yBAAyB,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;IACrE,wBAAwB,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;IACpE,gBAAgB,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE;IAC9D,0BAA0B,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;CAC1E,CAAC;AAEW,QAAA,OAAO,GAA+C;IACjE,uBAAuB,EAAE,sBAAc;IACvC,kBAAkB,EAAE,iBAAS;IAC7B,mBAAmB,EAAE,wBAAgB;IACrC,cAAc,EAAE,mBAAW;CAC5B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Merge source JSON file (with comments) into target JSON file (with comments) at node level.
|
|
3
|
+
* Rules:
|
|
4
|
+
* - If a top-level or nested property in source does not exist in target, add it (preserving source value).
|
|
5
|
+
* - If property exists and both values are arrays, append source array elements to target array (with de-duplication).
|
|
6
|
+
* - If property exists and both values are plain objects, recurse.
|
|
7
|
+
* - Otherwise (primitive / mismatched types), keep the existing target value (no overwrite).
|
|
8
|
+
* - Comments present in the existing target file are preserved. New properties won't have comments unless provided in target.
|
|
9
|
+
*/
|
|
10
|
+
export declare function mergeJsonFile(sourcePath: string, targetPath: string): Promise<void>;
|
|
11
|
+
//# sourceMappingURL=jsonMerger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonMerger.d.ts","sourceRoot":"","sources":["../../../../src/component/generator/configFiles/jsonMerger.ts"],"names":[],"mappings":"AAMA;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBzF"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT license.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.mergeJsonFile = void 0;
|
|
6
|
+
const tslib_1 = require("tslib");
|
|
7
|
+
const commentJson = tslib_1.__importStar(require("comment-json"));
|
|
8
|
+
const fs = tslib_1.__importStar(require("fs-extra"));
|
|
9
|
+
/**
|
|
10
|
+
* Merge source JSON file (with comments) into target JSON file (with comments) at node level.
|
|
11
|
+
* Rules:
|
|
12
|
+
* - If a top-level or nested property in source does not exist in target, add it (preserving source value).
|
|
13
|
+
* - If property exists and both values are arrays, append source array elements to target array (with de-duplication).
|
|
14
|
+
* - If property exists and both values are plain objects, recurse.
|
|
15
|
+
* - Otherwise (primitive / mismatched types), keep the existing target value (no overwrite).
|
|
16
|
+
* - Comments present in the existing target file are preserved. New properties won't have comments unless provided in target.
|
|
17
|
+
*/
|
|
18
|
+
async function mergeJsonFile(sourcePath, targetPath) {
|
|
19
|
+
if (!(await fs.pathExists(sourcePath)))
|
|
20
|
+
return; // nothing to merge
|
|
21
|
+
if (!(await fs.pathExists(targetPath))) {
|
|
22
|
+
// If target does not exist just copy source over
|
|
23
|
+
await fs.copy(sourcePath, targetPath);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const rawSource = await fs.readFile(sourcePath, "utf8");
|
|
27
|
+
const rawTarget = await fs.readFile(targetPath, "utf8");
|
|
28
|
+
// Parse with comment-json to retain comments/whitespace metadata where possible
|
|
29
|
+
// Do NOT pass 'true' as third param (that would strip comments)
|
|
30
|
+
const source = commentJson.parse(rawSource);
|
|
31
|
+
const target = commentJson.parse(rawTarget);
|
|
32
|
+
const merged = mergeNodes(target, source);
|
|
33
|
+
const output = commentJson.stringify(merged, null, 2) + "\n";
|
|
34
|
+
await fs.writeFile(targetPath, output, "utf8");
|
|
35
|
+
}
|
|
36
|
+
exports.mergeJsonFile = mergeJsonFile;
|
|
37
|
+
function isPlainObject(val) {
|
|
38
|
+
return !!val && typeof val === "object" && !Array.isArray(val);
|
|
39
|
+
}
|
|
40
|
+
function arrayContains(arr, el) {
|
|
41
|
+
// For primitives, use strict equality
|
|
42
|
+
if (typeof el !== "object" || el === null) {
|
|
43
|
+
return arr.includes(el);
|
|
44
|
+
}
|
|
45
|
+
// For objects/arrays, use deep equality check
|
|
46
|
+
return arr.some((item) => JSON.stringify(item) === JSON.stringify(el));
|
|
47
|
+
}
|
|
48
|
+
function mergeNodes(target, source) {
|
|
49
|
+
if (Array.isArray(target) && Array.isArray(source)) {
|
|
50
|
+
// Append all elements from source (retain order, no duplicates)
|
|
51
|
+
for (const el of source) {
|
|
52
|
+
if (!arrayContains(target, el)) {
|
|
53
|
+
target.push(el);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return target;
|
|
57
|
+
}
|
|
58
|
+
if (isPlainObject(target) && isPlainObject(source)) {
|
|
59
|
+
for (const key of Object.keys(source)) {
|
|
60
|
+
const sVal = source[key];
|
|
61
|
+
if (!(key in target)) {
|
|
62
|
+
target[key] = sVal;
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
const tVal = target[key];
|
|
66
|
+
if (Array.isArray(tVal) && Array.isArray(sVal)) {
|
|
67
|
+
for (const el of sVal) {
|
|
68
|
+
if (!arrayContains(tVal, el)) {
|
|
69
|
+
tVal.push(el);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
else if (isPlainObject(tVal) && isPlainObject(sVal)) {
|
|
74
|
+
mergeNodes(tVal, sVal);
|
|
75
|
+
} // else keep existing primitive / mismatched types
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return target;
|
|
79
|
+
}
|
|
80
|
+
// For primitives or mismatched types: do not overwrite target per requirements
|
|
81
|
+
return target;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=jsonMerger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonMerger.js","sourceRoot":"","sources":["../../../../src/component/generator/configFiles/jsonMerger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderTemplate.d.ts","sourceRoot":"","sources":["../../../../src/component/generator/configFiles/renderTemplate.ts"],"names":[],"mappings":"AAMA,wBAAgB,cAAc,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAK7F"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT license.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.renderTemplate = void 0;
|
|
6
|
+
const tslib_1 = require("tslib");
|
|
7
|
+
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
8
|
+
const handlebars_1 = tslib_1.__importDefault(require("handlebars"));
|
|
9
|
+
function renderTemplate(templateFilePath, context) {
|
|
10
|
+
const templateContent = fs_extra_1.default.readFileSync(templateFilePath, "utf-8");
|
|
11
|
+
const template = handlebars_1.default.compile(templateContent);
|
|
12
|
+
const renderedContent = template(context);
|
|
13
|
+
return renderedContent;
|
|
14
|
+
}
|
|
15
|
+
exports.renderTemplate = renderTemplate;
|
|
16
|
+
//# sourceMappingURL=renderTemplate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderTemplate.js","sourceRoot":"","sources":["../../../../src/component/generator/configFiles/renderTemplate.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;AAElC,gEAA0B;AAC1B,oEAAoC;AAEpC,SAAgB,cAAc,CAAC,gBAAwB,EAAE,OAA4B;IACnF,MAAM,eAAe,GAAG,kBAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,oBAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACrD,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1C,OAAO,eAAe,CAAC;AACzB,CAAC;AALD,wCAKC"}
|
|
@@ -15,5 +15,10 @@ export declare class DeclarativeAgentGenerator extends DefaultTemplateGenerator
|
|
|
15
15
|
activate(context: Context, inputs: Inputs): boolean;
|
|
16
16
|
getTemplateInfos(context: Context, inputs: Inputs, destinationPath: string, actionContext?: ActionContext): Promise<Result<TemplateInfo[], FxError>>;
|
|
17
17
|
post(context: Context, inputs: Inputs, destinationPath: string, actionContext?: ActionContext): Promise<Result<GeneratorResult, FxError>>;
|
|
18
|
+
/**
|
|
19
|
+
* Process selected MCP local servers from inputs and format for template
|
|
20
|
+
* Handles both single and multiple server selection for backward compatibility
|
|
21
|
+
*/
|
|
22
|
+
private processMCPLocalServers;
|
|
18
23
|
}
|
|
19
24
|
//# sourceMappingURL=generator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../../src/component/generator/declarativeAgent/generator.ts"],"names":[],"mappings":"AAGA;;GAEG;AAEH,OAAO,EAEL,OAAO,
|
|
1
|
+
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../../src/component/generator/declarativeAgent/generator.ts"],"names":[],"mappings":"AAGA;;GAEG;AAEH,OAAO,EAEL,OAAO,EAEP,OAAO,EACP,eAAe,EACf,MAAM,EAKN,MAAM,EAGP,MAAM,wBAAwB,CAAC;AAchC,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAYzD;;;;GAIG;AACH,qBAAa,yBAA0B,SAAQ,wBAAwB;IACrE,aAAa,SAA8C;IAC3C,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAY7C,gBAAgB,CACpC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,aAAa,CAAC,EAAE,aAAa,GAC5B,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,OAAO,CAAC,CAAC;IA8DrB,IAAI,CACxB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,aAAa,CAAC,EAAE,aAAa,GAC5B,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAoE5C;;;OAGG;IACH,OAAO,CAAC,sBAAsB;CAqE/B"}
|
|
@@ -8,20 +8,20 @@ const tslib_1 = require("tslib");
|
|
|
8
8
|
* @author yuqzho@microsoft.com
|
|
9
9
|
*/
|
|
10
10
|
const teamsfx_api_1 = require("@microsoft/teamsfx-api");
|
|
11
|
+
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
11
12
|
const lodash_1 = require("lodash");
|
|
12
13
|
const path_1 = tslib_1.__importDefault(require("path"));
|
|
14
|
+
const featureFlags_1 = require("../../../common/featureFlags");
|
|
15
|
+
const stringUtils_1 = require("../../../common/stringUtils");
|
|
13
16
|
const question_1 = require("../../../question");
|
|
17
|
+
const constants_1 = require("../../driver/teamsApp/constants");
|
|
14
18
|
const CopilotGptManifestUtils_1 = require("../../driver/teamsApp/utils/CopilotGptManifestUtils");
|
|
15
19
|
const common_1 = require("../../utils/common");
|
|
16
20
|
const defaultGenerator_1 = require("../defaultGenerator");
|
|
17
21
|
const generator_1 = require("../generator");
|
|
18
22
|
const templateNames_1 = require("../templates/templateNames");
|
|
19
|
-
const helper_1 = require("./helper");
|
|
20
|
-
const constants_1 = require("../../driver/teamsApp/constants");
|
|
21
|
-
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
22
|
-
const featureFlags_1 = require("../../../common/featureFlags");
|
|
23
|
-
const stringUtils_1 = require("../../../common/stringUtils");
|
|
24
23
|
const utils_1 = require("../utils");
|
|
24
|
+
const helper_1 = require("./helper");
|
|
25
25
|
/**
|
|
26
26
|
* Generator for copilot extensions including declarative copilot with no plugin,
|
|
27
27
|
* declarative copilot with API plugin from scratch, declarative copilot with existing plugin,
|
|
@@ -52,37 +52,36 @@ class DeclarativeAgentGenerator extends defaultGenerator_1.DefaultTemplateGenera
|
|
|
52
52
|
const MCPServerType = inputs[question_1.QuestionNames.MCPServerType];
|
|
53
53
|
const isLocalMCP = MCPServerType === "local";
|
|
54
54
|
const MCPForDAServerUrl = inputs[question_1.QuestionNames.MCPForDAServerUrl];
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
:
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
]));
|
|
55
|
+
try {
|
|
56
|
+
const replaceMap = Object.assign(Object.assign(Object.assign({}, generator_1.Generator.getDefaultVariables(inputs[question_1.QuestionNames.TemplateName] === templateNames_1.TemplateNames.DeclarativeAgentWithTypeSpec
|
|
57
|
+
? (0, stringUtils_1.convertToAlphanumericOnly)(appName)
|
|
58
|
+
: appName, safeProjectNameFromVS, solutionNameFromVS, inputs.targetFramework, inputs.placeProjectFileInSolutionDir === "true")), { DeclarativeCopilot: "true", MicrosoftEntra: auth === question_1.ApiAuthOptions.microsoftEntra().id ? "true" : "", IsLocalMCP: isLocalMCP ? "true" : "" }), (isLocalMCP
|
|
59
|
+
? this.processMCPLocalServers(inputs)
|
|
60
|
+
: MCPForDAServerUrl
|
|
61
|
+
? {
|
|
62
|
+
MCPForDAServerUrl,
|
|
63
|
+
ServerName: new URL(MCPForDAServerUrl).host
|
|
64
|
+
.replace(/[^a-zA-Z0-9]/g, "")
|
|
65
|
+
.substring(0, 10),
|
|
66
|
+
}
|
|
67
|
+
: {}));
|
|
68
|
+
const templateName = inputs[question_1.QuestionNames.TemplateName];
|
|
69
|
+
(0, lodash_1.merge)(actionContext === null || actionContext === void 0 ? void 0 : actionContext.telemetryProps, {
|
|
70
|
+
["template-name" /* telemetryProperties.templateName */]: templateName,
|
|
71
|
+
["is-microsoft-entra" /* telemetryProperties.isMicrosoftEntra */]: auth === question_1.ApiAuthOptions.microsoftEntra().id ? "true" : "",
|
|
72
|
+
["need-add-plugin-from-existing" /* telemetryProperties.needAddPluginFromExisting */]: inputs[question_1.QuestionNames.ActionType] === question_1.ActionStartOptions.existingPlugin().id.toString(),
|
|
73
|
+
});
|
|
74
|
+
return Promise.resolve((0, teamsfx_api_1.ok)([
|
|
75
|
+
{
|
|
76
|
+
templateName,
|
|
77
|
+
language: language,
|
|
78
|
+
replaceMap,
|
|
79
|
+
},
|
|
80
|
+
]));
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
return (0, teamsfx_api_1.err)(error);
|
|
84
|
+
}
|
|
86
85
|
}
|
|
87
86
|
async post(context, inputs, destinationPath, actionContext) {
|
|
88
87
|
const teamsManifestPath = path_1.default.join(destinationPath, teamsfx_api_1.AppPackageFolderName, teamsfx_api_1.ManifestTemplateFileName);
|
|
@@ -130,6 +129,47 @@ class DeclarativeAgentGenerator extends defaultGenerator_1.DefaultTemplateGenera
|
|
|
130
129
|
return (0, teamsfx_api_1.ok)({});
|
|
131
130
|
}
|
|
132
131
|
}
|
|
132
|
+
/**
|
|
133
|
+
* Process selected MCP local servers from inputs and format for template
|
|
134
|
+
* Handles both single and multiple server selection for backward compatibility
|
|
135
|
+
*/
|
|
136
|
+
processMCPLocalServers(inputs) {
|
|
137
|
+
const selectedOptions = inputs[question_1.QuestionNames.MCPLocalServer];
|
|
138
|
+
if (selectedOptions && !Array.isArray(selectedOptions)) {
|
|
139
|
+
throw new teamsfx_api_1.SystemError(this.componentName, "processMCPLocalServers", "Expected MCPLocalServer input to be an array");
|
|
140
|
+
}
|
|
141
|
+
// Handle empty/invalid selection
|
|
142
|
+
if (!selectedOptions || selectedOptions.length === 0) {
|
|
143
|
+
return {
|
|
144
|
+
MCPLocalServers: [],
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
// Map selected options to server configs
|
|
148
|
+
const servers = selectedOptions.map((option, index) => {
|
|
149
|
+
// Validate option structure
|
|
150
|
+
if (!option.data || typeof option.data !== "string") {
|
|
151
|
+
throw new teamsfx_api_1.SystemError(this.componentName, "processMCPLocalServers", "Invalid option data structure");
|
|
152
|
+
}
|
|
153
|
+
const serverData = JSON.parse(option.data);
|
|
154
|
+
// Validate parsed data
|
|
155
|
+
if (!serverData.identifier || !Array.isArray(serverData.args)) {
|
|
156
|
+
throw new teamsfx_api_1.SystemError(this.componentName, "processMCPLocalServers", "Invalid server data format");
|
|
157
|
+
}
|
|
158
|
+
if (!serverData.command || typeof serverData.command !== "string") {
|
|
159
|
+
throw new teamsfx_api_1.UserError(this.componentName, "processMCPLocalServers", "Invalid or missing command in server data");
|
|
160
|
+
}
|
|
161
|
+
return {
|
|
162
|
+
name: option.id,
|
|
163
|
+
identifier: serverData.identifier,
|
|
164
|
+
command: serverData.command,
|
|
165
|
+
args: serverData.args.map((arg) => `"${arg}"`).join(", "),
|
|
166
|
+
notLast: index < selectedOptions.length - 1,
|
|
167
|
+
};
|
|
168
|
+
});
|
|
169
|
+
return {
|
|
170
|
+
MCPLocalServers: servers,
|
|
171
|
+
};
|
|
172
|
+
}
|
|
133
173
|
}
|
|
134
174
|
exports.DeclarativeAgentGenerator = DeclarativeAgentGenerator;
|
|
135
175
|
//# sourceMappingURL=generator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../src/component/generator/declarativeAgent/generator.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;AAElC;;GAEG;AAEH,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../src/component/generator/declarativeAgent/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../../../src/component/generator/declarativeAgent/helper.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,OAAO,EAIP,OAAO,EACP,eAAe,EACf,MAAM,EAEN,oBAAoB,EACpB,MAAM,EAEN,SAAS,EACT,OAAO,EACR,MAAM,wBAAwB,CAAC;AAYhC,OAAO,EAKL,YAAY,EACb,MAAM,6BAA6B,CAAC;AASrC,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,6BAA6B,EAAE,MAAM,CAAC;CACvC;AAMD,wBAAsB,iBAAiB,CACrC,8BAA8B,EAAE,MAAM,EACtC,sBAAsB,EAAE,MAAM,EAC9B,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC,CAkGnD;AAED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,oBAAoB,EAC9B,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CA6E9B;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,SAAS,CAAC,CAAC,CAgE5C;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AACD,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAuC5D;AAED,wBAAsB,mBAAmB,CACvC,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../../../src/component/generator/declarativeAgent/helper.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,OAAO,EAIP,OAAO,EACP,eAAe,EACf,MAAM,EAEN,oBAAoB,EACpB,MAAM,EAEN,SAAS,EACT,OAAO,EACR,MAAM,wBAAwB,CAAC;AAYhC,OAAO,EAKL,YAAY,EACb,MAAM,6BAA6B,CAAC;AASrC,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,6BAA6B,EAAE,MAAM,CAAC;CACvC;AAMD,wBAAsB,iBAAiB,CACrC,8BAA8B,EAAE,MAAM,EACtC,sBAAsB,EAAE,MAAM,EAC9B,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC,CAkGnD;AAED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,oBAAoB,EAC9B,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CA6E9B;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,SAAS,CAAC,CAAC,CAgE5C;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AACD,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAuC5D;AAED,wBAAsB,mBAAmB,CACvC,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAiG3C"}
|