UNPKG

rulesync

Version:

Unified AI rules management CLI tool that generates configuration files for various AI development tools

112 lines (109 loc) 3.36 kB
import { shouldIncludeServer } from "./chunk-VI6SBYFB.js"; // src/generators/mcp/augmentcode.ts function generateAugmentcodeMcp(config) { const augmentSettings = { mcpServers: [] }; const shouldInclude = (server) => { return shouldIncludeServer(server, "augmentcode"); }; for (const [serverName, server] of Object.entries(config.mcpServers)) { if (!shouldInclude(server)) continue; const augmentServer = { name: serverName }; if (server.command) { augmentServer.command = server.command; if (server.args) { augmentServer.args = server.args; } } else if (server.url || server.httpUrl) { const url = server.httpUrl || server.url; if (url) { augmentServer.url = url; } if (server.httpUrl || server.transport === "http") { augmentServer.transport = "http"; } else if (server.transport === "sse") { augmentServer.transport = "sse"; } if (server.env) { augmentServer.headers = server.env; } } if (server.env && server.command) { augmentServer.env = server.env; } if (server.timeout) { augmentServer.timeout = server.timeout; } if (server.disabled !== void 0) { augmentServer.enabled = !server.disabled; } if (server.networkTimeout && server.networkTimeout > 0) { augmentServer.retries = Math.max(1, Math.floor(server.networkTimeout / 3e4)); } if (augmentSettings.mcpServers) { augmentSettings.mcpServers.push(augmentServer); } } return JSON.stringify(augmentSettings, null, 2); } function generateAugmentcodeMcpConfiguration(mcpServers, baseDir = "") { const filepath = baseDir ? `${baseDir}/.mcp.json` : ".mcp.json"; const settings = { mcpServers: {} }; for (const [serverName, server] of Object.entries(mcpServers)) { if (!shouldIncludeServer(server, "augmentcode")) { continue; } const { targets: _, ...serverConfig } = server; const augmentServer = {}; if (serverConfig.command) { augmentServer.command = serverConfig.command; if (serverConfig.args) { augmentServer.args = serverConfig.args; } if (serverConfig.env) { augmentServer.env = serverConfig.env; } } else if (serverConfig.url || serverConfig.httpUrl) { const url = serverConfig.httpUrl || serverConfig.url; if (url) { augmentServer.url = url; } if (serverConfig.httpUrl || serverConfig.transport === "http") { augmentServer.transport = "http"; } else if (serverConfig.transport === "sse") { augmentServer.transport = "sse"; } if (serverConfig.env) { augmentServer.headers = serverConfig.env; } } if (serverConfig.timeout) { augmentServer.timeout = serverConfig.timeout; } if (serverConfig.disabled !== void 0) { augmentServer.enabled = !serverConfig.disabled; } if (serverConfig.networkTimeout && serverConfig.networkTimeout > 0) { augmentServer.retries = Math.max(1, Math.floor(serverConfig.networkTimeout / 3e4)); } settings.mcpServers[serverName] = augmentServer; } return [ { filepath, content: `${JSON.stringify(settings, null, 2)} ` } ]; } export { generateAugmentcodeMcp, generateAugmentcodeMcpConfiguration };