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.
@@ -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
+ };
@@ -1,7 +1,8 @@
1
1
  import {
2
2
  generateClaudeMcp,
3
3
  generateClaudeMcpConfiguration
4
- } from "./chunk-4MZXYV5H.js";
4
+ } from "./chunk-FNL2KPM3.js";
5
+ import "./chunk-YPIFCGAP.js";
5
6
  import "./chunk-USKQYIZ2.js";
6
7
  export {
7
8
  generateClaudeMcp,
@@ -1,7 +1,8 @@
1
1
  import {
2
2
  generateClineMcp,
3
3
  generateClineMcpConfiguration
4
- } from "./chunk-AREA26HF.js";
4
+ } from "./chunk-HMMTSS5E.js";
5
+ import "./chunk-YPIFCGAP.js";
5
6
  import "./chunk-USKQYIZ2.js";
6
7
  export {
7
8
  generateClineMcp,