@microsoft/teamsfx-core 3.1.3 → 3.1.4-alpha.564122f4e1.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 (133) hide show
  1. package/build/common/templates-config.json +4 -4
  2. package/build/component/configManager/actionInjector.d.ts +4 -2
  3. package/build/component/configManager/actionInjector.d.ts.map +1 -1
  4. package/build/component/configManager/actionInjector.js +50 -3
  5. package/build/component/configManager/actionInjector.js.map +1 -1
  6. package/build/component/driver/teamsApp/utils/utils.d.ts.map +1 -1
  7. package/build/component/driver/teamsApp/utils/utils.js +1 -18
  8. package/build/component/driver/teamsApp/utils/utils.js.map +1 -1
  9. package/build/component/generator/openApiSpec/helper.d.ts +1 -1
  10. package/build/component/generator/openApiSpec/helper.d.ts.map +1 -1
  11. package/build/component/generator/openApiSpec/helper.js +23 -3
  12. package/build/component/generator/openApiSpec/helper.js.map +1 -1
  13. package/build/component/generator/openPlugin/authResolver.d.ts +2 -2
  14. package/build/component/generator/openPlugin/authResolver.d.ts.map +1 -1
  15. package/build/component/generator/openPlugin/authResolver.js +17 -7
  16. package/build/component/generator/openPlugin/authResolver.js.map +1 -1
  17. package/build/component/generator/openPlugin/errors.d.ts +4 -0
  18. package/build/component/generator/openPlugin/errors.d.ts.map +1 -0
  19. package/build/component/generator/openPlugin/errors.js +13 -0
  20. package/build/component/generator/openPlugin/errors.js.map +1 -0
  21. package/build/component/generator/openPlugin/exporter.d.ts +9 -6
  22. package/build/component/generator/openPlugin/exporter.d.ts.map +1 -1
  23. package/build/component/generator/openPlugin/exporter.js +502 -53
  24. package/build/component/generator/openPlugin/exporter.js.map +1 -1
  25. package/build/component/generator/openPlugin/fileSystem.d.ts +28 -0
  26. package/build/component/generator/openPlugin/fileSystem.d.ts.map +1 -0
  27. package/build/component/generator/openPlugin/fileSystem.js +181 -0
  28. package/build/component/generator/openPlugin/fileSystem.js.map +1 -0
  29. package/build/component/generator/openPlugin/iconStrategy.d.ts.map +1 -1
  30. package/build/component/generator/openPlugin/iconStrategy.js +30 -14
  31. package/build/component/generator/openPlugin/iconStrategy.js.map +1 -1
  32. package/build/component/generator/openPlugin/importer.d.ts.map +1 -1
  33. package/build/component/generator/openPlugin/importer.js +75 -12
  34. package/build/component/generator/openPlugin/importer.js.map +1 -1
  35. package/build/component/generator/openPlugin/mapper.d.ts +3 -2
  36. package/build/component/generator/openPlugin/mapper.d.ts.map +1 -1
  37. package/build/component/generator/openPlugin/mapper.js +188 -29
  38. package/build/component/generator/openPlugin/mapper.js.map +1 -1
  39. package/build/component/generator/openPlugin/parser.d.ts.map +1 -1
  40. package/build/component/generator/openPlugin/parser.js +264 -70
  41. package/build/component/generator/openPlugin/parser.js.map +1 -1
  42. package/build/component/generator/openPlugin/skillValidation.d.ts +2 -0
  43. package/build/component/generator/openPlugin/skillValidation.d.ts.map +1 -0
  44. package/build/component/generator/openPlugin/skillValidation.js +63 -0
  45. package/build/component/generator/openPlugin/skillValidation.js.map +1 -0
  46. package/build/component/generator/openPlugin/spec.d.ts +67 -0
  47. package/build/component/generator/openPlugin/spec.d.ts.map +1 -0
  48. package/build/component/generator/openPlugin/spec.js +157 -0
  49. package/build/component/generator/openPlugin/spec.js.map +1 -0
  50. package/build/component/generator/openPlugin/textUtils.d.ts +1 -1
  51. package/build/component/generator/openPlugin/textUtils.d.ts.map +1 -1
  52. package/build/component/generator/openPlugin/textUtils.js +8 -7
  53. package/build/component/generator/openPlugin/textUtils.js.map +1 -1
  54. package/build/component/generator/openPlugin/types.d.ts +76 -14
  55. package/build/component/generator/openPlugin/types.d.ts.map +1 -1
  56. package/build/component/generator/openPlugin/validation.d.ts +17 -0
  57. package/build/component/generator/openPlugin/validation.d.ts.map +1 -0
  58. package/build/component/generator/openPlugin/validation.js +563 -0
  59. package/build/component/generator/openPlugin/validation.js.map +1 -0
  60. package/build/component/utils/common.d.ts +1 -9
  61. package/build/component/utils/common.d.ts.map +1 -1
  62. package/build/component/utils/common.js +7 -37
  63. package/build/component/utils/common.js.map +1 -1
  64. package/build/component/utils/envFunctionUtils.d.ts +3 -8
  65. package/build/component/utils/envFunctionUtils.d.ts.map +1 -1
  66. package/build/component/utils/envFunctionUtils.js +46 -131
  67. package/build/component/utils/envFunctionUtils.js.map +1 -1
  68. package/build/component/utils/mcpAuthScaffolder.d.ts +5 -0
  69. package/build/component/utils/mcpAuthScaffolder.d.ts.map +1 -1
  70. package/build/component/utils/mcpAuthScaffolder.js +14 -2
  71. package/build/component/utils/mcpAuthScaffolder.js.map +1 -1
  72. package/build/core/FxCore.d.ts +1 -1
  73. package/build/core/FxCore.d.ts.map +1 -1
  74. package/build/core/FxCore.declarativeAgent.d.ts +2 -1
  75. package/build/core/FxCore.declarativeAgent.d.ts.map +1 -1
  76. package/build/core/FxCore.declarativeAgent.js +17 -6
  77. package/build/core/FxCore.declarativeAgent.js.map +1 -1
  78. package/build/core/FxCore.js +3 -3
  79. package/build/core/FxCore.js.map +1 -1
  80. package/build/core/FxCore.openPlugin.d.ts +7 -6
  81. package/build/core/FxCore.openPlugin.d.ts.map +1 -1
  82. package/build/core/FxCore.openPlugin.js +7 -6
  83. package/build/core/FxCore.openPlugin.js.map +1 -1
  84. package/build/question/inputs/AddAuthActionInputs.d.ts +2 -0
  85. package/build/question/inputs/AddAuthActionInputs.d.ts.map +1 -1
  86. package/build/question/inputs/AddPluginInputs.d.ts +5 -1
  87. package/build/question/inputs/AddPluginInputs.d.ts.map +1 -1
  88. package/build/question/options/AddAuthActionOptions.d.ts.map +1 -1
  89. package/build/question/options/AddAuthActionOptions.js +7 -0
  90. package/build/question/options/AddAuthActionOptions.js.map +1 -1
  91. package/build/question/options/AddPluginOptions.d.ts.map +1 -1
  92. package/build/question/options/AddPluginOptions.js +14 -1
  93. package/build/question/options/AddPluginOptions.js.map +1 -1
  94. package/build/question/options/ExportOpenPluginOptions.js +2 -2
  95. package/build/question/options/ExportOpenPluginOptions.js.map +1 -1
  96. package/build/question/options/ImportOpenPluginOptions.js +4 -4
  97. package/build/question/options/ImportOpenPluginOptions.js.map +1 -1
  98. package/build/question/other.d.ts +1 -0
  99. package/build/question/other.d.ts.map +1 -1
  100. package/build/question/other.js +49 -9
  101. package/build/question/other.js.map +1 -1
  102. package/build/question/questionNames.d.ts +1 -0
  103. package/build/question/questionNames.d.ts.map +1 -1
  104. package/build/question/questionNames.js +1 -0
  105. package/build/question/questionNames.js.map +1 -1
  106. package/build/question/scaffold/vsc/teamsProjectTypeNode.d.ts +2 -0
  107. package/build/question/scaffold/vsc/teamsProjectTypeNode.d.ts.map +1 -1
  108. package/build/question/scaffold/vsc/teamsProjectTypeNode.js +24 -1
  109. package/build/question/scaffold/vsc/teamsProjectTypeNode.js.map +1 -1
  110. package/build/v4/mcp/mcpAuthAction.d.ts +2 -1
  111. package/build/v4/mcp/mcpAuthAction.d.ts.map +1 -1
  112. package/build/v4/mcp/mcpAuthAction.js +32 -5
  113. package/build/v4/mcp/mcpAuthAction.js.map +1 -1
  114. package/build/v4/mcp/mcpAuthScaffold.d.ts +3 -0
  115. package/build/v4/mcp/mcpAuthScaffold.d.ts.map +1 -1
  116. package/build/v4/mcp/mcpAuthScaffold.js +57 -30
  117. package/build/v4/mcp/mcpAuthScaffold.js.map +1 -1
  118. package/build/v4/runtime/steps/mcpAuth.d.ts.map +1 -1
  119. package/build/v4/runtime/steps/mcpAuth.js +13 -0
  120. package/build/v4/runtime/steps/mcpAuth.js.map +1 -1
  121. package/package.json +37 -37
  122. package/resource/package.nls.json +20 -0
  123. package/templates/configs/local/typescript/.gitignore +1 -0
  124. package/templates/configs/playground/typescript/.gitignore +4 -0
  125. package/templates/fallback/common.zip +0 -0
  126. package/templates/fallback/csharp.zip +0 -0
  127. package/templates/fallback/js.zip +0 -0
  128. package/templates/fallback/python.zip +0 -0
  129. package/templates/fallback/ts.zip +0 -0
  130. package/templates/metadata.zip +0 -0
  131. package/templates/v4/floor.json +1 -1
  132. package/templates/v4/templates-metadata.zip +0 -0
  133. package/templates/v4/templates.zip +0 -0
