@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.
- package/README.md +19 -2
- package/dist/cli/graph-watch.d.ts +1 -1
- package/dist/cli/graph-watch.d.ts.map +1 -1
- package/dist/cli/graph-watch.js +2 -2
- package/dist/cli/graph-watch.js.map +1 -1
- package/dist/commands/graph/watch.d.ts.map +1 -1
- package/dist/commands/graph/watch.js +41 -9
- package/dist/commands/graph/watch.js.map +1 -1
- package/dist/config.d.ts +22 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +43 -13
- package/dist/config.js.map +1 -1
- package/dist/graph/watcher.d.ts +1 -1
- package/dist/graph/watcher.d.ts.map +1 -1
- package/dist/graph/watcher.js +3 -3
- package/dist/graph/watcher.js.map +1 -1
- package/dist/indexer.d.ts +4 -2
- package/dist/indexer.d.ts.map +1 -1
- package/dist/indexer.js +40 -7
- package/dist/indexer.js.map +1 -1
- package/dist/server-main.d.ts.map +1 -1
- package/dist/server-main.js +78 -24
- package/dist/server-main.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +6 -0
- package/dist/server.js.map +1 -1
- package/dist/tools/create-doc.d.ts.map +1 -1
- package/dist/tools/create-doc.js +23 -11
- package/dist/tools/create-doc.js.map +1 -1
- package/dist/tools/delete-doc.d.ts.map +1 -1
- package/dist/tools/delete-doc.js +2 -7
- package/dist/tools/delete-doc.js.map +1 -1
- package/dist/tools/list-docs.d.ts.map +1 -1
- package/dist/tools/list-docs.js +3 -14
- package/dist/tools/list-docs.js.map +1 -1
- package/dist/tools/manage-tags.d.ts.map +1 -1
- package/dist/tools/manage-tags.js +2 -8
- package/dist/tools/manage-tags.js.map +1 -1
- package/dist/tools/open-document-in-cursor.d.ts.map +1 -1
- package/dist/tools/open-document-in-cursor.js +2 -14
- package/dist/tools/open-document-in-cursor.js.map +1 -1
- package/dist/tools/process-doc.d.ts.map +1 -1
- package/dist/tools/process-doc.js +2 -11
- package/dist/tools/process-doc.js.map +1 -1
- package/dist/tools/process-docs.d.ts.map +1 -1
- package/dist/tools/process-docs.js +26 -14
- package/dist/tools/process-docs.js.map +1 -1
- package/dist/tools/update-doc.d.ts.map +1 -1
- package/dist/tools/update-doc.js +33 -11
- package/dist/tools/update-doc.js.map +1 -1
- package/dist/utils/config-resolver.d.ts +3 -1
- package/dist/utils/config-resolver.d.ts.map +1 -1
- package/dist/utils/config-resolver.js +5 -4
- package/dist/utils/config-resolver.js.map +1 -1
- package/dist/utils/fd-safety.d.ts +41 -0
- package/dist/utils/fd-safety.d.ts.map +1 -0
- package/dist/utils/fd-safety.js +106 -0
- package/dist/utils/fd-safety.js.map +1 -0
- package/dist/utils/fs-safety.d.ts +64 -0
- package/dist/utils/fs-safety.d.ts.map +1 -0
- package/dist/utils/fs-safety.js +127 -0
- package/dist/utils/fs-safety.js.map +1 -0
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +8 -0
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/repo-root.d.ts +29 -0
- package/dist/utils/repo-root.d.ts.map +1 -0
- package/dist/utils/repo-root.js +39 -0
- package/dist/utils/repo-root.js.map +1 -0
- package/dist/watcher-backend.d.ts +30 -0
- package/dist/watcher-backend.d.ts.map +1 -0
- package/dist/watcher-backend.js +104 -0
- package/dist/watcher-backend.js.map +1 -0
- package/dist/watcher.d.ts +21 -6
- package/dist/watcher.d.ts.map +1 -1
- package/dist/watcher.js +193 -101
- package/dist/watcher.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/@sudosandwich/limps)
|
|
6
6
|
[](https://opensource.org/licenses/MIT)
|
|
7
|
-

|
|
8
8
|

|
|
9
9
|
[](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
|
-
|
|
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,
|
|
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"}
|
package/dist/cli/graph-watch.js
CHANGED
|
@@ -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,
|
|
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,
|
|
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
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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":";AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
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
|
package/dist/config.d.ts.map
CHANGED
|
@@ -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":"AAIA;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,YAAY,GACZ,kBAAkB,GAClB,cAAc,GACd,kBAAkB,CAAC;AAEvB;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yCAAyC;IACzC,WAAW,CAAC,EAAE;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,0DAA0D;IAC1D,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClC,8GAA8G;IAC9G,SAAS,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE;QACP,MAAM,CAAC,EAAE,aAAa,CAAC;QACvB,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QACjC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;KAChC,CAAC;IACF,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,MAAM,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;AAiC5E;;;GAGG;AACH,eAAO,MAAM,qBAAqB,UAAY,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,cAIrC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,CAQtE;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,aAAkB,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,eAAoB,CAAC;AAE5D;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,eAAe,CAKxE;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,eAOtC,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,eAAe,CAOxE;AAED,eAAO,MAAM,eAAe,EAAE,MAAM,CAClC,aAAa,EACb;IAAE,OAAO,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,aAAa,CAAA;CAAE,CAsBnD,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa,CAgCpE;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,MAAM,CAAC;AA0B1C;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKhD;AAgBD;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAsG3D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,YAAY,CA4MtE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,EAAE,CAS9D;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,EAAE,CAEhE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAE3D;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAExD"}
|
package/dist/config.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { readFileSync, writeFileSync, existsSync,
|
|
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
|
-
|
|
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
|
package/dist/config.js.map
CHANGED
|
@@ -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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"}
|
package/dist/graph/watcher.d.ts
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/graph/watcher.js
CHANGED
|
@@ -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":"AACA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAsB,MAAM,eAAe,CAAC;AAE9E,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAgC,MAAM,wBAAwB,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAuB,MAAM,eAAe,CAAC;AAQ9D,MAAM,OAAO,YAAY;IAOJ;IACA;IAPX,OAAO,
|
|
1
|
+
{"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../src/graph/watcher.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAsB,MAAM,eAAe,CAAC;AAE9E,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAgC,MAAM,wBAAwB,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAuB,MAAM,eAAe,CAAC;AAQ9D,MAAM,OAAO,YAAY;IAOJ;IACA;IAPX,OAAO,GAAwB,IAAI,CAAC;IAC3B,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;IAClC,QAAQ,CAA0B;IAClC,QAAQ,CAAkB;IAE3C,YACmB,OAAqB,EACrB,OAA4B;QAD5B,YAAO,GAAP,OAAO,CAAc;QACrB,YAAO,GAAP,OAAO,CAAqB;QAE7C,IAAI,CAAC,QAAQ;YACX,OAAO,CAAC,eAAe,KAAK,SAAS,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS;gBAC3E,CAAC,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC;gBACxD,CAAC,CAAC,IAAI,CAAC;QACX,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QAEzB,IAAI,CAAC,OAAO,GAAG,MAAM,YAAY,CAC/B,IAAI,CAAC,OAAO,CAAC,SAAS,EACtB,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YACpB,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC,EACD,CAAC,KAAK,CAAC,EACP,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,EACxE,GAAG,EACH,IAAI,EACJ,KAAK,EAAE,OAAO,EAAE,EAAE;YAChB,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,KAAkC;QACzE,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAEzC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC;gBAAE,OAAO;YAElD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACnD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACnD,CAAC;YACD,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,OAAO,CAAC,KAAK,CAAC,kCAAkC,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,QAAyB;QACnD,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE7C,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YAC5C,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,OAAO,CAAC,KAAK,CAAC,8CAA8C,GAAG,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,QAAgB;QACnC,iEAAiE;QACjE,IAAI,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;QAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9B,OAAO,GAAG,CAAC;YACb,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAM;YAClD,GAAG,GAAG,MAAM,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
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
|
package/dist/indexer.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
}
|