@sudosandwich/limps 2.5.0 → 2.6.1
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/README.md +341 -421
- package/dist/cli/config-cmd.d.ts +46 -5
- package/dist/cli/config-cmd.d.ts.map +1 -1
- package/dist/cli/config-cmd.js +183 -14
- package/dist/cli/config-cmd.js.map +1 -1
- package/dist/cli/mcp-client-adapter.d.ts +63 -2
- package/dist/cli/mcp-client-adapter.d.ts.map +1 -1
- package/dist/cli/mcp-client-adapter.js +166 -1
- package/dist/cli/mcp-client-adapter.js.map +1 -1
- package/dist/cli/mcp-clients.d.ts +49 -0
- package/dist/cli/mcp-clients.d.ts.map +1 -0
- package/dist/cli/mcp-clients.js +101 -0
- package/dist/cli/mcp-clients.js.map +1 -0
- package/dist/commands/config/add.d.ts +1 -1
- package/dist/commands/config/add.d.ts.map +1 -1
- package/dist/commands/config/add.js +2 -2
- package/dist/commands/config/add.js.map +1 -1
- package/dist/commands/config/index.js +1 -1
- package/dist/commands/config/index.js.map +1 -1
- package/dist/commands/config/sync-mcp.d.ts +6 -2
- package/dist/commands/config/sync-mcp.d.ts.map +1 -1
- package/dist/commands/config/sync-mcp.js +161 -101
- package/dist/commands/config/sync-mcp.js.map +1 -1
- package/dist/watcher.d.ts.map +1 -1
- package/dist/watcher.js +7 -5
- package/dist/watcher.js.map +1 -1
- package/package.json +7 -5
|
@@ -2,12 +2,10 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { Text, Box } from 'ink';
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
import { useState, useEffect } from 'react';
|
|
5
|
-
import {
|
|
6
|
-
import { resolveConfigPath } from '../../utils/config-resolver.js';
|
|
7
|
-
import { getAdapter } from '../../cli/mcp-client-adapter.js';
|
|
5
|
+
import { getSyncClients, createLocalClient, getLocalClientType, } from '../../cli/mcp-clients.js';
|
|
8
6
|
import { Confirm } from '../../components/Confirm.js';
|
|
9
7
|
import { listProjects } from '../../cli/registry.js';
|
|
10
|
-
export const description = 'Add or update
|
|
8
|
+
export const description = 'Add or update limps projects in MCP client configs (default: local/project config)';
|
|
11
9
|
export const args = z.tuple([
|
|
12
10
|
z.string().describe('Project name (optional, overrides --projects)').optional(),
|
|
13
11
|
]);
|
|
@@ -17,10 +15,18 @@ export const options = z.object({
|
|
|
17
15
|
.optional()
|
|
18
16
|
.describe('Comma-separated list of project names to add (default: all registered projects)'),
|
|
19
17
|
client: z
|
|
20
|
-
.enum(['claude', 'cursor', 'claude-code', 'all'])
|
|
18
|
+
.enum(['claude', 'cursor', 'claude-code', 'codex', 'chatgpt', 'all'])
|
|
21
19
|
.optional()
|
|
22
20
|
.default('all')
|
|
23
|
-
.describe('MCP client to configure (claude, cursor, claude-code, or all). Default: all'),
|
|
21
|
+
.describe('MCP client to configure (claude, cursor, claude-code, codex, chatgpt, or all). Default: all'),
|
|
22
|
+
global: z
|
|
23
|
+
.boolean()
|
|
24
|
+
.optional()
|
|
25
|
+
.describe('Write to global/user config instead of local project config'),
|
|
26
|
+
path: z
|
|
27
|
+
.string()
|
|
28
|
+
.optional()
|
|
29
|
+
.describe('Custom path for local config file (overrides default client-specific path)'),
|
|
24
30
|
print: z
|
|
25
31
|
.boolean()
|
|
26
32
|
.optional()
|
|
@@ -28,8 +34,10 @@ export const options = z.object({
|
|
|
28
34
|
force: z.boolean().optional().describe('Skip confirmation prompt (-f)'),
|
|
29
35
|
});
|
|
30
36
|
export default function ConfigSyncMcpCommand({ args, options }) {
|
|
37
|
+
// Support short flag alias "-f" in addition to "--force"
|
|
38
|
+
const force = options.force || process.argv.includes('-f');
|
|
31
39
|
// If force is set, skip confirmation
|
|
32
|
-
const [confirmed, setConfirmed] = useState(
|
|
40
|
+
const [confirmed, setConfirmed] = useState(force ? true : null);
|
|
33
41
|
const [results, setResults] = useState([]);
|
|
34
42
|
const [error, setError] = useState(null);
|
|
35
43
|
// Positional argument takes precedence over --projects option
|
|
@@ -42,97 +50,126 @@ export default function ConfigSyncMcpCommand({ args, options }) {
|
|
|
42
50
|
.map((p) => p.trim())
|
|
43
51
|
.filter((p) => p.length > 0)
|
|
44
52
|
: undefined;
|
|
45
|
-
// Build
|
|
53
|
+
// Build list of projects to show
|
|
46
54
|
const allProjects = listProjects();
|
|
47
55
|
const projectsToShow = projectFilter
|
|
48
56
|
? allProjects.filter((p) => projectFilter.includes(p.name))
|
|
49
57
|
: allProjects;
|
|
50
|
-
|
|
51
|
-
const
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
58
|
+
// Get all available global clients
|
|
59
|
+
const allClients = getSyncClients();
|
|
60
|
+
const selectedClients = options.client === 'all'
|
|
61
|
+
? allClients
|
|
62
|
+
: allClients.filter((client) => client.id === options.client);
|
|
63
|
+
// Determine if we're writing to global or local configs
|
|
64
|
+
const useGlobal = options.global === true;
|
|
65
|
+
const localClients = [];
|
|
66
|
+
if (!useGlobal) {
|
|
67
|
+
// When a custom path is provided, use it for all clients that support local configs
|
|
68
|
+
if (options.path) {
|
|
69
|
+
// Use custom path with 'custom' client type
|
|
70
|
+
const localClient = createLocalClient('custom', options.path);
|
|
71
|
+
localClients.push({ clientType: 'custom', client: localClient });
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
// Create local clients for each selected client that supports local configs
|
|
75
|
+
for (const client of selectedClients) {
|
|
76
|
+
const localType = getLocalClientType(client.id);
|
|
77
|
+
if (localType) {
|
|
78
|
+
const localClient = createLocalClient(localType);
|
|
79
|
+
localClients.push({ clientType: localType, client: localClient });
|
|
62
80
|
}
|
|
63
81
|
}
|
|
64
|
-
catch (err) {
|
|
65
|
-
diffBlocks.push(`--- Claude Desktop ---\nError: ${err.message}`);
|
|
66
|
-
}
|
|
67
82
|
}
|
|
68
83
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
84
|
+
// Build display names for confirmation message
|
|
85
|
+
const clientsToShow = [];
|
|
86
|
+
if (useGlobal) {
|
|
87
|
+
clientsToShow.push(...selectedClients.map((client) => `${client.displayName} (global)`));
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
clientsToShow.push(...localClients.map((lc) => lc.client.displayName));
|
|
91
|
+
// Also show print-only clients
|
|
92
|
+
const printOnlyClients = selectedClients.filter((client) => client.printOnly);
|
|
93
|
+
clientsToShow.push(...printOnlyClients.map((client) => client.displayName));
|
|
94
|
+
}
|
|
95
|
+
// Preview changes
|
|
96
|
+
const diffBlocks = [];
|
|
97
|
+
let hasAnyChanges = false;
|
|
98
|
+
if (!force) {
|
|
99
|
+
if (useGlobal) {
|
|
100
|
+
// Preview global client changes
|
|
101
|
+
for (const client of selectedClients) {
|
|
102
|
+
if (!client.supportsPreview || !client.runPreview) {
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
105
|
+
try {
|
|
106
|
+
const preview = client.runPreview(projectFilter);
|
|
107
|
+
if (preview.hasChanges) {
|
|
108
|
+
hasAnyChanges = true;
|
|
109
|
+
diffBlocks.push(`--- ${client.displayName} (${preview.configPath}) ---\n${preview.diffText}`);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
catch (err) {
|
|
113
|
+
diffBlocks.push(`--- ${client.displayName} ---\nError: ${err.message}`);
|
|
78
114
|
}
|
|
79
|
-
}
|
|
80
|
-
catch (err) {
|
|
81
|
-
diffBlocks.push(`--- Cursor ---\nError: ${err.message}`);
|
|
82
115
|
}
|
|
83
116
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
117
|
+
else {
|
|
118
|
+
// Preview local client changes
|
|
119
|
+
for (const { client } of localClients) {
|
|
120
|
+
try {
|
|
121
|
+
const preview = client.runPreview(projectFilter);
|
|
122
|
+
if (preview.hasChanges) {
|
|
123
|
+
hasAnyChanges = true;
|
|
124
|
+
diffBlocks.push(`--- ${client.displayName} (${preview.configPath}) ---\n${preview.diffText}`);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
catch (err) {
|
|
128
|
+
diffBlocks.push(`--- ${client.displayName} ---\nError: ${err.message}`);
|
|
94
129
|
}
|
|
95
|
-
}
|
|
96
|
-
catch (err) {
|
|
97
|
-
diffBlocks.push(`--- Claude Code ---\nError: ${err.message}`);
|
|
98
130
|
}
|
|
99
131
|
}
|
|
100
132
|
}
|
|
101
133
|
const diffSection = diffBlocks.length > 0 ? `\n\nConfig diff (preview):\n${diffBlocks.join('\n\n')}` : '';
|
|
102
|
-
const
|
|
103
|
-
const
|
|
134
|
+
const printOnlyClients = selectedClients.filter((client) => client.printOnly);
|
|
135
|
+
const includesPrintOnly = printOnlyClients.length > 0;
|
|
136
|
+
const changeNote = !force && !hasAnyChanges && !includesPrintOnly ? '\n\nNo config changes detected.' : '';
|
|
137
|
+
const printOnlyNames = printOnlyClients.map((client) => client.displayName).join(', ');
|
|
138
|
+
const printOnlyNote = includesPrintOnly
|
|
139
|
+
? `\n\nPrint-only clients (${printOnlyNames}) will not write local config files.`
|
|
140
|
+
: '';
|
|
141
|
+
const scopeNote = useGlobal ? ' (global configs)' : ' (local/project configs)';
|
|
142
|
+
const warningMessage = `This will add/update ${projectsToShow.length} project(s) (${projectsToShow.map((p) => p.name).join(', ')}) in ${clientsToShow.join(', ')}${scopeNote}.${diffSection}${changeNote}${printOnlyNote}`;
|
|
104
143
|
// If --print, just output the JSON format (no confirmation needed)
|
|
105
144
|
if (options.print) {
|
|
106
145
|
try {
|
|
107
146
|
const printResults = [];
|
|
108
|
-
if (
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
printResults.push(output);
|
|
123
|
-
}
|
|
124
|
-
catch (err) {
|
|
125
|
-
printResults.push(`Cursor: Error - ${err.message}`);
|
|
147
|
+
if (useGlobal) {
|
|
148
|
+
// Print global configs
|
|
149
|
+
for (const client of selectedClients) {
|
|
150
|
+
if (!client.supportsPrint || !client.runPrint) {
|
|
151
|
+
printResults.push(`${client.displayName}: Error - print not supported.`);
|
|
152
|
+
continue;
|
|
153
|
+
}
|
|
154
|
+
try {
|
|
155
|
+
const output = client.runPrint(projectFilter);
|
|
156
|
+
printResults.push(output);
|
|
157
|
+
}
|
|
158
|
+
catch (err) {
|
|
159
|
+
printResults.push(`${client.displayName}: Error - ${err.message}`);
|
|
160
|
+
}
|
|
126
161
|
}
|
|
127
162
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
163
|
+
else {
|
|
164
|
+
// Print local configs
|
|
165
|
+
for (const { client } of localClients) {
|
|
166
|
+
try {
|
|
167
|
+
const output = client.runPrint(projectFilter);
|
|
168
|
+
printResults.push(output);
|
|
169
|
+
}
|
|
170
|
+
catch (err) {
|
|
171
|
+
printResults.push(`${client.displayName}: Error - ${err.message}`);
|
|
172
|
+
}
|
|
136
173
|
}
|
|
137
174
|
}
|
|
138
175
|
return _jsx(Text, { children: printResults.join('\n\n') });
|
|
@@ -143,34 +180,57 @@ export default function ConfigSyncMcpCommand({ args, options }) {
|
|
|
143
180
|
}
|
|
144
181
|
// Execute the operation when confirmed or forced
|
|
145
182
|
useEffect(() => {
|
|
146
|
-
if ((confirmed === true ||
|
|
183
|
+
if ((confirmed === true || force) && results.length === 0 && error === null) {
|
|
147
184
|
try {
|
|
148
185
|
const outputResults = [];
|
|
149
|
-
if (
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
186
|
+
if (useGlobal) {
|
|
187
|
+
// Write to global configs
|
|
188
|
+
for (const client of selectedClients) {
|
|
189
|
+
if (client.supportsWrite && client.runWrite) {
|
|
190
|
+
try {
|
|
191
|
+
const output = client.runWrite(projectFilter);
|
|
192
|
+
outputResults.push(output);
|
|
193
|
+
}
|
|
194
|
+
catch (err) {
|
|
195
|
+
outputResults.push(`${client.displayName}: Error - ${err.message}`);
|
|
196
|
+
}
|
|
197
|
+
continue;
|
|
198
|
+
}
|
|
199
|
+
if (client.printOnly && client.runPrint) {
|
|
200
|
+
try {
|
|
201
|
+
const output = client.runPrint(projectFilter);
|
|
202
|
+
outputResults.push(output);
|
|
203
|
+
}
|
|
204
|
+
catch (err) {
|
|
205
|
+
outputResults.push(`${client.displayName}: Error - ${err.message}`);
|
|
206
|
+
}
|
|
207
|
+
continue;
|
|
208
|
+
}
|
|
209
|
+
outputResults.push(`${client.displayName}: Error - write not supported.`);
|
|
156
210
|
}
|
|
157
211
|
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
212
|
+
else {
|
|
213
|
+
// Write to local configs
|
|
214
|
+
for (const { client } of localClients) {
|
|
215
|
+
try {
|
|
216
|
+
const output = client.runWrite(projectFilter);
|
|
217
|
+
outputResults.push(output);
|
|
218
|
+
}
|
|
219
|
+
catch (err) {
|
|
220
|
+
outputResults.push(`${client.displayName}: Error - ${err.message}`);
|
|
221
|
+
}
|
|
165
222
|
}
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
223
|
+
// Also handle print-only clients
|
|
224
|
+
for (const client of printOnlyClients) {
|
|
225
|
+
if (client.runPrint) {
|
|
226
|
+
try {
|
|
227
|
+
const output = client.runPrint(projectFilter);
|
|
228
|
+
outputResults.push(output);
|
|
229
|
+
}
|
|
230
|
+
catch (err) {
|
|
231
|
+
outputResults.push(`${client.displayName}: Error - ${err.message}`);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
174
234
|
}
|
|
175
235
|
}
|
|
176
236
|
setResults(outputResults);
|
|
@@ -179,7 +239,7 @@ export default function ConfigSyncMcpCommand({ args, options }) {
|
|
|
179
239
|
setError(err.message);
|
|
180
240
|
}
|
|
181
241
|
}
|
|
182
|
-
}, [confirmed,
|
|
242
|
+
}, [confirmed, force, options.client, projectFilter, useGlobal]);
|
|
183
243
|
if (error) {
|
|
184
244
|
return _jsxs(Text, { color: "red", children: ["Error: ", error] });
|
|
185
245
|
}
|
|
@@ -190,7 +250,7 @@ export default function ConfigSyncMcpCommand({ args, options }) {
|
|
|
190
250
|
return (_jsx(Box, { children: _jsx(Text, { color: "yellow", children: "Operation cancelled." }) }));
|
|
191
251
|
}
|
|
192
252
|
// Show confirmation prompt (unless force flag is set)
|
|
193
|
-
if (!
|
|
253
|
+
if (!force) {
|
|
194
254
|
return (_jsx(Confirm, { message: warningMessage, onConfirm: () => setConfirmed(true), onCancel: () => setConfirmed(false), defaultYes: false }));
|
|
195
255
|
}
|
|
196
256
|
// Force mode - show loading or execute
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-mcp.js","sourceRoot":"","sources":["../../../src/commands/config/sync-mcp.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"sync-mcp.js","sourceRoot":"","sources":["../../../src/commands/config/sync-mcp.tsx"],"names":[],"mappings":"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"}
|
package/dist/watcher.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"AAAA,OAAiB,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AASpD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;CACpC;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,OAAO,CAAC;AASzC;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,EAC7B,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,EAC7E,cAAc,GAAE,MAAM,EAA4B,EAClD,cAAc,GAAE,MAAM,EAAkD,EACxE,aAAa,SAAM,EACnB,WAAW,SAAuB,EAClC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GACtD,SAAS,
|
|
1
|
+
{"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"AAAA,OAAiB,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AASpD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;CACpC;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,OAAO,CAAC;AASzC;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,EAC7B,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,EAC7E,cAAc,GAAE,MAAM,EAA4B,EAClD,cAAc,GAAE,MAAM,EAAkD,EACxE,aAAa,SAAM,EACnB,WAAW,SAAuB,EAClC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GACtD,SAAS,CA6JX;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnE"}
|
package/dist/watcher.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import chokidar from 'chokidar';
|
|
2
2
|
import { PathFilter } from './utils/pathfilter.js';
|
|
3
|
-
import { relative } from 'path';
|
|
3
|
+
import { relative, sep } from 'path';
|
|
4
4
|
/**
|
|
5
5
|
* Default file extensions to watch.
|
|
6
6
|
*/
|
|
@@ -108,13 +108,15 @@ export function startWatcher(watchPaths, onChange, fileExtensions = DEFAULT_FILE
|
|
|
108
108
|
};
|
|
109
109
|
// Helper to get relative path for PathFilter
|
|
110
110
|
const getRelativePath = (absolutePath) => {
|
|
111
|
-
|
|
112
|
-
const
|
|
111
|
+
const basePaths = Array.isArray(watchPaths) ? watchPaths : [watchPaths];
|
|
112
|
+
const matchedBase = basePaths.find((base) => {
|
|
113
|
+
const prefix = base.endsWith(sep) ? base : base + sep;
|
|
114
|
+
return absolutePath === base || absolutePath.startsWith(prefix);
|
|
115
|
+
}) ?? basePaths[0];
|
|
113
116
|
try {
|
|
114
|
-
return relative(
|
|
117
|
+
return relative(matchedBase, absolutePath);
|
|
115
118
|
}
|
|
116
119
|
catch {
|
|
117
|
-
// Fallback to just the filename if relative fails
|
|
118
120
|
return absolutePath.split(/[/\\]/).pop() || absolutePath;
|
|
119
121
|
}
|
|
120
122
|
};
|
package/dist/watcher.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watcher.js","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"AAAA,OAAO,QAA4B,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"watcher.js","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sudosandwich/limps",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.6.1",
|
|
4
4
|
"description": "Local Intelligent MCP Planning Server - AI agent plan management and coordination",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -24,7 +24,8 @@
|
|
|
24
24
|
"format:check": "prettier --check \"src/**/*.{ts,tsx}\" \"tests/**/*.{ts,tsx}\"",
|
|
25
25
|
"validate": "npm run format:check && npm run lint && npm run type-check && npm run build && npm test",
|
|
26
26
|
"ci": "npm run validate",
|
|
27
|
-
"
|
|
27
|
+
"prepublishOnly": "npm run build && node scripts/prepare-publish.cjs",
|
|
28
|
+
"postpublish": "node scripts/cleanup-publish.cjs"
|
|
28
29
|
},
|
|
29
30
|
"keywords": [
|
|
30
31
|
"mcp",
|
|
@@ -54,17 +55,18 @@
|
|
|
54
55
|
"LICENSE"
|
|
55
56
|
],
|
|
56
57
|
"dependencies": {
|
|
57
|
-
"@
|
|
58
|
+
"@iarna/toml": "^3.0.0",
|
|
59
|
+
"@modelcontextprotocol/sdk": "^1.25.0",
|
|
58
60
|
"better-sqlite3": "^12.6.2",
|
|
59
61
|
"chokidar": "^5.0.0",
|
|
62
|
+
"fast-json-patch": "^3.1.1",
|
|
63
|
+
"gray-matter": "^4.0.3",
|
|
60
64
|
"ink": "^6.6.0",
|
|
61
65
|
"micromatch": "^4.0.8",
|
|
62
66
|
"open": "^11.0.0",
|
|
63
67
|
"pastel": "^4.0.0",
|
|
64
68
|
"quickjs-emscripten": "^0.31.0",
|
|
65
69
|
"react": "^19.2.3",
|
|
66
|
-
"fast-json-patch": "^3.1.1",
|
|
67
|
-
"gray-matter": "^4.0.3",
|
|
68
70
|
"remove-markdown": "^0.6.3",
|
|
69
71
|
"update-notifier": "^7.3.1",
|
|
70
72
|
"which": "^6.0.0",
|