@@ -1,7 +1,8 @@
1
- import { AuthorizationType, ImportInputs, MappedManifest, OpenPluginMcpServerEntry, ParsedOpenPlugin } from "./types";
1
+ import { ConnectorAuthorizationType, ImportInputs, MappedManifest, OpenPluginMcpServerEntry, ParsedOpenPlugin } from "./types";
2
2
  export declare const MANIFEST_SCHEMA_URL = "https://developer.microsoft.com/json-schemas/teams/vDevPreview/MicrosoftTeams.schema.json";
3
3
  export declare const MANIFEST_VERSION = "devPreview";
4
4
  export declare const ACCENT_COLOR = "#4A90D9";
5
5
  export declare function validateMcpServerCount(mcpServers: Record<string, OpenPluginMcpServerEntry>): void;
6
- export declare function mapToTtkProject(parsed: ParsedOpenPlugin, inputs: ImportInputs, resolvedAuthTypes?: Readonly<Record<string, AuthorizationType>>): MappedManifest;
6
+ export declare function mapToTtkProject(parsed: ParsedOpenPlugin, inputs: ImportInputs, resolvedAuthTypes?: Readonly<Record<string, ConnectorAuthorizationType>>): MappedManifest;
7
+ export declare function validateImportInputs(parsed: ParsedOpenPlugin, inputs: ImportInputs): void;
7
8
  //# sourceMappingURL=mapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapper.d.ts","sourceRoot":"","sources":["../../../../src/component/generator/openPlugin/mapper.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,iBAAiB,EAIjB,YAAY,EACZ,cAAc,EACd,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,mBAAmB,8FAC6D,CAAC;AAC9F,eAAO,MAAM,gBAAgB,eAAe,CAAC;AAC7C,eAAO,MAAM,YAAY,YAAY,CAAC;AAQtC,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,GAAG,IAAI,CASjG;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,YAAY,EACpB,iBAAiB,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAM,GAClE,cAAc,CAkGhB"}
