@sudosandwich/limps 2.13.2 → 3.0.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.
Files changed (252) hide show
  1. package/README.md +48 -3
  2. package/dist/cli/config-cmd.d.ts +25 -184
  3. package/dist/cli/config-cmd.d.ts.map +1 -1
  4. package/dist/cli/config-cmd.js +100 -853
  5. package/dist/cli/config-cmd.js.map +1 -1
  6. package/dist/cli/graph-reindex.d.ts.map +1 -1
  7. package/dist/cli/graph-reindex.js +43 -2
  8. package/dist/cli/graph-reindex.js.map +1 -1
  9. package/dist/cli/index.d.ts +1 -2
  10. package/dist/cli/index.d.ts.map +1 -1
  11. package/dist/cli/index.js +2 -3
  12. package/dist/cli/index.js.map +1 -1
  13. package/dist/cli/init-project.d.ts +7 -3
  14. package/dist/cli/init-project.d.ts.map +1 -1
  15. package/dist/cli/init-project.js +46 -36
  16. package/dist/cli/init-project.js.map +1 -1
  17. package/dist/cli/mcp-clients.d.ts +6 -6
  18. package/dist/cli/mcp-clients.d.ts.map +1 -1
  19. package/dist/cli/mcp-clients.js +14 -15
  20. package/dist/cli/mcp-clients.js.map +1 -1
  21. package/dist/cli.js +18 -8
  22. package/dist/cli.js.map +1 -1
  23. package/dist/commands/config/index.d.ts.map +1 -1
  24. package/dist/commands/config/index.js +3 -12
  25. package/dist/commands/config/index.js.map +1 -1
  26. package/dist/commands/config/sync-mcp.d.ts +3 -5
  27. package/dist/commands/config/sync-mcp.d.ts.map +1 -1
  28. package/dist/commands/config/sync-mcp.js +23 -50
  29. package/dist/commands/config/sync-mcp.js.map +1 -1
  30. package/dist/commands/config/update.d.ts +3 -4
  31. package/dist/commands/config/update.d.ts.map +1 -1
  32. package/dist/commands/config/update.js +6 -5
  33. package/dist/commands/config/update.js.map +1 -1
  34. package/dist/commands/config/upgrade.d.ts +1 -1
  35. package/dist/commands/config/upgrade.js +2 -2
  36. package/dist/commands/config/upgrade.js.map +1 -1
  37. package/dist/commands/graph/check.d.ts +0 -1
  38. package/dist/commands/graph/check.d.ts.map +1 -1
  39. package/dist/commands/graph/check.js +4 -13
  40. package/dist/commands/graph/check.js.map +1 -1
  41. package/dist/commands/graph/entity.d.ts +0 -1
  42. package/dist/commands/graph/entity.d.ts.map +1 -1
  43. package/dist/commands/graph/entity.js +4 -13
  44. package/dist/commands/graph/entity.js.map +1 -1
  45. package/dist/commands/graph/health.d.ts +0 -1
  46. package/dist/commands/graph/health.d.ts.map +1 -1
  47. package/dist/commands/graph/health.js +4 -13
  48. package/dist/commands/graph/health.js.map +1 -1
  49. package/dist/commands/graph/index.d.ts.map +1 -1
  50. package/dist/commands/graph/index.js +1 -3
  51. package/dist/commands/graph/index.js.map +1 -1
  52. package/dist/commands/graph/overlap.d.ts +0 -1
  53. package/dist/commands/graph/overlap.d.ts.map +1 -1
  54. package/dist/commands/graph/overlap.js +3 -9
  55. package/dist/commands/graph/overlap.js.map +1 -1
  56. package/dist/commands/graph/reindex.d.ts +0 -1
  57. package/dist/commands/graph/reindex.d.ts.map +1 -1
  58. package/dist/commands/graph/reindex.js +3 -9
  59. package/dist/commands/graph/reindex.js.map +1 -1
  60. package/dist/commands/graph/search.d.ts +0 -1
  61. package/dist/commands/graph/search.d.ts.map +1 -1
  62. package/dist/commands/graph/search.js +3 -9
  63. package/dist/commands/graph/search.js.map +1 -1
  64. package/dist/commands/graph/suggest.d.ts +0 -1
  65. package/dist/commands/graph/suggest.d.ts.map +1 -1
  66. package/dist/commands/graph/suggest.js +4 -13
  67. package/dist/commands/graph/suggest.js.map +1 -1
  68. package/dist/commands/graph/trace.d.ts +0 -1
  69. package/dist/commands/graph/trace.d.ts.map +1 -1
  70. package/dist/commands/graph/trace.js +3 -9
  71. package/dist/commands/graph/trace.js.map +1 -1
  72. package/dist/commands/graph/watch.d.ts +0 -1
  73. package/dist/commands/graph/watch.d.ts.map +1 -1
  74. package/dist/commands/graph/watch.js +2 -5
  75. package/dist/commands/graph/watch.js.map +1 -1
  76. package/dist/commands/health/check.d.ts +0 -1
  77. package/dist/commands/health/check.d.ts.map +1 -1
  78. package/dist/commands/health/check.js +3 -9
  79. package/dist/commands/health/check.js.map +1 -1
  80. package/dist/commands/health/index.d.ts.map +1 -1
  81. package/dist/commands/health/index.js +1 -3
  82. package/dist/commands/health/index.js.map +1 -1
  83. package/dist/commands/health/inference.d.ts +0 -1
  84. package/dist/commands/health/inference.d.ts.map +1 -1
  85. package/dist/commands/health/inference.js +4 -10
  86. package/dist/commands/health/inference.js.map +1 -1
  87. package/dist/commands/health/staleness.d.ts +0 -1
  88. package/dist/commands/health/staleness.d.ts.map +1 -1
  89. package/dist/commands/health/staleness.js +3 -9
  90. package/dist/commands/health/staleness.js.map +1 -1
  91. package/dist/commands/init.d.ts +4 -6
  92. package/dist/commands/init.d.ts.map +1 -1
  93. package/dist/commands/init.js +8 -8
  94. package/dist/commands/init.js.map +1 -1
  95. package/dist/commands/list-agents.d.ts +0 -1
  96. package/dist/commands/list-agents.d.ts.map +1 -1
  97. package/dist/commands/list-agents.js +6 -17
  98. package/dist/commands/list-agents.js.map +1 -1
  99. package/dist/commands/list-plans.d.ts +0 -1
  100. package/dist/commands/list-plans.d.ts.map +1 -1
  101. package/dist/commands/list-plans.js +6 -12
  102. package/dist/commands/list-plans.js.map +1 -1
  103. package/dist/commands/next-task.d.ts +0 -1
  104. package/dist/commands/next-task.d.ts.map +1 -1
  105. package/dist/commands/next-task.js +7 -18
  106. package/dist/commands/next-task.js.map +1 -1
  107. package/dist/commands/proposals/apply-safe.d.ts +0 -1
  108. package/dist/commands/proposals/apply-safe.d.ts.map +1 -1
  109. package/dist/commands/proposals/apply-safe.js +4 -13
  110. package/dist/commands/proposals/apply-safe.js.map +1 -1
  111. package/dist/commands/proposals/apply.d.ts +0 -1
  112. package/dist/commands/proposals/apply.d.ts.map +1 -1
  113. package/dist/commands/proposals/apply.js +3 -9
  114. package/dist/commands/proposals/apply.js.map +1 -1
  115. package/dist/commands/proposals/index.d.ts +0 -1
  116. package/dist/commands/proposals/index.d.ts.map +1 -1
  117. package/dist/commands/proposals/index.js +4 -10
  118. package/dist/commands/proposals/index.js.map +1 -1
  119. package/dist/commands/reindex.d.ts +0 -1
  120. package/dist/commands/reindex.d.ts.map +1 -1
  121. package/dist/commands/reindex.js +4 -8
  122. package/dist/commands/reindex.js.map +1 -1
  123. package/dist/commands/repair-plans.d.ts +0 -1
  124. package/dist/commands/repair-plans.d.ts.map +1 -1
  125. package/dist/commands/repair-plans.js +3 -6
  126. package/dist/commands/repair-plans.js.map +1 -1
  127. package/dist/commands/reset.d.ts +13 -0
  128. package/dist/commands/reset.d.ts.map +1 -0
  129. package/dist/commands/reset.js +30 -0
  130. package/dist/commands/reset.js.map +1 -0
  131. package/dist/commands/score-all.d.ts +0 -1
  132. package/dist/commands/score-all.d.ts.map +1 -1
  133. package/dist/commands/score-all.js +7 -18
  134. package/dist/commands/score-all.js.map +1 -1
  135. package/dist/commands/score-task.d.ts +0 -1
  136. package/dist/commands/score-task.d.ts.map +1 -1
  137. package/dist/commands/score-task.js +7 -22
  138. package/dist/commands/score-task.js.map +1 -1
  139. package/dist/commands/start.d.ts +15 -0
  140. package/dist/commands/start.d.ts.map +1 -0
  141. package/dist/commands/start.js +128 -0
  142. package/dist/commands/start.js.map +1 -0
  143. package/dist/commands/status-server.d.ts +13 -0
  144. package/dist/commands/status-server.d.ts.map +1 -0
  145. package/dist/commands/status-server.js +118 -0
  146. package/dist/commands/status-server.js.map +1 -0
  147. package/dist/commands/status.d.ts +0 -1
  148. package/dist/commands/status.d.ts.map +1 -1
  149. package/dist/commands/status.js +3 -9
  150. package/dist/commands/status.js.map +1 -1
  151. package/dist/commands/stop.d.ts +12 -0
  152. package/dist/commands/stop.d.ts.map +1 -0
  153. package/dist/commands/stop.js +87 -0
  154. package/dist/commands/stop.js.map +1 -0
  155. package/dist/config.d.ts +34 -0
  156. package/dist/config.d.ts.map +1 -1
  157. package/dist/config.js +101 -0
  158. package/dist/config.js.map +1 -1
  159. package/dist/indexer.d.ts +7 -0
  160. package/dist/indexer.d.ts.map +1 -1
  161. package/dist/indexer.js +15 -0
  162. package/dist/indexer.js.map +1 -1
  163. package/dist/pidfile.d.ts +55 -0
  164. package/dist/pidfile.d.ts.map +1 -0
  165. package/dist/pidfile.js +103 -0
  166. package/dist/pidfile.js.map +1 -0
  167. package/dist/server-http-entry.d.ts +8 -0
  168. package/dist/server-http-entry.d.ts.map +1 -0
  169. package/dist/server-http-entry.js +42 -0
  170. package/dist/server-http-entry.js.map +1 -0
  171. package/dist/server-http.d.ts +19 -0
  172. package/dist/server-http.d.ts.map +1 -0
  173. package/dist/server-http.js +292 -0
  174. package/dist/server-http.js.map +1 -0
  175. package/dist/server-main.d.ts +3 -3
  176. package/dist/server-main.d.ts.map +1 -1
  177. package/dist/server-main.js +17 -111
  178. package/dist/server-main.js.map +1 -1
  179. package/dist/server-shared.d.ts +30 -0
  180. package/dist/server-shared.d.ts.map +1 -0
  181. package/dist/server-shared.js +110 -0
  182. package/dist/server-shared.js.map +1 -0
  183. package/dist/server.d.ts +2 -1
  184. package/dist/server.d.ts.map +1 -1
  185. package/dist/server.js +4 -3
  186. package/dist/server.js.map +1 -1
  187. package/dist/tools/delete-doc.d.ts.map +1 -1
  188. package/dist/tools/delete-doc.js +24 -8
  189. package/dist/tools/delete-doc.js.map +1 -1
  190. package/dist/utils/backup.d.ts.map +1 -1
  191. package/dist/utils/backup.js +10 -1
  192. package/dist/utils/backup.js.map +1 -1
  193. package/dist/utils/cli-help.d.ts +0 -2
  194. package/dist/utils/cli-help.d.ts.map +1 -1
  195. package/dist/utils/cli-help.js +0 -6
  196. package/dist/utils/cli-help.js.map +1 -1
  197. package/dist/utils/config-resolver.d.ts +1 -11
  198. package/dist/utils/config-resolver.d.ts.map +1 -1
  199. package/dist/utils/config-resolver.js +2 -34
  200. package/dist/utils/config-resolver.js.map +1 -1
  201. package/dist/utils/index.d.ts +0 -1
  202. package/dist/utils/index.d.ts.map +1 -1
  203. package/dist/utils/index.js +0 -1
  204. package/dist/utils/index.js.map +1 -1
  205. package/dist/utils/rate-limiter.d.ts +18 -0
  206. package/dist/utils/rate-limiter.d.ts.map +1 -0
  207. package/dist/utils/rate-limiter.js +60 -0
  208. package/dist/utils/rate-limiter.js.map +1 -0
  209. package/dist/utils/version-state.d.ts.map +1 -1
  210. package/dist/utils/version-state.js +20 -4
  211. package/dist/utils/version-state.js.map +1 -1
  212. package/package.json +1 -1
  213. package/dist/cli/registry.d.ts +0 -94
  214. package/dist/cli/registry.d.ts.map +0 -1
  215. package/dist/cli/registry.js +0 -150
  216. package/dist/cli/registry.js.map +0 -1
  217. package/dist/commands/config/add.d.ts +0 -9
  218. package/dist/commands/config/add.d.ts.map +0 -1
  219. package/dist/commands/config/add.js +0 -20
  220. package/dist/commands/config/add.js.map +0 -1
  221. package/dist/commands/config/discover.d.ts +0 -3
  222. package/dist/commands/config/discover.d.ts.map +0 -1
  223. package/dist/commands/config/discover.js +0 -9
  224. package/dist/commands/config/discover.js.map +0 -1
  225. package/dist/commands/config/list.d.ts +0 -11
  226. package/dist/commands/config/list.d.ts.map +0 -1
  227. package/dist/commands/config/list.js +0 -28
  228. package/dist/commands/config/list.js.map +0 -1
  229. package/dist/commands/config/migrate.d.ts +0 -3
  230. package/dist/commands/config/migrate.d.ts.map +0 -1
  231. package/dist/commands/config/migrate.js +0 -14
  232. package/dist/commands/config/migrate.js.map +0 -1
  233. package/dist/commands/config/remove.d.ts +0 -9
  234. package/dist/commands/config/remove.d.ts.map +0 -1
  235. package/dist/commands/config/remove.js +0 -17
  236. package/dist/commands/config/remove.js.map +0 -1
  237. package/dist/commands/config/set.d.ts +0 -9
  238. package/dist/commands/config/set.d.ts.map +0 -1
  239. package/dist/commands/config/set.js +0 -17
  240. package/dist/commands/config/set.js.map +0 -1
  241. package/dist/commands/config/use.d.ts +0 -9
  242. package/dist/commands/config/use.d.ts.map +0 -1
  243. package/dist/commands/config/use.js +0 -17
  244. package/dist/commands/config/use.js.map +0 -1
  245. package/dist/commands/serve.d.ts +0 -18
  246. package/dist/commands/serve.d.ts.map +0 -1
  247. package/dist/commands/serve.js +0 -29
  248. package/dist/commands/serve.js.map +0 -1
  249. package/dist/utils/os-paths.d.ts +0 -34
  250. package/dist/utils/os-paths.d.ts.map +0 -1
  251. package/dist/utils/os-paths.js +0 -60
  252. package/dist/utils/os-paths.js.map +0 -1
