@vheins/local-memory-mcp 0.1.33 → 0.1.34
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 +21 -128
- package/dist/dashboard/dashboard.test.js +1 -1
- package/dist/dashboard/dashboard.test.js.map +1 -1
- package/dist/dashboard/public/app.js +39 -8
- package/dist/dashboard/public/index.html +50 -25
- package/dist/dashboard/server.js +46 -1
- package/dist/dashboard/server.js.map +1 -1
- package/dist/e2e.test.d.ts +2 -0
- package/dist/e2e.test.d.ts.map +1 -0
- package/dist/e2e.test.js +230 -0
- package/dist/e2e.test.js.map +1 -0
- package/dist/prompts/registry.d.ts.map +1 -1
- package/dist/prompts/registry.js +41 -29
- package/dist/prompts/registry.js.map +1 -1
- package/dist/resources/index.d.ts +1 -1
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/index.js +55 -28
- package/dist/resources/index.js.map +1 -1
- package/dist/resources/index.test.js +4 -0
- package/dist/resources/index.test.js.map +1 -1
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +3 -0
- package/dist/router.js.map +1 -1
- package/dist/router.test.js +5 -2
- package/dist/router.test.js.map +1 -1
- package/dist/server.js +32 -2
- package/dist/server.js.map +1 -1
- package/dist/storage/sqlite.d.ts +27 -83
- package/dist/storage/sqlite.d.ts.map +1 -1
- package/dist/storage/sqlite.js +280 -351
- package/dist/storage/sqlite.js.map +1 -1
- package/dist/storage/sqlite.test.js +6 -2
- package/dist/storage/sqlite.test.js.map +1 -1
- package/dist/storage/vectors.d.ts +14 -0
- package/dist/storage/vectors.d.ts.map +1 -0
- package/dist/storage/vectors.js +69 -0
- package/dist/storage/vectors.js.map +1 -0
- package/dist/tools/memory.acknowledge.d.ts +4 -0
- package/dist/tools/memory.acknowledge.d.ts.map +1 -0
- package/dist/tools/memory.acknowledge.js +32 -0
- package/dist/tools/memory.acknowledge.js.map +1 -0
- package/dist/tools/memory.search.d.ts.map +1 -1
- package/dist/tools/memory.search.js +86 -159
- package/dist/tools/memory.search.js.map +1 -1
- package/dist/tools/memory.store.d.ts.map +1 -1
- package/dist/tools/memory.store.js +34 -0
- package/dist/tools/memory.store.js.map +1 -1
- package/dist/tools/memory.update.d.ts.map +1 -1
- package/dist/tools/memory.update.js +11 -6
- package/dist/tools/memory.update.js.map +1 -1
- package/dist/tools/schemas.d.ts +168 -14
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/schemas.js +77 -103
- package/dist/tools/schemas.js.map +1 -1
- package/dist/types.d.ts +5 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/mcp-response.d.ts +2 -0
- package/dist/utils/mcp-response.d.ts.map +1 -1
- package/dist/utils/mcp-response.js +4 -1
- package/dist/utils/mcp-response.js.map +1 -1
- package/dist/utils/normalize.js +2 -2
- package/dist/utils/normalize.js.map +1 -1
- package/dist/utils/query-expander.d.ts.map +1 -1
- package/dist/utils/query-expander.js +24 -45
- package/dist/utils/query-expander.js.map +1 -1
- package/dist/utils/query-expander.test.js +10 -12
- package/dist/utils/query-expander.test.js.map +1 -1
- package/dist/v2-features.test.d.ts +2 -0
- package/dist/v2-features.test.d.ts.map +1 -0
- package/dist/v2-features.test.js +106 -0
- package/dist/v2-features.test.js.map +1 -0
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/dashboard/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/dashboard/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"e2e.test.d.ts","sourceRoot":"","sources":["../src/e2e.test.ts"],"names":[],"mappings":""}
|
package/dist/e2e.test.js
ADDED
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import { describe, it, expect, beforeEach, vi } from "vitest";
|
|
2
|
+
import { createRouter } from "./router.js";
|
|
3
|
+
import { SQLiteStore } from "./storage/sqlite.js";
|
|
4
|
+
import { RealVectorStore } from "./storage/vectors.js";
|
|
5
|
+
// Global configuration for heavy AI tests
|
|
6
|
+
vi.setConfig({ testTimeout: 90000 });
|
|
7
|
+
describe("MCP Local Memory - High-Complexity E2E Scenarios", () => {
|
|
8
|
+
let db;
|
|
9
|
+
let vectors;
|
|
10
|
+
let router;
|
|
11
|
+
const REPO = "enterprise-app-v2";
|
|
12
|
+
beforeEach(() => {
|
|
13
|
+
db = new SQLiteStore(":memory:");
|
|
14
|
+
vectors = new RealVectorStore(db);
|
|
15
|
+
router = createRouter(db, vectors);
|
|
16
|
+
});
|
|
17
|
+
/**
|
|
18
|
+
* SCENARIO 1: Semantic Precision & Ranking
|
|
19
|
+
* Test if the system can distinguish between closely related topics.
|
|
20
|
+
*/
|
|
21
|
+
it("should maintain high precision ranking among related but distinct technical concepts", async () => {
|
|
22
|
+
const memories = [
|
|
23
|
+
{ title: "Primary Database", content: "We use SQLite for local persistence to ensure local-first capability." },
|
|
24
|
+
{ title: "Cache Layer", content: "Redis is used for session management and fast lookups." },
|
|
25
|
+
{ title: "Database Migration", content: "Run 'npm run migrate' to update the SQLite schema safely." },
|
|
26
|
+
{ title: "Backup Policy", content: "Hourly snapshots of the .db file are stored in the backups folder." },
|
|
27
|
+
{ title: "External API Integration", content: "The system connects to Postgres only for reporting services." }
|
|
28
|
+
];
|
|
29
|
+
for (const m of memories) {
|
|
30
|
+
await router("tools/call", {
|
|
31
|
+
name: "memory-store",
|
|
32
|
+
arguments: {
|
|
33
|
+
type: "decision",
|
|
34
|
+
title: m.title,
|
|
35
|
+
content: m.content,
|
|
36
|
+
importance: 4,
|
|
37
|
+
scope: { repo: REPO }
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
// QUERY: "How do I update the database?"
|
|
42
|
+
// EXPECT: "Database Migration" should be Top Match, not "Primary Database"
|
|
43
|
+
const searchRes = await router("tools/call", {
|
|
44
|
+
name: "memory-search",
|
|
45
|
+
arguments: { query: "How do I update the database schema?", repo: REPO }
|
|
46
|
+
});
|
|
47
|
+
const textOutput = searchRes.content[0].text;
|
|
48
|
+
expect(textOutput).toContain("Database Migration");
|
|
49
|
+
// Validate JSON ordering
|
|
50
|
+
const results = searchRes.data.results;
|
|
51
|
+
expect(results[0].title).toBe("Database Migration");
|
|
52
|
+
expect(results.length).toBeGreaterThan(1); // Should find related db facts too but lower
|
|
53
|
+
});
|
|
54
|
+
/**
|
|
55
|
+
* SCENARIO 2: The Correction & Learning Loop
|
|
56
|
+
* Agent makes a mistake -> Stores it -> Learns -> Replaces it with a pattern.
|
|
57
|
+
*/
|
|
58
|
+
it("should guide the agent away from past mistakes using supersedes and status", async () => {
|
|
59
|
+
// 1. Store a mistake
|
|
60
|
+
const mistakeRes = await router("tools/call", {
|
|
61
|
+
name: "memory-store",
|
|
62
|
+
arguments: {
|
|
63
|
+
type: "mistake",
|
|
64
|
+
title: "Large File Upload Failure",
|
|
65
|
+
content: "Don't use fs.readFileSync for large files, it causes OOM errors.",
|
|
66
|
+
importance: 5,
|
|
67
|
+
scope: { repo: REPO }
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
const mistakeId = mistakeRes.data.id;
|
|
71
|
+
// 2. Store the correct pattern that replaces the mistake
|
|
72
|
+
await router("tools/call", {
|
|
73
|
+
name: "memory-store",
|
|
74
|
+
arguments: {
|
|
75
|
+
type: "pattern",
|
|
76
|
+
title: "Streaming File Upload",
|
|
77
|
+
content: "Always use streams (fs.createReadStream) for files > 10MB.",
|
|
78
|
+
importance: 5,
|
|
79
|
+
scope: { repo: REPO },
|
|
80
|
+
supersedes: mistakeId
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
// 3. Search for "file upload"
|
|
84
|
+
const searchRes = await router("tools/call", {
|
|
85
|
+
name: "memory-search",
|
|
86
|
+
arguments: { query: "How to handle file uploads?", repo: REPO }
|
|
87
|
+
});
|
|
88
|
+
// EXPECT: Mistake is archived and NOT in search results by default
|
|
89
|
+
expect(searchRes.content[0].text).toContain("Streaming File Upload");
|
|
90
|
+
expect(searchRes.content[0].text).not.toContain("Large File Upload Failure");
|
|
91
|
+
const results = searchRes.data.results;
|
|
92
|
+
expect(results.some((r) => r.id === mistakeId)).toBe(false);
|
|
93
|
+
// 4. Audit: Verify we can still find the mistake if we EXPLICITLY ask for archived
|
|
94
|
+
const auditRes = await router("tools/call", {
|
|
95
|
+
name: "memory-search",
|
|
96
|
+
arguments: { query: "file upload", repo: REPO, include_archived: true }
|
|
97
|
+
});
|
|
98
|
+
expect(auditRes.data.results.some((r) => r.id === mistakeId)).toBe(true);
|
|
99
|
+
});
|
|
100
|
+
/**
|
|
101
|
+
* SCENARIO 3: Workspace-Aware Context Nuance
|
|
102
|
+
* Boost based on folder depth and language extensions.
|
|
103
|
+
*/
|
|
104
|
+
it("should provide relevant boost when working in deep subdirectories", async () => {
|
|
105
|
+
// Memory A: Global
|
|
106
|
+
await router("tools/call", {
|
|
107
|
+
name: "memory-store",
|
|
108
|
+
arguments: {
|
|
109
|
+
type: "code_fact",
|
|
110
|
+
title: "Global Logging",
|
|
111
|
+
content: "Use logger.info for all modules.",
|
|
112
|
+
importance: 2,
|
|
113
|
+
scope: { repo: REPO }
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
// Memory B: Auth Specific
|
|
117
|
+
await router("tools/call", {
|
|
118
|
+
name: "memory-store",
|
|
119
|
+
arguments: {
|
|
120
|
+
type: "code_fact",
|
|
121
|
+
title: "Auth Security Audit",
|
|
122
|
+
content: "Auth module requires PII masking in logs.",
|
|
123
|
+
importance: 5,
|
|
124
|
+
scope: { repo: REPO, folder: "src/auth" }
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
// Working in a deep auth file
|
|
128
|
+
const searchRes = await router("tools/call", {
|
|
129
|
+
name: "memory-search",
|
|
130
|
+
arguments: {
|
|
131
|
+
query: "How to log data?",
|
|
132
|
+
repo: REPO,
|
|
133
|
+
current_file_path: "src/auth/services/ldap/provider.ts"
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
// EXPECT: Auth Specific memory should be the Top Match despite the query being generic "log"
|
|
137
|
+
expect(searchRes.content[0].text).toContain("Auth Security Audit");
|
|
138
|
+
});
|
|
139
|
+
/**
|
|
140
|
+
* SCENARIO 4: Bulk Operations & Pagination Integrity
|
|
141
|
+
*/
|
|
142
|
+
it("should handle large volumes of memories and maintain pagination integrity", async () => {
|
|
143
|
+
// Store 15 memories about different microservices
|
|
144
|
+
for (let i = 1; i <= 15; i++) {
|
|
145
|
+
await router("tools/call", {
|
|
146
|
+
name: "memory-store",
|
|
147
|
+
arguments: {
|
|
148
|
+
type: "code_fact",
|
|
149
|
+
title: `Service ${i} Specs`,
|
|
150
|
+
content: `Documentation for microservice number ${i} in our mesh network.`,
|
|
151
|
+
importance: 3,
|
|
152
|
+
scope: { repo: "cloud-infra" }
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
// Call memory-recap (which uses pagination)
|
|
157
|
+
const recapRes = await router("tools/call", {
|
|
158
|
+
name: "memory-recap",
|
|
159
|
+
arguments: { repo: "cloud-infra", limit: 5, offset: 0 }
|
|
160
|
+
});
|
|
161
|
+
// Based on memory-recap implementation
|
|
162
|
+
expect(recapRes.content[0].text).toContain("cloud-infra");
|
|
163
|
+
// Check Resource Pagination via URI
|
|
164
|
+
const resourceRes = await router("resources/read", {
|
|
165
|
+
uri: "memory://index?repo=cloud-infra"
|
|
166
|
+
});
|
|
167
|
+
const entries = JSON.parse(resourceRes.contents[0].text);
|
|
168
|
+
expect(entries.length).toBeLessThanOrEqual(20); // Default limit in resource.read is 20
|
|
169
|
+
});
|
|
170
|
+
/**
|
|
171
|
+
* SCENARIO 5: Semantic Conflict Denial (Deep Overlap)
|
|
172
|
+
*/
|
|
173
|
+
it("should strictly deny near-duplicate decisions to prevent prompt bloat", async () => {
|
|
174
|
+
const originalContent = "We use TailwindCSS for styling all components.";
|
|
175
|
+
await router("tools/call", {
|
|
176
|
+
name: "memory-store",
|
|
177
|
+
arguments: {
|
|
178
|
+
type: "decision",
|
|
179
|
+
title: "Styling Standard",
|
|
180
|
+
content: originalContent,
|
|
181
|
+
importance: 3,
|
|
182
|
+
scope: { repo: REPO }
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
// Try to store almost the same thing with a different title
|
|
186
|
+
const duplicateRes = await router("tools/call", {
|
|
187
|
+
name: "memory-store",
|
|
188
|
+
arguments: {
|
|
189
|
+
type: "decision",
|
|
190
|
+
title: "CSS Rule",
|
|
191
|
+
content: "Use Tailwind CSS for styling our UI components.", // Subtly different but semantically identical
|
|
192
|
+
importance: 3,
|
|
193
|
+
scope: { repo: REPO }
|
|
194
|
+
}
|
|
195
|
+
});
|
|
196
|
+
expect(duplicateRes.content[0].text).toContain("conflict");
|
|
197
|
+
expect(db.getTotalCount(REPO)).toBe(1); // Should still be 1
|
|
198
|
+
});
|
|
199
|
+
/**
|
|
200
|
+
* SCENARIO 6: Cross-Project Knowledge Sharing (Tech-Stack Affinity)
|
|
201
|
+
* Repository A has Filament knowledge. Repository B (new) should access it via tags.
|
|
202
|
+
*/
|
|
203
|
+
it("should share knowledge across projects using tech-stack affinity tags", async () => {
|
|
204
|
+
// 1. Store Filament best practice in Repo A
|
|
205
|
+
await router("tools/call", {
|
|
206
|
+
name: "memory-store",
|
|
207
|
+
arguments: {
|
|
208
|
+
type: "pattern",
|
|
209
|
+
title: "Filament Custom Action",
|
|
210
|
+
content: "Always use ->requiresConfirmation() for destructive actions in Filament.",
|
|
211
|
+
importance: 5,
|
|
212
|
+
scope: { repo: "project-a" },
|
|
213
|
+
tags: ["filament", "laravel"]
|
|
214
|
+
}
|
|
215
|
+
});
|
|
216
|
+
// 2. Search in Repo B (which is empty) with "filament" tag
|
|
217
|
+
const searchRes = await router("tools/call", {
|
|
218
|
+
name: "memory-search",
|
|
219
|
+
arguments: {
|
|
220
|
+
query: "how to make safe actions?",
|
|
221
|
+
repo: "project-b",
|
|
222
|
+
current_tags: ["filament"]
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
// EXPECT: Should find the "Filament Custom Action" from Project A
|
|
226
|
+
expect(searchRes.content[0].text).toContain("Filament Custom Action");
|
|
227
|
+
expect(searchRes.data.results[0].scope.repo).toBe("project-a");
|
|
228
|
+
});
|
|
229
|
+
});
|
|
230
|
+
//# sourceMappingURL=e2e.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"e2e.test.js","sourceRoot":"","sources":["../src/e2e.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/prompts/registry.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/prompts/registry.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoGnB,CAAC"}
|
package/dist/prompts/registry.js
CHANGED
|
@@ -13,35 +13,34 @@ export const PROMPTS = {
|
|
|
13
13
|
Your primary goal is to help write correct, maintainable, and consistent code.
|
|
14
14
|
|
|
15
15
|
You are memory-aware:
|
|
16
|
-
- Stored memory represents durable project knowledge
|
|
17
|
-
- Memory is a source of truth, not a suggestion
|
|
18
|
-
- You must respect stored decisions and constraints
|
|
16
|
+
- Stored memory represents durable project knowledge.
|
|
17
|
+
- Memory is a source of truth, not a suggestion.
|
|
18
|
+
- You must respect stored decisions and constraints.
|
|
19
19
|
|
|
20
20
|
Core Behavioral Rules:
|
|
21
|
-
1. Never contradict stored decisions
|
|
22
|
-
2. Never repeat known mistakes
|
|
23
|
-
3. Never
|
|
24
|
-
4.
|
|
25
|
-
5.
|
|
21
|
+
1. Never contradict stored decisions without explicitly using 'memory-update' or 'supersedes'.
|
|
22
|
+
2. Never repeat known mistakes documented in memory.
|
|
23
|
+
3. Never use memory from another repository UNLESS it shares the same technology tags (Affinity) or is marked as Global.
|
|
24
|
+
4. If memory conflicts with the user's new request, detect the conflict and ask for clarification or propose a 'supersedes' update.
|
|
25
|
+
5. After using a memory to generate code, you MUST call 'memory-acknowledge' to report its utility.
|
|
26
26
|
|
|
27
27
|
Memory Usage Policy:
|
|
28
28
|
Before generating code:
|
|
29
|
-
1.
|
|
30
|
-
2.
|
|
31
|
-
3. Use memory ONLY if clearly relevant
|
|
32
|
-
4. Prefer fewer, stronger memories over many weak ones
|
|
29
|
+
1. Search memory using 'current_file_path' and 'current_tags' (e.g., ['filament', 'react']) for maximum relevance.
|
|
30
|
+
2. Evaluate results based on 'type' (decision, pattern, mistake).
|
|
31
|
+
3. Use memory ONLY if clearly relevant. Prefer fewer, stronger memories over many weak ones.
|
|
33
32
|
|
|
34
33
|
Auto-Memory Creation Policy:
|
|
35
34
|
You MAY store memory ONLY if:
|
|
36
|
-
- The information affects future behavior
|
|
37
|
-
- The
|
|
38
|
-
-
|
|
35
|
+
- The information affects future behavior.
|
|
36
|
+
- The knowledge is durable (e.g., architecture, styling rules, bug fixes).
|
|
37
|
+
- You use 'tags' to categorize by technology (e.g., ['nestjs', 'typescript']).
|
|
39
38
|
|
|
40
39
|
Before storing memory:
|
|
41
|
-
-
|
|
42
|
-
-
|
|
40
|
+
- If this replaces an old rule, find the old memory ID and use 'supersedes'.
|
|
41
|
+
- Explain briefly why it should be stored.
|
|
43
42
|
|
|
44
|
-
Behave like a trusted senior engineer who remembers past decisions and protects the long-term health of the codebase.`
|
|
43
|
+
Behave like a trusted senior engineer who remembers past decisions and protects the long-term health of the codebase across all user projects.`
|
|
45
44
|
}
|
|
46
45
|
}
|
|
47
46
|
]
|
|
@@ -56,32 +55,45 @@ Behave like a trusted senior engineer who remembers past decisions and protects
|
|
|
56
55
|
content: {
|
|
57
56
|
type: "text",
|
|
58
57
|
text: `Do not store:
|
|
59
|
-
- Temporary discussions
|
|
60
|
-
-
|
|
61
|
-
-
|
|
58
|
+
- Temporary discussions or brainstorming.
|
|
59
|
+
- Subjective opinions without consensus.
|
|
60
|
+
- Generic coding knowledge available in public docs.
|
|
62
61
|
|
|
63
|
-
Only store
|
|
62
|
+
Only store:
|
|
63
|
+
- Specific project decisions (Architecture, UI/UX).
|
|
64
|
+
- Learned patterns for this specific tech-stack.
|
|
65
|
+
- Hard-won bug fixes (Mistakes to avoid).
|
|
64
66
|
|
|
65
|
-
Memory is a
|
|
67
|
+
Memory is a permanent record, categorize it properly with tags.`
|
|
66
68
|
}
|
|
67
69
|
}
|
|
68
70
|
]
|
|
69
71
|
},
|
|
70
72
|
"tool-usage-guidelines": {
|
|
71
73
|
name: "tool-usage-guidelines",
|
|
72
|
-
description: "Prevent tool abuse",
|
|
74
|
+
description: "Prevent tool abuse and ensure data integrity",
|
|
73
75
|
arguments: [],
|
|
74
76
|
messages: [
|
|
75
77
|
{
|
|
76
78
|
role: "user",
|
|
77
79
|
content: {
|
|
78
80
|
type: "text",
|
|
79
|
-
text: `
|
|
80
|
-
- The information affects future behavior
|
|
81
|
-
- The scope (repo) is clear
|
|
82
|
-
- The memory will still matter later
|
|
81
|
+
text: `Guidelines for specific tools:
|
|
83
82
|
|
|
84
|
-
|
|
83
|
+
1. memory-store:
|
|
84
|
+
- Always include 'tags' for tech-stack identification.
|
|
85
|
+
- Use 'is_global: true' only for universal preferences (e.g., "Always use tabs").
|
|
86
|
+
- Use 'supersedes' when overriding a previous decision.
|
|
87
|
+
|
|
88
|
+
2. memory-search:
|
|
89
|
+
- Always provide 'current_file_path' for folder-based ranking boost.
|
|
90
|
+
- Provide 'current_tags' to pull relevant best-practices from other projects.
|
|
91
|
+
|
|
92
|
+
3. memory-acknowledge:
|
|
93
|
+
- Mandatory feedback loop. Report 'used' if the memory helped, or 'contradictory' if you found an issue.
|
|
94
|
+
|
|
95
|
+
4. memory-update:
|
|
96
|
+
- Use this to keep facts current. Do not create duplicates.`
|
|
85
97
|
}
|
|
86
98
|
}
|
|
87
99
|
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/prompts/registry.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,mBAAmB,EAAE;QACnB,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,kDAAkD;QAC/D,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/prompts/registry.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,mBAAmB,EAAE;QACnB,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,kDAAkD;QAC/D,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+IAgC+H;iBACtI;aACF;SACF;KACF;IACD,qBAAqB,EAAE;QACrB,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,kCAAkC;QAC/C,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;;;;;;;;;;gEAUgD;iBACvD;aACF;SACF;KACF;IACD,uBAAuB,EAAE;QACvB,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,8CAA8C;QAC3D,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;;;;;;;;;;;;;;;+DAe+C;iBACtD;aACF;SACF;KACF;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD,wBAAgB,aAAa;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD,wBAAgB,aAAa;;;;;;;EAmC5B;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW;;;;;;EAyGxD"}
|
package/dist/resources/index.js
CHANGED
|
@@ -4,26 +4,32 @@ export function listResources() {
|
|
|
4
4
|
resources: [
|
|
5
5
|
{
|
|
6
6
|
uri: "memory://index",
|
|
7
|
-
name: "Memory Index",
|
|
8
|
-
description: "
|
|
7
|
+
name: "Active Memory Index",
|
|
8
|
+
description: "List of all active memory entries across projects",
|
|
9
|
+
mimeType: "application/json"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
uri: "memory://index?repo={repo}",
|
|
13
|
+
name: "Project Memory Index",
|
|
14
|
+
description: "Metadata for all active memories in a specific project",
|
|
15
|
+
mimeType: "application/json"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
uri: "memory://tags/{tag}",
|
|
19
|
+
name: "Memories by Tech Stack",
|
|
20
|
+
description: "Retrieve best practices and decisions by technology tag (e.g., filament, react)",
|
|
9
21
|
mimeType: "application/json"
|
|
10
22
|
},
|
|
11
23
|
{
|
|
12
24
|
uri: "memory://summary/{repo}",
|
|
13
25
|
name: "Project Summary",
|
|
14
|
-
description: "
|
|
26
|
+
description: "High-level summary of architectural decisions for a repository",
|
|
15
27
|
mimeType: "text/plain"
|
|
16
28
|
},
|
|
17
29
|
{
|
|
18
30
|
uri: "memory://{id}",
|
|
19
|
-
name: "Memory
|
|
20
|
-
description: "
|
|
21
|
-
mimeType: "application/json"
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
uri: "memory://{base64_query}",
|
|
25
|
-
name: "Search Memories",
|
|
26
|
-
description: "Search memories by query (base64 encoded)",
|
|
31
|
+
name: "Memory Detail",
|
|
32
|
+
description: "Full content and statistics for a specific memory UUID",
|
|
27
33
|
mimeType: "application/json"
|
|
28
34
|
}
|
|
29
35
|
]
|
|
@@ -31,12 +37,14 @@ export function listResources() {
|
|
|
31
37
|
}
|
|
32
38
|
export function readResource(uri, db) {
|
|
33
39
|
logger.info("[MCP] resource.read", { uri });
|
|
40
|
+
// 1. Index Resource (Repo specific or Global)
|
|
34
41
|
if (uri === "memory://index" || uri.startsWith("memory://index?")) {
|
|
35
42
|
const parsed = new URL(uri.replace("memory://", "http://memory/"));
|
|
36
43
|
const repo = parsed.searchParams.get("repo");
|
|
44
|
+
const includeArchived = parsed.searchParams.get("archived") === "true";
|
|
37
45
|
const entries = repo
|
|
38
|
-
? db.searchByRepo(repo, { limit:
|
|
39
|
-
: db.listRecent(
|
|
46
|
+
? db.searchByRepo(repo, { limit: 50, includeArchived })
|
|
47
|
+
: db.listRecent(50); // Fallback to global recent
|
|
40
48
|
return {
|
|
41
49
|
contents: [
|
|
42
50
|
{
|
|
@@ -47,6 +55,26 @@ export function readResource(uri, db) {
|
|
|
47
55
|
]
|
|
48
56
|
};
|
|
49
57
|
}
|
|
58
|
+
// 2. Tag Affinity Resource: memory://tags/{tag}
|
|
59
|
+
if (uri.startsWith("memory://tags/")) {
|
|
60
|
+
const tag = uri.replace("memory://tags/", "");
|
|
61
|
+
// Search across all repos for this specific technology tag
|
|
62
|
+
const entries = db.searchByRepo("", {
|
|
63
|
+
tags: [tag],
|
|
64
|
+
limit: 50,
|
|
65
|
+
includeArchived: false
|
|
66
|
+
});
|
|
67
|
+
return {
|
|
68
|
+
contents: [
|
|
69
|
+
{
|
|
70
|
+
uri,
|
|
71
|
+
mimeType: "application/json",
|
|
72
|
+
text: JSON.stringify({ tag, count: entries.length, entries }, null, 2)
|
|
73
|
+
}
|
|
74
|
+
]
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
// 3. Project Summary: memory://summary/{repo}
|
|
50
78
|
if (uri.startsWith("memory://summary/")) {
|
|
51
79
|
const repo = uri.replace("memory://summary/", "");
|
|
52
80
|
const summary = db.getSummary(repo);
|
|
@@ -55,44 +83,43 @@ export function readResource(uri, db) {
|
|
|
55
83
|
{
|
|
56
84
|
uri,
|
|
57
85
|
mimeType: "text/plain",
|
|
58
|
-
text: summary?.summary ||
|
|
86
|
+
text: summary?.summary || `No summary available for repository: ${repo}`
|
|
59
87
|
}
|
|
60
88
|
]
|
|
61
89
|
};
|
|
62
90
|
}
|
|
63
|
-
// View memory by ID: memory://{uuid}
|
|
91
|
+
// 4. View memory by ID: memory://{uuid}
|
|
64
92
|
const idMatch = uri.match(/^memory:\/\/([0-9a-f-]{36})$/i);
|
|
65
93
|
if (idMatch) {
|
|
66
94
|
const id = idMatch[1];
|
|
67
|
-
const entry = db.
|
|
95
|
+
const entry = db.getByIdWithStats(id); // Use version with stats for full detail
|
|
68
96
|
if (!entry) {
|
|
69
|
-
throw new Error(`Memory
|
|
97
|
+
throw new Error(`Memory with ID ${id} not found.`);
|
|
70
98
|
}
|
|
71
99
|
return {
|
|
72
100
|
contents: [
|
|
73
101
|
{
|
|
74
102
|
uri,
|
|
75
103
|
mimeType: "application/json",
|
|
76
|
-
text: JSON.stringify(entry)
|
|
104
|
+
text: JSON.stringify(entry, null, 2)
|
|
77
105
|
}
|
|
78
106
|
]
|
|
79
107
|
};
|
|
80
108
|
}
|
|
81
|
-
// Search
|
|
82
|
-
if (uri.startsWith("memory://")
|
|
83
|
-
const
|
|
84
|
-
const
|
|
85
|
-
const
|
|
86
|
-
const
|
|
87
|
-
const
|
|
88
|
-
|
|
89
|
-
: db.searchBySimilarity(query, "", 10);
|
|
109
|
+
// 5. Semantic Search via URI: memory://search/{base64_query}?repo={repo}
|
|
110
|
+
if (uri.startsWith("memory://search/")) {
|
|
111
|
+
const parts = uri.replace("memory://search/", "").split('?');
|
|
112
|
+
const encodedQuery = parts[0];
|
|
113
|
+
const query = Buffer.from(encodedQuery, 'base64').toString('utf-8');
|
|
114
|
+
const parsed = new URL("http://memory/" + (parts[1] || ""));
|
|
115
|
+
const repo = parsed.searchParams.get("repo") || "";
|
|
116
|
+
const results = db.searchBySimilarity(query, repo, 10);
|
|
90
117
|
return {
|
|
91
118
|
contents: [
|
|
92
119
|
{
|
|
93
120
|
uri,
|
|
94
121
|
mimeType: "application/json",
|
|
95
|
-
text: JSON.stringify({ query, repo, results })
|
|
122
|
+
text: JSON.stringify({ query, repo, results }, null, 2)
|
|
96
123
|
}
|
|
97
124
|
]
|
|
98
125
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,UAAU,aAAa;IAC3B,OAAO;QACL,SAAS,EAAE;YACT;gBACE,GAAG,EAAE,gBAAgB;gBACrB,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,UAAU,aAAa;IAC3B,OAAO;QACL,SAAS,EAAE;YACT;gBACE,GAAG,EAAE,gBAAgB;gBACrB,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,mDAAmD;gBAChE,QAAQ,EAAE,kBAAkB;aAC7B;YACD;gBACE,GAAG,EAAE,4BAA4B;gBACjC,IAAI,EAAE,sBAAsB;gBAC5B,WAAW,EAAE,wDAAwD;gBACrE,QAAQ,EAAE,kBAAkB;aAC7B;YACD;gBACE,GAAG,EAAE,qBAAqB;gBAC1B,IAAI,EAAE,wBAAwB;gBAC9B,WAAW,EAAE,iFAAiF;gBAC9F,QAAQ,EAAE,kBAAkB;aAC7B;YACD;gBACE,GAAG,EAAE,yBAAyB;gBAC9B,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,gEAAgE;gBAC7E,QAAQ,EAAE,YAAY;aACvB;YACD;gBACE,GAAG,EAAE,eAAe;gBACpB,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,wDAAwD;gBACrE,QAAQ,EAAE,kBAAkB;aAC7B;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,EAAe;IACvD,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAE5C,8CAA8C;IAC9C,IAAI,GAAG,KAAK,gBAAgB,IAAI,GAAG,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAClE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,eAAe,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC;QAEvE,MAAM,OAAO,GAAG,IAAI;YAClB,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC;YACvD,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,4BAA4B;QAEnD,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG;oBACH,QAAQ,EAAE,kBAAkB;oBAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;iBACvC;aACF;SACF,CAAC;IACJ,CAAC;IAED,gDAAgD;IAChD,IAAI,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAC9C,2DAA2D;QAC3D,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE;YAClC,IAAI,EAAE,CAAC,GAAG,CAAC;YACX,KAAK,EAAE,EAAE;YACT,eAAe,EAAE,KAAK;SACvB,CAAC,CAAC;QAEH,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG;oBACH,QAAQ,EAAE,kBAAkB;oBAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;iBACvE;aACF;SACF,CAAC;IACJ,CAAC;IAED,8CAA8C;IAC9C,IAAI,GAAG,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAEpC,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG;oBACH,QAAQ,EAAE,YAAY;oBACtB,IAAI,EAAE,OAAO,EAAE,OAAO,IAAI,wCAAwC,IAAI,EAAE;iBACzE;aACF;SACF,CAAC;IACJ,CAAC;IAED,wCAAwC;IACxC,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC3D,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,KAAK,GAAG,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,yCAAyC;QAEhF,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;QACrD,CAAC;QAED,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG;oBACH,QAAQ,EAAE,kBAAkB;oBAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;iBACrC;aACF;SACF,CAAC;IACJ,CAAC;IAED,yEAAyE;IACzE,IAAI,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEpE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,gBAAgB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAEnD,MAAM,OAAO,GAAG,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QAEvD,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG;oBACH,QAAQ,EAAE,kBAAkB;oBAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;iBACxD;aACF;SACF,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;AAClD,CAAC"}
|