@nocoo/pew 0.7.0 → 0.9.0

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 (91) hide show
  1. package/dist/cli.d.ts.map +1 -1
  2. package/dist/cli.js +30 -1
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/notify.d.ts +7 -2
  5. package/dist/commands/notify.d.ts.map +1 -1
  6. package/dist/commands/notify.js +48 -10
  7. package/dist/commands/notify.js.map +1 -1
  8. package/dist/commands/session-sync.d.ts +12 -0
  9. package/dist/commands/session-sync.d.ts.map +1 -1
  10. package/dist/commands/session-sync.js +99 -311
  11. package/dist/commands/session-sync.js.map +1 -1
  12. package/dist/commands/sync.d.ts.map +1 -1
  13. package/dist/commands/sync.js +112 -330
  14. package/dist/commands/sync.js.map +1 -1
  15. package/dist/drivers/registry.d.ts +63 -0
  16. package/dist/drivers/registry.d.ts.map +1 -0
  17. package/dist/drivers/registry.js +88 -0
  18. package/dist/drivers/registry.js.map +1 -0
  19. package/dist/drivers/session/claude-session-driver.d.ts +10 -0
  20. package/dist/drivers/session/claude-session-driver.d.ts.map +1 -0
  21. package/dist/drivers/session/claude-session-driver.js +29 -0
  22. package/dist/drivers/session/claude-session-driver.js.map +1 -0
  23. package/dist/drivers/session/codex-session-driver.d.ts +10 -0
  24. package/dist/drivers/session/codex-session-driver.d.ts.map +1 -0
  25. package/dist/drivers/session/codex-session-driver.js +29 -0
  26. package/dist/drivers/session/codex-session-driver.js.map +1 -0
  27. package/dist/drivers/session/gemini-session-driver.d.ts +10 -0
  28. package/dist/drivers/session/gemini-session-driver.d.ts.map +1 -0
  29. package/dist/drivers/session/gemini-session-driver.js +29 -0
  30. package/dist/drivers/session/gemini-session-driver.js.map +1 -0
  31. package/dist/drivers/session/openclaw-session-driver.d.ts +10 -0
  32. package/dist/drivers/session/openclaw-session-driver.d.ts.map +1 -0
  33. package/dist/drivers/session/openclaw-session-driver.js +29 -0
  34. package/dist/drivers/session/openclaw-session-driver.js.map +1 -0
  35. package/dist/drivers/session/opencode-json-session-driver.d.ts +14 -0
  36. package/dist/drivers/session/opencode-json-session-driver.d.ts.map +1 -0
  37. package/dist/drivers/session/opencode-json-session-driver.js +51 -0
  38. package/dist/drivers/session/opencode-json-session-driver.js.map +1 -0
  39. package/dist/drivers/session/opencode-sqlite-session-driver.d.ts +23 -0
  40. package/dist/drivers/session/opencode-sqlite-session-driver.d.ts.map +1 -0
  41. package/dist/drivers/session/opencode-sqlite-session-driver.js +88 -0
  42. package/dist/drivers/session/opencode-sqlite-session-driver.js.map +1 -0
  43. package/dist/drivers/token/claude-token-driver.d.ts +11 -0
  44. package/dist/drivers/token/claude-token-driver.d.ts.map +1 -0
  45. package/dist/drivers/token/claude-token-driver.js +42 -0
  46. package/dist/drivers/token/claude-token-driver.js.map +1 -0
  47. package/dist/drivers/token/codex-token-driver.d.ts +11 -0
  48. package/dist/drivers/token/codex-token-driver.d.ts.map +1 -0
  49. package/dist/drivers/token/codex-token-driver.js +59 -0
  50. package/dist/drivers/token/codex-token-driver.js.map +1 -0
  51. package/dist/drivers/token/gemini-token-driver.d.ts +11 -0
  52. package/dist/drivers/token/gemini-token-driver.d.ts.map +1 -0
  53. package/dist/drivers/token/gemini-token-driver.js +57 -0
  54. package/dist/drivers/token/gemini-token-driver.js.map +1 -0
  55. package/dist/drivers/token/openclaw-token-driver.d.ts +11 -0
  56. package/dist/drivers/token/openclaw-token-driver.d.ts.map +1 -0
  57. package/dist/drivers/token/openclaw-token-driver.js +42 -0
  58. package/dist/drivers/token/openclaw-token-driver.js.map +1 -0
  59. package/dist/drivers/token/opencode-json-token-driver.d.ts +15 -0
  60. package/dist/drivers/token/opencode-json-token-driver.d.ts.map +1 -0
  61. package/dist/drivers/token/opencode-json-token-driver.js +73 -0
  62. package/dist/drivers/token/opencode-json-token-driver.js.map +1 -0
  63. package/dist/drivers/token/opencode-sqlite-token-driver.d.ts +25 -0
  64. package/dist/drivers/token/opencode-sqlite-token-driver.d.ts.map +1 -0
  65. package/dist/drivers/token/opencode-sqlite-token-driver.js +99 -0
  66. package/dist/drivers/token/opencode-sqlite-token-driver.js.map +1 -0
  67. package/dist/drivers/types.d.ts +202 -0
  68. package/dist/drivers/types.d.ts.map +1 -0
  69. package/dist/drivers/types.js +12 -0
  70. package/dist/drivers/types.js.map +1 -0
  71. package/dist/notifier/coordinator.d.ts +3 -2
  72. package/dist/notifier/coordinator.d.ts.map +1 -1
  73. package/dist/notifier/coordinator.js +76 -5
  74. package/dist/notifier/coordinator.js.map +1 -1
  75. package/dist/storage/base-cursor-store.d.ts +16 -0
  76. package/dist/storage/base-cursor-store.d.ts.map +1 -0
  77. package/dist/storage/base-cursor-store.js +33 -0
  78. package/dist/storage/base-cursor-store.js.map +1 -0
  79. package/dist/storage/cursor-store.d.ts +2 -6
  80. package/dist/storage/cursor-store.d.ts.map +1 -1
  81. package/dist/storage/cursor-store.js +4 -25
  82. package/dist/storage/cursor-store.js.map +1 -1
  83. package/dist/storage/session-cursor-store.d.ts +2 -6
  84. package/dist/storage/session-cursor-store.d.ts.map +1 -1
  85. package/dist/storage/session-cursor-store.js +4 -25
  86. package/dist/storage/session-cursor-store.js.map +1 -1
  87. package/dist/utils/file-changed.d.ts +35 -0
  88. package/dist/utils/file-changed.d.ts.map +1 -0
  89. package/dist/utils/file-changed.js +34 -0
  90. package/dist/utils/file-changed.js.map +1 -0
  91. package/package.json +1 -1