package/README.md CHANGED
@@ -306,9 +306,50 @@ limps config sync-mcp --client chatgpt --print
306
306
 
307
307
  ## Transport
308
308
 
309
- - **Current**: stdio (local MCP server, launched by your client).
309
+ ### stdio (default)
310
+
311
+ Your MCP client spawns `limps serve` as a child process. No daemon required.
312
+
313
+ ### HTTP (persistent daemon)
314
+
315
+ Run limps as a long-lived HTTP server that multiple clients can connect to:
316
+
317
+ ```bash
318
+ # Start the daemon
319
+ limps start --config /path/to/config.json
320
+
321
+ # Check status
322
+ limps status-server
323
+
324
+ # Stop the daemon
325
+ limps stop
326
+ ```
327
+
328
+ Configure your MCP client to use HTTP transport:
329
+
330
+ ```json
331
+ {
332
+ "mcpServers": {
333
+ "limps": {
334
+ "transport": { "type": "http", "url": "http://127.0.0.1:4269/mcp" }
335
+ }
336
+ }
337
+ }
338
+ ```
339
+
340
+ Server config options (set in `config.json` under `"server"`):
341
+
342
+ | Option | Default | Description |
343
+ | ------------------ | -------------- | ---------------------------------------- |
344
+ | `port` | `4269` | HTTP listen port |
345
+ | `host` | `127.0.0.1` | Bind address |
346
+ | `maxSessions` | `100` | Maximum concurrent MCP sessions |
347
+ | `sessionTimeoutMs` | `1800000` | Session idle timeout in ms (30 min) |
348
+ | `corsOrigin` | `""` (none) | CORS origin (`""`, `"*"`, or a URL) |
349
+ | `maxBodySize` | `10485760` | Max request body in bytes (10 MB) |
350
+ | `rateLimit` | `100 req/min` | Rate limit per client IP |
351
+
310
352
  - **Remote clients**: Use an MCP-compatible proxy for HTTPS clients (e.g., ChatGPT).
