mindlore 0.5.2 → 0.5.4

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 (127) hide show
  1. package/README.md +6 -5
  2. package/dist/scripts/cc-memory-bulk-sync.d.ts +26 -0
  3. package/dist/scripts/cc-memory-bulk-sync.d.ts.map +1 -0
  4. package/dist/scripts/cc-memory-bulk-sync.js +177 -0
  5. package/dist/scripts/cc-memory-bulk-sync.js.map +1 -0
  6. package/dist/scripts/fetch-raw.js +14 -7
  7. package/dist/scripts/fetch-raw.js.map +1 -1
  8. package/dist/scripts/init.js +38 -1
  9. package/dist/scripts/init.js.map +1 -1
  10. package/dist/scripts/lib/backfill.d.ts +9 -0
  11. package/dist/scripts/lib/backfill.d.ts.map +1 -0
  12. package/dist/scripts/lib/backfill.js +74 -0
  13. package/dist/scripts/lib/backfill.js.map +1 -0
  14. package/dist/scripts/lib/consolidation.d.ts +17 -0
  15. package/dist/scripts/lib/consolidation.d.ts.map +1 -0
  16. package/dist/scripts/lib/consolidation.js +55 -0
  17. package/dist/scripts/lib/consolidation.js.map +1 -0
  18. package/dist/scripts/lib/constants.d.ts +4 -1
  19. package/dist/scripts/lib/constants.d.ts.map +1 -1
  20. package/dist/scripts/lib/constants.js +6 -1
  21. package/dist/scripts/lib/constants.js.map +1 -1
  22. package/dist/scripts/lib/contradiction.d.ts +7 -0
  23. package/dist/scripts/lib/contradiction.d.ts.map +1 -0
  24. package/dist/scripts/lib/contradiction.js +205 -0
  25. package/dist/scripts/lib/contradiction.js.map +1 -0
  26. package/dist/scripts/lib/db-helpers.d.ts.map +1 -1
  27. package/dist/scripts/lib/db-helpers.js +7 -1
  28. package/dist/scripts/lib/db-helpers.js.map +1 -1
  29. package/dist/scripts/lib/decay.d.ts +26 -0
  30. package/dist/scripts/lib/decay.d.ts.map +1 -0
  31. package/dist/scripts/lib/decay.js +73 -0
  32. package/dist/scripts/lib/decay.js.map +1 -0
  33. package/dist/scripts/lib/git-snapshot.d.ts +3 -0
  34. package/dist/scripts/lib/git-snapshot.d.ts.map +1 -0
  35. package/dist/scripts/lib/git-snapshot.js +38 -0
  36. package/dist/scripts/lib/git-snapshot.js.map +1 -0
  37. package/dist/scripts/lib/migrations-v053.d.ts +3 -0
  38. package/dist/scripts/lib/migrations-v053.d.ts.map +1 -0
  39. package/dist/scripts/lib/migrations-v053.js +52 -0
  40. package/dist/scripts/lib/migrations-v053.js.map +1 -0
  41. package/dist/scripts/lib/session-payload.d.ts +19 -0
  42. package/dist/scripts/lib/session-payload.d.ts.map +1 -0
  43. package/dist/scripts/lib/session-payload.js +85 -0
  44. package/dist/scripts/lib/session-payload.js.map +1 -0
  45. package/dist/scripts/mindlore-backup.d.ts +1 -1
  46. package/dist/scripts/mindlore-backup.d.ts.map +1 -1
  47. package/dist/scripts/mindlore-backup.js +23 -0
  48. package/dist/scripts/mindlore-backup.js.map +1 -1
  49. package/dist/scripts/mindlore-fts5-index.js +20 -7
  50. package/dist/scripts/mindlore-fts5-index.js.map +1 -1
  51. package/dist/scripts/mindlore-health-check.d.ts.map +1 -1
  52. package/dist/scripts/mindlore-health-check.js +47 -1
  53. package/dist/scripts/mindlore-health-check.js.map +1 -1
  54. package/dist/tests/backfill.test.d.ts +2 -0
  55. package/dist/tests/backfill.test.d.ts.map +1 -0
  56. package/dist/tests/backfill.test.js +127 -0
  57. package/dist/tests/backfill.test.js.map +1 -0
  58. package/dist/tests/cc-memory-bulk-sync.test.d.ts +2 -0
  59. package/dist/tests/cc-memory-bulk-sync.test.d.ts.map +1 -0
  60. package/dist/tests/cc-memory-bulk-sync.test.js +116 -0
  61. package/dist/tests/cc-memory-bulk-sync.test.js.map +1 -0
  62. package/dist/tests/consolidation.test.d.ts +2 -0
  63. package/dist/tests/consolidation.test.d.ts.map +1 -0
  64. package/dist/tests/consolidation.test.js +77 -0
  65. package/dist/tests/consolidation.test.js.map +1 -0
  66. package/dist/tests/contradiction-extended.test.d.ts +2 -0
  67. package/dist/tests/contradiction-extended.test.d.ts.map +1 -0
  68. package/dist/tests/contradiction-extended.test.js +182 -0
  69. package/dist/tests/contradiction-extended.test.js.map +1 -0
  70. package/dist/tests/decay.test.d.ts +2 -0
  71. package/dist/tests/decay.test.d.ts.map +1 -0
  72. package/dist/tests/decay.test.js +143 -0
  73. package/dist/tests/decay.test.js.map +1 -0
  74. package/dist/tests/fts5.test.js +181 -0
  75. package/dist/tests/fts5.test.js.map +1 -1
  76. package/dist/tests/git-snapshot.test.d.ts +2 -0
  77. package/dist/tests/git-snapshot.test.d.ts.map +1 -0
  78. package/dist/tests/git-snapshot.test.js +79 -0
  79. package/dist/tests/git-snapshot.test.js.map +1 -0
  80. package/dist/tests/helpers/db.d.ts.map +1 -1
  81. package/dist/tests/helpers/db.js +3 -1
  82. package/dist/tests/helpers/db.js.map +1 -1
  83. package/dist/tests/init.test.js +36 -3
  84. package/dist/tests/init.test.js.map +1 -1
  85. package/dist/tests/migrations-v053.test.d.ts +2 -0
  86. package/dist/tests/migrations-v053.test.d.ts.map +1 -0
  87. package/dist/tests/migrations-v053.test.js +113 -0
  88. package/dist/tests/migrations-v053.test.js.map +1 -0
  89. package/dist/tests/recall-telemetry.test.d.ts +2 -0
  90. package/dist/tests/recall-telemetry.test.d.ts.map +1 -0
  91. package/dist/tests/recall-telemetry.test.js +56 -0
  92. package/dist/tests/recall-telemetry.test.js.map +1 -0
  93. package/dist/tests/research-guard-scope.test.d.ts +2 -0
  94. package/dist/tests/research-guard-scope.test.d.ts.map +1 -0
  95. package/dist/tests/research-guard-scope.test.js +154 -0
  96. package/dist/tests/research-guard-scope.test.js.map +1 -0
  97. package/dist/tests/research-guard.test.js +60 -0
  98. package/dist/tests/research-guard.test.js.map +1 -1
  99. package/dist/tests/search-hook.test.js +37 -0
  100. package/dist/tests/search-hook.test.js.map +1 -1
  101. package/dist/tests/session-focus.test.js +86 -0
  102. package/dist/tests/session-focus.test.js.map +1 -1
  103. package/dist/tests/session-payload.test.d.ts +5 -0
  104. package/dist/tests/session-payload.test.d.ts.map +1 -0
  105. package/dist/tests/session-payload.test.js +135 -0
  106. package/dist/tests/session-payload.test.js.map +1 -0
  107. package/dist/tests/skill-path-resolution.test.d.ts +2 -0
  108. package/dist/tests/skill-path-resolution.test.d.ts.map +1 -0
  109. package/dist/tests/skill-path-resolution.test.js +42 -0
  110. package/dist/tests/skill-path-resolution.test.js.map +1 -0
  111. package/hooks/lib/mindlore-common.cjs +42 -8
  112. package/hooks/mindlore-research-guard.cjs +25 -2
  113. package/hooks/mindlore-search.cjs +23 -10
  114. package/hooks/mindlore-session-end.cjs +35 -0
  115. package/hooks/mindlore-session-focus.cjs +35 -34
  116. package/package.json +3 -2
  117. package/plugin.json +6 -1
  118. package/skills/mindlore-decide/SKILL.md +9 -0
  119. package/skills/mindlore-diary/SKILL.md +12 -3
  120. package/skills/mindlore-evolve/SKILL.md +24 -1
  121. package/skills/mindlore-health/SKILL.md +10 -1
  122. package/skills/mindlore-ingest/SKILL.md +26 -6
  123. package/skills/mindlore-log/SKILL.md +9 -0
  124. package/skills/mindlore-maintain/SKILL.md +119 -0
  125. package/skills/mindlore-query/SKILL.md +9 -0
  126. package/skills/mindlore-reflect/SKILL.md +31 -4
  127. package/templates/config.json +18 -9
