mindlore 0.5.6 → 0.5.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 (53) hide show
  1. package/README.md +1 -1
  2. package/dist/scripts/cc-memory-bulk-sync.d.ts.map +1 -1
  3. package/dist/scripts/cc-memory-bulk-sync.js +6 -15
  4. package/dist/scripts/cc-memory-bulk-sync.js.map +1 -1
  5. package/dist/scripts/cc-session-sync.d.ts +32 -0
  6. package/dist/scripts/cc-session-sync.d.ts.map +1 -0
  7. package/dist/scripts/cc-session-sync.js +289 -0
  8. package/dist/scripts/cc-session-sync.js.map +1 -0
  9. package/dist/scripts/lib/constants.d.ts +2 -0
  10. package/dist/scripts/lib/constants.d.ts.map +1 -1
  11. package/dist/scripts/lib/constants.js +3 -1
  12. package/dist/scripts/lib/constants.js.map +1 -1
  13. package/dist/scripts/lib/privacy-filter.d.ts.map +1 -1
  14. package/dist/scripts/lib/privacy-filter.js +32 -14
  15. package/dist/scripts/lib/privacy-filter.js.map +1 -1
  16. package/dist/scripts/lib/sync-helpers.d.ts +37 -0
  17. package/dist/scripts/lib/sync-helpers.d.ts.map +1 -0
  18. package/dist/scripts/lib/sync-helpers.js +17 -0
  19. package/dist/scripts/lib/sync-helpers.js.map +1 -0
  20. package/dist/tests/cc-memory-bulk-sync.test.js +3 -0
  21. package/dist/tests/cc-memory-bulk-sync.test.js.map +1 -1
  22. package/dist/tests/cc-session-sync.test.d.ts +2 -0
  23. package/dist/tests/cc-session-sync.test.d.ts.map +1 -0
  24. package/dist/tests/cc-session-sync.test.js +306 -0
  25. package/dist/tests/cc-session-sync.test.js.map +1 -0
  26. package/dist/tests/helpers/db.d.ts.map +1 -1
  27. package/dist/tests/helpers/db.js +9 -1
  28. package/dist/tests/helpers/db.js.map +1 -1
  29. package/dist/tests/init.test.js +2 -0
  30. package/dist/tests/init.test.js.map +1 -1
  31. package/dist/tests/pre-compact.test.d.ts +2 -0
  32. package/dist/tests/pre-compact.test.d.ts.map +1 -0
  33. package/dist/tests/pre-compact.test.js +46 -0
  34. package/dist/tests/pre-compact.test.js.map +1 -0
  35. package/dist/tests/privacy-filter.test.js +10 -0
  36. package/dist/tests/privacy-filter.test.js.map +1 -1
  37. package/hooks/mindlore-pre-compact.cjs +27 -9
  38. package/hooks/mindlore-search.cjs +5 -3
  39. package/hooks/mindlore-session-end.cjs +17 -17
  40. package/package.json +2 -2
  41. package/plugin.json +1 -1
  42. package/skills/mindlore-decide/SKILL.md +3 -4
  43. package/skills/mindlore-diary/SKILL.md +4 -4
  44. package/skills/mindlore-evolve/SKILL.md +4 -4
  45. package/skills/mindlore-explore/SKILL.md +1 -0
  46. package/skills/mindlore-health/SKILL.md +3 -5
  47. package/skills/mindlore-ingest/SKILL.md +3 -4
  48. package/skills/mindlore-log/SKILL.md +3 -4
  49. package/skills/mindlore-maintain/SKILL.md +10 -5
  50. package/skills/mindlore-query/SKILL.md +3 -4
  51. package/skills/mindlore-reflect/SKILL.md +4 -4
  52. package/templates/INDEX.md +2 -0
  53. package/templates/config.json +1 -1
package/README.md CHANGED
@@ -199,7 +199,7 @@ Skills spawn subagents with `[mindlore:SKILL]` markers — the model-router hook
199
199
 
200
200
  ## Hooks
201
201
 
202
- 14 Claude Code lifecycle hooks (v0.5.6):
202
+ 14 Claude Code lifecycle hooks (v0.5.8):
203
203
 
204
204
  | Event | Hook | What it does |
205
205
  |-------|------|-------------|
