repomemory 1.2.0 → 1.4.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/LICENSE +1 -1
- package/dist/commands/dashboard.js +6 -3
- package/dist/commands/dashboard.js.map +1 -1
- package/dist/commands/global.d.ts.map +1 -1
- package/dist/commands/global.js +12 -1
- package/dist/commands/global.js.map +1 -1
- package/dist/commands/hook.js +1 -1
- package/dist/commands/hook.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +7 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/search.d.ts +7 -0
- package/dist/commands/search.d.ts.map +1 -0
- package/dist/commands/search.js +103 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/commands/sync.js +1 -1
- package/dist/commands/sync.js.map +1 -1
- package/dist/commands/wizard.d.ts.map +1 -1
- package/dist/commands/wizard.js +0 -1
- package/dist/commands/wizard.js.map +1 -1
- package/dist/index.js +18 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/ai-provider.js +1 -1
- package/dist/lib/ai-provider.js.map +1 -1
- package/dist/lib/context-store.d.ts.map +1 -1
- package/dist/lib/context-store.js +7 -10
- package/dist/lib/context-store.js.map +1 -1
- package/dist/lib/git.d.ts.map +1 -1
- package/dist/lib/git.js +7 -6
- package/dist/lib/git.js.map +1 -1
- package/dist/lib/json-repair.d.ts.map +1 -1
- package/dist/lib/json-repair.js +15 -4
- package/dist/lib/json-repair.js.map +1 -1
- package/dist/lib/repo-scanner.d.ts.map +1 -1
- package/dist/lib/repo-scanner.js +2 -1
- package/dist/lib/repo-scanner.js.map +1 -1
- package/dist/lib/search.d.ts +3 -0
- package/dist/lib/search.d.ts.map +1 -1
- package/dist/lib/search.js +32 -9
- package/dist/lib/search.js.map +1 -1
- package/dist/mcp/server.d.ts +0 -9
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +102 -52
- package/dist/mcp/server.js.map +1 -1
- package/package.json +10 -4
- package/server.json +2 -2
- package/.claude-plugin/plugin.json +0 -8
package/dist/mcp/server.js
CHANGED
|
@@ -51,24 +51,20 @@ export function buildSessionSummary(session, durationSeconds) {
|
|
|
51
51
|
* understanding the "why" is usually more actionable. The caller retries without
|
|
52
52
|
* category filter if the routed search returns 0 results.
|
|
53
53
|
*/
|
|
54
|
+
const CATEGORY_PATTERNS = [
|
|
55
|
+
{ pattern: /\b(why\b|chose|decision|alternatives?|trade.?off|instead of|reason\b)/, category: "decisions" },
|
|
56
|
+
{ pattern: /\b(bug|broke|regression|crash|error\b|fail|fix\b|issues?\b|problem|broken)/, category: "regressions" },
|
|
57
|
+
{ pattern: /\b(prefer(?:red|ence|s)?|coding style|naming convention|indent(?:ation)?|lint(?:ing)?|tab(?:s|\s+vs|\s+or)|code format(?:ting)?)/, category: "preferences" },
|
|
58
|
+
{ pattern: /\b(last session|previous session|yesterday|worked on|accomplished)/, category: "sessions" },
|
|
59
|
+
{ pattern: /\b(how does|how do|architecture|schema|database|api|endpoint|flow|structure)/, category: "facts" },
|
|
60
|
+
];
|
|
54
61
|
export function detectQueryCategory(query) {
|
|
55
62
|
const q = query.toLowerCase();
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
return "regressions";
|
|
62
|
-
// Preference/style queries — require coding/style context to avoid false positives
|
|
63
|
-
if (/\b(prefer(?:red|ence|s)?|coding style|naming convention|indent(?:ation)?|lint(?:ing)?|tab(?:s|\s+vs|\s+or)|code format(?:ting)?)/.test(q))
|
|
64
|
-
return "preferences";
|
|
65
|
-
// Session queries
|
|
66
|
-
if (/\b(last session|previous session|yesterday|worked on|accomplished)/.test(q))
|
|
67
|
-
return "sessions";
|
|
68
|
-
// Architecture/fact queries
|
|
69
|
-
if (/\b(how does|architecture|schema|database|api|endpoint|flow|structure)/.test(q))
|
|
70
|
-
return "facts";
|
|
71
|
-
return undefined; // search all categories
|
|
63
|
+
for (const { pattern, category } of CATEGORY_PATTERNS) {
|
|
64
|
+
if (pattern.test(q))
|
|
65
|
+
return category;
|
|
66
|
+
}
|
|
67
|
+
return undefined;
|
|
72
68
|
}
|
|
73
69
|
export async function startMcpServer(repoRoot, config) {
|
|
74
70
|
const store = new ContextStore(repoRoot, config);
|
|
@@ -359,6 +355,7 @@ export async function startMcpServer(repoRoot, config) {
|
|
|
359
355
|
properties: {
|
|
360
356
|
category: {
|
|
361
357
|
type: "string",
|
|
358
|
+
enum: VALID_CATEGORIES,
|
|
362
359
|
description: "The category (facts, decisions, regressions, sessions, changelog, preferences)",
|
|
363
360
|
},
|
|
364
361
|
filename: {
|
|
@@ -446,9 +443,14 @@ export async function startMcpServer(repoRoot, config) {
|
|
|
446
443
|
}
|
|
447
444
|
// Lazy-init repo search index
|
|
448
445
|
if (repoExists && !searchIndex) {
|
|
449
|
-
searchIndex = new SearchIndex(store.path, store);
|
|
446
|
+
searchIndex = new SearchIndex(store.path, store, embeddingProvider, config.hybridAlpha);
|
|
450
447
|
await searchIndex.rebuild();
|
|
451
448
|
}
|
|
449
|
+
// Lazy-init global search index
|
|
450
|
+
if (globalExists && globalStore && !globalSearchIndex) {
|
|
451
|
+
globalSearchIndex = new SearchIndex(globalStore.path, globalStore, embeddingProvider, config.hybridAlpha);
|
|
452
|
+
await globalSearchIndex.rebuild();
|
|
453
|
+
}
|
|
452
454
|
// Intelligent category routing: auto-detect if not explicitly provided
|
|
453
455
|
let effectiveCategory = category;
|
|
454
456
|
let routingNote = "";
|
|
@@ -599,15 +601,16 @@ export async function startMcpServer(repoRoot, config) {
|
|
|
599
601
|
// Auto-purge: detect potentially overlapping entries
|
|
600
602
|
let supersededList = [];
|
|
601
603
|
const searchTerms = filename.replace(/-/g, " ");
|
|
602
|
-
const meaningfulWords = searchTerms.split(/\s+/).filter((t) => t.length >
|
|
604
|
+
const meaningfulWords = searchTerms.split(/\s+/).filter((t) => t.length > 1);
|
|
603
605
|
if (!append && targetIndex && content.length >= 100 && meaningfulWords.length >= 2) {
|
|
604
606
|
try {
|
|
605
607
|
const existing = await targetIndex.search(searchTerms, category, 3);
|
|
608
|
+
const maxScore = existing.length > 0 ? Math.max(...existing.map(r => r.score)) : 0;
|
|
606
609
|
supersededList = existing
|
|
607
610
|
.filter((r) => r.category === category &&
|
|
608
611
|
r.filename !== filename + ".md" &&
|
|
609
612
|
r.filename !== filename &&
|
|
610
|
-
r.score >
|
|
613
|
+
r.score > maxScore * 0.3)
|
|
611
614
|
.map((d) => `${d.category}/${d.filename} (score: ${d.score.toFixed(1)})`);
|
|
612
615
|
}
|
|
613
616
|
catch {
|
|
@@ -623,11 +626,22 @@ export async function startMcpServer(repoRoot, config) {
|
|
|
623
626
|
}
|
|
624
627
|
// Incremental index update (not full rebuild)
|
|
625
628
|
if (targetIndex) {
|
|
626
|
-
|
|
627
|
-
const
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
629
|
+
// Construct the entry directly instead of scanning the whole category
|
|
630
|
+
const fullContent = append ? (targetStore.readEntry(category, filename) ?? content) : content;
|
|
631
|
+
const titleMatch = fullContent.match(/^#\s+(.+)$/m);
|
|
632
|
+
const title = titleMatch
|
|
633
|
+
? titleMatch[1]
|
|
634
|
+
: filename.replace(/-/g, " ");
|
|
635
|
+
const entry = {
|
|
636
|
+
category,
|
|
637
|
+
filename: relativePath.split("/").pop() ?? filename + ".md",
|
|
638
|
+
title,
|
|
639
|
+
content: fullContent,
|
|
640
|
+
relativePath,
|
|
641
|
+
lastModified: new Date(),
|
|
642
|
+
sizeBytes: Buffer.byteLength(fullContent, "utf-8"),
|
|
643
|
+
};
|
|
644
|
+
await targetIndex.indexEntry(entry);
|
|
631
645
|
}
|
|
632
646
|
const scopeTag = globalStore ? ` [${targetScope}]` : "";
|
|
633
647
|
let responseText = `\u2713 Written to ${relativePath}${scopeTag}${append ? " (appended)" : ""}.`;
|
|
@@ -649,7 +663,6 @@ export async function startMcpServer(repoRoot, config) {
|
|
|
649
663
|
}
|
|
650
664
|
case "context_delete": {
|
|
651
665
|
const { category, filename, scope: explicitScope } = args;
|
|
652
|
-
session.entriesDeleted.push(`${category}/${filename}`);
|
|
653
666
|
if (!VALID_CATEGORIES.includes(category)) {
|
|
654
667
|
return {
|
|
655
668
|
content: [{
|
|
@@ -659,17 +672,22 @@ export async function startMcpServer(repoRoot, config) {
|
|
|
659
672
|
isError: true,
|
|
660
673
|
};
|
|
661
674
|
}
|
|
675
|
+
session.entriesDeleted.push(`${category}/${filename}`);
|
|
662
676
|
const fname = filename.endsWith(".md") ? filename : filename + ".md";
|
|
663
|
-
|
|
677
|
+
const defaultScope = resolveScope(category, explicitScope);
|
|
678
|
+
// Try the default scope first (matches context_write routing)
|
|
664
679
|
let deleted = false;
|
|
665
|
-
let deleteScope =
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
680
|
+
let deleteScope = defaultScope;
|
|
681
|
+
const primaryStore = getStore(defaultScope);
|
|
682
|
+
deleted = primaryStore.deleteEntry(category, fname);
|
|
683
|
+
// Fall back to the other scope if not found and no explicit scope
|
|
684
|
+
if (!deleted && !explicitScope) {
|
|
685
|
+
const fallbackScope = defaultScope === "repo" ? "global" : "repo";
|
|
686
|
+
const fallbackStore = fallbackScope === "global" ? globalStore : store;
|
|
687
|
+
if (fallbackStore) {
|
|
688
|
+
deleted = fallbackStore.deleteEntry(category, fname);
|
|
689
|
+
deleteScope = fallbackScope;
|
|
690
|
+
}
|
|
673
691
|
}
|
|
674
692
|
if (!deleted) {
|
|
675
693
|
return {
|
|
@@ -762,11 +780,11 @@ export async function startMcpServer(repoRoot, config) {
|
|
|
762
780
|
}
|
|
763
781
|
case "context_read": {
|
|
764
782
|
const { category, filename, scope: explicitScope } = args;
|
|
765
|
-
if (category
|
|
783
|
+
if (!category || !VALID_CATEGORIES.includes(category)) {
|
|
766
784
|
return {
|
|
767
785
|
content: [{
|
|
768
786
|
type: "text",
|
|
769
|
-
text: `Invalid category: ${category}. Valid categories: ${VALID_CATEGORIES.join(", ")}`,
|
|
787
|
+
text: `Invalid category: ${category || "(empty)"}. Valid categories: ${VALID_CATEGORIES.join(", ")}`,
|
|
770
788
|
}],
|
|
771
789
|
isError: true,
|
|
772
790
|
};
|
|
@@ -875,13 +893,30 @@ export async function startMcpServer(repoRoot, config) {
|
|
|
875
893
|
parts.push(`- ${e.category}/${e.filename}: ${e.title} (${getRelativeTime(e.lastModified)})`);
|
|
876
894
|
}
|
|
877
895
|
}
|
|
878
|
-
// 5.
|
|
896
|
+
// 5. Stale entries warning (untouched for 30+ days)
|
|
897
|
+
const thirtyDaysAgo = Date.now() - 30 * 24 * 60 * 60 * 1000;
|
|
898
|
+
const staleEntries = allEntries
|
|
899
|
+
.filter((e) => e.category !== "sessions" &&
|
|
900
|
+
e.category !== "changelog" &&
|
|
901
|
+
e.category !== "root" &&
|
|
902
|
+
e.lastModified.getTime() < thirtyDaysAgo)
|
|
903
|
+
.sort((a, b) => a.lastModified.getTime() - b.lastModified.getTime())
|
|
904
|
+
.slice(0, 10);
|
|
905
|
+
if (staleEntries.length > 0) {
|
|
906
|
+
parts.push("\n# Potentially Stale Entries\n");
|
|
907
|
+
parts.push("> These entries haven't been updated in 30+ days. They may still be accurate — verify before relying on them.\n");
|
|
908
|
+
for (const e of staleEntries) {
|
|
909
|
+
parts.push(`- ${e.category}/${e.filename}: ${e.title} (${getRelativeTime(e.lastModified)})`);
|
|
910
|
+
}
|
|
911
|
+
}
|
|
912
|
+
// 6. Empty state warning
|
|
879
913
|
const stats = store.getStats();
|
|
880
914
|
if (stats.totalFiles === 0 || (stats.categories["facts"] || 0) === 0) {
|
|
881
915
|
parts.push("\n> **Note**: Context is mostly empty. Ask the user to run `npx repomemory analyze` to populate with architecture knowledge.");
|
|
882
916
|
}
|
|
883
917
|
}
|
|
884
|
-
|
|
918
|
+
session.readCallCount++;
|
|
919
|
+
return { content: [{ type: "text", text: parts.join("\n") + getWriteNudge() }] };
|
|
885
920
|
}
|
|
886
921
|
default:
|
|
887
922
|
return {
|
|
@@ -895,22 +930,35 @@ export async function startMcpServer(repoRoot, config) {
|
|
|
895
930
|
});
|
|
896
931
|
// --- Resources ---
|
|
897
932
|
server.setRequestHandler(ListResourcesRequestSchema, async () => {
|
|
898
|
-
|
|
899
|
-
|
|
933
|
+
const resources = [];
|
|
934
|
+
if (store.exists()) {
|
|
935
|
+
for (const entry of store.listEntries()) {
|
|
936
|
+
resources.push({
|
|
937
|
+
uri: `repomemory://${entry.category}/${entry.filename}`,
|
|
938
|
+
name: `${entry.category}/${entry.filename}`,
|
|
939
|
+
description: entry.title,
|
|
940
|
+
mimeType: "text/markdown",
|
|
941
|
+
});
|
|
942
|
+
}
|
|
900
943
|
}
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
944
|
+
if (globalStore?.exists()) {
|
|
945
|
+
for (const entry of globalStore.listEntries()) {
|
|
946
|
+
resources.push({
|
|
947
|
+
uri: `repomemory-global://${entry.category}/${entry.filename}`,
|
|
948
|
+
name: `[global] ${entry.category}/${entry.filename}`,
|
|
949
|
+
description: entry.title,
|
|
950
|
+
mimeType: "text/markdown",
|
|
951
|
+
});
|
|
952
|
+
}
|
|
953
|
+
}
|
|
954
|
+
return { resources };
|
|
910
955
|
});
|
|
911
956
|
server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
|
|
912
957
|
const uri = request.params.uri;
|
|
913
|
-
const
|
|
958
|
+
const repoMatch = uri.match(/^repomemory:\/\/([^/]+)\/(.+)$/);
|
|
959
|
+
const globalMatch = uri.match(/^repomemory-global:\/\/([^/]+)\/(.+)$/);
|
|
960
|
+
const match = repoMatch || globalMatch;
|
|
961
|
+
const isGlobal = !!globalMatch;
|
|
914
962
|
if (!match) {
|
|
915
963
|
throw new Error(`Invalid URI: ${uri}`);
|
|
916
964
|
}
|
|
@@ -919,7 +967,8 @@ export async function startMcpServer(repoRoot, config) {
|
|
|
919
967
|
if (!VALID_CATEGORIES.includes(category)) {
|
|
920
968
|
throw new Error(`Invalid category in URI: ${category}`);
|
|
921
969
|
}
|
|
922
|
-
const
|
|
970
|
+
const targetStore = isGlobal && globalStore ? globalStore : store;
|
|
971
|
+
const content = targetStore.readEntry(category, filename);
|
|
923
972
|
if (!content) {
|
|
924
973
|
throw new Error(`Resource not found: ${uri}`);
|
|
925
974
|
}
|
|
@@ -939,7 +988,7 @@ export async function startMcpServer(repoRoot, config) {
|
|
|
939
988
|
cleanupDone = true;
|
|
940
989
|
// Auto-write session summary if there was meaningful activity
|
|
941
990
|
const duration = Math.round((Date.now() - session.startTime.getTime()) / 1000);
|
|
942
|
-
const hasActivity = session.toolCalls.length > 2;
|
|
991
|
+
const hasActivity = session.writeCallMade || session.toolCalls.length > 2;
|
|
943
992
|
if (hasActivity && store.exists()) {
|
|
944
993
|
try {
|
|
945
994
|
const date = new Date().toISOString().split("T")[0];
|
|
@@ -962,6 +1011,7 @@ export async function startMcpServer(repoRoot, config) {
|
|
|
962
1011
|
};
|
|
963
1012
|
process.on("SIGTERM", cleanup);
|
|
964
1013
|
process.on("SIGINT", cleanup);
|
|
1014
|
+
process.stdin.on("end", cleanup);
|
|
965
1015
|
const transport = new StdioServerTransport();
|
|
966
1016
|
await server.connect(transport);
|
|
967
1017
|
}
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "repomemory",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "Your codebase never forgets. Persistent, structured memory for AI coding agents.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"repomemory": "dist/index.js"
|
|
8
8
|
},
|
|
9
9
|
"exports": {
|
|
10
|
-
".":
|
|
11
|
-
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"default": "./dist/index.js"
|
|
13
|
+
},
|
|
14
|
+
"./mcp": {
|
|
15
|
+
"types": "./dist/mcp/server.d.ts",
|
|
16
|
+
"default": "./dist/mcp/server.js"
|
|
17
|
+
}
|
|
12
18
|
},
|
|
13
19
|
"scripts": {
|
|
14
20
|
"build": "node scripts/build.js",
|
|
@@ -48,6 +54,7 @@
|
|
|
48
54
|
"ai-memory",
|
|
49
55
|
"codebase-context"
|
|
50
56
|
],
|
|
57
|
+
"mcpName": "io.github.DanielGuru/repomemory",
|
|
51
58
|
"author": "DanielGuru",
|
|
52
59
|
"license": "MIT",
|
|
53
60
|
"dependencies": {
|
|
@@ -75,7 +82,6 @@
|
|
|
75
82
|
"dist",
|
|
76
83
|
"README.md",
|
|
77
84
|
"LICENSE",
|
|
78
|
-
".claude-plugin",
|
|
79
85
|
".mcp.json",
|
|
80
86
|
"skills",
|
|
81
87
|
"server.json"
|
package/server.json
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
"$schema": "https://registry.modelcontextprotocol.io/schema/server.json",
|
|
3
3
|
"name": "io.github.DanielGuru/repomemory",
|
|
4
4
|
"description": "Persistent, structured memory for AI coding agents. Hybrid keyword + semantic search, auto-session capture, intelligent category routing. Your codebase never forgets.",
|
|
5
|
-
"version": "1.
|
|
5
|
+
"version": "1.3.0",
|
|
6
6
|
"packages": [
|
|
7
7
|
{
|
|
8
8
|
"registry": "npm",
|
|
9
9
|
"name": "repomemory",
|
|
10
|
-
"version": "1.
|
|
10
|
+
"version": "1.3.0",
|
|
11
11
|
"runtime": "node",
|
|
12
12
|
"args": ["dist/index.js", "serve"]
|
|
13
13
|
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "repomemory",
|
|
3
|
-
"version": "1.1.0",
|
|
4
|
-
"description": "Persistent, structured memory for AI coding agents. Your codebase never forgets. Hybrid keyword + semantic search, auto-session capture, intelligent category routing.",
|
|
5
|
-
"author": "DanielGuru",
|
|
6
|
-
"homepage": "https://github.com/DanielGuru/repomemory",
|
|
7
|
-
"license": "MIT"
|
|
8
|
-
}
|