

























@@ -567,7 +567,7 @@ function resolveCachedPluginTools(params: {
567567}
568568const pluginTools: AnyAgentTool[] = [];
569569let hasNameConflict = false;
570-const localNames = new Set<string>();
570+const localNormalizedNames = new Set<string>();
571571for (const cachedDescriptor of cached) {
572572if (
573573!cachedDescriptor.optional &&
@@ -587,14 +587,15 @@ function resolveCachedPluginTools(params: {
587587) {
588588continue;
589589}
590+const normalizedDescriptorName = normalizeToolName(cachedDescriptor.descriptor.name);
590591if (
591-localNames.has(cachedDescriptor.descriptor.name) ||
592-params.existing.has(cachedDescriptor.descriptor.name)
592+localNormalizedNames.has(normalizedDescriptorName) ||
593+params.existingNormalized.has(normalizedDescriptorName)
593594) {
594595hasNameConflict = true;
595596break;
596597}
597-localNames.add(cachedDescriptor.descriptor.name);
598+localNormalizedNames.add(normalizedDescriptorName);
598599pluginTools.push(
599600createCachedDescriptorPluginTool({
600601descriptor: cachedDescriptor,
@@ -929,7 +930,7 @@ export function resolvePluginTools(params: {
929930if (list.length === 0) {
930931continue;
931932}
932-const nameSet = new Set<string>();
933+const normalizedNameSet = new Set<string>();
933934for (const toolRaw of list) {
934935// Plugin factories run at request time and can return arbitrary values; isolate
935936// malformed tools here so one bad plugin tool cannot poison every provider.
@@ -963,7 +964,8 @@ export function resolvePluginTools(params: {
963964});
964965continue;
965966}
966-if (nameSet.has(tool.name) || existing.has(tool.name)) {
967+const normalizedToolName = normalizeToolName(tool.name);
968+if (normalizedNameSet.has(normalizedToolName) || existingNormalized.has(normalizedToolName)) {
967969const message = `plugin tool name conflict (${entry.pluginId}): ${tool.name}`;
968970if (!params.suppressNameConflicts) {
969971context.logger.error(message);
@@ -976,8 +978,9 @@ export function resolvePluginTools(params: {
976978}
977979continue;
978980}
979-nameSet.add(tool.name);
981+normalizedNameSet.add(normalizedToolName);
980982existing.add(tool.name);
983+existingNormalized.add(normalizedToolName);
981984pluginToolMeta.set(tool, {
982985pluginId: entry.pluginId,
983986optional: entry.optional,
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。