@sharkdyt/omni-memory-mcp 1.0.2 → 1.0.4
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 +64 -20
- package/dist/database.d.ts +3 -1
- package/dist/database.d.ts.map +1 -1
- package/dist/database.js +65 -8
- package/dist/database.js.map +1 -1
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/dist/tools/search.d.ts +1 -0
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +3 -2
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/stats.d.ts +7 -0
- package/dist/tools/stats.d.ts.map +1 -0
- package/dist/tools/stats.js +53 -0
- package/dist/tools/stats.js.map +1 -0
- package/dist/types.d.ts +7 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@ Universal memory MCP server for multi-agent workflows.
|
|
|
7
7
|
|
|
8
8
|
- Package: `@sharkdyt/omni-memory-mcp`
|
|
9
9
|
- npm: `https://www.npmjs.com/package/@sharkdyt/omni-memory-mcp`
|
|
10
|
-
- Current `latest`: `1.0.
|
|
10
|
+
- Current `latest`: `1.0.4`
|
|
11
11
|
|
|
12
12
|
## Project Memory
|
|
13
13
|
|
|
@@ -26,6 +26,7 @@ Operational context is stored through Omni Memory itself.
|
|
|
26
26
|
- Full-text search with FTS5
|
|
27
27
|
- MCP-native tools
|
|
28
28
|
- CRUD operations (`memory_add`, `memory_get`, `memory_update`, `memory_delete`, `memory_list`, `memory_search`)
|
|
29
|
+
- Diagnostic tools (`memory_stats`)
|
|
29
30
|
- Organization by `area`, `project`, and `tags`
|
|
30
31
|
- Shared long-term memory across multiple projects and multiple coding agents/clients
|
|
31
32
|
- Canonical MCP config + client adapters (OpenCode, Codex, Cursor)
|
|
@@ -54,6 +55,12 @@ Generated files:
|
|
|
54
55
|
|
|
55
56
|
- `config/mcp/generated/opencode.windows.json`
|
|
56
57
|
- `config/mcp/generated/opencode.posix.json`
|
|
58
|
+
- `config/mcp/generated/opencode.windows.array.npx.json`
|
|
59
|
+
- `config/mcp/generated/opencode.windows.string-args.npx.json`
|
|
60
|
+
- `config/mcp/generated/opencode.windows.array.fallback-dist.json`
|
|
61
|
+
- `config/mcp/generated/opencode.posix.array.npx.json`
|
|
62
|
+
- `config/mcp/generated/opencode.posix.string-args.npx.json`
|
|
63
|
+
- `config/mcp/generated/opencode.posix.array.fallback-dist.json`
|
|
57
64
|
- `config/mcp/generated/codex.windows.json`
|
|
58
65
|
- `config/mcp/generated/codex.posix.json`
|
|
59
66
|
- `config/mcp/generated/cursor.windows.json`
|
|
@@ -86,26 +93,24 @@ This is the easiest setup because:
|
|
|
86
93
|
- No manual build path
|
|
87
94
|
- Works after npm registry publish
|
|
88
95
|
|
|
89
|
-
### OpenCode
|
|
96
|
+
### OpenCode compatibility profiles
|
|
90
97
|
|
|
91
|
-
OpenCode
|
|
92
|
-
|
|
93
|
-
- `environment` (not `env`)
|
|
98
|
+
OpenCode support can vary by client version and environment.
|
|
99
|
+
This repository now generates three OpenCode profiles for each platform:
|
|
94
100
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
```
|
|
101
|
+
- `array.npx`: `command` as array (`["npx","-y","@sharkdyt/omni-memory-mcp"]`)
|
|
102
|
+
- `string-args.npx`: `command` as string + `args`
|
|
103
|
+
- `array.fallback-dist`: shell command that tries `npx` and falls back to local `dist/index.js`
|
|
104
|
+
|
|
105
|
+
Recommended default for OpenCode:
|
|
106
|
+
|
|
107
|
+
- `config/mcp/generated/opencode.<platform>.json` (this points to `array.fallback-dist`)
|
|
108
|
+
|
|
109
|
+
If you prefer explicit profile selection, copy one of:
|
|
110
|
+
|
|
111
|
+
- `config/mcp/generated/opencode.<platform>.array.npx.json`
|
|
112
|
+
- `config/mcp/generated/opencode.<platform>.string-args.npx.json`
|
|
113
|
+
- `config/mcp/generated/opencode.<platform>.array.fallback-dist.json`
|
|
109
114
|
|
|
110
115
|
## Path Guide (Relative vs Absolute)
|
|
111
116
|
|
|
@@ -170,6 +175,12 @@ npm run mcp:generate
|
|
|
170
175
|
|
|
171
176
|
Then copy the generated file for your client/platform from `config/mcp/generated/`.
|
|
172
177
|
|
|
178
|
+
### OpenCode troubleshooting priority
|
|
179
|
+
|
|
180
|
+
1. Use `opencode.<platform>.json` first (default fallback profile).
|
|
181
|
+
2. If your OpenCode build prefers native `npx` only, try `opencode.<platform>.array.npx.json`.
|
|
182
|
+
3. If your OpenCode build requires `command` string + `args`, use `opencode.<platform>.string-args.npx.json`.
|
|
183
|
+
|
|
173
184
|
## Tools
|
|
174
185
|
|
|
175
186
|
### `memory_add`
|
|
@@ -226,10 +237,20 @@ Then copy the generated file for your client/platform from `config/mcp/generated
|
|
|
226
237
|
{
|
|
227
238
|
"query": "typescript configuration",
|
|
228
239
|
"project": "my-project",
|
|
229
|
-
"limit": 10
|
|
240
|
+
"limit": 10,
|
|
241
|
+
"enableAdvancedSyntax": false
|
|
230
242
|
}
|
|
231
243
|
```
|
|
232
244
|
|
|
245
|
+
*Note: `enableAdvancedSyntax` allows FTS5 boolean logic (e.g. `"typescript" AND "react" NOT "vue"`) but requires a strictly valid FTS5 query or it will throw an error.*
|
|
246
|
+
|
|
247
|
+
### `memory_stats`
|
|
248
|
+
|
|
249
|
+
```json
|
|
250
|
+
{}
|
|
251
|
+
```
|
|
252
|
+
*Returns total memories, size on disk, and breakdown by project and area.*
|
|
253
|
+
|
|
233
254
|
## Memory Areas
|
|
234
255
|
|
|
235
256
|
| Area | Description |
|
|
@@ -273,6 +294,29 @@ npm run dev # watch mode
|
|
|
273
294
|
npm run start # run server from dist/
|
|
274
295
|
```
|
|
275
296
|
|
|
297
|
+
## Documentation and Memory Hygiene
|
|
298
|
+
|
|
299
|
+
For every meaningful project change, keep both sources of truth updated:
|
|
300
|
+
|
|
301
|
+
1. Repository docs (`README.md`, `docs/*`, compatibility/config docs) must reflect current behavior.
|
|
302
|
+
2. Omni Memory must receive a concise project memory entry with:
|
|
303
|
+
- what changed,
|
|
304
|
+
- why it changed,
|
|
305
|
+
- constraints/assumptions,
|
|
306
|
+
- next steps (if any).
|
|
307
|
+
|
|
308
|
+
Minimum release/update gate:
|
|
309
|
+
|
|
310
|
+
1. `npm run mcp:generate`
|
|
311
|
+
2. `npm run mcp:validate`
|
|
312
|
+
3. `npm run check`
|
|
313
|
+
4. Update docs for any behavior/config change
|
|
314
|
+
5. Add/update important project memory in Omni Memory
|
|
315
|
+
|
|
316
|
+
Operational checklist:
|
|
317
|
+
|
|
318
|
+
- `docs/release-checklist.md`
|
|
319
|
+
|
|
276
320
|
## License
|
|
277
321
|
|
|
278
322
|
Apache 2.0. See `LICENSE`.
|
package/dist/database.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Omni Memory MCP - Database Module
|
|
3
3
|
* SQLite + FTS5 for local memory storage and full-text search
|
|
4
4
|
*/
|
|
5
|
-
import type { Memory, AddMemoryArgs, UpdateMemoryArgs, ListMemoryArgs, SearchMemoryArgs, SearchResult } from "./types.js";
|
|
5
|
+
import type { Memory, AddMemoryArgs, UpdateMemoryArgs, ListMemoryArgs, SearchMemoryArgs, SearchResult, MemoryStats } from "./types.js";
|
|
6
6
|
declare function normalizeUserPath(inputPath: string): string;
|
|
7
7
|
declare function resolveStoragePaths(): {
|
|
8
8
|
dataDir: string;
|
|
@@ -19,7 +19,9 @@ export declare function deleteMemory(id: string): {
|
|
|
19
19
|
changes: number;
|
|
20
20
|
};
|
|
21
21
|
export declare function listMemories(args: ListMemoryArgs): Memory[];
|
|
22
|
+
export declare function getStats(): MemoryStats;
|
|
22
23
|
export declare function searchMemories(args: SearchMemoryArgs): SearchResult[];
|
|
24
|
+
export declare function fallbackSearch(args: SearchMemoryArgs): SearchResult[];
|
|
23
25
|
export declare function closeDatabase(): void;
|
|
24
26
|
export { resolveStoragePaths, normalizeUserPath };
|
|
25
27
|
export declare function resetDatabase(): void;
|
package/dist/database.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EACV,MAAM,EAEN,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,YAAY,
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EACV,MAAM,EAEN,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACZ,MAAM,YAAY,CAAC;AAcpB,iBAAS,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CASpD;AAED,iBAAS,mBAAmB,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAQlE;AAyFD,wBAAgB,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAe7D;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMnD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAwBxE;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAM5D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,EAAE,CA6B3D;AAED,wBAAgB,QAAQ,IAAI,WAAW,CAiCtC;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,gBAAgB,GAAG,YAAY,EAAE,CA0DrE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,gBAAgB,GAAG,YAAY,EAAE,CA0CrE;AAED,wBAAgB,aAAa,IAAI,IAAI,CAKpC;AAED,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,CAAC;AAGlD,wBAAgB,aAAa,IAAI,IAAI,CASpC"}
|
package/dist/database.js
CHANGED
|
@@ -28,7 +28,7 @@ function resolveStoragePaths() {
|
|
|
28
28
|
const defaultDir = join(homedir(), ".omni-memory");
|
|
29
29
|
const dataDir = normalizeUserPath(process.env.OMNI_MEMORY_DIR || defaultDir);
|
|
30
30
|
const dbPath = process.env.OMNI_MEMORY_DB
|
|
31
|
-
? normalizeUserPath(process.env.OMNI_MEMORY_DB)
|
|
31
|
+
? (process.env.OMNI_MEMORY_DB === ":memory:" ? ":memory:" : normalizeUserPath(process.env.OMNI_MEMORY_DB))
|
|
32
32
|
: join(dataDir, "omni-memory.db");
|
|
33
33
|
return { dataDir, dbPath };
|
|
34
34
|
}
|
|
@@ -41,9 +41,11 @@ function getDatabase() {
|
|
|
41
41
|
if (!existsSync(DATA_DIR)) {
|
|
42
42
|
mkdirSync(DATA_DIR, { recursive: true });
|
|
43
43
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
if (DB_PATH !== ":memory:") {
|
|
45
|
+
const dbDirectory = dirname(DB_PATH);
|
|
46
|
+
if (!existsSync(dbDirectory)) {
|
|
47
|
+
mkdirSync(dbDirectory, { recursive: true });
|
|
48
|
+
}
|
|
47
49
|
}
|
|
48
50
|
db = new Database(DB_PATH);
|
|
49
51
|
db.pragma("journal_mode = WAL");
|
|
@@ -174,11 +176,49 @@ export function listMemories(args) {
|
|
|
174
176
|
const rows = stmt.all(...params);
|
|
175
177
|
return rows.map(rowToMemory);
|
|
176
178
|
}
|
|
179
|
+
export function getStats() {
|
|
180
|
+
const database = getDatabase();
|
|
181
|
+
const total = database.prepare("SELECT count(*) as c FROM memories").get()?.c || 0;
|
|
182
|
+
const byAreaRows = database.prepare("SELECT area, count(*) as c FROM memories GROUP BY area").all();
|
|
183
|
+
const by_area = byAreaRows.reduce((acc, row) => {
|
|
184
|
+
acc[row.area || "general"] = row.c;
|
|
185
|
+
return acc;
|
|
186
|
+
}, {});
|
|
187
|
+
const byProjectRows = database.prepare("SELECT project, count(*) as c FROM memories GROUP BY project").all();
|
|
188
|
+
const by_project = byProjectRows.reduce((acc, row) => {
|
|
189
|
+
acc[row.project || "unassigned"] = row.c;
|
|
190
|
+
return acc;
|
|
191
|
+
}, {});
|
|
192
|
+
let total_size_bytes = 0;
|
|
193
|
+
if (DB_PATH !== ":memory:" && existsSync(DB_PATH)) {
|
|
194
|
+
try {
|
|
195
|
+
const stats = require("fs").statSync(DB_PATH);
|
|
196
|
+
total_size_bytes = stats.size;
|
|
197
|
+
}
|
|
198
|
+
catch {
|
|
199
|
+
// Ignore if stat fails
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
return {
|
|
203
|
+
total_memories: total,
|
|
204
|
+
by_area,
|
|
205
|
+
by_project,
|
|
206
|
+
total_size_bytes,
|
|
207
|
+
};
|
|
208
|
+
}
|
|
177
209
|
export function searchMemories(args) {
|
|
178
210
|
const database = getDatabase();
|
|
179
211
|
const limit = Math.min(args.limit || 10, 50);
|
|
212
|
+
// Helper to sanitize FTS5 query to prevent syntax errors on special chars
|
|
213
|
+
// Removes unmatched quotes and escapes FTS keywords if present
|
|
214
|
+
const sanitizeFtsQuery = (rawQuery) => {
|
|
215
|
+
let clean = rawQuery.replace(/[\^+\-*'"~]/g, " "); // Replace FTS5 syntax chars with spaces
|
|
216
|
+
// Alternatively, you could wrap the whole thing in double quotes,
|
|
217
|
+
// but simply stripping operators guarantees no parse error for plain text queries
|
|
218
|
+
return clean.trim() ? `"${clean.replace(/"/g, '""').trim()}"` : rawQuery;
|
|
219
|
+
};
|
|
180
220
|
// Build FTS5 query with filters
|
|
181
|
-
let ftsQuery = args.query;
|
|
221
|
+
let ftsQuery = args.enableAdvancedSyntax ? args.query : sanitizeFtsQuery(args.query);
|
|
182
222
|
// Add area filter to query
|
|
183
223
|
if (args.area) {
|
|
184
224
|
// We'll filter results after search
|
|
@@ -210,15 +250,32 @@ export function searchMemories(args) {
|
|
|
210
250
|
}));
|
|
211
251
|
}
|
|
212
252
|
catch (error) {
|
|
253
|
+
if (args.enableAdvancedSyntax) {
|
|
254
|
+
throw new Error(`Invalid FTS5 advanced syntax: ${error instanceof Error ? error.message : String(error)}`);
|
|
255
|
+
}
|
|
213
256
|
// FTS5 might fail on special characters, fallback to LIKE search
|
|
214
257
|
return fallbackSearch(args);
|
|
215
258
|
}
|
|
216
259
|
}
|
|
217
|
-
function fallbackSearch(args) {
|
|
260
|
+
export function fallbackSearch(args) {
|
|
218
261
|
const database = getDatabase();
|
|
219
262
|
const limit = Math.min(args.limit || 10, 50);
|
|
220
|
-
|
|
221
|
-
const
|
|
263
|
+
// Split query into individual words, ignore empty spaces
|
|
264
|
+
const words = args.query.trim().split(/\s+/).filter(Boolean);
|
|
265
|
+
let sql = "SELECT * FROM memories WHERE 1=1";
|
|
266
|
+
const params = [];
|
|
267
|
+
// If there are words, add a LIKE condition for each word
|
|
268
|
+
if (words.length > 0) {
|
|
269
|
+
for (const word of words) {
|
|
270
|
+
sql += " AND content LIKE ?";
|
|
271
|
+
params.push(`%${word}%`);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
else {
|
|
275
|
+
// Fallback if empty query
|
|
276
|
+
sql += " AND content LIKE ?";
|
|
277
|
+
params.push(`%${args.query}%`);
|
|
278
|
+
}
|
|
222
279
|
if (args.area) {
|
|
223
280
|
sql += " AND area = ?";
|
|
224
281
|
params.push(args.area);
|
package/dist/database.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -12,10 +12,19 @@ import { schema as updateSchema, handler as updateHandler } from "./tools/update
|
|
|
12
12
|
import { schema as deleteSchema, handler as deleteHandler } from "./tools/delete.js";
|
|
13
13
|
import { schema as listSchema, handler as listHandler } from "./tools/list.js";
|
|
14
14
|
import { schema as searchSchema, handler as searchHandler } from "./tools/search.js";
|
|
15
|
+
import { schema as statsSchema, handler as statsHandler } from "./tools/stats.js";
|
|
16
|
+
import { readFileSync } from "fs";
|
|
17
|
+
import { dirname, join } from "path";
|
|
18
|
+
import { fileURLToPath } from "url";
|
|
19
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
20
|
+
const __dirname = dirname(__filename);
|
|
21
|
+
// Read version dynamically from package.json to stay in sync
|
|
22
|
+
const packageJsonPath = join(__dirname, "..", "package.json");
|
|
23
|
+
const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
|
|
15
24
|
// Create MCP server
|
|
16
25
|
const server = new McpServer({
|
|
17
26
|
name: "omni-memory-mcp",
|
|
18
|
-
version: "1.0.0",
|
|
27
|
+
version: packageJson.version || "1.0.0",
|
|
19
28
|
});
|
|
20
29
|
// Register tools
|
|
21
30
|
server.tool("memory_add", "Add a memory to the universal memory store. Memories can be searched and retrieved later.", addSchema, addHandler);
|
|
@@ -24,6 +33,7 @@ server.tool("memory_update", "Update an existing memory's content, area, project
|
|
|
24
33
|
server.tool("memory_delete", "Delete a memory by its ID.", deleteSchema, deleteHandler);
|
|
25
34
|
server.tool("memory_list", "List memories with optional filters by area, project, or tag.", listSchema, listHandler);
|
|
26
35
|
server.tool("memory_search", "Full-text search across all memories using FTS5.", searchSchema, searchHandler);
|
|
36
|
+
server.tool("memory_stats", "Get statistics about the Omni Memory database, including total memories, size on disk, and counts by area and project.", statsSchema, statsHandler);
|
|
27
37
|
// Graceful shutdown
|
|
28
38
|
process.on("SIGINT", async () => {
|
|
29
39
|
await server.close();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/search.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export declare const schema: {
|
|
|
8
8
|
area: z.ZodOptional<z.ZodEnum<["general", "snippets", "solutions", "preferences"]>>;
|
|
9
9
|
project: z.ZodOptional<z.ZodString>;
|
|
10
10
|
limit: z.ZodOptional<z.ZodNumber>;
|
|
11
|
+
enableAdvancedSyntax: z.ZodOptional<z.ZodBoolean>;
|
|
11
12
|
};
|
|
12
13
|
export declare const handler: ToolCallback<typeof schema>;
|
|
13
14
|
//# sourceMappingURL=search.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,eAAO,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,eAAO,MAAM,MAAM;;;;;;CAMlB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,YAAY,CAAC,OAAO,MAAM,CA2C/C,CAAC"}
|
package/dist/tools/search.js
CHANGED
|
@@ -8,10 +8,11 @@ export const schema = {
|
|
|
8
8
|
area: z.enum(["general", "snippets", "solutions", "preferences"]).optional().describe("Filter by area"),
|
|
9
9
|
project: z.string().optional().describe("Filter by project"),
|
|
10
10
|
limit: z.number().min(1).max(50).optional().describe("Max results (default: 10, max: 50)"),
|
|
11
|
+
enableAdvancedSyntax: z.boolean().optional().describe("Enable FTS5 boolean and wildcard advanced syntax"),
|
|
11
12
|
};
|
|
12
|
-
export const handler = async ({ query, area, project, limit }) => {
|
|
13
|
+
export const handler = async ({ query, area, project, limit, enableAdvancedSyntax }) => {
|
|
13
14
|
try {
|
|
14
|
-
const results = searchMemories({ query, area, project, limit });
|
|
15
|
+
const results = searchMemories({ query, area, project, limit, enableAdvancedSyntax });
|
|
15
16
|
if (results.length === 0) {
|
|
16
17
|
return {
|
|
17
18
|
content: [
|
package/dist/tools/search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhD,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACvG,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC5D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhD,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACvG,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC5D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IAC1F,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;CAC1G,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAgC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,EAAE;IAClH,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,cAAc,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAEtF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,gCAAgC,KAAK,GAAG;qBAC/C;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,OAAO;aACxB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACZ,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;YACjD,MAAM,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACzF,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,IAAI,IAAI,UAAU,YAAY,CAAC,CAAC,EAAE,QAAQ,OAAO,EAAE,CAAC;QACtF,CAAC,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,SAAS,OAAO,CAAC,MAAM,kBAAkB,KAAK,SAAS,WAAW,EAAE;iBAC3E;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,kBAAkB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBACjF;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/tools/stats.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,eAAO,MAAM,MAAM,IAAK,CAAC;AAEzB,eAAO,MAAM,OAAO,EAAE,YAAY,CAAC,OAAO,MAAM,CAiD/C,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* memory_stats tool - Get statistics about the Omni Memory database
|
|
3
|
+
*/
|
|
4
|
+
import { getStats } from "../database.js";
|
|
5
|
+
export const schema = {};
|
|
6
|
+
export const handler = async () => {
|
|
7
|
+
try {
|
|
8
|
+
const stats = getStats();
|
|
9
|
+
const formatBytes = (bytes) => {
|
|
10
|
+
if (bytes === 0)
|
|
11
|
+
return "0 Bytes";
|
|
12
|
+
const k = 1024;
|
|
13
|
+
const sizes = ["Bytes", "KB", "MB", "GB"];
|
|
14
|
+
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
15
|
+
return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + " " + sizes[i];
|
|
16
|
+
};
|
|
17
|
+
const areasList = Object.entries(stats.by_area)
|
|
18
|
+
.map(([area, count]) => ` - ${area}: ${count}`)
|
|
19
|
+
.join("\n");
|
|
20
|
+
const projectsList = Object.entries(stats.by_project)
|
|
21
|
+
.map(([project, count]) => ` - ${project}: ${count}`)
|
|
22
|
+
.join("\n");
|
|
23
|
+
const text = `Omni Memory Database Statistics:
|
|
24
|
+
Total Memories: ${stats.total_memories}
|
|
25
|
+
Total Size on Disk: ${stats.total_size_bytes > 0 ? formatBytes(stats.total_size_bytes) : "Unknown (Memory DB)"}
|
|
26
|
+
|
|
27
|
+
By Area:
|
|
28
|
+
${areasList || " (None)"}
|
|
29
|
+
|
|
30
|
+
By Project:
|
|
31
|
+
${projectsList || " (None)"}`;
|
|
32
|
+
return {
|
|
33
|
+
content: [
|
|
34
|
+
{
|
|
35
|
+
type: "text",
|
|
36
|
+
text,
|
|
37
|
+
},
|
|
38
|
+
],
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
return {
|
|
43
|
+
content: [
|
|
44
|
+
{
|
|
45
|
+
type: "text",
|
|
46
|
+
text: `Failed to retrieve stats: ${error instanceof Error ? error.message : String(error)}`,
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
isError: true,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=stats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/tools/stats.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,CAAC;AAEzB,MAAM,CAAC,MAAM,OAAO,GAAgC,KAAK,IAAI,EAAE;IAC3D,IAAI,CAAC;QACD,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;QAEzB,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,EAAE;YAClC,IAAI,KAAK,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC;YAClC,MAAM,CAAC,GAAG,IAAI,CAAC;YACf,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,OAAO,UAAU,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5E,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;aAC1C,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,KAAK,EAAE,CAAC;aAC/C,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhB,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;aAChD,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,OAAO,KAAK,KAAK,EAAE,CAAC;aACrD,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhB,MAAM,IAAI,GAAG;kBACH,KAAK,CAAC,cAAc;sBAChB,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,qBAAqB;;;EAG5G,SAAS,IAAI,UAAU;;;EAGvB,YAAY,IAAI,UAAU,EAAE,CAAC;QAEvB,OAAO;YACH,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,MAAe;oBACrB,IAAI;iBACP;aACJ;SACJ,CAAC;IACN,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO;YACH,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBAC9F;aACJ;YACD,OAAO,EAAE,IAAI;SAChB,CAAC;IACN,CAAC;AACL,CAAC,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -41,10 +41,17 @@ export interface SearchMemoryArgs {
|
|
|
41
41
|
area?: MemoryArea;
|
|
42
42
|
project?: string;
|
|
43
43
|
limit?: number;
|
|
44
|
+
enableAdvancedSyntax?: boolean;
|
|
44
45
|
}
|
|
45
46
|
export interface SearchResult extends Memory {
|
|
46
47
|
score: number;
|
|
47
48
|
}
|
|
49
|
+
export interface MemoryStats {
|
|
50
|
+
total_memories: number;
|
|
51
|
+
by_area: Record<string, number>;
|
|
52
|
+
by_project: Record<string, number>;
|
|
53
|
+
total_size_bytes: number;
|
|
54
|
+
}
|
|
48
55
|
export interface AddMemoryResult {
|
|
49
56
|
success: boolean;
|
|
50
57
|
id: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,CAAC;AAE9E,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,CAAC;AAE9E,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,YAAa,SAAQ,MAAM;IAC1C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sharkdyt/omni-memory-mcp",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "Universal memory MCP server for multi-agent AI workflows. 100% local with SQLite + FTS5.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -65,4 +65,4 @@
|
|
|
65
65
|
"publishConfig": {
|
|
66
66
|
"access": "public"
|
|
67
67
|
}
|
|
68
|
-
}
|
|
68
|
+
}
|