package/README.md CHANGED
@@ -26,12 +26,12 @@ Claude Code forgets everything between sessions. Your corrections, discoveries,
26
26
  | Persistent search | FTS5 auto-indexed | Manual index | No search | Vector DB overhead |
27
27
  | Knowledge compounding | Writeback loop | No | No | Partial |
28
28
  | Token efficient | Progressive disclosure | Full dump | Full dump | Varies |
29
- | Setup time | `npx mindlore init` | Config + setup | Complex | Complex |
29
+ | Setup time | `npx mindlore` | Config + setup | Complex | Complex |
30
30
 
31
31
  ## Quick Start
32
32
 
33
33
  ```bash
34
- npx mindlore init
34
+ npx mindlore
35
35
  ```
36
36
 
37
37
  That's it. Mindlore creates a `~/.mindlore/` directory, sets up hooks, and starts working.
@@ -71,6 +71,7 @@ npx mindlore episodes count # Episode count per project
71
71
  | `/mindlore-decide` | Decision records with supersedes chain |
72
72
  | `/mindlore-evolve` | Schema co-evolution and structural updates |
73
73
  | `/mindlore-explore` | Cross-reference discovery between sources |
74
+ | `/mindlore-maintain` | KB maintenance: decay reports, consolidation, contradiction detection |
74
75
 