1
+ {"version":3,"file":"mapper.d.ts","sourceRoot":"","sources":["../../../../src/component/generator/openPlugin/mapper.ts"],"names":[],"mappings":"AAWA,OAAO,EAIL,0BAA0B,EAE1B,YAAY,EACZ,cAAc,EACd,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,mBAAmB,8FAC6D,CAAC;AAC9F,eAAO,MAAM,gBAAgB,eAAe,CAAC;AAC7C,eAAO,MAAM,YAAY,YAAY,CAAC;AActC,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,GAAG,IAAI,CASjG;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,YAAY,EACpB,iBAAiB,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAM,GAC3E,cAAc,CAwFhB;AAqGD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAGzF"}
@@ -5,10 +5,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.ACCENT_COLOR = exports.MANIFEST_VERSION = exports.MANIFEST_SCHEMA_URL = void 0;
6
6
  exports.validateMcpServerCount = validateMcpServerCount;
7
7
  exports.mapToTtkProject = mapToTtkProject;
8
+ exports.validateImportInputs = validateImportInputs;
8
9
  const tslib_1 = require("tslib");
10
+ const crypto_1 = require("crypto");
9
11
  const path = tslib_1.__importStar(require("path"));
12
+ const stringUtils_1 = require("../../../common/stringUtils");
10
13
  const authorParser_1 = require("./authorParser");