@@ -5,21 +5,18 @@
5
5
  * dual-check), collects SessionSnapshots, converts to SessionQueueRecords,
6
6
  * deduplicates, and writes to session queue.
7
7
  *
8
+ * Uses the two-phase driver architecture:
9
+ * Phase 1: File-based drivers (generic discover → stat → skip → parse → cursor loop)
10
+ * Phase 2: DB-based drivers (single run() call)
11
+ *
8
12
  * Fully independent from the token sync pipeline — separate cursors,
9
13
  * separate queue, separate files.
10
14
  */
11
- import { readdir, stat } from "node:fs/promises";
12
- import { join } from "node:path";
15
+ import { stat } from "node:fs/promises";
13
16
  import { SessionCursorStore } from "../storage/session-cursor-store.js";
14
17
  import { SessionQueue } from "../storage/session-queue.js";
15
- import { discoverClaudeFiles, discoverCodexFiles, discoverGeminiFiles, discoverOpenClawFiles, } from "../discovery/sources.js";
16
- import { collectClaudeSessions } from "../parsers/claude-session.js";
17
- import { collectCodexSessions } from "../parsers/codex-session.js";
18
- import { collectGeminiSessions } from "../parsers/gemini-session.js";
19
- import { collectOpenCodeSessions } from "../parsers/opencode-session.js";
20
- import { collectOpenClawSessions } from "../parsers/openclaw-session.js";
21
- import { collectOpenCodeSqliteSessions } from "../parsers/opencode-sqlite-session.js";
22
18
  import { deduplicateSessionRecords } from "./session-upload.js";
