mirror of https://github.com/openclaw/openclaw.git
30 lines
977 B
TypeScript
30 lines
977 B
TypeScript
import type { OpenClawConfig } from "../config/config.js";
|
|
import { normalizeConfiguredMcpServers } from "../config/mcp-config.js";
|
|
import type { BundleMcpDiagnostic, BundleMcpServerConfig } from "../plugins/bundle-mcp.js";
|
|
import { loadEnabledBundleMcpConfig } from "../plugins/bundle-mcp.js";
|
|
|
|
export type EmbeddedPiMcpConfig = {
|
|
mcpServers: Record<string, BundleMcpServerConfig>;
|
|
diagnostics: BundleMcpDiagnostic[];
|
|
};
|
|
|
|
export function loadEmbeddedPiMcpConfig(params: {
|
|
workspaceDir: string;
|
|
cfg?: OpenClawConfig;
|
|
}): EmbeddedPiMcpConfig {
|
|
const bundleMcp = loadEnabledBundleMcpConfig({
|
|
workspaceDir: params.workspaceDir,
|
|
cfg: params.cfg,
|
|
});
|
|
const configuredMcp = normalizeConfiguredMcpServers(params.cfg?.mcp?.servers);
|
|
|
|
return {
|
|
// OpenClaw config is the owner-managed layer, so it overrides bundle defaults.
|
|
mcpServers: {
|
|
...bundleMcp.config.mcpServers,
|
|
...configuredMcp,
|
|
},
|
|
diagnostics: bundleMcp.diagnostics,
|
|
};
|
|
}
|