@notebook-intelligence/notebook-intelligence
Version:
AI coding assistant for JupyterLab
38 lines (37 loc) • 1.49 kB
JavaScript
// Copyright (c) Mehmet Bektas <mbektasgh@outlook.com>
export function mcpServerSettingsToEnabledState(mcpServers, mcpServerSettings) {
const mcpServerEnabledState = new Map();
for (const server of mcpServers) {
const mcpServerToolEnabledState = mcpServerSettingsToServerToolEnabledState(mcpServers, mcpServerSettings, server.id);
if (mcpServerToolEnabledState) {
mcpServerEnabledState.set(server.id, mcpServerToolEnabledState);
}
}
return mcpServerEnabledState;
}
export function mcpServerSettingsToServerToolEnabledState(mcpServers, mcpServerSettings, serverId) {
var _a;
const server = mcpServers.find((server) => server.id === serverId);
let mcpServerToolEnabledState = null;
if (!server) {
return mcpServerToolEnabledState;
}
if (mcpServerSettings[server.id]) {
const serverSettings = mcpServerSettings[server.id];
if (!serverSettings.disabled) {
mcpServerToolEnabledState = new Set();
for (const tool of server.tools) {
if (!((_a = serverSettings.disabled_tools) === null || _a === void 0 ? void 0 : _a.includes(tool.name))) {
mcpServerToolEnabledState.add(tool.name);
}
}
}
}
else {
mcpServerToolEnabledState = new Set();
for (const tool of server.tools) {
mcpServerToolEnabledState.add(tool.name);
}
}
return mcpServerToolEnabledState;
}