mindlore 0.6.6 → 0.6.8

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 (184) hide show
  1. package/README.md +259 -259
  2. package/SCHEMA.md +292 -292
  3. package/dist/scripts/cc-memory-bulk-sync.d.ts.map +1 -1
  4. package/dist/scripts/cc-memory-bulk-sync.js +47 -42
  5. package/dist/scripts/cc-memory-bulk-sync.js.map +1 -1
  6. package/dist/scripts/cc-session-sync.d.ts.map +1 -1
  7. package/dist/scripts/cc-session-sync.js +58 -48
  8. package/dist/scripts/cc-session-sync.js.map +1 -1
  9. package/dist/scripts/init.js +8 -8
  10. package/dist/scripts/init.js.map +1 -1
  11. package/dist/scripts/lib/all-migrations.d.ts.map +1 -1
  12. package/dist/scripts/lib/all-migrations.js +7 -1
  13. package/dist/scripts/lib/all-migrations.js.map +1 -1
  14. package/dist/scripts/lib/consolidation.d.ts +4 -3
  15. package/dist/scripts/lib/consolidation.d.ts.map +1 -1
  16. package/dist/scripts/lib/consolidation.js +10 -10
  17. package/dist/scripts/lib/consolidation.js.map +1 -1
  18. package/dist/scripts/lib/constants.d.ts +1 -7
  19. package/dist/scripts/lib/constants.d.ts.map +1 -1
  20. package/dist/scripts/lib/constants.js +2 -9
  21. package/dist/scripts/lib/constants.js.map +1 -1
  22. package/dist/scripts/lib/db-helpers.d.ts +0 -15
  23. package/dist/scripts/lib/db-helpers.d.ts.map +1 -1
  24. package/dist/scripts/lib/db-helpers.js +1 -51
  25. package/dist/scripts/lib/db-helpers.js.map +1 -1
  26. package/dist/scripts/lib/decay.d.ts.map +1 -1
  27. package/dist/scripts/lib/decay.js +9 -9
  28. package/dist/scripts/lib/decay.js.map +1 -1
  29. package/dist/scripts/lib/episodes.js +23 -23
  30. package/dist/scripts/lib/migrations-v061.js +21 -21
  31. package/dist/scripts/lib/migrations-v062.js +11 -11
  32. package/dist/scripts/lib/migrations-v063.js +14 -14
  33. package/dist/scripts/lib/migrations-v067.d.ts +7 -0
  34. package/dist/scripts/lib/migrations-v067.d.ts.map +1 -0
  35. package/dist/scripts/lib/migrations-v067.js +50 -0
  36. package/dist/scripts/lib/migrations-v067.js.map +1 -0
  37. package/dist/scripts/lib/migrations-v068.d.ts +3 -0
  38. package/dist/scripts/lib/migrations-v068.d.ts.map +1 -0
  39. package/dist/scripts/lib/migrations-v068.js +37 -0
  40. package/dist/scripts/lib/migrations-v068.js.map +1 -0
  41. package/dist/scripts/lib/migrations.d.ts.map +1 -1
  42. package/dist/scripts/lib/migrations.js +0 -15
  43. package/dist/scripts/lib/migrations.js.map +1 -1
  44. package/dist/scripts/lib/schema-version.js +6 -6
  45. package/dist/scripts/lib/search-cache.js +11 -11
  46. package/dist/scripts/lib/session-payload.d.ts +9 -1
  47. package/dist/scripts/lib/session-payload.d.ts.map +1 -1
  48. package/dist/scripts/lib/session-payload.js +11 -10
  49. package/dist/scripts/lib/session-payload.js.map +1 -1
  50. package/dist/scripts/lib/triage.js +3 -3
  51. package/dist/scripts/mindlore-backup.js +9 -9
  52. package/dist/scripts/mindlore-fts5-index.d.ts +1 -2
  53. package/dist/scripts/mindlore-fts5-index.d.ts.map +1 -1
  54. package/dist/scripts/mindlore-fts5-index.js +12 -64
  55. package/dist/scripts/mindlore-fts5-index.js.map +1 -1
  56. package/dist/scripts/mindlore-health-check.d.ts.map +1 -1
  57. package/dist/scripts/mindlore-health-check.js +0 -11
  58. package/dist/scripts/mindlore-health-check.js.map +1 -1
  59. package/dist/tests/cc-memory-bulk-sync.test.js +23 -0
  60. package/dist/tests/cc-memory-bulk-sync.test.js.map +1 -1
  61. package/dist/tests/cc-session-sync.test.js +25 -0
  62. package/dist/tests/cc-session-sync.test.js.map +1 -1
  63. package/dist/tests/compaction-snapshot.test.js +2 -2
  64. package/dist/tests/consolidation.test.js +5 -5
  65. package/dist/tests/consolidation.test.js.map +1 -1
  66. package/dist/tests/decay.test.js +9 -9
  67. package/dist/tests/diary.test.js +4 -4
  68. package/dist/tests/episode-kind-constant.test.d.ts +2 -0
  69. package/dist/tests/episode-kind-constant.test.d.ts.map +1 -0
  70. package/dist/tests/episode-kind-constant.test.js +28 -0
  71. package/dist/tests/episode-kind-constant.test.js.map +1 -0
  72. package/dist/tests/episodes-inject.test.js +14 -14
  73. package/dist/tests/episodes-inject.test.js.map +1 -1
  74. package/dist/tests/fts5.test.js +66 -125
  75. package/dist/tests/fts5.test.js.map +1 -1
  76. package/dist/tests/globalSetup.d.ts +2 -0
  77. package/dist/tests/globalSetup.d.ts.map +1 -0
  78. package/dist/tests/globalSetup.js +36 -0
  79. package/dist/tests/globalSetup.js.map +1 -0
  80. package/dist/tests/helpers/db.d.ts +13 -5
  81. package/dist/tests/helpers/db.d.ts.map +1 -1
  82. package/dist/tests/helpers/db.js +61 -33
  83. package/dist/tests/helpers/db.js.map +1 -1
  84. package/dist/tests/lesson-graduation.test.d.ts +2 -0
  85. package/dist/tests/lesson-graduation.test.d.ts.map +1 -0
  86. package/dist/tests/lesson-graduation.test.js +83 -0
  87. package/dist/tests/lesson-graduation.test.js.map +1 -0
  88. package/dist/tests/migrations-v053.test.js +16 -16
  89. package/dist/tests/migrations-v061.test.js +10 -10
  90. package/dist/tests/migrations-v063.test.js +2 -2
  91. package/dist/tests/migrations-v067.test.d.ts +2 -0
  92. package/dist/tests/migrations-v067.test.d.ts.map +1 -0
  93. package/dist/tests/migrations-v067.test.js +115 -0
  94. package/dist/tests/migrations-v067.test.js.map +1 -0
  95. package/dist/tests/migrations-v068.test.d.ts +2 -0
  96. package/dist/tests/migrations-v068.test.d.ts.map +1 -0
  97. package/dist/tests/migrations-v068.test.js +53 -0
  98. package/dist/tests/migrations-v068.test.js.map +1 -0
  99. package/dist/tests/nomination-counts.test.d.ts +2 -0
  100. package/dist/tests/nomination-counts.test.d.ts.map +1 -0
  101. package/dist/tests/nomination-counts.test.js +51 -0
  102. package/dist/tests/nomination-counts.test.js.map +1 -0
  103. package/dist/tests/recall-telemetry.test.js +8 -8
  104. package/dist/tests/schema-version.test.js +3 -7
  105. package/dist/tests/schema-version.test.js.map +1 -1
  106. package/dist/tests/search-hook.test.js +2 -2
  107. package/dist/tests/sec-regression.test.js +0 -50
  108. package/dist/tests/sec-regression.test.js.map +1 -1
  109. package/dist/tests/session-end-cleanup.test.d.ts +2 -0
  110. package/dist/tests/session-end-cleanup.test.d.ts.map +1 -0
  111. package/dist/tests/session-end-cleanup.test.js +59 -0
  112. package/dist/tests/session-end-cleanup.test.js.map +1 -0
  113. package/dist/tests/session-focus.test.js +69 -10
  114. package/dist/tests/session-focus.test.js.map +1 -1
  115. package/dist/tests/session-payload.test.js +11 -11
  116. package/dist/tests/session-payload.test.js.map +1 -1
  117. package/dist/tests/session-summary.test.js +2 -2
  118. package/dist/tests/session-summary.test.js.map +1 -1
  119. package/hooks/lib/constants.cjs +15 -0
  120. package/hooks/lib/mindlore-common.cjs +974 -1004
  121. package/hooks/mindlore-cwd-changed.cjs +57 -57
  122. package/hooks/mindlore-decision-detector.cjs +54 -54
  123. package/hooks/mindlore-dont-repeat.cjs +222 -222
  124. package/hooks/mindlore-fts5-sync.cjs +97 -88
  125. package/hooks/mindlore-index.cjs +229 -229
  126. package/hooks/mindlore-model-router.cjs +54 -54
  127. package/hooks/mindlore-post-compact.cjs +69 -69
  128. package/hooks/mindlore-post-read.cjs +106 -106
  129. package/hooks/mindlore-pre-compact.cjs +154 -154
  130. package/hooks/mindlore-read-guard.cjs +105 -105
  131. package/hooks/mindlore-research-guard.cjs +176 -176
  132. package/hooks/mindlore-search.cjs +200 -200
  133. package/hooks/mindlore-session-end.cjs +509 -523
  134. package/hooks/mindlore-session-focus.cjs +256 -245
  135. package/package.json +75 -78
  136. package/plugin.json +1 -1
  137. package/skills/mindlore-diary/SKILL.md +85 -85
  138. package/skills/mindlore-evolve/SKILL.md +126 -126
  139. package/skills/mindlore-explore/SKILL.md +109 -109
  140. package/skills/mindlore-ingest/SKILL.md +195 -195
  141. package/skills/mindlore-maintain/SKILL.md +125 -125
  142. package/skills/mindlore-query/SKILL.md +151 -151
  143. package/skills/mindlore-reflect/SKILL.md +141 -131
  144. package/skills/mindlore-stats/SKILL.md +106 -106
  145. package/templates/INDEX.md +14 -14
  146. package/templates/SCHEMA.md +292 -292
  147. package/templates/config.json +1 -1
  148. package/templates/extraction/article.md +15 -15
  149. package/templates/extraction/changelog.md +15 -15
  150. package/templates/extraction/default.md +15 -15
  151. package/templates/extraction/docs.md +15 -15
  152. package/templates/extraction/github-repo.md +17 -17
  153. package/dist/scripts/lib/daemon.d.ts +0 -16
  154. package/dist/scripts/lib/daemon.d.ts.map +0 -1
  155. package/dist/scripts/lib/daemon.js +0 -133
  156. package/dist/scripts/lib/daemon.js.map +0 -1
  157. package/dist/scripts/lib/embedding.d.ts +0 -5
  158. package/dist/scripts/lib/embedding.d.ts.map +0 -1
  159. package/dist/scripts/lib/embedding.js +0 -44
  160. package/dist/scripts/lib/embedding.js.map +0 -1
  161. package/dist/scripts/mindlore-daemon.d.ts +0 -2
  162. package/dist/scripts/mindlore-daemon.d.ts.map +0 -1
  163. package/dist/scripts/mindlore-daemon.js +0 -117
  164. package/dist/scripts/mindlore-daemon.js.map +0 -1
  165. package/dist/tests/daemon-integration.test.d.ts +0 -2
  166. package/dist/tests/daemon-integration.test.d.ts.map +0 -1
  167. package/dist/tests/daemon-integration.test.js +0 -37
  168. package/dist/tests/daemon-integration.test.js.map +0 -1
  169. package/dist/tests/daemon.test.d.ts +0 -2
  170. package/dist/tests/daemon.test.d.ts.map +0 -1
  171. package/dist/tests/daemon.test.js +0 -187
  172. package/dist/tests/daemon.test.js.map +0 -1
  173. package/dist/tests/embedding-hf-integration.test.d.ts +0 -2
  174. package/dist/tests/embedding-hf-integration.test.d.ts.map +0 -1
  175. package/dist/tests/embedding-hf-integration.test.js +0 -52
  176. package/dist/tests/embedding-hf-integration.test.js.map +0 -1
  177. package/dist/tests/embedding.test.d.ts +0 -6
  178. package/dist/tests/embedding.test.d.ts.map +0 -1
  179. package/dist/tests/embedding.test.js +0 -71
  180. package/dist/tests/embedding.test.js.map +0 -1
  181. package/dist/tests/sqlite-vec-v12.test.d.ts +0 -2
  182. package/dist/tests/sqlite-vec-v12.test.d.ts.map +0 -1
  183. package/dist/tests/sqlite-vec-v12.test.js +0 -72
  184. package/dist/tests/sqlite-vec-v12.test.js.map +0 -1
