@sudosandwich/limps 0.2.1 → 1.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 (212) hide show
  1. package/README.md +250 -15
  2. package/dist/cli/config-cmd.d.ts +68 -0
  3. package/dist/cli/config-cmd.d.ts.map +1 -0
  4. package/dist/cli/config-cmd.js +206 -0
  5. package/dist/cli/config-cmd.js.map +1 -0
  6. package/dist/cli/index.d.ts +11 -0
  7. package/dist/cli/index.d.ts.map +1 -0
  8. package/dist/cli/index.js +12 -0
  9. package/dist/cli/index.js.map +1 -0
  10. package/dist/cli/init-project.d.ts +12 -0
  11. package/dist/cli/init-project.d.ts.map +1 -0
  12. package/dist/cli/init-project.js +104 -0
  13. package/dist/cli/init-project.js.map +1 -0
  14. package/dist/cli/list-agents.d.ts +66 -0
  15. package/dist/cli/list-agents.d.ts.map +1 -0
  16. package/dist/cli/list-agents.js +147 -0
  17. package/dist/cli/list-agents.js.map +1 -0
  18. package/dist/cli/list-plans.d.ts +63 -0
  19. package/dist/cli/list-plans.d.ts.map +1 -0
  20. package/dist/cli/list-plans.js +218 -0
  21. package/dist/cli/list-plans.js.map +1 -0
  22. package/dist/cli/next-task.d.ts +83 -0
  23. package/dist/cli/next-task.d.ts.map +1 -0
  24. package/dist/cli/next-task.js +201 -0
  25. package/dist/cli/next-task.js.map +1 -0
  26. package/dist/cli/registry.d.ts +94 -0
  27. package/dist/cli/registry.d.ts.map +1 -0
  28. package/dist/cli/registry.js +150 -0
  29. package/dist/cli/registry.js.map +1 -0
  30. package/dist/cli/status.d.ts +35 -0
  31. package/dist/cli/status.d.ts.map +1 -0
  32. package/dist/cli/status.js +110 -0
  33. package/dist/cli/status.js.map +1 -0
  34. package/dist/cli.d.ts +3 -0
  35. package/dist/cli.d.ts.map +1 -0
  36. package/dist/cli.js +10 -0
  37. package/dist/cli.js.map +1 -0
  38. package/dist/commands/config/add.d.ts +9 -0
  39. package/dist/commands/config/add.d.ts.map +1 -0
  40. package/dist/commands/config/add.js +20 -0
  41. package/dist/commands/config/add.js.map +1 -0
  42. package/dist/commands/config/discover.d.ts +3 -0
  43. package/dist/commands/config/discover.d.ts.map +1 -0
  44. package/dist/commands/config/discover.js +9 -0
  45. package/dist/commands/config/discover.js.map +1 -0
  46. package/dist/commands/config/index.d.ts +3 -0
  47. package/dist/commands/config/index.d.ts.map +1 -0
  48. package/dist/commands/config/index.js +7 -0
  49. package/dist/commands/config/index.js.map +1 -0
  50. package/dist/commands/config/list.d.ts +3 -0
  51. package/dist/commands/config/list.d.ts.map +1 -0
  52. package/dist/commands/config/list.js +9 -0
  53. package/dist/commands/config/list.js.map +1 -0
  54. package/dist/commands/config/path.d.ts +3 -0
  55. package/dist/commands/config/path.d.ts.map +1 -0
  56. package/dist/commands/config/path.js +10 -0
  57. package/dist/commands/config/path.js.map +1 -0
  58. package/dist/commands/config/remove.d.ts +9 -0
  59. package/dist/commands/config/remove.d.ts.map +1 -0
  60. package/dist/commands/config/remove.js +17 -0
  61. package/dist/commands/config/remove.js.map +1 -0
  62. package/dist/commands/config/set.d.ts +9 -0
  63. package/dist/commands/config/set.d.ts.map +1 -0
  64. package/dist/commands/config/set.js +17 -0
  65. package/dist/commands/config/set.js.map +1 -0
  66. package/dist/commands/config/show.d.ts +3 -0
  67. package/dist/commands/config/show.d.ts.map +1 -0
  68. package/dist/commands/config/show.js +15 -0
  69. package/dist/commands/config/show.js.map +1 -0
  70. package/dist/commands/config/use.d.ts +9 -0
  71. package/dist/commands/config/use.d.ts.map +1 -0
  72. package/dist/commands/config/use.js +17 -0
  73. package/dist/commands/config/use.js.map +1 -0
  74. package/dist/commands/index.d.ts +3 -0
  75. package/dist/commands/index.d.ts.map +1 -0
  76. package/dist/commands/index.js +7 -0
  77. package/dist/commands/index.js.map +1 -0
  78. package/dist/commands/init.d.ts +13 -0
  79. package/dist/commands/init.d.ts.map +1 -0
  80. package/dist/commands/init.js +20 -0
  81. package/dist/commands/init.js.map +1 -0
  82. package/dist/commands/list-agents.d.ts +13 -0
  83. package/dist/commands/list-agents.d.ts.map +1 -0
  84. package/dist/commands/list-agents.js +31 -0
  85. package/dist/commands/list-agents.js.map +1 -0
  86. package/dist/commands/list-plans.d.ts +11 -0
  87. package/dist/commands/list-plans.d.ts.map +1 -0
  88. package/dist/commands/list-plans.js +21 -0
  89. package/dist/commands/list-plans.js.map +1 -0
  90. package/dist/commands/next-task.d.ts +13 -0
  91. package/dist/commands/next-task.d.ts.map +1 -0
  92. package/dist/commands/next-task.js +46 -0
  93. package/dist/commands/next-task.js.map +1 -0
  94. package/dist/commands/serve.d.ts +11 -0
  95. package/dist/commands/serve.d.ts.map +1 -0
  96. package/dist/commands/serve.js +31 -0
  97. package/dist/commands/serve.js.map +1 -0
  98. package/dist/commands/status.d.ts +13 -0
  99. package/dist/commands/status.d.ts.map +1 -0
  100. package/dist/commands/status.js +28 -0
  101. package/dist/commands/status.js.map +1 -0
  102. package/dist/components/AgentsList.d.ts +19 -0
  103. package/dist/components/AgentsList.d.ts.map +1 -0
  104. package/dist/components/AgentsList.js +29 -0
  105. package/dist/components/AgentsList.js.map +1 -0
  106. package/dist/components/Error.d.ts +6 -0
  107. package/dist/components/Error.d.ts.map +1 -0
  108. package/dist/components/Error.js +6 -0
  109. package/dist/components/Error.js.map +1 -0
  110. package/dist/components/NextTask.d.ts +12 -0
  111. package/dist/components/NextTask.d.ts.map +1 -0
  112. package/dist/components/NextTask.js +11 -0
  113. package/dist/components/NextTask.js.map +1 -0
  114. package/dist/components/PlanStatus.d.ts +11 -0
  115. package/dist/components/PlanStatus.d.ts.map +1 -0
  116. package/dist/components/PlanStatus.js +18 -0
  117. package/dist/components/PlanStatus.js.map +1 -0
  118. package/dist/components/PlansList.d.ts +12 -0
  119. package/dist/components/PlansList.d.ts.map +1 -0
  120. package/dist/components/PlansList.js +23 -0
  121. package/dist/components/PlansList.js.map +1 -0
  122. package/dist/components/Success.d.ts +6 -0
  123. package/dist/components/Success.d.ts.map +1 -0
  124. package/dist/components/Success.js +6 -0
  125. package/dist/components/Success.js.map +1 -0
  126. package/dist/index.d.ts +6 -0
  127. package/dist/index.d.ts.map +1 -1
  128. package/dist/index.js +9 -246
  129. package/dist/index.js.map +1 -1
  130. package/dist/server-main.d.ts +11 -0
  131. package/dist/server-main.d.ts.map +1 -0
  132. package/dist/server-main.js +81 -0
  133. package/dist/server-main.js.map +1 -0
  134. package/dist/server.js +1 -1
  135. package/dist/server.js.map +1 -1
  136. package/dist/theme/colors.d.ts +64 -0
  137. package/dist/theme/colors.d.ts.map +1 -0
  138. package/dist/theme/colors.js +85 -0
  139. package/dist/theme/colors.js.map +1 -0
  140. package/dist/theme/index.d.ts +6 -0
  141. package/dist/theme/index.d.ts.map +1 -0
  142. package/dist/theme/index.js +6 -0
  143. package/dist/theme/index.js.map +1 -0
  144. package/dist/tools/claim-task.d.ts +7 -10
  145. package/dist/tools/claim-task.d.ts.map +1 -1
  146. package/dist/tools/create-doc.d.ts +7 -10
  147. package/dist/tools/create-doc.d.ts.map +1 -1
  148. package/dist/tools/create-plan.d.ts +1 -7
  149. package/dist/tools/create-plan.d.ts.map +1 -1
  150. package/dist/tools/delete-doc.d.ts +1 -9
  151. package/dist/tools/delete-doc.d.ts.map +1 -1
  152. package/dist/tools/get-next-task.d.ts +19 -9
  153. package/dist/tools/get-next-task.d.ts.map +1 -1
  154. package/dist/tools/get-next-task.js +64 -1
  155. package/dist/tools/get-next-task.js.map +1 -1
  156. package/dist/tools/get-plan-status.d.ts +24 -0
  157. package/dist/tools/get-plan-status.d.ts.map +1 -0
  158. package/dist/tools/get-plan-status.js +48 -0
  159. package/dist/tools/get-plan-status.js.map +1 -0
  160. package/dist/tools/index.d.ts.map +1 -1
  161. package/dist/tools/index.js +66 -18
  162. package/dist/tools/index.js.map +1 -1
  163. package/dist/tools/list-agents.d.ts +24 -0
  164. package/dist/tools/list-agents.d.ts.map +1 -0
  165. package/dist/tools/list-agents.js +60 -0
  166. package/dist/tools/list-agents.js.map +1 -0
  167. package/dist/tools/list-docs.d.ts +1 -11
  168. package/dist/tools/list-docs.d.ts.map +1 -1
  169. package/dist/tools/list-plans.d.ts +23 -0
  170. package/dist/tools/list-plans.d.ts.map +1 -0
  171. package/dist/tools/list-plans.js +44 -0
  172. package/dist/tools/list-plans.js.map +1 -0
  173. package/dist/tools/open-document-in-cursor.d.ts +1 -9
  174. package/dist/tools/open-document-in-cursor.d.ts.map +1 -1
  175. package/dist/tools/process-doc.d.ts +43 -0
  176. package/dist/tools/process-doc.d.ts.map +1 -0
  177. package/dist/tools/process-doc.js +227 -0
  178. package/dist/tools/process-doc.js.map +1 -0
  179. package/dist/tools/process-docs.d.ts +54 -0
  180. package/dist/tools/process-docs.d.ts.map +1 -0
  181. package/dist/tools/process-docs.js +348 -0
  182. package/dist/tools/process-docs.js.map +1 -0
  183. package/dist/tools/read-doc.d.ts +1 -7
  184. package/dist/tools/read-doc.d.ts.map +1 -1
  185. package/dist/tools/release-task.d.ts +5 -10
  186. package/dist/tools/release-task.d.ts.map +1 -1
  187. package/dist/tools/rlm-multi-query.d.ts +5 -61
  188. package/dist/tools/rlm-multi-query.d.ts.map +1 -1
  189. package/dist/tools/rlm-query.d.ts +1 -13
  190. package/dist/tools/rlm-query.d.ts.map +1 -1
  191. package/dist/tools/search-docs.d.ts +1 -7
  192. package/dist/tools/search-docs.d.ts.map +1 -1
  193. package/dist/tools/update-doc.d.ts +6 -90
  194. package/dist/tools/update-doc.d.ts.map +1 -1
  195. package/dist/tools/update-task-status.d.ts +7 -12
  196. package/dist/tools/update-task-status.d.ts.map +1 -1
  197. package/dist/utils/config-resolver.d.ts +19 -0
  198. package/dist/utils/config-resolver.d.ts.map +1 -0
  199. package/dist/utils/config-resolver.js +65 -0
  200. package/dist/utils/config-resolver.js.map +1 -0
  201. package/dist/utils/index.d.ts +1 -0
  202. package/dist/utils/index.d.ts.map +1 -1
  203. package/dist/utils/index.js +1 -0
  204. package/dist/utils/index.js.map +1 -1
  205. package/dist/utils/markdown.d.ts +15 -0
  206. package/dist/utils/markdown.d.ts.map +1 -0
  207. package/dist/utils/markdown.js +20 -0
  208. package/dist/utils/markdown.js.map +1 -0
  209. package/dist/utils/os-paths.d.ts +4 -4
  210. package/dist/utils/os-paths.js +5 -5
  211. package/dist/utils/os-paths.js.map +1 -1
  212. package/package.json +22 -11
