@blamechris/repo-memory 0.6.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +48 -9
- package/dist/cache/store.d.ts +10 -0
- package/dist/cache/store.d.ts.map +1 -1
- package/dist/cache/store.js +21 -0
- package/dist/cache/store.js.map +1 -1
- package/dist/config.d.ts +2 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +66 -31
- package/dist/config.js.map +1 -1
- package/dist/grammars/tree-sitter-javascript.wasm +0 -0
- package/dist/grammars/tree-sitter-tsx.wasm +0 -0
- package/dist/grammars/tree-sitter-typescript.wasm +0 -0
- package/dist/indexer/ast-summarizer.d.ts +10 -0
- package/dist/indexer/ast-summarizer.d.ts.map +1 -0
- package/dist/indexer/ast-summarizer.js +401 -0
- package/dist/indexer/ast-summarizer.js.map +1 -0
- package/dist/indexer/imports.d.ts.map +1 -1
- package/dist/indexer/imports.js +2 -1
- package/dist/indexer/imports.js.map +1 -1
- package/dist/indexer/project-map.d.ts +0 -2
- package/dist/indexer/project-map.d.ts.map +1 -1
- package/dist/indexer/project-map.js +13 -9
- package/dist/indexer/project-map.js.map +1 -1
- package/dist/indexer/scanner.d.ts.map +1 -1
- package/dist/indexer/scanner.js +2 -1
- package/dist/indexer/scanner.js.map +1 -1
- package/dist/indexer/smart-summarizer.d.ts +2 -2
- package/dist/indexer/smart-summarizer.d.ts.map +1 -1
- package/dist/indexer/smart-summarizer.js +4 -4
- package/dist/indexer/smart-summarizer.js.map +1 -1
- package/dist/indexer/summarize.d.ts +21 -0
- package/dist/indexer/summarize.d.ts.map +1 -0
- package/dist/indexer/summarize.js +50 -0
- package/dist/indexer/summarize.js.map +1 -0
- package/dist/indexer/summarizer.js +1 -1
- package/dist/indexer/summarizer.js.map +1 -1
- package/dist/persistence/db.d.ts.map +1 -1
- package/dist/persistence/db.js +11 -0
- package/dist/persistence/db.js.map +1 -1
- package/dist/server.js +14 -7
- package/dist/server.js.map +1 -1
- package/dist/tools/force-reread.d.ts.map +1 -1
- package/dist/tools/force-reread.js +3 -2
- package/dist/tools/force-reread.js.map +1 -1
- package/dist/tools/get-file-summary.d.ts.map +1 -1
- package/dist/tools/get-file-summary.js +3 -2
- package/dist/tools/get-file-summary.js.map +1 -1
- package/dist/tools/search-by-purpose.d.ts +2 -1
- package/dist/tools/search-by-purpose.d.ts.map +1 -1
- package/dist/tools/search-by-purpose.js +24 -5
- package/dist/tools/search-by-purpose.js.map +1 -1
- package/dist/utils/posix-path.d.ts +14 -0
- package/dist/utils/posix-path.d.ts.map +1 -0
- package/dist/utils/posix-path.js +16 -0
- package/dist/utils/posix-path.js.map +1 -0
- package/dist/utils/validate-path.d.ts.map +1 -1
- package/dist/utils/validate-path.js +2 -1
- package/dist/utils/validate-path.js.map +1 -1
- package/package.json +6 -4
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Normalize a path to use POSIX (forward-slash) separators.
|
|
3
|
+
*
|
|
4
|
+
* Stored cache paths, dependency-graph edges, and validated relative paths are
|
|
5
|
+
* all kept in POSIX form so that lookups, prefix scoping (search_by_purpose
|
|
6
|
+
* `pathPrefix`), and segment splits behave identically across platforms. On
|
|
7
|
+
* Windows, `path.relative()` yields backslash separators; this converts them at
|
|
8
|
+
* the boundary so the rest of the codebase never has to special-case `\`.
|
|
9
|
+
*
|
|
10
|
+
* @param p - A path that may contain backslash separators.
|
|
11
|
+
* @returns The same path with all backslashes replaced by forward slashes.
|
|
12
|
+
*/
|
|
13
|
+
export function toPosix(p) {
|
|
14
|
+
return p.replace(/\\/g, '/');
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=posix-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"posix-path.js","sourceRoot":"","sources":["../../src/utils/posix-path.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,OAAO,CAAC,CAAS;IAC/B,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC/B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-path.d.ts","sourceRoot":"","sources":["../../src/utils/validate-path.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validate-path.d.ts","sourceRoot":"","sources":["../../src/utils/validate-path.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAkB1E"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { resolve, normalize, relative, sep } from 'node:path';
|
|
2
|
+
import { toPosix } from './posix-path.js';
|
|
2
3
|
/**
|
|
3
4
|
* Validates that a file path is safe and resolves within the project root.
|
|
4
5
|
* Throws an error if the path attempts traversal outside the project.
|
|
@@ -17,6 +18,6 @@ export function validatePath(projectRoot, filePath) {
|
|
|
17
18
|
!resolvedPath.startsWith(normalizedRoot + sep)) {
|
|
18
19
|
throw new Error(`Path traversal detected: ${filePath} resolves outside project root`);
|
|
19
20
|
}
|
|
20
|
-
return relative(normalizedRoot, resolvedPath);
|
|
21
|
+
return toPosix(relative(normalizedRoot, resolvedPath));
|
|
21
22
|
}
|
|
22
23
|
//# sourceMappingURL=validate-path.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-path.js","sourceRoot":"","sources":["../../src/utils/validate-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"validate-path.js","sourceRoot":"","sources":["../../src/utils/validate-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,WAAmB,EAAE,QAAgB;IAChE,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,wCAAwC,QAAQ,GAAG,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE/D,IACE,YAAY,KAAK,cAAc;QAC/B,CAAC,YAAY,CAAC,UAAU,CAAC,cAAc,GAAG,GAAG,CAAC,EAC9C,CAAC;QACD,MAAM,IAAI,KAAK,CACb,4BAA4B,QAAQ,gCAAgC,CACrE,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC,QAAQ,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC;AACzD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blamechris/repo-memory",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "MCP server that gives AI coding agents persistent memory about your codebase",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/server.js",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"LICENSE"
|
|
15
15
|
],
|
|
16
16
|
"scripts": {
|
|
17
|
-
"build": "tsc",
|
|
17
|
+
"build": "tsc && node scripts/copy-grammars.mjs",
|
|
18
18
|
"typecheck": "tsc --noEmit",
|
|
19
19
|
"test": "vitest run",
|
|
20
20
|
"test:integration": "vitest run --config vitest.integration.config.ts",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"license": "MIT",
|
|
39
39
|
"repository": {
|
|
40
40
|
"type": "git",
|
|
41
|
-
"url": "https://github.com/blamechris/repo-memory.git"
|
|
41
|
+
"url": "git+https://github.com/blamechris/repo-memory.git"
|
|
42
42
|
},
|
|
43
43
|
"engines": {
|
|
44
44
|
"node": ">=20"
|
|
@@ -51,12 +51,14 @@
|
|
|
51
51
|
"eslint": "^10.0.2",
|
|
52
52
|
"eslint-config-prettier": "^10.1.8",
|
|
53
53
|
"prettier": "^3.8.1",
|
|
54
|
+
"tree-sitter-wasms": "^0.1.13",
|
|
54
55
|
"typescript": "^5.9.3",
|
|
55
56
|
"vitest": "^4.0.18"
|
|
56
57
|
},
|
|
57
58
|
"dependencies": {
|
|
58
59
|
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
59
|
-
"better-sqlite3": "^12.
|
|
60
|
+
"better-sqlite3": "^12.10.0",
|
|
61
|
+
"web-tree-sitter": "^0.25.10",
|
|
60
62
|
"zod": "^4.3.6"
|
|
61
63
|
}
|
|
62
64
|
}
|