11
14
  const deterministicId_1 = require("./deterministicId");
15
+ const errors_1 = require("./errors");
16
+ const spec_1 = require("./spec");
12
17
  const textUtils_1 = require("./textUtils");
13
18
  exports.MANIFEST_SCHEMA_URL = "https://developer.microsoft.com/json-schemas/teams/vDevPreview/MicrosoftTeams.schema.json";
14
19
  exports.MANIFEST_VERSION = "devPreview";
@@ -18,10 +23,16 @@ const NAME_FULL_MAX = 100;
18
23
  const DESC_SHORT_MAX = 80;
19
24
  const DESC_FULL_MAX = 4000;
20
25
  const MAX_AGENT_CONNECTORS = 10;
26
+ const MAX_AGENT_CONNECTOR_ID_LENGTH = 64;
27
+ const MAX_CONNECTOR_DISPLAY_NAME_LENGTH = 128;
28
+ const MAX_CONNECTOR_DESCRIPTION_LENGTH = 4000;
29
+ const MAX_AUTHORIZATION_REFERENCE_ID_LENGTH = 128;
30
+ const AUTHORIZATION_REFERENCE_HASH_LENGTH = 12;
31
+ const CONNECTOR_ID_HASH_LENGTH = 12;
21
32
  function validateMcpServerCount(mcpServers) {
22
- const connectorCount = Object.values(mcpServers).filter((server) => typeof server.url === "string" && server.url.trim().length > 0).length;
33
+ const connectorCount = Object.values(mcpServers).filter((server) => typeof server.url === "string" && isSecureHttpUrl(server.url.trim())).length;
23
34
  if (connectorCount > MAX_AGENT_CONNECTORS) {
24
- throw new Error(`Too many MCP servers: ${connectorCount}. The manifest caps agentConnectors at ${MAX_AGENT_CONNECTORS}.`);
35
+ throw new errors_1.OpenPluginInputError(`Too many MCP servers: ${connectorCount}. The manifest caps agentConnectors at ${MAX_AGENT_CONNECTORS}.`);
25
36
  }
26
37
  }
