@spool-lab/core 0.5.2 → 0.6.1

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 (148) hide show
  1. package/README.md +22 -14
  2. package/dist/db/db.d.ts +2 -2
  3. package/dist/db/db.d.ts.map +1 -1
  4. package/dist/db/db.js +106 -15
  5. package/dist/db/db.js.map +1 -1
  6. package/dist/db/native-binding.d.ts +21 -0
  7. package/dist/db/native-binding.d.ts.map +1 -0
  8. package/dist/db/native-binding.js +32 -0
  9. package/dist/db/native-binding.js.map +1 -0
  10. package/dist/db/published-shares-cache.d.ts +39 -0
  11. package/dist/db/published-shares-cache.d.ts.map +1 -0
  12. package/dist/db/published-shares-cache.js +60 -0
  13. package/dist/db/published-shares-cache.js.map +1 -0
  14. package/dist/db/queries.d.ts +5 -0
  15. package/dist/db/queries.d.ts.map +1 -1
  16. package/dist/db/queries.js +219 -80
  17. package/dist/db/queries.js.map +1 -1
  18. package/dist/db/search-query.d.ts +7 -0
  19. package/dist/db/search-query.d.ts.map +1 -1
  20. package/dist/db/search-query.js +33 -7
  21. package/dist/db/search-query.js.map +1 -1
  22. package/dist/db/share-drafts.d.ts.map +1 -1
  23. package/dist/db/share-drafts.js +1 -3
  24. package/dist/db/share-drafts.js.map +1 -1
  25. package/dist/doctor/checks/config.d.ts.map +1 -1
  26. package/dist/doctor/checks/config.js +3 -3
  27. package/dist/doctor/checks/config.js.map +1 -1
  28. package/dist/doctor/checks/db.d.ts.map +1 -1
  29. package/dist/doctor/checks/db.js +36 -18
  30. package/dist/doctor/checks/db.js.map +1 -1
  31. package/dist/doctor/checks/env.d.ts.map +1 -1
  32. package/dist/doctor/checks/env.js +5 -1
  33. package/dist/doctor/checks/env.js.map +1 -1
  34. package/dist/doctor/checks/index.js +2 -2
  35. package/dist/doctor/checks/index.js.map +1 -1
  36. package/dist/doctor/checks/native.d.ts.map +1 -1
  37. package/dist/doctor/checks/native.js.map +1 -1
  38. package/dist/doctor/checks/versions.d.ts.map +1 -1
  39. package/dist/doctor/checks/versions.js +2 -2
  40. package/dist/doctor/checks/versions.js.map +1 -1
  41. package/dist/doctor/preflight.js +2 -2
  42. package/dist/doctor/preflight.js.map +1 -1
  43. package/dist/doctor/runner.d.ts.map +1 -1
  44. package/dist/doctor/runner.js +1 -1
  45. package/dist/doctor/runner.js.map +1 -1
  46. package/dist/index.d.ts +2 -0
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +2 -0
  49. package/dist/index.js.map +1 -1
  50. package/dist/migrations/agent-search-cleanup.d.ts.map +1 -1
  51. package/dist/migrations/agent-search-cleanup.js +10 -6
  52. package/dist/migrations/agent-search-cleanup.js.map +1 -1
  53. package/dist/migrations/worktree-identity-upgrade.d.ts +5 -3
  54. package/dist/migrations/worktree-identity-upgrade.d.ts.map +1 -1
  55. package/dist/migrations/worktree-identity-upgrade.js +26 -3
  56. package/dist/migrations/worktree-identity-upgrade.js.map +1 -1
  57. package/dist/observability/exporter-file.d.ts.map +1 -1
  58. package/dist/observability/exporter-file.js +14 -6
  59. package/dist/observability/exporter-file.js.map +1 -1
  60. package/dist/observability/exporter-pretty.d.ts.map +1 -1
  61. package/dist/observability/exporter-pretty.js +13 -7
  62. package/dist/observability/exporter-pretty.js.map +1 -1
  63. package/dist/observability/layer.d.ts.map +1 -1
  64. package/dist/observability/layer.js +1 -1
  65. package/dist/observability/layer.js.map +1 -1
  66. package/dist/parsers/claude.d.ts.map +1 -1
  67. package/dist/parsers/claude.js +4 -144
  68. package/dist/parsers/claude.js.map +1 -1
  69. package/dist/parsers/codex.d.ts +7 -1
  70. package/dist/parsers/codex.d.ts.map +1 -1
  71. package/dist/parsers/codex.js +43 -186
  72. package/dist/parsers/codex.js.map +1 -1
  73. package/dist/parsers/gemini.d.ts.map +1 -1
  74. package/dist/parsers/gemini.js +113 -13
  75. package/dist/parsers/gemini.js.map +1 -1
  76. package/dist/parsers/opencode.d.ts.map +1 -1
  77. package/dist/parsers/opencode.js +67 -33
  78. package/dist/parsers/opencode.js.map +1 -1
  79. package/dist/parsers/pi.d.ts +18 -0
  80. package/dist/parsers/pi.d.ts.map +1 -0
  81. package/dist/parsers/pi.js +155 -0
  82. package/dist/parsers/pi.js.map +1 -0
  83. package/dist/parsers/spool-prelude.d.ts +1 -15
  84. package/dist/parsers/spool-prelude.d.ts.map +1 -1
  85. package/dist/parsers/spool-prelude.js +3 -20
  86. package/dist/parsers/spool-prelude.js.map +1 -1
  87. package/dist/projects/fs.d.ts.map +1 -1
  88. package/dist/projects/fs.js +1 -1
  89. package/dist/projects/fs.js.map +1 -1
  90. package/dist/projects/groups.d.ts +4 -1
  91. package/dist/projects/groups.d.ts.map +1 -1
  92. package/dist/projects/groups.js +32 -11
  93. package/dist/projects/groups.js.map +1 -1
  94. package/dist/projects/identity-synthesizers.d.ts.map +1 -1
  95. package/dist/projects/identity-synthesizers.js.map +1 -1
  96. package/dist/projects/identity.d.ts +2 -2
  97. package/dist/projects/identity.d.ts.map +1 -1
  98. package/dist/projects/identity.js +24 -13
  99. package/dist/projects/identity.js.map +1 -1
  100. package/dist/projects/sessions.d.ts.map +1 -1
  101. package/dist/projects/sessions.js +11 -10
  102. package/dist/projects/sessions.js.map +1 -1
  103. package/dist/projects/worktree-resolvers.d.ts +3 -0
  104. package/dist/projects/worktree-resolvers.d.ts.map +1 -1
  105. package/dist/projects/worktree-resolvers.js +144 -8
  106. package/dist/projects/worktree-resolvers.js.map +1 -1
  107. package/dist/security/index.d.ts +2 -2
  108. package/dist/security/index.d.ts.map +1 -1
  109. package/dist/security/index.js +1 -1
  110. package/dist/security/index.js.map +1 -1
  111. package/dist/security/maintenance.d.ts.map +1 -1
  112. package/dist/security/maintenance.js +1 -1
  113. package/dist/security/maintenance.js.map +1 -1
  114. package/dist/security/profile.d.ts.map +1 -1
  115. package/dist/security/profile.js +6 -4
  116. package/dist/security/profile.js.map +1 -1
  117. package/dist/security/purge.d.ts +2 -2
  118. package/dist/security/purge.d.ts.map +1 -1
  119. package/dist/security/purge.js +31 -15
  120. package/dist/security/purge.js.map +1 -1
  121. package/dist/security/repo.d.ts +1 -1
  122. package/dist/security/repo.d.ts.map +1 -1
  123. package/dist/security/repo.js +64 -37
  124. package/dist/security/repo.js.map +1 -1
  125. package/dist/security/scan.d.ts +2 -2
  126. package/dist/security/scan.d.ts.map +1 -1
  127. package/dist/security/scan.js +6 -4
  128. package/dist/security/scan.js.map +1 -1
  129. package/dist/security/worker.d.ts +2 -2
  130. package/dist/security/worker.d.ts.map +1 -1
  131. package/dist/security/worker.js +5 -11
  132. package/dist/security/worker.js.map +1 -1
  133. package/dist/sync/source-paths.d.ts.map +1 -1
  134. package/dist/sync/source-paths.js +46 -16
  135. package/dist/sync/source-paths.js.map +1 -1
  136. package/dist/sync/syncer.d.ts.map +1 -1
  137. package/dist/sync/syncer.js +112 -80
  138. package/dist/sync/syncer.js.map +1 -1
  139. package/dist/sync/watcher.d.ts +1 -1
  140. package/dist/sync/watcher.d.ts.map +1 -1
  141. package/dist/sync/watcher.js +17 -4
  142. package/dist/sync/watcher.js.map +1 -1
  143. package/dist/types.d.ts +8 -1
  144. package/dist/types.d.ts.map +1 -1
  145. package/dist/util/resolve-bin.d.ts.map +1 -1
  146. package/dist/util/resolve-bin.js +40 -25
  147. package/dist/util/resolve-bin.js.map +1 -1
  148. package/package.json +35 -17
