@j0hanz/memdb 1.2.8 → 1.3.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 +110 -287
- package/dist/assets/logo.svg +12 -0
- package/dist/config.d.ts +0 -1
- package/dist/config.js +0 -1
- package/dist/core/db.d.ts +6 -3
- package/dist/core/db.js +102 -47
- package/dist/core/memory-read.d.ts +1 -2
- package/dist/core/memory-read.js +32 -18
- package/dist/core/memory-write.d.ts +1 -2
- package/dist/core/memory-write.js +59 -83
- package/dist/core/relationships.d.ts +0 -1
- package/dist/core/relationships.js +15 -36
- package/dist/core/search.d.ts +2 -3
- package/dist/core/search.js +96 -89
- package/dist/index.d.ts +0 -1
- package/dist/index.js +42 -15
- package/dist/instructions.md +41 -24
- package/dist/logger.d.ts +0 -1
- package/dist/logger.js +0 -1
- package/dist/protocol-version-guard.d.ts +0 -1
- package/dist/protocol-version-guard.js +0 -1
- package/dist/schemas.d.ts +0 -1
- package/dist/schemas.js +14 -11
- package/dist/stdio-transport.d.ts +0 -1
- package/dist/stdio-transport.js +0 -1
- package/dist/tools.d.ts +1 -2
- package/dist/tools.js +195 -211
- package/dist/types.d.ts +0 -1
- package/dist/types.js +0 -1
- package/package.json +23 -20
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js.map +0 -1
- package/dist/core/db.d.ts.map +0 -1
- package/dist/core/db.js.map +0 -1
- package/dist/core/memory-read.d.ts.map +0 -1
- package/dist/core/memory-read.js.map +0 -1
- package/dist/core/memory-write.d.ts.map +0 -1
- package/dist/core/memory-write.js.map +0 -1
- package/dist/core/relationships.d.ts.map +0 -1
- package/dist/core/relationships.js.map +0 -1
- package/dist/core/search.d.ts.map +0 -1
- package/dist/core/search.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/logger.d.ts.map +0 -1
- package/dist/logger.js.map +0 -1
- package/dist/protocol-version-guard.d.ts.map +0 -1
- package/dist/protocol-version-guard.js.map +0 -1
- package/dist/schemas.d.ts.map +0 -1
- package/dist/schemas.js.map +0 -1
- package/dist/stdio-transport.d.ts.map +0 -1
- package/dist/stdio-transport.js.map +0 -1
- package/dist/tools.d.ts.map +0 -1
- package/dist/tools.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
package/dist/tools.js
CHANGED
|
@@ -19,6 +19,7 @@ const defaultDeps = {
|
|
|
19
19
|
recallMemories,
|
|
20
20
|
};
|
|
21
21
|
const TOOL_TIMEOUT_MS = config.toolTimeoutMs;
|
|
22
|
+
const normalizeHash = (hash) => hash.toLowerCase();
|
|
22
23
|
const isNonEmptyString = (value) => typeof value === 'string' && value.length > 0;
|
|
23
24
|
const getErrorMessage = (error) => {
|
|
24
25
|
if (error instanceof Error)
|
|
@@ -39,44 +40,78 @@ const createErrorResponse = (code, message, result) => {
|
|
|
39
40
|
isError: true,
|
|
40
41
|
};
|
|
41
42
|
};
|
|
42
|
-
const
|
|
43
|
-
if (ms <= 0)
|
|
44
|
-
return await promise;
|
|
45
|
-
let timeout;
|
|
46
|
-
const timeoutPromise = new Promise((resolve) => {
|
|
47
|
-
timeout = setTimeout(() => {
|
|
48
|
-
resolve(onTimeout());
|
|
49
|
-
}, ms);
|
|
50
|
-
});
|
|
51
|
-
try {
|
|
52
|
-
return await Promise.race([promise, timeoutPromise]);
|
|
53
|
-
}
|
|
54
|
-
finally {
|
|
55
|
-
if (timeout)
|
|
56
|
-
clearTimeout(timeout);
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
const createTimeoutResponse = () => createErrorResponse('E_TIMEOUT', `Tool execution timed out after ${TOOL_TIMEOUT_MS}ms`, { timeoutMs: TOOL_TIMEOUT_MS });
|
|
60
|
-
const ok = (result) => {
|
|
43
|
+
const createSuccessResponse = (result) => {
|
|
61
44
|
const structured = { ok: true, result };
|
|
62
45
|
return {
|
|
63
46
|
content: [{ type: 'text', text: JSON.stringify(structured) }],
|
|
64
47
|
structuredContent: structured,
|
|
65
48
|
};
|
|
66
49
|
};
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
50
|
+
class ToolFailure extends Error {
|
|
51
|
+
result;
|
|
52
|
+
code;
|
|
53
|
+
constructor(code, message, result) {
|
|
54
|
+
super(message);
|
|
55
|
+
this.result = result;
|
|
56
|
+
this.code = code;
|
|
74
57
|
}
|
|
58
|
+
}
|
|
59
|
+
const createTimeoutResponse = (timeoutMs) => createErrorResponse('E_TIMEOUT', `Tool execution timed out after ${timeoutMs}ms`, { timeoutMs });
|
|
60
|
+
const createTimedToolHandler = (defaultErrorCode, timeoutMs, run) => {
|
|
61
|
+
return async (params) => {
|
|
62
|
+
const controller = new AbortController();
|
|
63
|
+
const ctx = { signal: controller.signal };
|
|
64
|
+
const execution = Promise.resolve().then(() => run(params, ctx));
|
|
65
|
+
if (timeoutMs <= 0) {
|
|
66
|
+
try {
|
|
67
|
+
return await execution;
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
if (err instanceof ToolFailure) {
|
|
71
|
+
return createErrorResponse(err.code, err.message, err.result);
|
|
72
|
+
}
|
|
73
|
+
return createErrorResponse(defaultErrorCode, getErrorMessage(err));
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
let timeout;
|
|
77
|
+
const timeoutPromise = new Promise((resolve) => {
|
|
78
|
+
timeout = setTimeout(() => {
|
|
79
|
+
controller.abort();
|
|
80
|
+
resolve(createTimeoutResponse(timeoutMs));
|
|
81
|
+
}, timeoutMs);
|
|
82
|
+
});
|
|
83
|
+
try {
|
|
84
|
+
return await Promise.race([execution, timeoutPromise]);
|
|
85
|
+
}
|
|
86
|
+
catch (err) {
|
|
87
|
+
if (err instanceof ToolFailure) {
|
|
88
|
+
return createErrorResponse(err.code, err.message, err.result);
|
|
89
|
+
}
|
|
90
|
+
return createErrorResponse(defaultErrorCode, getErrorMessage(err));
|
|
91
|
+
}
|
|
92
|
+
finally {
|
|
93
|
+
if (timeout)
|
|
94
|
+
clearTimeout(timeout);
|
|
95
|
+
}
|
|
96
|
+
};
|
|
75
97
|
};
|
|
76
|
-
const
|
|
77
|
-
return
|
|
98
|
+
const defineTool = (spec) => {
|
|
99
|
+
return {
|
|
100
|
+
name: spec.name,
|
|
101
|
+
options: {
|
|
102
|
+
title: spec.title,
|
|
103
|
+
description: spec.description,
|
|
104
|
+
inputSchema: spec.inputSchema,
|
|
105
|
+
outputSchema: spec.outputSchema,
|
|
106
|
+
...(spec.annotations ? { annotations: spec.annotations } : {}),
|
|
107
|
+
},
|
|
108
|
+
handler: createTimedToolHandler(spec.errorCode, spec.timeoutMs ?? TOOL_TIMEOUT_MS, async (params, ctx) => {
|
|
109
|
+
const input = spec.inputSchema.parse(params);
|
|
110
|
+
const result = await spec.run(input, ctx);
|
|
111
|
+
return createSuccessResponse(result);
|
|
112
|
+
}),
|
|
113
|
+
};
|
|
78
114
|
};
|
|
79
|
-
const normalizeHash = (hash) => hash.toLowerCase();
|
|
80
115
|
const toCreateMemoryInput = (input) => ({
|
|
81
116
|
content: input.content,
|
|
82
117
|
tags: input.tags,
|
|
@@ -85,247 +120,196 @@ const toCreateMemoryInput = (input) => ({
|
|
|
85
120
|
? {}
|
|
86
121
|
: { memory_type: input.memory_type }),
|
|
87
122
|
});
|
|
88
|
-
const
|
|
89
|
-
|
|
90
|
-
|
|
123
|
+
const buildTools = (deps) => [
|
|
124
|
+
defineTool({
|
|
125
|
+
name: 'store_memory',
|
|
91
126
|
title: 'Store Memory',
|
|
92
127
|
description: 'Store a new memory with tags',
|
|
93
128
|
inputSchema: StoreMemoryInputSchema,
|
|
94
129
|
outputSchema: DefaultOutputSchema,
|
|
95
130
|
annotations: { idempotentHint: true },
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
131
|
+
errorCode: 'E_STORE_MEMORY',
|
|
132
|
+
run: async (input) => {
|
|
133
|
+
const result = await deps.createMemory(toCreateMemoryInput({
|
|
134
|
+
content: input.content,
|
|
135
|
+
tags: input.tags,
|
|
136
|
+
importance: input.importance,
|
|
137
|
+
memory_type: input.memory_type,
|
|
138
|
+
}));
|
|
139
|
+
return result;
|
|
140
|
+
},
|
|
106
141
|
}),
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
name: 'store_memories',
|
|
110
|
-
options: {
|
|
142
|
+
defineTool({
|
|
143
|
+
name: 'store_memories',
|
|
111
144
|
title: 'Store Multiple Memories',
|
|
112
145
|
description: 'Store multiple memories in a single batch operation. Returns per-item results with partial success support.',
|
|
113
146
|
inputSchema: StoreMemoriesInputSchema,
|
|
114
147
|
outputSchema: DefaultOutputSchema,
|
|
115
148
|
annotations: { idempotentHint: true },
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
return ok(result);
|
|
149
|
+
errorCode: 'E_STORE_MEMORIES',
|
|
150
|
+
run: async (input, ctx) => {
|
|
151
|
+
const items = input.items.map((item) => toCreateMemoryInput({
|
|
152
|
+
content: item.content,
|
|
153
|
+
tags: item.tags,
|
|
154
|
+
importance: item.importance,
|
|
155
|
+
memory_type: item.memory_type,
|
|
156
|
+
}));
|
|
157
|
+
return await deps.createMemories(items, ctx.signal);
|
|
158
|
+
},
|
|
127
159
|
}),
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
name: 'get_memory',
|
|
131
|
-
options: {
|
|
160
|
+
defineTool({
|
|
161
|
+
name: 'get_memory',
|
|
132
162
|
title: 'Get Memory',
|
|
133
163
|
description: 'Retrieve memory by hash',
|
|
134
164
|
inputSchema: GetMemoryInputSchema,
|
|
135
165
|
outputSchema: DefaultOutputSchema,
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
return
|
|
142
|
-
}
|
|
143
|
-
return ok(result);
|
|
166
|
+
errorCode: 'E_GET_MEMORY',
|
|
167
|
+
run: async (input) => {
|
|
168
|
+
const result = await deps.getMemory(normalizeHash(input.hash));
|
|
169
|
+
if (!result)
|
|
170
|
+
throw new ToolFailure('E_NOT_FOUND', 'Memory not found');
|
|
171
|
+
return result;
|
|
172
|
+
},
|
|
144
173
|
}),
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
name: 'delete_memory',
|
|
148
|
-
options: {
|
|
174
|
+
defineTool({
|
|
175
|
+
name: 'delete_memory',
|
|
149
176
|
title: 'Delete Memory',
|
|
150
177
|
description: 'Delete by hash',
|
|
151
178
|
inputSchema: DeleteMemoryInputSchema,
|
|
152
179
|
outputSchema: DefaultOutputSchema,
|
|
153
180
|
annotations: { destructiveHint: true },
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
return
|
|
160
|
-
}
|
|
161
|
-
return ok({ deleted: true });
|
|
181
|
+
errorCode: 'E_DELETE_MEMORY',
|
|
182
|
+
run: async (input) => {
|
|
183
|
+
const result = await deps.deleteMemory(normalizeHash(input.hash));
|
|
184
|
+
if (result.changes === 0)
|
|
185
|
+
throw new ToolFailure('E_NOT_FOUND', 'Memory not found');
|
|
186
|
+
return { deleted: true };
|
|
187
|
+
},
|
|
162
188
|
}),
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
name: 'delete_memories',
|
|
166
|
-
options: {
|
|
189
|
+
defineTool({
|
|
190
|
+
name: 'delete_memories',
|
|
167
191
|
title: 'Delete Multiple Memories',
|
|
168
192
|
description: 'Delete multiple memories by hash in a single batch operation. Returns per-item results with partial success support.',
|
|
169
193
|
inputSchema: DeleteMemoriesInputSchema,
|
|
170
194
|
outputSchema: DefaultOutputSchema,
|
|
171
195
|
annotations: { destructiveHint: true },
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
return ok(result);
|
|
196
|
+
errorCode: 'E_DELETE_MEMORIES',
|
|
197
|
+
run: async (input, ctx) => {
|
|
198
|
+
return await deps.deleteMemories(input.hashes.map(normalizeHash), ctx.signal);
|
|
199
|
+
},
|
|
177
200
|
}),
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
name: 'update_memory',
|
|
181
|
-
options: {
|
|
201
|
+
defineTool({
|
|
202
|
+
name: 'update_memory',
|
|
182
203
|
title: 'Update Memory',
|
|
183
204
|
description: 'Update memory content. Returns new hash since content change affects the hash.',
|
|
184
205
|
inputSchema: UpdateMemoryInputSchema,
|
|
185
206
|
outputSchema: DefaultOutputSchema,
|
|
186
207
|
annotations: { idempotentHint: true },
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
}
|
|
194
|
-
return ok(result);
|
|
208
|
+
errorCode: 'E_UPDATE_MEMORY',
|
|
209
|
+
run: async (input) => {
|
|
210
|
+
return await deps.updateMemory(normalizeHash(input.hash), {
|
|
211
|
+
content: input.content,
|
|
212
|
+
tags: input.tags,
|
|
213
|
+
});
|
|
214
|
+
},
|
|
195
215
|
}),
|
|
196
|
-
|
|
197
|
-
const buildCoreTools = (deps) => [
|
|
198
|
-
buildStoreMemoryTool(deps),
|
|
199
|
-
buildStoreMemoriesTool(deps),
|
|
200
|
-
buildGetMemoryTool(deps),
|
|
201
|
-
buildDeleteMemoryTool(deps),
|
|
202
|
-
buildDeleteMemoriesTool(deps),
|
|
203
|
-
buildUpdateMemoryTool(deps),
|
|
204
|
-
];
|
|
205
|
-
const buildSearchTools = (deps) => [
|
|
206
|
-
{
|
|
216
|
+
defineTool({
|
|
207
217
|
name: 'search_memories',
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
218
|
+
title: 'Search Memories',
|
|
219
|
+
description: 'Search memories by content and tags',
|
|
220
|
+
inputSchema: SearchMemoriesInputSchema,
|
|
221
|
+
outputSchema: DefaultOutputSchema,
|
|
222
|
+
annotations: { readOnlyHint: true },
|
|
223
|
+
errorCode: 'E_SEARCH_MEMORIES',
|
|
224
|
+
run: async (input, ctx) => {
|
|
225
|
+
return await deps.searchMemories({ query: input.query }, ctx.signal);
|
|
214
226
|
},
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
const result = await deps.searchMemories({ query: input.query });
|
|
218
|
-
return ok(result);
|
|
219
|
-
}),
|
|
220
|
-
},
|
|
221
|
-
{
|
|
227
|
+
}),
|
|
228
|
+
defineTool({
|
|
222
229
|
name: 'recall',
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
const input = RecallInputSchema.parse(params);
|
|
233
|
-
const result = await deps.recallMemories({
|
|
230
|
+
title: 'Recall Memories',
|
|
231
|
+
description: 'Search for memories and traverse relationships to return a connected graph cluster. ' +
|
|
232
|
+
'Use this for deeper context retrieval that follows knowledge graph connections.',
|
|
233
|
+
inputSchema: RecallInputSchema,
|
|
234
|
+
outputSchema: DefaultOutputSchema,
|
|
235
|
+
annotations: { readOnlyHint: true },
|
|
236
|
+
errorCode: 'E_RECALL',
|
|
237
|
+
run: async (input, ctx) => {
|
|
238
|
+
return await deps.recallMemories({
|
|
234
239
|
query: input.query,
|
|
235
240
|
...(input.depth !== undefined && { depth: input.depth }),
|
|
236
|
-
});
|
|
237
|
-
return ok(result);
|
|
238
|
-
}),
|
|
239
|
-
},
|
|
240
|
-
];
|
|
241
|
-
const buildRelationshipTools = (deps) => [
|
|
242
|
-
{
|
|
243
|
-
name: 'create_relationship',
|
|
244
|
-
options: {
|
|
245
|
-
title: 'Create Relationship',
|
|
246
|
-
description: 'Link two memories with a typed relationship. Creates a knowledge graph edge between memories.',
|
|
247
|
-
inputSchema: CreateRelationshipInputSchema,
|
|
248
|
-
outputSchema: DefaultOutputSchema,
|
|
249
|
-
annotations: { idempotentHint: true },
|
|
241
|
+
}, ctx.signal);
|
|
250
242
|
},
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
243
|
+
}),
|
|
244
|
+
defineTool({
|
|
245
|
+
name: 'create_relationship',
|
|
246
|
+
title: 'Create Relationship',
|
|
247
|
+
description: 'Link two memories with a typed relationship. Creates a knowledge graph edge between memories.',
|
|
248
|
+
inputSchema: CreateRelationshipInputSchema,
|
|
249
|
+
outputSchema: DefaultOutputSchema,
|
|
250
|
+
annotations: { idempotentHint: true },
|
|
251
|
+
errorCode: 'E_CREATE_RELATIONSHIP',
|
|
252
|
+
run: async (input) => {
|
|
253
|
+
return await deps.createRelationship({
|
|
254
254
|
from_hash: normalizeHash(input.from_hash),
|
|
255
255
|
to_hash: normalizeHash(input.to_hash),
|
|
256
256
|
relation_type: input.relation_type,
|
|
257
257
|
});
|
|
258
|
-
return ok(result);
|
|
259
|
-
}),
|
|
260
|
-
},
|
|
261
|
-
{
|
|
262
|
-
name: 'get_relationships',
|
|
263
|
-
options: {
|
|
264
|
-
title: 'Get Relationships',
|
|
265
|
-
description: 'Get all relationships for a memory. Returns linked memories with relationship types.',
|
|
266
|
-
inputSchema: GetRelationshipsInputSchema,
|
|
267
|
-
outputSchema: DefaultOutputSchema,
|
|
268
|
-
annotations: { readOnlyHint: true },
|
|
269
258
|
},
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
259
|
+
}),
|
|
260
|
+
defineTool({
|
|
261
|
+
name: 'get_relationships',
|
|
262
|
+
title: 'Get Relationships',
|
|
263
|
+
description: 'Get all relationships for a memory. Returns linked memories with relationship types.',
|
|
264
|
+
inputSchema: GetRelationshipsInputSchema,
|
|
265
|
+
outputSchema: DefaultOutputSchema,
|
|
266
|
+
annotations: { readOnlyHint: true },
|
|
267
|
+
errorCode: 'E_GET_RELATIONSHIPS',
|
|
268
|
+
run: async (input) => {
|
|
269
|
+
return await deps.getRelationships({
|
|
273
270
|
hash: normalizeHash(input.hash),
|
|
274
271
|
...(input.direction !== undefined && { direction: input.direction }),
|
|
275
272
|
});
|
|
276
|
-
return ok(result);
|
|
277
|
-
}),
|
|
278
|
-
},
|
|
279
|
-
{
|
|
280
|
-
name: 'delete_relationship',
|
|
281
|
-
options: {
|
|
282
|
-
title: 'Delete Relationship',
|
|
283
|
-
description: 'Remove a relationship between two memories.',
|
|
284
|
-
inputSchema: DeleteRelationshipInputSchema,
|
|
285
|
-
outputSchema: DefaultOutputSchema,
|
|
286
|
-
annotations: { destructiveHint: true },
|
|
287
273
|
},
|
|
288
|
-
|
|
289
|
-
|
|
274
|
+
}),
|
|
275
|
+
defineTool({
|
|
276
|
+
name: 'delete_relationship',
|
|
277
|
+
title: 'Delete Relationship',
|
|
278
|
+
description: 'Remove a relationship between two memories.',
|
|
279
|
+
inputSchema: DeleteRelationshipInputSchema,
|
|
280
|
+
outputSchema: DefaultOutputSchema,
|
|
281
|
+
annotations: { destructiveHint: true },
|
|
282
|
+
errorCode: 'E_DELETE_RELATIONSHIP',
|
|
283
|
+
run: async (input) => {
|
|
290
284
|
const result = await deps.deleteRelationship({
|
|
291
285
|
from_hash: normalizeHash(input.from_hash),
|
|
292
286
|
to_hash: normalizeHash(input.to_hash),
|
|
293
287
|
relation_type: input.relation_type,
|
|
294
288
|
});
|
|
295
|
-
if (result.changes === 0)
|
|
296
|
-
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
];
|
|
302
|
-
const buildStatsTools = (deps) => [
|
|
303
|
-
{
|
|
289
|
+
if (result.changes === 0)
|
|
290
|
+
throw new ToolFailure('E_NOT_FOUND', 'Relationship not found');
|
|
291
|
+
return { deleted: true };
|
|
292
|
+
},
|
|
293
|
+
}),
|
|
294
|
+
defineTool({
|
|
304
295
|
name: 'memory_stats',
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
296
|
+
title: 'Memory Stats',
|
|
297
|
+
description: 'Database statistics and health',
|
|
298
|
+
inputSchema: MemoryStatsInputSchema,
|
|
299
|
+
outputSchema: DefaultOutputSchema,
|
|
300
|
+
annotations: { readOnlyHint: true },
|
|
301
|
+
errorCode: 'E_MEMORY_STATS',
|
|
302
|
+
run: async () => {
|
|
303
|
+
return await deps.getStats();
|
|
311
304
|
},
|
|
312
|
-
|
|
313
|
-
MemoryStatsInputSchema.parse(params);
|
|
314
|
-
const result = await deps.getStats();
|
|
315
|
-
return ok(result);
|
|
316
|
-
}),
|
|
317
|
-
},
|
|
318
|
-
];
|
|
319
|
-
const buildTools = (deps) => [
|
|
320
|
-
...buildCoreTools(deps),
|
|
321
|
-
...buildSearchTools(deps),
|
|
322
|
-
...buildRelationshipTools(deps),
|
|
323
|
-
...buildStatsTools(deps),
|
|
305
|
+
}),
|
|
324
306
|
];
|
|
325
|
-
export function registerAllTools(server, deps = defaultDeps) {
|
|
307
|
+
export function registerAllTools(server, localIcon, deps = defaultDeps) {
|
|
326
308
|
const tools = buildTools(deps);
|
|
309
|
+
const iconMetadata = localIcon
|
|
310
|
+
? { icons: [{ src: localIcon, mimeType: 'image/svg+xml', sizes: ['any'] }] }
|
|
311
|
+
: {};
|
|
327
312
|
for (const tool of tools) {
|
|
328
|
-
server.registerTool(tool.name, tool.options, tool.handler);
|
|
313
|
+
server.registerTool(tool.name, { ...tool.options, ...iconMetadata }, tool.handler);
|
|
329
314
|
}
|
|
330
315
|
}
|
|
331
|
-
//# sourceMappingURL=tools.js.map
|
package/dist/types.d.ts
CHANGED
package/dist/types.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@j0hanz/memdb",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"mcpName": "io.github.j0hanz/memdb",
|
|
5
5
|
"description": "A SQLite-backed MCP memory server with local workspace storage.",
|
|
6
6
|
"type": "module",
|
|
@@ -18,21 +18,24 @@
|
|
|
18
18
|
"README.md"
|
|
19
19
|
],
|
|
20
20
|
"scripts": {
|
|
21
|
-
"clean": "node
|
|
22
|
-
"validate:instructions": "node
|
|
23
|
-
"build": "
|
|
24
|
-
"copy:assets": "node
|
|
21
|
+
"clean": "node scripts/tasks.mjs clean",
|
|
22
|
+
"validate:instructions": "node scripts/tasks.mjs validate:instructions",
|
|
23
|
+
"build": "node scripts/tasks.mjs build",
|
|
24
|
+
"copy:assets": "node scripts/tasks.mjs copy:assets",
|
|
25
25
|
"prepare": "npm run build",
|
|
26
|
-
"dev": "
|
|
26
|
+
"dev": "tsc --watch --preserveWatchOutput",
|
|
27
|
+
"dev:run": "node --env-file=.env --watch dist/index.js",
|
|
27
28
|
"start": "node dist/index.js",
|
|
28
|
-
"test": "node --import tsx/esm --test tests/*.test.ts",
|
|
29
|
-
"test:coverage": "node --import tsx/esm --test --experimental-test-coverage tests/*.test.ts",
|
|
30
|
-
"duplication": "npx --yes jscpd -k 50 -f typescript -r json -o .jscpd src",
|
|
31
|
-
"lint": "eslint .",
|
|
32
29
|
"format": "prettier --write .",
|
|
33
|
-
"
|
|
34
|
-
"type-check": "tsc
|
|
35
|
-
"type-check:
|
|
30
|
+
"type-check": "node scripts/tasks.mjs type-check",
|
|
31
|
+
"type-check:diagnostics": "tsc --noEmit --extendedDiagnostics",
|
|
32
|
+
"type-check:trace": "node -e \"require('fs').rmSync('.ts-trace',{recursive:true,force:true})\" && tsc --noEmit --generateTrace .ts-trace",
|
|
33
|
+
"lint": "eslint .",
|
|
34
|
+
"lint:fix": "eslint . --fix",
|
|
35
|
+
"test": "node scripts/tasks.mjs test",
|
|
36
|
+
"test:coverage": "node scripts/tasks.mjs test --coverage",
|
|
37
|
+
"knip": "knip",
|
|
38
|
+
"knip:fix": "knip --fix",
|
|
36
39
|
"inspector": "npx @modelcontextprotocol/inspector",
|
|
37
40
|
"prepublishOnly": "npm run lint && npm run type-check && npm run build"
|
|
38
41
|
},
|
|
@@ -51,24 +54,24 @@
|
|
|
51
54
|
"homepage": "https://github.com/j0hanz/memdb-mcp-server#readme",
|
|
52
55
|
"license": "MIT",
|
|
53
56
|
"dependencies": {
|
|
54
|
-
"@modelcontextprotocol/sdk": "^1.
|
|
55
|
-
"zod": "^4.3.
|
|
57
|
+
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
58
|
+
"zod": "^4.3.6"
|
|
56
59
|
},
|
|
57
60
|
"devDependencies": {
|
|
58
61
|
"@eslint/js": "^9.39.2",
|
|
59
62
|
"@trivago/prettier-plugin-sort-imports": "^6.0.2",
|
|
60
|
-
"@types/node": "^25.0
|
|
63
|
+
"@types/node": "^25.2.0",
|
|
61
64
|
"eslint": "^9.39.2",
|
|
62
65
|
"eslint-config-prettier": "^10.1.8",
|
|
63
66
|
"eslint-plugin-de-morgan": "^2.0.0",
|
|
64
67
|
"eslint-plugin-depend": "^1.4.0",
|
|
65
|
-
"eslint-plugin-sonarjs": "^3.0.
|
|
68
|
+
"eslint-plugin-sonarjs": "^3.0.6",
|
|
66
69
|
"eslint-plugin-unused-imports": "^4.3.0",
|
|
67
|
-
"knip": "^5.
|
|
68
|
-
"prettier": "^3.8.
|
|
70
|
+
"knip": "^5.83.0",
|
|
71
|
+
"prettier": "^3.8.1",
|
|
69
72
|
"tsx": "^4.21.0",
|
|
70
73
|
"typescript": "^5.9.3",
|
|
71
|
-
"typescript-eslint": "^8.
|
|
74
|
+
"typescript-eslint": "^8.54.0"
|
|
72
75
|
},
|
|
73
76
|
"engines": {
|
|
74
77
|
"node": ">=22.0.0"
|
package/dist/config.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,KAAK,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAoD1C,eAAO,MAAM,MAAM;;;;CAQlB,CAAC"}
|
package/dist/config.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,OAAO,MAAM,cAAc,CAAC;AAInC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;AACxE,MAAM,iBAAiB,GAAa,MAAM,CAAC;AAC3C,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAEtC,MAAM,WAAW,GAAG,CAAC,KAAa,EAAW,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAErE,MAAM,aAAa,GAAG,CAAC,KAAyB,EAAwB,EAAE;IACxE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,OAAO,CAAC;QACb,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,KAAK,CAAC;QACf;YACE,MAAM,IAAI,KAAK,CACb,4BAA4B,KAAK,8BAA8B,CAChE,CAAC;IACN,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CACrB,KAAyB,EACzB,IAAY,EACQ,EAAE;IACtB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,sBAAsB,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,mCAAmC,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,GAAsB,EAAU,EAAE;IACvD,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC;IAC/B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,OAAO,KAAK,UAAU;YAAE,OAAO,UAAU,CAAC;QAC9C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC;IAClC,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,iBAAiB;IACzE,aAAa,EACX,cAAc,CACZ,OAAO,CAAC,GAAG,CAAC,qBAAqB,EACjC,uBAAuB,CACxB,IAAI,uBAAuB;CAC/B,CAAC"}
|
package/dist/core/db.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/core/db.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAG/D,OAAO,EACL,KAAK,MAAM,EAGX,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAqI5C,eAAO,MAAM,EAAE,cAAgC,CAAC;AAEhD,eAAO,MAAM,OAAO,QAAO,IAG1B,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,UAAU,CAAC;AAKpE,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,KAAG,aAiB3C,CAAC;AAqCF,eAAO,MAAM,UAAU,GACrB,MAAM,aAAa,EACnB,GAAG,QAAQ,QAAQ,EAAE,KACpB,KAAK,EAAuC,CAAC;AAEhD,eAAO,MAAM,UAAU,GACrB,MAAM,aAAa,EACnB,GAAG,QAAQ,QAAQ,EAAE,KACpB,KAAK,GAAG,SAAoD,CAAC;AAEhE,eAAO,MAAM,UAAU,GACrB,MAAM,aAAa,EACnB,GAAG,QAAQ,QAAQ,EAAE,KACpB;IAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;CAAsC,CAAC;AAEpE,eAAO,MAAM,wBAAwB,GAAI,CAAC,EAAE,WAAW,MAAM,CAAC,KAAG,CAahE,CAAC;AAsBF,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,EAAE,OAAO,MAAM,KAAG,MAM7D,CAAC;AAkCF,eAAO,MAAM,cAAc,GAAI,KAAK,KAAK,EAAE,OAAM,MAAM,EAAO,KAAG,MAU/D,CAAC;AAEH,eAAO,MAAM,oBAAoB,GAC/B,KAAK,KAAK,EACV,OAAM,MAAM,EAAO,KAClB,YAGD,CAAC;AAEH,eAAO,MAAM,oBAAoB,GAAI,KAAK,KAAK,KAAG,YAMhD,CAAC;AA0BH,eAAO,MAAM,oBAAoB,GAC/B,WAAW,SAAS,MAAM,EAAE,KAC3B,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAatB,CAAC"}
|
package/dist/core/db.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/core/db.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"memory-read.d.ts","sourceRoot":"","sources":["../../src/core/memory-read.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,iBAAiB,EACjB,MAAM,EACN,WAAW,EACX,eAAe,EAChB,MAAM,aAAa,CAAC;AAoBrB,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,KAAG,MAAM,GAAG,SASjD,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,eAG3C,CAAC;AAoBF,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,EAAE,KAAG,iBAejD,CAAC;AA4BF,eAAO,MAAM,QAAQ,QAAO,WAU3B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"memory-read.js","sourceRoot":"","sources":["../../src/core/memory-read.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"memory-write.d.ts","sourceRoot":"","sources":["../../src/core/memory-write.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAqGrB,eAAO,MAAM,YAAY,GAAI,OAAO;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,UAAU,CAAC;CAC1B,KAAG,kBAC8D,CAAC;AAqBnE,eAAO,MAAM,cAAc,GACzB,OAAO;IACL,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,UAAU,CAAC;CAC1B,EAAE,KACF,gBAEF,CAAC;AA6EF,UAAU,mBAAmB;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CACtC;AAeD,eAAO,MAAM,YAAY,GACvB,MAAM,MAAM,EACZ,SAAS,mBAAmB,KAC3B,kBAoBF,CAAC"}
|