mor 0.5.0 → 0.6.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/dist/cli.js +85 -27
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/db.d.ts +7 -1
- package/dist/db.js +66 -46
- package/dist/db.js.map +1 -1
- package/dist/embeddings/azure-openai.d.ts +1 -1
- package/dist/embeddings/ollama.d.ts +1 -1
- package/dist/embeddings/openai.d.ts +1 -1
- package/dist/embeddings/provider.d.ts +1 -1
- package/dist/filter.d.ts +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +27 -49
- package/dist/index.js.map +1 -1
- package/dist/mcp.js +98 -27
- package/dist/mcp.js.map +1 -1
- package/dist/memory.d.ts +14 -3
- package/dist/memory.js +59 -40
- package/dist/memory.js.map +1 -1
- package/dist/operations-client.d.ts +38 -0
- package/dist/operations-client.js +101 -0
- package/dist/operations-client.js.map +1 -0
- package/dist/operations-local.d.ts +43 -0
- package/dist/operations-local.js +307 -0
- package/dist/operations-local.js.map +1 -0
- package/dist/operations-remote.d.ts +39 -0
- package/dist/operations-remote.js +80 -0
- package/dist/operations-remote.js.map +1 -0
- package/dist/operations-server.d.ts +8 -0
- package/dist/operations-server.js +215 -0
- package/dist/operations-server.js.map +1 -0
- package/dist/operations.d.ts +64 -40
- package/dist/operations.js +9 -142
- package/dist/operations.js.map +1 -1
- package/dist/server.js +1 -1
- package/dist/server.js.map +1 -1
- package/package.json +4 -1
package/dist/index.js
CHANGED
|
@@ -1,11 +1,24 @@
|
|
|
1
1
|
import crypto from 'node:crypto';
|
|
2
|
-
import fs from 'node:fs';
|
|
3
2
|
import { clearDb, deleteMemoryFromDb, getAllMemoryIds, getContentHash, searchFts, upsertMemoryChecked, } from './db.js';
|
|
4
3
|
import { createProvider, } from './embeddings/provider.js';
|
|
5
|
-
import { listMemoryFiles, readMemory } from './memory.js';
|
|
4
|
+
import { listMemoryFiles, readMemory, readMemoryWithRaw } from './memory.js';
|
|
6
5
|
export function hashContent(content) {
|
|
7
6
|
return crypto.createHash('sha256').update(content).digest('hex');
|
|
8
7
|
}
|
|
8
|
+
export function upsertFromMemory(db, mem, raw) {
|
|
9
|
+
upsertMemoryChecked(db, {
|
|
10
|
+
id: mem.id,
|
|
11
|
+
title: mem.title,
|
|
12
|
+
tags: mem.tags,
|
|
13
|
+
type: mem.type,
|
|
14
|
+
repository: mem.repository,
|
|
15
|
+
created: mem.created,
|
|
16
|
+
updated: mem.updated,
|
|
17
|
+
content: mem.content,
|
|
18
|
+
filePath: mem.filePath,
|
|
19
|
+
contentHash: hashContent(raw),
|
|
20
|
+
});
|
|
21
|
+
}
|
|
9
22
|
const lastSyncMap = new WeakMap();
|
|
10
23
|
/** Debounced syncIndex for read paths — skips if synced within 200ms */
|
|
11
24
|
export function syncIndexIfNeeded(config, db) {
|
|
@@ -21,34 +34,16 @@ export function syncIndex(config, db) {
|
|
|
21
34
|
const dbIds = getAllMemoryIds(db);
|
|
22
35
|
const seenIds = new Set();
|
|
23
36
|
for (const filePath of files) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
mem = readMemory(filePath);
|
|
27
|
-
}
|
|
28
|
-
catch (e) {
|
|
29
|
-
process.stderr.write(`Warning: skipping unreadable memory ${filePath}: ${e instanceof Error ? e.message : e}\n`);
|
|
37
|
+
const result = readMemoryWithRaw(filePath);
|
|
38
|
+
if (!result)
|
|
30
39
|
continue;
|
|
31
|
-
}
|
|
40
|
+
const { mem, raw } = result;
|
|
32
41
|
seenIds.add(mem.id);
|
|
33
|
-
const raw = fs.readFileSync(filePath, 'utf-8');
|
|
34
|
-
const hash = hashContent(raw);
|
|
35
42
|
const existingHash = getContentHash(db, mem.id);
|
|
36
|
-
if (existingHash !==
|
|
37
|
-
|
|
38
|
-
id: mem.id,
|
|
39
|
-
title: mem.title,
|
|
40
|
-
tags: mem.tags,
|
|
41
|
-
type: mem.type,
|
|
42
|
-
repository: mem.repository,
|
|
43
|
-
created: mem.created,
|
|
44
|
-
updated: mem.updated,
|
|
45
|
-
content: mem.content,
|
|
46
|
-
filePath,
|
|
47
|
-
contentHash: hash,
|
|
48
|
-
});
|
|
43
|
+
if (existingHash !== hashContent(raw)) {
|
|
44
|
+
upsertFromMemory(db, mem, raw);
|
|
49
45
|
}
|
|
50
46
|
}
|
|
51
|
-
// Delete DB entries for files that no longer exist
|
|
52
47
|
for (const id of dbIds) {
|
|
53
48
|
if (!seenIds.has(id)) {
|
|
54
49
|
deleteMemoryFromDb(db, id);
|
|
@@ -59,32 +54,17 @@ export async function reindex(config, db) {
|
|
|
59
54
|
clearDb(db);
|
|
60
55
|
const files = listMemoryFiles(config);
|
|
61
56
|
const provider = createProvider(config.embedding);
|
|
57
|
+
let count = 0;
|
|
62
58
|
for (const filePath of files) {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
mem = readMemory(filePath);
|
|
66
|
-
}
|
|
67
|
-
catch (e) {
|
|
68
|
-
process.stderr.write(`Warning: skipping unreadable memory ${filePath}: ${e instanceof Error ? e.message : e}\n`);
|
|
59
|
+
const result = readMemoryWithRaw(filePath);
|
|
60
|
+
if (!result)
|
|
69
61
|
continue;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
const hash = hashContent(raw);
|
|
73
|
-
upsertMemoryChecked(db, {
|
|
74
|
-
id: mem.id,
|
|
75
|
-
title: mem.title,
|
|
76
|
-
tags: mem.tags,
|
|
77
|
-
type: mem.type,
|
|
78
|
-
repository: mem.repository,
|
|
79
|
-
created: mem.created,
|
|
80
|
-
updated: mem.updated,
|
|
81
|
-
content: mem.content,
|
|
82
|
-
filePath,
|
|
83
|
-
contentHash: hash,
|
|
84
|
-
});
|
|
62
|
+
const { mem, raw } = result;
|
|
63
|
+
upsertFromMemory(db, mem, raw);
|
|
85
64
|
await computeAndStoreEmbedding(db, provider, mem);
|
|
65
|
+
count++;
|
|
86
66
|
}
|
|
87
|
-
return
|
|
67
|
+
return count;
|
|
88
68
|
}
|
|
89
69
|
export async function computeAndStoreEmbedding(db, provider, mem) {
|
|
90
70
|
if (provider.name === 'none')
|
|
@@ -100,7 +80,6 @@ export async function searchAsync(config, db, query, limit = 20, provider) {
|
|
|
100
80
|
syncIndexIfNeeded(config, db);
|
|
101
81
|
const ftsResults = searchFts(db, query, limit);
|
|
102
82
|
const ftsMap = new Map(ftsResults.map((r) => [r.id, r.score]));
|
|
103
|
-
// Check for embeddings
|
|
104
83
|
const embeddingRows = db
|
|
105
84
|
.prepare('SELECT COUNT(*) as count FROM embeddings')
|
|
106
85
|
.get();
|
|
@@ -124,7 +103,6 @@ export async function searchAsync(config, db, query, limit = 20, provider) {
|
|
|
124
103
|
vectorScores.sort((a, b) => b.score - a.score);
|
|
125
104
|
const topVector = vectorScores.slice(0, limit);
|
|
126
105
|
const vectorMap = new Map(topVector.map((r) => [r.id, r.score]));
|
|
127
|
-
// Merge: FTS weight 0.6, vector weight 0.4
|
|
128
106
|
const allIds = new Set([...ftsMap.keys(), ...vectorMap.keys()]);
|
|
129
107
|
const merged = [];
|
|
130
108
|
for (const id of allIds) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp.js
CHANGED
|
@@ -2,29 +2,102 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
|
2
2
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import { z } from 'zod';
|
|
5
|
+
import { createRequire } from 'node:module';
|
|
5
6
|
import { isRemote, loadConfig } from './config.js';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
function simpleDiff(a, b) {
|
|
7
|
+
import { LocalOperations } from './operations-local.js';
|
|
8
|
+
import { RemoteOperations } from './operations-client.js';
|
|
9
|
+
import { MEMORY_TYPES } from './operations.js';
|
|
10
|
+
function unifiedDiff(a, b, ctx = 3) {
|
|
11
11
|
const aLines = a.split('\n');
|
|
12
12
|
const bLines = b.split('\n');
|
|
13
|
-
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
// LCS via Hunt-McIlroy — build edit script
|
|
14
|
+
const n = aLines.length;
|
|
15
|
+
const m = bLines.length;
|
|
16
|
+
const max = n + m;
|
|
17
|
+
const v = new Int32Array(2 * max + 1);
|
|
18
|
+
const trace = [];
|
|
19
|
+
v.fill(-1);
|
|
20
|
+
v[max] = 0;
|
|
21
|
+
outer: for (let d = 0; d <= max; d++) {
|
|
22
|
+
trace.push(v.slice());
|
|
23
|
+
for (let k = -d; k <= d; k += 2) {
|
|
24
|
+
let x;
|
|
25
|
+
if (k === -d || (k !== d && v[k - 1 + max] < v[k + 1 + max])) {
|
|
26
|
+
x = v[k + 1 + max];
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
x = v[k - 1 + max] + 1;
|
|
30
|
+
}
|
|
31
|
+
let y = x - k;
|
|
32
|
+
while (x < n && y < m && aLines[x] === bLines[y]) {
|
|
33
|
+
x++;
|
|
34
|
+
y++;
|
|
35
|
+
}
|
|
36
|
+
v[k + max] = x;
|
|
37
|
+
if (x >= n && y >= m)
|
|
38
|
+
break outer;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
const edits = [];
|
|
42
|
+
let x = n, y = m;
|
|
43
|
+
for (let d = trace.length - 1; d >= 0; d--) {
|
|
44
|
+
const vPrev = trace[d];
|
|
45
|
+
const k = x - y;
|
|
46
|
+
let prevK;
|
|
47
|
+
if (k === -d || (k !== d && vPrev[k - 1 + max] < vPrev[k + 1 + max])) {
|
|
48
|
+
prevK = k + 1;
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
prevK = k - 1;
|
|
52
|
+
}
|
|
53
|
+
const prevX = vPrev[prevK + max];
|
|
54
|
+
const prevY = prevX - prevK;
|
|
55
|
+
while (x > prevX && y > prevY) {
|
|
56
|
+
x--;
|
|
57
|
+
y--;
|
|
58
|
+
edits.push({ type: '=', aLine: x, bLine: y });
|
|
18
59
|
}
|
|
19
|
-
|
|
20
|
-
|
|
60
|
+
if (d > 0) {
|
|
61
|
+
if (x === prevX) {
|
|
62
|
+
y--;
|
|
63
|
+
edits.push({ type: '+', aLine: x, bLine: y });
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
x--;
|
|
67
|
+
edits.push({ type: '-', aLine: x, bLine: y });
|
|
68
|
+
}
|
|
21
69
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
70
|
+
}
|
|
71
|
+
edits.reverse();
|
|
72
|
+
// Build hunks with context
|
|
73
|
+
const hunks = [];
|
|
74
|
+
let hunk = [];
|
|
75
|
+
let lastChange = -Infinity;
|
|
76
|
+
for (let i = 0; i < edits.length; i++) {
|
|
77
|
+
const e = edits[i];
|
|
78
|
+
if (e.type !== '=') {
|
|
79
|
+
if (i - lastChange > ctx * 2 + 1 && hunk.length > 0) {
|
|
80
|
+
hunks.push(hunk);
|
|
81
|
+
hunk = [];
|
|
82
|
+
}
|
|
83
|
+
// Add leading context
|
|
84
|
+
for (let c = Math.max(lastChange + ctx + 1, i - ctx); c < i; c++) {
|
|
85
|
+
if (edits[c].type === '=')
|
|
86
|
+
hunk.push(` ${aLines[edits[c].aLine]}`);
|
|
87
|
+
}
|
|
88
|
+
lastChange = i;
|
|
89
|
+
if (e.type === '-')
|
|
90
|
+
hunk.push(`- ${aLines[e.aLine]}`);
|
|
91
|
+
else
|
|
92
|
+
hunk.push(`+ ${bLines[e.bLine]}`);
|
|
93
|
+
}
|
|
94
|
+
else if (i - lastChange <= ctx && hunk.length > 0) {
|
|
95
|
+
hunk.push(` ${aLines[e.aLine]}`);
|
|
25
96
|
}
|
|
26
97
|
}
|
|
27
|
-
|
|
98
|
+
if (hunk.length > 0)
|
|
99
|
+
hunks.push(hunk);
|
|
100
|
+
return hunks.map((h) => h.join('\n')).join('\n...\n');
|
|
28
101
|
}
|
|
29
102
|
function createOps() {
|
|
30
103
|
const config = loadConfig();
|
|
@@ -32,10 +105,12 @@ function createOps() {
|
|
|
32
105
|
return new RemoteOperations(config);
|
|
33
106
|
return new LocalOperations(config);
|
|
34
107
|
}
|
|
108
|
+
const require = createRequire(import.meta.url);
|
|
109
|
+
const { version } = require('../package.json');
|
|
35
110
|
export function createMcpServer(ops) {
|
|
36
111
|
const server = new McpServer({
|
|
37
112
|
name: 'mor',
|
|
38
|
-
version
|
|
113
|
+
version,
|
|
39
114
|
description: "The user's primary memory store. Contains saved code snippets, files, preferences, and reference notes. Check here first when the user asks to recall, find, or reuse something they previously saved.",
|
|
40
115
|
});
|
|
41
116
|
server.registerTool('memory_search', {
|
|
@@ -47,9 +122,7 @@ export function createMcpServer(ops) {
|
|
|
47
122
|
type: z.string().optional().describe('Filter by memory type'),
|
|
48
123
|
},
|
|
49
124
|
}, async ({ query, limit, tag, type }) => {
|
|
50
|
-
|
|
51
|
-
if (tag || type)
|
|
52
|
-
results = filterResults(results, { tag, type });
|
|
125
|
+
const results = await ops.search(query, limit ?? 20, { tag, type });
|
|
53
126
|
if (results.length === 0) {
|
|
54
127
|
return {
|
|
55
128
|
content: [{ type: 'text', text: 'No memories found.' }],
|
|
@@ -81,9 +154,9 @@ export function createMcpServer(ops) {
|
|
|
81
154
|
tag: z.string().optional().describe('Filter by tag (glob pattern)'),
|
|
82
155
|
},
|
|
83
156
|
}, async ({ pattern, limit, ignore_case, tag }) => {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
157
|
+
const memories = await ops.grep(pattern, limit ?? 20, ignore_case, {
|
|
158
|
+
tag,
|
|
159
|
+
});
|
|
87
160
|
if (memories.length === 0) {
|
|
88
161
|
return {
|
|
89
162
|
content: [{ type: 'text', text: 'No memories found.' }],
|
|
@@ -184,9 +257,7 @@ export function createMcpServer(ops) {
|
|
|
184
257
|
type: z.string().optional().describe('Filter by memory type'),
|
|
185
258
|
},
|
|
186
259
|
}, async ({ tag, type }) => {
|
|
187
|
-
|
|
188
|
-
if (tag || type)
|
|
189
|
-
memories = filterMemories(memories, { tag, type });
|
|
260
|
+
const memories = await ops.list({ tag, type });
|
|
190
261
|
if (memories.length === 0) {
|
|
191
262
|
return {
|
|
192
263
|
content: [{ type: 'text', text: 'No memories stored.' }],
|
|
@@ -234,7 +305,7 @@ export function createMcpServer(ops) {
|
|
|
234
305
|
changes.push(`type: ${before.type} → ${type}`);
|
|
235
306
|
if (content && content !== before.content) {
|
|
236
307
|
changes.push('content changed:');
|
|
237
|
-
changes.push(
|
|
308
|
+
changes.push(unifiedDiff(before.content, content));
|
|
238
309
|
}
|
|
239
310
|
const diff = changes.length > 0 ? '\n\n' + changes.join('\n') : '';
|
|
240
311
|
return {
|
package/dist/mcp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
|
package/dist/memory.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Config, Memory, MemoryType } from './
|
|
1
|
+
import type { Config, Memory, MemoryType } from './operations.js';
|
|
2
2
|
export declare function detectRepository(): string | undefined;
|
|
3
3
|
export declare function generateFilename(title: string, id: string): string;
|
|
4
4
|
export declare function createMemory(config: Config, opts: {
|
|
@@ -8,8 +8,15 @@ export declare function createMemory(config: Config, opts: {
|
|
|
8
8
|
tags?: string[];
|
|
9
9
|
type?: MemoryType;
|
|
10
10
|
repository?: string;
|
|
11
|
-
}):
|
|
11
|
+
}): {
|
|
12
|
+
mem: Memory;
|
|
13
|
+
raw: string;
|
|
14
|
+
};
|
|
12
15
|
export declare function readMemory(filePath: string): Memory;
|
|
16
|
+
export declare function readMemoryWithRaw(filePath: string): {
|
|
17
|
+
mem: Memory;
|
|
18
|
+
raw: string;
|
|
19
|
+
} | undefined;
|
|
13
20
|
export declare function serializeMemory(mem: Memory): string;
|
|
14
21
|
export declare function updateMemory(filePath: string, updates: {
|
|
15
22
|
title?: string;
|
|
@@ -17,6 +24,10 @@ export declare function updateMemory(filePath: string, updates: {
|
|
|
17
24
|
content?: string;
|
|
18
25
|
tags?: string[];
|
|
19
26
|
type?: MemoryType;
|
|
20
|
-
}):
|
|
27
|
+
}): {
|
|
28
|
+
mem: Memory;
|
|
29
|
+
raw: string;
|
|
30
|
+
};
|
|
21
31
|
export declare function deleteMemory(filePath: string): void;
|
|
22
32
|
export declare function listMemoryFiles(config: Config): string[];
|
|
33
|
+
export declare function safeReadMemory(filePath: string): Memory | undefined;
|
package/dist/memory.js
CHANGED
|
@@ -9,7 +9,6 @@ export function detectRepository() {
|
|
|
9
9
|
encoding: 'utf-8',
|
|
10
10
|
stdio: ['pipe', 'pipe', 'pipe'],
|
|
11
11
|
}).trim();
|
|
12
|
-
// Normalize git URLs to domain/path format
|
|
13
12
|
return url
|
|
14
13
|
.replace(/^https?:\/\//, '')
|
|
15
14
|
.replace(/^git@/, '')
|
|
@@ -24,38 +23,64 @@ export function generateFilename(title, id) {
|
|
|
24
23
|
const slug = title
|
|
25
24
|
.normalize('NFD')
|
|
26
25
|
.replace(/[\u0300-\u036f]/g, '')
|
|
26
|
+
.replace(/([a-z])([A-Z])/g, '$1-$2')
|
|
27
|
+
.replace(/([A-Z]+)([A-Z][a-z])/g, '$1-$2')
|
|
27
28
|
.toLowerCase()
|
|
28
29
|
.replace(/[^a-z0-9]+/g, '-')
|
|
29
30
|
.replace(/^-|-$/g, '') || 'memory';
|
|
30
31
|
const hash = id.slice(0, 8).replace(/-/g, '').slice(0, 4);
|
|
31
32
|
return `${slug}-${hash}.md`;
|
|
32
33
|
}
|
|
34
|
+
function buildFrontmatter(fields) {
|
|
35
|
+
return {
|
|
36
|
+
id: fields.id,
|
|
37
|
+
title: fields.title,
|
|
38
|
+
...(fields.description ? { description: fields.description } : {}),
|
|
39
|
+
tags: fields.tags,
|
|
40
|
+
type: fields.type,
|
|
41
|
+
...(fields.repository ? { repository: fields.repository } : {}),
|
|
42
|
+
created: fields.created,
|
|
43
|
+
updated: fields.updated,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
33
46
|
export function createMemory(config, opts) {
|
|
34
47
|
const id = crypto.randomUUID();
|
|
35
48
|
const now = new Date().toISOString();
|
|
36
49
|
const repo = opts.repository ?? detectRepository();
|
|
37
|
-
const frontmatter = {
|
|
50
|
+
const frontmatter = buildFrontmatter({
|
|
38
51
|
id,
|
|
39
52
|
title: opts.title,
|
|
40
|
-
|
|
53
|
+
description: opts.description,
|
|
41
54
|
tags: opts.tags ?? [],
|
|
42
55
|
type: opts.type ?? 'knowledge',
|
|
43
|
-
|
|
56
|
+
repository: repo,
|
|
44
57
|
created: now,
|
|
45
58
|
updated: now,
|
|
46
|
-
};
|
|
59
|
+
});
|
|
47
60
|
const filename = generateFilename(opts.title, id);
|
|
48
61
|
const filePath = path.join(config.memoryDir, filename);
|
|
49
|
-
const
|
|
50
|
-
fs.writeFileSync(filePath,
|
|
62
|
+
const raw = matter.stringify(opts.content, frontmatter);
|
|
63
|
+
fs.writeFileSync(filePath, raw);
|
|
51
64
|
return {
|
|
52
|
-
...frontmatter,
|
|
53
|
-
|
|
54
|
-
filePath,
|
|
65
|
+
mem: { ...frontmatter, content: opts.content, filePath },
|
|
66
|
+
raw,
|
|
55
67
|
};
|
|
56
68
|
}
|
|
57
69
|
export function readMemory(filePath) {
|
|
58
70
|
const raw = fs.readFileSync(filePath, 'utf-8');
|
|
71
|
+
return parseMemory(raw, filePath);
|
|
72
|
+
}
|
|
73
|
+
export function readMemoryWithRaw(filePath) {
|
|
74
|
+
try {
|
|
75
|
+
const raw = fs.readFileSync(filePath, 'utf-8');
|
|
76
|
+
return { mem: parseMemory(raw, filePath), raw };
|
|
77
|
+
}
|
|
78
|
+
catch (e) {
|
|
79
|
+
process.stderr.write(`Warning: skipping unreadable memory ${filePath}: ${e instanceof Error ? e.message : e}\n`);
|
|
80
|
+
return undefined;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
function parseMemory(raw, filePath) {
|
|
59
84
|
const { data, content } = matter(raw);
|
|
60
85
|
const fm = data;
|
|
61
86
|
return {
|
|
@@ -72,47 +97,38 @@ export function readMemory(filePath) {
|
|
|
72
97
|
};
|
|
73
98
|
}
|
|
74
99
|
export function serializeMemory(mem) {
|
|
75
|
-
const frontmatter =
|
|
76
|
-
id: mem.id,
|
|
77
|
-
title: mem.title,
|
|
78
|
-
...(mem.description ? { description: mem.description } : {}),
|
|
79
|
-
tags: mem.tags,
|
|
80
|
-
type: mem.type,
|
|
81
|
-
...(mem.repository ? { repository: mem.repository } : {}),
|
|
82
|
-
created: mem.created,
|
|
83
|
-
updated: mem.updated,
|
|
84
|
-
};
|
|
100
|
+
const frontmatter = buildFrontmatter(mem);
|
|
85
101
|
return matter.stringify(mem.content, frontmatter);
|
|
86
102
|
}
|
|
87
103
|
export function updateMemory(filePath, updates) {
|
|
88
|
-
const
|
|
104
|
+
const existing = readMemory(filePath);
|
|
89
105
|
const now = new Date().toISOString();
|
|
90
|
-
const description = updates.description !== undefined
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
106
|
+
const description = updates.description !== undefined
|
|
107
|
+
? updates.description
|
|
108
|
+
: existing.description;
|
|
109
|
+
const frontmatter = buildFrontmatter({
|
|
110
|
+
id: existing.id,
|
|
111
|
+
title: updates.title ?? existing.title,
|
|
112
|
+
description,
|
|
113
|
+
tags: updates.tags ?? existing.tags,
|
|
114
|
+
type: updates.type ?? existing.type,
|
|
115
|
+
repository: existing.repository,
|
|
116
|
+
created: existing.created,
|
|
99
117
|
updated: now,
|
|
100
|
-
};
|
|
101
|
-
const content = updates.content ??
|
|
102
|
-
const
|
|
103
|
-
// If title changed, rename file (write new before deleting old to prevent data loss)
|
|
118
|
+
});
|
|
119
|
+
const content = updates.content ?? existing.content;
|
|
120
|
+
const raw = matter.stringify(content, frontmatter);
|
|
104
121
|
let newPath = filePath;
|
|
105
|
-
if (updates.title && updates.title !==
|
|
106
|
-
const newFilename = generateFilename(updates.title,
|
|
122
|
+
if (updates.title && updates.title !== existing.title) {
|
|
123
|
+
const newFilename = generateFilename(updates.title, existing.id);
|
|
107
124
|
newPath = path.join(path.dirname(filePath), newFilename);
|
|
108
125
|
}
|
|
109
|
-
fs.writeFileSync(newPath,
|
|
126
|
+
fs.writeFileSync(newPath, raw);
|
|
110
127
|
if (newPath !== filePath)
|
|
111
128
|
fs.unlinkSync(filePath);
|
|
112
129
|
return {
|
|
113
|
-
...frontmatter,
|
|
114
|
-
|
|
115
|
-
filePath: newPath,
|
|
130
|
+
mem: { ...frontmatter, content, filePath: newPath },
|
|
131
|
+
raw,
|
|
116
132
|
};
|
|
117
133
|
}
|
|
118
134
|
export function deleteMemory(filePath) {
|
|
@@ -126,4 +142,7 @@ export function listMemoryFiles(config) {
|
|
|
126
142
|
.filter((f) => f.endsWith('.md'))
|
|
127
143
|
.map((f) => path.join(config.memoryDir, f));
|
|
128
144
|
}
|
|
145
|
+
export function safeReadMemory(filePath) {
|
|
146
|
+
return readMemoryWithRaw(filePath)?.mem;
|
|
147
|
+
}
|
|
129
148
|
//# sourceMappingURL=memory.js.map
|
package/dist/memory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,MAAM,UAAU,gBAAgB;IAC9B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,QAAQ,CAAC,2BAA2B,EAAE;YAChD,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"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"}
|