@@ -1,14 +1,15 @@
1
1
  import { existsSync, statSync, readdirSync, readFileSync } from 'node:fs';
2
- import { basename, dirname, join } from 'node:path';
3
2
  import { homedir } from 'node:os';
3
+ import { basename, dirname, join } from 'node:path';
4
+ import { deleteSessionByFilePath, getSourceId, getOrCreateProject, getSessionMtime, getAllSessionMtimes, upsertSession, refreshSessionSearchFromMessages, insertMessages, getMessageSnapshot, recomputeMessageCount, } from '../db/queries.js';
4
5
  import { loadClaudeSession, decodeProjectSlug } from '../parsers/claude.js';
5
6
  import { loadCodexSession, CODEX_INDEX_VERSION } from '../parsers/codex.js';
6
7
  import { loadGeminiSession } from '../parsers/gemini.js';
7
8
  import { getOpenCodeSessionIndexedMtime, isOpenCodeDatabaseFile, listOpenCodeSessionFilePaths, loadOpenCodeSession, OPENCODE_INDEX_VERSION, parseOpenCodeSessionFilePath, } from '../parsers/opencode.js';
8
- import { getSessionRoots, isSessionFileForSource } from './source-paths.js';
9
- import { deleteSessionByFilePath, getSourceId, getOrCreateProject, getSessionMtime, getAllSessionMtimes, upsertSession, upsertSessionSearch, insertMessages, getMessageSnapshot, recomputeMessageCount, } from '../db/queries.js';
10
- import { computeIdentity } from '../projects/identity.js';
9
+ import { decodePiSessionDirSlug, loadPiSession, PI_INDEX_VERSION } from '../parsers/pi.js';
11
10
  import { realFs } from '../projects/fs.js';