package/dist/index.js CHANGED
@@ -1,256 +1,19 @@
1
1
  #!/usr/bin/env node
2
- import { loadConfig, getAllDocsPaths, getFileExtensions } from './config.js';
3
- import { createServer, startServer } from './server.js';
4
- import { resolve, dirname } from 'path';
5
- import { fileURLToPath } from 'url';
6
- import { mkdirSync, existsSync, writeFileSync } from 'fs';
7
- import { homedir } from 'os';
8
- import which from 'which';
9
2
  /**
10
- * Expand tilde in path to full home directory path.
11
- */
12
- function expandTilde(path) {
13
- if (path.startsWith('~/')) {
14
- return resolve(homedir(), path.slice(2));
15
- }
16
- return resolve(path);
17
- }
18
- import { initializeDatabase, createSchema, indexAllPaths, indexDocument, removeDocument, } from './indexer.js';
19
- import { startWatcher, stopWatcher } from './watcher.js';
20
- import { readCoordination } from './coordination.js';
21
- import { getOSConfigPath, getOSBasePath, getOSDataPath, getOSCoordinationPath, } from './utils/os-paths.js';
22
- // Global references for graceful shutdown
23
- let watcher = null;
24
- let db = null;
25
- /**
26
- * Parse command line arguments.
3
+ * MCP Planning Server entry point.
27
4
  *
28
- * Supports:
29
- * - limps (start server with default config)
30
- * - limps --config <path> (start server with custom config)
31
- * - limps init <project-name> [--docs-path <path>] (initialize new project)
32
- *
33
- * @returns Parsed arguments
5
+ * This file is kept for backwards compatibility and direct server invocation.
6
+ * For CLI usage, see src/cli.tsx which provides the full Pastel-based CLI.
34
7
  */
