mindlore 0.6.2 → 0.6.3
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/LICENSE +661 -21
- package/README.md +3 -3
- package/dist/scripts/cc-session-sync.d.ts +1 -0
- package/dist/scripts/cc-session-sync.d.ts.map +1 -1
- package/dist/scripts/cc-session-sync.js +3 -2
- package/dist/scripts/cc-session-sync.js.map +1 -1
- package/dist/scripts/fetch-raw.js +96 -7
- package/dist/scripts/fetch-raw.js.map +1 -1
- package/dist/scripts/init.js +6 -25
- package/dist/scripts/init.js.map +1 -1
- package/dist/scripts/lib/chunker.d.ts +12 -0
- package/dist/scripts/lib/chunker.d.ts.map +1 -0
- package/dist/scripts/lib/chunker.js +94 -0
- package/dist/scripts/lib/chunker.js.map +1 -0
- package/dist/scripts/lib/fuzzy.d.ts +10 -0
- package/dist/scripts/lib/fuzzy.d.ts.map +1 -0
- package/dist/scripts/lib/fuzzy.js +88 -0
- package/dist/scripts/lib/fuzzy.js.map +1 -0
- package/dist/scripts/lib/hybrid-search.d.ts +1 -0
- package/dist/scripts/lib/hybrid-search.d.ts.map +1 -1
- package/dist/scripts/lib/hybrid-search.js.map +1 -1
- package/dist/scripts/lib/merge-defaults.d.ts +5 -0
- package/dist/scripts/lib/merge-defaults.d.ts.map +1 -0
- package/dist/scripts/lib/merge-defaults.js +25 -0
- package/dist/scripts/lib/merge-defaults.js.map +1 -0
- package/dist/scripts/lib/migrations-v063.d.ts +7 -0
- package/dist/scripts/lib/migrations-v063.d.ts.map +1 -0
- package/dist/scripts/lib/migrations-v063.js +58 -0
- package/dist/scripts/lib/migrations-v063.js.map +1 -0
- package/dist/scripts/lib/proximity.d.ts +3 -0
- package/dist/scripts/lib/proximity.d.ts.map +1 -0
- package/dist/scripts/lib/proximity.js +53 -0
- package/dist/scripts/lib/proximity.js.map +1 -0
- package/dist/scripts/lib/rrf.d.ts +23 -0
- package/dist/scripts/lib/rrf.d.ts.map +1 -0
- package/dist/scripts/lib/rrf.js +63 -0
- package/dist/scripts/lib/rrf.js.map +1 -0
- package/dist/scripts/lib/search-cache.d.ts +20 -0
- package/dist/scripts/lib/search-cache.d.ts.map +1 -0
- package/dist/scripts/lib/search-cache.js +60 -0
- package/dist/scripts/lib/search-cache.js.map +1 -0
- package/dist/scripts/lib/search-engine.d.ts +22 -0
- package/dist/scripts/lib/search-engine.d.ts.map +1 -0
- package/dist/scripts/lib/search-engine.js +105 -0
- package/dist/scripts/lib/search-engine.js.map +1 -0
- package/dist/scripts/lib/session-payload.d.ts +2 -4
- package/dist/scripts/lib/session-payload.d.ts.map +1 -1
- package/dist/scripts/lib/session-payload.js +31 -43
- package/dist/scripts/lib/session-payload.js.map +1 -1
- package/dist/scripts/lib/snippet.d.ts +2 -0
- package/dist/scripts/lib/snippet.d.ts.map +1 -0
- package/dist/scripts/lib/snippet.js +32 -0
- package/dist/scripts/lib/snippet.js.map +1 -0
- package/dist/scripts/mindlore-fts5-index.js +44 -3
- package/dist/scripts/mindlore-fts5-index.js.map +1 -1
- package/dist/scripts/mindlore-fts5-search.d.ts +3 -5
- package/dist/scripts/mindlore-fts5-search.d.ts.map +1 -1
- package/dist/scripts/mindlore-fts5-search.js +41 -116
- package/dist/scripts/mindlore-fts5-search.js.map +1 -1
- package/dist/tests/chunker.test.d.ts +2 -0
- package/dist/tests/chunker.test.d.ts.map +1 -0
- package/dist/tests/chunker.test.js +40 -0
- package/dist/tests/chunker.test.js.map +1 -0
- package/dist/tests/chunks-migration.test.d.ts +2 -0
- package/dist/tests/chunks-migration.test.d.ts.map +1 -0
- package/dist/tests/chunks-migration.test.js +55 -0
- package/dist/tests/chunks-migration.test.js.map +1 -0
- package/dist/tests/compaction-snapshot.test.js +47 -0
- package/dist/tests/compaction-snapshot.test.js.map +1 -1
- package/dist/tests/daemon-integration.test.js +5 -5
- package/dist/tests/daemon-integration.test.js.map +1 -1
- package/dist/tests/fuzzy.test.d.ts +2 -0
- package/dist/tests/fuzzy.test.d.ts.map +1 -0
- package/dist/tests/fuzzy.test.js +70 -0
- package/dist/tests/fuzzy.test.js.map +1 -0
- package/dist/tests/helpers/db.d.ts.map +1 -1
- package/dist/tests/helpers/db.js +2 -1
- package/dist/tests/helpers/db.js.map +1 -1
- package/dist/tests/merge-defaults.test.d.ts +2 -0
- package/dist/tests/merge-defaults.test.d.ts.map +1 -0
- package/dist/tests/merge-defaults.test.js +35 -0
- package/dist/tests/merge-defaults.test.js.map +1 -0
- package/dist/tests/migrations-v063.test.d.ts +2 -0
- package/dist/tests/migrations-v063.test.d.ts.map +1 -0
- package/dist/tests/migrations-v063.test.js +84 -0
- package/dist/tests/migrations-v063.test.js.map +1 -0
- package/dist/tests/proximity.test.d.ts +2 -0
- package/dist/tests/proximity.test.d.ts.map +1 -0
- package/dist/tests/proximity.test.js +31 -0
- package/dist/tests/proximity.test.js.map +1 -0
- package/dist/tests/rrf.test.d.ts +2 -0
- package/dist/tests/rrf.test.d.ts.map +1 -0
- package/dist/tests/rrf.test.js +100 -0
- package/dist/tests/rrf.test.js.map +1 -0
- package/dist/tests/search-cache.test.d.ts +2 -0
- package/dist/tests/search-cache.test.d.ts.map +1 -0
- package/dist/tests/search-cache.test.js +95 -0
- package/dist/tests/search-cache.test.js.map +1 -0
- package/dist/tests/search-engine.test.d.ts +2 -0
- package/dist/tests/search-engine.test.d.ts.map +1 -0
- package/dist/tests/search-engine.test.js +125 -0
- package/dist/tests/search-engine.test.js.map +1 -0
- package/dist/tests/search-hook.test.js +3 -3
- package/dist/tests/search-hook.test.js.map +1 -1
- package/dist/tests/session-payload.test.d.ts +1 -1
- package/dist/tests/session-payload.test.js +1 -14
- package/dist/tests/session-payload.test.js.map +1 -1
- package/dist/tests/session-summary.test.js +40 -4
- package/dist/tests/session-summary.test.js.map +1 -1
- package/dist/tests/snippet.test.d.ts +2 -0
- package/dist/tests/snippet.test.d.ts.map +1 -0
- package/dist/tests/snippet.test.js +30 -0
- package/dist/tests/snippet.test.js.map +1 -0
- package/hooks/lib/mindlore-common.cjs +56 -3
- package/hooks/mindlore-index.cjs +6 -0
- package/hooks/mindlore-pre-compact.cjs +61 -52
- package/hooks/mindlore-search.cjs +90 -214
- package/hooks/mindlore-session-end.cjs +9 -15
- package/hooks/mindlore-session-focus.cjs +11 -26
- package/package.json +2 -2
- package/plugin.json +1 -1
- package/templates/config.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-hook.test.js","sourceRoot":"","sources":["../../tests/search-hook.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"search-hook.test.js","sourceRoot":"","sources":["../../tests/search-hook.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* session-payload tests — 4-section builder with token budget
|
|
3
|
+
* session-payload tests — 4-section builder with token budget.
|
|
4
4
|
*/
|
|
5
5
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
6
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -28,7 +28,6 @@ beforeEach(() => {
|
|
|
28
28
|
env = (0, db_js_1.createEpisodesTestEnv)('session-payload');
|
|
29
29
|
db = env.db;
|
|
30
30
|
baseDir = env.tmpDir;
|
|
31
|
-
(0, session_payload_js_1.resetCache)();
|
|
32
31
|
});
|
|
33
32
|
afterEach(() => {
|
|
34
33
|
(0, db_js_1.destroyEpisodesTestEnv)(env);
|
|
@@ -46,7 +45,6 @@ describe('buildSessionPayload', () => {
|
|
|
46
45
|
expect(payload.sections[2].label).toBe('Friction');
|
|
47
46
|
expect(payload.sections[3].label).toBe('Learnings');
|
|
48
47
|
expect(payload.totalTokens).toBeGreaterThan(0);
|
|
49
|
-
expect(payload.skipInjection).toBe(false);
|
|
50
48
|
expect(payload.contentHash).toMatch(/^[0-9a-f]{8}$/);
|
|
51
49
|
});
|
|
52
50
|
test('trims sections from end when over budget', () => {
|
|
@@ -67,20 +65,10 @@ describe('buildSessionPayload', () => {
|
|
|
67
65
|
const full = (0, session_payload_js_1.buildSessionPayload)(db, baseDir, PROJECT, 99999);
|
|
68
66
|
const sessionTokens = full.sections[0].tokens;
|
|
69
67
|
const decisionTokens = full.sections[1].tokens;
|
|
70
|
-
(0, session_payload_js_1.resetCache)();
|
|
71
68
|
const budgetFor2 = sessionTokens + decisionTokens + 1;
|
|
72
69
|
const trimmed = (0, session_payload_js_1.buildSessionPayload)(db, baseDir, PROJECT, budgetFor2);
|
|
73
70
|
expect(trimmed.sections.map(s => s.label)).toEqual(['Session', 'Decisions']);
|
|
74
71
|
});
|
|
75
|
-
test('skips injection when content unchanged (cache-lock)', () => {
|
|
76
|
-
writeDelta('delta-2026-04-19.md', '# Session\n- Same content');
|
|
77
|
-
insertEpisode('decision', 'Same decision');
|
|
78
|
-
const first = (0, session_payload_js_1.buildSessionPayload)(db, baseDir, PROJECT);
|
|
79
|
-
expect(first.skipInjection).toBe(false);
|
|
80
|
-
const second = (0, session_payload_js_1.buildSessionPayload)(db, baseDir, PROJECT);
|
|
81
|
-
expect(second.skipInjection).toBe(true);
|
|
82
|
-
expect(second.contentHash).toBe(first.contentHash);
|
|
83
|
-
});
|
|
84
72
|
test('handles empty DB gracefully', () => {
|
|
85
73
|
const payload = (0, session_payload_js_1.buildSessionPayload)(db, baseDir, PROJECT);
|
|
86
74
|
expect(payload.sections).toHaveLength(4);
|
|
@@ -88,7 +76,6 @@ describe('buildSessionPayload', () => {
|
|
|
88
76
|
expect(payload.sections[1].content).toContain('No recent decisions');
|
|
89
77
|
expect(payload.sections[2].content).toContain('No active friction');
|
|
90
78
|
expect(payload.sections[3].content).toContain('No recent learnings');
|
|
91
|
-
expect(payload.skipInjection).toBe(false);
|
|
92
79
|
});
|
|
93
80
|
test('handles missing diary directory', () => {
|
|
94
81
|
insertEpisode('decision', 'A decision');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-payload.test.js","sourceRoot":"","sources":["../../tests/session-payload.test.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAEH,4CAAoB;AACpB,gDAAwB;AAExB,2CAAgF;AAEhF,
|
|
1
|
+
{"version":3,"file":"session-payload.test.js","sourceRoot":"","sources":["../../tests/session-payload.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const fs_1 = __importDefault(require("fs"));
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
3
8
|
const cc_session_sync_js_1 = require("../scripts/cc-session-sync.js");
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
9
|
+
const session_payload_js_1 = require("../scripts/lib/session-payload.js");
|
|
10
|
+
const schema_version_js_1 = require("../scripts/lib/schema-version.js");
|
|
11
|
+
const migrations_v062_js_1 = require("../scripts/lib/migrations-v062.js");
|
|
12
|
+
const db_js_1 = require("./helpers/db.js");
|
|
7
13
|
describe('session summary extraction', () => {
|
|
8
14
|
it('extracts intent from first user message', () => {
|
|
9
15
|
const transcript = [
|
|
@@ -54,7 +60,7 @@ describe('session summary extraction', () => {
|
|
|
54
60
|
});
|
|
55
61
|
it('rejects bare words without decision context', () => {
|
|
56
62
|
const text = 'implementasyon planı yazacağız';
|
|
57
|
-
const hasDecision =
|
|
63
|
+
const hasDecision = cc_session_sync_js_1.DECISION_KEYWORDS.some(kw => text.toLowerCase().includes(kw));
|
|
58
64
|
expect(hasDecision).toBe(false);
|
|
59
65
|
});
|
|
60
66
|
it('includes last intent when different from first', () => {
|
|
@@ -99,4 +105,34 @@ describe('session summary extraction', () => {
|
|
|
99
105
|
expect(summary).toBe('');
|
|
100
106
|
});
|
|
101
107
|
});
|
|
108
|
+
describe('session summary → DB → payload integration', () => {
|
|
109
|
+
let env;
|
|
110
|
+
beforeEach(() => {
|
|
111
|
+
env = (0, db_js_1.createEpisodesTestEnv)('session-summary-int');
|
|
112
|
+
(0, schema_version_js_1.ensureSchemaTable)(env.db);
|
|
113
|
+
(0, schema_version_js_1.runMigrations)(env.db, migrations_v062_js_1.V062_MIGRATIONS);
|
|
114
|
+
fs_1.default.mkdirSync(path_1.default.join(env.tmpDir, 'diary'), { recursive: true });
|
|
115
|
+
});
|
|
116
|
+
afterEach(() => (0, db_js_1.destroyEpisodesTestEnv)(env));
|
|
117
|
+
it('session-summary episode is readable by buildSessionPayload', () => {
|
|
118
|
+
const summary = 'Intent: v0.6.3 search engine | Son: commit atıldı';
|
|
119
|
+
env.db.prepare(`INSERT INTO episodes (kind, scope, project, summary, session_summary, status, created_at)
|
|
120
|
+
VALUES ('session-summary', 'project', 'test-proj', ?, ?, 'active', datetime('now'))`).run(summary, summary);
|
|
121
|
+
const payload = (0, session_payload_js_1.buildSessionPayload)(env.db, env.tmpDir, 'test-proj', 5000);
|
|
122
|
+
const pastSessions = payload.sections.find(s => s.label === 'Past Sessions');
|
|
123
|
+
expect(pastSessions).toBeDefined();
|
|
124
|
+
expect(pastSessions.content).toContain('v0.6.3 search engine');
|
|
125
|
+
});
|
|
126
|
+
it('extractSessionSummary output fits in episode summary column', () => {
|
|
127
|
+
const longTranscript = [
|
|
128
|
+
'---', 'type: raw', '---', '',
|
|
129
|
+
'## User', '', 'a'.repeat(200), '',
|
|
130
|
+
'## Assistant', '', 'ok', '',
|
|
131
|
+
'## User', '', 'b'.repeat(200), '',
|
|
132
|
+
].join('\n');
|
|
133
|
+
const summary = (0, cc_session_sync_js_1.extractSessionSummary)(longTranscript);
|
|
134
|
+
expect(summary.length).toBeLessThanOrEqual(500);
|
|
135
|
+
expect(summary).toContain('Intent:');
|
|
136
|
+
});
|
|
137
|
+
});
|
|
102
138
|
//# sourceMappingURL=session-summary.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-summary.test.js","sourceRoot":"","sources":["../../tests/session-summary.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session-summary.test.js","sourceRoot":"","sources":["../../tests/session-summary.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snippet.test.d.ts","sourceRoot":"","sources":["../../tests/snippet.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const snippet_js_1 = require("../scripts/lib/snippet.js");
|
|
4
|
+
test('extracts window around query terms', () => {
|
|
5
|
+
const content = 'A'.repeat(100) + ' TypeScript hooks are powerful ' + 'B'.repeat(100);
|
|
6
|
+
const snippet = (0, snippet_js_1.extractSnippet)(content, ['typescript', 'hooks'], 60);
|
|
7
|
+
expect(snippet).toContain('TypeScript hooks');
|
|
8
|
+
expect(snippet.length).toBeLessThanOrEqual(80);
|
|
9
|
+
});
|
|
10
|
+
test('returns start of content if no term match', () => {
|
|
11
|
+
const content = 'Hello world this is a test document with some words';
|
|
12
|
+
const snippet = (0, snippet_js_1.extractSnippet)(content, ['nonexistent'], 30);
|
|
13
|
+
expect(snippet.startsWith('Hello')).toBe(true);
|
|
14
|
+
expect(snippet.endsWith('...')).toBe(true);
|
|
15
|
+
});
|
|
16
|
+
test('returns full content if shorter than maxLen', () => {
|
|
17
|
+
const content = 'Short text';
|
|
18
|
+
const snippet = (0, snippet_js_1.extractSnippet)(content, ['short'], 300);
|
|
19
|
+
expect(snippet).toBe('Short text');
|
|
20
|
+
});
|
|
21
|
+
test('empty content returns empty', () => {
|
|
22
|
+
expect((0, snippet_js_1.extractSnippet)('', ['test'], 60)).toBe('');
|
|
23
|
+
});
|
|
24
|
+
test('prefers position with most term matches', () => {
|
|
25
|
+
const content = 'alpha beta ' + 'X'.repeat(200) + ' alpha gamma beta';
|
|
26
|
+
const snippet = (0, snippet_js_1.extractSnippet)(content, ['alpha', 'beta'], 40);
|
|
27
|
+
expect(snippet).toContain('alpha');
|
|
28
|
+
expect(snippet).toContain('beta');
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=snippet.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snippet.test.js","sourceRoot":"","sources":["../../tests/snippet.test.ts"],"names":[],"mappings":";;AAAA,0DAA2D;AAE3D,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,iCAAiC,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACtF,MAAM,OAAO,GAAG,IAAA,2BAAc,EAAC,OAAO,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IACrE,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;IAC9C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2CAA2C,EAAE,GAAG,EAAE;IACrD,MAAM,OAAO,GAAG,qDAAqD,CAAC;IACtE,MAAM,OAAO,GAAG,IAAA,2BAAc,EAAC,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7D,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6CAA6C,EAAE,GAAG,EAAE;IACvD,MAAM,OAAO,GAAG,YAAY,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAA,2BAAc,EAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;IACxD,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE;IACvC,MAAM,CAAC,IAAA,2BAAc,EAAC,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE;IACnD,MAAM,OAAO,GAAG,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC;IACtE,MAAM,OAAO,GAAG,IAAA,2BAAc,EAAC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/D,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC"}
|
|
@@ -154,6 +154,9 @@ const SQL_FTS_CREATE =
|
|
|
154
154
|
const SQL_FTS_INSERT =
|
|
155
155
|
'INSERT INTO mindlore_fts (path, slug, description, type, category, title, content, tags, quality, date_captured, project) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
|
|
156
156
|
|
|
157
|
+
const SQL_FTS_TRIGRAM_INSERT =
|
|
158
|
+
'INSERT INTO mindlore_fts_trigram (path, slug, description, type, category, title, content, tags, quality, date_captured, project) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
|
|
159
|
+
|
|
157
160
|
const SQL_FTS_SESSIONS_CREATE =
|
|
158
161
|
"CREATE VIRTUAL TABLE IF NOT EXISTS mindlore_fts_sessions USING fts5(path, slug, description, type, category, title, content, tags, quality, date_captured, project)";
|
|
159
162
|
|
|
@@ -175,8 +178,7 @@ function fixVersionTokens(query) {
|
|
|
175
178
|
* Insert a row into FTS5 using an object parameter (replaces positional args).
|
|
176
179
|
*/
|
|
177
180
|
function insertFtsRow(db, entry) {
|
|
178
|
-
const
|
|
179
|
-
stmt.run(
|
|
181
|
+
const vals = [
|
|
180
182
|
entry.path || '',
|
|
181
183
|
entry.slug || '',
|
|
182
184
|
entry.description || '',
|
|
@@ -188,7 +190,13 @@ function insertFtsRow(db, entry) {
|
|
|
188
190
|
entry.quality || null,
|
|
189
191
|
entry.dateCaptured || null,
|
|
190
192
|
entry.project || null,
|
|
191
|
-
|
|
193
|
+
];
|
|
194
|
+
db.prepare(SQL_FTS_INSERT).run(...vals);
|
|
195
|
+
try {
|
|
196
|
+
db.prepare(SQL_FTS_TRIGRAM_INSERT).run(...vals);
|
|
197
|
+
} catch (_err) {
|
|
198
|
+
// trigram table may not exist yet (pre-v0.6.3)
|
|
199
|
+
}
|
|
192
200
|
}
|
|
193
201
|
|
|
194
202
|
/**
|
|
@@ -756,6 +764,7 @@ module.exports = {
|
|
|
756
764
|
readHookStdin,
|
|
757
765
|
SQL_FTS_CREATE,
|
|
758
766
|
SQL_FTS_INSERT,
|
|
767
|
+
SQL_FTS_TRIGRAM_INSERT,
|
|
759
768
|
SQL_FTS_SESSIONS_CREATE,
|
|
760
769
|
SQL_FTS_SESSIONS_INSERT,
|
|
761
770
|
SESSION_CATEGORIES,
|
|
@@ -811,8 +820,52 @@ module.exports = {
|
|
|
811
820
|
withTelemetrySync,
|
|
812
821
|
// DB timeout wrapper (v0.6.1)
|
|
813
822
|
withTimeoutDb,
|
|
823
|
+
// Raw file helpers (v0.6.3)
|
|
824
|
+
getUnpromotedRawFiles,
|
|
825
|
+
// Snapshot helpers (v0.6.3)
|
|
826
|
+
listSnapshots,
|
|
827
|
+
getLatestSnapshot,
|
|
828
|
+
// DB corruption recovery (v0.6.3)
|
|
829
|
+
isCorruptionError,
|
|
830
|
+
recoverCorruptDb,
|
|
814
831
|
};
|
|
815
832
|
|
|
833
|
+
function isCorruptionError(err) {
|
|
834
|
+
const code = err?.code ?? '';
|
|
835
|
+
const msg = String(err?.message ?? err);
|
|
836
|
+
return code === 'SQLITE_CORRUPT' || code === 'SQLITE_NOTADB' || /corrupt|malformed/i.test(msg);
|
|
837
|
+
}
|
|
838
|
+
|
|
839
|
+
function recoverCorruptDb(db, dbPath, hookName) {
|
|
840
|
+
try { db.close(); } catch { /* already closed */ }
|
|
841
|
+
const bakPath = dbPath + '.corrupt.bak';
|
|
842
|
+
try { fs.copyFileSync(dbPath, bakPath); } catch { /* best effort */ }
|
|
843
|
+
try { fs.unlinkSync(dbPath); } catch { /* best effort */ }
|
|
844
|
+
hookLog(hookName, 'warn', 'corrupt DB detected, backed up and removed: ' + dbPath);
|
|
845
|
+
}
|
|
846
|
+
|
|
847
|
+
function listSnapshots(diaryDir) {
|
|
848
|
+
if (!fs.existsSync(diaryDir)) return [];
|
|
849
|
+
return fs.readdirSync(diaryDir)
|
|
850
|
+
.filter(f => f.startsWith('delta-') || f.startsWith('compaction-'))
|
|
851
|
+
.sort();
|
|
852
|
+
}
|
|
853
|
+
|
|
854
|
+
function getLatestSnapshot(diaryDir) {
|
|
855
|
+
const files = listSnapshots(diaryDir);
|
|
856
|
+
return files.length > 0 ? files[files.length - 1] : null;
|
|
857
|
+
}
|
|
858
|
+
|
|
859
|
+
function getUnpromotedRawFiles(baseDir) {
|
|
860
|
+
const rawDir = path.join(baseDir, 'raw');
|
|
861
|
+
const sourcesDir = path.join(baseDir, 'sources');
|
|
862
|
+
if (!fs.existsSync(rawDir)) return [];
|
|
863
|
+
const sourceNames = fs.existsSync(sourcesDir)
|
|
864
|
+
? new Set(fs.readdirSync(sourcesDir).filter(f => f.endsWith('.md')))
|
|
865
|
+
: new Set();
|
|
866
|
+
return fs.readdirSync(rawDir).filter(f => f.endsWith('.md') && !sourceNames.has(f));
|
|
867
|
+
}
|
|
868
|
+
|
|
816
869
|
function isDaemonRunning(pidFile) {
|
|
817
870
|
if (!fs.existsSync(pidFile)) return { running: false };
|
|
818
871
|
const pid = parseInt(fs.readFileSync(pidFile, 'utf8').trim());
|
package/hooks/mindlore-index.cjs
CHANGED
|
@@ -12,6 +12,10 @@ const fs = require('fs');
|
|
|
12
12
|
const path = require('path');
|
|
13
13
|
const { MINDLORE_DIR, DB_NAME, SKIP_FILES, sha256, openDatabase, parseFrontmatter, extractFtsMetadata, insertFtsRow, readHookStdin, getProjectName, resolveProject, globalDir, hookLog, withTelemetry } = require('./lib/mindlore-common.cjs');
|
|
14
14
|
|
|
15
|
+
function invalidateSearchCache(db) {
|
|
16
|
+
try { db.exec('DELETE FROM search_cache'); } catch (_) { /* table may not exist */ }
|
|
17
|
+
}
|
|
18
|
+
|
|
15
19
|
function main() {
|
|
16
20
|
const filePath = readHookStdin(['path', 'file_path']);
|
|
17
21
|
if (!filePath) return;
|
|
@@ -55,6 +59,7 @@ function main() {
|
|
|
55
59
|
try {
|
|
56
60
|
db.prepare('DELETE FROM mindlore_fts WHERE path = ?').run(filePath);
|
|
57
61
|
db.prepare('DELETE FROM file_hashes WHERE path = ?').run(filePath);
|
|
62
|
+
invalidateSearchCache(db);
|
|
58
63
|
} finally {
|
|
59
64
|
db.close();
|
|
60
65
|
}
|
|
@@ -92,6 +97,7 @@ function main() {
|
|
|
92
97
|
).run(filePath, hash, new Date().toISOString());
|
|
93
98
|
});
|
|
94
99
|
updateIndex();
|
|
100
|
+
invalidateSearchCache(db);
|
|
95
101
|
} finally {
|
|
96
102
|
db.close();
|
|
97
103
|
}
|
|
@@ -11,7 +11,63 @@
|
|
|
11
11
|
|
|
12
12
|
const fs = require('fs');
|
|
13
13
|
const path = require('path');
|
|
14
|
-
const { findMindloreDir, openDatabase, hookLog, withTelemetry } = require('./lib/mindlore-common.cjs');
|
|
14
|
+
const { findMindloreDir, openDatabase, hookLog, withTelemetry, listSnapshots } = require('./lib/mindlore-common.cjs');
|
|
15
|
+
|
|
16
|
+
function collectRecentEpisodes(baseDir) {
|
|
17
|
+
try {
|
|
18
|
+
const dbPath = path.join(baseDir, 'mindlore.db');
|
|
19
|
+
const db = openDatabase(dbPath, { readonly: true });
|
|
20
|
+
if (!db) return [];
|
|
21
|
+
try {
|
|
22
|
+
const episodes = db.prepare(
|
|
23
|
+
"SELECT kind, summary FROM episodes WHERE created_at > datetime('now', '-4 hours') ORDER BY created_at DESC LIMIT 20"
|
|
24
|
+
).all();
|
|
25
|
+
if (episodes.length === 0) return [];
|
|
26
|
+
const grouped = {};
|
|
27
|
+
for (const ep of episodes) {
|
|
28
|
+
const kind = ep.kind || 'other';
|
|
29
|
+
if (!grouped[kind]) grouped[kind] = [];
|
|
30
|
+
grouped[kind].push(ep.summary);
|
|
31
|
+
}
|
|
32
|
+
const lines = ['## Session Episodes'];
|
|
33
|
+
for (const [kind, items] of Object.entries(grouped)) {
|
|
34
|
+
lines.push(`### ${kind}`);
|
|
35
|
+
for (const item of items) lines.push(`- ${item}`);
|
|
36
|
+
}
|
|
37
|
+
return lines;
|
|
38
|
+
} finally {
|
|
39
|
+
db.close();
|
|
40
|
+
}
|
|
41
|
+
} catch (_err) {
|
|
42
|
+
return [];
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
function collectGitDiff() {
|
|
47
|
+
try {
|
|
48
|
+
const { execSync } = require('child_process');
|
|
49
|
+
const diffStat = execSync('git diff --stat HEAD 2>/dev/null || echo ""', {
|
|
50
|
+
encoding: 'utf8', timeout: 2000, windowsHide: true,
|
|
51
|
+
}).trim();
|
|
52
|
+
if (diffStat) return ['## Changed Files (uncommitted)', '```', diffStat, '```'];
|
|
53
|
+
return [];
|
|
54
|
+
} catch (_err) {
|
|
55
|
+
return [];
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
function getActivePlan() {
|
|
60
|
+
try {
|
|
61
|
+
const plansDir = path.join(process.cwd(), '.claude', 'plans');
|
|
62
|
+
if (!fs.existsSync(plansDir)) return [];
|
|
63
|
+
const plans = fs.readdirSync(plansDir).filter(f => f.endsWith('.md'));
|
|
64
|
+
if (plans.length === 0) return [];
|
|
65
|
+
const latestPlan = plans.sort().pop();
|
|
66
|
+
return [`## Active Plan: ${latestPlan}`];
|
|
67
|
+
} catch (_err) {
|
|
68
|
+
return [];
|
|
69
|
+
}
|
|
70
|
+
}
|
|
15
71
|
|
|
16
72
|
function main() {
|
|
17
73
|
const baseDir = findMindloreDir();
|
|
@@ -64,54 +120,9 @@ function main() {
|
|
|
64
120
|
const diaryDir = path.join(baseDir, 'diary');
|
|
65
121
|
try {
|
|
66
122
|
const sections = [];
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
const db = openDatabase(dbPath, { readonly: true });
|
|
71
|
-
if (db) {
|
|
72
|
-
try {
|
|
73
|
-
const episodes = db.prepare(
|
|
74
|
-
"SELECT kind, summary FROM episodes WHERE created_at > datetime('now', '-4 hours') ORDER BY created_at DESC LIMIT 20"
|
|
75
|
-
).all();
|
|
76
|
-
if (episodes.length > 0) {
|
|
77
|
-
const grouped = {};
|
|
78
|
-
for (const ep of episodes) {
|
|
79
|
-
const kind = ep.kind || 'other';
|
|
80
|
-
if (!grouped[kind]) grouped[kind] = [];
|
|
81
|
-
grouped[kind].push(ep.summary);
|
|
82
|
-
}
|
|
83
|
-
sections.push('## Session Episodes');
|
|
84
|
-
for (const [kind, items] of Object.entries(grouped)) {
|
|
85
|
-
sections.push(`### ${kind}`);
|
|
86
|
-
for (const item of items) sections.push(`- ${item}`);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
} finally {
|
|
90
|
-
db.close();
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
} catch (_err) { /* graceful skip */ }
|
|
94
|
-
|
|
95
|
-
try {
|
|
96
|
-
const { execSync } = require('child_process');
|
|
97
|
-
const diffStat = execSync('git diff --stat HEAD 2>/dev/null || echo ""', {
|
|
98
|
-
encoding: 'utf8', timeout: 2000, windowsHide: true,
|
|
99
|
-
}).trim();
|
|
100
|
-
if (diffStat) {
|
|
101
|
-
sections.push('## Changed Files (uncommitted)', '```', diffStat, '```');
|
|
102
|
-
}
|
|
103
|
-
} catch (_err) { /* no git */ }
|
|
104
|
-
|
|
105
|
-
try {
|
|
106
|
-
const plansDir = path.join(process.cwd(), '.claude', 'plans');
|
|
107
|
-
if (fs.existsSync(plansDir)) {
|
|
108
|
-
const plans = fs.readdirSync(plansDir).filter(f => f.endsWith('.md'));
|
|
109
|
-
if (plans.length > 0) {
|
|
110
|
-
const latestPlan = plans.sort().pop();
|
|
111
|
-
sections.push(`## Active Plan: ${latestPlan}`);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
} catch (_err) { /* skip */ }
|
|
123
|
+
sections.push(...collectRecentEpisodes(baseDir));
|
|
124
|
+
sections.push(...collectGitDiff());
|
|
125
|
+
sections.push(...getActivePlan());
|
|
115
126
|
|
|
116
127
|
if (sections.length > 0) {
|
|
117
128
|
const snapshotContent = [
|
|
@@ -126,9 +137,7 @@ function main() {
|
|
|
126
137
|
fs.writeFileSync(path.join(diaryDir, `compaction-snapshot-${ts}.md`), snapshotContent);
|
|
127
138
|
}
|
|
128
139
|
|
|
129
|
-
const snapshots =
|
|
130
|
-
.filter(f => f.startsWith('compaction-snapshot-'))
|
|
131
|
-
.sort();
|
|
140
|
+
const snapshots = listSnapshots(diaryDir).filter(f => f.startsWith('compaction-'));
|
|
132
141
|
while (snapshots.length > 5) {
|
|
133
142
|
const oldest = snapshots.shift();
|
|
134
143
|
if (oldest) fs.unlinkSync(path.join(diaryDir, oldest));
|