27
38
  function mapToTtkProject(parsed, inputs, resolvedAuthTypes = {}) {
@@ -32,19 +43,10 @@ function mapToTtkProject(parsed, inputs, resolvedAuthTypes = {}) {
32
43
  if (inputs.packageName !== undefined) {
33
44
  warnings.push("--package-name was provided but the devPreview manifest schema does not include 'packageName'; ignored.");
34
45
  }
35
- const author = (0, authorParser_1.parseAuthor)(pj.author);
36
- const websiteUrl = inputs.websiteUrl ?? ext.developer?.websiteUrl ?? pj.homepage ?? author.url;
37
- if (!websiteUrl) {
38
- throw new Error("developer.websiteUrl could not be resolved. Set 'homepage' in plugin.json, 'author.url', or pass --website-url.");
39
- }
40
- const privacyUrl = inputs.privacyUrl ?? ext.developer?.privacyUrl;
41
- if (!privacyUrl) {
42
- throw new Error("developer.privacyUrl is required. Pass --privacy-url (Open Plugin spec has no equivalent field).");
43
- }
44
- const termsUrl = inputs.termsUrl ?? ext.developer?.termsOfUseUrl;
45
- if (!termsUrl) {
46
- throw new Error("developer.termsOfUseUrl is required. Pass --terms-url (Open Plugin spec has no equivalent field).");
47
- }
46
+ const { websiteUrl, privacyUrl, termsUrl, authorName } = resolveDeveloperInputs(parsed, inputs);
47
+ // NOTE: the "openplugin:" seed is load-bearing it feeds the deterministic
48
+ // UUIDv5 app id. Renaming it would change the generated id for every existing
49
+ // plugin, so it stays as-is despite the spec rename.
48
50
  const idSeed = inputs.packageName ?? ext.packageName ?? `openplugin:${pluginName}`;
49
51
  const appId = inputs.appId ?? ext.id ?? (0, deterministicId_1.deterministicAppId)(idSeed);
50
52
  const displayName = (0, textUtils_1.toTitleCaseFromKebab)(pluginName);
@@ -57,7 +59,7 @@ function mapToTtkProject(parsed, inputs, resolvedAuthTypes = {}) {
57
59
  validateMcpServerCount(parsed.mcpServers);
58
60
  const agentConnectors = buildAgentConnectors(parsed.mcpServers, pluginName, inputs.defaultAuthType ?? "Auto", ext.agentConnectors, warnings, resolvedAuthTypes);
59
61
  const developer = {
60
- name: ext.developer?.name ?? author.name ?? "Unknown",
62
+ name: ext.developer?.name ?? authorName ?? "Unknown",
61
63
  websiteUrl,
62
64
  privacyUrl,
63
65
  termsOfUseUrl: termsUrl,
@@ -86,20 +88,101 @@ function mapToTtkProject(parsed, inputs, resolvedAuthTypes = {}) {
86
88
  copyOps.push({
87
89
  src: path.join(parsed.skillsRoot, skill),
88
90
  destRelative: `appPackage/skills/${skill}`,
91
+ kind: "directory",
89
92
  });
90
93
  }
91
94
  }
92
95
  if (parsed.commandsRoot && parsed.commands.length > 0) {
96
+ for (const command of parsed.commands) {
97
+ copyOps.push({
98
+ src: path.join(parsed.commandsRoot, command),
99
+ destRelative: `appPackage/commands/${command}`,
100
+ kind: "file",
101
+ });
102
+ }
103
+ }
104
+ copyOps.push(...buildMcpToolDescriptionCopyOps(parsed, ext));
105
+ return { manifest, copyOps, warnings };
106
+ }
107
+ function buildMcpToolDescriptionCopyOps(parsed, extension) {
108
+ const reservedPaths = [
109
+ "manifest.json",
110
+ "color.png",
111
+ "outline.png",
112
+ "skills",
113
+ ...parsed.skills.map((skill) => path.posix.join("skills", skill)),
114
+ ...parsed.commands.map((command) => path.posix.join("commands", command)),
115
+ ];
116
+ const destinations = new Map();
117
+ const copyOps = [];
118
+ for (const serverName of Object.keys(parsed.mcpServers)) {
119
+ const description = extension.agentConnectors?.[serverName]?.mcpToolDescription;
120
+ if (!description?.file || !description.contents)
121
+ continue;
122
+ const normalizedFile = (0, spec_1.normalizePortableRelativePath)(description.file);
123
+ if (!normalizedFile) {
124
+ throw new errors_1.OpenPluginInputError(`MCP tool-description path '${description.file}' must identify a file within appPackage.`);
125
+ }
126
+ const reservedPath = reservedPaths.find((candidate) => (0, spec_1.portablePathsConflict)(normalizedFile, candidate));
127
+ if (reservedPath) {
128
+ throw new errors_1.OpenPluginInputError(`MCP tool-description path '${normalizedFile}' collides with generated output '${reservedPath}'.`);
129
+ }
130
+ const destinationKey = normalizedFile.toLowerCase();
131
+ const existing = destinations.get(destinationKey);
132
+ if (existing) {
133
+ if (existing.path !== normalizedFile || !existing.contents.equals(description.contents)) {
134
+ throw new errors_1.OpenPluginInputError(`MCP tool-description paths '${existing.path}' and '${normalizedFile}' collide.`);
135
+ }
136
+ continue;
137
+ }
138
+ for (const destination of destinations.values()) {
139
+ if ((0, spec_1.portablePathsConflict)(normalizedFile, destination.path)) {
140
+ throw new errors_1.OpenPluginInputError(`MCP tool-description paths '${destination.path}' and '${normalizedFile}' collide.`);
141
+ }
142
+ }
143
+ destinations.set(destinationKey, { path: normalizedFile, contents: description.contents });
93
144
  copyOps.push({
94
- src: parsed.commandsRoot,
95
- destRelative: "appPackage/commands",
145
+ contents: description.contents,
146
+ destRelative: path.join("appPackage", normalizedFile),
147
+ kind: "contents",
96
148
  });
97
149
  }
98
- return { manifest, copyOps, warnings };
150
+ return copyOps;
151
+ }
152
+ function resolveDeveloperInputs(parsed, inputs) {
153
+ const author = (0, authorParser_1.parseAuthor)(parsed.manifest.author);
154
+ const extension = parsed.atkExtension;
155
+ const websiteUrl = inputs.websiteUrl ?? extension?.developer?.websiteUrl ?? parsed.manifest.homepage ?? author.url;
156
+ if (!websiteUrl) {
157
+ throw new errors_1.OpenPluginInputError("developer.websiteUrl could not be resolved. Set 'homepage' in plugin.json, 'author.url', or pass --website-url.");
158
+ }
159
+ const privacyUrl = inputs.privacyUrl ?? extension?.developer?.privacyUrl;
160
+ if (!privacyUrl) {
161
+ throw new errors_1.OpenPluginInputError("developer.privacyUrl is required. Pass --privacy-url (the Agent Plugins spec has no equivalent field).");
162
+ }
163
+ const termsUrl = inputs.termsUrl ?? extension?.developer?.termsOfUseUrl;
164
+ if (!termsUrl) {
165
+ throw new errors_1.OpenPluginInputError("developer.termsOfUseUrl is required. Pass --terms-url (the Agent Plugins spec has no equivalent field).");
166
+ }
167
+ for (const [field, value] of [
168
+ ["websiteUrl", websiteUrl],
169
+ ["privacyUrl", privacyUrl],
170
+ ["termsOfUseUrl", termsUrl],
171
+ ]) {
172
+ if (!(0, stringUtils_1.isValidHttpUrl)(value)) {
173
+ throw new errors_1.OpenPluginInputError(`developer.${field} must be a valid HTTP(S) URL.`);
174
+ }
175
+ }
176
+ return { websiteUrl, privacyUrl, termsUrl, authorName: author.name };
177
+ }
178
+ function validateImportInputs(parsed, inputs) {
179
+ resolveDeveloperInputs(parsed, inputs);
180
+ validateMcpServerCount(parsed.mcpServers);
99
181
  }
100
182
  function buildAgentConnectors(mcpServers, pluginName, defaultAuth, extOverrides, warnings, resolvedAuthTypes) {
101
183
  const out = [];
102
184
  const serverNames = Object.keys(mcpServers).sort();
185
+ const connectorIds = createConnectorIds(serverNames);
103
186
  for (const name of serverNames) {
104
187
  const server = mcpServers[name];
105
188
  const url = typeof server.url === "string" ? server.url.trim() : "";
@@ -107,31 +190,107 @@ function buildAgentConnectors(mcpServers, pluginName, defaultAuth, extOverrides,
107
190
  warnings.push(`Skipping MCP server '${name}': no URL found (stdio servers require manual localMcpServer configuration).`);
108
191
  continue;
109
192
  }
193
+ if (!isSecureHttpUrl(url)) {
194
+ warnings.push(`Skipping MCP server '${name}': the Teams remoteMcpServer schema requires HTTPS.`);
195
+ continue;
196
+ }
110
197
  const override = extOverrides?.[name];
111
198
  const authType = override?.authorization?.type ?? resolveAuthType(name, defaultAuth, resolvedAuthTypes);
112
199
  const authorization = { type: authType };
113
200
  if (authType !== "None") {
114
201
  authorization.referenceId =
115
- override?.authorization?.referenceId ?? `${pluginName}-${name}-auth`;
202
+ override?.authorization?.referenceId ?? createAuthorizationReferenceId(pluginName, name);
116
203
  }
117
204
  const description = override?.description ??
118
205
  (typeof server.description === "string" && server.description
119
206
  ? server.description
120
207
  : `Remote MCP server providing tools for ${pluginName}`);
121
- out.push({
122
- id: name,
123
- displayName: override?.displayName ?? `${name} MCP Server`,
124
- description,
208
+ const remoteMcpServer = {
209
+ mcpServerUrl: url,
210
+ authorization,
211
+ };
212
+ if (override?.mcpToolDescription) {
213
+ remoteMcpServer.mcpToolDescription =
214
+ override.mcpToolDescription.file === undefined
215
+ ? {}
216
+ : { file: override.mcpToolDescription.file };
217
+ }
218
+ const mappedConnector = {
219
+ id: connectorIds[name],
220
+ displayName: truncateConnectorText(override?.displayName ?? `${name} MCP Server`, MAX_CONNECTOR_DISPLAY_NAME_LENGTH),
221
+ description: truncateConnectorText(description, MAX_CONNECTOR_DESCRIPTION_LENGTH),
125
222
  toolSource: {
126
- remoteMcpServer: {
127
- mcpServerUrl: url,
128
- authorization,
129
- },
223
+ remoteMcpServer,
130
224
  },
131
- });
225
+ };
226
+ if (override?.reusable !== undefined)
227
+ mappedConnector.reusable = override.reusable;
228
+ out.push(mappedConnector);
132
229
  }
133
230
  return out;
134
231
  }
232
+ function createConnectorIds(serverNames) {
233
+ const connectorIds = {};
234
+ const usedIds = new Set();
235
+ for (const serverName of serverNames) {
236
+ if (codePointLength(serverName) > MAX_AGENT_CONNECTOR_ID_LENGTH)
237
+ continue;
238
+ (0, spec_1.setRecordValue)(connectorIds, serverName, serverName);
239
+ usedIds.add(serverName);
240
+ }
241
+ for (const serverName of serverNames) {
242
+ if (codePointLength(serverName) <= MAX_AGENT_CONNECTOR_ID_LENGTH)
243
+ continue;
244
+ let attempt = 0;
245
+ let connectorId;
246
+ do {
247
+ connectorId = createBoundedConnectorId(serverName, attempt++);
248
+ } while (usedIds.has(connectorId));
249
+ (0, spec_1.setRecordValue)(connectorIds, serverName, connectorId);
250
+ usedIds.add(connectorId);
251
+ }
252
+ return connectorIds;
253
+ }
254
+ function createBoundedConnectorId(serverName, attempt) {
255
+ const hashInput = attempt === 0 ? serverName : `${serverName}:${attempt}`;
256
+ const hash = (0, crypto_1.createHash)("sha256")
257
+ .update(hashInput)
258
+ .digest("hex")
259
+ .slice(0, CONNECTOR_ID_HASH_LENGTH);
260
+ const suffix = `-${hash}`;
261
+ return `${sliceCodePoints(serverName, MAX_AGENT_CONNECTOR_ID_LENGTH - suffix.length)}${suffix}`;
262
+ }
263
+ function createAuthorizationReferenceId(pluginName, serverName) {
264
+ const referenceId = `${pluginName}-${serverName}-auth`;
265
+ if (codePointLength(referenceId) <= MAX_AUTHORIZATION_REFERENCE_ID_LENGTH)
266
+ return referenceId;
267
+ const hash = (0, crypto_1.createHash)("sha256")
268
+ .update(referenceId)
269
+ .digest("hex")
270
+ .slice(0, AUTHORIZATION_REFERENCE_HASH_LENGTH);
271
+ const suffix = `-${hash}-auth`;
272
+ return `${sliceCodePoints(referenceId, MAX_AUTHORIZATION_REFERENCE_ID_LENGTH - suffix.length)}${suffix}`;
273
+ }
274
+ function codePointLength(value) {
275
+ return [...value].length;
276
+ }
277
+ function sliceCodePoints(value, end) {
278
+ return [...value].slice(0, end).join("");
279
+ }
280
+ function truncateConnectorText(value, maxLength) {
281
+ const codePoints = [...value];
282
+ if (codePoints.length <= maxLength)
283
+ return value;
284
+ return codePoints.slice(0, maxLength).join("").trimEnd();
285
+ }
286
+ function isSecureHttpUrl(value) {
287
+ try {
288
+ return new URL(value).protocol === "https:";
289
+ }
290
+ catch {
291
+ return false;
292
+ }
293
+ }
135
294
  function resolveAuthType(serverName, defaultAuth, resolvedAuthTypes) {
136
295
  if (defaultAuth !== "Auto") {
137
296
  return defaultAuth;
@@ -1 +1 @@
1
- {"version":3,"file":"mapper.js","sourceRoot":"","sources":["../../../../src/component/generator/openPlugin/mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapper.js","sourceRoot":"","sources":["../../../../src/component/generator/openPlugin/mapper.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../src/component/generator/openPlugin/parser.ts"],"names":[],"mappings":"AAKA,OAAO,EAKL,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAoCjB,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA+H/E"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../src/component/generator/openPlugin/parser.ts"],"names":[],"mappings":"AAmBA,OAAO,EAKL,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAgFjB,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAkP/E"}