75
76
  ## Architecture
76
77
 
@@ -109,7 +110,7 @@ Nine directories, each mapping to a frontmatter `type`:
109
110
  ### Minimal (default)
110
111
 
111
112
  ```bash
112
- npx mindlore init
113
+ npx mindlore
113
114
  ```
114
115
 
115
116
  Requires: Node.js 20+, `better-sqlite3` (installed automatically).
@@ -117,7 +118,7 @@ Requires: Node.js 20+, `better-sqlite3` (installed automatically).
117
118
  ### Recommended
118
119
 
119
120
  ```bash
120
- npx mindlore init --recommended
121
+ npx mindlore --recommended
121
122
  ```
122
123
 
123
124
  Also suggests installing:
@@ -198,7 +199,7 @@ Skills spawn subagents with `[mindlore:SKILL]` markers — the model-router hook
198
199
 
199
200
  ## Hooks
200
201
 
201
- 14 Claude Code lifecycle hooks (v0.5.2):
202
+ 14 Claude Code lifecycle hooks (v0.5.4):
202
203
 
203
204
  | Event | Hook | What it does |
204
205
  |-------|------|-------------|
@@ -0,0 +1,26 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * cc-memory-bulk-sync — One-shot sync of Claude Code memory files into Mindlore FTS5.
4
+ *
5
+ * Discovers ~/.claude/projects/*\/memory\/*.md, copies to .mindlore/memory/, and
6
+ * indexes with category='cc-memory'. Idempotent via SHA256 content-hash.
7
+ *
8
+ * Usage: node dist/scripts/cc-memory-bulk-sync.js [--claude-dir <path>] [--db <path>] [--mindlore-dir <path>]
9
+ */
10
+ export interface SyncResult {
11
+ synced: number;
12
+ skipped: number;
13
+ errors: string[];
14
+ }
15
+ /**
16
+ * Discover CC memory files under {claudeDir}/projects\/*\/memory\/*.md.
17
+ * Skips MEMORY.md (index files).
18
+ */
19
+ export declare function discoverCcMemoryFiles(claudeDir: string): string[];
20
+ /**
21
+ * Sync discovered CC memory files into Mindlore FTS5 DB.
22
+ * Copies files to {mindloreDir}/memory/ with prefix {projectName}_.
23
+ * Idempotent: skips files whose content hash already matches.
24
+ */
25
+ export declare function syncToDb(dbPath: string, files: string[], mindloreDir: string): SyncResult;
26
+ //# sourceMappingURL=cc-memory-bulk-sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cc-memory-bulk-sync.d.ts","sourceRoot":"","sources":["../../scripts/cc-memory-bulk-sync.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG;AAmDH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAkCjE;AAkBD;;;;GAIG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EAAE,EACf,WAAW,EAAE,MAAM,GAClB,UAAU,CAyFZ"}
@@ -0,0 +1,177 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ /**
4
+ * cc-memory-bulk-sync — One-shot sync of Claude Code memory files into Mindlore FTS5.
5
+ *
6
+ * Discovers ~/.claude/projects/*\/memory\/*.md, copies to .mindlore/memory/, and
7
+ * indexes with category='cc-memory'. Idempotent via SHA256 content-hash.
8
+ *
9
+ * Usage: node dist/scripts/cc-memory-bulk-sync.js [--claude-dir <path>] [--db <path>] [--mindlore-dir <path>]
10
+ */
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.discoverCcMemoryFiles = discoverCcMemoryFiles;
16
+ exports.syncToDb = syncToDb;
17
+ const fs_1 = __importDefault(require("fs"));
18
+ const path_1 = __importDefault(require("path"));
19
+ const os_1 = __importDefault(require("os"));
20
+ const constants_js_1 = require("./lib/constants.js");
21
+ // ── Discovery ─────────────────────────────────────────────────────────
22
+ /**
23
+ * Discover CC memory files under {claudeDir}/projects\/*\/memory\/*.md.
24
+ * Skips MEMORY.md (index files).
25
+ */
26
+ function discoverCcMemoryFiles(claudeDir) {
27
+ const projectsDir = path_1.default.join(claudeDir, 'projects');
28
+ if (!fs_1.default.existsSync(projectsDir))
29
+ return [];
30
+ const results = [];
31
+ let projectEntries;
32
+ try {
33
+ projectEntries = fs_1.default.readdirSync(projectsDir, { withFileTypes: true });
34
+ }
35
+ catch (_err) {
36
+ return [];
37
+ }
38
+ for (const projectEntry of projectEntries) {
39
+ if (!projectEntry.isDirectory())
40
+ continue;
41
+ const memoryDir = path_1.default.join(projectsDir, projectEntry.name, 'memory');
42
+ if (!fs_1.default.existsSync(memoryDir))
43
+ continue;
44
+ let memoryEntries;
45
+ try {
46
+ memoryEntries = fs_1.default.readdirSync(memoryDir, { withFileTypes: true });
47
+ }
48
+ catch (_err) {
49
+ continue;
50
+ }
51
+ for (const memEntry of memoryEntries) {
52
+ if (!memEntry.isFile())
53
+ continue;
54
+ if (!memEntry.name.endsWith('.md'))
55
+ continue;
56
+ if (memEntry.name === 'MEMORY.md')
57
+ continue;
58
+ results.push(path_1.default.join(memoryDir, memEntry.name));
59
+ }
60
+ }
61
+ return results;
62
+ }
63
+ // ── Safe prefix ───────────────────────────────────────────────────────
64
+ /**
65
+ * Sanitize a CC project dir name for use as a filename prefix.
66
+ * Strips path separators and dots sequences to prevent traversal.
67
+ */
68
+ function safePrefix(dirName) {
69
+ return dirName
70
+ .replace(/[/\\]/g, '_')
71
+ .replace(/\.\./g, '_')
72
+ .replace(/[^\w\-. ]/g, '_')
73
+ .slice(0, 80);
74
+ }
75
+ // ── Sync ──────────────────────────────────────────────────────────────
76
+ /**
77
+ * Sync discovered CC memory files into Mindlore FTS5 DB.
78
+ * Copies files to {mindloreDir}/memory/ with prefix {projectName}_.
79
+ * Idempotent: skips files whose content hash already matches.
80
+ */
81
+ function syncToDb(dbPath, files, mindloreDir) {
82
+ const result = { synced: 0, skipped: 0, errors: [] };
83
+ if (files.length === 0)
84
+ return result;
85
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- resolveHookCommon validated at startup
86
+ const common = require((0, constants_js_1.resolveHookCommon)(__dirname));
87
+ const { sha256, parseFrontmatter, extractFtsMetadata, insertFtsRow, openDatabase } = common;
88
+ const db = openDatabase(dbPath);
89
+ if (!db) {
90
+ result.errors.push(`Cannot open DB at ${dbPath}`);
91
+ return result;
92
+ }
93
+ // Ensure memory dest dir exists
94
+ const memoryDestDir = path_1.default.join(mindloreDir, 'memory');
95
+ fs_1.default.mkdirSync(memoryDestDir, { recursive: true });
96
+ const getHash = db.prepare('SELECT content_hash FROM file_hashes WHERE path = ?');
97
+ const upsertHash = db.prepare(`
98
+ INSERT INTO file_hashes (path, content_hash, last_indexed)
99
+ VALUES (?, ?, ?)
100
+ ON CONFLICT(path) DO UPDATE SET
101
+ content_hash = excluded.content_hash,
102
+ last_indexed = excluded.last_indexed
103
+ `);
104
+ const deleteFts = db.prepare('DELETE FROM mindlore_fts WHERE path = ?');
105
+ const now = new Date().toISOString();
106
+ const transaction = db.transaction(() => {
107
+ for (const srcPath of files) {
108
+ try {
109
+ // Extract project name from grandparent dir of memory/
110
+ // Structure: .../projects/{projectName}/memory/{file}.md
111
+ const projectName = safePrefix(path_1.default.basename(path_1.default.dirname(path_1.default.dirname(srcPath))));
112
+ const destFileName = `${projectName}_${path_1.default.basename(srcPath)}`;
113
+ const destPath = path_1.default.join(memoryDestDir, destFileName);
114
+ const content = fs_1.default.readFileSync(srcPath, 'utf8').replace(/\r\n/g, '\n');
115
+ const hash = sha256(content);
116
+ // Idempotency check: use dest path as the canonical key
117
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- get() returns unknown
118
+ const existing = getHash.get(destPath);
119
+ if (existing && existing.content_hash === hash) {
120
+ result.skipped++;
121
+ continue;
122
+ }
123
+ const { meta, body } = parseFrontmatter(content);
124
+ const ftsFields = extractFtsMetadata(meta, body, destPath, mindloreDir);
125
+ // Override category — extractFtsMetadata would return 'memory', we need 'cc-memory'
126
+ deleteFts.run(destPath);
127
+ insertFtsRow(db, {
128
+ path: destPath,
129
+ slug: ftsFields.slug,
130
+ description: ftsFields.description,
131
+ type: ftsFields.type,
132
+ category: constants_js_1.CC_MEMORY_CATEGORY,
133
+ title: ftsFields.title,
134
+ content: body,
135
+ tags: ftsFields.tags,
136
+ quality: ftsFields.quality,
137
+ dateCaptured: ftsFields.dateCaptured,
138
+ project: projectName,
139
+ });
140
+ // Copy file before DB write — if copy fails, DB stays clean
141
+ fs_1.default.copyFileSync(srcPath, destPath);
142
+ upsertHash.run(destPath, hash, now);
143
+ result.synced++;
144
+ }
145
+ catch (err) {
146
+ const msg = err instanceof Error ? err.message : String(err);
147
+ result.errors.push(`${path_1.default.basename(srcPath)}: ${msg}`);
148
+ }
149
+ }
150
+ });
151
+ transaction();
152
+ db.close();
153
+ return result;
154
+ }
155
+ // ── CLI ───────────────────────────────────────────────────────────────
156
+ const isMain = typeof require !== 'undefined' && require.main === module;
157
+ if (isMain) {
158
+ const args = process.argv.slice(2);
159
+ function getArg(flag) {
160
+ const idx = args.indexOf(flag);
161
+ return idx !== -1 ? args[idx + 1] : undefined;
162
+ }
163
+ const claudeDir = getArg('--claude-dir') ?? path_1.default.join(os_1.default.homedir(), '.claude');
164
+ const mindloreDir = getArg('--mindlore-dir') ?? constants_js_1.GLOBAL_MINDLORE_DIR;
165
+ const dbPath = getArg('--db') ?? path_1.default.join(mindloreDir, constants_js_1.DB_NAME);
166
+ const files = discoverCcMemoryFiles(claudeDir);
167
+ console.log(` Discovered ${files.length} CC memory file(s)`);
168
+ const result = syncToDb(dbPath, files, mindloreDir);
169
+ console.log(` Synced: ${result.synced}, Skipped: ${result.skipped}, Errors: ${result.errors.length}`);
170
+ if (result.errors.length > 0) {
171
+ for (const e of result.errors) {
172
+ console.error(` ERROR: ${e}`);
173
+ }
174
+ process.exit(1);
175
+ }
176
+ }
177
+ //# sourceMappingURL=cc-memory-bulk-sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cc-memory-bulk-sync.js","sourceRoot":"","sources":["../../scripts/cc-memory-bulk-sync.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ function validateUrl(raw) {
13
13
  if (!['http:', 'https:'].includes(u.protocol)) {
14
14
  throw new Error(`Unsupported protocol: ${u.protocol}`);
15
15
  }