11
+ import { computeIdentity } from '../projects/identity.js';
12
+ import { getSessionRoots, isSessionFileForSource } from './source-paths.js';
12
13
  export class Syncer {
13
14
  db;
14
15
  onProgress;
@@ -22,18 +23,20 @@ export class Syncer {
22
23
  syncAll() {
23
24
  const seenPaths = new Set();
24
25
  const files = [];
25
- for (const source of ['claude', 'codex', 'gemini', 'opencode']) {
26
+ for (const source of ['claude', 'codex', 'gemini', 'opencode', 'pi']) {
26
27
  for (const dir of getSessionRoots(source)) {
27
28
  try {
28
29
  addUniqueFiles(files, seenPaths, collectSessionFiles(dir, source));
29
30
  }
30
- catch { /* dir may not exist */ }
31
+ catch {
32
+ /* dir may not exist */
33
+ }
31
34
  }
32
35
  }
33
36
  cleanupStaleOpenCodeSessions(this.db, files);
34
37
  const knownMtimes = getAllSessionMtimes(this.db);
35
38
  this.codexTitleIndex = loadCodexSessionIndex();
36
- const pendingFiles = files.flatMap(f => {
39
+ const pendingFiles = files.flatMap((f) => {
37
40
  const existing = knownMtimes.get(f.path);
38
41
  try {
39
42
  const indexedMtime = getIndexedMtime(f.path, f.source);
@@ -74,7 +77,11 @@ export class Syncer {
74
77
  else if (result === 'error')
75
78
  errors++;
76
79
  }
77
- this.onProgress?.({ phase: 'syncing', count: Math.min(i + BATCH, pendingFiles.length), total: pendingFiles.length });
80
+ this.onProgress?.({
81
+ phase: 'syncing',
82
+ count: Math.min(i + BATCH, pendingFiles.length),
83
+ total: pendingFiles.length,
84
+ });
78
85
  }
79
86
  this.applyCodexTitles();
80
87
  }
@@ -142,7 +149,7 @@ export class Syncer {
142
149
  * raw value re-enter the DB — exactly the regression that
143
150
  * motivated this work. The purge protection requires that we
144
151
  * NOT chase content drift on uuid-matched messages. */
145
- classifySync(sessionUuid, parsed) {
152
+ classifySync(sessionUuid, parsed, source) {
146
153
  // One join'd query — covers "session row missing", "session row
147
154
  // exists with no messages", and the leading-uuid / total-row
148
155
  // signals all at once. See getMessageSnapshot for the rationale.
@@ -155,6 +162,16 @@ export class Syncer {
155
162
  return 'rewrite';
156
163
  if (parsed[0].uuid !== snapshot.firstUuid)
157
164
  return 'rewrite';
165
+ // Gemini's JSONL replay can drop mid-stream messages ($rewindTo) while
166
+ // new turns keep parsed.length >= total, so head+count alone misclassifies
167
+ // a rewound session as append and strands the dropped rows (with colliding
168
+ // seq values). Pure append requires the parsed message at the stored tail
169
+ // position to still be the stored tail. Gemini-only: claude parses emit
170
+ // duplicate uuids (tool-use shadow records) that the DB dedupes, so
171
+ // parsed[total-1] doesn't align with stored rows there.
172
+ if (source === 'gemini' && parsed[snapshot.total - 1].uuid !== snapshot.lastUuid) {
173
+ return 'rewrite';
174
+ }
158
175
  return 'append';
159
176
  }
160
177
  /** True if the title we'd write differs from what's currently stored
@@ -164,9 +181,7 @@ export class Syncer {
164
181
  * custom-title record landing while everything else stays the
165
182
  * same). */
166
183
  titleDiffersFromStored(sessionId, nextTitle) {
167
- const row = this.db
168
- .prepare('SELECT title FROM sessions WHERE id = ?')
169
- .get(sessionId);
184
+ const row = this.db.prepare('SELECT title FROM sessions WHERE id = ?').get(sessionId);
170
185
  return (row?.title ?? '') !== nextTitle;
171
186
  }
172
187
  applyCodexTitles() {
@@ -199,13 +214,22 @@ export class Syncer {
199
214
  // mtime on the spool side).
200
215
  if (!force && existingMtime === mtime)
201
216
  return 'skipped';
217
+ // An index-version bump (the `::<version>` suffix in the stored mtime)
218
+ // exists to re-derive content, but append-mode INSERT … DO NOTHING never
219
+ // updates uuid-matched rows — a version-only mismatch must rewrite, or
220
+ // the bump re-visits every file and changes nothing.
221
+ const versionChanged = existingMtime !== null &&
222
+ existingMtime.includes('::') &&
223
+ !existingMtime.endsWith(`::${getIndexVersion(source)}`);
202
224
  const parseResult = source === 'claude'
203
225
  ? loadClaudeSession(filePath)
204
226
  : source === 'codex'
205
227
  ? loadCodexSession(filePath)
206
228
  : source === 'gemini'
207
229
  ? loadGeminiSession(filePath)
208
- : loadOpenCodeSession(filePath);
230
+ : source === 'pi'
231
+ ? loadPiSession(filePath)
232
+ : loadOpenCodeSession(filePath);
209
233
  if (parseResult.kind !== 'parsed') {
210
234
  // The "filtered" path normally removes a session whose source
211
235
  // is no longer indexable (e.g. claude subagent jsonl that
@@ -216,10 +240,12 @@ export class Syncer {
216
240
  // certainly something the user wants to know about rather
217
241
  // than have happen silently.
218
242
  if (parseResult.kind === 'filtered' && existingMtime !== null && !force) {
219
- this.db.prepare(`
243
+ this.db
244
+ .prepare(`
220
245
  INSERT INTO sync_log (source_id, file_path, status, message)
221
246
  VALUES (?, ?, 'ok', ?)
222
- `).run(getSourceId(this.db, source), filePath, 'filtered from index');
247
+ `)
248
+ .run(getSourceId(this.db, source), filePath, 'filtered from index');
223
249
  deleteSessionByFilePath(this.db, filePath);
224
250
  return 'updated';
225
251
  }
@@ -232,15 +258,15 @@ export class Syncer {
232
258
  parsed.title = codexTitle;
233
259
  }
234
260
  const sourceId = getSourceId(this.db, source);
235
- const { slug: rawSlug, displayPath, displayName } = resolveProject(filePath, source, parsed.cwd);
236
- const identity = computeIdentity(parsed.cwd || null, realFs);
261
+ const { slug: rawSlug, displayPath, displayName, } = resolveProject(filePath, source, parsed.cwd);
262
+ const identity = computeIdentity(parsed.cwd || null, realFs, undefined, undefined, parsed.gitRemote ?? null);
237
263
  // Synthetic identities deduplicate by identity key, not by per-cwd slug,
238
264
  // so every matching session converges to a single project row instead
239
265
  // of accumulating one row per scratch dir.
240
266
  const slug = identity.kind === 'synthetic' ? identity.key : rawSlug;
241
267
  const projectId = getOrCreateProject(this.db, sourceId, slug, identity.displayPath ?? displayPath, identity.displayName || displayName, { identityKind: identity.kind, identityKey: identity.key });
242
268
  const isNew = existingMtime === null;
243
- const hasToolUse = parsed.messages.some(m => m.toolNames.length > 0);
269
+ const hasToolUse = parsed.messages.some((m) => m.toolNames.length > 0);
244
270
  // Classify the sync before we touch anything. The result decides
245
271
  // whether existing message rows survive (`append`) or get
246
272
  // DELETE-cascaded by upsertSession (`rewrite`). The
@@ -249,7 +275,10 @@ export class Syncer {
249
275
  // Explicit force overrides classification — the user has
250
276
  // accepted that any per-message user-side state (Security Scan
251
277
  // purge, dismiss) on this session will be rebuilt from source.
252
- const mode = force ?? this.classifySync(parsed.sessionUuid, parsed.messages);
278
+ const mode = force ??
279
+ (versionChanged
280
+ ? 'rewrite'
281
+ : this.classifySync(parsed.sessionUuid, parsed.messages, source));
253
282
  let committedSessionId = null;
254
283
  let insertedCount = 0;
255
284
  this.db.transaction(() => {
@@ -261,7 +290,7 @@ export class Syncer {
261
290
  title: parsed.title,
262
291
  startedAt: parsed.startedAt,
263
292
  endedAt: parsed.endedAt,
264
- messageCount: parsed.messages.filter(m => !m.isSidechain).length,
293
+ messageCount: parsed.messages.filter((m) => !m.isSidechain).length,
265
294
  hasToolUse,
266
295
  cwd: parsed.cwd,
267
296
  model: parsed.model,
@@ -280,24 +309,13 @@ export class Syncer {
280
309
  // contentChanged so no-op syncs don't pay the UPDATE.
281
310
  recomputeMessageCount(this.db, sessionId);
282
311
  }
283
- // Session-level search index. **Read content from the DB,
284
- // not from `parsed.messages`** Security Scan purge masks
285
- // `messages.content_text` but never touches the source jsonl.
286
- // Building search text from the parser output would re-index
287
- // the raw secret in session_search_fts on every re-sync of an
288
- // active session, leaking the purged value back into the
289
- // "search across sessions" surface. Reading from DB instead
290
- // makes session_search_fts a faithful projection of what
291
- // messages_fts already protects. Skip on no-op re-syncs of an
292
- // unchanged title — nothing to refresh.
312
+ // Session-level search is a projection of authoritative DB state,
313
+ // never parser output. Security purge masks both messages and a
314
+ // derived title while the source file remains unchanged; rebuilding
315
+ // from parsed data would leak either value back into search.
293
316
  const titleChanged = this.titleDiffersFromStored(sessionId, parsed.title);
294
317
  if (contentChanged || titleChanged) {
295
- upsertSessionSearch(this.db, {
296
- sessionId,
297
- title: parsed.title,
298
- userText: buildSessionSearchTextFromDb(this.db, sessionId, 'user'),
299
- assistantText: buildSessionSearchTextFromDb(this.db, sessionId, 'assistant'),
300
- });
318
+ refreshSessionSearchFromMessages(this.db, sessionId);
301
319
  }
302
320
  // Security Scan cascade — invalidate scan_profile so the
303
321
  // worker re-enqueues this session. Same gate as content
@@ -305,12 +323,16 @@ export class Syncer {
305
323
  // load-bearing UX win that lets purge / dismiss / star
306
324
  // survive across re-sync of an unchanged source file.
307
325
  if (contentChanged) {
308
- this.db.prepare(`UPDATE sessions SET scan_profile = NULL, scan_completed_at = NULL WHERE id = ?`).run(sessionId);
326
+ this.db
327
+ .prepare(`UPDATE sessions SET scan_profile = NULL, scan_completed_at = NULL WHERE id = ?`)
328
+ .run(sessionId);
309
329
  }
310
- this.db.prepare(`
330
+ this.db
331
+ .prepare(`
311
332
  INSERT INTO sync_log (source_id, file_path, status)
312
333
  VALUES (?, ?, 'ok')
313
- `).run(sourceId, filePath);
334
+ `)
335
+ .run(sourceId, filePath);
314
336
  committedSessionId = sessionId;
315
337
  })();
316
338
  const contentChanged = mode === 'rewrite' || insertedCount > 0;
@@ -318,23 +340,27 @@ export class Syncer {
318
340
  try {
319
341
  this.onSessionChanged(committedSessionId);
320
342
  }
321
- catch { /* swallow callback errors */ }
343
+ catch {
344
+ /* swallow callback errors */
345
+ }
322
346
  }
323
347
  return isNew ? 'added' : 'updated';
324
348
  }
325
349
  catch (err) {
326
350
  try {
327
- const sourceRow = this.db
328
- .prepare('SELECT id FROM sources WHERE name = ?')
329
- .get(source);
351
+ const sourceRow = this.db.prepare('SELECT id FROM sources WHERE name = ?').get(source);
330
352
  if (sourceRow) {
331
- this.db.prepare(`
353
+ this.db
354
+ .prepare(`
332
355
  INSERT INTO sync_log (source_id, file_path, status, message)
333
356
  VALUES (?, ?, 'error', ?)
334
- `).run(sourceRow.id, filePath, String(err));
357
+ `)
358
+ .run(sourceRow.id, filePath, String(err));
335
359
  }
336
360
  }
337
- catch { /* ignore log errors */ }
361
+ catch {
362
+ /* ignore log errors */
363
+ }
338
364
  return 'error';
339
365
  }
340
366
  }
@@ -351,13 +377,17 @@ export class Syncer {
351
377
  .prepare('SELECT id FROM sources WHERE name = ?')
352
378
  .get('opencode');
353
379
  if (sourceRow) {
354
- this.db.prepare(`
380
+ this.db
381
+ .prepare(`
355
382
  INSERT INTO sync_log (source_id, file_path, status, message)
356
383
  VALUES (?, ?, 'error', ?)
357
- `).run(sourceRow.id, dbPath, String(err));
384
+ `)
385
+ .run(sourceRow.id, dbPath, String(err));
358
386
  }
359
387
  }
360
- catch { /* ignore log errors */ }
388
+ catch {
389
+ /* ignore log errors */
390
+ }
361
391
  return 'error';
362
392
  }
363
393
  for (const sessionPath of sessionPaths) {
@@ -369,8 +399,8 @@ export class Syncer {
369
399
  }
370
400
  const activePaths = new Set(sessionPaths);
371
401
  const stalePaths = listIndexedOpenCodeSessionPaths(this.db)
372
- .filter(path => parseOpenCodeSessionFilePath(path)?.dbPath === dbPath)
373
- .filter(path => !activePaths.has(path));
402
+ .filter((path) => parseOpenCodeSessionFilePath(path)?.dbPath === dbPath)
403
+ .filter((path) => !activePaths.has(path));
374
404
  for (const stalePath of stalePaths) {
375
405
  if (deleteSessionByFilePath(this.db, stalePath))
376
406
  changed = true;
@@ -407,13 +437,15 @@ function cleanupStaleOpenCodeSessions(db, files) {
407
437
  }
408
438
  }
409
439
  function listIndexedOpenCodeSessionPaths(db) {
410
- const rows = db.prepare(`
440
+ const rows = db
441
+ .prepare(`
411
442
  SELECT s.file_path AS filePath
412
443
  FROM sessions s
413
444
  JOIN sources src ON src.id = s.source_id
414
445
  WHERE src.name = 'opencode'
415
- `).all();
416
- return rows.map(row => row.filePath);
446
+ `)
447
+ .all();
448
+ return rows.map((row) => row.filePath);
417
449
  }
418
450
  function addUniqueFiles(files, seenPaths, candidates) {
419
451
  for (const candidate of candidates) {
@@ -434,10 +466,14 @@ function getIndexedMtime(filePath, source) {
434
466
  function getIndexVersion(source) {
435
467
  if (source === 'codex')
436
468
  return CODEX_INDEX_VERSION;
469
+ // v2: <session_context> stripping + JSONL support — force re-derivation of
470
+ // contentText/titles for sessions indexed before the format change.
437
471
  if (source === 'gemini')
438
- return 'gemini-v1-session-search-fts';
472
+ return 'gemini-v2-session-search-fts';
439
473
  if (source === 'opencode')
440
474
  return OPENCODE_INDEX_VERSION;
475
+ if (source === 'pi')
476
+ return PI_INDEX_VERSION;
441
477
  return 'claude-v3-session-search-fts';
442
478
  }
443
479
  function collectSessionFiles(dir, source) {
@@ -445,7 +481,7 @@ function collectSessionFiles(dir, source) {
445
481
  const dbPath = join(dir, 'opencode.db');
446
482
  if (!existsSync(dbPath))
447
483
  return [];
448
- return listOpenCodeSessionFilePaths(dbPath).map(path => ({ path, source }));
484
+ return listOpenCodeSessionFilePaths(dbPath).map((path) => ({ path, source }));
449
485
  }
450
486
  const results = [];
451
487
  walkDir(dir, dir, results, source);
@@ -464,10 +500,10 @@ function walkDir(dir, root, results, source) {
464
500
  if (entry.isDirectory()) {
465
501
  if (source === 'gemini' && !shouldTraverseGeminiDir(dir, fullPath, entry.name))
466
502
  continue;
467
- // For claude, session files only live at <root>/<slug>/<uuid>.jsonl. Anything
468
- // deeper is subagent / future-nested scratch data that hijacks the parent
469
- // sessionId — see isSessionFileForSource for the matching read-side check.
470
- if (source === 'claude' && dirname(fullPath) !== root)
503
+ // For claude and pi, session files only live at <root>/<slug>/<uuid>.jsonl.
504
+ // Anything deeper is subagent / future-nested scratch data that hijacks the
505
+ // parent sessionId — see isSessionFileForSource for the matching read-side check.
506
+ if ((source === 'claude' || source === 'pi') && dirname(fullPath) !== root)
471
507
  continue;
472
508
  walkDir(fullPath, root, results, source);
473
509
  }
@@ -497,27 +533,16 @@ function loadCodexSessionIndex() {
497
533
  if (rec.id && rec.thread_name)
498
534
  titles.set(rec.id, rec.thread_name);
499
535
  }
500
- catch { /* skip malformed lines */ }
536
+ catch {
537
+ /* skip malformed lines */
538
+ }
501
539
  }
502
540
  }
503
- catch { /* file may not exist */ }
541
+ catch {
542
+ /* file may not exist */
543
+ }
504
544
  return titles;
505
545
  }
506
- /** Build the per-role text that backs `session_search_fts`, reading
507
- * from `messages.content_text` so that Security Scan purge masks are
508
- * honoured. The legacy `buildSessionSearchText(parsed.messages, …)`
509
- * shape pulled directly from the parser output (i.e. from the source
510
- * jsonl which still contains the raw secret), which leaked purged
511
- * values back into the session-level FTS on every re-sync. */
512
- function buildSessionSearchTextFromDb(db, sessionId, role) {
513
- const rows = db.prepare(`SELECT content_text FROM messages
514
- WHERE session_id = ? AND is_sidechain = 0 AND role = ?
515
- ORDER BY seq, id`).all(sessionId, role);
516
- return rows
517
- .map(r => r.content_text.trim())
518
- .filter(Boolean)
519
- .join('\n');
520
- }
521
546
  function resolveProject(filePath, source, cwd) {
522
547
  const home = homedir();
523
548
  if (source === 'claude') {
@@ -544,13 +569,20 @@ function resolveProject(filePath, source, cwd) {
544
569
  const slug = displayPath.replace(/^\//, '').replace(/\//g, '-') || 'default';
545
570
  return { slug, displayPath, displayName };
546
571
  }
572
+ else if (source === 'pi') {
573
+ // ~/.pi/agent/sessions/{cwd-slug}/{timestamp}_{uuid}.jsonl — the header cwd
574
+ // is authoritative; the directory slug is a lossy fallback.
575
+ const displayPath = cwd || decodePiSessionDirSlug(basename(dirname(filePath)));
576
+ const parts = displayPath.split('/').filter(Boolean);
577
+ const displayName = parts[parts.length - 1] ?? 'pi';
578
+ const slug = displayPath.replace(/^\//, '').replace(/\//g, '-') || 'default';
579
+ return { slug, displayPath, displayName };
580
+ }
547
581
  const projectIdentifier = dirname(filePath).split('/').at(-2) ?? 'gemini';
548
582
  const displayPath = cwd || projectIdentifier;
549
583
  const parts = displayPath.split('/').filter(Boolean);
550
584
  const displayName = parts[parts.length - 1] ?? projectIdentifier;
551
- const slug = cwd
552
- ? displayPath.replace(/^\//, '').replace(/\//g, '-')
553
- : projectIdentifier;
585
+ const slug = cwd ? displayPath.replace(/^\//, '').replace(/\//g, '-') : projectIdentifier;
554
586
  return { slug: slug || projectIdentifier, displayPath, displayName };
555
587
  }
556
588
  //# sourceMappingURL=syncer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"syncer.js","sourceRoot":"","sources":["../../src/sync/syncer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syncer.js","sourceRoot":"","sources":["../../src/sync/syncer.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ export interface WatcherEventDataMap {
5
5
  'new-sessions': {
6
6
  count: number;
7
7
  };
8
- 'error': {
8
+ error: {
9
9
  error: Error;
10
10
  root?: string;
11
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../../src/sync/watcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,OAAO,EAA4B,MAAM,SAAS,CAAA;AAEpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAKzC,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG,OAAO,CAAA;AAEnD,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACjC,OAAO,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACzC;AAED,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAA;AAEhE,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,IAAI,CACxE,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC,KACzB,IAAI,CAAA;AAET,MAAM,WAAW,mBAAmB;IAClC,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,kEAAkE;IAClE,OAAO,CAAC,EAAE,OAAO,OAAO,CAAA;CACzB;AAYD,qBAAa,YAAY;IAaX,OAAO,CAAC,MAAM;IAZ1B,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,SAAS,CAAuD;IACxE,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,UAAU,CAAI;IACtB,OAAO,CAAC,UAAU,CAA6C;IAC/D,OAAO,CAAC,WAAW,CAAuF;IAC1G,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;gBAEpB,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,mBAAwB;IAOlE,KAAK,IAAI,IAAI;IAiBb,IAAI,IAAI,IAAI;IAeZ,EAAE,CAAC,CAAC,SAAS,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI;IAMvE,OAAO,CAAC,SAAS;IA6BjB,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,aAAa;IA+BrB,OAAO,CAAC,OAAO;IAsBf,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,IAAI;CAOb"}
1
+ {"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../../src/sync/watcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,OAAO,EAA4B,MAAM,SAAS,CAAA;AAMpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG,OAAO,CAAA;AAEnD,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACjC,KAAK,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACvC;AAED,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAA;AAEhE,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,IAAI,CACxE,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC,KACzB,IAAI,CAAA;AAET,MAAM,WAAW,mBAAmB;IAClC,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,kEAAkE;IAClE,OAAO,CAAC,EAAE,OAAO,OAAO,CAAA;CACzB;AAYD,qBAAa,YAAY;IAoBrB,OAAO,CAAC,MAAM;IAnBhB,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,SAAS,CAAuD;IACxE,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,UAAU,CAAI;IACtB,OAAO,CAAC,UAAU,CAA6C;IAC/D,OAAO,CAAC,WAAW,CAMlB;IACD,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IAExC,YACU,MAAM,EAAE,MAAM,EACtB,IAAI,GAAE,mBAAwB,EAM/B;IAED,KAAK,IAAI,IAAI,CAiBZ;IAED,IAAI,IAAI,IAAI,CAiBX;IAED,EAAE,CAAC,CAAC,SAAS,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAItE;IAED,OAAO,CAAC,SAAS;IA6BjB,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,aAAa;IA+BrB,OAAO,CAAC,OAAO;IAsBf,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,IAAI;CAWb"}
@@ -1,7 +1,7 @@
1
1
  import { watch as fsWatch, statSync } from 'node:fs';
2
2
  import { resolve as resolvePath } from 'node:path';
3
- import { detectSessionSource, getSessionRoots } from './source-paths.js';
4
3
  import { normalizeOpenCodeWatchPath } from '../parsers/opencode.js';
4
+ import { detectSessionSource, getSessionRoots } from './source-paths.js';
5
5
  const DEFAULT_STABILITY_MS = 2000;
6
6
  const DEFAULT_POLL_MS = 200;
7
7
  const DEFAULT_FLUSH_MS = 500;
@@ -12,7 +12,13 @@ export class SpoolWatcher {
12
12
  pending = new Map();
13
13
  pendingNew = 0;
14
14
  flushTimer = null;
15
- sourceRoots = { claude: [], codex: [], gemini: [], opencode: [] };
15
+ sourceRoots = {
16
+ claude: [],
17
+ codex: [],
18
+ gemini: [],
19
+ opencode: [],
20
+ pi: [],
21
+ };
16
22
  stopped = false;
17
23
  stabilityMs;
18
24
  pollMs;
@@ -32,12 +38,14 @@ export class SpoolWatcher {
32
38
  codex: getSessionRoots('codex'),
33
39
  gemini: getSessionRoots('gemini'),
34
40
  opencode: getSessionRoots('opencode'),
41
+ pi: getSessionRoots('pi'),
35
42
  };
36
43
  const roots = [
37
44
  ...this.sourceRoots.claude,
38
45
  ...this.sourceRoots.codex,
39
46
  ...this.sourceRoots.gemini,
40
47
  ...this.sourceRoots.opencode,
48
+ ...this.sourceRoots.pi,
41
49
  ];
42
50
  for (const root of roots)
43
51
  this.watchRoot(root);
@@ -48,7 +56,9 @@ export class SpoolWatcher {
48
56
  try {
49
57
  w.close();
50
58
  }
51
- catch { /* ignore */ }
59
+ catch {
60
+ /* ignore */
61
+ }
52
62
  }
53
63
  this.watchers = [];
54
64
  for (const entry of this.pending.values())
@@ -179,9 +189,12 @@ export class SpoolWatcher {
179
189
  return;
180
190
  for (const cb of list) {
181
191
  try {
192
+ ;
182
193
  cb(event, data);
183
194
  }
184
- catch { /* listener errors shouldn't break the watcher */ }
195
+ catch {
196
+ /* listener errors shouldn't break the watcher */
197
+ }
185
198
  }
186
199
  }
187
200
  }
@@ -1 +1 @@
1
- {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../src/sync/watcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,QAAQ,EAAkB,MAAM,SAAS,CAAA;AACpE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAA;AAGlD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AAiCnE,MAAM,oBAAoB,GAAG,IAAI,CAAA;AACjC,MAAM,eAAe,GAAG,GAAG,CAAA;AAC3B,MAAM,gBAAgB,GAAG,GAAG,CAAA;AAE5B,MAAM,OAAO,YAAY;IAaH;IAZZ,QAAQ,GAAgB,EAAE,CAAA;IAC1B,SAAS,GAA8C,IAAI,GAAG,EAAE,CAAA;IAChE,OAAO,GAA8B,IAAI,GAAG,EAAE,CAAA;IAC9C,UAAU,GAAG,CAAC,CAAA;IACd,UAAU,GAAyC,IAAI,CAAA;IACvD,WAAW,GAAoC,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;IAClG,OAAO,GAAG,KAAK,CAAA;IACN,WAAW,CAAQ;IACnB,MAAM,CAAQ;IACd,OAAO,CAAQ;IACf,OAAO,CAAgB;IAExC,YAAoB,MAAc,EAAE,OAA4B,EAAE;QAA9C,WAAM,GAAN,MAAM,CAAQ;QAChC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,oBAAoB,CAAA;QAC3D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,eAAe,CAAA;QAC5C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,gBAAgB,CAAA;QAC/C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,OAAO,CAAA;IACxC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,WAAW,GAAG;YACjB,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC;YACjC,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC;YAC/B,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC;YACjC,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC;SACtC,CAAA;QACD,MAAM,KAAK,GAAG;YACZ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM;YAC1B,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK;YACzB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM;YAC1B,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ;SAC7B,CAAA;QACD,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAChD,CAAC;IAED,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC;gBAAC,CAAC,CAAC,KAAK,EAAE,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;QAClB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAAE,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACpE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QACpB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;QACxB,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,CAAC,CAAA;IACrB,CAAC;IAED,EAAE,CAAyB,KAAQ,EAAE,EAA2B;QAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;QAC5C,IAAI,CAAC,IAAI,CAAC,EAA0B,CAAC,CAAA;QACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IACjC,CAAC;IAEO,SAAS,CAAC,IAAY;QAC5B,IAAI,CAAY,CAAA;QAChB,IAAI,CAAC;YACH,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC/D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,GAAI,GAA6B,EAAE,IAAI,CAAA;YACjD,+EAA+E;YAC/E,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAY,EAAE,IAAI,EAAE,CAAC,CAAA;YACnD,CAAC;YACD,OAAM;QACR,CAAC;QAED,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE;YACtC,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ;gBAAE,OAAM;YACrC,2EAA2E;YAC3E,2EAA2E;YAC3E,wEAAwE;YACxE,MAAM,GAAG,GAAG,0BAA0B,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;YAC9E,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC,CAAC,CAAA;QAEF,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACpB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAY,EAAE,IAAI,EAAE,CAAC,CAAA;QACnD,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACvB,CAAC;IAEO,YAAY,CAAC,QAAgB;QACnC,mEAAmE;QACnE,8DAA8D;QAC9D,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACrD,iFAAiF;YACjF,qFAAqF;YACrF,OAAM;QACR,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC3C,IAAI,QAAQ;YAAE,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAE1C,MAAM,KAAK,GAAiB;YAC1B,QAAQ,EAAE,QAAQ,EAAE,QAAQ,IAAI,CAAC,CAAC;YAClC,WAAW,EAAE,QAAQ,EAAE,WAAW,IAAI,CAAC,CAAC;YACxC,KAAK,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC;SACxE,CAAA;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACnC,CAAC;IAEO,aAAa,CAAC,QAAgB;QACpC,IAAI,IAAI,CAAC,OAAO;YAAE,OAAM;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACxC,IAAI,CAAC,KAAK;YAAE,OAAM;QAElB,IAAI,IAAY,CAAA;QAChB,IAAI,OAAe,CAAA;QACnB,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAC5B,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;gBAChB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;gBAC7B,OAAM;YACR,CAAC;YACD,IAAI,GAAG,CAAC,CAAC,IAAI,CAAA;YACb,OAAO,GAAG,CAAC,CAAC,OAAO,CAAA;QACrB,CAAC;QAAC,MAAM,CAAC;YACP,uCAAuC;YACvC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC7B,OAAM;QACR,CAAC;QAED,IAAI,IAAI,KAAK,KAAK,CAAC,QAAQ,IAAI,OAAO,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC;YAC7D,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC7B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;YACtB,OAAM;QACR,CAAC;QACD,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAA;QACrB,KAAK,CAAC,WAAW,GAAG,OAAO,CAAA;QAC3B,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IAC3E,CAAC;IAEO,OAAO,CAAC,QAAgB;QAC9B,2EAA2E;QAC3E,uEAAuE;QACvE,cAAc,CAAC,GAAG,EAAE;YAClB,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAM;YACxB,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;YAC9D,IAAI,CAAC,MAAM;gBAAE,OAAM;YACnB,IAAI,MAAsC,CAAA;YAC1C,IAAI,CAAC;gBACH,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YACjD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAY,EAAE,CAAC,CAAA;gBAC3C,OAAM;YACR,CAAC;YACD,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC/C,IAAI,CAAC,UAAU,EAAE,CAAA;gBACjB,IAAI,IAAI,CAAC,UAAU;oBAAE,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBAClD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;YACnE,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,QAAQ;QACd,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAA;QAC7B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAA;QACnB,IAAI,KAAK,GAAG,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IACrD,CAAC;IAEO,IAAI,CAAyB,KAAQ,EAAE,IAA4B;QACzE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACtC,IAAI,CAAC,IAAI;YAAE,OAAM;QACjB,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC;gBAAE,EAA8B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,iDAAiD,CAAC,CAAC;QAClH,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../src/sync/watcher.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type SessionSource = 'claude' | 'codex' | 'gemini' | 'opencode';
1
+ export type SessionSource = 'claude' | 'codex' | 'gemini' | 'opencode' | 'pi';
2
2
  export type Source = SessionSource;
3
3
  export type SearchMatchType = 'fts' | 'phrase' | 'all_terms';
4
4
  export interface ParsedMessage {
@@ -17,6 +17,8 @@ export interface ParsedSession {
17
17
  filePath: string;
18
18
  title: string;
19
19
  cwd: string;
20
+ /** Provider-recorded Git remote, when available. */
21
+ gitRemote?: string;
20
22
  model: string;
21
23
  startedAt: string;
22
24
  endedAt: string;
@@ -75,6 +77,10 @@ export interface ProjectGroup {
75
77
  sessionCount: number;
76
78
  lastSessionAt: string | null;
77
79
  }
80
+ export interface ProjectGroupWithPaths extends ProjectGroup {
81
+ displayPaths: string[];
82
+ cwds: string[];
83
+ }
78
84
  export interface Message {
79
85
  id: number;
80
86
  sessionId: number;
@@ -111,6 +117,7 @@ export interface StatusInfo {
111
117
  codexSessions: number;
112
118
  geminiSessions: number;
113
119
  opencodeSessions: number;
120
+ piSessions: number;
114
121
  lastSyncedAt: string | null;
115
122
  dbSizeBytes: number;
116
123
  }