@sudosandwich/limps 2.4.0 → 2.6.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/cli/config-cmd.d.ts +58 -6
- package/dist/cli/config-cmd.d.ts.map +1 -1
- package/dist/cli/config-cmd.js +259 -46
- 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.d.ts.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 +9 -3
- package/dist/commands/config/sync-mcp.d.ts.map +1 -1
- package/dist/commands/config/sync-mcp.js +179 -69
- package/dist/commands/config/sync-mcp.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +21 -11
- package/dist/config.js.map +1 -1
- package/dist/extensions/context.d.ts +11 -0
- package/dist/extensions/context.d.ts.map +1 -0
- package/dist/extensions/context.js +54 -0
- package/dist/extensions/context.js.map +1 -0
- package/dist/extensions/index.d.ts +5 -0
- package/dist/extensions/index.d.ts.map +1 -0
- package/dist/extensions/index.js +5 -0
- package/dist/extensions/index.js.map +1 -0
- package/dist/extensions/loader.d.ts +38 -0
- package/dist/extensions/loader.d.ts.map +1 -0
- package/dist/extensions/loader.js +112 -0
- package/dist/extensions/loader.js.map +1 -0
- package/dist/extensions/types.d.ts +51 -0
- package/dist/extensions/types.d.ts.map +1 -0
- package/dist/extensions/types.js +2 -0
- package/dist/extensions/types.js.map +1 -0
- package/dist/resources/index.d.ts +2 -0
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/index.js +14 -0
- package/dist/resources/index.js.map +1 -1
- package/dist/server-main.js +1 -1
- package/dist/server-main.js.map +1 -1
- package/dist/server.d.ts +6 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +42 -7
- package/dist/server.js.map +1 -1
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +17 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/watcher.d.ts.map +1 -1
- package/dist/watcher.js +9 -5
- package/dist/watcher.js.map +1 -1
- package/package.json +13 -5
- package/LICENSE +0 -21
- package/README.md +0 -576
package/dist/cli/config-cmd.d.ts
CHANGED
|
@@ -69,14 +69,16 @@ export declare function configShow(resolveConfigPathFn: () => string): string;
|
|
|
69
69
|
*/
|
|
70
70
|
export declare function configPath(resolveConfigPathFn: () => string): string;
|
|
71
71
|
/**
|
|
72
|
-
* Add/register an existing config file to the registry.
|
|
72
|
+
* Add/register an existing config file or directory to the registry.
|
|
73
|
+
* If a directory is provided, looks for config.json inside it or creates one
|
|
74
|
+
* in the OS standard location (e.g., ~/Library/Application Support/limps/).
|
|
73
75
|
*
|
|
74
76
|
* @param name - Project name to use
|
|
75
|
-
* @param
|
|
77
|
+
* @param configFileOrDirPath - Path to the config file or directory containing plans
|
|
76
78
|
* @returns Success message
|
|
77
|
-
* @throws Error if
|
|
79
|
+
* @throws Error if path doesn't exist
|
|
78
80
|
*/
|
|
79
|
-
export declare function configAdd(name: string,
|
|
81
|
+
export declare function configAdd(name: string, configFileOrDirPath: string): string;
|
|
80
82
|
/**
|
|
81
83
|
* Remove a project from the registry.
|
|
82
84
|
* Does not delete any files.
|
|
@@ -96,7 +98,7 @@ export declare function configRemove(name: string): string;
|
|
|
96
98
|
* @throws Error if config file doesn't exist or is invalid
|
|
97
99
|
*/
|
|
98
100
|
export declare function configSet(configFilePath: string): string;
|
|
99
|
-
import { type McpClientAdapter } from './mcp-client-adapter.js';
|
|
101
|
+
import { LocalMcpAdapter, type McpClientAdapter, type McpServerConfig } from './mcp-client-adapter.js';
|
|
100
102
|
/**
|
|
101
103
|
* Discover and register config files from default OS locations.
|
|
102
104
|
* Scans the OS-specific application support directories for config.json files.
|
|
@@ -116,9 +118,20 @@ export declare function configDiscover(): string;
|
|
|
116
118
|
*/
|
|
117
119
|
export declare function generateMcpClientConfig(adapter: McpClientAdapter, resolveConfigPathFn: () => string, projectFilter?: string[]): {
|
|
118
120
|
serversKey: string;
|
|
119
|
-
servers: Record<string,
|
|
121
|
+
servers: Record<string, McpServerConfig>;
|
|
120
122
|
fullConfig: Record<string, unknown>;
|
|
121
123
|
};
|
|
124
|
+
/**
|
|
125
|
+
* Preview MCP client config changes without writing to disk.
|
|
126
|
+
* Returns a formatted diff and counts of additions/updates.
|
|
127
|
+
*/
|
|
128
|
+
export declare function previewMcpClientConfig(adapter: McpClientAdapter, resolveConfigPathFn: () => string, projectFilter?: string[]): {
|
|
129
|
+
hasChanges: boolean;
|
|
130
|
+
diffText: string;
|
|
131
|
+
addedServers: string[];
|
|
132
|
+
updatedServers: string[];
|
|
133
|
+
configPath: string;
|
|
134
|
+
};
|
|
122
135
|
/**
|
|
123
136
|
* Generate config JSON for printing (for unsupported clients).
|
|
124
137
|
*
|
|
@@ -161,6 +174,45 @@ export declare function configAddCursor(resolveConfigPathFn: () => string, proje
|
|
|
161
174
|
* @throws Error if Claude Code config directory doesn't exist or can't be written
|
|
162
175
|
*/
|
|
163
176
|
export declare function configAddClaudeCode(resolveConfigPathFn: () => string, projectFilter?: string[]): string;
|
|
177
|
+
/**
|
|
178
|
+
* Add limps server configuration to OpenAI Codex config.
|
|
179
|
+
* Creates the config file if it doesn't exist, or merges with existing config.
|
|
180
|
+
* Adds all registered projects as separate MCP servers.
|
|
181
|
+
*
|
|
182
|
+
* @param resolveConfigPathFn - Function to resolve limps config path (used for validation)
|
|
183
|
+
* @param projectFilter - Optional array of project names to filter (if not provided, adds all)
|
|
184
|
+
* @returns Success message listing all added servers
|
|
185
|
+
* @throws Error if Codex config directory doesn't exist or can't be written
|
|
186
|
+
*/
|
|
187
|
+
export declare function configAddCodex(resolveConfigPathFn: () => string, projectFilter?: string[]): string;
|
|
188
|
+
/**
|
|
189
|
+
* Add/update limps server configuration to local workspace MCP config file.
|
|
190
|
+
* Creates the config file if it doesn't exist, or merges with existing config.
|
|
191
|
+
* Adds all registered projects as separate MCP servers.
|
|
192
|
+
*
|
|
193
|
+
* @param resolveConfigPathFn - Function to resolve limps config path (used for validation)
|
|
194
|
+
* @param projectFilter - Optional array of project names to filter (if not provided, adds all)
|
|
195
|
+
* @param adapterOrPath - Optional LocalMcpAdapter instance or path to the config file
|
|
196
|
+
* @returns Success message listing all added servers
|
|
197
|
+
* @throws Error if config directory doesn't exist or can't be written
|
|
198
|
+
*/
|
|
199
|
+
export declare function configAddLocalMcp(resolveConfigPathFn: () => string, projectFilter?: string[], adapterOrPath?: LocalMcpAdapter | string): string;
|
|
200
|
+
/**
|
|
201
|
+
* Check if a local .mcp.json file exists in the current directory or specified path.
|
|
202
|
+
*
|
|
203
|
+
* @param mcpJsonPath - Optional path to .mcp.json (defaults to .mcp.json in current directory)
|
|
204
|
+
* @returns True if the file exists, false otherwise
|
|
205
|
+
*/
|
|
206
|
+
export declare function hasLocalMcpJson(mcpJsonPath?: string): boolean;
|
|
207
|
+
/**
|
|
208
|
+
* Generate ChatGPT MCP connector setup instructions.
|
|
209
|
+
* ChatGPT does not read local config files, so we provide manual steps instead.
|
|
210
|
+
*
|
|
211
|
+
* @param resolveConfigPathFn - Function to resolve limps config path (used for validation)
|
|
212
|
+
* @param projectFilter - Optional array of project names to filter (if not provided, adds all)
|
|
213
|
+
* @returns Instruction text for ChatGPT custom connectors
|
|
214
|
+
*/
|
|
215
|
+
export declare function generateChatGptInstructions(resolveConfigPathFn: () => string, projectFilter?: string[]): string;
|
|
164
216
|
/**
|
|
165
217
|
* Update options for configUpdate.
|
|
166
218
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-cmd.d.ts","sourceRoot":"","sources":["../../src/cli/config-cmd.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"config-cmd.d.ts","sourceRoot":"","sources":["../../src/cli/config-cmd.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/config-cmd.js
CHANGED
|
@@ -2,10 +2,13 @@
|
|
|
2
2
|
* Config subcommand handlers for limps CLI.
|
|
3
3
|
* Provides commands to manage the project registry and view configuration.
|
|
4
4
|
*/
|
|
5
|
-
import { existsSync, readdirSync, readFileSync, writeFileSync } from 'fs';
|
|
6
|
-
import
|
|
5
|
+
import { existsSync, readdirSync, readFileSync, writeFileSync, statSync, mkdirSync } from 'fs';
|
|
6
|
+
import * as jsonpatch from 'fast-json-patch';
|
|
7
|
+
import { resolve, dirname, basename, join } from 'path';
|
|
8
|
+
import * as toml from '@iarna/toml';
|
|
7
9
|
import { registerProject, unregisterProject, setCurrentProject, listProjects, loadRegistry, } from './registry.js';
|
|
8
10
|
import { loadConfig } from '../config.js';
|
|
11
|
+
import { getOSBasePath, getOSConfigPath, getOSDataPath } from '../utils/os-paths.js';
|
|
9
12
|
/**
|
|
10
13
|
* Get projects data for JSON output.
|
|
11
14
|
*
|
|
@@ -172,19 +175,75 @@ export function configPath(resolveConfigPathFn) {
|
|
|
172
175
|
return resolveConfigPathFn();
|
|
173
176
|
}
|
|
174
177
|
/**
|
|
175
|
-
* Add/register an existing config file to the registry.
|
|
178
|
+
* Add/register an existing config file or directory to the registry.
|
|
179
|
+
* If a directory is provided, looks for config.json inside it or creates one
|
|
180
|
+
* in the OS standard location (e.g., ~/Library/Application Support/limps/).
|
|
176
181
|
*
|
|
177
182
|
* @param name - Project name to use
|
|
178
|
-
* @param
|
|
183
|
+
* @param configFileOrDirPath - Path to the config file or directory containing plans
|
|
179
184
|
* @returns Success message
|
|
180
|
-
* @throws Error if
|
|
185
|
+
* @throws Error if path doesn't exist
|
|
181
186
|
*/
|
|
182
|
-
export function configAdd(name,
|
|
183
|
-
const absolutePath = resolve(
|
|
187
|
+
export function configAdd(name, configFileOrDirPath) {
|
|
188
|
+
const absolutePath = resolve(configFileOrDirPath);
|
|
184
189
|
if (!existsSync(absolutePath)) {
|
|
185
|
-
throw new Error(`
|
|
186
|
-
}
|
|
187
|
-
|
|
190
|
+
throw new Error(`Path not found: ${absolutePath}`);
|
|
191
|
+
}
|
|
192
|
+
const stats = statSync(absolutePath);
|
|
193
|
+
// If it's a directory, look for config.json or create one in OS standard location
|
|
194
|
+
if (stats.isDirectory()) {
|
|
195
|
+
const configInDir = join(absolutePath, 'config.json');
|
|
196
|
+
if (existsSync(configInDir)) {
|
|
197
|
+
// Found existing config.json in directory
|
|
198
|
+
try {
|
|
199
|
+
loadConfig(configInDir);
|
|
200
|
+
}
|
|
201
|
+
catch (error) {
|
|
202
|
+
throw new Error(`Invalid config file: ${error instanceof Error ? error.message : 'unknown error'}`);
|
|
203
|
+
}
|
|
204
|
+
registerProject(name, configInDir);
|
|
205
|
+
return `Registered project "${name}" with config: ${configInDir}`;
|
|
206
|
+
}
|
|
207
|
+
// No config.json found - create one in OS standard location
|
|
208
|
+
const basePath = getOSBasePath(name);
|
|
209
|
+
const configPath = getOSConfigPath(name);
|
|
210
|
+
const dataPath = getOSDataPath(name);
|
|
211
|
+
// Check if config already exists in OS location
|
|
212
|
+
if (existsSync(configPath)) {
|
|
213
|
+
throw new Error(`Config already exists at: ${configPath}\nTo reconfigure, delete the existing config file first.`);
|
|
214
|
+
}
|
|
215
|
+
// Create base and data directories
|
|
216
|
+
mkdirSync(basePath, { recursive: true });
|
|
217
|
+
mkdirSync(dirname(dataPath), { recursive: true });
|
|
218
|
+
// Determine plans path - use <dir>/plans if it exists, otherwise use <dir>
|
|
219
|
+
const plansSubdir = join(absolutePath, 'plans');
|
|
220
|
+
const plansPath = existsSync(plansSubdir) ? plansSubdir : absolutePath;
|
|
221
|
+
const config = {
|
|
222
|
+
configVersion: 1,
|
|
223
|
+
plansPath: plansPath,
|
|
224
|
+
docsPaths: [absolutePath],
|
|
225
|
+
fileExtensions: ['.md'],
|
|
226
|
+
dataPath: dataPath,
|
|
227
|
+
scoring: {
|
|
228
|
+
weights: {
|
|
229
|
+
dependency: 40,
|
|
230
|
+
priority: 30,
|
|
231
|
+
workload: 30,
|
|
232
|
+
},
|
|
233
|
+
biases: {},
|
|
234
|
+
},
|
|
235
|
+
};
|
|
236
|
+
writeFileSync(configPath, JSON.stringify(config, null, 2));
|
|
237
|
+
registerProject(name, configPath);
|
|
238
|
+
const lines = [];
|
|
239
|
+
lines.push(`Created config and registered project "${name}"`);
|
|
240
|
+
lines.push(` Config: ${configPath}`);
|
|
241
|
+
lines.push(` Plans path: ${plansPath}`);
|
|
242
|
+
lines.push(` Docs path: ${absolutePath}`);
|
|
243
|
+
lines.push(` Data path: ${dataPath}`);
|
|
244
|
+
return lines.join('\n');
|
|
245
|
+
}
|
|
246
|
+
// It's a file - validate it's a valid config file
|
|
188
247
|
try {
|
|
189
248
|
loadConfig(absolutePath);
|
|
190
249
|
}
|
|
@@ -242,8 +301,7 @@ export function configSet(configFilePath) {
|
|
|
242
301
|
setCurrentProject(projectName);
|
|
243
302
|
return `Registered and switched to project "${projectName}"`;
|
|
244
303
|
}
|
|
245
|
-
import {
|
|
246
|
-
import { getAdapter } from './mcp-client-adapter.js';
|
|
304
|
+
import { getAdapter, LocalMcpAdapter, } from './mcp-client-adapter.js';
|
|
247
305
|
/**
|
|
248
306
|
* Discover and register config files from default OS locations.
|
|
249
307
|
* Scans the OS-specific application support directories for config.json files.
|
|
@@ -325,16 +383,21 @@ export function generateMcpClientConfig(adapter, resolveConfigPathFn, projectFil
|
|
|
325
383
|
}
|
|
326
384
|
// Build servers configuration
|
|
327
385
|
const servers = {};
|
|
386
|
+
const missingProjects = [];
|
|
328
387
|
for (const project of projectsToAdd) {
|
|
329
388
|
// Skip projects with missing config files
|
|
330
389
|
if (!existsSync(project.configPath)) {
|
|
390
|
+
missingProjects.push({ name: project.name, path: project.configPath });
|
|
331
391
|
continue;
|
|
332
392
|
}
|
|
333
393
|
const serverName = `limps-planning-${project.name}`;
|
|
334
394
|
servers[serverName] = adapter.createServerConfig(project.configPath);
|
|
335
395
|
}
|
|
336
396
|
if (Object.keys(servers).length === 0) {
|
|
337
|
-
|
|
397
|
+
const missingList = missingProjects.length > 0
|
|
398
|
+
? ` Missing config files: ${missingProjects.map((p) => `${p.name} (${p.path})`).join(', ')}`
|
|
399
|
+
: '';
|
|
400
|
+
throw new Error(`No valid projects to add. All projects have missing config files.${missingList}`);
|
|
338
401
|
}
|
|
339
402
|
// Build full config structure
|
|
340
403
|
const serversKey = adapter.getServersKey();
|
|
@@ -388,10 +451,86 @@ function configAddMcpClient(adapter, resolveConfigPathFn, projectFilter) {
|
|
|
388
451
|
const { serversKey, servers } = generateMcpClientConfig(adapter, resolveConfigPathFn, projectFilter);
|
|
389
452
|
// Read existing config or create new one
|
|
390
453
|
const clientConfig = adapter.readConfig();
|
|
454
|
+
const { addedServers, updatedServers } = applyServerUpdates(clientConfig, serversKey, servers, adapter.useFlatKey?.() ?? false);
|
|
455
|
+
// Write back to file
|
|
456
|
+
adapter.writeConfig(clientConfig);
|
|
457
|
+
// Build success message
|
|
458
|
+
const lines = [];
|
|
459
|
+
const totalChanges = addedServers.length + updatedServers.length;
|
|
460
|
+
if (totalChanges === 0) {
|
|
461
|
+
lines.push(`No changes needed for ${adapter.getDisplayName()} config.`);
|
|
462
|
+
}
|
|
463
|
+
else {
|
|
464
|
+
if (addedServers.length > 0) {
|
|
465
|
+
lines.push(`Added ${addedServers.length} limps project(s) to ${adapter.getDisplayName()} config:`);
|
|
466
|
+
for (const server of addedServers) {
|
|
467
|
+
lines.push(` + ${server}`);
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
if (updatedServers.length > 0) {
|
|
471
|
+
if (addedServers.length > 0) {
|
|
472
|
+
lines.push('');
|
|
473
|
+
}
|
|
474
|
+
lines.push(`Updated ${updatedServers.length} limps project(s) in ${adapter.getDisplayName()} config:`);
|
|
475
|
+
for (const server of updatedServers) {
|
|
476
|
+
lines.push(` ~ ${server}`);
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
lines.push('');
|
|
481
|
+
lines.push(`Config location: ${adapter.getConfigPath()}`);
|
|
482
|
+
if (totalChanges > 0) {
|
|
483
|
+
lines.push(`Restart ${adapter.getDisplayName()} to use the updated MCP servers.`);
|
|
484
|
+
}
|
|
485
|
+
return lines.join('\n');
|
|
486
|
+
}
|
|
487
|
+
/**
|
|
488
|
+
* Preview MCP client config changes without writing to disk.
|
|
489
|
+
* Returns a formatted diff and counts of additions/updates.
|
|
490
|
+
*/
|
|
491
|
+
export function previewMcpClientConfig(adapter, resolveConfigPathFn, projectFilter) {
|
|
492
|
+
// Validate that at least one config exists
|
|
493
|
+
const testConfigPath = resolveConfigPathFn();
|
|
494
|
+
if (!existsSync(testConfigPath)) {
|
|
495
|
+
throw new Error(`Limps config not found: ${testConfigPath}\nRun \`limps init <name>\` to create a project first.`);
|
|
496
|
+
}
|
|
497
|
+
// Get all registered projects
|
|
498
|
+
const allProjects = listProjects();
|
|
499
|
+
if (allProjects.length === 0) {
|
|
500
|
+
throw new Error('No projects registered. Run `limps init <name>` to create a project first.');
|
|
501
|
+
}
|
|
502
|
+
// Filter projects if filter is provided
|
|
503
|
+
const projectsToAdd = projectFilter
|
|
504
|
+
? allProjects.filter((p) => projectFilter.includes(p.name))
|
|
505
|
+
: allProjects;
|
|
506
|
+
if (projectsToAdd.length === 0) {
|
|
507
|
+
throw new Error(`No matching projects found. Available projects: ${allProjects.map((p) => p.name).join(', ')}`);
|
|
508
|
+
}
|
|
509
|
+
const { serversKey, servers } = generateMcpClientConfig(adapter, resolveConfigPathFn, projectFilter);
|
|
510
|
+
const originalConfig = adapter.readConfig();
|
|
511
|
+
const nextConfig = deepCloneConfig(originalConfig);
|
|
512
|
+
const { addedServers, updatedServers } = applyServerUpdates(nextConfig, serversKey, servers, adapter.useFlatKey?.() ?? false);
|
|
513
|
+
const patch = jsonpatch.compare(originalConfig, nextConfig);
|
|
514
|
+
const diffText = patch.length > 0 ? JSON.stringify(patch, null, 2) : '';
|
|
515
|
+
return {
|
|
516
|
+
hasChanges: patch.length > 0,
|
|
517
|
+
diffText,
|
|
518
|
+
addedServers,
|
|
519
|
+
updatedServers,
|
|
520
|
+
configPath: adapter.getConfigPath(),
|
|
521
|
+
};
|
|
522
|
+
}
|
|
523
|
+
function deepCloneConfig(config) {
|
|
524
|
+
return JSON.parse(JSON.stringify(config));
|
|
525
|
+
}
|
|
526
|
+
function applyServerUpdates(clientConfig, serversKey, servers, useFlatKey) {
|
|
391
527
|
// Get or create the servers object
|
|
392
528
|
let existingServers;
|
|
393
|
-
if (
|
|
529
|
+
if (useFlatKey) {
|
|
394
530
|
// Use the key as a flat key (e.g., "mcp.servers" as a literal key)
|
|
531
|
+
if (clientConfig[serversKey] && typeof clientConfig[serversKey] !== 'object') {
|
|
532
|
+
throw new Error(`Invalid "${serversKey}" value: expected an object.`);
|
|
533
|
+
}
|
|
395
534
|
if (!clientConfig[serversKey] || typeof clientConfig[serversKey] !== 'object') {
|
|
396
535
|
clientConfig[serversKey] = {};
|
|
397
536
|
}
|
|
@@ -404,6 +543,9 @@ function configAddMcpClient(adapter, resolveConfigPathFn, projectFilter) {
|
|
|
404
543
|
// Navigate/create nested structure
|
|
405
544
|
for (let i = 0; i < keyParts.length - 1; i++) {
|
|
406
545
|
const part = keyParts[i];
|
|
546
|
+
if (current[part] && typeof current[part] !== 'object') {
|
|
547
|
+
throw new Error(`Invalid "${keyParts.slice(0, i + 1).join('.')}" value: expected an object.`);
|
|
548
|
+
}
|
|
407
549
|
if (!current[part] || typeof current[part] !== 'object') {
|
|
408
550
|
current[part] = {};
|
|
409
551
|
}
|
|
@@ -411,6 +553,9 @@ function configAddMcpClient(adapter, resolveConfigPathFn, projectFilter) {
|
|
|
411
553
|
}
|
|
412
554
|
// Get or create the final servers object
|
|
413
555
|
const finalKey = keyParts[keyParts.length - 1];
|
|
556
|
+
if (current[finalKey] && typeof current[finalKey] !== 'object') {
|
|
557
|
+
throw new Error(`Invalid "${serversKey}" value: expected an object.`);
|
|
558
|
+
}
|
|
414
559
|
if (!current[finalKey] || typeof current[finalKey] !== 'object') {
|
|
415
560
|
current[finalKey] = {};
|
|
416
561
|
}
|
|
@@ -429,37 +574,7 @@ function configAddMcpClient(adapter, resolveConfigPathFn, projectFilter) {
|
|
|
429
574
|
addedServers.push(serverName);
|
|
430
575
|
}
|
|
431
576
|
}
|
|
432
|
-
|
|
433
|
-
adapter.writeConfig(clientConfig);
|
|
434
|
-
// Build success message
|
|
435
|
-
const lines = [];
|
|
436
|
-
const totalChanges = addedServers.length + updatedServers.length;
|
|
437
|
-
if (totalChanges === 0) {
|
|
438
|
-
lines.push(`No changes needed for ${adapter.getDisplayName()} config.`);
|
|
439
|
-
}
|
|
440
|
-
else {
|
|
441
|
-
if (addedServers.length > 0) {
|
|
442
|
-
lines.push(`Added ${addedServers.length} limps project(s) to ${adapter.getDisplayName()} config:`);
|
|
443
|
-
for (const server of addedServers) {
|
|
444
|
-
lines.push(` + ${server}`);
|
|
445
|
-
}
|
|
446
|
-
}
|
|
447
|
-
if (updatedServers.length > 0) {
|
|
448
|
-
if (addedServers.length > 0) {
|
|
449
|
-
lines.push('');
|
|
450
|
-
}
|
|
451
|
-
lines.push(`Updated ${updatedServers.length} limps project(s) in ${adapter.getDisplayName()} config:`);
|
|
452
|
-
for (const server of updatedServers) {
|
|
453
|
-
lines.push(` ~ ${server}`);
|
|
454
|
-
}
|
|
455
|
-
}
|
|
456
|
-
}
|
|
457
|
-
lines.push('');
|
|
458
|
-
lines.push(`Config location: ${adapter.getConfigPath()}`);
|
|
459
|
-
if (totalChanges > 0) {
|
|
460
|
-
lines.push(`Restart ${adapter.getDisplayName()} to use the updated MCP servers.`);
|
|
461
|
-
}
|
|
462
|
-
return lines.join('\n');
|
|
577
|
+
return { addedServers, updatedServers };
|
|
463
578
|
}
|
|
464
579
|
/**
|
|
465
580
|
* Generate config JSON for printing (for unsupported clients).
|
|
@@ -471,10 +586,14 @@ function configAddMcpClient(adapter, resolveConfigPathFn, projectFilter) {
|
|
|
471
586
|
*/
|
|
472
587
|
export function generateConfigForPrint(adapter, resolveConfigPathFn, projectFilter) {
|
|
473
588
|
const { fullConfig, serversKey } = generateMcpClientConfig(adapter, resolveConfigPathFn, projectFilter);
|
|
589
|
+
const isTomlConfig = adapter.getConfigPath().endsWith('.toml');
|
|
590
|
+
const formattedConfig = isTomlConfig
|
|
591
|
+
? toml.stringify(fullConfig)
|
|
592
|
+
: JSON.stringify(fullConfig, null, 2);
|
|
474
593
|
const lines = [];
|
|
475
594
|
lines.push(`\n${adapter.getDisplayName()} Configuration:`);
|
|
476
595
|
lines.push(`\nAdd this to your ${adapter.getDisplayName()} config file:`);
|
|
477
|
-
lines.push(`\n${
|
|
596
|
+
lines.push(`\n${formattedConfig}`);
|
|
478
597
|
lines.push(`\nConfig file location: ${adapter.getConfigPath()}`);
|
|
479
598
|
lines.push(`\nNote: Merge the "${serversKey}" section into your existing config file.`);
|
|
480
599
|
return lines.join('\n');
|
|
@@ -521,6 +640,100 @@ export function configAddClaudeCode(resolveConfigPathFn, projectFilter) {
|
|
|
521
640
|
const adapter = getAdapter('claude-code');
|
|
522
641
|
return configAddMcpClient(adapter, resolveConfigPathFn, projectFilter);
|
|
523
642
|
}
|
|
643
|
+
/**
|
|
644
|
+
* Add limps server configuration to OpenAI Codex config.
|
|
645
|
+
* Creates the config file if it doesn't exist, or merges with existing config.
|
|
646
|
+
* Adds all registered projects as separate MCP servers.
|
|
647
|
+
*
|
|
648
|
+
* @param resolveConfigPathFn - Function to resolve limps config path (used for validation)
|
|
649
|
+
* @param projectFilter - Optional array of project names to filter (if not provided, adds all)
|
|
650
|
+
* @returns Success message listing all added servers
|
|
651
|
+
* @throws Error if Codex config directory doesn't exist or can't be written
|
|
652
|
+
*/
|
|
653
|
+
export function configAddCodex(resolveConfigPathFn, projectFilter) {
|
|
654
|
+
const adapter = getAdapter('codex');
|
|
655
|
+
return configAddMcpClient(adapter, resolveConfigPathFn, projectFilter);
|
|
656
|
+
}
|
|
657
|
+
/**
|
|
658
|
+
* Add/update limps server configuration to local workspace MCP config file.
|
|
659
|
+
* Creates the config file if it doesn't exist, or merges with existing config.
|
|
660
|
+
* Adds all registered projects as separate MCP servers.
|
|
661
|
+
*
|
|
662
|
+
* @param resolveConfigPathFn - Function to resolve limps config path (used for validation)
|
|
663
|
+
* @param projectFilter - Optional array of project names to filter (if not provided, adds all)
|
|
664
|
+
* @param adapterOrPath - Optional LocalMcpAdapter instance or path to the config file
|
|
665
|
+
* @returns Success message listing all added servers
|
|
666
|
+
* @throws Error if config directory doesn't exist or can't be written
|
|
667
|
+
*/
|
|
668
|
+
export function configAddLocalMcp(resolveConfigPathFn, projectFilter, adapterOrPath) {
|
|
669
|
+
// Use provided adapter, or create one from path, or use default (claude-code style .mcp.json)
|
|
670
|
+
let adapter;
|
|
671
|
+
if (adapterOrPath instanceof LocalMcpAdapter) {
|
|
672
|
+
adapter = adapterOrPath;
|
|
673
|
+
}
|
|
674
|
+
else if (typeof adapterOrPath === 'string') {
|
|
675
|
+
adapter = new LocalMcpAdapter('custom', adapterOrPath);
|
|
676
|
+
}
|
|
677
|
+
else {
|
|
678
|
+
adapter = new LocalMcpAdapter('claude-code');
|
|
679
|
+
}
|
|
680
|
+
return configAddMcpClient(adapter, resolveConfigPathFn, projectFilter);
|
|
681
|
+
}
|
|
682
|
+
/**
|
|
683
|
+
* Check if a local .mcp.json file exists in the current directory or specified path.
|
|
684
|
+
*
|
|
685
|
+
* @param mcpJsonPath - Optional path to .mcp.json (defaults to .mcp.json in current directory)
|
|
686
|
+
* @returns True if the file exists, false otherwise
|
|
687
|
+
*/
|
|
688
|
+
export function hasLocalMcpJson(mcpJsonPath) {
|
|
689
|
+
const path = mcpJsonPath || join(process.cwd(), '.mcp.json');
|
|
690
|
+
return existsSync(path);
|
|
691
|
+
}
|
|
692
|
+
/**
|
|
693
|
+
* Generate ChatGPT MCP connector setup instructions.
|
|
694
|
+
* ChatGPT does not read local config files, so we provide manual steps instead.
|
|
695
|
+
*
|
|
696
|
+
* @param resolveConfigPathFn - Function to resolve limps config path (used for validation)
|
|
697
|
+
* @param projectFilter - Optional array of project names to filter (if not provided, adds all)
|
|
698
|
+
* @returns Instruction text for ChatGPT custom connectors
|
|
699
|
+
*/
|
|
700
|
+
export function generateChatGptInstructions(resolveConfigPathFn, projectFilter) {
|
|
701
|
+
const testConfigPath = resolveConfigPathFn();
|
|
702
|
+
if (!existsSync(testConfigPath)) {
|
|
703
|
+
throw new Error(`Limps config not found: ${testConfigPath}\nRun \`limps init <name>\` to create a project first.`);
|
|
704
|
+
}
|
|
705
|
+
const allProjects = listProjects();
|
|
706
|
+
if (allProjects.length === 0) {
|
|
707
|
+
throw new Error('No projects registered. Run `limps init <name>` to create a project first.');
|
|
708
|
+
}
|
|
709
|
+
const projectsToAdd = projectFilter
|
|
710
|
+
? allProjects.filter((p) => projectFilter.includes(p.name))
|
|
711
|
+
: allProjects;
|
|
712
|
+
if (projectsToAdd.length === 0) {
|
|
713
|
+
throw new Error(`No matching projects found. Available projects: ${allProjects.map((p) => p.name).join(', ')}`);
|
|
714
|
+
}
|
|
715
|
+
const validProjects = projectsToAdd.filter((p) => existsSync(p.configPath));
|
|
716
|
+
if (validProjects.length === 0) {
|
|
717
|
+
throw new Error('No valid projects to add. All projects have missing config files.');
|
|
718
|
+
}
|
|
719
|
+
const lines = [];
|
|
720
|
+
lines.push('ChatGPT Custom Connector Setup (Manual)');
|
|
721
|
+
lines.push('');
|
|
722
|
+
lines.push('ChatGPT requires a remote MCP server reachable over HTTPS. limps runs over stdio, so deploy it behind an MCP-compatible HTTP/SSE transport or proxy.');
|
|
723
|
+
lines.push('');
|
|
724
|
+
lines.push('For each project, create a Custom Connector in ChatGPT with:');
|
|
725
|
+
lines.push('');
|
|
726
|
+
for (const project of validProjects) {
|
|
727
|
+
lines.push(`- Project: ${project.name}`);
|
|
728
|
+
lines.push(` Server Name: limps-planning-${project.name}`);
|
|
729
|
+
lines.push(' Server URL: https://your-domain.example/mcp');
|
|
730
|
+
lines.push(' Authentication: (required by your deployment)');
|
|
731
|
+
lines.push(` limps command: limps serve --config ${project.configPath}`);
|
|
732
|
+
lines.push('');
|
|
733
|
+
}
|
|
734
|
+
lines.push('Tip: create one connector per project config.');
|
|
735
|
+
return lines.join('\n');
|
|
736
|
+
}
|
|
524
737
|
/**
|
|
525
738
|
* Update an existing project's configuration.
|
|
526
739
|
* Allows updating plansPath and docsPaths without recreating the config.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-cmd.js","sourceRoot":"","sources":["../../src/cli/config-cmd.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config-cmd.js","sourceRoot":"","sources":["../../src/cli/config-cmd.ts"],"names":[],"mappings":"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"}
|