16
- return u.href;
16
+ return u;
17
17
  }
18
18
  function slugFromUrl(url) {
19
19
  return crypto_1.default.createHash('sha256').update(url).digest('hex').slice(0, 12);
@@ -35,9 +35,15 @@ function fetchCurl(url) {
35
35
  try {
36
36
  const raw = (0, child_process_1.execFileSync)('curl', ['-sL', '--max-time', '20', '--max-filesize', '5242880', url], { encoding: 'utf8', timeout: 25000, stdio: ['pipe', 'pipe', 'pipe'] });
37
37
  if (raw.includes('<html') || raw.includes('<!DOCTYPE')) {
38
- return raw
39
- .replace(/<script[^>]*>[\s\S]*?<\/script>/gi, '')
40
- .replace(/<style[^>]*>[\s\S]*?<\/style>/gi, '')
38
+ let cleaned = raw;
39
+ let prev;
40
+ do {
41
+ prev = cleaned;
42
+ cleaned = cleaned
43
+ .replace(/<script[^>]*>[\s\S]*?<\/script\s*>/gi, '')
44
+ .replace(/<style[^>]*>[\s\S]*?<\/style\s*>/gi, '');
45
+ } while (cleaned !== prev);
46
+ return cleaned
41
47
  .replace(/<[^>]+>/g, ' ')
42
48
  .replace(/\s{2,}/g, ' ')
43
49
  .trim();
@@ -65,7 +71,7 @@ function generateFrontmatter(url, slug, content) {
65
71
  '---',
66
72
  `slug: ${slug}`,
67
73
  'type: raw',
68
- `title: "${title.replace(/"/g, '\\"')}"`,
74
+ `title: "${title.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`,
69
75
  `source_url: ${url}`,
70
76
  `date_captured: ${now}`,
71
77
  'quality: unreviewed',
@@ -90,10 +96,11 @@ function main() {
90
96
  console.error('Usage: node fetch-raw.js <URL> [--out-dir <path>]');
91
97
  process.exit(1);
92
98
  }
93
- const safeUrl = validateUrl(url);
99
+ const parsedUrl = validateUrl(url);
100
+ const safeUrl = parsedUrl.href;
94
101
  let content = null;
95
102
  let method = 'curl';
96
- if (safeUrl.includes('github.com')) {
103
+ if (parsedUrl.hostname === 'github.com' || parsedUrl.hostname.endsWith('.github.com')) {
97
104
  content = fetchGitHubReadme(safeUrl);
98
105
  if (content)
99
106
  method = 'github-api';
@@ -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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"}
@@ -356,6 +356,16 @@ function ensureConfig(baseDir, packageRoot) {
356
356
  config.tokenBudget = template.tokenBudget;
357
357
  changed = true;
358
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
+ }
359
369
  // Merge nested session_focus keys
360
370
  if (typeof config.session_focus === 'object' && config.session_focus !== null
361
371
  && typeof template.session_focus === 'object' && template.session_focus !== null) {
@@ -402,6 +412,8 @@ function main() {
402
412
  backup: { script: './mindlore-backup.js', passArgs: true },
403
413
  obsidian: { script: './mindlore-obsidian.js', passArgs: true },
404
414
  episodes: { script: './mindlore-episodes.js', passArgs: true },
415
+ 'memory-sync': { script: './cc-memory-bulk-sync.js', passArgs: true },
416
+ 'fetch-raw': { script: './fetch-raw.js', passArgs: true },
405
417
  };
406
418
  const cliCmd = command ? cliCommands[command] : undefined;
407
419
  if (cliCmd) {
@@ -427,10 +439,14 @@ function main() {
427
439
  console.log(' npx mindlore backup init|status|remote|now');
428
440
  console.log(' npx mindlore obsidian export|import|status');
429
441
  console.log(' npx mindlore episodes list|search|show');
442
+ console.log(' npx mindlore memory-sync');
443
+ console.log(' npx mindlore fetch-raw <url>');
430
444
  process.exit(1);
431
445
  }
432
446
  const isRecommended = args.includes('--recommended');
433
447
  const packageRoot = resolvePackageRoot();
448
+ // Resolution order: MINDLORE_HOME env var > ~/.mindlore/ (global default).
449
+ // Project-local .mindlore/ was removed in v0.3.3 and is migrated to .mindlore.bak/ below.
434
450
  const baseDir = constants_js_1.GLOBAL_MINDLORE_DIR;
435
451
  console.log(`\n Mindlore — AI-native knowledge system [global (~/.mindlore/)]\n`);
436
452
  // v0.3.3 Migration: rename existing project .mindlore/ → .mindlore.bak/
@@ -543,10 +559,31 @@ function main() {
543
559
  (0, constants_js_1.log)('Install context-mode for token savings:');
544
560
  (0, constants_js_1.log)(' See: https://github.com/context-mode/context-mode');
545
561
  }
546
- // Step 11: Write .version + .pkg-version
562
+ // Step 11: Auto-backfill on upgrade + write .version + .pkg-version
547
563
  const packageJson = (0, safe_parse_js_1.readJsonFile)(path_1.default.join(packageRoot, 'package.json'));
548
564
  const versionPath = path_1.default.join(baseDir, '.version');
549
565
  const pkgVersionPath = path_1.default.join(baseDir, '.pkg-version');
566
+ const currentVersion = fs_1.default.existsSync(versionPath) ? fs_1.default.readFileSync(versionPath, 'utf8').trim() : '0.0.0';
567
+ if (currentVersion < '0.5.4') {
568
+ try {
569
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- dynamic CJS require, typed manually
570
+ const { runBackfill } = require('./lib/backfill.js');
571
+ const dbPath = path_1.default.join(baseDir, constants_js_1.DB_NAME);
572
+ if (fs_1.default.existsSync(dbPath)) {
573
+ const DatabaseBackfill = require('better-sqlite3');
574
+ const db = new DatabaseBackfill(dbPath);
575
+ db.pragma('journal_mode = WAL');
576
+ db.pragma('busy_timeout = 5000');
577
+ const result = runBackfill(db, baseDir);
578
+ (0, constants_js_1.log)(`Backfill: ${result.createdAtFixed} timestamps, ${result.importanceMapped} importance, ${result.projectScopeSet} scope`);
579
+ db.close();
580
+ }
581
+ }
582
+ catch (err) {
583
+ const msg = err instanceof Error ? err.message : String(err);
584
+ console.error('Auto-backfill failed (non-fatal):', msg);
585
+ }
586
+ }
550
587
  fs_1.default.writeFileSync(versionPath, packageJson.version, 'utf8');
551
588
  fs_1.default.writeFileSync(pkgVersionPath, packageJson.version, 'utf8');
552
589
  (0, constants_js_1.log)(`Version: ${packageJson.version}`);
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../scripts/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../scripts/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import Database from 'better-sqlite3';
2
+ export interface BackfillResult {
3
+ createdAtFixed: number;
4
+ importanceMapped: number;
5
+ projectScopeSet: number;
6
+ totalRows: number;
7
+ }
8
+ export declare function runBackfill(db: Database.Database, baseDir: string): BackfillResult;
9
+ //# sourceMappingURL=backfill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backfill.d.ts","sourceRoot":"","sources":["../../../scripts/lib/backfill.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAItC,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AA0BD,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,CA8ClF"}
@@ -0,0 +1,74 @@
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.runBackfill = runBackfill;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const path_1 = __importDefault(require("path"));
9
+ function parseFrontmatterSimple(content) {
10
+ const match = content.match(/^---\n([\s\S]*?)\n---/);
11
+ if (!match)
12
+ return {};
13
+ const block = match[1];
14
+ if (!block)
15
+ return {};
16
+ const result = {};
17
+ for (const line of block.split('\n')) {
18
+ const idx = line.indexOf(':');
19
+ if (idx > 0) {
20
+ result[line.slice(0, idx).trim()] = line.slice(idx + 1).trim();
21
+ }
22
+ }
23
+ return result;
24
+ }
25
+ function qualityToImportance(quality) {
26
+ switch (quality) {
27
+ case 'high': return 1.0;
28
+ case 'medium': return 0.6;
29
+ case 'low': return 0.3;
30
+ default: return 0.5;
31
+ }
32
+ }
33
+ function runBackfill(db, baseDir) {
34
+ const result = { createdAtFixed: 0, importanceMapped: 0, projectScopeSet: 0, totalRows: 0 };
35
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- .all() returns unknown[]
36
+ const rows = db.prepare('SELECT path, last_indexed, created_at, importance, project_scope FROM file_hashes').all();
37
+ result.totalRows = rows.length;
38
+ const projectName = path_1.default.basename(baseDir);
39
+ const updateCreatedAt = db.prepare('UPDATE file_hashes SET created_at = ? WHERE path = ?');
40
+ const updateImportance = db.prepare('UPDATE file_hashes SET importance = ? WHERE path = ?');
41
+ const updateProject = db.prepare('UPDATE file_hashes SET project_scope = ? WHERE path = ?');
42
+ for (const row of rows) {
43
+ if (!row.created_at) {
44
+ updateCreatedAt.run(row.last_indexed, row.path);
45
+ result.createdAtFixed++;
46
+ }
47
+ if (row.importance === 1.0 && fs_1.default.existsSync(row.path)) {
48
+ try {
49
+ const content = fs_1.default.readFileSync(row.path, 'utf8');
50
+ const meta = parseFrontmatterSimple(content);
51
+ if (meta.quality) {
52
+ const mapped = qualityToImportance(meta.quality);
53
+ if (mapped !== 1.0) {
54
+ updateImportance.run(mapped, row.path);
55
+ result.importanceMapped++;
56
+ }
57
+ }
58
+ else {
59
+ updateImportance.run(0.5, row.path);
60
+ result.importanceMapped++;
61
+ }
62
+ }
63
+ catch {
64
+ // File not readable, skip
65
+ }
66
+ }
67
+ if (!row.project_scope) {
68
+ updateProject.run(projectName, row.path);
69
+ result.projectScopeSet++;
70
+ }
71
+ }
72
+ return result;
73
+ }
74
+ //# sourceMappingURL=backfill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backfill.js","sourceRoot":"","sources":["../../../scripts/lib/backfill.ts"],"names":[],"mappings":";;;;;AAmCA,kCA8CC;AAhFD,4CAAoB;AACpB,gDAAwB;AASxB,SAAS,sBAAsB,CAAC,OAAe;IAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACjE,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,OAA2B;IACtD,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC,CAAC,OAAO,GAAG,CAAC;QACxB,KAAK,QAAQ,CAAC,CAAC,OAAO,GAAG,CAAC;QAC1B,KAAK,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC;QACvB,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC;IACtB,CAAC;AACH,CAAC;AAED,SAAgB,WAAW,CAAC,EAAqB,EAAE,OAAe;IAChE,MAAM,MAAM,GAAmB,EAAE,cAAc,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IAE5G,mGAAmG;IACnG,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,mFAAmF,CAAC,CAAC,GAAG,EAE9G,CAAC;IACH,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;IAE/B,MAAM,WAAW,GAAG,cAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,eAAe,GAAG,EAAE,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC;IAC3F,MAAM,gBAAgB,GAAG,EAAE,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC;IAC5F,MAAM,aAAa,GAAG,EAAE,CAAC,OAAO,CAAC,yDAAyD,CAAC,CAAC;IAE5F,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACpB,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAChD,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,CAAC;QAED,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,IAAI,YAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,YAAE,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAClD,MAAM,IAAI,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;gBAC7C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACjD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;wBACnB,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;wBACvC,MAAM,CAAC,gBAAgB,EAAE,CAAC;oBAC5B,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;oBACpC,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC5B,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,0BAA0B;YAC5B,CAAC;QACH,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YACvB,aAAa,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type BetterSqlite3 from 'better-sqlite3';
2
+ type Database = BetterSqlite3.Database;
3
+ interface RawEpisode {
4
+ id: string;
5
+ kind: string;
6
+ summary: string;
7
+ body: string | null;
8
+ tags: string | null;
9
+ created_at: string;
10
+ }
11
+ export declare function countRawEpisodes(db: Database): number;
12
+ export declare function needsConsolidation(db: Database, threshold?: number): boolean;
13
+ export declare function groupEpisodesByKind(db: Database): Map<string, RawEpisode[]>;
14
+ export declare function resolveTargetDir(kind: string): string;
15
+ export declare function markConsolidated(db: Database, episodeIds: string[], targetFile: string): void;
16
+ export {};
17
+ //# sourceMappingURL=consolidation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consolidation.d.ts","sourceRoot":"","sources":["../../../scripts/lib/consolidation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,gBAAgB,CAAC;AAIhD,KAAK,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;AAEvC,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,CAGrD;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,GAAE,MAAgC,GAAG,OAAO,CAErG;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAe3E;AASD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAc7F"}