@@ -1 +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"}
1
+ {"version":3,"file":"cc-memory-bulk-sync.d.ts","sourceRoot":"","sources":["../../scripts/cc-memory-bulk-sync.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG;AAaH,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,CAmFZ"}
@@ -18,6 +18,7 @@ const fs_1 = __importDefault(require("fs"));
18
18
  const path_1 = __importDefault(require("path"));
19
19
  const os_1 = __importDefault(require("os"));
20
20
  const constants_js_1 = require("./lib/constants.js");
21
+ const sync_helpers_js_1 = require("./lib/sync-helpers.js");
21
22
  // ── Discovery ─────────────────────────────────────────────────────────
22
23
  /**
23
24
  * Discover CC memory files under {claudeDir}/projects\/*\/memory\/*.md.
@@ -94,13 +95,7 @@ function syncToDb(dbPath, files, mindloreDir) {
94
95
  const memoryDestDir = path_1.default.join(mindloreDir, 'memory');
95
96
  fs_1.default.mkdirSync(memoryDestDir, { recursive: true });
96
97
  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
- `);
98
+ const upsertHash = db.prepare(sync_helpers_js_1.UPSERT_HASH_SQL);
104
99
  const deleteFts = db.prepare('DELETE FROM mindlore_fts WHERE path = ?');
105
100
  const now = new Date().toISOString();
106
101
  const transaction = db.transaction(() => {
@@ -139,7 +134,7 @@ function syncToDb(dbPath, files, mindloreDir) {
139
134
  });
140
135
  // Copy file before DB write — if copy fails, DB stays clean
141
136
  fs_1.default.copyFileSync(srcPath, destPath);
142
- upsertHash.run(destPath, hash, now);
137
+ upsertHash.run(destPath, hash, now, constants_js_1.CC_MEMORY_CATEGORY);
143
138
  result.synced++;
144
139
  }
145
140
  catch (err) {
@@ -156,13 +151,9 @@ function syncToDb(dbPath, files, mindloreDir) {
156
151
  const isMain = typeof require !== 'undefined' && require.main === module;
157
152
  if (isMain) {
158
153
  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);
154
+ const claudeDir = (0, sync_helpers_js_1.getArg)(args, '--claude-dir') ?? path_1.default.join(os_1.default.homedir(), '.claude');
155
+ const mindloreDir = (0, sync_helpers_js_1.getArg)(args, '--mindlore-dir') ?? constants_js_1.GLOBAL_MINDLORE_DIR;
156
+ const dbPath = (0, sync_helpers_js_1.getArg)(args, '--db') ?? path_1.default.join(mindloreDir, constants_js_1.DB_NAME);
166
157
  const files = discoverCcMemoryFiles(claudeDir);
167
158
  console.log(` Discovered ${files.length} CC memory file(s)`);
168
159
  const result = syncToDb(dbPath, files, mindloreDir);
@@ -1 +1 @@
1
- {"version":3,"file":"cc-memory-bulk-sync.js","sourceRoot":"","sources":["../../scripts/cc-memory-bulk-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cc-memory-bulk-sync.js","sourceRoot":"","sources":["../../scripts/cc-memory-bulk-sync.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * cc-session-sync — Convert CC JSONL session transcripts to searchable MD files.
4
+ *
5
+ * Discovers ~/.claude/projects/*\/*.jsonl, extracts user+assistant messages,
6
+ * writes to .mindlore/raw/sessions/{project}/{date}-{uuid}.md.
7
+ * Idempotent via SHA256 content-hash + mtime short-circuit. Skips active session.
8
+ *
9
+ * Usage: node dist/scripts/cc-session-sync.js [--claude-dir <path>] [--mindlore-dir <path>] [--db <path>]
10
+ */
11
+ export interface SessionSyncResult {
12
+ synced: number;
13
+ skipped: number;
14
+ errors: string[];
15
+ }
16
+ export interface SessionFile {
17
+ jsonlPath: string;
18
+ sessionId: string;
19
+ projectName: string;
20
+ mtime: Date;
21
+ }
22
+ export declare function discoverSessionFiles(claudeDir: string): SessionFile[];
23
+ export interface SessionConversion {
24
+ md: string;
25
+ date: string;
26
+ userCount: number;
27
+ assistantCount: number;
28
+ isSubagent: boolean;
29
+ }
30
+ export declare function convertJsonlToMd(jsonlPath: string, projectName: string): SessionConversion;
31
+ export declare function syncSessions(dbPath: string, sessions: SessionFile[], mindloreDir: string): SessionSyncResult;
32
+ //# sourceMappingURL=cc-session-sync.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,289 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ /**
4
+ * cc-session-sync — Convert CC JSONL session transcripts to searchable MD files.
5
+ *
6
+ * Discovers ~/.claude/projects/*\/*.jsonl, extracts user+assistant messages,
7
+ * writes to .mindlore/raw/sessions/{project}/{date}-{uuid}.md.
8
+ * Idempotent via SHA256 content-hash + mtime short-circuit. Skips active session.
9
+ *
10
+ * Usage: node dist/scripts/cc-session-sync.js [--claude-dir <path>] [--mindlore-dir <path>] [--db <path>]
11
+ */
12
+ var __importDefault = (this && this.__importDefault) || function (mod) {
13
+ return (mod && mod.__esModule) ? mod : { "default": mod };
14
+ };
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.discoverSessionFiles = discoverSessionFiles;
17
+ exports.convertJsonlToMd = convertJsonlToMd;
18
+ exports.syncSessions = syncSessions;
19
+ const fs_1 = __importDefault(require("fs"));
20
+ const path_1 = __importDefault(require("path"));
21
+ const os_1 = __importDefault(require("os"));
22
+ const constants_js_1 = require("./lib/constants.js");
23
+ const privacy_filter_js_1 = require("./lib/privacy-filter.js");
24
+ const sync_helpers_js_1 = require("./lib/sync-helpers.js");
25
+ function discoverSessionFiles(claudeDir) {
26
+ const projectsDir = path_1.default.join(claudeDir, 'projects');
27
+ if (!fs_1.default.existsSync(projectsDir))
28
+ return [];
29
+ const results = [];
30
+ let projectEntries;
31
+ try {
32
+ projectEntries = fs_1.default.readdirSync(projectsDir, { withFileTypes: true });
33
+ }
34
+ catch {
35
+ return [];
36
+ }
37
+ for (const entry of projectEntries) {
38
+ if (!entry.isDirectory())
39
+ continue;
40
+ const projDir = path_1.default.join(projectsDir, entry.name);
41
+ let files;
42
+ try {
43
+ files = fs_1.default.readdirSync(projDir, { withFileTypes: true });
44
+ }
45
+ catch {
46
+ continue;
47
+ }
48
+ for (const f of files) {
49
+ // Flat JSONL: projects/{project}/{session-id}.jsonl
50
+ if (f.isFile() && f.name.endsWith('.jsonl')) {
51
+ const sessionId = f.name.replace('.jsonl', '');
52
+ const fullPath = path_1.default.join(projDir, f.name);
53
+ const stat = fs_1.default.statSync(fullPath);
54
+ results.push({ jsonlPath: fullPath, sessionId, projectName: entry.name, mtime: stat.mtime });
55
+ continue;
56
+ }
57
+ // Nested UUID dir: projects/{project}/{uuid}/subagents/*.jsonl
58
+ if (f.isDirectory() && f.name !== 'memory') {
59
+ const subagentsDir = path_1.default.join(projDir, f.name, 'subagents');
60
+ let subFiles;
61
+ try {
62
+ subFiles = fs_1.default.readdirSync(subagentsDir, { withFileTypes: true });
63
+ }
64
+ catch {
65
+ continue;
66
+ }
67
+ for (const sf of subFiles) {
68
+ if (!sf.isFile() || !sf.name.endsWith('.jsonl'))
69
+ continue;
70
+ const sessionId = sf.name.replace('.jsonl', '');
71
+ const fullPath = path_1.default.join(subagentsDir, sf.name);
72
+ const stat = fs_1.default.statSync(fullPath);
73
+ results.push({ jsonlPath: fullPath, sessionId, projectName: entry.name, mtime: stat.mtime });
74
+ }
75
+ }
76
+ }
77
+ }
78
+ return results;
79
+ }
80
+ // ── JSONL → MD Conversion ─────────────────────────────────────────────
81
+ function projectSlug(projectName) {
82
+ const prefixMatch = projectName.match(/^C--Users-([^-]+)-(.*)$/);
83
+ if (!prefixMatch?.[2])
84
+ return projectName;
85
+ const rest = prefixMatch[2];
86
+ const KNOWN_USER_DIRS = ['Desktop', 'Documents', 'Downloads', 'Projects', 'dev'];
87
+ for (const loc of KNOWN_USER_DIRS) {
88
+ if (rest.startsWith(loc + '-')) {
89
+ return rest.substring(loc.length + 1);
90
+ }
91
+ }
92
+ return rest.replace(/^-+/, '') || projectName;
93
+ }
94
+ function extractSessionMeta(lines) {
95
+ let date = 'unknown';
96
+ let branch = '';
97
+ let cwd = '';
98
+ let startTime = '';
99
+ for (const line of lines.slice(0, 20)) {
100
+ try {
101
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- JSON.parse returns unknown
102
+ const obj = JSON.parse(line);
103
+ if (obj.timestamp && date === 'unknown') {
104
+ date = obj.timestamp.substring(0, 10);
105
+ startTime = obj.timestamp;
106
+ }
107
+ if (obj.gitBranch && !branch)
108
+ branch = obj.gitBranch;
109
+ if (obj.cwd && !cwd)
110
+ cwd = obj.cwd;
111
+ }
112
+ catch {
113
+ continue;
114
+ }
115
+ }
116
+ return { date, branch, cwd, startTime };
117
+ }
118
+ function convertJsonlToMd(jsonlPath, projectName) {
119
+ const raw = fs_1.default.readFileSync(jsonlPath, 'utf8').replace(/\r\n/g, '\n');
120
+ const lines = raw.trim().split('\n');
121
+ const meta = extractSessionMeta(lines);
122
+ const slug = projectSlug(projectName);
123
+ const sessionId = path_1.default.basename(jsonlPath, '.jsonl');
124
+ const isSubagent = sessionId.startsWith('agent-');
125
+ const mdParts = [];
126
+ let userCount = 0;
127
+ let assistantCount = 0;
128
+ for (const line of lines) {
129
+ let obj;
130
+ try {
131
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- JSON.parse returns unknown
132
+ obj = JSON.parse(line);
133
+ }
134
+ catch {
135
+ continue;
136
+ }
137
+ if (obj.type === 'user' || obj.type === 'assistant') {
138
+ const content = obj.message?.content;
139
+ const role = obj.type === 'user' ? 'User' : 'Assistant';
140
+ const texts = [];
141
+ if (typeof content === 'string' && content.trim()) {
142
+ texts.push(content.trim());
143
+ }
144
+ else if (Array.isArray(content)) {
145
+ for (const block of content) {
146
+ if (block.type === 'text' && block.text?.trim()) {
147
+ texts.push(block.text.trim());
148
+ }
149
+ }
150
+ }
151
+ for (const text of texts) {
152
+ const cleaned = (0, privacy_filter_js_1.redactSecrets)(text);
153
+ mdParts.push(`## ${role}\n\n${cleaned}\n`);
154
+ if (obj.type === 'user')
155
+ userCount++;
156
+ else
157
+ assistantCount++;
158
+ }
159
+ }
160
+ }
161
+ const frontmatter = [
162
+ '---',
163
+ `type: raw`,
164
+ `project: ${slug}`,
165
+ `session_id: ${sessionId}`,
166
+ `date: ${meta.date}`,
167
+ meta.startTime ? `start_time: ${meta.startTime}` : null,
168
+ meta.branch ? `branch: ${meta.branch}` : null,
169
+ `messages: ${userCount} user, ${assistantCount} assistant`,
170
+ `category: ${isSubagent ? 'cc-subagent' : 'cc-session'}`,
171
+ '---',
172
+ '',
173
+ `# ${isSubagent ? 'Subagent' : 'Session'} ${meta.date} — ${slug}`,
174
+ '',
175
+ ].filter(Boolean).join('\n');
176
+ const md = frontmatter + mdParts.join('\n');
177
+ return { md, date: meta.date, userCount, assistantCount, isSubagent };
178
+ }
179
+ // ── Sync ──────────────────────────────────────────────────────────────
180
+ function sessionShortId(sessionId) {
181
+ return sessionId.startsWith('agent-') ? sessionId.slice(-8) : sessionId.substring(0, 8);
182
+ }
183
+ // Skip files modified in the last 2 minutes — active session still being written to.
184
+ // Session-end hook runs after close, so 2 min is generous; CLI invocations benefit from a small guard.
185
+ const ACTIVE_SESSION_THRESHOLD_MS = 2 * 60 * 1000;
186
+ function syncSessions(dbPath, sessions, mindloreDir) {
187
+ const result = { synced: 0, skipped: 0, errors: [] };
188
+ if (sessions.length === 0)
189
+ return result;
190
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- resolveHookCommon validated at startup
191
+ const common = require((0, constants_js_1.resolveHookCommon)(__dirname));
192
+ const { sha256, insertFtsRow, openDatabase } = common;
193
+ const db = openDatabase(dbPath);
194
+ if (!db) {
195
+ result.errors.push(`Cannot open DB at ${dbPath}`);
196
+ return result;
197
+ }
198
+ const getHash = db.prepare('SELECT content_hash, last_indexed FROM file_hashes WHERE path = ?');
199
+ const upsertHash = db.prepare(sync_helpers_js_1.UPSERT_HASH_SQL);
200
+ const deleteFts = db.prepare('DELETE FROM mindlore_fts WHERE path = ?');
201
+ const now = new Date();
202
+ const nowIso = now.toISOString();
203
+ const syncOne = db.transaction((session, slug, shortId) => {
204
+ const { md, date: sessionDate, userCount, assistantCount, isSubagent } = convertJsonlToMd(session.jsonlPath, session.projectName);
205
+ if (userCount === 0 && assistantCount === 0) {
206
+ result.skipped++;
207
+ return;
208
+ }
209
+ const hash = sha256(md);
210
+ const destDir = path_1.default.join(mindloreDir, 'raw', 'sessions', slug);
211
+ fs_1.default.mkdirSync(destDir, { recursive: true });
212
+ const destPath = path_1.default.join(destDir, `${sessionDate}-${shortId}.md`);
213
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- get() returns unknown
214
+ const existing = getHash.get(destPath);
215
+ if (existing && existing.content_hash === hash) {
216
+ result.skipped++;
217
+ return;
218
+ }
219
+ fs_1.default.writeFileSync(destPath, md, 'utf8');
220
+ const category = isSubagent ? constants_js_1.CC_SUBAGENT_CATEGORY : constants_js_1.CC_SESSION_CATEGORY;
221
+ deleteFts.run(destPath);
222
+ insertFtsRow(db, {
223
+ path: destPath,
224
+ slug: `session-${sessionDate}-${shortId}`,
225
+ description: `CC ${isSubagent ? 'subagent' : 'session'} transcript — ${slug} — ${sessionDate}`,
226
+ type: 'raw',
227
+ category,
228
+ title: `${isSubagent ? 'Subagent' : 'Session'} ${sessionDate} — ${slug}`,
229
+ content: md,
230
+ tags: `${isSubagent ? 'subagent' : 'session'},${slug},transcript`,
231
+ dateCaptured: sessionDate,
232
+ project: slug,
233
+ });
234
+ upsertHash.run(destPath, hash, nowIso, category);
235
+ result.synced++;
236
+ });
237
+ for (const session of sessions) {
238
+ const slug = projectSlug(session.projectName);
239
+ const shortId = sessionShortId(session.sessionId);
240
+ try {
241
+ const ageMs = now.getTime() - session.mtime.getTime();
242
+ if (ageMs < ACTIVE_SESSION_THRESHOLD_MS) {
243
+ result.skipped++;
244
+ continue;
245
+ }
246
+ // mtime short-circuit: skip if source file hasn't changed since last sync
247
+ const destDir = path_1.default.join(mindloreDir, 'raw', 'sessions', slug);
248
+ const matchingFiles = fs_1.default.existsSync(destDir)
249
+ ? fs_1.default.readdirSync(destDir).filter(f => f.includes(shortId))
250
+ : [];
251
+ const firstMatch = matchingFiles[0];
252
+ if (firstMatch) {
253
+ const existingPath = path_1.default.join(destDir, firstMatch);
254
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- get() returns unknown
255
+ const cached = getHash.get(existingPath);
256
+ if (cached && session.mtime <= new Date(cached.last_indexed)) {
257
+ result.skipped++;
258
+ continue;
259
+ }
260
+ }
261
+ syncOne(session, slug, shortId);
262
+ }
263
+ catch (err) {
264
+ const msg = err instanceof Error ? err.message : String(err);
265
+ result.errors.push(`${shortId}: ${msg}`);
266
+ }
267
+ }
268
+ db.close();
269
+ return result;
270
+ }
271
+ // ── CLI ───────────────────────────────────────────────────────────────
272
+ const isMain = typeof require !== 'undefined' && require.main === module;
273
+ if (isMain) {
274
+ const args = process.argv.slice(2);
275
+ const claudeDir = (0, sync_helpers_js_1.getArg)(args, '--claude-dir') ?? path_1.default.join(os_1.default.homedir(), '.claude');
276
+ const mindloreDir = (0, sync_helpers_js_1.getArg)(args, '--mindlore-dir') ?? constants_js_1.GLOBAL_MINDLORE_DIR;
277
+ const dbPath = (0, sync_helpers_js_1.getArg)(args, '--db') ?? path_1.default.join(mindloreDir, constants_js_1.DB_NAME);
278
+ const sessions = discoverSessionFiles(claudeDir);
279
+ console.log(` Discovered ${sessions.length} session file(s)`);
280
+ const result = syncSessions(dbPath, sessions, mindloreDir);
281
+ console.log(` Synced: ${result.synced}, Skipped: ${result.skipped}, Errors: ${result.errors.length}`);
282
+ if (result.errors.length > 0) {
283
+ for (const e of result.errors) {
284
+ console.error(` ERROR: ${e}`);
285
+ }
286
+ process.exit(1);
287
+ }
288
+ }
289
+ //# sourceMappingURL=cc-session-sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cc-session-sync.js","sourceRoot":"","sources":["../../scripts/cc-session-sync.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,8 @@ export declare const TYPE_TO_DIR: Record<string, string>;
28
28
  export declare const CC_MEMORY_PATH_MARKER: string;
29
29
  export declare const CC_MEMORY_DIR = "memory";
30
30
  export declare const CC_MEMORY_CATEGORY = "cc-memory";
31
+ export declare const CC_SESSION_CATEGORY = "cc-session";
32
+ export declare const CC_SUBAGENT_CATEGORY = "cc-subagent";
31
33
  export declare const CC_MEMORY_BOOST = 1.2;
32
34
  export declare function homedir(): string;
33
35
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../scripts/lib/constants.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,YAAY,cAAc,CAAC;AACxC,eAAO,MAAM,mBAAmB,QAAqE,CAAC;AACtG,eAAO,MAAM,OAAO,gBAAgB,CAAC;AAErC,eAAO,MAAM,WAAW,oIAYd,CAAC;AAEX,eAAO,MAAM,UAAU,aAA+C,CAAC;AAEvE,eAAO,MAAM,WAAW,gBAAgB,CAAC;AAEzC,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKxC,CAAC;AAEX,eAAO,MAAM,cAAc,kBAAkB,CAAC;AAC9C,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,oBAAoB,iCAAiC,CAAC;AACnE,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC,eAAO,MAAM,YAAY,iIAAkI,CAAC;AAC5J,MAAM,MAAM,SAAS,GAAG,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAEpD,eAAO,MAAM,iBAAiB,gKAAiK,CAAC;AAChM,MAAM,MAAM,eAAe,GAAG,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAE/D,eAAO,MAAM,cAAc,oCAAqC,CAAC;AACjE,MAAM,MAAM,YAAY,GAAG,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;AAEzD;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAS3D,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAe9C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,QAAmC,CAAC;AACtE,eAAO,MAAM,aAAa,WAAW,CAAC;AACtC,eAAO,MAAM,kBAAkB,cAAc,CAAC;AAC9C,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,wBAAgB,OAAO,IAAI,MAAM,CAEhC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,MAAM,EAAE,CAIpC;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAErC;AAID,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACpC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAU3D;AAOD,wBAAgB,aAAa,IAAI,OAAO,CAWvC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAO9C;AAED,eAAO,MAAM,oBAAoB;;;;CAIvB,CAAC;AAGX,eAAO,MAAM,WAAW,cAAc,CAAC;AACvC,eAAO,MAAM,gBAAgB,QAAyD,CAAC;AACvF,eAAO,MAAM,eAAe,QAAwD,CAAC;AACrF,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC,eAAO,MAAM,uBAAuB,KAAK,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../scripts/lib/constants.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.CONSOLIDATION_THRESHOLD = exports.STALE_THRESHOLD = exports.DECAY_HALF_LIFE_DAYS = exports.DAEMON_TIMEOUT_MS = exports.DAEMON_PID_FILE = exports.DAEMON_PORT_FILE = exports.DAEMON_HOST = exports.DEFAULT_TOKEN_BUDGET = exports.CC_MEMORY_BOOST = exports.CC_MEMORY_CATEGORY = exports.CC_MEMORY_DIR = exports.CC_MEMORY_PATH_MARKER = exports.TYPE_TO_DIR = exports.QUALITY_HEURISTICS = exports.QUALITY_VALUES = exports.FRONTMATTER_TYPES = exports.FTS5_COLUMNS = exports.EMBEDDING_DIM_CONST = exports.EMBEDDING_MODEL_NAME = exports.SCHEMA_VERSION = exports.VEC_TABLE_NAME = exports.DEFAULT_MODELS = exports.CONFIG_FILE = exports.SKIP_FILES = exports.DIRECTORIES = exports.DB_NAME = exports.GLOBAL_MINDLORE_DIR = exports.MINDLORE_DIR = void 0;
6
+ exports.CONSOLIDATION_THRESHOLD = exports.STALE_THRESHOLD = exports.DECAY_HALF_LIFE_DAYS = exports.DAEMON_TIMEOUT_MS = exports.DAEMON_PID_FILE = exports.DAEMON_PORT_FILE = exports.DAEMON_HOST = exports.DEFAULT_TOKEN_BUDGET = exports.CC_MEMORY_BOOST = exports.CC_SUBAGENT_CATEGORY = exports.CC_SESSION_CATEGORY = exports.CC_MEMORY_CATEGORY = exports.CC_MEMORY_DIR = exports.CC_MEMORY_PATH_MARKER = exports.TYPE_TO_DIR = exports.QUALITY_HEURISTICS = exports.QUALITY_VALUES = exports.FRONTMATTER_TYPES = exports.FTS5_COLUMNS = exports.EMBEDDING_DIM_CONST = exports.EMBEDDING_MODEL_NAME = exports.SCHEMA_VERSION = exports.VEC_TABLE_NAME = exports.DEFAULT_MODELS = exports.CONFIG_FILE = exports.SKIP_FILES = exports.DIRECTORIES = exports.DB_NAME = exports.GLOBAL_MINDLORE_DIR = exports.MINDLORE_DIR = void 0;
7
7
  exports.homedir = homedir;
8
8
  exports.getActiveMindloreDir = getActiveMindloreDir;
9
9
  exports.getAllDbs = getAllDbs;
@@ -84,6 +84,8 @@ exports.TYPE_TO_DIR = {
84
84
  exports.CC_MEMORY_PATH_MARKER = path_1.default.join('.claude', 'projects');
85
85
  exports.CC_MEMORY_DIR = 'memory';
86
86
  exports.CC_MEMORY_CATEGORY = 'cc-memory';
87
+ exports.CC_SESSION_CATEGORY = 'cc-session';
88
+ exports.CC_SUBAGENT_CATEGORY = 'cc-subagent';
87
89
  exports.CC_MEMORY_BOOST = 1.2;
88
90
  function homedir() {
89
91
  return os_1.default.homedir();
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../scripts/lib/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../scripts/lib/constants.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"privacy-filter.d.ts","sourceRoot":"","sources":["../../../scripts/lib/privacy-filter.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,EAAE,MAAM,EAUpC,CAAC;AAIF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAW5E"}
1
+ {"version":3,"file":"privacy-filter.d.ts","sourceRoot":"","sources":["../../../scripts/lib/privacy-filter.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,gBAAgB,EAAE,MAAM,EAGpC,CAAC;AAEF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAoB5E"}
@@ -2,24 +2,42 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DEFAULT_PATTERNS = void 0;
4
4
  exports.redactSecrets = redactSecrets;
5
- exports.DEFAULT_PATTERNS = [
6
- /sk-(?:proj-)?[A-Za-z0-9_-]{20,}/g,
7
- /AKIA[0-9A-Z]{16}/g,
8
- /ghp_[A-Za-z0-9]{36,}/g,
9
- /gho_[A-Za-z0-9]{36,}/g,
10
- /github_pat_[A-Za-z0-9_]{22,}/g,
11
- /npm_[A-Za-z0-9]{36,}/g,
12
- /xox[bporas]-[A-Za-z0-9-]{10,}/g,
13
- /(?:postgres|mysql|mongodb|redis|amqp):\/\/[^\s"']+/g,
5
+ const REPLACEMENT = '[REDACTED]';
6
+ const PATTERN_PREFIXES = [
7
+ { prefix: 'sk-', pattern: /sk-(?:proj-|ant-)?[A-Za-z0-9_-]{20,}/g },
8
+ { prefix: 'AKIA', pattern: /AKIA[0-9A-Z]{16}/g },
9
+ { prefix: 'ghp_', pattern: /ghp_[A-Za-z0-9]{36,}/g },
10
+ { prefix: 'gho_', pattern: /gho_[A-Za-z0-9]{36,}/g },
11
+ { prefix: 'github_pat_', pattern: /github_pat_[A-Za-z0-9_]{22,}/g },
12
+ { prefix: 'npm_', pattern: /npm_[A-Za-z0-9]{36,}/g },
13
+ { prefix: 'xox', pattern: /xox[bporas]-[A-Za-z0-9-]{10,}/g },
14
+ { prefix: 'eyJ', pattern: /eyJ[a-zA-Z0-9_\-]{20,}\.[a-zA-Z0-9_\-]{20,}\.[a-zA-Z0-9_\-]{20,}/g },
15
+ { prefix: 'AIza', pattern: /AIza[0-9A-Za-z_\-]{30,}/g },
16
+ { prefix: 'sk_live_', pattern: /sk_live_[a-zA-Z0-9]{20,}/g },
17
+ { prefix: 'pk_live_', pattern: /pk_live_[a-zA-Z0-9]{20,}/g },
18
+ { prefix: 'Bearer', pattern: /Bearer\s+[a-zA-Z0-9\-._~+/]+=*/g },
19
+ { prefix: '-----BEGIN', pattern: /-----BEGIN\s(?:RSA\s|EC\s|DSA\s|OPENSSH\s)?PRIVATE\sKEY-----/g },
20
+ ];
21
+ const NO_PREFIX_PATTERNS = [
22
+ /(?:postgres|mysql|mongodb|redis|amqp)(?:\+srv)?:\/\/[^\s"']+/g,
14
23
  /(?:PASSWORD|SECRET|TOKEN|API_KEY|PRIVATE_KEY|DATABASE_URL|DB_PASSWORD|AUTH_TOKEN|ACCESS_KEY|SECRET_KEY)=\S+/gi,
15
24
  ];
16
- const REPLACEMENT = '[REDACTED]';
25
+ exports.DEFAULT_PATTERNS = [
26
+ ...PATTERN_PREFIXES.map(p => p.pattern),
27
+ ...NO_PREFIX_PATTERNS,
28
+ ];
17
29
  function redactSecrets(text, extraPatterns) {
18
30
  let result = text;
19
- const patterns = extraPatterns
20
- ? [...exports.DEFAULT_PATTERNS, ...extraPatterns]
21
- : exports.DEFAULT_PATTERNS;
22
- for (const pattern of patterns) {
31
+ for (const { prefix, pattern } of PATTERN_PREFIXES) {
32
+ if (result.includes(prefix)) {
33
+ pattern.lastIndex = 0;
34
+ result = result.replace(pattern, REPLACEMENT);
35
+ }
36
+ }
37
+ const remaining = extraPatterns
38
+ ? [...NO_PREFIX_PATTERNS, ...extraPatterns]
39
+ : NO_PREFIX_PATTERNS;
40
+ for (const pattern of remaining) {
23
41
  pattern.lastIndex = 0;
24
42
  result = result.replace(pattern, REPLACEMENT);
25
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"privacy-filter.js","sourceRoot":"","sources":["../../../scripts/lib/privacy-filter.ts"],"names":[],"mappings":";;;AAcA,sCAWC;AAzBY,QAAA,gBAAgB,GAAa;IACxC,kCAAkC;IAClC,mBAAmB;IACnB,uBAAuB;IACvB,uBAAuB;IACvB,+BAA+B;IAC/B,uBAAuB;IACvB,gCAAgC;IAChC,qDAAqD;IACrD,+GAA+G;CAChH,CAAC;AAEF,MAAM,WAAW,GAAG,YAAY,CAAC;AAEjC,SAAgB,aAAa,CAAC,IAAY,EAAE,aAAwB;IAClE,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,MAAM,QAAQ,GAAG,aAAa;QAC5B,CAAC,CAAC,CAAC,GAAG,wBAAgB,EAAE,GAAG,aAAa,CAAC;QACzC,CAAC,CAAC,wBAAgB,CAAC;IAErB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;QACtB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"privacy-filter.js","sourceRoot":"","sources":["../../../scripts/lib/privacy-filter.ts"],"names":[],"mappings":";;;AA4BA,sCAoBC;AAhDD,MAAM,WAAW,GAAG,YAAY,CAAC;AAEjC,MAAM,gBAAgB,GAA+C;IACnE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,uCAAuC,EAAE;IACnE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE;IAChD,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,EAAE;IACpD,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,EAAE;IACpD,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,+BAA+B,EAAE;IACnE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,EAAE;IACpD,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,gCAAgC,EAAE;IAC5D,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,mEAAmE,EAAE;IAC/F,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,0BAA0B,EAAE;IACvD,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,2BAA2B,EAAE;IAC5D,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,2BAA2B,EAAE;IAC5D,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,iCAAiC,EAAE;IAChE,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,+DAA+D,EAAE;CACnG,CAAC;AAEF,MAAM,kBAAkB,GAAa;IACnC,+DAA+D;IAC/D,+GAA+G;CAChH,CAAC;AAEW,QAAA,gBAAgB,GAAa;IACxC,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IACvC,GAAG,kBAAkB;CACtB,CAAC;AAEF,SAAgB,aAAa,CAAC,IAAY,EAAE,aAAwB;IAClE,IAAI,MAAM,GAAG,IAAI,CAAC;IAElB,KAAK,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,gBAAgB,EAAE,CAAC;QACnD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;YACtB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,aAAa;QAC7B,CAAC,CAAC,CAAC,GAAG,kBAAkB,EAAE,GAAG,aAAa,CAAC;QAC3C,CAAC,CAAC,kBAAkB,CAAC;IAEvB,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;QAChC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;QACtB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,37 @@
1
+ import type Database from 'better-sqlite3';
2
+ export interface CommonModuleBase {
3
+ sha256: (content: string) => string;
4
+ insertFtsRow: (db: Database.Database, entry: {
5
+ path: string;
6
+ slug?: string;
7
+ description?: string;
8
+ type?: string;
9
+ category?: string;
10
+ title?: string;
11
+ content?: string;
12
+ tags?: string;
13
+ quality?: string | null;
14
+ dateCaptured?: string | null;
15
+ project?: string | null;
16
+ }) => void;
17
+ openDatabase: (dbPath: string) => Database.Database | null;
18
+ }
19
+ export interface CommonModuleWithFrontmatter extends CommonModuleBase {
20
+ parseFrontmatter: (content: string) => {
21
+ meta: Record<string, string>;
22
+ body: string;
23
+ };
24
+ extractFtsMetadata: (meta: Record<string, string>, body: string, filePath: string, baseDir: string) => {
25
+ slug: string;
26
+ description: string;
27
+ type: string;
28
+ category: string;
29
+ title: string;
30
+ tags: string;
31
+ quality: string | null;
32
+ dateCaptured: string | null;
33
+ };
34
+ }
35
+ export declare const UPSERT_HASH_SQL = "\n INSERT INTO file_hashes (path, content_hash, last_indexed, source_type)\n VALUES (?, ?, ?, ?)\n ON CONFLICT(path) DO UPDATE SET\n content_hash = excluded.content_hash,\n last_indexed = excluded.last_indexed,\n source_type = excluded.source_type\n";
36
+ export declare function getArg(args: string[], flag: string): string | undefined;
37
+ //# sourceMappingURL=sync-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-helpers.d.ts","sourceRoot":"","sources":["../../../scripts/lib/sync-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IACpC,YAAY,EAAE,CACZ,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACzB,KACE,IAAI,CAAC;IACV,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;CAC5D;AAED,MAAM,WAAW,2BAA4B,SAAQ,gBAAgB;IACnE,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK;QAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACtF,kBAAkB,EAAE,CAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,KACZ;QACH,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;KAC7B,CAAC;CACH;AAED,eAAO,MAAM,eAAe,0QAO3B,CAAC;AAEF,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGvE"}