mindlore 0.5.6 → 0.5.7

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.
Files changed (41) hide show
  1. package/README.md +1 -1
  2. package/dist/scripts/cc-memory-bulk-sync.d.ts.map +1 -1
  3. package/dist/scripts/cc-memory-bulk-sync.js +6 -15
  4. package/dist/scripts/cc-memory-bulk-sync.js.map +1 -1
  5. package/dist/scripts/cc-session-sync.d.ts +32 -0
  6. package/dist/scripts/cc-session-sync.d.ts.map +1 -0
  7. package/dist/scripts/cc-session-sync.js +289 -0
  8. package/dist/scripts/cc-session-sync.js.map +1 -0
  9. package/dist/scripts/lib/constants.d.ts +2 -0
  10. package/dist/scripts/lib/constants.d.ts.map +1 -1
  11. package/dist/scripts/lib/constants.js +3 -1
  12. package/dist/scripts/lib/constants.js.map +1 -1
  13. package/dist/scripts/lib/privacy-filter.d.ts.map +1 -1
  14. package/dist/scripts/lib/privacy-filter.js +20 -2
  15. package/dist/scripts/lib/privacy-filter.js.map +1 -1
  16. package/dist/scripts/lib/sync-helpers.d.ts +37 -0
  17. package/dist/scripts/lib/sync-helpers.d.ts.map +1 -0
  18. package/dist/scripts/lib/sync-helpers.js +17 -0
  19. package/dist/scripts/lib/sync-helpers.js.map +1 -0
  20. package/dist/tests/cc-memory-bulk-sync.test.js +3 -0
  21. package/dist/tests/cc-memory-bulk-sync.test.js.map +1 -1
  22. package/dist/tests/cc-session-sync.test.d.ts +2 -0
  23. package/dist/tests/cc-session-sync.test.d.ts.map +1 -0
  24. package/dist/tests/cc-session-sync.test.js +306 -0
  25. package/dist/tests/cc-session-sync.test.js.map +1 -0
  26. package/dist/tests/helpers/db.d.ts.map +1 -1
  27. package/dist/tests/helpers/db.js +9 -1
  28. package/dist/tests/helpers/db.js.map +1 -1
  29. package/hooks/mindlore-session-end.cjs +17 -17
  30. package/package.json +1 -1
  31. package/plugin.json +1 -1
  32. package/skills/mindlore-decide/SKILL.md +3 -4
  33. package/skills/mindlore-diary/SKILL.md +3 -4
  34. package/skills/mindlore-evolve/SKILL.md +3 -4
  35. package/skills/mindlore-health/SKILL.md +3 -5
  36. package/skills/mindlore-ingest/SKILL.md +3 -4
  37. package/skills/mindlore-log/SKILL.md +3 -4
  38. package/skills/mindlore-maintain/SKILL.md +3 -4
  39. package/skills/mindlore-query/SKILL.md +3 -4
  40. package/skills/mindlore-reflect/SKILL.md +3 -4
  41. package/templates/config.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"cc-memory-bulk-sync.test.js","sourceRoot":"","sources":["../../tests/cc-memory-bulk-sync.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cc-memory-bulk-sync.test.js","sourceRoot":"","sources":["../../tests/cc-memory-bulk-sync.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cc-session-sync.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cc-session-sync.test.d.ts","sourceRoot":"","sources":["../../tests/cc-session-sync.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,306 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const fs_1 = __importDefault(require("fs"));
7
+ const path_1 = __importDefault(require("path"));
8
+ const os_1 = __importDefault(require("os"));
9
+ const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
10
+ const db_1 = require("./helpers/db");
11
+ // Import functions under test
12
+ let convertJsonlToMd;
13
+ let discoverSessionFiles;
14
+ let syncSessions;
15
+ // Dynamically import after build
16
+ beforeAll(() => {
17
+ const mod = require('../dist/scripts/cc-session-sync.js');
18
+ convertJsonlToMd = mod.convertJsonlToMd;
19
+ discoverSessionFiles = mod.discoverSessionFiles;
20
+ syncSessions = mod.syncSessions;
21
+ });
22
+ // ── Helpers ───────────────────────────────────────────────────────────
23
+ function makeTmpDir() {
24
+ return fs_1.default.mkdtempSync(path_1.default.join(os_1.default.tmpdir(), 'cc-session-sync-'));
25
+ }
26
+ function writeJsonl(dir, filename, lines) {
27
+ const filePath = path_1.default.join(dir, filename);
28
+ fs_1.default.writeFileSync(filePath, lines.map(l => JSON.stringify(l)).join('\n'), 'utf8');
29
+ return filePath;
30
+ }
31
+ function createSampleJsonl(dir, sessionId, projectName) {
32
+ const projDir = path_1.default.join(dir, 'projects', projectName);
33
+ fs_1.default.mkdirSync(projDir, { recursive: true });
34
+ const lines = [
35
+ { type: 'permission-mode', permissionMode: 'default', sessionId, timestamp: '2026-04-20T10:00:00Z' },
36
+ { type: 'system', content: 'system prompt', timestamp: '2026-04-20T10:00:01Z', gitBranch: 'main', cwd: '/test' },
37
+ { type: 'user', message: { role: 'user', content: 'transaction wrap hakkında ne düşünüyorsun?' }, timestamp: '2026-04-20T10:01:00Z' },
38
+ { type: 'assistant', message: { role: 'assistant', content: [{ type: 'text', text: 'Transaction wrap atomiklik sağlar.' }, { type: 'tool_use', name: 'Read', input: { file_path: '/test.ts' } }] } },
39
+ { type: 'attachment', attachment: { type: 'system-reminder' } },
40
+ { type: 'user', message: { role: 'user', content: 'peki secret: sk-ant-test1234567890123456 ve AKIA1234567890ABCDEF' }, timestamp: '2026-04-20T10:02:00Z' },
41
+ { type: 'assistant', message: { role: 'assistant', content: [{ type: 'text', text: 'Bunu kaydetmemeliyiz.' }] } },
42
+ ];
43
+ return writeJsonl(projDir, `${sessionId}.jsonl`, lines);
44
+ }
45
+ // ── Tests ─────────────────────────────────────────────────────────────
46
+ describe('cc-session-sync', () => {
47
+ let tmpDir;
48
+ beforeEach(() => {
49
+ tmpDir = makeTmpDir();
50
+ });
51
+ afterEach(() => {
52
+ fs_1.default.rmSync(tmpDir, { recursive: true, force: true });
53
+ });
54
+ describe('convertJsonlToMd', () => {
55
+ it('should extract user and assistant text messages', () => {
56
+ createSampleJsonl(tmpDir, 'test-session-1', 'C--test-project');
57
+ const realPath = path_1.default.join(tmpDir, 'projects', 'C--test-project', 'test-session-1.jsonl');
58
+ const { md, userCount, assistantCount } = convertJsonlToMd(realPath, 'C--test-project');
59
+ expect(userCount).toBe(2);
60
+ expect(assistantCount).toBe(2);
61
+ expect(md).toContain('transaction wrap hakkında');
62
+ expect(md).toContain('Transaction wrap atomiklik sağlar.');
63
+ expect(md).toContain('Bunu kaydetmemeliyiz.');
64
+ });
65
+ it('should not include tool_use or attachment content', () => {
66
+ createSampleJsonl(tmpDir, 'test-session-2', 'C--test-project');
67
+ const realPath = path_1.default.join(tmpDir, 'projects', 'C--test-project', 'test-session-2.jsonl');
68
+ const { md } = convertJsonlToMd(realPath, 'C--test-project');
69
+ expect(md).not.toContain('tool_use');
70
+ expect(md).not.toContain('Read');
71
+ expect(md).not.toContain('system-reminder');
72
+ });
73
+ it('should scrub secrets from content', () => {
74
+ createSampleJsonl(tmpDir, 'test-session-3', 'C--test-project');
75
+ const realPath = path_1.default.join(tmpDir, 'projects', 'C--test-project', 'test-session-3.jsonl');
76
+ const { md } = convertJsonlToMd(realPath, 'C--test-project');
77
+ expect(md).not.toContain('sk-ant-test1234567890123456');
78
+ expect(md).not.toContain('AKIA1234567890ABCDEF');
79
+ expect(md).toContain('[REDACTED]');
80
+ });
81
+ it('should generate correct frontmatter', () => {
82
+ createSampleJsonl(tmpDir, 'test-session-4', 'C--test-project');
83
+ const realPath = path_1.default.join(tmpDir, 'projects', 'C--test-project', 'test-session-4.jsonl');
84
+ const { md } = convertJsonlToMd(realPath, 'C--test-project');
85
+ expect(md).toContain('type: raw');
86
+ expect(md).toContain('project: C--test-project');
87
+ expect(md).toContain('category: cc-session');
88
+ expect(md).toContain('date: 2026-04-20');
89
+ expect(md).toContain('branch: main');
90
+ expect(md).toContain('messages: 2 user, 2 assistant');
91
+ });
92
+ it('should return date from frontmatter', () => {
93
+ createSampleJsonl(tmpDir, 'test-session-date', 'C--Users-Test-Documents-myapp');
94
+ const realPath = path_1.default.join(tmpDir, 'projects', 'C--Users-Test-Documents-myapp', 'test-session-date.jsonl');
95
+ const { date } = convertJsonlToMd(realPath, 'C--Users-Test-Documents-myapp');
96
+ expect(date).toBe('2026-04-20');
97
+ });
98
+ it('should extract correct project slug from hyphenated names', () => {
99
+ createSampleJsonl(tmpDir, 'test-slug', 'C--Users-Omrfc-Desktop-la-roma-stock');
100
+ const realPath = path_1.default.join(tmpDir, 'projects', 'C--Users-Omrfc-Desktop-la-roma-stock', 'test-slug.jsonl');
101
+ const { md } = convertJsonlToMd(realPath, 'C--Users-Omrfc-Desktop-la-roma-stock');
102
+ expect(md).toContain('project: la-roma-stock');
103
+ });
104
+ it('should handle double-dash project names', () => {
105
+ createSampleJsonl(tmpDir, 'test-dd', 'C--Users-Omrfc--ownpilot-workspace');
106
+ const realPath = path_1.default.join(tmpDir, 'projects', 'C--Users-Omrfc--ownpilot-workspace', 'test-dd.jsonl');
107
+ const { md } = convertJsonlToMd(realPath, 'C--Users-Omrfc--ownpilot-workspace');
108
+ expect(md).toContain('project: ownpilot-workspace');
109
+ });
110
+ it('should extract array-format user content', () => {
111
+ const projDir = path_1.default.join(tmpDir, 'projects', 'C--array-test');
112
+ fs_1.default.mkdirSync(projDir, { recursive: true });
113
+ const lines = [
114
+ { type: 'user', message: { role: 'user', content: [{ type: 'text', text: 'array user message' }] }, timestamp: '2026-04-20T10:00:00Z' },
115
+ { type: 'assistant', message: { role: 'assistant', content: 'string assistant reply' } },
116
+ { type: 'user', message: { role: 'user', content: 'string user message' }, timestamp: '2026-04-20T10:01:00Z' },
117
+ ];
118
+ const jsonlPath = writeJsonl(projDir, 'arr.jsonl', lines);
119
+ const { md, userCount, assistantCount } = convertJsonlToMd(jsonlPath, 'C--array-test');
120
+ expect(userCount).toBe(2);
121
+ expect(assistantCount).toBe(1);
122
+ expect(md).toContain('array user message');
123
+ expect(md).toContain('string user message');
124
+ expect(md).toContain('string assistant reply');
125
+ });
126
+ it('should return zero counts for empty session', () => {
127
+ const projDir = path_1.default.join(tmpDir, 'projects', 'C--empty');
128
+ fs_1.default.mkdirSync(projDir, { recursive: true });
129
+ const jsonlPath = writeJsonl(projDir, 'empty.jsonl', [
130
+ { type: 'permission-mode', permissionMode: 'default', timestamp: '2026-04-20T10:00:00Z' },
131
+ ]);
132
+ const { userCount, assistantCount } = convertJsonlToMd(jsonlPath, 'C--empty');
133
+ expect(userCount).toBe(0);
134
+ expect(assistantCount).toBe(0);
135
+ });
136
+ });
137
+ describe('scrubSecrets', () => {
138
+ it('should redact all known secret patterns', () => {
139
+ const projDir = path_1.default.join(tmpDir, 'projects', 'C--secrets');
140
+ fs_1.default.mkdirSync(projDir, { recursive: true });
141
+ const lines = [
142
+ { type: 'user', message: { role: 'user', content: [
143
+ 'sk-ant-abc12345678901234567890',
144
+ 'ghp_abcdefghijklmnopqrstuvwxyz1234567890',
145
+ 'AKIA1234567890ABCDEF',
146
+ 'xoxb-token-here-12345678901234',
147
+ 'AIzaSyA12345678901234567890123456789ab',
148
+ 'sk_live_abcdefghijklmnopqrstuv',
149
+ '-----BEGIN RSA PRIVATE KEY-----',
150
+ 'postgres://user:secret_pass@localhost:5432/db',
151
+ ].join('\n') }, timestamp: '2026-04-20T10:00:00Z' },
152
+ ];
153
+ const jsonlPath = writeJsonl(projDir, 'secrets.jsonl', lines);
154
+ const { md } = convertJsonlToMd(jsonlPath, 'C--secrets');
155
+ expect(md).not.toContain('sk-ant-abc');
156
+ expect(md).not.toContain('ghp_abcdef');
157
+ expect(md).not.toContain('AKIA1234');
158
+ expect(md).not.toContain('xoxb-token');
159
+ expect(md).not.toContain('AIzaSy');
160
+ expect(md).not.toContain('sk_live_');
161
+ expect(md).not.toContain('PRIVATE KEY');
162
+ expect(md).not.toContain('secret_pass');
163
+ });
164
+ });
165
+ describe('discoverSessionFiles', () => {
166
+ it('should find JSONL files in project directories', () => {
167
+ const claudeDir = path_1.default.join(tmpDir, '.claude');
168
+ createSampleJsonl(claudeDir, 'session-a', 'C--project-one');
169
+ createSampleJsonl(claudeDir, 'session-b', 'C--project-two');
170
+ const files = discoverSessionFiles(claudeDir);
171
+ expect(files).toHaveLength(2);
172
+ expect(files.map(f => f.sessionId).sort()).toEqual(['session-a', 'session-b']);
173
+ expect(files.map(f => f.projectName).sort()).toEqual(['C--project-one', 'C--project-two']);
174
+ });
175
+ it('should return empty for non-existent claude dir', () => {
176
+ const files = discoverSessionFiles(path_1.default.join(tmpDir, 'nonexistent'));
177
+ expect(files).toHaveLength(0);
178
+ });
179
+ it('should find JSONL files in nested UUID/subagents directories', () => {
180
+ const claudeDir = path_1.default.join(tmpDir, '.claude');
181
+ const projDir = path_1.default.join(claudeDir, 'projects', 'C--Users-Test-Desktop-myapp');
182
+ const subagentsDir = path_1.default.join(projDir, 'aaaabbbb-1111-2222-3333-444455556666', 'subagents');
183
+ fs_1.default.mkdirSync(subagentsDir, { recursive: true });
184
+ const lines = [
185
+ { type: 'user', message: { role: 'user', content: 'hello' }, timestamp: '2026-04-20T10:00:00Z' },
186
+ ];
187
+ writeJsonl(subagentsDir, 'agent-abc123.jsonl', lines);
188
+ // Also add a flat JSONL in the same project
189
+ createSampleJsonl(claudeDir, 'flat-session', 'C--Users-Test-Desktop-myapp');
190
+ const files = discoverSessionFiles(claudeDir);
191
+ expect(files).toHaveLength(2);
192
+ expect(files.map(f => f.sessionId).sort()).toEqual(['agent-abc123', 'flat-session']);
193
+ });
194
+ it('should skip memory directory when scanning nested dirs', () => {
195
+ const claudeDir = path_1.default.join(tmpDir, '.claude');
196
+ const projDir = path_1.default.join(claudeDir, 'projects', 'C--test-skip-memory');
197
+ const memDir = path_1.default.join(projDir, 'memory');
198
+ fs_1.default.mkdirSync(memDir, { recursive: true });
199
+ fs_1.default.writeFileSync(path_1.default.join(memDir, 'notes.jsonl'), '{}', 'utf8');
200
+ const files = discoverSessionFiles(claudeDir);
201
+ expect(files).toHaveLength(0);
202
+ });
203
+ });
204
+ describe('syncSessions', () => {
205
+ it('should write MD files and index in FTS5', () => {
206
+ const claudeDir = path_1.default.join(tmpDir, '.claude');
207
+ createSampleJsonl(claudeDir, 'sync-test-1', 'C--sync-project');
208
+ const mindloreDir = path_1.default.join(tmpDir, '.mindlore');
209
+ fs_1.default.mkdirSync(mindloreDir, { recursive: true });
210
+ const dbPath = path_1.default.join(mindloreDir, 'mindlore.db');
211
+ const db = (0, db_1.createTestDb)(dbPath);
212
+ db.close();
213
+ // Make file old enough to not be skipped
214
+ const jsonlPath = path_1.default.join(claudeDir, 'projects', 'C--sync-project', 'sync-test-1.jsonl');
215
+ const oldTime = new Date(Date.now() - 20 * 60 * 1000);
216
+ fs_1.default.utimesSync(jsonlPath, oldTime, oldTime);
217
+ const sessions = discoverSessionFiles(claudeDir);
218
+ const result = syncSessions(dbPath, sessions, mindloreDir);
219
+ expect(result.synced).toBe(1);
220
+ expect(result.errors).toHaveLength(0);
221
+ // Verify MD file exists
222
+ const sessionsDir = path_1.default.join(mindloreDir, 'raw', 'sessions', 'C--sync-project');
223
+ expect(fs_1.default.existsSync(sessionsDir)).toBe(true);
224
+ const mdFiles = fs_1.default.readdirSync(sessionsDir).filter(f => f.endsWith('.md'));
225
+ expect(mdFiles).toHaveLength(1);
226
+ expect(mdFiles[0]).toMatch(/^2026-04-20-sync-tes\.md$/);
227
+ // Verify FTS5 entry
228
+ const verifyDb = new better_sqlite3_1.default(dbPath);
229
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- test assertion on DB row
230
+ const ftsRow = verifyDb.prepare("SELECT * FROM mindlore_fts WHERE category = 'cc-session'").get();
231
+ expect(ftsRow).toBeDefined();
232
+ expect(ftsRow.project).toBe('C--sync-project');
233
+ expect(ftsRow.type).toBe('raw');
234
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- test assertion on DB row
235
+ const hashRow = verifyDb.prepare("SELECT source_type FROM file_hashes WHERE path LIKE '%sync%'").get();
236
+ if (!hashRow)
237
+ throw new Error('hashRow not found');
238
+ expect(hashRow.source_type).toBe('cc-session');
239
+ verifyDb.close();
240
+ });
241
+ it('should set source_type cc-subagent for nested subagent sessions', () => {
242
+ const claudeDir = path_1.default.join(tmpDir, '.claude');
243
+ const projDir = path_1.default.join(claudeDir, 'projects', 'C--subagent-proj');
244
+ const subagentsDir = path_1.default.join(projDir, 'aaaabbbb-1111-2222-3333-444455556666', 'subagents');
245
+ fs_1.default.mkdirSync(subagentsDir, { recursive: true });
246
+ const lines = [
247
+ { type: 'user', message: { role: 'user', content: 'research this topic' }, timestamp: '2026-04-20T10:00:00Z' },
248
+ { type: 'assistant', message: { role: 'assistant', content: 'Here are my findings' }, timestamp: '2026-04-20T10:01:00Z' },
249
+ ];
250
+ const jsonlPath = writeJsonl(subagentsDir, 'agent-sub1.jsonl', lines);
251
+ const oldTime = new Date(Date.now() - 20 * 60 * 1000);
252
+ fs_1.default.utimesSync(jsonlPath, oldTime, oldTime);
253
+ const mindloreDir = path_1.default.join(tmpDir, '.mindlore');
254
+ fs_1.default.mkdirSync(mindloreDir, { recursive: true });
255
+ const dbPath = path_1.default.join(mindloreDir, 'mindlore.db');
256
+ const db = (0, db_1.createTestDb)(dbPath);
257
+ db.close();
258
+ const sessions = discoverSessionFiles(claudeDir);
259
+ const result = syncSessions(dbPath, sessions, mindloreDir);
260
+ expect(result.synced).toBe(1);
261
+ const verifyDb = new better_sqlite3_1.default(dbPath);
262
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- test assertion on DB row
263
+ const ftsRow = verifyDb.prepare("SELECT * FROM mindlore_fts WHERE category = 'cc-subagent'").get();
264
+ expect(ftsRow).toBeDefined();
265
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- test assertion on DB row
266
+ const hashRow = verifyDb.prepare("SELECT source_type FROM file_hashes WHERE source_type = 'cc-subagent'").get();
267
+ if (!hashRow)
268
+ throw new Error('hashRow not found');
269
+ expect(hashRow.source_type).toBe('cc-subagent');
270
+ verifyDb.close();
271
+ });
272
+ it('should skip active sessions (< 2 min old)', () => {
273
+ const claudeDir = path_1.default.join(tmpDir, '.claude');
274
+ createSampleJsonl(claudeDir, 'active-session', 'C--active');
275
+ const mindloreDir = path_1.default.join(tmpDir, '.mindlore');
276
+ fs_1.default.mkdirSync(mindloreDir, { recursive: true });
277
+ const dbPath = path_1.default.join(mindloreDir, 'mindlore.db');
278
+ const db = (0, db_1.createTestDb)(dbPath);
279
+ db.close();
280
+ // Don't modify mtime — file is fresh (just created)
281
+ const sessions = discoverSessionFiles(claudeDir);
282
+ const result = syncSessions(dbPath, sessions, mindloreDir);
283
+ expect(result.skipped).toBe(1);
284
+ expect(result.synced).toBe(0);
285
+ });
286
+ it('should be idempotent — second run skips already synced', () => {
287
+ const claudeDir = path_1.default.join(tmpDir, '.claude');
288
+ createSampleJsonl(claudeDir, 'idem-test', 'C--idem');
289
+ const mindloreDir = path_1.default.join(tmpDir, '.mindlore');
290
+ fs_1.default.mkdirSync(mindloreDir, { recursive: true });
291
+ const dbPath = path_1.default.join(mindloreDir, 'mindlore.db');
292
+ const db = (0, db_1.createTestDb)(dbPath);
293
+ db.close();
294
+ const jsonlPath = path_1.default.join(claudeDir, 'projects', 'C--idem', 'idem-test.jsonl');
295
+ const oldTime = new Date(Date.now() - 20 * 60 * 1000);
296
+ fs_1.default.utimesSync(jsonlPath, oldTime, oldTime);
297
+ const sessions = discoverSessionFiles(claudeDir);
298
+ const run1 = syncSessions(dbPath, sessions, mindloreDir);
299
+ expect(run1.synced).toBe(1);
300
+ const run2 = syncSessions(dbPath, sessions, mindloreDir);
301
+ expect(run2.skipped).toBeGreaterThanOrEqual(1);
302
+ expect(run2.synced).toBe(0);
303
+ });
304
+ });
305
+ });
306
+ //# sourceMappingURL=cc-session-sync.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cc-session-sync.test.js","sourceRoot":"","sources":["../../tests/cc-session-sync.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../tests/helpers/db.ts"],"names":[],"mappings":"AAIA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AActC,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAY9D;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAK5E;AAED,MAAM,WAAW,QAAQ;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI,CAEtE;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAI1E;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAMtE;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAErD;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAKrE;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI,CAGjE;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAcjG;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,GAAE,MAAqB,GAAG,IAAI,CAO1H"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../tests/helpers/db.ts"],"names":[],"mappings":"AAIA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AActC,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAoB9D;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAK5E;AAED,MAAM,WAAW,QAAQ;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI,CAEtE;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAI1E;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAMtE;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAErD;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAKrE;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI,CAGjE;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAcjG;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,GAAE,MAAqB,GAAG,IAAI,CAO1H"}
@@ -37,7 +37,15 @@ function createTestDb(dbPath) {
37
37
  CREATE TABLE IF NOT EXISTS file_hashes (
38
38
  path TEXT PRIMARY KEY,
39
39
  content_hash TEXT NOT NULL,
40
- last_indexed TEXT NOT NULL
40
+ last_indexed TEXT NOT NULL,
41
+ created_at TEXT,
42
+ updated_at TEXT,
43
+ source_type TEXT DEFAULT 'mindlore',
44
+ project_scope TEXT,
45
+ recall_count INTEGER DEFAULT 0,
46
+ last_recalled_at TEXT,
47
+ archived_at TEXT,
48
+ importance REAL
41
49
  );
42
50
  `);
43
51
  return db;
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../../../tests/helpers/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../../tests/helpers/db.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@
12
12
  const fs = require('fs');
13
13
  const path = require('path');
14
14
  const os = require('os');
15
- const { execSync, spawn } = require('child_process');
15
+ const { execSync, execFileSync, spawn } = require('child_process');
16
16
  const { findMindloreDir, globalDir, getProjectName, openDatabase, ensureEpisodesTable, hasEpisodesTable, insertBareEpisode, insertFtsRow, hookLog, SHARED_EXPORT_DIRS, resolveWin32Bin } = require('./lib/mindlore-common.cjs');
17
17
 
18
18
  const EXPORT_DIRS = SHARED_EXPORT_DIRS;
@@ -46,23 +46,23 @@ if (process.argv.includes('--worker')) {
46
46
  await safeRunAsync(() => writeBareEpisode(baseDir, project, commits, changedFiles, reads), 'episode');
47
47
  await safeRunAsync(() => writeEpisodeFile(baseDir, project, commits, changedFiles, reads), 'episode-file');
48
48
 
49
- // CC memory bulk sync — synchronous with timeout
50
- await safeRunAsync(async () => {
51
- const syncScript = path.join(__dirname, '..', 'dist', 'scripts', 'cc-memory-bulk-sync.js');
52
- if (fs.existsSync(syncScript)) {
53
- const nodeExe = resolveWin32Bin('node') || process.execPath;
54
- const { execFileSync } = require('child_process');
55
- try {
56
- execFileSync(nodeExe, [syncScript, '--auto'], {
57
- timeout: 10000,
58
- env: { ...process.env, MINDLORE_HOME: baseDir },
59
- });
60
- hookLog('session-end', 'info', 'CC memory sync completed');
61
- } catch (syncErr) {
62
- hookLog('session-end', 'warn', `CC memory sync failed: ${syncErr?.message || syncErr}`);
63
- }
49
+ function runSyncScript(scriptName, args, timeoutMs, label) {
50
+ const scriptPath = path.join(__dirname, '..', 'dist', 'scripts', scriptName);
51
+ if (!fs.existsSync(scriptPath)) return;
52
+ const nodeExe = resolveWin32Bin('node') || process.execPath;
53
+ try {
54
+ execFileSync(nodeExe, [scriptPath, ...args], {
55
+ timeout: timeoutMs,
56
+ env: { ...process.env, MINDLORE_HOME: baseDir },
57
+ });
58
+ hookLog('session-end', 'info', label + ' completed');
59
+ } catch (err) {
60
+ hookLog('session-end', 'warn', `${label} failed: ${err?.message || err}`);
64
61
  }
65
- }, 'cc-memory-sync');
62
+ }
63
+
64
+ await safeRunAsync(() => runSyncScript('cc-memory-bulk-sync.js', ['--auto'], 10000, 'CC memory sync'), 'cc-memory-sync');
65
+ await safeRunAsync(() => runSyncScript('cc-session-sync.js', [], 30000, 'CC session sync'), 'cc-session-sync');
66
66
 
67
67
  // Embed trigger — detached, fire-and-forget
68
68
  await safeRunAsync(async () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mindlore",
3
- "version": "0.5.6",
3
+ "version": "0.5.7",
4
4
  "description": "AI-native knowledge system for Claude Code",
5
5
  "type": "commonjs",
6
6
  "bin": {
package/plugin.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mindlore",
3
3
  "description": "AI-native knowledge system for Claude Code. Persistent, searchable, evolving knowledge base with FTS5.",
4
- "version": "0.5.6",
4
+ "version": "0.5.7",
5
5
  "skills": [
6
6
  {
7
7
  "name": "mindlore-ingest",
@@ -4,11 +4,10 @@ Record and list decisions in the `.mindlore/decisions/` directory.
4
4
 
5
5
  ## Script Resolution
6
6
 
7
- All script paths are relative to this skill's package root.
8
- Package root = 2 directories up from this skill's base directory.
7
+ Resolve `MINDLORE_PKG` (package root) using one of these methods, in order:
8
+ 1. If CC injected "Base directory for this skill: /path/to/skills/mindlore-decide" → `MINDLORE_PKG = {base_directory}/../..`
9
+ 2. Fallback: run `node -e "console.log(require('path').join(require('child_process').execSync('npm root -g',{encoding:'utf8'}).trim(),'mindlore')))"`
9
10
 
10
- When CC loads this skill, it shows "Base directory for this skill: /path/to/skills/mindlore-decide".
11
- Compute: `MINDLORE_PKG = {base_directory}/../..`
12
11
  Use: `node "$MINDLORE_PKG/dist/scripts/..."` for all script commands.
13
12
 
14
13
  ## Scope
@@ -5,11 +5,10 @@ description: LLM-powered session analysis — decisions, discoveries, frictions,
5
5
 
6
6
  ## Script Resolution
7
7
 
8
- All script paths are relative to this skill's package root.
9
- Package root = 2 directories up from this skill's base directory.
8
+ Resolve `MINDLORE_PKG` (package root) using one of these methods, in order:
9
+ 1. If CC injected "Base directory for this skill: /path/to/skills/mindlore-diary" → `MINDLORE_PKG = {base_directory}/../..`
10
+ 2. Fallback: run `node -e "console.log(require('path').join(require('child_process').execSync('npm root -g',{encoding:'utf8'}).trim(),'mindlore')))"`
10
11
 
11
- When CC loads this skill, it shows "Base directory for this skill: /path/to/skills/mindlore-diary".
12
- Compute: `MINDLORE_PKG = {base_directory}/../..`
13
12
  Use: `node "$MINDLORE_PKG/dist/scripts/..."` for all script commands.
14
13
 
15
14
  # /mindlore-diary
@@ -7,11 +7,10 @@ allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent]
7
7
 
8
8
  ## Script Resolution
9
9
 
10
- All script paths are relative to this skill's package root.
11
- Package root = 2 directories up from this skill's base directory.
10
+ Resolve `MINDLORE_PKG` (package root) using one of these methods, in order:
11
+ 1. If CC injected "Base directory for this skill: /path/to/skills/mindlore-evolve" → `MINDLORE_PKG = {base_directory}/../..`
12
+ 2. Fallback: run `node -e "console.log(require('path').join(require('child_process').execSync('npm root -g',{encoding:'utf8'}).trim(),'mindlore')))"`
12
13
 
13
- When CC loads this skill, it shows "Base directory for this skill: /path/to/skills/mindlore-evolve".
14
- Compute: `MINDLORE_PKG = {base_directory}/../..`
15
14
  Use: `node "$MINDLORE_PKG/dist/scripts/..."` for all script commands.
16
15
 
17
16
  # /mindlore-evolve
@@ -8,11 +8,9 @@ allowed-tools: [Bash, Read]
8
8
 
9
9
  ## Script Resolution
10
10
 
11
- All script paths are relative to this skill's package root.
12
- Package root = 2 directories up from this skill's base directory.
13
-
14
- When CC loads this skill, it shows "Base directory for this skill: /path/to/skills/mindlore-health".
15
- Compute: `MINDLORE_PKG = {base_directory}/../..`
11
+ Resolve `MINDLORE_PKG` (package root) using one of these methods, in order:
12
+ 1. If CC injected "Base directory for this skill: /path/to/skills/mindlore-health" → `MINDLORE_PKG = {base_directory}/../..`
13
+ 2. Fallback: run `node -e "console.log(require('path').join(require('child_process').execSync('npm root -g',{encoding:'utf8'}).trim(),'mindlore')))"`
16
14
  Use: `node "$MINDLORE_PKG/dist/scripts/..."` for all script commands.
17
15
 
18
16
  # /mindlore-health
@@ -9,11 +9,10 @@ agent: coder
9
9
 
10
10
  ## Script Resolution
11
11
 
12
- All script paths are relative to this skill's package root.
13
- Package root = 2 directories up from this skill's base directory.
12
+ Resolve `MINDLORE_PKG` (package root) using one of these methods, in order:
13
+ 1. If CC injected "Base directory for this skill: /path/to/skills/mindlore-ingest" → `MINDLORE_PKG = {base_directory}/../..`
14
+ 2. Fallback: run `node -e "console.log(require('path').join(require('child_process').execSync('npm root -g',{encoding:'utf8'}).trim(),'mindlore')))"`
14
15
 
15
- When CC loads this skill, it shows "Base directory for this skill: /path/to/skills/mindlore-ingest".
16
- Compute: `MINDLORE_PKG = {base_directory}/../..`
17
16
  Use: `node "$MINDLORE_PKG/dist/scripts/..."` for all script commands.
18
17
 
19
18
  # /mindlore-ingest
@@ -4,11 +4,10 @@ Session logging, pattern extraction, and wiki updates.
4
4
 
5
5
  ## Script Resolution
6
6
 
7
- All script paths are relative to this skill's package root.
8
- Package root = 2 directories up from this skill's base directory.
7
+ Resolve `MINDLORE_PKG` (package root) using one of these methods, in order:
8
+ 1. If CC injected "Base directory for this skill: /path/to/skills/mindlore-log" → `MINDLORE_PKG = {base_directory}/../..`
9
+ 2. Fallback: run `node -e "console.log(require('path').join(require('child_process').execSync('npm root -g',{encoding:'utf8'}).trim(),'mindlore')))"`
9
10
 
10
- When CC loads this skill, it shows "Base directory for this skill: /path/to/skills/mindlore-log".
11
- Compute: `MINDLORE_PKG = {base_directory}/../..`
12
11
  Use: `node "$MINDLORE_PKG/dist/scripts/..."` for all script commands.
13
12
 
14
13
  ## Scope
@@ -7,11 +7,10 @@ allowed-tools: [Read, Write, Edit, Bash, Grep, Glob]
7
7
 
8
8
  ## Script Resolution
9
9
 
10
- All script paths are relative to this skill's package root.
11
- Package root = 2 directories up from this skill's base directory.
10
+ Resolve `MINDLORE_PKG` (package root) using one of these methods, in order:
11
+ 1. If CC injected "Base directory for this skill: /path/to/skills/mindlore-maintain" → `MINDLORE_PKG = {base_directory}/../..`
12
+ 2. Fallback: run `node -e "console.log(require('path').join(require('child_process').execSync('npm root -g',{encoding:'utf8'}).trim(),'mindlore')))"`
12
13
 
13
- When CC loads this skill, it shows "Base directory for this skill: /path/to/skills/mindlore-maintain".
14
- Compute: `MINDLORE_PKG = {base_directory}/../..`
15
14
  Use: `node "$MINDLORE_PKG/dist/scripts/..."` for all script commands.
16
15
 
17
16
  # /mindlore-maintain