@aeriondyseti/vector-memory-mcp 1.1.0-dev.3 → 1.1.0-dev.6
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 +24 -11
- package/dist/package.json +1 -2
- package/dist/src/db/conversation.repository.d.ts.map +1 -1
- package/dist/src/db/conversation.repository.js +2 -1
- package/dist/src/db/conversation.repository.js.map +1 -1
- package/dist/src/db/conversation.schema.js +1 -1
- package/dist/src/db/conversation.schema.js.map +1 -1
- package/dist/src/db/lancedb-utils.d.ts +12 -0
- package/dist/src/db/lancedb-utils.d.ts.map +1 -1
- package/dist/src/db/lancedb-utils.js +18 -0
- package/dist/src/db/lancedb-utils.js.map +1 -1
- package/dist/src/db/memory.repository.d.ts +1 -0
- package/dist/src/db/memory.repository.d.ts.map +1 -1
- package/dist/src/db/memory.repository.js +15 -4
- package/dist/src/db/memory.repository.js.map +1 -1
- package/dist/src/db/schema.d.ts.map +1 -1
- package/dist/src/db/schema.js +1 -1
- package/dist/src/db/schema.js.map +1 -1
- package/dist/src/http/server.d.ts.map +1 -1
- package/dist/src/http/server.js +12 -17
- package/dist/src/http/server.js.map +1 -1
- package/dist/src/mcp/handlers.d.ts +2 -2
- package/dist/src/mcp/handlers.d.ts.map +1 -1
- package/dist/src/mcp/handlers.js +22 -28
- package/dist/src/mcp/handlers.js.map +1 -1
- package/dist/src/mcp/tools.d.ts +2 -2
- package/dist/src/mcp/tools.d.ts.map +1 -1
- package/dist/src/mcp/tools.js +10 -10
- package/dist/src/mcp/tools.js.map +1 -1
- package/dist/src/services/memory.service.d.ts +3 -2
- package/dist/src/services/memory.service.d.ts.map +1 -1
- package/dist/src/services/memory.service.js +28 -14
- package/dist/src/services/memory.service.js.map +1 -1
- package/package.json +1 -2
- package/src/db/conversation.repository.ts +2 -1
- package/src/db/conversation.schema.ts +1 -1
- package/src/db/lancedb-utils.ts +17 -0
- package/src/db/memory.repository.ts +15 -4
- package/src/db/schema.ts +1 -1
- package/src/http/server.ts +12 -18
- package/src/mcp/handlers.ts +23 -28
- package/src/mcp/tools.ts +10 -10
- package/src/services/memory.service.ts +35 -14
- package/hooks/session-start.ts +0 -118
package/dist/src/mcp/tools.js
CHANGED
|
@@ -222,9 +222,9 @@ export const reportMemoryUsefulnessTool = {
|
|
|
222
222
|
required: ["memory_id", "useful"],
|
|
223
223
|
},
|
|
224
224
|
};
|
|
225
|
-
export const
|
|
226
|
-
name: "
|
|
227
|
-
description: `Save session
|
|
225
|
+
export const setWaypointTool = {
|
|
226
|
+
name: "set_waypoint",
|
|
227
|
+
description: `Save session waypoint for seamless resumption later. Use at end of work sessions or before context switches.
|
|
228
228
|
|
|
229
229
|
Creates a structured snapshot with:
|
|
230
230
|
- summary: 2-3 sentences on goal and current status
|
|
@@ -234,7 +234,7 @@ Creates a structured snapshot with:
|
|
|
234
234
|
- next_steps: concrete, actionable items
|
|
235
235
|
- memory_ids: link to related memories stored this session
|
|
236
236
|
|
|
237
|
-
Retrievable via
|
|
237
|
+
Retrievable via get_waypoint. Only one waypoint per project—new waypoints overwrite previous.`,
|
|
238
238
|
inputSchema: {
|
|
239
239
|
type: "object",
|
|
240
240
|
properties: {
|
|
@@ -264,7 +264,7 @@ Retrievable via get_checkpoint. Only one checkpoint per project—new checkpoint
|
|
|
264
264
|
memory_ids: {
|
|
265
265
|
type: "array",
|
|
266
266
|
items: { type: "string" },
|
|
267
|
-
description: "Memory IDs referenced by this
|
|
267
|
+
description: "Memory IDs referenced by this waypoint.",
|
|
268
268
|
},
|
|
269
269
|
metadata: {
|
|
270
270
|
type: "object",
|
|
@@ -275,9 +275,9 @@ Retrievable via get_checkpoint. Only one checkpoint per project—new checkpoint
|
|
|
275
275
|
required: ["project", "summary"],
|
|
276
276
|
},
|
|
277
277
|
};
|
|
278
|
-
export const
|
|
279
|
-
name: "
|
|
280
|
-
description: "Load the current project
|
|
278
|
+
export const getWaypointTool = {
|
|
279
|
+
name: "get_waypoint",
|
|
280
|
+
description: "Load the current project waypoint snapshot. Call at conversation start or when resuming a project.",
|
|
281
281
|
inputSchema: {
|
|
282
282
|
type: "object",
|
|
283
283
|
properties: {},
|
|
@@ -343,8 +343,8 @@ export const tools = [
|
|
|
343
343
|
searchMemoriesTool,
|
|
344
344
|
getMemoriesTool,
|
|
345
345
|
reportMemoryUsefulnessTool,
|
|
346
|
-
|
|
347
|
-
|
|
346
|
+
setWaypointTool,
|
|
347
|
+
getWaypointTool,
|
|
348
348
|
indexConversationsTool,
|
|
349
349
|
listIndexedSessionsTool,
|
|
350
350
|
reindexSessionTool,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/mcp/tools.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ export declare class MemoryService {
|
|
|
12
12
|
getConversationService(): ConversationHistoryService | null;
|
|
13
13
|
store(content: string, metadata?: Record<string, unknown>, embeddingText?: string): Promise<Memory>;
|
|
14
14
|
get(id: string): Promise<Memory | null>;
|
|
15
|
+
getMultiple(ids: string[]): Promise<Memory[]>;
|
|
15
16
|
delete(id: string): Promise<boolean>;
|
|
16
17
|
update(id: string, updates: {
|
|
17
18
|
content?: string;
|
|
@@ -23,7 +24,7 @@ export declare class MemoryService {
|
|
|
23
24
|
search(query: string, intent: SearchIntent, limit?: number, includeDeleted?: boolean, options?: SearchOptions): Promise<SearchResult[]>;
|
|
24
25
|
trackAccess(ids: string[]): Promise<void>;
|
|
25
26
|
private static readonly UUID_ZERO;
|
|
26
|
-
|
|
27
|
+
setWaypoint(args: {
|
|
27
28
|
project: string;
|
|
28
29
|
branch?: string;
|
|
29
30
|
summary: string;
|
|
@@ -34,6 +35,6 @@ export declare class MemoryService {
|
|
|
34
35
|
memory_ids?: string[];
|
|
35
36
|
metadata?: Record<string, unknown>;
|
|
36
37
|
}): Promise<Memory>;
|
|
37
|
-
|
|
38
|
+
getLatestWaypoint(): Promise<Memory | null>;
|
|
38
39
|
}
|
|
39
40
|
//# sourceMappingURL=memory.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.service.d.ts","sourceRoot":"","sources":["../../../src/services/memory.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAA4B,MAAM,oBAAoB,CAAC;AAEzF,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAY5E,qBAAa,aAAa;IAItB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,UAAU;IAJpB,OAAO,CAAC,mBAAmB,CAA2C;gBAG5D,UAAU,EAAE,gBAAgB,EAC5B,UAAU,EAAE,iBAAiB;IAGvC,sBAAsB,CAAC,OAAO,EAAE,0BAA0B,GAAG,IAAI;IAIjE,sBAAsB,IAAI,0BAA0B,GAAG,IAAI;IAIrD,KAAK,CACT,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACtC,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,MAAM,CAAC;IAuBZ,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAiBvC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpC,MAAM,CACV,EAAE,EAAE,MAAM,EACV,OAAO,EAAE;QACP,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GACA,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA4BnB,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAmB7D,OAAO,CAAC,kBAAkB;IAuBpB,MAAM,CACV,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,YAAY,EACpB,KAAK,GAAE,MAAW,EAClB,cAAc,GAAE,OAAe,EAC/B,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,EAAE,CAAC;IA4EpB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"memory.service.d.ts","sourceRoot":"","sources":["../../../src/services/memory.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAA4B,MAAM,oBAAoB,CAAC;AAEzF,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAY5E,qBAAa,aAAa;IAItB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,UAAU;IAJpB,OAAO,CAAC,mBAAmB,CAA2C;gBAG5D,UAAU,EAAE,gBAAgB,EAC5B,UAAU,EAAE,iBAAiB;IAGvC,sBAAsB,CAAC,OAAO,EAAE,0BAA0B,GAAG,IAAI;IAIjE,sBAAsB,IAAI,0BAA0B,GAAG,IAAI;IAIrD,KAAK,CACT,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACtC,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,MAAM,CAAC;IAuBZ,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAiBvC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAkB7C,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpC,MAAM,CACV,EAAE,EAAE,MAAM,EACV,OAAO,EAAE;QACP,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GACA,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA4BnB,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAmB7D,OAAO,CAAC,kBAAkB;IAuBpB,MAAM,CACV,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,YAAY,EACpB,KAAK,GAAE,MAAW,EAClB,cAAc,GAAE,OAAe,EAC/B,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,EAAE,CAAC;IA4EpB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CACQ;IAEnC,WAAW,CAAC,IAAI,EAAE;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC/B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GAAG,OAAO,CAAC,MAAM,CAAC;IAgEb,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAGlD"}
|
|
@@ -56,6 +56,20 @@ export class MemoryService {
|
|
|
56
56
|
await this.repository.upsert(updatedMemory);
|
|
57
57
|
return updatedMemory;
|
|
58
58
|
}
|
|
59
|
+
async getMultiple(ids) {
|
|
60
|
+
if (ids.length === 0)
|
|
61
|
+
return [];
|
|
62
|
+
const memories = await this.repository.findByIds(ids);
|
|
63
|
+
// Track access in bulk
|
|
64
|
+
const now = new Date();
|
|
65
|
+
const live = memories.filter((m) => !isDeleted(m));
|
|
66
|
+
await Promise.all(live.map((m) => this.repository.upsert({
|
|
67
|
+
...m,
|
|
68
|
+
accessCount: m.accessCount + 1,
|
|
69
|
+
lastAccessed: now,
|
|
70
|
+
})));
|
|
71
|
+
return live;
|
|
72
|
+
}
|
|
59
73
|
async delete(id) {
|
|
60
74
|
return await this.repository.markDeleted(id);
|
|
61
75
|
}
|
|
@@ -167,20 +181,20 @@ export class MemoryService {
|
|
|
167
181
|
return merged.slice(0, limit);
|
|
168
182
|
}
|
|
169
183
|
async trackAccess(ids) {
|
|
184
|
+
if (ids.length === 0)
|
|
185
|
+
return;
|
|
186
|
+
const memories = await this.repository.findByIds(ids);
|
|
170
187
|
const now = new Date();
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
}
|
|
188
|
+
await Promise.all(memories
|
|
189
|
+
.filter((m) => !isDeleted(m))
|
|
190
|
+
.map((m) => this.repository.upsert({
|
|
191
|
+
...m,
|
|
192
|
+
accessCount: m.accessCount + 1,
|
|
193
|
+
lastAccessed: now,
|
|
194
|
+
})));
|
|
181
195
|
}
|
|
182
196
|
static UUID_ZERO = "00000000-0000-0000-0000-000000000000";
|
|
183
|
-
async
|
|
197
|
+
async setWaypoint(args) {
|
|
184
198
|
// Track access for utilized memories
|
|
185
199
|
if (args.memory_ids && args.memory_ids.length > 0) {
|
|
186
200
|
await this.trackAccess(args.memory_ids);
|
|
@@ -194,7 +208,7 @@ export class MemoryService {
|
|
|
194
208
|
}
|
|
195
209
|
return items.map((i) => `- ${i}`).join("\n");
|
|
196
210
|
};
|
|
197
|
-
const content = `#
|
|
211
|
+
const content = `# Waypoint - ${args.project}
|
|
198
212
|
**Date:** ${date} ${time} | **Branch:** ${args.branch ?? "unknown"}
|
|
199
213
|
|
|
200
214
|
## Summary
|
|
@@ -216,7 +230,7 @@ ${list(args.next_steps)}
|
|
|
216
230
|
${list(args.memory_ids)}`;
|
|
217
231
|
const metadata = {
|
|
218
232
|
...(args.metadata ?? {}),
|
|
219
|
-
type: "
|
|
233
|
+
type: "waypoint",
|
|
220
234
|
project: args.project,
|
|
221
235
|
date,
|
|
222
236
|
branch: args.branch ?? "unknown",
|
|
@@ -237,7 +251,7 @@ ${list(args.memory_ids)}`;
|
|
|
237
251
|
await this.repository.upsert(memory);
|
|
238
252
|
return memory;
|
|
239
253
|
}
|
|
240
|
-
async
|
|
254
|
+
async getLatestWaypoint() {
|
|
241
255
|
return await this.get(MemoryService.UUID_ZERO);
|
|
242
256
|
}
|
|
243
257
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.service.js","sourceRoot":"","sources":["../../../src/services/memory.service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"memory.service.js","sourceRoot":"","sources":["../../../src/services/memory.service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aeriondyseti/vector-memory-mcp",
|
|
3
|
-
"version": "1.1.0-dev.
|
|
3
|
+
"version": "1.1.0-dev.6",
|
|
4
4
|
"description": "A zero-configuration RAG memory server for MCP clients",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/src/index.js",
|
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
"dist",
|
|
12
12
|
"src",
|
|
13
13
|
"scripts",
|
|
14
|
-
"hooks",
|
|
15
14
|
"README.md",
|
|
16
15
|
"LICENSE"
|
|
17
16
|
],
|
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
CONVERSATION_TABLE_NAME,
|
|
5
5
|
conversationSchema,
|
|
6
6
|
} from "./conversation.schema.js";
|
|
7
|
+
import { arrowTimestampToDate } from "./lancedb-utils.js";
|
|
7
8
|
import type {
|
|
8
9
|
ConversationHybridRow,
|
|
9
10
|
HistoryFilters,
|
|
@@ -49,7 +50,7 @@ export class ConversationRepository {
|
|
|
49
50
|
id: row.id as string,
|
|
50
51
|
content: row.content as string,
|
|
51
52
|
metadata,
|
|
52
|
-
createdAt:
|
|
53
|
+
createdAt: arrowTimestampToDate(row.created_at),
|
|
53
54
|
rrfScore: (row._relevance_score as number) ?? 0,
|
|
54
55
|
};
|
|
55
56
|
}
|
|
@@ -22,7 +22,7 @@ export const conversationSchema = new Schema([
|
|
|
22
22
|
new Field("metadata", new Utf8(), false), // JSON string
|
|
23
23
|
new Field(
|
|
24
24
|
"created_at",
|
|
25
|
-
new Timestamp(TimeUnit.MILLISECOND),
|
|
25
|
+
new Timestamp(TimeUnit.MILLISECOND, "UTC"),
|
|
26
26
|
false
|
|
27
27
|
),
|
|
28
28
|
new Field("session_id", new Utf8(), false),
|
package/src/db/lancedb-utils.ts
CHANGED
|
@@ -27,6 +27,23 @@ export function arrowVectorToArray(value: unknown): number[] {
|
|
|
27
27
|
: (Array.from(value as Iterable<number>) as number[]);
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
+
/**
|
|
31
|
+
* Converts an Arrow Timestamp value to a JavaScript Date.
|
|
32
|
+
*
|
|
33
|
+
* LanceDB/Arrow can return timestamp column values as:
|
|
34
|
+
* - number (most common: raw int64 ms since epoch, fits in JS float64)
|
|
35
|
+
* - BigInt (large int64 values that overflow float64 — rare for timestamps)
|
|
36
|
+
* - Date (hypothetical: some future Arrow-JS build may decode for us)
|
|
37
|
+
*
|
|
38
|
+
* Doing `new Date(row.ts as number)` is a TypeScript lie that silently breaks
|
|
39
|
+
* when Arrow returns a BigInt. This helper handles all three cases safely.
|
|
40
|
+
*/
|
|
41
|
+
export function arrowTimestampToDate(value: unknown): Date {
|
|
42
|
+
if (value instanceof Date) return new Date(value.getTime());
|
|
43
|
+
if (typeof value === "bigint") return new Date(Number(value));
|
|
44
|
+
return new Date(value as number);
|
|
45
|
+
}
|
|
46
|
+
|
|
30
47
|
/**
|
|
31
48
|
* Safely parse a JSON string into an object, returning an empty object on failure.
|
|
32
49
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as lancedb from "@lancedb/lancedb";
|
|
2
2
|
import { type Table } from "@lancedb/lancedb";
|
|
3
3
|
import { TABLE_NAME, memorySchema } from "./schema.js";
|
|
4
|
-
import { arrowVectorToArray, createFtsMutex, createRerankerMutex, escapeSql, safeParseJsonObject } from "./lancedb-utils.js";
|
|
4
|
+
import { arrowTimestampToDate, arrowVectorToArray, createFtsMutex, createRerankerMutex, escapeSql, safeParseJsonObject } from "./lancedb-utils.js";
|
|
5
5
|
import {
|
|
6
6
|
type Memory,
|
|
7
7
|
type HybridRow,
|
|
@@ -84,13 +84,13 @@ export class MemoryRepository {
|
|
|
84
84
|
content: row.content as string,
|
|
85
85
|
embedding: arrowVectorToArray(row.vector),
|
|
86
86
|
metadata: safeParseJsonObject(row.metadata as string),
|
|
87
|
-
createdAt:
|
|
88
|
-
updatedAt:
|
|
87
|
+
createdAt: arrowTimestampToDate(row.created_at),
|
|
88
|
+
updatedAt: arrowTimestampToDate(row.updated_at),
|
|
89
89
|
supersededBy: row.superseded_by as string | null,
|
|
90
90
|
usefulness: (row.usefulness as number) ?? 0,
|
|
91
91
|
accessCount: (row.access_count as number) ?? 0,
|
|
92
92
|
lastAccessed: row.last_accessed
|
|
93
|
-
?
|
|
93
|
+
? arrowTimestampToDate(row.last_accessed)
|
|
94
94
|
: null,
|
|
95
95
|
};
|
|
96
96
|
}
|
|
@@ -148,6 +148,17 @@ export class MemoryRepository {
|
|
|
148
148
|
return this.rowToMemory(results[0] as Record<string, unknown>);
|
|
149
149
|
}
|
|
150
150
|
|
|
151
|
+
async findByIds(ids: string[]): Promise<Memory[]> {
|
|
152
|
+
if (ids.length === 0) return [];
|
|
153
|
+
const table = await this.getTable();
|
|
154
|
+
const inList = ids.map((id) => `'${escapeSql(id)}'`).join(", ");
|
|
155
|
+
const results = await table
|
|
156
|
+
.query()
|
|
157
|
+
.where(`id IN (${inList})`)
|
|
158
|
+
.toArray();
|
|
159
|
+
return results.map((row) => this.rowToMemory(row as Record<string, unknown>));
|
|
160
|
+
}
|
|
161
|
+
|
|
151
162
|
async markDeleted(id: string): Promise<boolean> {
|
|
152
163
|
const table = await this.getTable();
|
|
153
164
|
|
package/src/db/schema.ts
CHANGED
|
@@ -20,7 +20,7 @@ export const vectorField = () =>
|
|
|
20
20
|
);
|
|
21
21
|
|
|
22
22
|
export const timestampField = (name: string, nullable = false) =>
|
|
23
|
-
new Field(name, new Timestamp(TimeUnit.MILLISECOND), nullable);
|
|
23
|
+
new Field(name, new Timestamp(TimeUnit.MILLISECOND, "UTC"), nullable);
|
|
24
24
|
|
|
25
25
|
export const TABLE_NAME = "memories";
|
|
26
26
|
|
package/src/http/server.ts
CHANGED
|
@@ -163,31 +163,25 @@ export function createHttpApp(memoryService: MemoryService, config: Config): Hon
|
|
|
163
163
|
}
|
|
164
164
|
});
|
|
165
165
|
|
|
166
|
-
// Get latest
|
|
167
|
-
app.get("/
|
|
166
|
+
// Get latest waypoint
|
|
167
|
+
app.get("/waypoint", async (c) => {
|
|
168
168
|
try {
|
|
169
|
-
const
|
|
169
|
+
const waypoint = await memoryService.getLatestWaypoint();
|
|
170
170
|
|
|
171
|
-
if (!
|
|
172
|
-
return c.json({ error: "No
|
|
171
|
+
if (!waypoint) {
|
|
172
|
+
return c.json({ error: "No waypoint found" }, 404);
|
|
173
173
|
}
|
|
174
174
|
|
|
175
|
-
// Fetch referenced memories
|
|
176
|
-
const memoryIds = (
|
|
177
|
-
const
|
|
178
|
-
|
|
179
|
-
for (const id of memoryIds) {
|
|
180
|
-
const memory = await memoryService.get(id);
|
|
181
|
-
if (memory && !isDeleted(memory)) {
|
|
182
|
-
referencedMemories.push({ id: memory.id, content: memory.content });
|
|
183
|
-
}
|
|
184
|
-
}
|
|
175
|
+
// Fetch referenced memories in a single query
|
|
176
|
+
const memoryIds = (waypoint.metadata.memory_ids as string[] | undefined) ?? [];
|
|
177
|
+
const memories = await memoryService.getMultiple(memoryIds);
|
|
178
|
+
const referencedMemories = memories.map((m) => ({ id: m.id, content: m.content }));
|
|
185
179
|
|
|
186
180
|
return c.json({
|
|
187
|
-
content:
|
|
188
|
-
metadata:
|
|
181
|
+
content: waypoint.content,
|
|
182
|
+
metadata: waypoint.metadata,
|
|
189
183
|
referencedMemories,
|
|
190
|
-
updatedAt:
|
|
184
|
+
updatedAt: waypoint.updatedAt.toISOString(),
|
|
191
185
|
});
|
|
192
186
|
} catch (error) {
|
|
193
187
|
const message = error instanceof Error ? error.message : "Unknown error";
|
package/src/mcp/handlers.ts
CHANGED
|
@@ -168,11 +168,11 @@ export async function handleGetMemories(
|
|
|
168
168
|
): Promise<CallToolResult> {
|
|
169
169
|
const ids = args?.ids as string[];
|
|
170
170
|
|
|
171
|
-
const
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
171
|
+
const memories = await service.getMultiple(ids);
|
|
172
|
+
const memoryMap = new Map(memories.map((m) => [m.id, m]));
|
|
173
|
+
|
|
174
|
+
// Preserve requested order; show "not found" for missing IDs
|
|
175
|
+
const blocks = ids.map((id) => formatMemoryDetail(id, memoryMap.get(id) ?? null));
|
|
176
176
|
|
|
177
177
|
return {
|
|
178
178
|
content: [{ type: "text", text: blocks.join("\n\n---\n\n") }],
|
|
@@ -205,11 +205,11 @@ export async function handleReportMemoryUsefulness(
|
|
|
205
205
|
};
|
|
206
206
|
}
|
|
207
207
|
|
|
208
|
-
export async function
|
|
208
|
+
export async function handleSetWaypoint(
|
|
209
209
|
args: Record<string, unknown> | undefined,
|
|
210
210
|
service: MemoryService
|
|
211
211
|
): Promise<CallToolResult> {
|
|
212
|
-
const memory = await service.
|
|
212
|
+
const memory = await service.setWaypoint({
|
|
213
213
|
project: args?.project as string,
|
|
214
214
|
branch: args?.branch as string | undefined,
|
|
215
215
|
summary: args?.summary as string,
|
|
@@ -222,41 +222,36 @@ export async function handleStoreCheckpoint(
|
|
|
222
222
|
});
|
|
223
223
|
|
|
224
224
|
return {
|
|
225
|
-
content: [{ type: "text", text: `
|
|
225
|
+
content: [{ type: "text", text: `Waypoint stored with memory ID: ${memory.id}` }],
|
|
226
226
|
};
|
|
227
227
|
}
|
|
228
228
|
|
|
229
|
-
export async function
|
|
229
|
+
export async function handleGetWaypoint(
|
|
230
230
|
_args: Record<string, unknown> | undefined,
|
|
231
231
|
service: MemoryService
|
|
232
232
|
): Promise<CallToolResult> {
|
|
233
|
-
const
|
|
233
|
+
const waypoint = await service.getLatestWaypoint();
|
|
234
234
|
|
|
235
|
-
if (!
|
|
235
|
+
if (!waypoint) {
|
|
236
236
|
return {
|
|
237
|
-
content: [{ type: "text", text: "No stored
|
|
237
|
+
content: [{ type: "text", text: "No stored waypoint found." }],
|
|
238
238
|
};
|
|
239
239
|
}
|
|
240
240
|
|
|
241
|
-
// Fetch referenced memories
|
|
242
|
-
const memoryIds = (
|
|
241
|
+
// Fetch referenced memories in batch
|
|
242
|
+
const memoryIds = (waypoint.metadata.memory_ids as string[] | undefined) ?? [];
|
|
243
243
|
let memoriesSection = "";
|
|
244
244
|
|
|
245
245
|
if (memoryIds.length > 0) {
|
|
246
|
-
const
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
memories.push(`### Memory: ${id}\n${memory.content}`);
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
if (memories.length > 0) {
|
|
254
|
-
memoriesSection = `\n\n## Referenced Memories\n\n${memories.join("\n\n")}`;
|
|
246
|
+
const fetched = await service.getMultiple(memoryIds);
|
|
247
|
+
const blocks = fetched.map((m) => `### Memory: ${m.id}\n${m.content}`);
|
|
248
|
+
if (blocks.length > 0) {
|
|
249
|
+
memoriesSection = `\n\n## Referenced Memories\n\n${blocks.join("\n\n")}`;
|
|
255
250
|
}
|
|
256
251
|
}
|
|
257
252
|
|
|
258
253
|
return {
|
|
259
|
-
content: [{ type: "text", text:
|
|
254
|
+
content: [{ type: "text", text: waypoint.content + memoriesSection }],
|
|
260
255
|
};
|
|
261
256
|
}
|
|
262
257
|
|
|
@@ -414,10 +409,10 @@ export async function handleToolCall(
|
|
|
414
409
|
return handleGetMemories(args, service);
|
|
415
410
|
case "report_memory_usefulness":
|
|
416
411
|
return handleReportMemoryUsefulness(args, service);
|
|
417
|
-
case "
|
|
418
|
-
return
|
|
419
|
-
case "
|
|
420
|
-
return
|
|
412
|
+
case "set_waypoint":
|
|
413
|
+
return handleSetWaypoint(args, service);
|
|
414
|
+
case "get_waypoint":
|
|
415
|
+
return handleGetWaypoint(args, service);
|
|
421
416
|
case "index_conversations":
|
|
422
417
|
return handleIndexConversations(args, service);
|
|
423
418
|
case "list_indexed_sessions":
|
package/src/mcp/tools.ts
CHANGED
|
@@ -237,9 +237,9 @@ export const reportMemoryUsefulnessTool: Tool = {
|
|
|
237
237
|
},
|
|
238
238
|
};
|
|
239
239
|
|
|
240
|
-
export const
|
|
241
|
-
name: "
|
|
242
|
-
description: `Save session
|
|
240
|
+
export const setWaypointTool: Tool = {
|
|
241
|
+
name: "set_waypoint",
|
|
242
|
+
description: `Save session waypoint for seamless resumption later. Use at end of work sessions or before context switches.
|
|
243
243
|
|
|
244
244
|
Creates a structured snapshot with:
|
|
245
245
|
- summary: 2-3 sentences on goal and current status
|
|
@@ -249,7 +249,7 @@ Creates a structured snapshot with:
|
|
|
249
249
|
- next_steps: concrete, actionable items
|
|
250
250
|
- memory_ids: link to related memories stored this session
|
|
251
251
|
|
|
252
|
-
Retrievable via
|
|
252
|
+
Retrievable via get_waypoint. Only one waypoint per project—new waypoints overwrite previous.`,
|
|
253
253
|
inputSchema: {
|
|
254
254
|
type: "object",
|
|
255
255
|
properties: {
|
|
@@ -279,7 +279,7 @@ Retrievable via get_checkpoint. Only one checkpoint per project—new checkpoint
|
|
|
279
279
|
memory_ids: {
|
|
280
280
|
type: "array",
|
|
281
281
|
items: { type: "string" },
|
|
282
|
-
description: "Memory IDs referenced by this
|
|
282
|
+
description: "Memory IDs referenced by this waypoint.",
|
|
283
283
|
},
|
|
284
284
|
metadata: {
|
|
285
285
|
type: "object",
|
|
@@ -291,10 +291,10 @@ Retrievable via get_checkpoint. Only one checkpoint per project—new checkpoint
|
|
|
291
291
|
},
|
|
292
292
|
};
|
|
293
293
|
|
|
294
|
-
export const
|
|
295
|
-
name: "
|
|
294
|
+
export const getWaypointTool: Tool = {
|
|
295
|
+
name: "get_waypoint",
|
|
296
296
|
description:
|
|
297
|
-
"Load the current project
|
|
297
|
+
"Load the current project waypoint snapshot. Call at conversation start or when resuming a project.",
|
|
298
298
|
inputSchema: {
|
|
299
299
|
type: "object",
|
|
300
300
|
properties: {},
|
|
@@ -368,8 +368,8 @@ export const tools: Tool[] = [
|
|
|
368
368
|
searchMemoriesTool,
|
|
369
369
|
getMemoriesTool,
|
|
370
370
|
reportMemoryUsefulnessTool,
|
|
371
|
-
|
|
372
|
-
|
|
371
|
+
setWaypointTool,
|
|
372
|
+
getWaypointTool,
|
|
373
373
|
indexConversationsTool,
|
|
374
374
|
listIndexedSessionsTool,
|
|
375
375
|
reindexSessionTool,
|