

























@@ -591,29 +591,21 @@ function collectToolSchemaFindings(params: {
591591);
592592}
593593594-function collectBundleMcpRuntimeToolSchemaFindings(params: {
595-bundleRuntime: BundleMcpToolRuntime;
596-cfg: OpenClawConfig;
594+function collectNormalizedToolSchemaFindings(params: {
597595agentId: string;
596+tools: AnyAgentTool[];
597+cfg: OpenClawConfig;
598598workspaceDir: string;
599599modelRef: { provider: string; model: string };
600600model: ProviderRuntimeModel;
601+normalizationFailureFinding: (error: unknown) => HealthFinding;
601602}): readonly HealthFinding[] {
602-const activeBundleTools = applyFinalEffectiveToolPolicy({
603-bundledTools: params.bundleRuntime.tools,
604-config: params.cfg,
605-agentId: params.agentId,
606-modelProvider: params.modelRef.provider,
607-modelId: params.modelRef.model,
608-warn: () => {},
609-toolPolicyAuditLogLevel: "debug",
610-});
611603const preNormalizationFindings: HealthFinding[] = [];
612604613605let normalizedTools: AnyAgentTool[];
614606try {
615607normalizedTools = normalizeAgentRuntimeTools({
616-tools: activeBundleTools,
608+tools: params.tools,
617609provider: params.modelRef.provider,
618610config: params.cfg,
619611workspaceDir: params.workspaceDir,
@@ -634,7 +626,7 @@ function collectBundleMcpRuntimeToolSchemaFindings(params: {
634626},
635627});
636628} catch (error) {
637-return [...preNormalizationFindings, bundleMcpRuntimeNormalizationFailureFinding(error)];
629+return [...preNormalizationFindings, params.normalizationFailureFinding(error)];
638630}
639631640632return [
@@ -646,6 +638,34 @@ function collectBundleMcpRuntimeToolSchemaFindings(params: {
646638];
647639}
648640641+function collectBundleMcpRuntimeToolSchemaFindings(params: {
642+bundleRuntime: BundleMcpToolRuntime;
643+cfg: OpenClawConfig;
644+agentId: string;
645+workspaceDir: string;
646+modelRef: { provider: string; model: string };
647+model: ProviderRuntimeModel;
648+}): readonly HealthFinding[] {
649+const activeBundleTools = applyFinalEffectiveToolPolicy({
650+bundledTools: params.bundleRuntime.tools,
651+config: params.cfg,
652+agentId: params.agentId,
653+modelProvider: params.modelRef.provider,
654+modelId: params.modelRef.model,
655+warn: () => {},
656+toolPolicyAuditLogLevel: "debug",
657+});
658+return collectNormalizedToolSchemaFindings({
659+agentId: params.agentId,
660+tools: activeBundleTools,
661+cfg: params.cfg,
662+workspaceDir: params.workspaceDir,
663+modelRef: params.modelRef,
664+model: params.model,
665+normalizationFailureFinding: bundleMcpRuntimeNormalizationFailureFinding,
666+});
667+}
668+649669function agentRuntimeToolLoadFailureFinding(params: {
650670agentId: string;
651671error: unknown;
@@ -702,45 +722,19 @@ function collectAgentRuntimeToolSchemaFindings(params: {
702722return [agentRuntimeToolLoadFailureFinding({ agentId: params.agentId, error })];
703723}
704724705-const preNormalizationFindings: HealthFinding[] = [];
706-707-let normalizedTools: AnyAgentTool[];
708-try {
709-normalizedTools = normalizeAgentRuntimeTools({
710- tools,
711-provider: params.modelRef.provider,
712-config: params.cfg,
713-workspaceDir: params.workspaceDir,
714-env: process.env,
715-modelId: params.modelRef.model,
716-modelApi: params.model.api,
717-model: params.model,
718-onPreNormalizationSchemaDiagnostics: (diagnostics, sourceTools) => {
719-preNormalizationFindings.push(
720- ...diagnostics.map((diagnostic) =>
721-toolSchemaDiagnosticToFinding({
722-agentId: params.agentId,
723-tools: sourceTools,
724- diagnostic,
725-}),
726-),
727-);
728-},
729-});
730-} catch (error) {
731-return [
732- ...preNormalizationFindings,
733-agentRuntimeToolNormalizationFailureFinding({ agentId: params.agentId, error }),
734-];
735-}
736-737-return [
738- ...preNormalizationFindings,
739- ...collectToolSchemaFindings({
740-agentId: params.agentId,
741-tools: normalizedTools,
742-}),
743-];
725+return collectNormalizedToolSchemaFindings({
726+agentId: params.agentId,
727+ tools,
728+cfg: params.cfg,
729+workspaceDir: params.workspaceDir,
730+modelRef: params.modelRef,
731+model: params.model,
732+normalizationFailureFinding: (error) =>
733+agentRuntimeToolNormalizationFailureFinding({
734+agentId: params.agentId,
735+ error,
736+}),
737+});
744738}
745739746740function bundleMcpRuntimeNormalizationFailureFinding(error: unknown): HealthFinding {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。