35
- function parseArgs() {
8
+ import { startMcpServer } from './server-main.js';
9
+ // Parse --config argument for backwards compatibility
10
+ function getConfigArg() {
36
11
  const args = process.argv.slice(2);
37
- // Check for init command
38
- if (args[0] === 'init') {
39
- const projectName = args[1];
40
- const docsPathIndex = args.indexOf('--docs-path');
41
- const docsPath = docsPathIndex !== -1 ? args[docsPathIndex + 1] : undefined;
42
- return { command: 'init', projectName, docsPath };
43
- }
44
- // Check for --config flag
45
12
  const configIndex = args.indexOf('--config');
46
- if (configIndex !== -1 && args[configIndex + 1]) {
47
- return { configPath: args[configIndex + 1] };
48
- }
49
- return {};
50
- }
51
- /**
52
- * Get the full path to the limps executable.
53
- * Falls back to 'limps' if not found in PATH.
54
- */
55
- function getLocalPlannerPath() {
56
- try {
57
- return which.sync('limps');
58
- }
59
- catch {
60
- // Fallback to command name if not in PATH
61
- return 'limps';
62
- }
63
- }
64
- /**
65
- * Initialize a new project configuration.
66
- *
67
- * @param projectName - Name of the project (e.g., "runi-planning")
68
- * @param docsPath - Optional path to documentation directory
69
- */
70
- function initProject(projectName, docsPath) {
71
- const basePath = getOSBasePath(projectName);
72
- const configPath = getOSConfigPath(projectName);
73
- const dataPath = getOSDataPath(projectName);
74
- const coordinationPath = getOSCoordinationPath(projectName);
75
- // Expand tilde in docsPath if provided
76
- const resolvedDocsPath = docsPath ? expandTilde(docsPath) : null;
77
- const defaultDocsPath = resolve(homedir(), 'Documents', projectName);
78
- // Create directory
79
- mkdirSync(basePath, { recursive: true });
80
- // Check if config already exists
81
- if (existsSync(configPath)) {
82
- console.log(`Config already exists at: ${configPath}`);
83
- console.log('To reconfigure, delete the existing config file first.');
84
- process.exit(1);
85
- }
86
- // Create default config with absolute paths
87
- const config = {
88
- plansPath: resolvedDocsPath ? resolve(resolvedDocsPath, 'plans') : resolve(defaultDocsPath, 'plans'),
89
- docsPaths: [resolvedDocsPath || defaultDocsPath],
90
- fileExtensions: ['.md'],
91
- dataPath: dataPath,
92
- coordinationPath: coordinationPath,
93
- heartbeatTimeout: 300000,
94
- debounceDelay: 200,
95
- maxHandoffIterations: 3,
96
- };
97
- writeFileSync(configPath, JSON.stringify(config, null, 2));
98
- // Get the full path to limps executable
99
- const localPlannerPath = getLocalPlannerPath();
100
- console.log(`\n✓ Created ${projectName} configuration\n`);
101
- console.log(`Config: ${configPath}`);
102
- console.log(`Data: ${dataPath}`);
103
- console.log('');
104
- // Output Cursor settings snippet
105
- console.log('Add this to your Cursor settings (Cmd+Shift+P → "Preferences: Open User Settings (JSON)"):\n');
106
- console.log(JSON.stringify({
107
- 'mcp.servers': {
108
- [projectName]: {
109
- command: localPlannerPath,
110
- args: ['--config', configPath],
111
- },
112
- },
113
- }, null, 2));
114
- console.log('');
115
- // Output Claude Desktop config snippet (uses npx because Claude Desktop is sandboxed)
116
- console.log('For Claude Desktop, add this to ~/Library/Application Support/Claude/claude_desktop_config.json:\n');
117
- console.log(JSON.stringify({
118
- mcpServers: {
119
- [projectName]: {
120
- command: 'npx',
121
- args: ['-y', '@sudosandwich/limps', '--config', configPath],
122
- },
123
- },
124
- }, null, 2));
125
- console.log('');
126
- // Test command
127
- console.log('To test the server:');
128
- console.log(` ${localPlannerPath} --config "${configPath}"`);
129
- }
130
- /**
131
- * Resolve configuration file path with priority:
132
- * 1. CLI argument --config
133
- * 2. Environment variable MCP_PLANNING_CONFIG
134
- * 3. OS-specific default path
135
- *
136
- * Falls back to repo-local config.json if no config exists at determined path.
137
- *
138
- * @param cliConfigPath - Config path from CLI argument (if provided)
139
- * @returns Resolved absolute path to config file
140
- */
141
- function resolveConfigPath(cliConfigPath) {
142
- // Priority 1: CLI argument
143
- if (cliConfigPath) {
144
- return resolve(cliConfigPath);
145
- }
146
- // Priority 2: Environment variable
147
- const envConfigPath = process.env.MCP_PLANNING_CONFIG;
148
- if (envConfigPath) {
149
- return resolve(envConfigPath);
150
- }
151
- // Priority 3: OS-specific default
152
- const osConfigPath = getOSConfigPath();
153
- if (existsSync(osConfigPath)) {
154
- return osConfigPath;
155
- }
156
- // Fallback: repo-local config.json (for development/backwards compatibility)
157
- const currentFile = fileURLToPath(import.meta.url);
158
- const currentDir = dirname(currentFile);
159
- const srcDir = dirname(currentDir);
160
- const repoRoot = dirname(srcDir);
161
- const repoConfigPath = resolve(repoRoot, 'config.json');
162
- // If neither OS config nor repo config exists, use OS path (will be created)
163
- if (existsSync(repoConfigPath)) {
164
- return repoConfigPath;
165
- }
166
- return osConfigPath;
167
- }
168
- /**
169
- * Entry point for the MCP Planning Server.
170
- * Loads configuration and starts the server.
171
- */
172
- async function main() {
173
- try {
174
- // Parse CLI arguments
175
- const args = parseArgs();
176
- // Handle init command
177
- if (args.command === 'init') {
178
- if (!args.projectName) {
179
- console.error('Usage: limps init <project-name> [--docs-path <path>]');
180
- console.error('');
181
- console.error('Example:');
182
- console.error(' limps init my-project --docs-path ~/Documents/my-project');
183
- process.exit(1);
184
- }
185
- initProject(args.projectName, args.docsPath);
186
- return;
187
- }
188
- // Resolve config path for server mode
189
- const configPath = resolveConfigPath(args.configPath);
190
- // Load configuration
191
- const config = loadConfig(configPath);
192
- // Ensure data directory exists
193
- mkdirSync(config.dataPath, { recursive: true });
194
- // Initialize database
195
- const dbPath = resolve(config.dataPath, 'documents.sqlite');
196
- db = initializeDatabase(dbPath);
197
- createSchema(db);
198
- console.error(`Database initialized at ${dbPath}`);
199
- // Load coordination state
200
- const coordination = await readCoordination(config.coordinationPath);
201
- console.error(`Coordination state loaded from ${config.coordinationPath}`);
202
- // Get all paths and extensions to index
203
- const docsPaths = getAllDocsPaths(config);
204
- const fileExtensions = getFileExtensions(config);
205
- const ignorePatterns = ['.git', 'node_modules', '.tmp'];
206
- // Initial indexing (#19)
207
- const result = await indexAllPaths(db, docsPaths, fileExtensions, ignorePatterns);
208
- console.error(`Indexed ${result.indexed} documents (${result.updated} updated, ${result.skipped} skipped)`);
209
- console.error(`Paths: ${docsPaths.join(', ')}`);
210
- console.error(`Extensions: ${fileExtensions.join(', ')}`);
211
- if (result.errors.length > 0) {
212
- console.error(`Indexing errors: ${result.errors.length}`);
213
- for (const err of result.errors) {
214
- console.error(` - ${err.path}: ${err.error}`);
215
- }
216
- }
217
- // Capture db reference for watcher callback
218
- const dbRef = db;
219
- // Start file watcher (#4)
220
- watcher = startWatcher(docsPaths, async (path, event) => {
221
- if (event === 'unlink') {
222
- await removeDocument(dbRef, path);
223
- console.error(`Removed document: ${path}`);
224
- }
225
- else {
226
- await indexDocument(dbRef, path);
227
- console.error(`Indexed document: ${path} (${event})`);
228
- }
229
- }, fileExtensions, ignorePatterns, config.debounceDelay);
230
- console.error(`File watcher started for ${docsPaths.length} path(s)`);
231
- // Create and start server (pass db and coordination for tools)
232
- const server = createServer(config, db, coordination);
233
- await startServer(server, async () => {
234
- // Graceful shutdown callback
235
- if (watcher) {
236
- await stopWatcher(watcher);
237
- console.error('File watcher stopped');
238
- watcher = null;
239
- }
240
- if (db) {
241
- db.close();
242
- console.error('Database connection closed');
243
- db = null;
244
- }
245
- });
246
- }
247
- catch (error) {
248
- console.error('Fatal error in main():', error);
249
- process.exit(1);
250
- }
13
+ return configIndex !== -1 && args[configIndex + 1] ? args[configIndex + 1] : undefined;
251
14
  }
252
- main().catch((error) => {
253
- console.error('Unhandled error in main():', error);
15
+ startMcpServer(getConfigArg()).catch((error) => {
16
+ console.error('Fatal error:', error);
254
17
  process.exit(1);
255
18
  });
256
19
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,sDAAsD;AACtD,SAAS,YAAY;IACnB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7C,OAAO,WAAW,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACzF,CAAC;AAED,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IAC7C,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * MCP Server startup logic.
3
+ * Extracted from index.ts for use by CLI commands.
4
+ */
5
+ /**
6
+ * Start the MCP Planning Server.
7
+ *
8
+ * @param configPathArg - Optional config path from CLI argument
9
+ */
10
+ export declare function startMcpServer(configPathArg?: string): Promise<void>;
11
+ //# sourceMappingURL=server-main.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-main.d.ts","sourceRoot":"","sources":["../src/server-main.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAuBH;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA2E1E"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * MCP Server startup logic.
3
+ * Extracted from index.ts for use by CLI commands.
4
+ */
5
+ import { loadConfig, getAllDocsPaths, getFileExtensions } from './config.js';
6
+ import { createServer, startServer } from './server.js';
7
+ import { resolve } from 'path';
8
+ import { mkdirSync } from 'fs';
9
+ import { initializeDatabase, createSchema, indexAllPaths, indexDocument, removeDocument, } from './indexer.js';
10
+ import { startWatcher, stopWatcher } from './watcher.js';
11
+ import { readCoordination } from './coordination.js';
12
+ import { resolveConfigPath } from './utils/config-resolver.js';
13
+ // Global references for graceful shutdown
14
+ let watcher = null;
15
+ let db = null;
16
+ /**
17
+ * Start the MCP Planning Server.
18
+ *
19
+ * @param configPathArg - Optional config path from CLI argument
20
+ */
21
+ export async function startMcpServer(configPathArg) {
22
+ // Resolve config path
23
+ const configPath = resolveConfigPath(configPathArg);
24
+ // Load configuration
25
+ const config = loadConfig(configPath);
26
+ // Ensure data directory exists
27
+ mkdirSync(config.dataPath, { recursive: true });
28
+ // Initialize database
29
+ const dbPath = resolve(config.dataPath, 'documents.sqlite');
30
+ db = initializeDatabase(dbPath);
31
+ createSchema(db);
32
+ console.error(`Database initialized at ${dbPath}`);
33
+ // Load coordination state
34
+ const coordination = await readCoordination(config.coordinationPath);
35
+ console.error(`Coordination state loaded from ${config.coordinationPath}`);
36
+ // Get all paths and extensions to index
37
+ const docsPaths = getAllDocsPaths(config);
38
+ const fileExtensions = getFileExtensions(config);
39
+ const ignorePatterns = ['.git', 'node_modules', '.tmp'];
40
+ // Initial indexing
41
+ const result = await indexAllPaths(db, docsPaths, fileExtensions, ignorePatterns);
42
+ console.error(`Indexed ${result.indexed} documents (${result.updated} updated, ${result.skipped} skipped)`);
43
+ console.error(`Paths: ${docsPaths.join(', ')}`);
44
+ console.error(`Extensions: ${fileExtensions.join(', ')}`);
45
+ if (result.errors.length > 0) {
46
+ console.error(`Indexing errors: ${result.errors.length}`);
47
+ for (const err of result.errors) {
48
+ console.error(` - ${err.path}: ${err.error}`);
49
+ }
50
+ }
51
+ // Capture db reference for watcher callback
52
+ const dbRef = db;
53
+ // Start file watcher
54
+ watcher = startWatcher(docsPaths, async (path, event) => {
55
+ if (event === 'unlink') {
56
+ await removeDocument(dbRef, path);
57
+ console.error(`Removed document: ${path}`);
58
+ }
59
+ else {
60
+ await indexDocument(dbRef, path);
61
+ console.error(`Indexed document: ${path} (${event})`);
62
+ }
63
+ }, fileExtensions, ignorePatterns, config.debounceDelay);
64
+ console.error(`File watcher started for ${docsPaths.length} path(s)`);
65
+ // Create and start server
66
+ const server = createServer(config, db, coordination);
67
+ await startServer(server, async () => {
68
+ // Graceful shutdown callback
69
+ if (watcher) {
70
+ await stopWatcher(watcher);
71
+ console.error('File watcher stopped');
72
+ watcher = null;
73
+ }
74
+ if (db) {
75
+ db.close();
76
+ console.error('Database connection closed');
77
+ db = null;
78
+ }
79
+ });
80
+ }
81
+ //# sourceMappingURL=server-main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-main.js","sourceRoot":"","sources":["../src/server-main.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -12,7 +12,7 @@ import { registerTools } from './tools/index.js';
12
12
  */
13
13
  export function createServer(config, db, coordination) {
14
14
  const server = new McpServer({
15
- name: 'mcp-planning-server',
15
+ name: 'limps',
16
16
  version: '0.2.0',
17
17
  });
18
18
  // Tool context for handlers
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Global color theme following Radix color principles.
3
+ *
4
+ * Radix-inspired palette:
5
+ * - Neutral grays for text hierarchy
6
+ * - Semantic colors for status/meaning
7
+ * - Consistent contrast ratios
8
+ */
9
+ /**
10
+ * Text color roles following Radix principles.
11
+ * Radix uses scales 1-12 where higher numbers are lighter.
12
+ * For terminal, we map to available Ink/chalk colors.
13
+ */
14
+ export declare const textColors: {
15
+ /** Primary text - highest contrast (Radix gray 12) */
16
+ readonly primary: "white";
17
+ /** Secondary text - medium contrast, readable (Radix gray 9-10) */
18
+ readonly secondary: string | undefined;
19
+ /** Muted text - lower contrast for less important info (Radix gray 7-8) */
20
+ readonly muted: "gray";
21
+ };
22
+ /**
23
+ * Semantic status colors following Radix palette.
24
+ * Radix recommends:
25
+ * - Success: green/teal
26
+ * - Warning: yellow/amber
27
+ * - Error: red/ruby
28
+ * - Info: blue/indigo
29
+ */
30
+ export declare const statusColors: {
31
+ /** Success/Complete status */
32
+ readonly success: "green";
33
+ /** Warning/In Progress status */
34
+ readonly warning: "yellow";
35
+ /** Error/Blocked status */
36
+ readonly error: "red";
37
+ /** Info/Neutral status */
38
+ readonly info: "blue";
39
+ /** Default/Unknown status */
40
+ readonly default: "white";
41
+ };
42
+ /**
43
+ * Work type colors following Radix semantic approach.
44
+ */
45
+ export declare const workTypeColors: {
46
+ readonly feature: "cyan";
47
+ readonly bug: "red";
48
+ readonly refactor: "yellow";
49
+ readonly docs: "blue";
50
+ readonly unknown: "gray";
51
+ };
52
+ /**
53
+ * Get status color based on status value.
54
+ */
55
+ export declare function getStatusColor(status: 'GAP' | 'WIP' | 'PASS' | 'BLOCKED'): string;
56
+ /**
57
+ * Get work type color.
58
+ */
59
+ export declare function getWorkTypeColor(workType: 'feature' | 'bug' | 'refactor' | 'docs' | 'unknown'): string;
60
+ /**
61
+ * Get score color based on percentage (for progress indicators).
62
+ */
63
+ export declare function getScoreColor(score: number, max: number): string;
64
+ //# sourceMappingURL=colors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/theme/colors.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;GAIG;AACH,eAAO,MAAM,UAAU;IACrB,sDAAsD;;IAEtD,mEAAmE;wBAC3C,MAAM,GAAG,SAAS;IAC1C,2EAA2E;;CAEnE,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY;IACvB,8BAA8B;;IAE9B,iCAAiC;;IAEjC,2BAA2B;;IAE3B,0BAA0B;;IAE1B,6BAA6B;;CAErB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAC;AAEX;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAYjF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,GAC5D,MAAM,CAER;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAKhE"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Global color theme following Radix color principles.
3
+ *
4
+ * Radix-inspired palette:
5
+ * - Neutral grays for text hierarchy
6
+ * - Semantic colors for status/meaning
7
+ * - Consistent contrast ratios
8
+ */
9
+ /**
10
+ * Text color roles following Radix principles.
11
+ * Radix uses scales 1-12 where higher numbers are lighter.
12
+ * For terminal, we map to available Ink/chalk colors.
13
+ */
14
+ export const textColors = {
15
+ /** Primary text - highest contrast (Radix gray 12) */
16
+ primary: 'white',
17
+ /** Secondary text - medium contrast, readable (Radix gray 9-10) */
18
+ secondary: undefined, // Use dimColor prop instead
19
+ /** Muted text - lower contrast for less important info (Radix gray 7-8) */
20
+ muted: 'gray',
21
+ };
22
+ /**
23
+ * Semantic status colors following Radix palette.
24
+ * Radix recommends:
25
+ * - Success: green/teal
26
+ * - Warning: yellow/amber
27
+ * - Error: red/ruby
28
+ * - Info: blue/indigo
29
+ */
30
+ export const statusColors = {
31
+ /** Success/Complete status */
32
+ success: 'green',
33
+ /** Warning/In Progress status */
34
+ warning: 'yellow',
35
+ /** Error/Blocked status */
36
+ error: 'red',
37
+ /** Info/Neutral status */
38
+ info: 'blue',
39
+ /** Default/Unknown status */
40
+ default: 'white',
41
+ };
42
+ /**
43
+ * Work type colors following Radix semantic approach.
44
+ */
45
+ export const workTypeColors = {
46
+ feature: 'cyan', // Info variant
47
+ bug: 'red', // Error variant
48
+ refactor: 'yellow', // Warning variant
49
+ docs: 'blue', // Info
50
+ unknown: 'gray', // Muted
51
+ };
52
+ /**
53
+ * Get status color based on status value.
54
+ */
55
+ export function getStatusColor(status) {
56
+ switch (status) {
57
+ case 'PASS':
58
+ return statusColors.success;
59
+ case 'WIP':
60
+ return statusColors.warning;
61
+ case 'BLOCKED':
62
+ return statusColors.error;
63
+ case 'GAP':
64
+ default:
65
+ return statusColors.default;
66
+ }
67
+ }
68
+ /**
69
+ * Get work type color.
70
+ */
71
+ export function getWorkTypeColor(workType) {
72
+ return workTypeColors[workType];
73
+ }
74
+ /**
75
+ * Get score color based on percentage (for progress indicators).
76
+ */
77
+ export function getScoreColor(score, max) {
78
+ const percentage = (score / max) * 100;
79
+ if (percentage >= 80)
80
+ return statusColors.success;
81
+ if (percentage >= 50)
82
+ return statusColors.warning;
83
+ return statusColors.error;
84
+ }
85
+ //# sourceMappingURL=colors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/theme/colors.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,sDAAsD;IACtD,OAAO,EAAE,OAAO;IAChB,mEAAmE;IACnE,SAAS,EAAE,SAA+B,EAAE,4BAA4B;IACxE,2EAA2E;IAC3E,KAAK,EAAE,MAAM;CACL,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,8BAA8B;IAC9B,OAAO,EAAE,OAAO;IAChB,iCAAiC;IACjC,OAAO,EAAE,QAAQ;IACjB,2BAA2B;IAC3B,KAAK,EAAE,KAAK;IACZ,0BAA0B;IAC1B,IAAI,EAAE,MAAM;IACZ,6BAA6B;IAC7B,OAAO,EAAE,OAAO;CACR,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO,EAAE,MAAM,EAAE,eAAe;IAChC,GAAG,EAAE,KAAK,EAAE,gBAAgB;IAC5B,QAAQ,EAAE,QAAQ,EAAE,kBAAkB;IACtC,IAAI,EAAE,MAAM,EAAE,OAAO;IACrB,OAAO,EAAE,MAAM,EAAE,QAAQ;CACjB,CAAC;AAEX;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAA0C;IACvE,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM;YACT,OAAO,YAAY,CAAC,OAAO,CAAC;QAC9B,KAAK,KAAK;YACR,OAAO,YAAY,CAAC,OAAO,CAAC;QAC9B,KAAK,SAAS;YACZ,OAAO,YAAY,CAAC,KAAK,CAAC;QAC5B,KAAK,KAAK,CAAC;QACX;YACE,OAAO,YAAY,CAAC,OAAO,CAAC;IAChC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAA6D;IAE7D,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,GAAW;IACtD,MAAM,UAAU,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IACvC,IAAI,UAAU,IAAI,EAAE;QAAE,OAAO,YAAY,CAAC,OAAO,CAAC;IAClD,IAAI,UAAU,IAAI,EAAE;QAAE,OAAO,YAAY,CAAC,OAAO,CAAC;IAClD,OAAO,YAAY,CAAC,KAAK,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Global theme exports.
3
+ * Centralized color system following Radix principles.
4
+ */
5
+ export * from './colors.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,aAAa,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Global theme exports.
3
+ * Centralized color system following Radix principles.
4
+ */
5
+ export * from './colors.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,aAAa,CAAC"}
@@ -6,16 +6,13 @@ import type { ToolContext, ToolResult } from '../types.js';
6
6
  export declare const ClaimTaskInputSchema: z.ZodObject<{
7
7
  taskId: z.ZodString;
8
8
  agentId: z.ZodString;
9
- persona: z.ZodOptional<z.ZodEnum<["coder", "reviewer", "pm", "customer"]>>;
10
- }, "strip", z.ZodTypeAny, {
11
- taskId: string;
12
- agentId: string;
13
- persona?: "coder" | "reviewer" | "pm" | "customer" | undefined;
14
- }, {
15
- taskId: string;
16
- agentId: string;
17
- persona?: "coder" | "reviewer" | "pm" | "customer" | undefined;
18
- }>;
9
+ persona: z.ZodOptional<z.ZodEnum<{
10
+ coder: "coder";
11
+ reviewer: "reviewer";
12
+ pm: "pm";
13
+ customer: "customer";
14
+ }>>;
15
+ }, z.core.$strip>;
19
16
  /**
20
17
  * Handle claim_task tool request.
21
18
  * Marks a task as in-progress by a specific agent with file locks.
@@ -1 +1 @@
1
- {"version":3,"file":"claim-task.d.ts","sourceRoot":"","sources":["../../src/tools/claim-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAI/B,CAAC;AAiHH;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,EAC3C,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAgMrB"}
1
+ {"version":3,"file":"claim-task.d.ts","sourceRoot":"","sources":["../../src/tools/claim-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;iBAI/B,CAAC;AAiHH;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,EAC3C,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAgMrB"}
@@ -10,16 +10,13 @@ import type { ToolContext, ToolResult } from '../types.js';
10
10
  export declare const CreateDocInputSchema: z.ZodObject<{
11
11
  path: z.ZodString;
12
12
  content: z.ZodString;
13
- template: z.ZodDefault<z.ZodEnum<["addendum", "research", "example", "none"]>>;
14
- }, "strip", z.ZodTypeAny, {
15
- path: string;
16
- content: string;
17
- template: "none" | "research" | "addendum" | "example";
18
- }, {
19
- path: string;
20
- content: string;
21
- template?: "none" | "research" | "addendum" | "example" | undefined;
22
- }>;
13
+ template: z.ZodDefault<z.ZodEnum<{
14
+ none: "none";
15
+ research: "research";
16
+ addendum: "addendum";
17
+ example: "example";
18
+ }>>;
19
+ }, z.core.$strip>;
23
20
  export type CreateDocInput = z.infer<typeof CreateDocInputSchema>;
24
21
  /**
25
22
  * Output interface for create_doc tool.