@@ -8,6 +8,7 @@ const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
8
8
  const fs_1 = __importDefault(require("fs"));
9
9
  const db_js_1 = require("./helpers/db.js");
10
10
  const db_helpers_js_1 = require("../scripts/lib/db-helpers.js");
11
+ const constants_js_1 = require("../scripts/lib/constants.js");
11
12
  const TEST_DIR = path_1.default.join(__dirname, '..', '.test-mindlore-fts5');
12
13
  const DB_PATH = path_1.default.join(TEST_DIR, 'mindlore.db');
13
14
  beforeEach(() => {
@@ -33,9 +34,9 @@ describe('FTS5 Database', () => {
33
34
  const testPath = path_1.default.join(TEST_DIR, 'sources', 'typescript-guide.md');
34
35
  const content = '# TypeScript Guide\n\nTypeScript provides static typing for JavaScript applications.';
35
36
  (0, db_js_1.insertFts)(db, { path: testPath, slug: 'typescript-guide', description: 'TypeScript static typing for JavaScript', type: 'source', category: 'sources', title: 'TypeScript Guide', content, tags: '', quality: null, dateCaptured: null });
36
- const results = (0, db_helpers_js_1.dbAll)(db, `SELECT path, rank FROM mindlore_fts
37
- WHERE mindlore_fts MATCH ?
38
- ORDER BY rank
37
+ const results = (0, db_helpers_js_1.dbAll)(db, `SELECT path, rank FROM mindlore_fts
38
+ WHERE mindlore_fts MATCH ?
39
+ ORDER BY rank
39
40
  LIMIT 3`, 'TypeScript');
40
41
  expect(results).toHaveLength(1);
41
42
  expect(results[0].path).toBe(testPath);
@@ -45,9 +46,9 @@ describe('FTS5 Database', () => {
45
46
  const db = new better_sqlite3_1.default(DB_PATH);
46
47
  const testPath = path_1.default.join(TEST_DIR, 'sources', 'python-guide.md');
47
48
  (0, db_js_1.insertFts)(db, { path: testPath, slug: 'python-guide', description: 'Python for data science', type: 'source', category: 'sources', title: 'Python Guide', content: '# Python Guide\n\nPython is great for data science.', tags: '', quality: null, dateCaptured: null });
48
- const results = (0, db_helpers_js_1.dbAll)(db, `SELECT path FROM mindlore_fts
49
- WHERE mindlore_fts MATCH ?
50
- ORDER BY rank
49
+ const results = (0, db_helpers_js_1.dbAll)(db, `SELECT path FROM mindlore_fts
50
+ WHERE mindlore_fts MATCH ?
51
+ ORDER BY rank
51
52
  LIMIT 3`, 'Kubernetes');
52
53
  expect(results).toHaveLength(0);
53
54
  db.close();
@@ -56,9 +57,9 @@ describe('FTS5 Database', () => {
56
57
  const db = new better_sqlite3_1.default(DB_PATH);
57
58
  (0, db_js_1.insertFts)(db, { path: path_1.default.join(TEST_DIR, 'sources', 'hooks-overview.md'), slug: 'hooks-overview', description: 'Hooks lifecycle callbacks overview', type: 'source', category: 'sources', title: 'Hooks Overview', content: '# Hooks Overview\n\nHooks are lifecycle callbacks.', tags: '', quality: null, dateCaptured: null });
58
59
  (0, db_js_1.insertFts)(db, { path: path_1.default.join(TEST_DIR, 'sources', 'hooks-deep-dive.md'), slug: 'hooks-deep-dive', description: 'Deep dive into hooks patterns', type: 'source', category: 'sources', title: 'Hooks Deep Dive', content: '# Hooks Deep Dive\n\nHooks hooks hooks. PreToolUse hooks, PostToolUse hooks, SessionStart hooks.', tags: '', quality: null, dateCaptured: null });
59
- const results = (0, db_helpers_js_1.dbAll)(db, `SELECT path, rank FROM mindlore_fts
60
- WHERE mindlore_fts MATCH ?
61
- ORDER BY rank
60
+ const results = (0, db_helpers_js_1.dbAll)(db, `SELECT path, rank FROM mindlore_fts
61
+ WHERE mindlore_fts MATCH ?
62
+ ORDER BY rank
62
63
  LIMIT 3`, 'hooks');
63
64
  expect(results).toHaveLength(2);
64
65
  const deepDive = results.find((r) => r.path.includes('deep-dive'));
@@ -70,9 +71,9 @@ describe('FTS5 Database', () => {
70
71
  test('should index and search by tags column', () => {
71
72
  const db = new better_sqlite3_1.default(DB_PATH);
72
73
  (0, db_js_1.insertFts)(db, { path: path_1.default.join(TEST_DIR, 'sources', 'tagged-doc.md'), slug: 'tagged-doc', description: 'A doc with tags', type: 'source', category: 'sources', title: 'Tagged Doc', content: '# Tagged\n\nContent here.', tags: 'security, hooks, fts5', quality: null, dateCaptured: null });
73
- const results = (0, db_helpers_js_1.dbAll)(db, `SELECT path, tags FROM mindlore_fts
74
- WHERE tags MATCH ?
75
- ORDER BY rank
74
+ const results = (0, db_helpers_js_1.dbAll)(db, `SELECT path, tags FROM mindlore_fts
75
+ WHERE tags MATCH ?
76
+ ORDER BY rank
76
77
  LIMIT 3`, 'security');
77
78
  expect(results).toHaveLength(1);
78
79
  expect(results[0].tags).toBe('security, hooks, fts5');
@@ -109,7 +110,7 @@ describe('openDatabaseTs', () => {
109
110
  const walMode = db.pragma('journal_mode', { simple: true });
110
111
  expect(walMode).toBe('wal');
111
112
  const timeout = db.pragma('busy_timeout', { simple: true });
112
- expect(timeout).toBe(5000);
113
+ expect(timeout).toBe(constants_js_1.DB_BUSY_TIMEOUT_MS);
113
114
  db.close();
114
115
  });
115
116
  test('readonly should NOT set WAL', () => {
@@ -129,67 +130,7 @@ describe('openDatabase CJS', () => {
129
130
  const walMode = db.pragma('journal_mode', { simple: true });
130
131
  expect(walMode).toBe('wal');
131
132
  const timeout = db.pragma('busy_timeout', { simple: true });
132
- expect(timeout).toBe(5000);
133
- db.close();
134
- });
135
- });
136
- describe('Index with Embedding', () => {
137
- test('should populate vec table when sqlite-vec is loaded', () => {
138
- const { loadSqliteVec, ensureVecTable, hasVecTable: hasVec } = require('../scripts/lib/db-helpers.js');
139
- const db = new better_sqlite3_1.default(DB_PATH);
140
- const vecLoaded = loadSqliteVec(db);
141
- if (!vecLoaded) {
142
- console.log('sqlite-vec not available — skipping embed test');
143
- db.close();
144
- return;
145
- }
146
- ensureVecTable(db);
147
- expect(hasVec(db)).toBe(true);
148
- // Insert a document to FTS
149
- (0, db_js_1.insertFts)(db, {
150
- path: path_1.default.join(TEST_DIR, 'sources', 'embed-test.md'),
151
- slug: 'embed-test',
152
- description: 'Document for embedding test',
153
- type: 'source',
154
- category: 'sources',
155
- title: 'Embed Test',
156
- content: 'This document tests the embedding pipeline integration',
157
- tags: 'test,embedding',
158
- });
159
- // Manually test vec insert with fake embedding
160
- const fakeEmbedding = new Float32Array(384);
161
- fakeEmbedding[0] = 1.0;
162
- const buf = Buffer.from(fakeEmbedding.buffer);
163
- db.prepare('INSERT INTO documents_vec (embedding, slug, created_at, model_name) VALUES (?, ?, ?, ?)').run(buf, 'embed-test', new Date().toISOString(), 'Xenova/multilingual-e5-small');
164
- // Verify vec entry
165
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- test: better-sqlite3 .get() returns unknown
166
- const row = db.prepare('SELECT slug FROM documents_vec WHERE slug = ?').get('embed-test');
167
- expect(row?.slug).toBe('embed-test');
168
- db.close();
169
- });
170
- });
171
- describe('Vec Table', () => {
172
- test('should load sqlite-vec extension and create vec table', () => {
173
- const { loadSqliteVec, ensureVecTable } = require('../scripts/lib/db-helpers.js');
174
- const db = new better_sqlite3_1.default(DB_PATH);
175
- const loaded = loadSqliteVec(db);
176
- expect(loaded).toBe(true);
177
- ensureVecTable(db);
178
- // Verify table exists by inserting and querying
179
- const testEmbedding = new Float32Array(384);
180
- testEmbedding[0] = 1.0; // unit vector along first dimension
181
- db.prepare('INSERT INTO documents_vec (embedding, slug, created_at, model_name) VALUES (?, ?, ?, ?)').run(Buffer.from(testEmbedding.buffer), 'test-slug', new Date().toISOString(), 'test-model');
182
- // vec0 metadata columns are filterable in WHERE
183
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- test: better-sqlite3 .get() returns unknown
184
- const row = db.prepare('SELECT slug FROM documents_vec WHERE slug = ?').get('test-slug');
185
- expect(row?.slug).toBe('test-slug');
186
- db.close();
187
- });
188
- test('should return false when sqlite-vec is not available', () => {
189
- const { ensureVecTable } = require('../scripts/lib/db-helpers.js');
190
- const db = new better_sqlite3_1.default(DB_PATH);
191
- // Without loadSqliteVec, ensureVecTable should handle gracefully
192
- expect(() => ensureVecTable(db)).not.toThrow();
133
+ expect(timeout).toBe(constants_js_1.DB_BUSY_TIMEOUT_MS);
193
134
  db.close();
194
135
  });
195
136
  });
@@ -202,13 +143,13 @@ describe('Timestamp columns', () => {
202
143
  const hash1 = 'aaa111';
203
144
  const now1 = '2026-04-19T10:00:00.000Z';
204
145
  // Simulate first index: INSERT with created_at, no updated_at
205
- const upsertHash = db.prepare(`
206
- INSERT INTO file_hashes (path, content_hash, last_indexed, created_at)
207
- VALUES (?, ?, ?, datetime('now'))
208
- ON CONFLICT(path) DO UPDATE SET
209
- content_hash = excluded.content_hash,
210
- last_indexed = excluded.last_indexed,
211
- updated_at = datetime('now')
146
+ const upsertHash = db.prepare(`
147
+ INSERT INTO file_hashes (path, content_hash, last_indexed, created_at)
148
+ VALUES (?, ?, ?, datetime('now'))
149
+ ON CONFLICT(path) DO UPDATE SET
150
+ content_hash = excluded.content_hash,
151
+ last_indexed = excluded.last_indexed,
152
+ updated_at = datetime('now')
212
153
  `);
213
154
  upsertHash.run(testPath, hash1, now1);
214
155
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- better-sqlite3 .get() returns unknown
@@ -235,14 +176,14 @@ describe('Project scope on index', () => {
235
176
  const hash = 'abc123';
236
177
  const now = '2026-04-19T12:00:00.000Z';
237
178
  const projectName = 'test-project';
238
- const upsertHash = db.prepare(`
239
- INSERT INTO file_hashes (path, content_hash, last_indexed, created_at, project_scope)
240
- VALUES (?, ?, ?, datetime('now'), ?)
241
- ON CONFLICT(path) DO UPDATE SET
242
- content_hash = excluded.content_hash,
243
- last_indexed = excluded.last_indexed,
244
- updated_at = datetime('now'),
245
- project_scope = excluded.project_scope
179
+ const upsertHash = db.prepare(`
180
+ INSERT INTO file_hashes (path, content_hash, last_indexed, created_at, project_scope)
181
+ VALUES (?, ?, ?, datetime('now'), ?)
182
+ ON CONFLICT(path) DO UPDATE SET
183
+ content_hash = excluded.content_hash,
184
+ last_indexed = excluded.last_indexed,
185
+ updated_at = datetime('now'),
186
+ project_scope = excluded.project_scope
246
187
  `);
247
188
  upsertHash.run(testPath, hash, now, projectName);
248
189
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- better-sqlite3 .get() returns unknown
@@ -259,15 +200,15 @@ describe('Quality to importance mapping', () => {
259
200
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- test helper returns Database
260
201
  const db = createTestDbWithMigrations(DB_PATH);
261
202
  const testPath = path_1.default.join(TEST_DIR, 'sources', 'test-importance-high.md');
262
- const upsertHash = db.prepare(`
263
- INSERT INTO file_hashes (path, content_hash, last_indexed, created_at, project_scope, importance)
264
- VALUES (?, ?, ?, datetime('now'), ?, ?)
265
- ON CONFLICT(path) DO UPDATE SET
266
- content_hash = excluded.content_hash,
267
- last_indexed = excluded.last_indexed,
268
- updated_at = datetime('now'),
269
- project_scope = excluded.project_scope,
270
- importance = excluded.importance
203
+ const upsertHash = db.prepare(`
204
+ INSERT INTO file_hashes (path, content_hash, last_indexed, created_at, project_scope, importance)
205
+ VALUES (?, ?, ?, datetime('now'), ?, ?)
206
+ ON CONFLICT(path) DO UPDATE SET
207
+ content_hash = excluded.content_hash,
208
+ last_indexed = excluded.last_indexed,
209
+ updated_at = datetime('now'),
210
+ project_scope = excluded.project_scope,
211
+ importance = excluded.importance
271
212
  `);
272
213
  // Simulate indexer: quality 'high' -> importance 1.0
273
214
  upsertHash.run(testPath, 'aaa', '2026-04-19T10:00:00.000Z', 'test', 1.0);
@@ -281,15 +222,15 @@ describe('Quality to importance mapping', () => {
281
222
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- test helper returns Database
282
223
  const db = createTestDbWithMigrations(DB_PATH);
283
224
  const testPath = path_1.default.join(TEST_DIR, 'sources', 'test-importance-medium.md');
284
- const upsertHash = db.prepare(`
285
- INSERT INTO file_hashes (path, content_hash, last_indexed, created_at, project_scope, importance)
286
- VALUES (?, ?, ?, datetime('now'), ?, ?)
287
- ON CONFLICT(path) DO UPDATE SET
288
- content_hash = excluded.content_hash,
289
- last_indexed = excluded.last_indexed,
290
- updated_at = datetime('now'),
291
- project_scope = excluded.project_scope,
292
- importance = excluded.importance
225
+ const upsertHash = db.prepare(`
226
+ INSERT INTO file_hashes (path, content_hash, last_indexed, created_at, project_scope, importance)
227
+ VALUES (?, ?, ?, datetime('now'), ?, ?)
228
+ ON CONFLICT(path) DO UPDATE SET
229
+ content_hash = excluded.content_hash,
230
+ last_indexed = excluded.last_indexed,
231
+ updated_at = datetime('now'),
232
+ project_scope = excluded.project_scope,
233
+ importance = excluded.importance
293
234
  `);
294
235
  upsertHash.run(testPath, 'bbb', '2026-04-19T10:00:00.000Z', 'test', 0.6);
295
236
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- better-sqlite3 .get() returns unknown
@@ -302,15 +243,15 @@ describe('Quality to importance mapping', () => {
302
243
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- test helper returns Database
303
244
  const db = createTestDbWithMigrations(DB_PATH);
304
245
  const testPath = path_1.default.join(TEST_DIR, 'sources', 'test-importance-low.md');
305
- const upsertHash = db.prepare(`
306
- INSERT INTO file_hashes (path, content_hash, last_indexed, created_at, project_scope, importance)
307
- VALUES (?, ?, ?, datetime('now'), ?, ?)
308
- ON CONFLICT(path) DO UPDATE SET
309
- content_hash = excluded.content_hash,
310
- last_indexed = excluded.last_indexed,
311
- updated_at = datetime('now'),
312
- project_scope = excluded.project_scope,
313
- importance = excluded.importance
246
+ const upsertHash = db.prepare(`
247
+ INSERT INTO file_hashes (path, content_hash, last_indexed, created_at, project_scope, importance)
248
+ VALUES (?, ?, ?, datetime('now'), ?, ?)
249
+ ON CONFLICT(path) DO UPDATE SET
250
+ content_hash = excluded.content_hash,
251
+ last_indexed = excluded.last_indexed,
252
+ updated_at = datetime('now'),
253
+ project_scope = excluded.project_scope,
254
+ importance = excluded.importance
314
255
  `);
315
256
  upsertHash.run(testPath, 'ccc', '2026-04-19T10:00:00.000Z', 'test', 0.3);
316
257
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- better-sqlite3 .get() returns unknown
@@ -323,15 +264,15 @@ describe('Quality to importance mapping', () => {
323
264
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- test helper returns Database
324
265
  const db = createTestDbWithMigrations(DB_PATH);
325
266
  const testPath = path_1.default.join(TEST_DIR, 'sources', 'test-no-quality.md');
326
- const upsertHash = db.prepare(`
327
- INSERT INTO file_hashes (path, content_hash, last_indexed, created_at, project_scope, importance)
328
- VALUES (?, ?, ?, datetime('now'), ?, ?)
329
- ON CONFLICT(path) DO UPDATE SET
330
- content_hash = excluded.content_hash,
331
- last_indexed = excluded.last_indexed,
332
- updated_at = datetime('now'),
333
- project_scope = excluded.project_scope,
334
- importance = excluded.importance
267
+ const upsertHash = db.prepare(`
268
+ INSERT INTO file_hashes (path, content_hash, last_indexed, created_at, project_scope, importance)
269
+ VALUES (?, ?, ?, datetime('now'), ?, ?)
270
+ ON CONFLICT(path) DO UPDATE SET
271
+ content_hash = excluded.content_hash,
272
+ last_indexed = excluded.last_indexed,
273
+ updated_at = datetime('now'),
274
+ project_scope = excluded.project_scope,
275
+ importance = excluded.importance
335
276
  `);
336
277
  // quality undefined -> default 0.5
337
278
  upsertHash.run(testPath, 'ddd', '2026-04-19T10:00:00.000Z', 'test', 0.5);
@@ -1 +1 @@
1
- {"version":3,"file":"fts5.test.js","sourceRoot":"","sources":["../../tests/fts5.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fts5.test.js","sourceRoot":"","sources":["../../tests/fts5.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export default function globalSetup(): void;
2
+ //# sourceMappingURL=globalSetup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globalSetup.d.ts","sourceRoot":"","sources":["../../tests/globalSetup.ts"],"names":[],"mappings":"AAsBA,MAAM,CAAC,OAAO,UAAU,WAAW,IAAI,IAAI,CAI1C"}
@@ -0,0 +1,36 @@
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
+ exports.default = globalSetup;
7
+ const child_process_1 = require("child_process");
8
+ const fs_1 = __importDefault(require("fs"));
9
+ const path_1 = __importDefault(require("path"));
10
+ function needsBuild() {
11
+ const distDir = path_1.default.resolve(__dirname, '..', 'dist');
12
+ if (!fs_1.default.existsSync(distDir))
13
+ return true;
14
+ const distMtime = fs_1.default.statSync(distDir).mtimeMs;
15
+ const srcDir = path_1.default.resolve(__dirname, '..', 'scripts');
16
+ const tsconfig = path_1.default.resolve(__dirname, '..', 'tsconfig.json');
17
+ if (fs_1.default.existsSync(tsconfig) && fs_1.default.statSync(tsconfig).mtimeMs > distMtime)
18
+ return true;
19
+ if (!fs_1.default.existsSync(srcDir))
20
+ return true;
21
+ const files = fs_1.default.readdirSync(srcDir, { recursive: true });
22
+ for (const f of files) {
23
+ if (String(f).endsWith('.ts')) {
24
+ const fPath = path_1.default.join(srcDir, String(f));
25
+ if (fs_1.default.statSync(fPath).mtimeMs > distMtime)
26
+ return true;
27
+ }
28
+ }
29
+ return false;
30
+ }
31
+ function globalSetup() {
32
+ if (needsBuild()) {
33
+ (0, child_process_1.execSync)('npm run build', { stdio: 'inherit' });
34
+ }
35
+ }
36
+ //# sourceMappingURL=globalSetup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globalSetup.js","sourceRoot":"","sources":["../../tests/globalSetup.ts"],"names":[],"mappings":";;;;;AAsBA,8BAIC;AA1BD,iDAAyC;AACzC,4CAAoB;AACpB,gDAAwB;AAExB,SAAS,UAAU;IACjB,MAAM,OAAO,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACtD,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,SAAS,GAAG,YAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;IAC/C,MAAM,MAAM,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;IAChE,IAAI,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,GAAG,SAAS;QAAE,OAAO,IAAI,CAAC;IACtF,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,KAAK,GAAG,YAAE,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAI,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,SAAS;gBAAE,OAAO,IAAI,CAAC;QAC1D,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAwB,WAAW;IACjC,IAAI,UAAU,EAAE,EAAE,CAAC;QACjB,IAAA,wBAAQ,EAAC,eAAe,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAClD,CAAC;AACH,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import Database from 'better-sqlite3';
2
2
  export declare function sha256(content: string): string;
3
3
  export declare function createTestDb(dbPath: string): Database.Database;
4
+ export declare function createTestDbWithFullSchema(dbPath: string): Database.Database;
5
+ export declare function createTestDbAtVersion(dbPath: string, maxVersion: number): Database.Database;
4
6
  export declare function createTestDbWithMigrations(dbPath: string): Database.Database;
5
7
  export interface FtsEntry {
6
8
  [key: string]: string | null | undefined;
@@ -27,10 +29,6 @@ export interface EpisodesTestEnv {
27
29
  export declare function createEpisodesTestEnv(prefix: string): EpisodesTestEnv;
28
30
  export declare function destroyEpisodesTestEnv(env: EpisodesTestEnv): void;
29
31
  export declare function createEpisodesTestEnvWithMigrations(prefix: string): EpisodesTestEnv;
30
- export declare function createTestDbWithVec(dbPath: string): {
31
- db: Database.Database;
32
- vecLoaded: boolean;
33
- };
34
32
  export declare const parseFrontmatter: (content: string) => {
35
33
  meta: Record<string, string>;
36
34
  body: string;
@@ -47,5 +45,15 @@ export declare const extractFtsMetadata: (meta: Record<string, string>, body: st
47
45
  project: string | null;
48
46
  };
49
47
  export declare const resolveProject: (ftsProject: string | null, filePath: string, cwdFallback: string) => string;
50
- export declare function insertVec(db: Database.Database, slug: string, embedding: Float32Array, model?: string): void;
48
+ export interface EpisodeInsert {
49
+ id?: string;
50
+ kind?: string;
51
+ status?: string;
52
+ project?: string;
53
+ summary?: string;
54
+ graduated_at?: string | null;
55
+ created_at?: string;
56
+ }
57
+ export declare function insertEpisode(db: Database.Database, overrides?: EpisodeInsert): number;
58
+ export declare function insertInjectLog(db: Database.Database, sessionId: string, episodeId: number, injectedAt?: string): void;
51
59
  //# sourceMappingURL=db.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../tests/helpers/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../tests/helpers/db.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.resolveProject = exports.extractFtsMetadata = exports.parseFrontmatter = void 0;
7
7
  exports.sha256 = sha256;
8
8
  exports.createTestDb = createTestDb;
9
+ exports.createTestDbWithFullSchema = createTestDbWithFullSchema;
10
+ exports.createTestDbAtVersion = createTestDbAtVersion;
9
11
  exports.createTestDbWithMigrations = createTestDbWithMigrations;
10
12
  exports.insertFts = insertFts;
11
13
  exports.createTestDbWithEpisodes = createTestDbWithEpisodes;
@@ -14,8 +16,8 @@ exports.teardownTestDir = teardownTestDir;
14
16
  exports.createEpisodesTestEnv = createEpisodesTestEnv;
15
17
  exports.destroyEpisodesTestEnv = destroyEpisodesTestEnv;
16
18
  exports.createEpisodesTestEnvWithMigrations = createEpisodesTestEnvWithMigrations;
17
- exports.createTestDbWithVec = createTestDbWithVec;
18
- exports.insertVec = insertVec;
19
+ exports.insertEpisode = insertEpisode;
20
+ exports.insertInjectLog = insertInjectLog;
19
21
  const fs_1 = __importDefault(require("fs"));
20
22
  const path_1 = __importDefault(require("path"));
21
23
  const os_1 = __importDefault(require("os"));
@@ -26,9 +28,12 @@ const migrations_js_1 = require("../../scripts/lib/migrations.js");
26
28
  const migrations_v051_js_1 = require("../../scripts/lib/migrations-v051.js");
27
29
  const migrations_v052_js_1 = require("../../scripts/lib/migrations-v052.js");
28
30
  const migrations_v053_js_1 = require("../../scripts/lib/migrations-v053.js");
31
+ const migrations_v061_js_1 = require("../../scripts/lib/migrations-v061.js");
29
32
  const migrations_v062_js_1 = require("../../scripts/lib/migrations-v062.js");
30
33
  const migrations_v063_js_1 = require("../../scripts/lib/migrations-v063.js");
31
34
  const migrations_v066_js_1 = require("../../scripts/lib/migrations-v066.js");
35
+ const migrations_v067_js_1 = require("../../scripts/lib/migrations-v067.js");
36
+ const migrations_v068_js_1 = require("../../scripts/lib/migrations-v068.js");
32
37
  // Hook'lar .cjs kalıyor — SQL constants'ları oradan import ediyoruz
33
38
  const { SQL_FTS_CREATE, insertFtsRow, ensureEpisodesTable: ensureEpisodesTableCjs, parseFrontmatter: parseFrontmatterCjs, extractFtsMetadata: extractFtsMetadataCjs, resolveProject: resolveProjectCjs } = require('../../hooks/lib/mindlore-common.cjs');
34
39
  function sha256(content) {
@@ -38,28 +43,49 @@ function createTestDb(dbPath) {
38
43
  const db = new better_sqlite3_1.default(dbPath);
39
44
  db.pragma('journal_mode = WAL');
40
45
  db.exec(SQL_FTS_CREATE);
41
- db.exec(`
42
- CREATE TABLE IF NOT EXISTS file_hashes (
43
- path TEXT PRIMARY KEY,
44
- content_hash TEXT NOT NULL,
45
- last_indexed TEXT NOT NULL,
46
- created_at TEXT,
47
- updated_at TEXT,
48
- source_type TEXT DEFAULT 'mindlore',
49
- project_scope TEXT,
50
- recall_count INTEGER DEFAULT 0,
51
- last_recalled_at TEXT,
52
- archived_at TEXT,
53
- importance REAL
54
- );
46
+ db.exec(`
47
+ CREATE TABLE IF NOT EXISTS file_hashes (
48
+ path TEXT PRIMARY KEY,
49
+ content_hash TEXT NOT NULL,
50
+ last_indexed TEXT NOT NULL,
51
+ created_at TEXT,
52
+ updated_at TEXT,
53
+ source_type TEXT DEFAULT 'mindlore',
54
+ project_scope TEXT,
55
+ recall_count INTEGER DEFAULT 0,
56
+ last_recalled_at TEXT,
57
+ archived_at TEXT,
58
+ importance REAL
59
+ );
55
60
  `);
56
61
  return db;
57
62
  }
63
+ const ALL_MIGRATIONS = [
64
+ ...migrations_js_1.V050_MIGRATIONS, ...migrations_v051_js_1.V051_MIGRATIONS, ...migrations_v052_js_1.V052_MIGRATIONS,
65
+ ...migrations_v053_js_1.V053_MIGRATIONS, ...migrations_v061_js_1.V061_MIGRATIONS, ...migrations_v062_js_1.V062_MIGRATIONS,
66
+ ...migrations_v063_js_1.V063_MIGRATIONS, ...migrations_v066_js_1.V066_MIGRATIONS, ...migrations_v067_js_1.V067_MIGRATIONS,
67
+ ...migrations_v068_js_1.V068_MIGRATIONS,
68
+ ];
69
+ function createTestDbWithFullSchema(dbPath) {
70
+ const db = createTestDb(dbPath);
71
+ ensureEpisodesTableCjs(db);
72
+ (0, schema_version_js_1.ensureSchemaTable)(db);
73
+ (0, schema_version_js_1.runMigrations)(db, ALL_MIGRATIONS);
74
+ return db;
75
+ }
76
+ function createTestDbAtVersion(dbPath, maxVersion) {
77
+ const db = createTestDb(dbPath);
78
+ ensureEpisodesTableCjs(db);
79
+ (0, schema_version_js_1.ensureSchemaTable)(db);
80
+ const filtered = ALL_MIGRATIONS.filter(m => m.version <= maxVersion);
81
+ (0, schema_version_js_1.runMigrations)(db, filtered);
82
+ return db;
83
+ }
58
84
  function createTestDbWithMigrations(dbPath) {
59
85
  const db = createTestDb(dbPath);
60
86
  ensureEpisodesTableCjs(db);
61
87
  (0, schema_version_js_1.ensureSchemaTable)(db);
62
- (0, schema_version_js_1.runMigrations)(db, [...migrations_js_1.V050_MIGRATIONS, ...migrations_v051_js_1.V051_MIGRATIONS, ...migrations_v052_js_1.V052_MIGRATIONS, ...migrations_v053_js_1.V053_MIGRATIONS, ...migrations_v062_js_1.V062_MIGRATIONS, ...migrations_v063_js_1.V063_MIGRATIONS, ...migrations_v066_js_1.V066_MIGRATIONS]);
88
+ (0, schema_version_js_1.runMigrations)(db, ALL_MIGRATIONS);
63
89
  return db;
64
90
  }
65
91
  function insertFts(db, entry) {
@@ -96,24 +122,26 @@ function createEpisodesTestEnvWithMigrations(prefix) {
96
122
  const db = createTestDbWithMigrations(dbPath);
97
123
  return { db, tmpDir };
98
124
  }
99
- function createTestDbWithVec(dbPath) {
100
- const db = createTestDb(dbPath);
101
- let vecLoaded = false;
102
- try {
103
- const { loadSqliteVec, ensureVecTable } = require('../../scripts/lib/db-helpers.js');
104
- vecLoaded = loadSqliteVec(db);
105
- if (vecLoaded)
106
- ensureVecTable(db);
107
- }
108
- catch (_err) {
109
- // sqlite-vec not available
110
- }
111
- return { db, vecLoaded };
112
- }
113
125
  exports.parseFrontmatter = parseFrontmatterCjs;
114
126
  exports.extractFtsMetadata = extractFtsMetadataCjs;
115
127
  exports.resolveProject = resolveProjectCjs;
116
- function insertVec(db, slug, embedding, model = 'test-model') {
117
- db.prepare('INSERT INTO documents_vec (slug, embedding, created_at, model_name) VALUES (?, ?, ?, ?)').run(slug, Buffer.from(embedding.buffer), new Date().toISOString(), model);
128
+ function insertEpisode(db, overrides = {}) {
129
+ const defaults = {
130
+ id: crypto_1.default.randomUUID(),
131
+ kind: 'nomination',
132
+ status: 'staged',
133
+ project: 'test-project',
134
+ summary: 'Test episode content',
135
+ graduated_at: null,
136
+ created_at: new Date().toISOString(),
137
+ };
138
+ const data = { ...defaults, ...overrides };
139
+ const result = db.prepare(`INSERT INTO episodes (id, kind, status, project, summary, graduated_at, created_at)
140
+ VALUES (?, ?, ?, ?, ?, ?, ?)`).run(data.id, data.kind, data.status, data.project, data.summary, data.graduated_at, data.created_at);
141
+ return Number(result.lastInsertRowid);
142
+ }
143
+ function insertInjectLog(db, sessionId, episodeId, injectedAt) {
144
+ const ts = injectedAt ?? new Date().toISOString();
145
+ db.prepare('INSERT OR IGNORE INTO episode_inject_log (session_id, episode_id, injected_at) VALUES (?, ?, ?)').run(sessionId, episodeId, ts);
118
146
  }
119
147
  //# sourceMappingURL=db.js.map