rulesync 0.51.0 → 0.53.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-FNL2KPM3.js +63 -0
- package/dist/chunk-HMMTSS5E.js +54 -0
- package/dist/chunk-YPIFCGAP.js +94 -0
- package/dist/{claudecode-SRXYHIJE.js → claudecode-4XWK2WAY.js} +2 -1
- package/dist/{cline-IJW27CUU.js → cline-MNXOHP77.js} +2 -1
- package/dist/index.cjs +361 -346
- package/dist/index.js +274 -282
- package/package.json +1 -1
- package/dist/chunk-4MZXYV5H.js +0 -73
- package/dist/chunk-AREA26HF.js +0 -62
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import {
|
|
2
|
+
configWrappers,
|
|
3
|
+
generateMcpConfig,
|
|
4
|
+
generateMcpConfigurationFiles
|
|
5
|
+
} from "./chunk-YPIFCGAP.js";
|
|
6
|
+
|
|
7
|
+
// src/generators/mcp/claudecode.ts
|
|
8
|
+
function generateClaudeMcp(config) {
|
|
9
|
+
return generateMcpConfig(config, {
|
|
10
|
+
target: "claudecode",
|
|
11
|
+
configPaths: [".claude/settings.json"],
|
|
12
|
+
serverTransform: (server) => {
|
|
13
|
+
const claudeServer = {};
|
|
14
|
+
if (server.command) {
|
|
15
|
+
claudeServer.command = server.command;
|
|
16
|
+
if (server.args) claudeServer.args = server.args;
|
|
17
|
+
} else if (server.url || server.httpUrl) {
|
|
18
|
+
const url = server.httpUrl || server.url;
|
|
19
|
+
if (url) {
|
|
20
|
+
claudeServer.url = url;
|
|
21
|
+
}
|
|
22
|
+
if (server.httpUrl) {
|
|
23
|
+
claudeServer.transport = "http";
|
|
24
|
+
} else if (server.transport === "sse") {
|
|
25
|
+
claudeServer.transport = "sse";
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
if (server.env) {
|
|
29
|
+
claudeServer.env = server.env;
|
|
30
|
+
}
|
|
31
|
+
return claudeServer;
|
|
32
|
+
},
|
|
33
|
+
configWrapper: configWrappers.mcpServers
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
function generateClaudeMcpConfiguration(mcpServers, baseDir = "") {
|
|
37
|
+
return generateMcpConfigurationFiles(
|
|
38
|
+
mcpServers,
|
|
39
|
+
{
|
|
40
|
+
target: "claudecode",
|
|
41
|
+
configPaths: [".claude/settings.json"],
|
|
42
|
+
serverTransform: (server) => {
|
|
43
|
+
const { targets: _, transport, ...serverConfig } = server;
|
|
44
|
+
const claudeServer = { ...serverConfig };
|
|
45
|
+
if (serverConfig.httpUrl !== void 0) {
|
|
46
|
+
claudeServer.url = serverConfig.httpUrl;
|
|
47
|
+
delete claudeServer.httpUrl;
|
|
48
|
+
}
|
|
49
|
+
if (transport && transport !== "stdio" && (transport === "sse" || transport === "http")) {
|
|
50
|
+
claudeServer.transport = transport;
|
|
51
|
+
}
|
|
52
|
+
return claudeServer;
|
|
53
|
+
},
|
|
54
|
+
configWrapper: configWrappers.mcpServers
|
|
55
|
+
},
|
|
56
|
+
baseDir
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export {
|
|
61
|
+
generateClaudeMcp,
|
|
62
|
+
generateClaudeMcpConfiguration
|
|
63
|
+
};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import {
|
|
2
|
+
configWrappers,
|
|
3
|
+
generateMcpConfig,
|
|
4
|
+
generateMcpConfigurationFiles,
|
|
5
|
+
serverTransforms
|
|
6
|
+
} from "./chunk-YPIFCGAP.js";
|
|
7
|
+
|
|
8
|
+
// src/generators/mcp/cline.ts
|
|
9
|
+
function generateClineMcp(config) {
|
|
10
|
+
return generateMcpConfig(config, {
|
|
11
|
+
target: "cline",
|
|
12
|
+
configPaths: [".cline/mcp.json"],
|
|
13
|
+
serverTransform: (server) => {
|
|
14
|
+
const clineServer = {};
|
|
15
|
+
if (server.command) {
|
|
16
|
+
clineServer.command = server.command;
|
|
17
|
+
if (server.args) clineServer.args = server.args;
|
|
18
|
+
} else if (server.url) {
|
|
19
|
+
clineServer.url = server.url;
|
|
20
|
+
}
|
|
21
|
+
if (server.env) {
|
|
22
|
+
clineServer.env = server.env;
|
|
23
|
+
}
|
|
24
|
+
if (server.disabled !== void 0) {
|
|
25
|
+
clineServer.disabled = server.disabled;
|
|
26
|
+
}
|
|
27
|
+
if (server.alwaysAllow) {
|
|
28
|
+
clineServer.alwaysAllow = server.alwaysAllow;
|
|
29
|
+
}
|
|
30
|
+
if (server.networkTimeout !== void 0) {
|
|
31
|
+
clineServer.networkTimeout = server.networkTimeout;
|
|
32
|
+
}
|
|
33
|
+
return clineServer;
|
|
34
|
+
},
|
|
35
|
+
configWrapper: configWrappers.mcpServers
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
function generateClineMcpConfiguration(mcpServers, baseDir = "") {
|
|
39
|
+
return generateMcpConfigurationFiles(
|
|
40
|
+
mcpServers,
|
|
41
|
+
{
|
|
42
|
+
target: "cline",
|
|
43
|
+
configPaths: [".cline/mcp.json"],
|
|
44
|
+
serverTransform: serverTransforms.cleanRulesyncProps,
|
|
45
|
+
configWrapper: configWrappers.mcpServers
|
|
46
|
+
},
|
|
47
|
+
baseDir
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export {
|
|
52
|
+
generateClineMcp,
|
|
53
|
+
generateClineMcpConfiguration
|
|
54
|
+
};
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import {
|
|
2
|
+
shouldIncludeServer
|
|
3
|
+
} from "./chunk-USKQYIZ2.js";
|
|
4
|
+
|
|
5
|
+
// src/generators/mcp/shared-factory.ts
|
|
6
|
+
function generateMcpConfig(config, toolConfig) {
|
|
7
|
+
const servers = {};
|
|
8
|
+
for (const [serverName, server] of Object.entries(config.mcpServers)) {
|
|
9
|
+
if (!shouldIncludeServer(server, toolConfig.target)) continue;
|
|
10
|
+
servers[serverName] = toolConfig.serverTransform(server, serverName);
|
|
11
|
+
}
|
|
12
|
+
const finalConfig = toolConfig.configWrapper(servers);
|
|
13
|
+
return JSON.stringify(finalConfig, null, 2);
|
|
14
|
+
}
|
|
15
|
+
function generateMcpConfigurationFiles(mcpServers, toolConfig, baseDir = "") {
|
|
16
|
+
const configs = [];
|
|
17
|
+
const rulesyncConfig = { mcpServers };
|
|
18
|
+
for (const configPath of toolConfig.configPaths) {
|
|
19
|
+
const filepath = baseDir ? `${baseDir}/${configPath}` : configPath;
|
|
20
|
+
const content = generateMcpConfig(rulesyncConfig, toolConfig);
|
|
21
|
+
configs.push({
|
|
22
|
+
filepath,
|
|
23
|
+
content: `${content}
|
|
24
|
+
`
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
return configs;
|
|
28
|
+
}
|
|
29
|
+
var serverTransforms = {
|
|
30
|
+
/**
|
|
31
|
+
* Basic server transformation (command, args, env, url handling)
|
|
32
|
+
*/
|
|
33
|
+
basic: (server) => {
|
|
34
|
+
const result = {};
|
|
35
|
+
if (server.command) {
|
|
36
|
+
result.command = server.command;
|
|
37
|
+
if (server.args) result.args = server.args;
|
|
38
|
+
} else if (server.url || server.httpUrl) {
|
|
39
|
+
const url = server.httpUrl || server.url;
|
|
40
|
+
if (url) result.url = url;
|
|
41
|
+
}
|
|
42
|
+
if (server.env) {
|
|
43
|
+
result.env = server.env;
|
|
44
|
+
}
|
|
45
|
+
return result;
|
|
46
|
+
},
|
|
47
|
+
/**
|
|
48
|
+
* Extended server transformation (includes disabled, alwaysAllow, etc.)
|
|
49
|
+
*/
|
|
50
|
+
extended: (server) => {
|
|
51
|
+
const result = serverTransforms.basic(server);
|
|
52
|
+
if (server.disabled !== void 0) {
|
|
53
|
+
result.disabled = server.disabled;
|
|
54
|
+
}
|
|
55
|
+
if (server.alwaysAllow) {
|
|
56
|
+
result.alwaysAllow = server.alwaysAllow;
|
|
57
|
+
}
|
|
58
|
+
if (server.networkTimeout !== void 0) {
|
|
59
|
+
result.networkTimeout = server.networkTimeout;
|
|
60
|
+
}
|
|
61
|
+
if (server.tools) {
|
|
62
|
+
result.tools = server.tools;
|
|
63
|
+
}
|
|
64
|
+
return result;
|
|
65
|
+
},
|
|
66
|
+
/**
|
|
67
|
+
* Remove rulesync-specific properties from server config
|
|
68
|
+
*/
|
|
69
|
+
cleanRulesyncProps: (server) => {
|
|
70
|
+
const { targets: _, transport: _transport, ...cleanServer } = server;
|
|
71
|
+
return { ...cleanServer };
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
var configWrappers = {
|
|
75
|
+
/**
|
|
76
|
+
* Standard mcpServers wrapper
|
|
77
|
+
*/
|
|
78
|
+
mcpServers: (servers) => ({
|
|
79
|
+
mcpServers: servers
|
|
80
|
+
}),
|
|
81
|
+
/**
|
|
82
|
+
* Servers-only wrapper (for tools that use "servers" instead of "mcpServers")
|
|
83
|
+
*/
|
|
84
|
+
servers: (servers) => ({
|
|
85
|
+
servers
|
|
86
|
+
})
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
export {
|
|
90
|
+
generateMcpConfig,
|
|
91
|
+
generateMcpConfigurationFiles,
|
|
92
|
+
serverTransforms,
|
|
93
|
+
configWrappers
|
|
94
|
+
};
|