19
+ import { createSessionDrivers } from "../drivers/registry.js";
23
20
  // ---------------------------------------------------------------------------
24
21
  // Helpers
25
22
  // ---------------------------------------------------------------------------
@@ -40,33 +37,15 @@ function toQueueRecord(snap) {
40
37
  snapshot_at: snap.snapshotAt,
41
38
  };
42
39
  }
43
- /**
44
- * Check if a file has changed since the last cursor.
45
- * Returns true if the file should be re-scanned (full-scan).
46
- */
47
- function fileChanged(cursor, mtimeMs, size) {
48
- if (!cursor)
49
- return true;
50
- return cursor.mtimeMs !== mtimeMs || cursor.size !== size;
51
- }
52
- /**
53
- * Discover OpenCode session directories.
54
- *
55
- * Lists subdirectories under the message dir (e.g. ses_xxx/).
56
- * Returns absolute paths to session directories.
57
- */
58
- async function discoverOpenCodeSessionDirs(messageDir) {
59
- let entries;
60
- try {
61
- entries = await readdir(messageDir, { withFileTypes: true });
62
- }
63
- catch {
64
- return [];
40
+ /** Map Source type to short result key */
41
+ function sourceKey(source) {
42
+ switch (source) {
43
+ case "claude-code": return "claude";
44
+ case "gemini-cli": return "gemini";
45
+ case "opencode": return "opencode";
46
+ case "openclaw": return "openclaw";
47
+ case "codex": return "codex";
65
48
  }
66
- return entries
67
- .filter((e) => e.isDirectory())
68
- .map((e) => join(messageDir, e.name))
69
- .sort();
70
49
  }
71
50
  // ---------------------------------------------------------------------------
72
51
  // Main orchestrator
@@ -82,334 +61,142 @@ export async function executeSessionSync(opts) {
82
61
  const cursors = await cursorStore.load();
83
62
  const allSnapshots = [];
84
63
  const sourceCounts = { claude: 0, codex: 0, gemini: 0, opencode: 0, openclaw: 0 };
85
- // ---------- Claude Code ----------
86
- if (opts.claudeDir) {
64
+ const filesScanned = { claude: 0, codex: 0, gemini: 0, opencode: 0, openclaw: 0 };
65
+ // Build driver sets from options
66
+ const { fileDrivers, dbDrivers } = createSessionDrivers(opts);
67
+ // Discovery options bag
68
+ const discoverOpts = {
69
+ claudeDir: opts.claudeDir,
70
+ codexSessionsDir: opts.codexSessionsDir,
71
+ geminiDir: opts.geminiDir,
72
+ openCodeMessageDir: opts.openCodeMessageDir,
73
+ openCodeDbPath: opts.openCodeDbPath,
74
+ openclawDir: opts.openclawDir,
75
+ };
76
+ // ---------- Phase 1: File-based drivers (generic loop) ----------
77
+ for (const driver of fileDrivers) {
78
+ const key = sourceKey(driver.source);
87
79
  onProgress?.({
88
- source: "claude-code",
80
+ source: driver.source,
89
81
  phase: "discover",
90
- message: "Discovering Claude Code session files...",
82
+ message: `Discovering ${driver.source} session files...`,
91
83
  });
92
- const files = await discoverClaudeFiles(opts.claudeDir);
84
+ const files = await driver.discover(discoverOpts);
85
+ filesScanned[key] += files.length;
93
86
  onProgress?.({
94
- source: "claude-code",
87
+ source: driver.source,
95
88
  phase: "parse",
96
89
  total: files.length,
97
- message: `Scanning ${files.length} Claude session files...`,
90
+ message: `Scanning ${files.length} ${driver.source} session files...`,
98
91
  });
99
92
  for (let i = 0; i < files.length; i++) {
100
93
  const filePath = files[i];
101
94
  const st = await stat(filePath).catch(() => null);
102
95
  if (!st)
103
96
  continue;
97
+ const fingerprint = {
98
+ inode: st.ino,
99
+ mtimeMs: st.mtimeMs,
100
+ size: st.size,
101
+ };
104
102
  const cursor = cursors.files[filePath];
105
- if (!fileChanged(cursor, st.mtimeMs, st.size)) {
103
+ // Fast skip: file/dir unchanged since last cursor?
104
+ if (driver.shouldSkip(cursor, fingerprint)) {
106
105
  onProgress?.({
107
- source: "claude-code",
106
+ source: driver.source,
108
107
  phase: "parse",
109
108
  current: i + 1,
110
109
  total: files.length,
111
110
  });
112
111
  continue;
113
112
  }
114
- const snapshots = await collectClaudeSessions(filePath).catch((err) => {
113
+ // Full-scan parse
114
+ const snapshots = await driver.parse(filePath).catch((err) => {
115
115
  onProgress?.({
116
- source: "claude-code",
116
+ source: driver.source,
117
117
  phase: "warn",
118
118
  message: `Skipping ${filePath}: ${err instanceof Error ? err.message : String(err)}`,
119
119
  });
120
120
  return [];
121
121
  });
122
- // Update cursor with new mtime+size
123
- cursors.files[filePath] = { mtimeMs: st.mtimeMs, size: st.size };
122
+ // Build and persist cursor (cast narrows the registry's
123
+ // SessionFileCursor | unknown union back to SessionFileCursor)
124
+ cursors.files[filePath] = driver.buildCursor(fingerprint);
124
125
  allSnapshots.push(...snapshots);
125
- sourceCounts.claude += snapshots.length;
126
+ sourceCounts[key] += snapshots.length;
126
127
  onProgress?.({
127
- source: "claude-code",
128
+ source: driver.source,
128
129
  phase: "parse",
129
130
  current: i + 1,
130
131
  total: files.length,
131
132
  });
132
133
  }
133
134
  }
134
- // ---------- Gemini CLI ----------
135
- if (opts.geminiDir) {
136
- onProgress?.({
137
- source: "gemini-cli",
138
- phase: "discover",
139
- message: "Discovering Gemini CLI session files...",
140
- });
141
- const files = await discoverGeminiFiles(opts.geminiDir);
142
- onProgress?.({
143
- source: "gemini-cli",
144
- phase: "parse",
145
- total: files.length,
146
- message: `Scanning ${files.length} Gemini session files...`,
147
- });
148
- for (let i = 0; i < files.length; i++) {
149
- const filePath = files[i];
150
- const st = await stat(filePath).catch(() => null);
151
- if (!st)
152
- continue;
153
- const cursor = cursors.files[filePath];
154
- if (!fileChanged(cursor, st.mtimeMs, st.size)) {
135
+ // ---------- Phase 2: DB-based drivers ----------
136
+ // SQLite warning paths are handled at the orchestrator level:
137
+ // - "bun:sqlite not available": registry doesn't create a driver (no openSessionDb)
138
+ // - "Failed to open": factory returns null, pre-probed here to emit warning
139
+ let activeDbDrivers = dbDrivers;
140
+ if (opts.openCodeDbPath) {
141
+ const dbStat = await stat(opts.openCodeDbPath).catch(() => null);
142
+ if (dbStat) {
143
+ if (!opts.openSessionDb) {
144
+ // Case 1: DB file exists but bun:sqlite adapter is missing
155
145
  onProgress?.({
156
- source: "gemini-cli",
157
- phase: "parse",
158
- current: i + 1,
159
- total: files.length,
146
+ source: "opencode-sqlite",
147
+ phase: "discover",
148
+ message: "Checking OpenCode SQLite database for sessions...",
160
149
  });
161
- continue;
162
- }
163
- const snapshots = await collectGeminiSessions(filePath).catch((err) => {
164
150
  onProgress?.({
165
- source: "gemini-cli",
151
+ source: "opencode-sqlite",
166
152
  phase: "warn",
167
- message: `Skipping ${filePath}: ${err instanceof Error ? err.message : String(err)}`,
168
- });
169
- return [];
170
- });
171
- cursors.files[filePath] = { mtimeMs: st.mtimeMs, size: st.size };
172
- allSnapshots.push(...snapshots);
173
- sourceCounts.gemini += snapshots.length;
174
- onProgress?.({
175
- source: "gemini-cli",
176
- phase: "parse",
177
- current: i + 1,
178
- total: files.length,
179
- });
180
- }
181
- }
182
- // ---------- OpenCode ----------
183
- if (opts.openCodeMessageDir) {
184
- onProgress?.({
185
- source: "opencode",
186
- phase: "discover",
187
- message: "Discovering OpenCode session directories...",
188
- });
189
- const dirs = await discoverOpenCodeSessionDirs(opts.openCodeMessageDir);
190
- onProgress?.({
191
- source: "opencode",
192
- phase: "parse",
193
- total: dirs.length,
194
- message: `Scanning ${dirs.length} OpenCode session directories...`,
195
- });
196
- for (let i = 0; i < dirs.length; i++) {
197
- const dirPath = dirs[i];
198
- const st = await stat(dirPath).catch(() => null);
199
- if (!st)
200
- continue;
201
- // For directories, use mtimeMs as proxy for content changes.
202
- // Size for dirs isn't reliable across filesystems, so we use
203
- // mtimeMs only and set size to 0 as a sentinel.
204
- const cursor = cursors.files[dirPath];
205
- if (cursor && cursor.mtimeMs === st.mtimeMs) {
206
- onProgress?.({
207
- source: "opencode",
208
- phase: "parse",
209
- current: i + 1,
210
- total: dirs.length,
153
+ message: `OpenCode SQLite database found at ${opts.openCodeDbPath} but bun:sqlite is not available SQLite session data will NOT be synced`,
211
154
  });
212
- continue;
213
155
  }
214
- const snapshots = await collectOpenCodeSessions(dirPath).catch((err) => {
215
- onProgress?.({
216
- source: "opencode",
217
- phase: "warn",
218
- message: `Skipping ${dirPath}: ${err instanceof Error ? err.message : String(err)}`,
219
- });
220
- return [];
221
- });
222
- cursors.files[dirPath] = { mtimeMs: st.mtimeMs, size: 0 };
223
- allSnapshots.push(...snapshots);
224
- sourceCounts.opencode += snapshots.length;
225
- onProgress?.({
226
- source: "opencode",
227
- phase: "parse",
228
- current: i + 1,
229
- total: dirs.length,
230
- });
231
- }
232
- }
233
- // ---------- OpenCode SQLite Sessions ----------
234
- if (opts.openCodeDbPath) {
235
- onProgress?.({
236
- source: "opencode-sqlite",
237
- phase: "discover",
238
- message: "Checking OpenCode SQLite database for sessions...",
239
- });
240
- const dbStat = await stat(opts.openCodeDbPath).catch(() => null);
241
- if (dbStat && !opts.openSessionDb) {
242
- // DB file exists but adapter is missing (bun:sqlite not available)
243
- onProgress?.({
244
- source: "opencode-sqlite",
245
- phase: "warn",
246
- message: `OpenCode SQLite database found at ${opts.openCodeDbPath} but bun:sqlite is not available — SQLite session data will NOT be synced`,
247
- });
248
- }
249
- else if (dbStat && opts.openSessionDb) {
250
- const dbInode = dbStat.ino;
251
- const prevSqlite = cursors.openCodeSqlite;
252
- // If inode changed (DB recreated), reset cursor
253
- const lastTimeUpdated = prevSqlite && prevSqlite.inode === dbInode
254
- ? prevSqlite.lastTimeUpdated
255
- : 0;
256
- const prevProcessedIds = new Set(prevSqlite && prevSqlite.inode === dbInode
257
- ? (prevSqlite.lastProcessedIds ?? [])
258
- : []);
259
- const handle = opts.openSessionDb(opts.openCodeDbPath);
260
- if (handle) {
261
- try {
262
- // Query uses >= to avoid missing same-millisecond rows.
263
- // We dedup previously-processed IDs from the prior batch.
264
- const rawSessions = handle.querySessions(lastTimeUpdated);
265
- const sessions = prevProcessedIds.size > 0
266
- ? rawSessions.filter((s) => !prevProcessedIds.has(s.id))
267
- : rawSessions;
268
- if (sessions.length > 0) {
269
- const sessionIds = sessions.map((s) => s.id);
270
- const messages = handle.querySessionMessages(sessionIds);
271
- const snapshots = collectOpenCodeSqliteSessions(sessions, messages);
272
- onProgress?.({
273
- source: "opencode-sqlite",
274
- phase: "parse",
275
- message: `Collected ${snapshots.length} sessions from ${rawSessions.length} SQLite session rows`,
276
- });
277
- allSnapshots.push(...snapshots);
278
- sourceCounts.opencode += snapshots.length;
279
- }
280
- else {
281
- onProgress?.({
282
- source: "opencode-sqlite",
283
- phase: "parse",
284
- message: "No new SQLite sessions found",
285
- });
286
- }
287
- // Update session cursor — advance past ALL queried sessions.
288
- // Sessions are ORDER BY time_updated ASC, so last has the max.
289
- // Track IDs at the max timestamp for same-millisecond dedup
290
- // on the next query.
291
- const maxTimeUpdated = rawSessions.length > 0
292
- ? rawSessions[rawSessions.length - 1].time_updated
293
- : lastTimeUpdated;
294
- const idsAtMax = rawSessions
295
- .filter((s) => s.time_updated === maxTimeUpdated)
296
- .map((s) => s.id);
297
- cursors.openCodeSqlite = {
298
- lastTimeUpdated: maxTimeUpdated,
299
- lastProcessedIds: idsAtMax,
300
- inode: dbInode,
301
- updatedAt: new Date().toISOString(),
302
- };
156
+ else {
157
+ // Case 2: Both provided — pre-probe if factory returns null
158
+ const handle = opts.openSessionDb(opts.openCodeDbPath);
159
+ if (!handle) {
160
+ onProgress?.({
161
+ source: "opencode-sqlite",
162
+ phase: "discover",
163
+ message: "Checking OpenCode SQLite database for sessions...",
164
+ });
165
+ onProgress?.({
166
+ source: "opencode-sqlite",
167
+ phase: "warn",
168
+ message: `Failed to open OpenCode SQLite database at ${opts.openCodeDbPath} — SQLite session data will NOT be synced`,
169
+ });
170
+ // Skip DB drivers — factory returns null, driver would return empty anyway
171
+ activeDbDrivers = [];
303
172
  }
304
- finally {
173
+ else {
305
174
  handle.close();
306
175
  }
307
176
  }
308
- else {
309
- // openSessionDb returned null — DB exists but couldn't be opened
310
- onProgress?.({
311
- source: "opencode-sqlite",
312
- phase: "warn",
313
- message: `Failed to open OpenCode SQLite database at ${opts.openCodeDbPath} — SQLite session data will NOT be synced`,
314
- });
315
- }
316
- }
317
- }
318
- // ---------- OpenClaw ----------
319
- if (opts.openclawDir) {
320
- onProgress?.({
321
- source: "openclaw",
322
- phase: "discover",
323
- message: "Discovering OpenClaw session files...",
324
- });
325
- const files = await discoverOpenClawFiles(opts.openclawDir);
326
- onProgress?.({
327
- source: "openclaw",
328
- phase: "parse",
329
- total: files.length,
330
- message: `Scanning ${files.length} OpenClaw session files...`,
331
- });
332
- for (let i = 0; i < files.length; i++) {
333
- const filePath = files[i];
334
- const st = await stat(filePath).catch(() => null);
335
- if (!st)
336
- continue;
337
- const cursor = cursors.files[filePath];
338
- if (!fileChanged(cursor, st.mtimeMs, st.size)) {
339
- onProgress?.({
340
- source: "openclaw",
341
- phase: "parse",
342
- current: i + 1,
343
- total: files.length,
344
- });
345
- continue;
346
- }
347
- const snapshots = await collectOpenClawSessions(filePath).catch((err) => {
348
- onProgress?.({
349
- source: "openclaw",
350
- phase: "warn",
351
- message: `Skipping ${filePath}: ${err instanceof Error ? err.message : String(err)}`,
352
- });
353
- return [];
354
- });
355
- cursors.files[filePath] = { mtimeMs: st.mtimeMs, size: st.size };
356
- allSnapshots.push(...snapshots);
357
- sourceCounts.openclaw += snapshots.length;
358
- onProgress?.({
359
- source: "openclaw",
360
- phase: "parse",
361
- current: i + 1,
362
- total: files.length,
363
- });
364
177
  }
365
178
  }
366
- // ---------- Codex CLI ----------
367
- if (opts.codexSessionsDir) {
179
+ for (const driver of activeDbDrivers) {
180
+ const key = sourceKey(driver.source);
368
181
  onProgress?.({
369
- source: "codex",
182
+ source: "opencode-sqlite",
370
183
  phase: "discover",
371
- message: "Discovering Codex CLI session files...",
184
+ message: "Checking OpenCode SQLite database for sessions...",
372
185
  });
373
- const files = await discoverCodexFiles(opts.codexSessionsDir);
186
+ // Count DB as 1 file scanned for the source
187
+ filesScanned[key] += 1;
188
+ const prevCursor = cursors.openCodeSqlite;
189
+ const result = await driver.run(prevCursor, {});
190
+ cursors.openCodeSqlite = result.cursor;
191
+ allSnapshots.push(...result.snapshots);
192
+ sourceCounts[key] += result.snapshots.length;
374
193
  onProgress?.({
375
- source: "codex",
194
+ source: "opencode-sqlite",
376
195
  phase: "parse",
377
- total: files.length,
378
- message: `Scanning ${files.length} Codex session files...`,
196
+ message: result.snapshots.length > 0
197
+ ? `Collected ${result.snapshots.length} sessions from ${result.rowCount} SQLite session rows`
198
+ : "No new SQLite sessions found",
379
199
  });
380
- for (let i = 0; i < files.length; i++) {
381
- const filePath = files[i];
382
- const st = await stat(filePath).catch(() => null);
383
- if (!st)
384
- continue;
385
- const cursor = cursors.files[filePath];
386
- if (!fileChanged(cursor, st.mtimeMs, st.size)) {
387
- onProgress?.({
388
- source: "codex",
389
- phase: "parse",
390
- current: i + 1,
391
- total: files.length,
392
- });
393
- continue;
394
- }
395
- const snapshots = await collectCodexSessions(filePath).catch((err) => {
396
- onProgress?.({
397
- source: "codex",
398
- phase: "warn",
399
- message: `Skipping ${filePath}: ${err instanceof Error ? err.message : String(err)}`,
400
- });
401
- return [];
402
- });
403
- cursors.files[filePath] = { mtimeMs: st.mtimeMs, size: st.size };
404
- allSnapshots.push(...snapshots);
405
- sourceCounts.codex += snapshots.length;
406
- onProgress?.({
407
- source: "codex",
408
- phase: "parse",
409
- current: i + 1,
410
- total: files.length,
411
- });
412
- }
413
200
  }
414
201
  // ---------- Convert snapshots to queue records ----------
415
202
  const records = allSnapshots.map(toQueueRecord);
@@ -438,6 +225,7 @@ export async function executeSessionSync(opts) {
438
225
  totalSnapshots: allSnapshots.length,
439
226
  totalRecords: deduped.length,
440
227
  sources: sourceCounts,
228
+ filesScanned,
441
229
  };
442
230
  }
443
231
  //# sourceMappingURL=session-sync.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-sync.js","sourceRoot":"","sources":["../../src/commands/session-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-sync.js","sourceRoot":"","sources":["../../src/commands/session-sync.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAIrE,6BAA6B;AAC7B,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qFAAqF;IACrF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oFAAoF;IACpF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sEAAsE;IACtE,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK;QAAE,aAAa,EAAE,eAAe,CAAC;QAAC,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IACjG,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wBAAwB;IACxB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CAC7C;AAED,oCAAoC;AACpC,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,iCAAiC;AACjC,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,qCAAqC;IACrC,YAAY,EAAE;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAUD;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAmgBxE"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAMrE,6BAA6B;AAC7B,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qFAAqF;IACrF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oFAAoF;IACpF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sEAAsE;IACtE,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK;QAAE,aAAa,EAAE,eAAe,CAAC;QAAC,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IACjG,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wBAAwB;IACxB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CAC7C;AAED,oCAAoC;AACpC,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,iCAAiC;AACjC,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,qCAAqC;IACrC,YAAY,EAAE;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAqBD;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAmQxE"}