mindlore 0.6.1 → 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.
Files changed (177) hide show
  1. package/LICENSE +661 -21
  2. package/README.md +3 -3
  3. package/dist/scripts/cc-session-sync.d.ts +2 -0
  4. package/dist/scripts/cc-session-sync.d.ts.map +1 -1
  5. package/dist/scripts/cc-session-sync.js +56 -0
  6. package/dist/scripts/cc-session-sync.js.map +1 -1
  7. package/dist/scripts/fetch-raw.js +133 -8
  8. package/dist/scripts/fetch-raw.js.map +1 -1
  9. package/dist/scripts/init.js +28 -43
  10. package/dist/scripts/init.js.map +1 -1
  11. package/dist/scripts/lib/chunker.d.ts +12 -0
  12. package/dist/scripts/lib/chunker.d.ts.map +1 -0
  13. package/dist/scripts/lib/chunker.js +94 -0
  14. package/dist/scripts/lib/chunker.js.map +1 -0
  15. package/dist/scripts/lib/episodes.d.ts +1 -1
  16. package/dist/scripts/lib/episodes.d.ts.map +1 -1
  17. package/dist/scripts/lib/episodes.js +1 -1
  18. package/dist/scripts/lib/episodes.js.map +1 -1
  19. package/dist/scripts/lib/fuzzy.d.ts +10 -0
  20. package/dist/scripts/lib/fuzzy.d.ts.map +1 -0
  21. package/dist/scripts/lib/fuzzy.js +88 -0
  22. package/dist/scripts/lib/fuzzy.js.map +1 -0
  23. package/dist/scripts/lib/hybrid-search.d.ts +1 -0
  24. package/dist/scripts/lib/hybrid-search.d.ts.map +1 -1
  25. package/dist/scripts/lib/hybrid-search.js.map +1 -1
  26. package/dist/scripts/lib/merge-defaults.d.ts +5 -0
  27. package/dist/scripts/lib/merge-defaults.d.ts.map +1 -0
  28. package/dist/scripts/lib/merge-defaults.js +25 -0
  29. package/dist/scripts/lib/merge-defaults.js.map +1 -0
  30. package/dist/scripts/lib/migrations-v062.d.ts +3 -0
  31. package/dist/scripts/lib/migrations-v062.d.ts.map +1 -0
  32. package/dist/scripts/lib/migrations-v062.js +35 -0
  33. package/dist/scripts/lib/migrations-v062.js.map +1 -0
  34. package/dist/scripts/lib/migrations-v063.d.ts +7 -0
  35. package/dist/scripts/lib/migrations-v063.d.ts.map +1 -0
  36. package/dist/scripts/lib/migrations-v063.js +58 -0
  37. package/dist/scripts/lib/migrations-v063.js.map +1 -0
  38. package/dist/scripts/lib/proximity.d.ts +3 -0
  39. package/dist/scripts/lib/proximity.d.ts.map +1 -0
  40. package/dist/scripts/lib/proximity.js +53 -0
  41. package/dist/scripts/lib/proximity.js.map +1 -0
  42. package/dist/scripts/lib/rrf.d.ts +23 -0
  43. package/dist/scripts/lib/rrf.d.ts.map +1 -0
  44. package/dist/scripts/lib/rrf.js +63 -0
  45. package/dist/scripts/lib/rrf.js.map +1 -0
  46. package/dist/scripts/lib/search-cache.d.ts +20 -0
  47. package/dist/scripts/lib/search-cache.d.ts.map +1 -0
  48. package/dist/scripts/lib/search-cache.js +60 -0
  49. package/dist/scripts/lib/search-cache.js.map +1 -0
  50. package/dist/scripts/lib/search-engine.d.ts +22 -0
  51. package/dist/scripts/lib/search-engine.d.ts.map +1 -0
  52. package/dist/scripts/lib/search-engine.js +105 -0
  53. package/dist/scripts/lib/search-engine.js.map +1 -0
  54. package/dist/scripts/lib/session-payload.d.ts +2 -4
  55. package/dist/scripts/lib/session-payload.d.ts.map +1 -1
  56. package/dist/scripts/lib/session-payload.js +43 -43
  57. package/dist/scripts/lib/session-payload.js.map +1 -1
  58. package/dist/scripts/lib/snippet.d.ts +2 -0
  59. package/dist/scripts/lib/snippet.d.ts.map +1 -0
  60. package/dist/scripts/lib/snippet.js +32 -0
  61. package/dist/scripts/lib/snippet.js.map +1 -0
  62. package/dist/scripts/lib/triage.d.ts +18 -0
  63. package/dist/scripts/lib/triage.d.ts.map +1 -0
  64. package/dist/scripts/lib/triage.js +81 -0
  65. package/dist/scripts/lib/triage.js.map +1 -0
  66. package/dist/scripts/mindlore-doctor.d.ts +1 -0
  67. package/dist/scripts/mindlore-doctor.d.ts.map +1 -1
  68. package/dist/scripts/mindlore-doctor.js +26 -1
  69. package/dist/scripts/mindlore-doctor.js.map +1 -1
  70. package/dist/scripts/mindlore-fts5-index.js +44 -3
  71. package/dist/scripts/mindlore-fts5-index.js.map +1 -1
  72. package/dist/scripts/mindlore-fts5-search.d.ts +3 -5
  73. package/dist/scripts/mindlore-fts5-search.d.ts.map +1 -1
  74. package/dist/scripts/mindlore-fts5-search.js +41 -116
  75. package/dist/scripts/mindlore-fts5-search.js.map +1 -1
  76. package/dist/scripts/mindlore-health-check.d.ts +10 -0
  77. package/dist/scripts/mindlore-health-check.d.ts.map +1 -1
  78. package/dist/scripts/mindlore-health-check.js +26 -1
  79. package/dist/scripts/mindlore-health-check.js.map +1 -1
  80. package/dist/scripts/mindlore-perf.d.ts +3 -3
  81. package/dist/scripts/mindlore-perf.d.ts.map +1 -1
  82. package/dist/scripts/mindlore-perf.js +10 -8
  83. package/dist/scripts/mindlore-perf.js.map +1 -1
  84. package/dist/tests/chunker.test.d.ts +2 -0
  85. package/dist/tests/chunker.test.d.ts.map +1 -0
  86. package/dist/tests/chunker.test.js +40 -0
  87. package/dist/tests/chunker.test.js.map +1 -0
  88. package/dist/tests/chunks-migration.test.d.ts +2 -0
  89. package/dist/tests/chunks-migration.test.d.ts.map +1 -0
  90. package/dist/tests/chunks-migration.test.js +55 -0
  91. package/dist/tests/chunks-migration.test.js.map +1 -0
  92. package/dist/tests/compaction-snapshot.test.d.ts +2 -0
  93. package/dist/tests/compaction-snapshot.test.d.ts.map +1 -0
  94. package/dist/tests/compaction-snapshot.test.js +102 -0
  95. package/dist/tests/compaction-snapshot.test.js.map +1 -0
  96. package/dist/tests/daemon-integration.test.js +5 -5
  97. package/dist/tests/daemon-integration.test.js.map +1 -1
  98. package/dist/tests/diary.test.js +3 -3
  99. package/dist/tests/diary.test.js.map +1 -1
  100. package/dist/tests/doctor.test.js +13 -0
  101. package/dist/tests/doctor.test.js.map +1 -1
  102. package/dist/tests/fetch-raw.test.js +12 -5
  103. package/dist/tests/fetch-raw.test.js.map +1 -1
  104. package/dist/tests/fuzzy.test.d.ts +2 -0
  105. package/dist/tests/fuzzy.test.d.ts.map +1 -0
  106. package/dist/tests/fuzzy.test.js +70 -0
  107. package/dist/tests/fuzzy.test.js.map +1 -0
  108. package/dist/tests/health-check-memory.test.js +27 -0
  109. package/dist/tests/health-check-memory.test.js.map +1 -1
  110. package/dist/tests/helpers/db.d.ts.map +1 -1
  111. package/dist/tests/helpers/db.js +4 -1
  112. package/dist/tests/helpers/db.js.map +1 -1
  113. package/dist/tests/init.test.js +20 -0
  114. package/dist/tests/init.test.js.map +1 -1
  115. package/dist/tests/merge-defaults.test.d.ts +2 -0
  116. package/dist/tests/merge-defaults.test.d.ts.map +1 -0
  117. package/dist/tests/merge-defaults.test.js +35 -0
  118. package/dist/tests/merge-defaults.test.js.map +1 -0
  119. package/dist/tests/migrations-v062.test.d.ts +2 -0
  120. package/dist/tests/migrations-v062.test.d.ts.map +1 -0
  121. package/dist/tests/migrations-v062.test.js +61 -0
  122. package/dist/tests/migrations-v062.test.js.map +1 -0
  123. package/dist/tests/migrations-v063.test.d.ts +2 -0
  124. package/dist/tests/migrations-v063.test.d.ts.map +1 -0
  125. package/dist/tests/migrations-v063.test.js +84 -0
  126. package/dist/tests/migrations-v063.test.js.map +1 -0
  127. package/dist/tests/nomination.test.js +1 -1
  128. package/dist/tests/proximity.test.d.ts +2 -0
  129. package/dist/tests/proximity.test.d.ts.map +1 -0
  130. package/dist/tests/proximity.test.js +31 -0
  131. package/dist/tests/proximity.test.js.map +1 -0
  132. package/dist/tests/rrf.test.d.ts +2 -0
  133. package/dist/tests/rrf.test.d.ts.map +1 -0
  134. package/dist/tests/rrf.test.js +100 -0
  135. package/dist/tests/rrf.test.js.map +1 -0
  136. package/dist/tests/savings.test.d.ts +2 -0
  137. package/dist/tests/savings.test.d.ts.map +1 -0
  138. package/dist/tests/savings.test.js +87 -0
  139. package/dist/tests/savings.test.js.map +1 -0
  140. package/dist/tests/search-cache.test.d.ts +2 -0
  141. package/dist/tests/search-cache.test.d.ts.map +1 -0
  142. package/dist/tests/search-cache.test.js +95 -0
  143. package/dist/tests/search-cache.test.js.map +1 -0
  144. package/dist/tests/search-engine.test.d.ts +2 -0
  145. package/dist/tests/search-engine.test.d.ts.map +1 -0
  146. package/dist/tests/search-engine.test.js +125 -0
  147. package/dist/tests/search-engine.test.js.map +1 -0
  148. package/dist/tests/search-hook.test.js +3 -3
  149. package/dist/tests/search-hook.test.js.map +1 -1
  150. package/dist/tests/session-payload.test.d.ts +1 -1
  151. package/dist/tests/session-payload.test.js +1 -14
  152. package/dist/tests/session-payload.test.js.map +1 -1
  153. package/dist/tests/session-summary.test.d.ts +2 -0
  154. package/dist/tests/session-summary.test.d.ts.map +1 -0
  155. package/dist/tests/session-summary.test.js +138 -0
  156. package/dist/tests/session-summary.test.js.map +1 -0
  157. package/dist/tests/snippet.test.d.ts +2 -0
  158. package/dist/tests/snippet.test.d.ts.map +1 -0
  159. package/dist/tests/snippet.test.js +30 -0
  160. package/dist/tests/snippet.test.js.map +1 -0
  161. package/dist/tests/telemetry-perf.test.js +7 -0
  162. package/dist/tests/telemetry-perf.test.js.map +1 -1
  163. package/dist/tests/triage.test.d.ts +2 -0
  164. package/dist/tests/triage.test.d.ts.map +1 -0
  165. package/dist/tests/triage.test.js +69 -0
  166. package/dist/tests/triage.test.js.map +1 -0
  167. package/hooks/lib/mindlore-common.cjs +74 -13
  168. package/hooks/mindlore-index.cjs +6 -0
  169. package/hooks/mindlore-post-compact.cjs +23 -3
  170. package/hooks/mindlore-pre-compact.cjs +86 -3
  171. package/hooks/mindlore-search.cjs +90 -214
  172. package/hooks/mindlore-session-end.cjs +22 -18
  173. package/hooks/mindlore-session-focus.cjs +92 -71
  174. package/package.json +6 -5
  175. package/plugin.json +1 -1
  176. package/skills/mindlore-maintain/SKILL.md +1 -0
  177. package/templates/config.json +1 -1
