@sudosandwich/limps 2.13.0 → 2.13.2

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 (78) hide show
  1. package/README.md +19 -2
  2. package/dist/cli/graph-watch.d.ts +1 -1
  3. package/dist/cli/graph-watch.d.ts.map +1 -1
  4. package/dist/cli/graph-watch.js +2 -2
  5. package/dist/cli/graph-watch.js.map +1 -1
  6. package/dist/commands/graph/watch.d.ts.map +1 -1
  7. package/dist/commands/graph/watch.js +41 -9
  8. package/dist/commands/graph/watch.js.map +1 -1
  9. package/dist/config.d.ts +22 -1
  10. package/dist/config.d.ts.map +1 -1
  11. package/dist/config.js +43 -13
  12. package/dist/config.js.map +1 -1
  13. package/dist/graph/watcher.d.ts +1 -1
  14. package/dist/graph/watcher.d.ts.map +1 -1
  15. package/dist/graph/watcher.js +3 -3
  16. package/dist/graph/watcher.js.map +1 -1
  17. package/dist/indexer.d.ts +4 -2
  18. package/dist/indexer.d.ts.map +1 -1
  19. package/dist/indexer.js +40 -7
  20. package/dist/indexer.js.map +1 -1
  21. package/dist/server-main.d.ts.map +1 -1
  22. package/dist/server-main.js +78 -24
  23. package/dist/server-main.js.map +1 -1
  24. package/dist/server.d.ts.map +1 -1
  25. package/dist/server.js +6 -0
  26. package/dist/server.js.map +1 -1
  27. package/dist/tools/create-doc.d.ts.map +1 -1
  28. package/dist/tools/create-doc.js +23 -11
  29. package/dist/tools/create-doc.js.map +1 -1
  30. package/dist/tools/delete-doc.d.ts.map +1 -1
  31. package/dist/tools/delete-doc.js +2 -7
  32. package/dist/tools/delete-doc.js.map +1 -1
  33. package/dist/tools/list-docs.d.ts.map +1 -1
  34. package/dist/tools/list-docs.js +3 -14
  35. package/dist/tools/list-docs.js.map +1 -1
  36. package/dist/tools/manage-tags.d.ts.map +1 -1
  37. package/dist/tools/manage-tags.js +2 -8
  38. package/dist/tools/manage-tags.js.map +1 -1
  39. package/dist/tools/open-document-in-cursor.d.ts.map +1 -1
  40. package/dist/tools/open-document-in-cursor.js +2 -14
  41. package/dist/tools/open-document-in-cursor.js.map +1 -1
  42. package/dist/tools/process-doc.d.ts.map +1 -1
  43. package/dist/tools/process-doc.js +2 -11
  44. package/dist/tools/process-doc.js.map +1 -1
  45. package/dist/tools/process-docs.d.ts.map +1 -1
  46. package/dist/tools/process-docs.js +26 -14
  47. package/dist/tools/process-docs.js.map +1 -1
  48. package/dist/tools/update-doc.d.ts.map +1 -1
  49. package/dist/tools/update-doc.js +33 -11
  50. package/dist/tools/update-doc.js.map +1 -1
  51. package/dist/utils/config-resolver.d.ts +3 -1
  52. package/dist/utils/config-resolver.d.ts.map +1 -1
  53. package/dist/utils/config-resolver.js +5 -4
  54. package/dist/utils/config-resolver.js.map +1 -1
  55. package/dist/utils/fd-safety.d.ts +41 -0
  56. package/dist/utils/fd-safety.d.ts.map +1 -0
  57. package/dist/utils/fd-safety.js +106 -0
  58. package/dist/utils/fd-safety.js.map +1 -0
  59. package/dist/utils/fs-safety.d.ts +64 -0
  60. package/dist/utils/fs-safety.d.ts.map +1 -0
  61. package/dist/utils/fs-safety.js +127 -0
  62. package/dist/utils/fs-safety.js.map +1 -0
  63. package/dist/utils/paths.d.ts.map +1 -1
  64. package/dist/utils/paths.js +8 -0
  65. package/dist/utils/paths.js.map +1 -1
  66. package/dist/utils/repo-root.d.ts +29 -0
  67. package/dist/utils/repo-root.d.ts.map +1 -0
  68. package/dist/utils/repo-root.js +39 -0
  69. package/dist/utils/repo-root.js.map +1 -0
  70. package/dist/watcher-backend.d.ts +30 -0
  71. package/dist/watcher-backend.d.ts.map +1 -0
  72. package/dist/watcher-backend.js +104 -0
  73. package/dist/watcher-backend.js.map +1 -0
  74. package/dist/watcher.d.ts +21 -6
  75. package/dist/watcher.d.ts.map +1 -1
  76. package/dist/watcher.js +193 -101
  77. package/dist/watcher.js.map +1 -1
  78. package/package.json +2 -2
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  [![npm](https://img.shields.io/npm/v/@sudosandwich/limps)](https://www.npmjs.com/package/@sudosandwich/limps)
6
6
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
- ![Tests](https://img.shields.io/badge/Tests-1167%20passing-brightgreen)
7
+ ![Tests](https://img.shields.io/badge/Tests-1488%20passing-brightgreen)
8
8
  ![Coverage](https://img.shields.io/badge/Coverage-%3E70%25-brightgreen)
9
9
  [![MCP Badge](https://lobehub.com/badge/mcp/paulbreuler-limps)](https://lobehub.com/mcp/paulbreuler-limps)
10
10
 
@@ -494,10 +494,27 @@ This repo ships Claude Code slash commands in [`.claude/commands/`](/.claude/com
494
494
 
495
495
  **Vercel Skills** (for other AI IDEs):
496
496
 
497
+ Install the limps planning skill to get AI-powered guidance for plan creation, agent workflows, and task management:
498
+
497
499
  ```bash
498
- npx skills add paulbreuler/limps/skills/limps-planning
500
+ # Install only the limps planning skill (recommended for consumers)
501
+ npx skills add https://github.com/sudosandwich/limps/tree/main/.claude/skills/limps-plan-operations
502
+
503
+ # Or install all available skills
504
+ npx skills add sudosandwich/limps
499
505
  ```
500
506
 
507
+ **Available Skills:**
508
+
509
+ | Skill | Description |
510
+ |-------|-------------|
511
+ | `limps-plan-operations` | Plan identification, artifact loading, distillation rules, and lifecycle guidance using limps MCP tools |
512
+ | `mcp-code-review` | Security-focused code review for MCP servers and LLM safety |
513
+ | `branch-code-review` | General code review for design, maintainability, and correctness |
514
+ | `git-commit-best-practices` | Conventional commits and repository best practices |
515
+
516
+ See [`skills.yaml`](./skills.yaml) for the complete manifest of the `.claude/skills` packages installed via `npx skills add` above; the separate `skills/limps-planning/` package in this repo is a legacy distribution and new consumers should prefer the `.claude/skills` method.
517
+
501
518
  ## Extensions
502
519
 
503
520
  Extensions add MCP tools and resources. Install from npm:
@@ -6,5 +6,5 @@ export interface GraphWatchOptions {
6
6
  webhookUrl?: string;
7
7
  filePath?: string;
8
8
  }
9
- export declare function startGraphWatch(config: ServerConfig, db: DatabaseType, options?: GraphWatchOptions): GraphWatcher;
9
+ export declare function startGraphWatch(config: ServerConfig, db: DatabaseType, options?: GraphWatchOptions): Promise<GraphWatcher>;
10
10
  //# sourceMappingURL=graph-watch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graph-watch.d.ts","sourceRoot":"","sources":["../../src/cli/graph-watch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAE,YAAY,EAA4B,MAAM,qBAAqB,CAAC;AAG7E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,YAAY,EACpB,EAAE,EAAE,YAAY,EAChB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,YAAY,CAiBd"}
1
+ {"version":3,"file":"graph-watch.d.ts","sourceRoot":"","sources":["../../src/cli/graph-watch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAE,YAAY,EAA4B,MAAM,qBAAqB,CAAC;AAG7E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,YAAY,EACpB,EAAE,EAAE,YAAY,EAChB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAiBvB"}
@@ -1,6 +1,6 @@
1
1
  import { GraphStorage } from '../graph/storage.js';
2
2
  import { GraphWatcher } from '../graph/watcher.js';
3
- export function startGraphWatch(config, db, options) {
3
+ export async function startGraphWatch(config, db, options) {
4
4
  const storage = new GraphStorage(db);
5
5
  const channels = (options?.channels ?? ['log']);
6
6
  const watcherOptions = {
@@ -12,7 +12,7 @@ export function startGraphWatch(config, db, options) {
12
12
  },
13
13
  };
14
14
  const watcher = new GraphWatcher(storage, watcherOptions);
15
- watcher.start();
15
+ await watcher.start();
16
16
  return watcher;
17
17
  }
18
18
  //# sourceMappingURL=graph-watch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"graph-watch.js","sourceRoot":"","sources":["../../src/cli/graph-watch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAA4B,MAAM,qBAAqB,CAAC;AAS7E,MAAM,UAAU,eAAe,CAC7B,MAAoB,EACpB,EAAgB,EAChB,OAA2B;IAE3B,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC;IAErC,MAAM,QAAQ,GAAG,CAAC,OAAO,EAAE,QAAQ,IAAI,CAAC,KAAK,CAAC,CAA+B,CAAC;IAE9E,MAAM,cAAc,GAAwB;QAC1C,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,cAAc,EAAE;YACd,QAAQ;YACR,UAAU,EAAE,OAAO,EAAE,UAAU;YAC/B,QAAQ,EAAE,OAAO,EAAE,QAAQ;SAC5B;KACF,CAAC;IAEF,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAC1D,OAAO,CAAC,KAAK,EAAE,CAAC;IAChB,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"graph-watch.js","sourceRoot":"","sources":["../../src/cli/graph-watch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAA4B,MAAM,qBAAqB,CAAC;AAS7E,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAoB,EACpB,EAAgB,EAChB,OAA2B;IAE3B,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC;IAErC,MAAM,QAAQ,GAAG,CAAC,OAAO,EAAE,QAAQ,IAAI,CAAC,KAAK,CAAC,CAA+B,CAAC;IAE9E,MAAM,cAAc,GAAwB;QAC1C,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,cAAc,EAAE;YACd,QAAQ;YACR,UAAU,EAAE,OAAO,EAAE,UAAU;YAC/B,QAAQ,EAAE,OAAO,EAAE,QAAQ;SAC5B;KACF,CAAC;IAEF,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAC1D,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACtB,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/commands/graph/watch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAEzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,WAAW,uCAAuC,CAAC;AAEhE,eAAO,MAAM,IAAI,sBAAc,CAAC;AAEhC,eAAO,MAAM,OAAO;;;;;iBAQlB,CAAC;AAEH,UAAU,KAAK;IACb,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,SAAS,CAsC7E"}
1
+ {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/commands/graph/watch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,WAAW,uCAAuC,CAAC;AAEhE,eAAO,MAAM,IAAI,sBAAc,CAAC;AAEhC,eAAO,MAAM,OAAO;;;;;iBAQlB,CAAC;AAEH,UAAU,KAAK;IACb,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,SAAS,CA0E7E"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useEffect } from 'react';
2
+ import { useEffect, useState } from 'react';
3
3
  import { Text } from 'ink';
4
4
  import { z } from 'zod';
5
5
  import { loadConfig } from '../../config.js';
@@ -22,18 +22,47 @@ export default function GraphWatchCommand({ options }) {
22
22
  ? resolveProjectConfigPath(options.project)
23
23
  : resolveConfigPath(options.config);
24
24
  const config = loadConfig(configPath);
25
+ const [error, setError] = useState(null);
25
26
  useEffect(() => {
26
27
  const db = openGraphDb(config);
27
28
  const channels = options.channels?.split(',').map((c) => c.trim()) ?? ['log'];
28
- const watcher = startGraphWatch(config, db, {
29
- channels,
30
- webhookUrl: options['webhook-url'],
31
- });
29
+ let watcherRef = null;
30
+ let cancelled = false;
31
+ const startWatcherAsync = async () => {
32
+ try {
33
+ const w = await startGraphWatch(config, db, {
34
+ channels,
35
+ webhookUrl: options['webhook-url'],
36
+ });
37
+ if (cancelled) {
38
+ // Cleanup ran before watcher started - stop immediately
39
+ await w.stop();
40
+ db.close();
41
+ }
42
+ else {
43
+ watcherRef = w;
44
+ }
45
+ }
46
+ catch (err) {
47
+ const message = err instanceof Error ? err.message : String(err);
48
+ console.error('Failed to start graph watcher:', err);
49
+ if (!cancelled) {
50
+ setError(message);
51
+ }
52
+ }
53
+ };
54
+ void startWatcherAsync();
32
55
  const cleanup = () => {
33
- void watcher
34
- .stop()
35
- .then(() => db.close())
36
- .catch(() => db.close());
56
+ cancelled = true;
57
+ if (watcherRef) {
58
+ void watcherRef
59
+ .stop()
60
+ .then(() => db.close())
61
+ .catch(() => db.close());
62
+ }
63
+ else {
64
+ db.close();
65
+ }
37
66
  };
38
67
  process.on('SIGINT', cleanup);
39
68
  process.on('SIGTERM', cleanup);
@@ -43,6 +72,9 @@ export default function GraphWatchCommand({ options }) {
43
72
  process.removeListener('SIGTERM', cleanup);
44
73
  };
45
74
  }, [config, options.channels, options['webhook-url']]);
75
+ if (error) {
76
+ return (_jsxs(Text, { children: [_jsx(Text, { color: "red", children: "Error:" }), " Failed to start watcher: ", error] }));
77
+ }
46
78
  return (_jsxs(Text, { children: [_jsx(Text, { color: "cyan", children: "Watching" }), " ", config.plansPath, " for changes...", '\n', "Press Ctrl+C to stop."] }));
47
79
  }
48
80
  //# sourceMappingURL=watch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/commands/graph/watch.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/commands/graph/watch.tsx"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -77,6 +77,8 @@ export interface ServerConfig {
77
77
  docsPaths?: string[];
78
78
  fileExtensions?: string[];
79
79
  dataPath: string;
80
+ maxFileSize?: number;
81
+ maxDepth?: number;
80
82
  scoring: {
81
83
  preset?: ScoringPreset;
82
84
  weights: Partial<ScoringWeights>;
@@ -93,6 +95,15 @@ export interface ServerConfig {
93
95
  */
94
96
  export declare const CURRENT_CONFIG_VERSION = 1;
95
97
  export type ConfigMigrationStep = (config: Record<string, unknown>) => void;
98
+ /**
99
+ * Default maximum file size in bytes (1 MB).
100
+ * Files larger than this are skipped during indexing and rejected on write.
101
+ */
102
+ export declare const DEFAULT_MAX_FILE_SIZE = 1048576;
103
+ /**
104
+ * Default maximum directory recursion depth for indexing and watching.
105
+ */
106
+ export declare const DEFAULT_MAX_DEPTH = 10;
96
107
  /**
97
108
  * Default scoring weights for task prioritization (initial config values).
98
109
  */
@@ -149,12 +160,12 @@ export declare const DEFAULT_DEBOUNCE_DELAY = 200;
149
160
  export declare function expandTilde(path: string): string;
150
161
  /**
151
162
  * Load configuration from file.
152
- * Creates default configuration file if it doesn't exist.
153
163
  * Paths are resolved relative to the config file location.
154
164
  * Removes deprecated coordination.json if found in config or data dir.
155
165
  *
156
166
  * @param configPath - Path to config.json file
157
167
  * @returns Server configuration
168
+ * @throws Error if config file does not exist
158
169
  */
159
170
  export declare function loadConfig(configPath: string): ServerConfig;
160
171
  /**
@@ -181,4 +192,14 @@ export declare function getAllDocsPaths(config: ServerConfig): string[];
181
192
  * @returns Array of file extensions (e.g., ['.md', '.jsx', '.tsx'])
182
193
  */
183
194
  export declare function getFileExtensions(config: ServerConfig): string[];
195
+ /**
196
+ * Get maximum file size from config.
197
+ * Returns configured value or default (1 MB).
198
+ */
199
+ export declare function getMaxFileSize(config: ServerConfig): number;
200
+ /**
201
+ * Get maximum directory recursion depth from config.
202
+ * Returns configured value or default (10).
203
+ */
204
+ export declare function getMaxDepth(config: ServerConfig): number;
184
205
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -1,4 +1,4 @@
1
- import { readFileSync, writeFileSync, existsSync, mkdirSync, unlinkSync } from 'fs';
1
+ import { readFileSync, writeFileSync, existsSync, unlinkSync } from 'fs';
2
2
  import { resolve, dirname, join } from 'path';
3
3
  import { homedir } from 'os';
4
4
  /**
@@ -34,6 +34,15 @@ const CONFIG_MIGRATIONS = [
34
34
  * Default file extensions to index.
35
35
  */
36
36
  const DEFAULT_FILE_EXTENSIONS = ['.md'];
37
+ /**
38
+ * Default maximum file size in bytes (1 MB).
39
+ * Files larger than this are skipped during indexing and rejected on write.
40
+ */
41
+ export const DEFAULT_MAX_FILE_SIZE = 1_048_576;
42
+ /**
43
+ * Default maximum directory recursion depth for indexing and watching.
44
+ */
45
+ export const DEFAULT_MAX_DEPTH = 10;
37
46
  /**
38
47
  * Default scoring weights for task prioritization (initial config values).
39
48
  */
@@ -162,11 +171,15 @@ export function getScoringBiases(config) {
162
171
  export const DEFAULT_DEBOUNCE_DELAY = 200;
163
172
  /**
164
173
  * Default server configuration.
174
+ *
175
+ * Note: docsPaths is intentionally undefined by default. Only plansPath is indexed
176
+ * unless additional docsPaths are explicitly configured. This prevents accidentally
177
+ * indexing entire repositories which can cause slow startup times.
165
178
  */
166
179
  const DEFAULT_CONFIG = {
167
180
  configVersion: CURRENT_CONFIG_VERSION,
168
181
  plansPath: './plans',
169
- docsPaths: undefined,
182
+ docsPaths: undefined, // Only plansPath indexed by default - add docsPaths explicitly if needed
170
183
  fileExtensions: undefined,
171
184
  dataPath: './data',
172
185
  scoring: {
@@ -207,26 +220,17 @@ function removeDeprecatedCoordinationFile(filePath) {
207
220
  }
208
221
  /**
209
222
  * Load configuration from file.
210
- * Creates default configuration file if it doesn't exist.
211
223
  * Paths are resolved relative to the config file location.
212
224
  * Removes deprecated coordination.json if found in config or data dir.
213
225
  *
214
226
  * @param configPath - Path to config.json file
215
227
  * @returns Server configuration
228
+ * @throws Error if config file does not exist
216
229
  */
217
230
  export function loadConfig(configPath) {
218
231
  const configDir = dirname(configPath);
219
232
  if (!existsSync(configPath)) {
220
- // Create default config file
221
- const defaultConfig = { ...DEFAULT_CONFIG };
222
- // Resolve paths relative to config file
223
- defaultConfig.plansPath = resolve(configDir, DEFAULT_CONFIG.plansPath);
224
- defaultConfig.dataPath = resolve(configDir, DEFAULT_CONFIG.dataPath);
225
- mkdirSync(configDir, { recursive: true });
226
- writeFileSync(configPath, JSON.stringify(defaultConfig, null, 2), 'utf-8');
227
- removeDeprecatedCoordinationFile(join(configDir, 'coordination.json'));
228
- removeDeprecatedCoordinationFile(join(defaultConfig.dataPath, 'coordination.json'));
229
- return defaultConfig;
233
+ throw new Error(`Config file not found: ${configPath}\nRun \`limps init <project>\` to create a new project config.`);
230
234
  }
231
235
  const content = readFileSync(configPath, 'utf-8');
232
236
  const config = JSON.parse(content);
@@ -333,6 +337,18 @@ export function validateConfig(config) {
333
337
  return false;
334
338
  }
335
339
  }
340
+ // Check optional maxFileSize (must be positive number if present)
341
+ if (c.maxFileSize !== undefined) {
342
+ if (typeof c.maxFileSize !== 'number' || c.maxFileSize <= 0) {
343
+ return false;
344
+ }
345
+ }
346
+ // Check optional maxDepth (must be positive integer if present)
347
+ if (c.maxDepth !== undefined) {
348
+ if (typeof c.maxDepth !== 'number' || c.maxDepth < 1 || !Number.isInteger(c.maxDepth)) {
349
+ return false;
350
+ }
351
+ }
336
352
  if (c.tools !== undefined) {
337
353
  if (typeof c.tools !== 'object' || c.tools === null) {
338
354
  return false;
@@ -512,4 +528,18 @@ export function getAllDocsPaths(config) {
512
528
  export function getFileExtensions(config) {
513
529
  return config.fileExtensions || DEFAULT_FILE_EXTENSIONS;
514
530
  }
531
+ /**
532
+ * Get maximum file size from config.
533
+ * Returns configured value or default (1 MB).
534
+ */
535
+ export function getMaxFileSize(config) {
536
+ return config.maxFileSize ?? DEFAULT_MAX_FILE_SIZE;
537
+ }
538
+ /**
539
+ * Get maximum directory recursion depth from config.
540
+ * Returns configured value or default (10).
541
+ */
542
+ export function getMaxDepth(config) {
543
+ return config.maxDepth ?? DEFAULT_MAX_DEPTH;
544
+ }
515
545
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export declare class GraphWatcher {
14
14
  private readonly detector;
15
15
  private readonly notifier;
16
16
  constructor(storage: GraphStorage, options: GraphWatcherOptions);
17
- start(): void;
17
+ start(): Promise<void>;
18
18
  stop(): Promise<void>;
19
19
  private handleChange;
20
20
  private handleSettled;
@@ -1 +1 @@
1
- {"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../../src/graph/watcher.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGjD,OAAO,EAAoB,KAAK,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAE9D,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,uBAAuB,CAAC;IAC1C,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,qBAAa,YAAY;IAOrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAP1B,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;gBAGxB,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,mBAAmB;IAS/C,KAAK,IAAI,IAAI;IAkBP,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAOb,YAAY;YA4BZ,aAAa;IAY3B,OAAO,CAAC,YAAY;CAgBrB"}
1
+ {"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../../src/graph/watcher.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGjD,OAAO,EAAoB,KAAK,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAE9D,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,uBAAuB,CAAC;IAC1C,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,qBAAa,YAAY;IAOrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAP1B,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;gBAGxB,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,mBAAmB;IASzC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAOb,YAAY;YA4BZ,aAAa;IAY3B,OAAO,CAAC,YAAY;CAgBrB"}
@@ -21,12 +21,12 @@ export class GraphWatcher {
21
21
  : null;
22
22
  this.notifier = options.notifierConfig ? new Notifier(options.notifierConfig) : null;
23
23
  }
24
- start() {
24
+ async start() {
25
25
  if (this.watcher)
26
26
  return;
27
- this.watcher = startWatcher(this.options.plansPath, async (path, event) => {
27
+ this.watcher = await startWatcher(this.options.plansPath, async (path, event) => {
28
28
  await this.handleChange(path, event);
29
- }, ['.md'], ['.git', 'node_modules', '.tmp', '.obsidian'], 200, 1500, async (changes) => {
29
+ }, ['.md'], ['.git', 'node_modules', '.tmp', '.obsidian', 'dist', 'build', '.cache'], 200, 1500, async (changes) => {
30
30
  await this.handleSettled(changes);
31
31
  });
32
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../src/graph/watcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../src/graph/watcher.ts"],"names":[],"mappings":"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"}
package/dist/indexer.d.ts CHANGED
@@ -52,7 +52,7 @@ export declare function clearIndex(db: DatabaseType): void;
52
52
  * @param filePath - Path to the markdown file
53
53
  * @returns Document metadata
54
54
  */
55
- export declare function indexDocument(db: DatabaseType, filePath: string): Promise<DocumentMetadata>;
55
+ export declare function indexDocument(db: DatabaseType, filePath: string, maxFileSize?: number): Promise<DocumentMetadata>;
56
56
  /**
57
57
  * Update document index in database and FTS5.
58
58
  *
@@ -83,7 +83,9 @@ export declare function indexAllDocuments(db: DatabaseType, plansPath: string, i
83
83
  * @param paths - Array of paths to index
84
84
  * @param extensions - File extensions to index (e.g., ['.md', '.jsx', '.tsx'])
85
85
  * @param ignorePatterns - Patterns to ignore (e.g., ['node_modules', '.git'])
86
+ * @param maxDepth - Maximum directory recursion depth
87
+ * @param maxFileSize - Maximum file size in bytes to index
86
88
  * @returns Combined indexing result
87
89
  */
88
- export declare function indexAllPaths(db: DatabaseType, paths: string[], extensions?: string[], ignorePatterns?: string[]): Promise<IndexingResult>;
90
+ export declare function indexAllPaths(db: DatabaseType, paths: string[], extensions?: string[], ignorePatterns?: string[], maxDepth?: number, maxFileSize?: number): Promise<IndexingResult>;
89
91
  //# sourceMappingURL=indexer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../src/indexer.ts"],"names":[],"mappings":"AAAA,OAAiB,EAAE,KAAK,QAAQ,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAOzE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IACxD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC3C;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAG/D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAqBnD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAKjD;AA4ID;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAyDjG;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,YAAY,EAChB,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,IAAI,CAAC,CAkCf;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUtF;AAkED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,YAAY,EAChB,SAAS,EAAE,MAAM,EACjB,cAAc,GAAE,MAAM,EAAkD,GACvE,OAAO,CAAC,cAAc,CAAC,CAiEzB;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CACjC,EAAE,EAAE,YAAY,EAChB,KAAK,EAAE,MAAM,EAAE,EACf,UAAU,GAAE,MAAM,EAAY,EAC9B,cAAc,GAAE,MAAM,EAAkD,GACvE,OAAO,CAAC,cAAc,CAAC,CAyEzB"}
1
+ {"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../src/indexer.ts"],"names":[],"mappings":"AAAA,OAAiB,EAAE,KAAK,QAAQ,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AASzE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IACxD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC3C;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAG/D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAqBnD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAKjD;AA4ID;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,EAAE,EAAE,YAAY,EAChB,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,MAA8B,GAC1C,OAAO,CAAC,gBAAgB,CAAC,CA+D3B;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,YAAY,EAChB,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,IAAI,CAAC,CAkCf;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUtF;AAkFD;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,YAAY,EAChB,SAAS,EAAE,MAAM,EACjB,cAAc,GAAE,MAAM,EAAkD,GACvE,OAAO,CAAC,cAAc,CAAC,CAiEzB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CACjC,EAAE,EAAE,YAAY,EAChB,KAAK,EAAE,MAAM,EAAE,EACf,UAAU,GAAE,MAAM,EAAY,EAC9B,cAAc,GAAE,MAAM,EAAkD,EACxE,QAAQ,GAAE,MAA0B,EACpC,WAAW,GAAE,MAA8B,GAC1C,OAAO,CAAC,cAAc,CAAC,CA0FzB"}
package/dist/indexer.js CHANGED
@@ -4,6 +4,8 @@ import { join, relative } from 'path';
4
4
  import { createHash } from 'crypto';
5
5
  import { FrontmatterHandler } from './utils/frontmatter.js';
6
6
  import { PathFilter } from './utils/pathfilter.js';
7
+ import { checkPathSafety, isSymlink } from './utils/fs-safety.js';
8
+ import { DEFAULT_MAX_DEPTH, DEFAULT_MAX_FILE_SIZE } from './config.js';
7
9
  /**
8
10
  * Initialize a SQLite database at the given path.
9
11
  * Creates the database file if it doesn't exist.
@@ -174,10 +176,15 @@ function calculateHash(content) {
174
176
  * @param filePath - Path to the markdown file
175
177
  * @returns Document metadata
176
178
  */
177
- export async function indexDocument(db, filePath) {
179
+ export async function indexDocument(db, filePath, maxFileSize = DEFAULT_MAX_FILE_SIZE) {
178
180
  if (!existsSync(filePath)) {
179
181
  throw new Error(`File not found: ${filePath}`);
180
182
  }
183
+ // Safety check: reject symlinks and oversized files before reading content
184
+ const safety = checkPathSafety(filePath, { maxFileSize });
185
+ if (!safety.safe) {
186
+ throw new Error(`Skipping unsafe file ${filePath}: ${safety.reason}`);
187
+ }
181
188
  const content = readFileSync(filePath, 'utf-8');
182
189
  const stats = statSync(filePath);
183
190
  const modifiedAt = stats.mtimeMs;
@@ -264,15 +271,20 @@ export async function removeDocument(db, filePath) {
264
271
  }
265
272
  /**
266
273
  * Recursively find all files with specified extensions in a directory.
267
- * Uses PathFilter for consistent filtering.
274
+ * Uses PathFilter for consistent filtering. Rejects symlinks and enforces depth limits.
268
275
  *
269
276
  * @param dir - Directory to search
270
277
  * @param extensions - File extensions to match (e.g., ['.md', '.jsx', '.tsx'])
271
278
  * @param ignorePatterns - Patterns to ignore (legacy support, PathFilter handles this)
272
279
  * @param baseDir - Base directory for relative path calculation (internal use)
280
+ * @param maxDepth - Maximum recursion depth (default: DEFAULT_MAX_DEPTH)
281
+ * @param currentDepth - Current recursion depth (internal use)
273
282
  * @returns Array of file paths
274
283
  */
275
- function findFiles(dir, extensions = ['.md'], ignorePatterns = [], baseDir) {
284
+ function findFiles(dir, extensions = ['.md'], ignorePatterns = [], baseDir, maxDepth = DEFAULT_MAX_DEPTH, currentDepth = 0) {
285
+ if (currentDepth > maxDepth) {
286
+ return [];
287
+ }
276
288
  const files = [];
277
289
  const entries = readdirSync(dir, { withFileTypes: true });
278
290
  const searchBase = baseDir || dir;
@@ -289,6 +301,10 @@ function findFiles(dir, extensions = ['.md'], ignorePatterns = [], baseDir) {
289
301
  });
290
302
  for (const entry of entries) {
291
303
  const fullPath = join(dir, entry.name);
304
+ // Skip symlinks unconditionally — prevents data leaks from outside the plans tree
305
+ if (isSymlink(fullPath)) {
306
+ continue;
307
+ }
292
308
  // Get relative path from the search root for PathFilter
293
309
  const relativePath = relative(searchBase, fullPath).replace(/\\/g, '/');
294
310
  // Use PathFilter to check if path is allowed
@@ -296,7 +312,7 @@ function findFiles(dir, extensions = ['.md'], ignorePatterns = [], baseDir) {
296
312
  continue;
297
313
  }
298
314
  if (entry.isDirectory()) {
299
- files.push(...findFiles(fullPath, extensions, ignorePatterns, searchBase));
315
+ files.push(...findFiles(fullPath, extensions, ignorePatterns, searchBase, maxDepth, currentDepth + 1));
300
316
  }
301
317
  else if (entry.isFile()) {
302
318
  // PathFilter already checked extension, but double-check for safety
@@ -383,9 +399,11 @@ export async function indexAllDocuments(db, plansPath, ignorePatterns = ['.git',
383
399
  * @param paths - Array of paths to index
384
400
  * @param extensions - File extensions to index (e.g., ['.md', '.jsx', '.tsx'])
385
401
  * @param ignorePatterns - Patterns to ignore (e.g., ['node_modules', '.git'])
402
+ * @param maxDepth - Maximum directory recursion depth
403
+ * @param maxFileSize - Maximum file size in bytes to index
386
404
  * @returns Combined indexing result
387
405
  */
388
- export async function indexAllPaths(db, paths, extensions = ['.md'], ignorePatterns = ['.git', 'node_modules', '.tmp', '.obsidian']) {
406
+ export async function indexAllPaths(db, paths, extensions = ['.md'], ignorePatterns = ['.git', 'node_modules', '.tmp', '.obsidian'], maxDepth = DEFAULT_MAX_DEPTH, maxFileSize = DEFAULT_MAX_FILE_SIZE) {
389
407
  const result = {
390
408
  indexed: 0,
391
409
  updated: 0,
@@ -400,7 +418,7 @@ export async function indexAllPaths(db, paths, extensions = ['.md'], ignorePatte
400
418
  result.errors.push({ path, error: `Directory not found: ${path}` });
401
419
  continue;
402
420
  }
403
- const files = findFiles(path, extensions, ignorePatterns);
421
+ const files = findFiles(path, extensions, ignorePatterns, undefined, maxDepth);
404
422
  for (const file of files) {
405
423
  // Deduplicate files (in case paths overlap)
406
424
  if (!seenFiles.has(file)) {
@@ -409,6 +427,15 @@ export async function indexAllPaths(db, paths, extensions = ['.md'], ignorePatte
409
427
  }
410
428
  }
411
429
  }
430
+ // Warn if indexing suspiciously large number of files or root-like paths
431
+ const hasRootPath = paths.some((p) => p === '.' || p === './' || p === '/' || p.endsWith('/.'));
432
+ const isSuspiciousCount = allFiles.length > 200 || (hasRootPath && allFiles.length > 50);
433
+ if (isSuspiciousCount) {
434
+ console.error(`⚠️ Warning: About to index ${allFiles.length} files`);
435
+ console.error(` This may take a while on first startup`);
436
+ console.error(` Paths being indexed: ${paths.join(', ')}`);
437
+ console.error(` If this wasn't intentional, check your configuration`);
438
+ }
412
439
  // Process files with limited concurrency
413
440
  const concurrency = 10;
414
441
  for (let i = 0; i < allFiles.length; i += concurrency) {
@@ -419,6 +446,12 @@ export async function indexAllPaths(db, paths, extensions = ['.md'], ignorePatte
419
446
  result.errors.push({ path: filePath, error: 'File not found' });
420
447
  return;
421
448
  }
449
+ // Safety check: skip symlinks and oversized files
450
+ const safety = checkPathSafety(filePath, { maxFileSize });
451
+ if (!safety.safe) {
452
+ result.skipped++;
453
+ return;
454
+ }
422
455
  const content = readFileSync(filePath, 'utf-8');
423
456
  const hash = calculateHash(content);
424
457
  const existing = db.prepare('SELECT hash FROM documents WHERE path = ?').get(filePath);
@@ -427,7 +460,7 @@ export async function indexAllPaths(db, paths, extensions = ['.md'], ignorePatte
427
460
  return;
428
461
  }
429
462
  const wasExisting = existing !== undefined;
430
- await indexDocument(db, filePath);
463
+ await indexDocument(db, filePath, maxFileSize);
431
464
  if (wasExisting) {
432
465
  result.updated++;
433
466
  }