@sudosandwich/limps 2.13.1 → 2.13.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/graph-reindex.d.ts.map +1 -1
- package/dist/cli/graph-reindex.js +43 -2
- package/dist/cli/graph-reindex.js.map +1 -1
- 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 +21 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +35 -0
- 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 +11 -2
- package/dist/indexer.d.ts.map +1 -1
- package/dist/indexer.js +46 -7
- package/dist/indexer.js.map +1 -1
- package/dist/server-main.d.ts.map +1 -1
- package/dist/server-main.js +50 -14
- 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 +26 -15
- 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/backup.d.ts.map +1 -1
- package/dist/utils/backup.js +10 -1
- package/dist/utils/backup.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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-reindex.d.ts","sourceRoot":"","sources":["../../src/cli/graph-reindex.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAIjD,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,YAAY,EACpB,EAAE,EAAE,YAAY,EAChB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,kBAAkB,
|
|
1
|
+
{"version":3,"file":"graph-reindex.d.ts","sourceRoot":"","sources":["../../src/cli/graph-reindex.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAIjD,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,YAAY,EACpB,EAAE,EAAE,YAAY,EAChB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,kBAAkB,CAkFpB"}
|
|
@@ -12,16 +12,57 @@ export function graphReindex(config, db, options) {
|
|
|
12
12
|
warnings: [],
|
|
13
13
|
};
|
|
14
14
|
const planDirs = findPlanDirs(config.plansPath, options?.planId);
|
|
15
|
+
const extractionBatch = [];
|
|
15
16
|
for (const planDir of planDirs) {
|
|
16
17
|
const extraction = extractor.extractPlan(planDir);
|
|
17
18
|
result.warnings.push(...extraction.warnings);
|
|
19
|
+
const localIdToCanonical = new Map();
|
|
20
|
+
for (const entity of extraction.entities) {
|
|
21
|
+
localIdToCanonical.set(entity.id, entity.canonicalId);
|
|
22
|
+
}
|
|
23
|
+
extractionBatch.push({ extraction, localIdToCanonical });
|
|
24
|
+
result.plansProcessed++;
|
|
25
|
+
}
|
|
26
|
+
for (const { extraction } of extractionBatch) {
|
|
18
27
|
if (extraction.entities.length > 0) {
|
|
19
28
|
result.entitiesUpserted += storage.bulkUpsertEntities(extraction.entities);
|
|
20
29
|
}
|
|
30
|
+
}
|
|
31
|
+
const canonicalToDbId = new Map();
|
|
32
|
+
for (const { localIdToCanonical } of extractionBatch) {
|
|
33
|
+
for (const canonicalId of localIdToCanonical.values()) {
|
|
34
|
+
if (canonicalToDbId.has(canonicalId)) {
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
const dbEntity = storage.getEntity(canonicalId);
|
|
38
|
+
if (dbEntity) {
|
|
39
|
+
canonicalToDbId.set(canonicalId, dbEntity.id);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
for (const { extraction, localIdToCanonical } of extractionBatch) {
|
|
21
44
|
if (extraction.relationships.length > 0) {
|
|
22
|
-
|
|
45
|
+
const remappedRelationships = extraction.relationships
|
|
46
|
+
.map((rel) => {
|
|
47
|
+
const sourceCanonical = localIdToCanonical.get(rel.sourceId);
|
|
48
|
+
const targetCanonical = localIdToCanonical.get(rel.targetId);
|
|
49
|
+
if (!sourceCanonical || !targetCanonical) {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
const dbSourceId = canonicalToDbId.get(sourceCanonical);
|
|
53
|
+
const dbTargetId = canonicalToDbId.get(targetCanonical);
|
|
54
|
+
if (!dbSourceId || !dbTargetId) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
...rel,
|
|
59
|
+
sourceId: dbSourceId,
|
|
60
|
+
targetId: dbTargetId,
|
|
61
|
+
};
|
|
62
|
+
})
|
|
63
|
+
.filter((rel) => rel !== null);
|
|
64
|
+
result.relationshipsUpserted += storage.bulkUpsertRelationships(remappedRelationships);
|
|
23
65
|
}
|
|
24
|
-
result.plansProcessed++;
|
|
25
66
|
}
|
|
26
67
|
// Update last_indexed timestamp
|
|
27
68
|
db.prepare("INSERT OR REPLACE INTO graph_meta (key, value, updated_at) VALUES ('last_indexed', ?, datetime('now'))").run(new Date().toISOString());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-reindex.js","sourceRoot":"","sources":["../../src/cli/graph-reindex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAyB,MAAM,uBAAuB,CAAC;AAc/E,MAAM,UAAU,YAAY,CAC1B,MAAoB,EACpB,EAAgB,EAChB,OAA6B;IAE7B,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;IACxC,MAAM,MAAM,GAAuB;QACjC,cAAc,EAAE,CAAC;QACjB,gBAAgB,EAAE,CAAC;QACnB,qBAAqB,EAAE,CAAC;QACxB,QAAQ,EAAE,EAAE;KACb,CAAC;IAEF,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAEjE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"graph-reindex.js","sourceRoot":"","sources":["../../src/cli/graph-reindex.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
*/
|
|
@@ -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":"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,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;;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,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -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
|
*/
|
|
@@ -328,6 +337,18 @@ export function validateConfig(config) {
|
|
|
328
337
|
return false;
|
|
329
338
|
}
|
|
330
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
|
+
}
|
|
331
352
|
if (c.tools !== undefined) {
|
|
332
353
|
if (typeof c.tools !== 'object' || c.tools === null) {
|
|
333
354
|
return false;
|
|
@@ -507,4 +528,18 @@ export function getAllDocsPaths(config) {
|
|
|
507
528
|
export function getFileExtensions(config) {
|
|
508
529
|
return config.fileExtensions || DEFAULT_FILE_EXTENSIONS;
|
|
509
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
|
+
}
|
|
510
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":"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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
|
*
|
|
@@ -67,6 +67,13 @@ export declare function updateDocumentIndex(db: DatabaseType, metadata: Document
|
|
|
67
67
|
* @param filePath - Path to the document
|
|
68
68
|
*/
|
|
69
69
|
export declare function removeDocument(db: DatabaseType, filePath: string): Promise<void>;
|
|
70
|
+
/**
|
|
71
|
+
* Remove indexed documents for a path and all nested descendants.
|
|
72
|
+
*
|
|
73
|
+
* @param db - Database instance
|
|
74
|
+
* @param pathPrefix - Absolute path to file/directory root
|
|
75
|
+
*/
|
|
76
|
+
export declare function removeDocumentsByPathPrefix(db: DatabaseType, pathPrefix: string): Promise<void>;
|
|
70
77
|
/**
|
|
71
78
|
* Index all documents in a directory.
|
|
72
79
|
*
|
|
@@ -83,7 +90,9 @@ export declare function indexAllDocuments(db: DatabaseType, plansPath: string, i
|
|
|
83
90
|
* @param paths - Array of paths to index
|
|
84
91
|
* @param extensions - File extensions to index (e.g., ['.md', '.jsx', '.tsx'])
|
|
85
92
|
* @param ignorePatterns - Patterns to ignore (e.g., ['node_modules', '.git'])
|
|
93
|
+
* @param maxDepth - Maximum directory recursion depth
|
|
94
|
+
* @param maxFileSize - Maximum file size in bytes to index
|
|
86
95
|
* @returns Combined indexing result
|
|
87
96
|
*/
|
|
88
|
-
export declare function indexAllPaths(db: DatabaseType, paths: string[], extensions?: string[], ignorePatterns?: string[]): Promise<IndexingResult>;
|
|
97
|
+
export declare function indexAllPaths(db: DatabaseType, paths: string[], extensions?: string[], ignorePatterns?: string[], maxDepth?: number, maxFileSize?: number): Promise<IndexingResult>;
|
|
89
98
|
//# 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;AAED;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAC/C,EAAE,EAAE,YAAY,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAef;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;
|
|
@@ -262,17 +269,37 @@ export async function removeDocument(db, filePath) {
|
|
|
262
269
|
});
|
|
263
270
|
transaction();
|
|
264
271
|
}
|
|
272
|
+
/**
|
|
273
|
+
* Remove indexed documents for a path and all nested descendants.
|
|
274
|
+
*
|
|
275
|
+
* @param db - Database instance
|
|
276
|
+
* @param pathPrefix - Absolute path to file/directory root
|
|
277
|
+
*/
|
|
278
|
+
export async function removeDocumentsByPathPrefix(db, pathPrefix) {
|
|
279
|
+
const escapedPrefix = pathPrefix.replace(/\\/g, '\\\\').replace(/%/g, '\\%').replace(/_/g, '\\_');
|
|
280
|
+
const nestedLikePattern = `${escapedPrefix}/%`;
|
|
281
|
+
const transaction = db.transaction(() => {
|
|
282
|
+
db.prepare("DELETE FROM documents WHERE path = ? OR path LIKE ? ESCAPE '\\'").run(pathPrefix, nestedLikePattern);
|
|
283
|
+
db.prepare("DELETE FROM documents_fts WHERE path = ? OR path LIKE ? ESCAPE '\\'").run(pathPrefix, nestedLikePattern);
|
|
284
|
+
});
|
|
285
|
+
transaction();
|
|
286
|
+
}
|
|
265
287
|
/**
|
|
266
288
|
* Recursively find all files with specified extensions in a directory.
|
|
267
|
-
* Uses PathFilter for consistent filtering.
|
|
289
|
+
* Uses PathFilter for consistent filtering. Rejects symlinks and enforces depth limits.
|
|
268
290
|
*
|
|
269
291
|
* @param dir - Directory to search
|
|
270
292
|
* @param extensions - File extensions to match (e.g., ['.md', '.jsx', '.tsx'])
|
|
271
293
|
* @param ignorePatterns - Patterns to ignore (legacy support, PathFilter handles this)
|
|
272
294
|
* @param baseDir - Base directory for relative path calculation (internal use)
|
|
295
|
+
* @param maxDepth - Maximum recursion depth (default: DEFAULT_MAX_DEPTH)
|
|
296
|
+
* @param currentDepth - Current recursion depth (internal use)
|
|
273
297
|
* @returns Array of file paths
|
|
274
298
|
*/
|
|
275
|
-
function findFiles(dir, extensions = ['.md'], ignorePatterns = [], baseDir) {
|
|
299
|
+
function findFiles(dir, extensions = ['.md'], ignorePatterns = [], baseDir, maxDepth = DEFAULT_MAX_DEPTH, currentDepth = 0) {
|
|
300
|
+
if (currentDepth > maxDepth) {
|
|
301
|
+
return [];
|
|
302
|
+
}
|
|
276
303
|
const files = [];
|
|
277
304
|
const entries = readdirSync(dir, { withFileTypes: true });
|
|
278
305
|
const searchBase = baseDir || dir;
|
|
@@ -289,6 +316,10 @@ function findFiles(dir, extensions = ['.md'], ignorePatterns = [], baseDir) {
|
|
|
289
316
|
});
|
|
290
317
|
for (const entry of entries) {
|
|
291
318
|
const fullPath = join(dir, entry.name);
|
|
319
|
+
// Skip symlinks unconditionally — prevents data leaks from outside the plans tree
|
|
320
|
+
if (isSymlink(fullPath)) {
|
|
321
|
+
continue;
|
|
322
|
+
}
|
|
292
323
|
// Get relative path from the search root for PathFilter
|
|
293
324
|
const relativePath = relative(searchBase, fullPath).replace(/\\/g, '/');
|
|
294
325
|
// Use PathFilter to check if path is allowed
|
|
@@ -296,7 +327,7 @@ function findFiles(dir, extensions = ['.md'], ignorePatterns = [], baseDir) {
|
|
|
296
327
|
continue;
|
|
297
328
|
}
|
|
298
329
|
if (entry.isDirectory()) {
|
|
299
|
-
files.push(...findFiles(fullPath, extensions, ignorePatterns, searchBase));
|
|
330
|
+
files.push(...findFiles(fullPath, extensions, ignorePatterns, searchBase, maxDepth, currentDepth + 1));
|
|
300
331
|
}
|
|
301
332
|
else if (entry.isFile()) {
|
|
302
333
|
// PathFilter already checked extension, but double-check for safety
|
|
@@ -383,9 +414,11 @@ export async function indexAllDocuments(db, plansPath, ignorePatterns = ['.git',
|
|
|
383
414
|
* @param paths - Array of paths to index
|
|
384
415
|
* @param extensions - File extensions to index (e.g., ['.md', '.jsx', '.tsx'])
|
|
385
416
|
* @param ignorePatterns - Patterns to ignore (e.g., ['node_modules', '.git'])
|
|
417
|
+
* @param maxDepth - Maximum directory recursion depth
|
|
418
|
+
* @param maxFileSize - Maximum file size in bytes to index
|
|
386
419
|
* @returns Combined indexing result
|
|
387
420
|
*/
|
|
388
|
-
export async function indexAllPaths(db, paths, extensions = ['.md'], ignorePatterns = ['.git', 'node_modules', '.tmp', '.obsidian']) {
|
|
421
|
+
export async function indexAllPaths(db, paths, extensions = ['.md'], ignorePatterns = ['.git', 'node_modules', '.tmp', '.obsidian'], maxDepth = DEFAULT_MAX_DEPTH, maxFileSize = DEFAULT_MAX_FILE_SIZE) {
|
|
389
422
|
const result = {
|
|
390
423
|
indexed: 0,
|
|
391
424
|
updated: 0,
|
|
@@ -400,7 +433,7 @@ export async function indexAllPaths(db, paths, extensions = ['.md'], ignorePatte
|
|
|
400
433
|
result.errors.push({ path, error: `Directory not found: ${path}` });
|
|
401
434
|
continue;
|
|
402
435
|
}
|
|
403
|
-
const files = findFiles(path, extensions, ignorePatterns);
|
|
436
|
+
const files = findFiles(path, extensions, ignorePatterns, undefined, maxDepth);
|
|
404
437
|
for (const file of files) {
|
|
405
438
|
// Deduplicate files (in case paths overlap)
|
|
406
439
|
if (!seenFiles.has(file)) {
|
|
@@ -428,6 +461,12 @@ export async function indexAllPaths(db, paths, extensions = ['.md'], ignorePatte
|
|
|
428
461
|
result.errors.push({ path: filePath, error: 'File not found' });
|
|
429
462
|
return;
|
|
430
463
|
}
|
|
464
|
+
// Safety check: skip symlinks and oversized files
|
|
465
|
+
const safety = checkPathSafety(filePath, { maxFileSize });
|
|
466
|
+
if (!safety.safe) {
|
|
467
|
+
result.skipped++;
|
|
468
|
+
return;
|
|
469
|
+
}
|
|
431
470
|
const content = readFileSync(filePath, 'utf-8');
|
|
432
471
|
const hash = calculateHash(content);
|
|
433
472
|
const existing = db.prepare('SELECT hash FROM documents WHERE path = ?').get(filePath);
|
|
@@ -436,7 +475,7 @@ export async function indexAllPaths(db, paths, extensions = ['.md'], ignorePatte
|
|
|
436
475
|
return;
|
|
437
476
|
}
|
|
438
477
|
const wasExisting = existing !== undefined;
|
|
439
|
-
await indexDocument(db, filePath);
|
|
478
|
+
await indexDocument(db, filePath, maxFileSize);
|
|
440
479
|
if (wasExisting) {
|
|
441
480
|
result.updated++;
|
|
442
481
|
}
|