311
- - **Roadmap**: SSE/HTTP transports are planned but not implemented yet.
312
353
 
313
354
  ## CLI Commands
314
355
 
@@ -325,7 +366,10 @@ limps next-task <plan> # Get highest-priority available task
325
366
 
326
367
  ```bash
327
368
  limps init <name> # Initialize new project
328
- limps serve # Start MCP server
369
+ limps serve # Start MCP server (stdio)
370
+ limps start # Start persistent HTTP daemon
371
+ limps stop # Stop HTTP daemon
372
+ limps status-server # Show HTTP daemon status
329
373
  limps config list # Show registered projects
330
374
  limps config use <name> # Switch active project
331
375
  limps config show # Display current config
@@ -404,6 +448,7 @@ Config location varies by OS:
404
448
  | `tools` | Tool allowlist/denylist filtering |
405
449
  | `extensions` | Extension packages to load |
406
450
  | `scoring` | Task prioritization weights and biases |
451
+ | `server` | HTTP daemon settings (port, host, CORS, sessions, timeout) |
407
452
  | `graph` | Knowledge graph settings (e.g., entity extraction options) |
408
453
  | `retrieval` | Search recipe configuration for hybrid retrieval |
409
454
 
@@ -1,46 +1,8 @@
1
1
  /**
2
2
  * Config subcommand handlers for limps CLI.
3
- * Provides commands to manage the project registry and view configuration.
3
+ * Provides commands to view and update project configuration.
4
4
  */
5
5
  import { type ScoringPreset, type ScoringWeights, type ScoringBiases } from '../config.js';
6
- /**
7
- * Project data for JSON output.
8
- */
9
- export interface ProjectsData {
10
- projects: {
11
- name: string;
12
- configPath: string;
13
- current: boolean;
14
- exists: boolean;
15
- }[];
16
- total: number;
17
- usage: {
18
- projectFlag: string;
19
- configUse: string;
20
- };
21
- }
22
- /**
23
- * Get projects data for JSON output.
24
- *
25
- * @returns Projects data object
26
- */
27
- export declare function getProjectsData(): ProjectsData;
28
- /**
29
- * List all registered projects.
30
- *
31
- * @returns Formatted list of projects
32
- */
33
- export declare function configList(): string;
34
- /**
35
- * Switch to a different project.
36
- * If the name is not in the registry but exists in the default discovery location
37
- * (Application Support/<name>/config.json), registers it and sets as current.
38
- *
39
- * @param name - Project name to switch to
40
- * @returns Success message
41
- * @throws Error if project not found
42
- */
43
- export declare function configUse(name: string): string;
44
6
  /**
45
7
  * Configuration data for JSON output.
46
8
  */
@@ -72,12 +34,9 @@ export declare function configShow(resolveConfigPathFn: () => string): string;
72
34
  * Upgrade config schema to the latest version.
73
35
  *
74
36
  * @param resolveConfigPathFn - Function to resolve config path
75
- * @param options - Upgrade options
76
37
  * @returns Formatted upgrade summary
77
38
  */
78
- export declare function configUpgrade(resolveConfigPathFn: () => string, options?: {
79
- all?: boolean;
80
- }): string;
39
+ export declare function configUpgrade(resolveConfigPathFn: () => string): string;
81
40
  export interface ScoringConfigUpdateOptions {
82
41
  preset?: ScoringPreset;
83
42
  weights?: Partial<ScoringWeights>;
@@ -93,82 +52,33 @@ export declare function configScoringUpdate(resolveConfigPathFn: () => string, o
93
52
  */
94
53
  export declare function configPath(resolveConfigPathFn: () => string): string;
95
54
  /**
96
- * Add/register an existing config file or directory to the registry.
97
- * If a directory is provided, looks for config.json inside it or creates one
98
- * in the OS standard location (e.g., ~/Library/Application Support/limps/).
55
+ * Reset limps state for a single project: stop daemon, delete dataPath contents.
99
56
  *
100
- * @param name - Project name to use
101
- * @param configFileOrDirPath - Path to the config file or directory containing plans
102
- * @returns Success message
103
- * @throws Error if path doesn't exist
57
+ * @param configPath - Path to the project's config.json
58
+ * @param options - Reset options (force must be true to proceed)
59
+ * @returns Log of actions taken
104
60
  */
105
- export declare function configAdd(name: string, configFileOrDirPath: string): string;
106
- /**
107
- * Remove a project from the registry and delete its config file and project directory
108
- * when the config lives under limps/projects (Application Support/limps/projects/).
109
- * Accepts either a project name (exact match, no path chars) or a path to a config file.
110
- * Paths are strictly validated: must be under limps/projects and end with config.json.
111
- *
112
- * @param nameOrPath - Project name or path to config.json
113
- * @returns Success message
114
- * @throws Error if project not found or path is invalid
115
- */
116
- export declare function configRemove(nameOrPath: string): string;
117
- /**
118
- * Set the current project from an existing config file path.
119
- * Auto-derives the project name from the parent directory.
120
- * Registers the project if not already registered.
121
- *
122
- * @param configFilePath - Path to the config file
123
- * @returns Success message
124
- * @throws Error if config file doesn't exist or is invalid
125
- */
126
- export declare function configSet(configFilePath: string): string;
61
+ export declare function resetAll(configPath: string, options?: {
62
+ force?: boolean;
63
+ }): string[];
127
64
  import { LocalMcpAdapter, type McpClientAdapter, type McpServerConfig } from './mcp-client-adapter.js';
128
65
  /**
129
- * Discover config files under limps/projects (Application Support/limps/projects/<name>/config.json).
130
- * Does not auto-register; use `limps config use <name>` to register and switch.
131
- *
132
- * @returns Summary of discovered (unregistered) projects
133
- */
134
- export declare function configDiscover(): string;
135
- /**
136
- * Migrate known (registered) configs and configs from old locations into limps/projects/
137
- * so the limps root is not polluted. Ensures limps/projects exists, then:
138
- * 1. For each registered project: if config is not under limps/projects/<name>/, copy it there and update registry.
139
- * 2. Pull from old sibling layout (Application Support/<name>/config.json): copy to limps/projects/<name>/, register.
140
- * 3. Pull from flat limps layout (limps/<name>/config.json): copy to limps/projects/<name>/, register if not already.
141
- * Repairs all paths inside each config JSON (plansPath, dataPath, docsPaths) and MCP client references.
142
- *
143
- * @returns Summary of migration (migrated count and paths)
144
- */
145
- /** One recorded move for migration reversal. */
146
- export interface MigrationMove {
147
- name: string;
148
- sourcePath: string;
149
- targetPath: string;
150
- }
151
- export declare function configMigrate(): string;
152
- /**
153
- * Generate MCP server configuration JSON for limps projects.
154
- * Returns the JSON structure that should be added to the client config.
66
+ * Generate MCP server configuration JSON for a single limps project.
155
67
  *
156
68
  * @param adapter - MCP client adapter
157
- * @param resolveConfigPathFn - Function to resolve limps config path (used for validation)
158
- * @param projectFilter - Optional array of project names to filter (if not provided, adds all)
69
+ * @param configPath - Path to the limps config file
159
70
  * @returns Object with servers key and the servers configuration
160
- * @throws Error if no valid projects found
71
+ * @throws Error if config not found
161
72
  */
162
- export declare function generateMcpClientConfig(adapter: McpClientAdapter, resolveConfigPathFn: () => string, projectFilter?: string[]): {
73
+ export declare function generateMcpClientConfig(adapter: McpClientAdapter, configPath: string): {
163
74
  serversKey: string;
164
75
  servers: Record<string, McpServerConfig>;
165
76
  fullConfig: Record<string, unknown>;
166
77
  };
167
78
  /**
168
79
  * Preview MCP client config changes without writing to disk.
169
- * Returns a formatted diff and counts of additions/updates.
170
80
  */
171
- export declare function previewMcpClientConfig(adapter: McpClientAdapter, resolveConfigPathFn: () => string, projectFilter?: string[]): {
81
+ export declare function previewMcpClientConfig(adapter: McpClientAdapter, configPath: string): {
172
82
  hasChanges: boolean;
173
83
  diffText: string;
174
84
  addedServers: string[];
@@ -176,86 +86,18 @@ export declare function previewMcpClientConfig(adapter: McpClientAdapter, resolv
176
86
  configPath: string;
177
87
  };
178
88
  /**
179
- * Generate config JSON for printing (for unsupported clients).
180
- *
181
- * @param adapter - MCP client adapter
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 JSON string and instructions
89
+ * Generate config for printing (for unsupported clients).
185
90
  */
186
- export declare function generateConfigForPrint(adapter: McpClientAdapter, resolveConfigPathFn: () => string, projectFilter?: string[]): string;
187
- /**
188
- * Add limps server configuration to Claude Desktop config.
189
- * Creates the config file if it doesn't exist, or merges with existing config.
190
- * Adds all registered projects as separate MCP servers.
191
- *
192
- * @param resolveConfigPathFn - Function to resolve limps config path (used for validation)
193
- * @param projectFilter - Optional array of project names to filter (if not provided, adds all)
194
- * @returns Success message listing all added servers
195
- * @throws Error if Claude Desktop config directory doesn't exist or can't be written
196
- */
197
- export declare function configAddClaude(resolveConfigPathFn: () => string, projectFilter?: string[]): string;
198
- /**
199
- * Add limps server configuration to Cursor config.
200
- * Creates the config file if it doesn't exist, or merges with existing config.
201
- * Adds all registered projects as separate MCP servers.
202
- *
203
- * @param resolveConfigPathFn - Function to resolve limps config path (used for validation)
204
- * @param projectFilter - Optional array of project names to filter (if not provided, adds all)
205
- * @returns Success message listing all added servers
206
- * @throws Error if Cursor config directory doesn't exist or can't be written
207
- */
208
- export declare function configAddCursor(resolveConfigPathFn: () => string, projectFilter?: string[]): string;
209
- /**
210
- * Add limps server configuration to Claude Code config.
211
- * Creates the config file if it doesn't exist, or merges with existing config.
212
- * Adds all registered projects as separate MCP servers.
213
- *
214
- * @param resolveConfigPathFn - Function to resolve limps config path (used for validation)
215
- * @param projectFilter - Optional array of project names to filter (if not provided, adds all)
216
- * @returns Success message listing all added servers
217
- * @throws Error if Claude Code config directory doesn't exist or can't be written
218
- */
219
- export declare function configAddClaudeCode(resolveConfigPathFn: () => string, projectFilter?: string[]): string;
220
- /**
221
- * Add limps server configuration to OpenAI Codex config.
222
- * Creates the config file if it doesn't exist, or merges with existing config.
223
- * Adds all registered projects as separate MCP servers.
224
- *
225
- * @param resolveConfigPathFn - Function to resolve limps config path (used for validation)
226
- * @param projectFilter - Optional array of project names to filter (if not provided, adds all)
227
- * @returns Success message listing all added servers
228
- * @throws Error if Codex config directory doesn't exist or can't be written
229
- */
230
- export declare function configAddCodex(resolveConfigPathFn: () => string, projectFilter?: string[]): string;
231
- /**
232
- * Add/update limps server configuration to local workspace MCP config file.
233
- * Creates the config file if it doesn't exist, or merges with existing config.
234
- * Adds all registered projects as separate MCP servers.
235
- *
236
- * @param resolveConfigPathFn - Function to resolve limps config path (used for validation)
237
- * @param projectFilter - Optional array of project names to filter (if not provided, adds all)
238
- * @param adapterOrPath - Optional LocalMcpAdapter instance or path to the config file
239
- * @returns Success message listing all added servers
240
- * @throws Error if config directory doesn't exist or can't be written
241
- */
242
- export declare function configAddLocalMcp(resolveConfigPathFn: () => string, projectFilter?: string[], adapterOrPath?: LocalMcpAdapter | string): string;
243
- /**
244
- * Check if a local .mcp.json file exists in the current directory or specified path.
245
- *
246
- * @param mcpJsonPath - Optional path to .mcp.json (defaults to .mcp.json in current directory)
247
- * @returns True if the file exists, false otherwise
248
- */
249
- export declare function hasLocalMcpJson(mcpJsonPath?: string): boolean;
91
+ export declare function generateConfigForPrint(adapter: McpClientAdapter, configPath: string): string;
92
+ export declare function configAddClaude(configPath: string): string;
93
+ export declare function configAddCursor(configPath: string): string;
94
+ export declare function configAddClaudeCode(configPath: string): string;
95
+ export declare function configAddCodex(configPath: string): string;
96
+ export declare function configAddLocalMcp(configPath: string, adapterOrPath?: LocalMcpAdapter | string): string;
250
97
  /**
251
98
  * Generate ChatGPT MCP connector setup instructions.
252
- * ChatGPT does not read local config files, so we provide manual steps instead.
253
- *
254
- * @param resolveConfigPathFn - Function to resolve limps config path (used for validation)
255
- * @param projectFilter - Optional array of project names to filter (if not provided, adds all)
256
- * @returns Instruction text for ChatGPT custom connectors
257
99
  */
258
- export declare function generateChatGptInstructions(resolveConfigPathFn: () => string, projectFilter?: string[]): string;
100
+ export declare function generateChatGptInstructions(configPath: string): string;
259
101
  /**
260
102
  * Update options for configUpdate.
261
103
  */
@@ -265,12 +107,11 @@ export interface ConfigUpdateOptions {
265
107
  }
266
108
  /**
267
109
  * Update an existing project's configuration.
268
- * Allows updating plansPath and docsPaths without recreating the config.
269
110
  *
270
- * @param projectName - Name of the project to update
111
+ * @param configPath - Path to the config file to update
271
112
  * @param options - Fields to update
272
113
  * @returns Success message
273
- * @throws Error if project not found or config file doesn't exist
114
+ * @throws Error if config file doesn't exist
274
115
  */
275
- export declare function configUpdate(projectName: string, options: ConfigUpdateOptions): string;
116
+ export declare function configUpdate(configPath: string, options: ConfigUpdateOptions): string;
276
117
  //# sourceMappingURL=config-cmd.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-cmd.d.ts","sourceRoot":"","sources":["../../src/cli/config-cmd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-cmd.d.ts","sourceRoot":"","sources":["../../src/cli/config-cmd.ts"],"names":[],"mappings":"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"}