package/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  ![CI](https://github.com/mindlore/mindlore/actions/workflows/ci.yml/badge.svg)
6
6
  [![npm](https://img.shields.io/npm/v/mindlore)](https://www.npmjs.com/package/mindlore)
7
7
  ![Node](https://img.shields.io/node/v/mindlore)
8
- ![License](https://img.shields.io/badge/license-MIT-blue)
8
+ ![License](https://img.shields.io/badge/license-AGPL--3.0-blue)
9
9
  ![Zero Telemetry](https://img.shields.io/badge/telemetry-zero-brightgreen)
10
10
 
11
11
  > AI-native knowledge system for [Claude Code](https://claude.ai/claude-code)
@@ -218,7 +218,7 @@ Skills spawn subagents with `[mindlore:SKILL]` markers — the model-router hook
218
218
 
219
219
  ## Hooks
220
220
 
221
- 14 Claude Code lifecycle hooks (v0.6.1):
221
+ 14 Claude Code lifecycle hooks (v0.6.3):
222
222
 
223
223
  | Event | Hook | What it does |
224
224
  |-------|------|-------------|
@@ -256,4 +256,4 @@ See [CHANGELOG.md](CHANGELOG.md) for version history and release notes.
256
256
 
257
257
  ## License
258
258
 
259
- [MIT](LICENSE)
259
+ [AGPL-3.0](LICENSE)
@@ -28,5 +28,7 @@ export interface SessionConversion {
28
28
  isSubagent: boolean;
29
29
  }
30
30
  export declare function convertJsonlToMd(jsonlPath: string, projectName: string): SessionConversion;
31
+ export declare const DECISION_KEYWORDS: string[];
32
+ export declare function extractSessionSummary(transcriptMd: string): string;
31
33
  export declare function syncSessions(dbPath: string, sessions: SessionFile[], mindloreDir: string): SessionSyncResult;
32
34
  //# sourceMappingURL=cc-session-sync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cc-session-sync.d.ts","sourceRoot":"","sources":["../../scripts/cc-session-sync.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG;AAeH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAgBD,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,IAAI,CAAC;CACb;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE,CAuDrE;AA2CD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,iBAAiB,CAgE1F;AAaD,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,WAAW,EAAE,EACvB,WAAW,EAAE,MAAM,GAClB,iBAAiB,CAmGnB"}
1
+ {"version":3,"file":"cc-session-sync.d.ts","sourceRoot":"","sources":["../../scripts/cc-session-sync.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG;AAeH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAgBD,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,IAAI,CAAC;CACb;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE,CAuDrE;AA2CD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,iBAAiB,CAgE1F;AAID,eAAO,MAAM,iBAAiB,UAI7B,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAsClE;AAaD,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,WAAW,EAAE,EACvB,WAAW,EAAE,MAAM,GAClB,iBAAiB,CAmHnB"}
@@ -13,8 +13,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  return (mod && mod.__esModule) ? mod : { "default": mod };
14
14
  };
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.DECISION_KEYWORDS = void 0;
16
17
  exports.discoverSessionFiles = discoverSessionFiles;
17
18
  exports.convertJsonlToMd = convertJsonlToMd;
19
+ exports.extractSessionSummary = extractSessionSummary;
18
20
  exports.syncSessions = syncSessions;
19
21
  const fs_1 = __importDefault(require("fs"));
20
22
  const path_1 = __importDefault(require("path"));
@@ -176,6 +178,47 @@ function convertJsonlToMd(jsonlPath, projectName) {
176
178
  const md = frontmatter + mdParts.join('\n');
177
179
  return { md, date: meta.date, userCount, assistantCount, isSubagent };
178
180
  }
181
+ // ── Session Summary ──────────────────────────────────────────────────
182
+ exports.DECISION_KEYWORDS = [
183
+ 'karar:', 'ertele', 'seçtik', 'yapma:',
184
+ 'decision:', 'defer', 'chose', 'skip:',
185
+ 'blocker:', 'ertelendi',
186
+ ];
187
+ function extractSessionSummary(transcriptMd) {
188
+ const lines = transcriptMd.split('\n');
189
+ const userMessages = [];
190
+ const decisions = [];
191
+ let inUser = false;
192
+ for (const line of lines) {
193
+ if (line.startsWith('## User')) {
194
+ inUser = true;
195
+ continue;
196
+ }
197
+ if (line.startsWith('## ')) {
198
+ inUser = false;
199
+ continue;
200
+ }
201
+ if (inUser && line.trim()) {
202
+ userMessages.push(line.trim());
203
+ const lower = line.toLowerCase();
204
+ if (exports.DECISION_KEYWORDS.some(kw => lower.includes(kw))) {
205
+ decisions.push(line.trim());
206
+ }
207
+ }
208
+ }
209
+ if (userMessages.length === 0)
210
+ return '';
211
+ const firstIntent = userMessages[0]?.slice(0, 100) ?? '';
212
+ const lastIntent = userMessages[userMessages.length - 1]?.slice(0, 100) ?? '';
213
+ const parts = [`Intent: ${firstIntent}`];
214
+ if (lastIntent && lastIntent !== firstIntent) {
215
+ parts.push(`Son: ${lastIntent}`);
216
+ }
217
+ if (decisions.length > 0) {
218
+ parts.push(`Kararlar: ${decisions.slice(0, 5).join('; ')}`);
219
+ }
220
+ return parts.join(' | ');
221
+ }
179
222
  // ── Sync ──────────────────────────────────────────────────────────────
180
223
  function sessionShortId(sessionId) {
181
224
  return sessionId.startsWith('agent-') ? sessionId.slice(-8) : sessionId.substring(0, 8);
@@ -232,6 +275,19 @@ function syncSessions(dbPath, sessions, mindloreDir) {
232
275
  project: slug,
233
276
  });
234
277
  upsertHash.run(destPath, hash, nowIso, category);
278
+ // Session summary injection (#9)
279
+ if (!isSubagent) {
280
+ try {
281
+ const sessionSummary = extractSessionSummary(md);
282
+ if (sessionSummary) {
283
+ const epSlug = `session-summary-${sessionDate}-${shortId}`;
284
+ const shortSummary = sessionSummary.slice(0, 300);
285
+ db.prepare(`INSERT OR REPLACE INTO episodes (id, kind, scope, project, summary, session_summary, created_at)
286
+ VALUES (?, 'session-summary', 'project', ?, ?, ?, ?)`).run(epSlug, slug, shortSummary, sessionSummary, nowIso);
287
+ }
288
+ }
289
+ catch { /* session_summary column may not exist */ }
290
+ }
235
291
  result.synced++;
236
292
  });
237
293
  for (const session of sessions) {
@@ -1 +1 @@
1
- {"version":3,"file":"cc-session-sync.js","sourceRoot":"","sources":["../../scripts/cc-session-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cc-session-sync.js","sourceRoot":"","sources":["../../scripts/cc-session-sync.ts"],"names":[],"mappings":"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"}
@@ -55,9 +55,63 @@ function fetchGitHubReadme(url) {
55
55
  return null;
56
56
  }
57
57
  }
58
- function fetchCurl(url) {
58
+ function loadCachedHeaders(outDir, slug) {
59
+ const metaPath = path_1.default.join(outDir, `.${slug}.meta.json`);
60
+ if (!fs_1.default.existsSync(metaPath))
61
+ return {};
59
62
  try {
60
- const raw = (0, child_process_1.execFileSync)('curl', ['-sL', '--max-time', '20', '--max-filesize', '5242880', url], { encoding: 'utf8', timeout: 25000, stdio: ['pipe', 'pipe', 'pipe'] });
63
+ const parsed = JSON.parse(fs_1.default.readFileSync(metaPath, 'utf8'));
64
+ if (typeof parsed !== 'object' || parsed === null)
65
+ return {};
66
+ const obj = Object.fromEntries(Object.entries(parsed));
67
+ const result = {};
68
+ if (typeof obj.etag === 'string')
69
+ result.etag = obj.etag;
70
+ if (typeof obj.lastModified === 'string')
71
+ result.lastModified = obj.lastModified;
72
+ return result;
73
+ }
74
+ catch {
75
+ return {};
76
+ }
77
+ }
78
+ function saveCachedHeaders(outDir, slug, headers) {
79
+ fs_1.default.mkdirSync(outDir, { recursive: true });
80
+ fs_1.default.writeFileSync(path_1.default.join(outDir, `.${slug}.meta.json`), JSON.stringify(headers));
81
+ }
82
+ function parseResponseHeaders(headerFile) {
83
+ if (!fs_1.default.existsSync(headerFile))
84
+ return {};
85
+ try {
86
+ const raw = fs_1.default.readFileSync(headerFile, 'utf8');
87
+ const result = {};
88
+ const etagMatch = raw.match(/^etag:\s*(.+)$/mi);
89
+ if (etagMatch)
90
+ result.etag = etagMatch[1]?.trim();
91
+ const lmMatch = raw.match(/^last-modified:\s*(.+)$/mi);
92
+ if (lmMatch)
93
+ result.lastModified = lmMatch[1]?.trim();
94
+ return result;
95
+ }
96
+ catch {
97
+ return {};
98
+ }
99
+ }
100
+ function fetchCurl(url, cachedHeaders) {
101
+ const headerFile = path_1.default.join(os_1.default.tmpdir(), `mindlore-headers-${Date.now()}.txt`);
102
+ try {
103
+ const args = ['-sL', '--max-time', '20', '--max-filesize', '5242880', '--dump-header', headerFile];
104
+ if (cachedHeaders?.etag)
105
+ args.push('-H', `If-None-Match: ${cachedHeaders.etag}`);
106
+ if (cachedHeaders?.lastModified)
107
+ args.push('-H', `If-Modified-Since: ${cachedHeaders.lastModified}`);
108
+ args.push(url);
109
+ const raw = (0, child_process_1.execFileSync)('curl', args, { encoding: 'utf8', timeout: 25000, stdio: ['pipe', 'pipe', 'pipe'] });
110
+ const respHeaders = parseResponseHeaders(headerFile);
111
+ // Check for 304 by reading header file
112
+ const headerContent = fs_1.default.existsSync(headerFile) ? fs_1.default.readFileSync(headerFile, 'utf8') : '';
113
+ if (headerContent.includes(' 304 '))
114
+ return { content: null, responseHeaders: respHeaders };
61
115
  if (raw.includes('<html') || raw.includes('<!DOCTYPE')) {
62
116
  let cleaned = raw;
63
117
  let prev;
@@ -67,15 +121,23 @@ function fetchCurl(url) {
67
121
  .replace(/<script[^>]*>[\s\S]*?<\/script\s*>/gi, '')
68
122
  .replace(/<style[^>]*>[\s\S]*?<\/style\s*>/gi, '');
69
123
  } while (cleaned !== prev);
70
- return cleaned
124
+ const text = cleaned
71
125
  .replace(/<[^>]+>/g, ' ')
72
126
  .replace(/\s{2,}/g, ' ')
73
127
  .trim();
128
+ return { content: text, responseHeaders: respHeaders };
74
129
  }
75
- return raw;
130
+ return { content: raw, responseHeaders: respHeaders };
76
131
  }
77
132
  catch {
78
- return null;
133
+ return { content: null, responseHeaders: {} };
134
+ }
135
+ finally {
136
+ try {
137
+ if (fs_1.default.existsSync(headerFile))
138
+ fs_1.default.unlinkSync(headerFile);
139
+ }
140
+ catch { /* cleanup */ }
79
141
  }
80
142
  }
81
143
  function fetchJina(url) {
@@ -87,6 +149,20 @@ function fetchJina(url) {
87
149
  return null;
88
150
  }
89
151
  }
152
+ function resolveSlugCollision(slug, url, outDir) {
153
+ if (!fs_1.default.existsSync(outDir))
154
+ return slug;
155
+ const existing = fs_1.default.readdirSync(outDir).find(f => f.endsWith(`-${slug}.md`));
156
+ if (!existing)
157
+ return slug;
158
+ const content = fs_1.default.readFileSync(path_1.default.join(outDir, existing), 'utf8');
159
+ const urlMatch = content.match(/^source_url:\s*(.+)$/m);
160
+ if (urlMatch && urlMatch[1]?.trim() !== url) {
161
+ const hash = crypto_1.default.createHash('sha256').update(url).digest('hex').slice(0, 8);
162
+ return `${slug}-${hash}`;
163
+ }
164
+ return slug;
165
+ }
90
166
  function generateFrontmatter(url, slug, content) {
91
167
  const titleMatch = content.match(/^#\s+(.+)/m);
92
168
  const title = titleMatch?.[1]?.trim() ?? slug;
@@ -103,8 +179,20 @@ function generateFrontmatter(url, slug, content) {
103
179
  '',
104
180
  ].join('\n');
105
181
  }
182
+ function findExistingFile(outDir, slug) {
183
+ if (!fs_1.default.existsSync(outDir))
184
+ return null;
185
+ const files = fs_1.default.readdirSync(outDir).filter(f => f.endsWith(`-${slug}.md`));
186
+ if (files.length === 0)
187
+ return null;
188
+ files.sort();
189
+ const latest = files[files.length - 1];
190
+ return latest ? path_1.default.join(outDir, latest) : null;
191
+ }
192
+ const CACHE_TTL_MS = 24 * 60 * 60 * 1000;
106
193
  function main() {
107
194
  const args = process.argv.slice(2);
195
+ const forceFlag = args.includes('--force');
108
196
  const outDirFlag = args.indexOf('--out-dir');
109
197
  const skipIndices = new Set();
110
198
  if (outDirFlag >= 0) {
@@ -117,21 +205,45 @@ function main() {
117
205
  ? args[outDirFlag + 1]
118
206
  : path_1.default.join(process.env.MINDLORE_HOME ?? path_1.default.join(os_1.default.homedir(), '.mindlore'), 'raw');
119
207
  if (!url) {
120
- console.error('Usage: node fetch-raw.js <URL> [--out-dir <path>]');
208
+ console.error('Usage: node fetch-raw.js <URL> [--out-dir <path>] [--force]');
121
209
  process.exit(1);
122
210
  }
123
211
  const parsedUrl = validateUrl(url);
124
212
  const safeUrl = parsedUrl.href;
213
+ const slug = resolveSlugCollision(slugFromUrl(safeUrl), safeUrl, outDir);
214
+ let cachedPath = findExistingFile(outDir, slug);
215
+ if (!forceFlag && cachedPath) {
216
+ const stat = fs_1.default.statSync(cachedPath);
217
+ const ageMs = Date.now() - stat.mtimeMs;
218
+ if (ageMs < CACHE_TTL_MS) {
219
+ const hoursAgo = Math.round(ageMs / (60 * 60 * 1000));
220
+ console.log(JSON.stringify({ cached: true, file: cachedPath, hours_ago: hoursAgo }));
221
+ return;
222
+ }
223
+ }
125
224
  let content = null;
126
225
  let method = 'curl';
226
+ const cached = loadCachedHeaders(outDir, slug);
127
227
  if (parsedUrl.hostname === 'github.com' || parsedUrl.hostname.endsWith('.github.com')) {
128
228
  content = fetchGitHubReadme(safeUrl);
129
229
  if (content)
130
230
  method = 'github-api';
131
231
  }
132
232
  if (!content) {
133
- content = fetchCurl(safeUrl);
233
+ const curlResult = fetchCurl(safeUrl, cached);
234
+ if (curlResult.content === null && (cached.etag || cached.lastModified)) {
235
+ // 304 Not Modified
236
+ if (cachedPath) {
237
+ fs_1.default.utimesSync(cachedPath, new Date(), new Date());
238
+ console.log(JSON.stringify({ cached: true, file: cachedPath, reason: '304_not_modified' }));
239
+ return;
240
+ }
241
+ }
242
+ content = curlResult.content;
134
243
  method = 'curl';
244
+ if (curlResult.responseHeaders.etag || curlResult.responseHeaders.lastModified) {
245
+ saveCachedHeaders(outDir, slug, curlResult.responseHeaders);
246
+ }
135
247
  }
136
248
  if (!content || content.length < 100) {
137
249
  content = fetchJina(safeUrl);
@@ -141,9 +253,22 @@ function main() {
141
253
  console.error(JSON.stringify({ error: 'All fetch methods failed', url: safeUrl }));
142
254
  process.exit(1);
143
255
  }
144
- const slug = slugFromUrl(safeUrl);
145
256
  const frontmatter = generateFrontmatter(safeUrl, slug, content);
146
257
  const fullContent = frontmatter + content;
258
+ const newHash = crypto_1.default.createHash('sha256').update(content).digest('hex');
259
+ if (!cachedPath)
260
+ cachedPath = findExistingFile(outDir, slug);
261
+ if (cachedPath && !forceFlag) {
262
+ const oldContent = fs_1.default.readFileSync(cachedPath, 'utf8');
263
+ const bodyStart = oldContent.indexOf('---', 4);
264
+ const oldBody = bodyStart > 0 ? oldContent.slice(bodyStart + 3).trim() : oldContent;
265
+ const oldHash = crypto_1.default.createHash('sha256').update(oldBody).digest('hex');
266
+ if (newHash === oldHash) {
267
+ fs_1.default.utimesSync(cachedPath, new Date(), new Date());
268
+ console.log(JSON.stringify({ cached: true, file: cachedPath, reason: 'content_unchanged' }));
269
+ return;
270
+ }
271
+ }
147
272
  fs_1.default.mkdirSync(outDir, { recursive: true });
148
273
  const fileName = `${new Date().toISOString().split('T')[0]}-${slug}.md`;
149
274
  const filePath = path_1.default.join(outDir, fileName);
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-raw.js","sourceRoot":"","sources":["../../scripts/fetch-raw.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch-raw.js","sourceRoot":"","sources":["../../scripts/fetch-raw.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,11 @@ const path_1 = __importDefault(require("path"));
18
18
  const child_process_1 = require("child_process");
19
19
  const constants_js_1 = require("./lib/constants.js");
20
20
  const db_helpers_js_1 = require("./lib/db-helpers.js");
21
+ const merge_defaults_js_1 = require("./lib/merge-defaults.js");
21
22
  const safe_parse_js_1 = require("./lib/safe-parse.js");
23
+ const schema_version_js_1 = require("./lib/schema-version.js");
24
+ const migrations_v062_js_1 = require("./lib/migrations-v062.js");
25
+ const migrations_v063_js_1 = require("./lib/migrations-v063.js");
22
26
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- dynamic CJS require, typed by mindlore-common.d.cts
23
27
  const { SQL_FTS_CREATE, ensureEpisodesTable: ensureEpisodesTableCjs } = require((0, constants_js_1.resolveHookCommon)(__dirname));
24
28
  const TEMPLATE_FILES = ['INDEX.md', 'log.md'];
@@ -142,6 +146,8 @@ function createDatabase(baseDir) {
142
146
  // Idempotent: ensure episodes table on pre-v0.4 databases
143
147
  const dbEp = new DatabaseCtor(dbPath);
144
148
  ensureEpisodesTableCjs(dbEp);
149
+ (0, schema_version_js_1.ensureSchemaTable)(dbEp);
150
+ (0, schema_version_js_1.runMigrations)(dbEp, [...migrations_v062_js_1.V062_MIGRATIONS, ...migrations_v063_js_1.V063_MIGRATIONS]);
145
151
  dbEp.close();
146
152
  return migrated;
147
153
  }
@@ -157,6 +163,9 @@ function createDatabase(baseDir) {
157
163
  `);
158
164
  // Idempotent: pre-v0.4 installs won't have this table
159
165
  ensureEpisodesTableCjs(db);
166
+ // v0.6.2 + v0.6.3 migrations
167
+ (0, schema_version_js_1.ensureSchemaTable)(db);
168
+ (0, schema_version_js_1.runMigrations)(db, [...migrations_v062_js_1.V062_MIGRATIONS, ...migrations_v063_js_1.V063_MIGRATIONS]);
160
169
  db.close();
161
170
  return true;
162
171
  }
@@ -340,50 +349,16 @@ function ensureConfig(baseDir, packageRoot) {
340
349
  config.models = { ...constants_js_1.DEFAULT_MODELS };
341
350
  changed = true;
342
351
  }
343
- // v0.5.0: merge new fields from template if missing
352
+ // Merge missing fields from template (handles top-level + nested objects)
344
353
  if (fs_1.default.existsSync(configSrc)) {
345
354
  const template = (0, safe_parse_js_1.readJsonFile)(configSrc);
346
- if (!config.synonyms && template.synonyms) {
347
- config.synonyms = template.synonyms;
355
+ /* eslint-disable @typescript-eslint/no-unsafe-type-assertion -- MindloreConfig is a plain object, safe to cast */
356
+ const { result: merged, changed: mergeChanged } = (0, merge_defaults_js_1.mergeDefaults)(config, template);
357
+ /* eslint-enable @typescript-eslint/no-unsafe-type-assertion */
358
+ if (mergeChanged) {
359
+ Object.assign(config, merged);
348
360
  changed = true;
349
361
  }
350
- if (!config.hybrid && template.hybrid) {
351
- config.hybrid = template.hybrid;
352
- changed = true;
353
- }
354
- // Backfill tokenBudget from template for pre-v0.5.1 configs
355
- if (!config.tokenBudget && template.tokenBudget) {
356
- config.tokenBudget = template.tokenBudget;
357
- changed = true;
358
- }
359
- // Backfill backup from template for pre-v0.5.4 configs
360
- if (!config.backup && template.backup) {
361
- config.backup = template.backup;
362
- changed = true;
363
- }
364
- // Backfill reminders from template for pre-v0.5.4 configs
365
- if (!config.reminders && template.reminders) {
366
- config.reminders = template.reminders;
367
- changed = true;
368
- }
369
- // Merge nested session_focus keys
370
- if (typeof config.session_focus === 'object' && config.session_focus !== null
371
- && typeof template.session_focus === 'object' && template.session_focus !== null) {
372
- const merged = (0, safe_parse_js_1.parseJsonObject)(JSON.stringify(template.session_focus)); // lint-safe cast
373
- const existing = (0, safe_parse_js_1.parseJsonObject)(JSON.stringify(config.session_focus)); // defensive copy
374
- let sfChanged = false;
375
- for (const subKey of Object.keys(merged)) {
376
- if (!(subKey in existing)) {
377
- existing[subKey] = merged[subKey];
378
- sfChanged = true;
379
- }
380
- }
381
- if (sfChanged) {
382
- config.session_focus = existing;
383
- changed = true;
384
- }
385
- }
386
- // Update version to match template
387
362
  if (config.version !== template.version) {
388
363
  config.version = template.version;
389
364
  changed = true;
@@ -403,6 +378,11 @@ function main() {
403
378
  require('./uninstall.js');
404
379
  return;
405
380
  }
381
+ if (command === 'upgrade') {
382
+ process.argv = [...process.argv.slice(0, 2), 'init', '--upgrade'];
383
+ main();
384
+ return;
385
+ }
406
386
  // CLI subcommands — delegate to dist scripts
407
387
  const cliCommands = {
408
388
  health: { script: './mindlore-health-check.js', passArgs: false },
@@ -443,6 +423,7 @@ function main() {
443
423
  console.log(' npx mindlore memory-sync');
444
424
  console.log(' npx mindlore fetch-raw <url>');
445
425
  console.log(' npx mindlore daemon start|stop|status');
426
+ console.log(' npx mindlore upgrade');
446
427
  process.exit(1);
447
428
  }
448
429
  const isRecommended = args.includes('--recommended');
@@ -613,10 +594,14 @@ function registerAgents(packageRoot) {
613
594
  const dest = path_1.default.join(targetDir, file);
614
595
  if (!fs_1.default.statSync(src).isFile())
615
596
  continue;
616
- if (!fs_1.default.existsSync(dest) || fs_1.default.readFileSync(src, 'utf8') !== fs_1.default.readFileSync(dest, 'utf8')) {
617
- fs_1.default.copyFileSync(src, dest);
618
- copied++;
597
+ if (fs_1.default.existsSync(dest)) {
598
+ const srcStat = fs_1.default.statSync(src);
599
+ const destStat = fs_1.default.statSync(dest);
600
+ if (srcStat.size === destStat.size && srcStat.mtimeMs <= destStat.mtimeMs)
601
+ continue;
619
602
  }
603
+ fs_1.default.copyFileSync(src, dest);
604
+ copied++;
620
605
  }
621
606
  return copied;
622
607
  }