@spool-lab/core 0.5.1 → 0.6.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 (85) hide show
  1. package/dist/db/db.d.ts +1 -1
  2. package/dist/db/db.d.ts.map +1 -1
  3. package/dist/db/db.js +159 -2
  4. package/dist/db/db.js.map +1 -1
  5. package/dist/db/published-shares-cache.d.ts +39 -0
  6. package/dist/db/published-shares-cache.d.ts.map +1 -0
  7. package/dist/db/published-shares-cache.js +60 -0
  8. package/dist/db/published-shares-cache.js.map +1 -0
  9. package/dist/db/queries.d.ts +58 -2
  10. package/dist/db/queries.d.ts.map +1 -1
  11. package/dist/db/queries.js +210 -26
  12. package/dist/db/queries.js.map +1 -1
  13. package/dist/db/search-query.d.ts +7 -0
  14. package/dist/db/search-query.d.ts.map +1 -1
  15. package/dist/db/search-query.js +26 -0
  16. package/dist/db/search-query.js.map +1 -1
  17. package/dist/db/share-drafts.js.map +1 -1
  18. package/dist/index.d.ts +2 -0
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +2 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/migrations/worktree-identity-upgrade.d.ts +5 -3
  23. package/dist/migrations/worktree-identity-upgrade.d.ts.map +1 -1
  24. package/dist/migrations/worktree-identity-upgrade.js +23 -2
  25. package/dist/migrations/worktree-identity-upgrade.js.map +1 -1
  26. package/dist/observability/exporter-file.d.ts.map +1 -1
  27. package/dist/observability/exporter-pretty.d.ts.map +1 -1
  28. package/dist/observability/exporter-pretty.js.map +1 -1
  29. package/dist/parsers/claude.d.ts.map +1 -1
  30. package/dist/parsers/claude.js +4 -144
  31. package/dist/parsers/claude.js.map +1 -1
  32. package/dist/parsers/codex.d.ts +7 -1
  33. package/dist/parsers/codex.d.ts.map +1 -1
  34. package/dist/parsers/codex.js +47 -177
  35. package/dist/parsers/codex.js.map +1 -1
  36. package/dist/parsers/gemini.d.ts.map +1 -1
  37. package/dist/parsers/gemini.js +102 -2
  38. package/dist/parsers/gemini.js.map +1 -1
  39. package/dist/parsers/pi.d.ts +18 -0
  40. package/dist/parsers/pi.d.ts.map +1 -0
  41. package/dist/parsers/pi.js +154 -0
  42. package/dist/parsers/pi.js.map +1 -0
  43. package/dist/parsers/spool-prelude.d.ts +1 -15
  44. package/dist/parsers/spool-prelude.d.ts.map +1 -1
  45. package/dist/parsers/spool-prelude.js +3 -20
  46. package/dist/parsers/spool-prelude.js.map +1 -1
  47. package/dist/projects/groups.d.ts +4 -1
  48. package/dist/projects/groups.d.ts.map +1 -1
  49. package/dist/projects/groups.js +26 -9
  50. package/dist/projects/groups.js.map +1 -1
  51. package/dist/projects/identity.d.ts +1 -1
  52. package/dist/projects/identity.d.ts.map +1 -1
  53. package/dist/projects/identity.js +12 -1
  54. package/dist/projects/identity.js.map +1 -1
  55. package/dist/projects/sessions.js.map +1 -1
  56. package/dist/projects/worktree-resolvers.d.ts +3 -0
  57. package/dist/projects/worktree-resolvers.d.ts.map +1 -1
  58. package/dist/projects/worktree-resolvers.js +130 -2
  59. package/dist/projects/worktree-resolvers.js.map +1 -1
  60. package/dist/security/profile.d.ts.map +1 -1
  61. package/dist/security/profile.js +2 -3
  62. package/dist/security/profile.js.map +1 -1
  63. package/dist/security/purge.d.ts +16 -11
  64. package/dist/security/purge.d.ts.map +1 -1
  65. package/dist/security/purge.js +165 -24
  66. package/dist/security/purge.js.map +1 -1
  67. package/dist/security/types.d.ts +1 -1
  68. package/dist/security/types.d.ts.map +1 -1
  69. package/dist/security/worker.d.ts.map +1 -1
  70. package/dist/security/worker.js +44 -8
  71. package/dist/security/worker.js.map +1 -1
  72. package/dist/sync/source-paths.d.ts.map +1 -1
  73. package/dist/sync/source-paths.js +47 -11
  74. package/dist/sync/source-paths.js.map +1 -1
  75. package/dist/sync/syncer.d.ts +59 -1
  76. package/dist/sync/syncer.d.ts.map +1 -1
  77. package/dist/sync/syncer.js +172 -36
  78. package/dist/sync/syncer.js.map +1 -1
  79. package/dist/sync/watcher.d.ts.map +1 -1
  80. package/dist/sync/watcher.js +3 -1
  81. package/dist/sync/watcher.js.map +1 -1
  82. package/dist/types.d.ts +8 -1
  83. package/dist/types.d.ts.map +1 -1
  84. package/dist/util/resolve-bin.js.map +1 -1
  85. package/package.json +7 -4
@@ -1,16 +1,41 @@
1
1
  import { DB_PATH, getDBSize } from './db.js';
2
- import { buildSearchPlan, canUseSessionSearchFts, getNaturalSearchPhrase, getNaturalSearchTerms, selectFtsTableKind } from './search-query.js';
2
+ import { buildPreviewFtsPlan, buildSearchPlan, canUseSessionSearchFts, containsCjk, getNaturalSearchPhrase, getNaturalSearchTerms, selectFtsTableKind } from './search-query.js';
3
3
  export function getOrCreateProject(db, sourceId, slug, displayPath, displayName, identity) {
4
4
  const existing = db
5
- .prepare('SELECT id FROM projects WHERE source_id = ? AND slug = ?')
5
+ .prepare('SELECT id, identity_kind FROM projects WHERE source_id = ? AND slug = ?')
6
6
  .get(sourceId, slug);
7
- if (existing)
7
+ if (existing) {
8
+ // Project rows predate identity grouping and are keyed by source + slug.
9
+ // A worktree may have been missing on first sync (stored as `path`) and
10
+ // become resolvable later. Refresh the row when the new signal is at least
11
+ // as strong, but never let a temporarily missing checkout downgrade a
12
+ // stable git/manifest identity back to `path`.
13
+ if (identityRank(identity.identityKind) >= identityRank(existing.identity_kind)) {
14
+ db.prepare(`
15
+ UPDATE projects
16
+ SET display_path = ?, display_name = ?, identity_kind = ?, identity_key = ?
17
+ WHERE id = ?
18
+ `).run(displayPath, displayName, identity.identityKind, identity.identityKey, existing.id);
19
+ }
8
20
  return existing.id;
21
+ }
9
22
  const result = db
10
23
  .prepare('INSERT INTO projects (source_id, slug, display_path, display_name, identity_kind, identity_key) VALUES (?, ?, ?, ?, ?, ?)')
11
24
  .run(sourceId, slug, displayPath, displayName, identity.identityKind, identity.identityKey);
12
25
  return Number(result.lastInsertRowid);
13
26
  }
27
+ function identityRank(kind) {
28
+ switch (kind) {
29
+ case 'git_remote': return 5;
30
+ case 'git_common_dir': return 4;
31
+ case 'manifest_path': return 3;
32
+ case 'synthetic':
33
+ case 'spool_internal': return 2;
34
+ case 'loose': return 1;
35
+ case 'path':
36
+ case null: return 0;
37
+ }
38
+ }
14
39
  export function getSourceId(db, name) {
15
40
  const row = db.prepare('SELECT id FROM sources WHERE name = ?').get(name);
16
41
  if (!row)
@@ -67,7 +92,7 @@ export function getAllSessionMtimes(db) {
67
92
  .all();
68
93
  return new Map(rows.map(r => [r.file_path, r.raw_file_mtime]));
69
94
  }
70
- export function upsertSession(db, opts) {
95
+ export function upsertSession(db, opts, mode = 'rewrite') {
71
96
  const existing = db
72
97
  .prepare('SELECT id, file_path FROM sessions WHERE session_uuid = ?')
73
98
  .get(opts.sessionUuid);
@@ -82,18 +107,27 @@ export function upsertSession(db, opts) {
82
107
  console.warn(`[upsertSession] session_uuid ${opts.sessionUuid} switching file_path: `
83
108
  + `${existing.file_path} → ${opts.filePath}`);
84
109
  }
85
- db.prepare('DELETE FROM messages WHERE session_id = ?').run(existing.id);
110
+ if (mode === 'rewrite') {
111
+ db.prepare('DELETE FROM messages WHERE session_id = ?').run(existing.id);
112
+ }
86
113
  // file_path is updated too: Spool-authored sessions start with a sentinel
87
114
  // ('spool:pending:<uuid>') and get rebound to the real source path here on
88
115
  // first sync. For normal sessions this is a no-op (same path).
116
+ //
117
+ // `message_count` is intentionally NOT updated here — the syncer
118
+ // recomputes it from the actual DB row count after insertMessages
119
+ // returns, which is the only count consistent with INSERT OR
120
+ // IGNORE-driven dedupe (claude tool-use shadow records would
121
+ // otherwise inflate the parser-derived value back to pre-v14
122
+ // levels on every sync).
89
123
  db.prepare(`
90
124
  UPDATE sessions SET
91
125
  title = CASE WHEN title_source = 'derived' THEN ? ELSE title END,
92
126
  file_path = ?,
93
- started_at = ?, ended_at = ?, message_count = ?,
127
+ started_at = ?, ended_at = ?,
94
128
  has_tool_use = ?, cwd = ?, model = ?, raw_file_mtime = ?
95
129
  WHERE id = ?
96
- `).run(opts.title, opts.filePath, opts.startedAt, opts.endedAt, opts.messageCount, opts.hasToolUse ? 1 : 0, opts.cwd, opts.model, opts.rawFileMtime, existing.id);
130
+ `).run(opts.title, opts.filePath, opts.startedAt, opts.endedAt, opts.hasToolUse ? 1 : 0, opts.cwd, opts.model, opts.rawFileMtime, existing.id);
97
131
  return existing.id;
98
132
  }
99
133
  const result = db.prepare(`
@@ -115,16 +149,108 @@ export function upsertSessionSearch(db, opts) {
115
149
  updated_at = datetime('now')
116
150
  `).run(opts.sessionId, opts.title, opts.userText, opts.assistantText);
117
151
  }
152
+ /** Rebuild the denormalized session-level search document from the authoritative
153
+ * session title and current message rows. Security purge calls this inside its
154
+ * transaction so raw values cannot survive in either session-level FTS index. */
155
+ export function refreshSessionSearchFromMessages(db, sessionId) {
156
+ const session = db.prepare('SELECT title FROM sessions WHERE id = ?')
157
+ .get(sessionId);
158
+ if (!session)
159
+ return;
160
+ const rows = db.prepare(`
161
+ SELECT role, content_text AS contentText
162
+ FROM messages
163
+ WHERE session_id = ?
164
+ AND is_sidechain = 0
165
+ AND role IN ('user', 'assistant')
166
+ ORDER BY seq, id
167
+ `).all(sessionId);
168
+ const byRole = { user: [], assistant: [] };
169
+ for (const row of rows) {
170
+ const text = row.contentText.trim();
171
+ if (text)
172
+ byRole[row.role].push(text);
173
+ }
174
+ upsertSessionSearch(db, {
175
+ sessionId,
176
+ title: session.title ?? '',
177
+ userText: byRole.user.join('\n'),
178
+ assistantText: byRole.assistant.join('\n'),
179
+ });
180
+ }
181
+ /** Insert message rows, skipping any that collide with the partial
182
+ * UNIQUE index on (session_id, msg_uuid). Returns the count of rows
183
+ * actually inserted — callers use this to decide whether anything
184
+ * changed (NULL scan_profile, fire onSessionChanged) or to skip
185
+ * downstream work when re-sync was a no-op.
186
+ *
187
+ * The ON CONFLICT clause must restate the same `WHERE msg_uuid IS
188
+ * NOT NULL` predicate as the index it targets; SQLite requires the
189
+ * predicates to match before it considers a partial index for
190
+ * conflict resolution. */
118
191
  export function insertMessages(db, sessionId, sourceId, messages) {
119
192
  const stmt = db.prepare(`
120
193
  INSERT INTO messages
121
194
  (session_id, source_id, msg_uuid, parent_uuid, role,
122
195
  content_text, timestamp, is_sidechain, tool_names, seq)
123
196
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
197
+ ON CONFLICT(session_id, msg_uuid) WHERE msg_uuid IS NOT NULL DO NOTHING
124
198
  `);
199
+ let inserted = 0;
125
200
  for (const m of messages) {
126
- stmt.run(sessionId, sourceId, m.uuid, m.parentUuid, m.role, m.contentText, m.timestamp, m.isSidechain ? 1 : 0, JSON.stringify(m.toolNames), m.seq);
201
+ const info = stmt.run(sessionId, sourceId, m.uuid, m.parentUuid, m.role, m.contentText, m.timestamp, m.isSidechain ? 1 : 0, JSON.stringify(m.toolNames), m.seq);
202
+ if (info.changes > 0)
203
+ inserted++;
127
204
  }
205
+ return inserted;
206
+ }
207
+ /** Lightweight snapshot used by the syncer's `classifySync` heuristic
208
+ * to decide between append and rewrite paths — just the row count
209
+ * and the leading uuid in seq order, joined off `session_uuid` so the
210
+ * caller doesn't pay a second `SELECT id FROM sessions` round-trip
211
+ * (upsertSession does that lookup anyway right after).
212
+ *
213
+ * We deliberately do NOT pull `content_text` here: comparing parsed-
214
+ * vs-stored content would trigger rewrite whenever Security Scan has
215
+ * already replaced the raw value with its mask, undoing the purge on
216
+ * every re-sync. Only msg_uuid-bearing rows participate in the dedupe
217
+ * index, so NULL-uuid rows are excluded.
218
+ *
219
+ * Returns `total === 0, firstUuid === null` both for "session row
220
+ * doesn't exist yet" and "session exists with no msg_uuid-bearing
221
+ * rows" — classifySync treats both as `rewrite` so the two-state
222
+ * collapse is intentional, not a lost signal. */
223
+ export function getMessageSnapshot(db, sessionUuid) {
224
+ // Single window-function query: pulls total plus leading and trailing
225
+ // uuids in one index scan over (session_id, msg_uuid). `LIMIT 1`
226
+ // returns the smallest-seq row; `COUNT(*) OVER ()` / `LAST_VALUE`
227
+ // annotate it with the partition-wide total and tail (no GROUP BY
228
+ // needed since the WHERE already scopes to one session).
229
+ const row = db.prepare(`SELECT m.msg_uuid AS msg_uuid,
230
+ COUNT(*) OVER () AS total,
231
+ LAST_VALUE(m.msg_uuid) OVER (
232
+ ORDER BY m.seq, m.id
233
+ ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
234
+ ) AS last_uuid
235
+ FROM messages m
236
+ JOIN sessions s ON s.id = m.session_id
237
+ WHERE s.session_uuid = ? AND m.msg_uuid IS NOT NULL
238
+ ORDER BY m.seq, m.id LIMIT 1`).get(sessionUuid);
239
+ if (!row)
240
+ return { firstUuid: null, lastUuid: null, total: 0 };
241
+ return { firstUuid: row.msg_uuid, lastUuid: row.last_uuid, total: row.total };
242
+ }
243
+ /** Refresh `sessions.message_count` for a single session from the
244
+ * actual non-sidechain row count. Called after every sync's INSERT
245
+ * block so the denormalised count tracks the deduped truth — the
246
+ * parser's `parsed.messages.length` would re-introduce the v14-fixed
247
+ * inflation for source formats (claude) that emit some records
248
+ * twice. */
249
+ export function recomputeMessageCount(db, sessionId) {
250
+ db.prepare(`UPDATE sessions SET message_count = (
251
+ SELECT COUNT(*) FROM messages
252
+ WHERE session_id = sessions.id AND is_sidechain = 0
253
+ ) WHERE id = ?`).run(sessionId);
128
254
  }
129
255
  export const SESSION_SELECT = `
130
256
  SELECT
@@ -202,15 +328,18 @@ export function searchFragments(db, query, opts = {}) {
202
328
  export function searchSessionPreview(db, query, opts = {}) {
203
329
  const { limit = 5, source, since } = opts;
204
330
  const normalizedQuery = query.trim();
205
- if (!normalizedQuery)
331
+ // Single-character ascii previews stay gated (a per-keystroke full scan
332
+ // buys nothing), but a single CJK character is a meaningful query — it
333
+ // takes the LIKE fallback below, as it did before the FTS preview landed.
334
+ if (Array.from(normalizedQuery).length < 2 && !containsCjk(normalizedQuery))
206
335
  return [];
207
336
  const terms = getNaturalSearchTerms(query);
208
337
  const previewTerms = terms.length > 0 ? terms : [normalizedQuery];
209
- const rows = searchPreviewRows(db, previewTerms, limit, {
338
+ const rows = searchPreviewRows(db, normalizedQuery, previewTerms, limit, {
210
339
  ...(source ? { source } : {}),
211
340
  ...(since ? { since } : {}),
212
341
  });
213
- const snippetRows = selectBestSessionSnippets(db, rows.map(row => row['sessionId']), previewTerms);
342
+ const snippetRows = selectBestSessionSnippets(db, rows.map(row => row['sessionId']), previewTerms, buildPreviewFtsPlan(normalizedQuery));
214
343
  return rows.map((row, index) => {
215
344
  const sessionId = row['sessionId'];
216
345
  const snippetRow = snippetRows.get(sessionId);
@@ -281,7 +410,52 @@ function searchFragmentRows(db, ftsTable, ftsQuery, limit, opts = {}) {
281
410
  `;
282
411
  return db.prepare(sql).all(...params);
283
412
  }
284
- function searchPreviewRows(db, terms, limit, opts = {}) {
413
+ function searchPreviewRows(db, query, terms, limit, opts = {}) {
414
+ const ftsPlan = buildPreviewFtsPlan(query);
415
+ if (ftsPlan) {
416
+ return searchPreviewRowsByFts(db, query, ftsPlan, limit, opts);
417
+ }
418
+ return searchPreviewRowsByLike(db, terms, limit, opts);
419
+ }
420
+ function searchPreviewRowsByFts(db, query, plan, limit, opts = {}) {
421
+ const { source, since } = opts;
422
+ const ftsTable = plan.tableKind === 'trigram'
423
+ ? 'session_search_fts_trigram'
424
+ : 'session_search_fts';
425
+ const conditions = [`${ftsTable} MATCH ?`];
426
+ const filterParams = [plan.query];
427
+ if (source) {
428
+ conditions.push('src2.name = ?');
429
+ filterParams.push(source);
430
+ }
431
+ if (since) {
432
+ conditions.push('sess.started_at >= ?');
433
+ filterParams.push(since);
434
+ }
435
+ const sql = `
436
+ SELECT
437
+ sess.id AS sessionId,
438
+ sess.session_uuid AS sessionUuid,
439
+ sess.file_path AS filePath,
440
+ sess.title AS sessionTitle,
441
+ sess.started_at AS startedAt,
442
+ sess.cwd AS cwd,
443
+ p.display_path AS project,
444
+ src2.name AS source,
445
+ CASE WHEN ss.title LIKE ? ESCAPE '\\' THEN 1 ELSE 0 END AS titlePrefixScore,
446
+ bm25(${ftsTable}, 5.0, 1.5, 0.8) AS ftsScore
447
+ FROM ${ftsTable}
448
+ JOIN session_search ss ON ss.session_id = ${ftsTable}.rowid
449
+ JOIN sessions sess ON sess.id = ss.session_id
450
+ JOIN projects p ON p.id = sess.project_id
451
+ JOIN sources src2 ON src2.id = sess.source_id
452
+ WHERE ${conditions.join(' AND ')}
453
+ ORDER BY titlePrefixScore DESC, ftsScore ASC, sess.started_at DESC
454
+ LIMIT ?
455
+ `;
456
+ return db.prepare(sql).all(`${escapeLike(query)}%`, ...filterParams, limit);
457
+ }
458
+ function searchPreviewRowsByLike(db, terms, limit, opts = {}) {
285
459
  const { source, since } = opts;
286
460
  const scoreParts = [];
287
461
  const scoreParams = [];
@@ -591,28 +765,36 @@ function searchSessionRowsByFts(db, terms, phrase, limit, matchType, opts = {})
591
765
  `;
592
766
  return db.prepare(sql).all(...params);
593
767
  }
594
- function selectBestSessionSnippets(db, sessionIds, terms) {
768
+ function selectBestSessionSnippets(db, sessionIds, terms, ftsPlan = null) {
595
769
  if (sessionIds.length === 0)
596
770
  return new Map();
597
- const coverageExpr = terms.map(() => `CASE WHEN content_text LIKE ? ESCAPE '\\' THEN 1 ELSE 0 END`).join(' + ');
598
- const anyClauses = terms.map(() => 'content_text LIKE ? ESCAPE \'\\\'').join(' OR ');
771
+ const coverageExpr = terms.map(() => `CASE WHEN m.content_text LIKE ? ESCAPE '\\' THEN 1 ELSE 0 END`).join(' + ');
772
+ const anyClauses = terms.map(() => 'm.content_text LIKE ? ESCAPE \'\\\'').join(' OR ');
599
773
  const allPatterns = terms.map(toLikePattern);
600
774
  const anyPatterns = terms.map(toLikePattern);
601
775
  const sessionPlaceholders = sessionIds.map(() => '?').join(', ');
776
+ const messageSource = ftsPlan
777
+ ? `${ftsPlan.tableKind === 'trigram' ? 'messages_fts_trigram' : 'messages_fts'} AS message_matches
778
+ JOIN messages AS m ON m.id = message_matches.rowid`
779
+ : 'messages AS m';
780
+ const matchCondition = ftsPlan
781
+ ? 'message_matches.content_text MATCH ?'
782
+ : `(${anyClauses})`;
783
+ const matchParams = ftsPlan ? [ftsPlan.anyTermQuery] : anyPatterns;
602
784
  const matchSql = `
603
785
  WITH raw AS (
604
786
  SELECT
605
- id AS messageId,
606
- session_id AS sessionId,
607
- role AS messageRole,
608
- timestamp AS messageTimestamp,
609
- content_text AS contentText,
610
- seq,
787
+ m.id AS messageId,
788
+ m.session_id AS sessionId,
789
+ m.role AS messageRole,
790
+ m.timestamp AS messageTimestamp,
791
+ m.content_text AS contentText,
792
+ m.seq,
611
793
  ${coverageExpr} AS termCoverage
612
- FROM messages
613
- WHERE session_id IN (${sessionPlaceholders})
614
- AND is_sidechain = 0
615
- AND (${anyClauses})
794
+ FROM ${messageSource}
795
+ WHERE m.session_id IN (${sessionPlaceholders})
796
+ AND m.is_sidechain = 0
797
+ AND ${matchCondition}
616
798
  ),
617
799
  ranked AS (
618
800
  SELECT
@@ -640,7 +822,7 @@ function selectBestSessionSnippets(db, sessionIds, terms) {
640
822
  FROM ranked
641
823
  WHERE rn = 1
642
824
  `;
643
- const rows = db.prepare(matchSql).all(...allPatterns, ...sessionIds, ...anyPatterns);
825
+ const rows = db.prepare(matchSql).all(...allPatterns, ...sessionIds, ...matchParams);
644
826
  return new Map(rows.map(row => [row.sessionId, row]));
645
827
  }
646
828
  export function buildLikeSnippet(text, terms) {
@@ -732,6 +914,7 @@ export function getStatus(db) {
732
914
  const codexRow = counts.find(r => r.name === 'codex');
733
915
  const geminiRow = counts.find(r => r.name === 'gemini');
734
916
  const opencodeRow = counts.find(r => r.name === 'opencode');
917
+ const piRow = counts.find(r => r.name === 'pi');
735
918
  return {
736
919
  dbPath: DB_PATH,
737
920
  totalSessions,
@@ -739,6 +922,7 @@ export function getStatus(db) {
739
922
  codexSessions: codexRow?.cnt ?? 0,
740
923
  geminiSessions: geminiRow?.cnt ?? 0,
741
924
  opencodeSessions: opencodeRow?.cnt ?? 0,
925
+ piSessions: piRow?.cnt ?? 0,
742
926
  lastSyncedAt: lastSync?.last ?? null,
743
927
  dbSizeBytes: getDBSize(),
744
928
  };
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/db/queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/db/queries.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,18 @@ export type SearchPlanStep = {
3
3
  query: string;
4
4
  matchType: 'fts' | 'phrase' | 'all_terms';
5
5
  };
6
+ export type PreviewFtsPlan = {
7
+ tableKind: FtsTableKind;
8
+ query: string;
9
+ anyTermQuery: string;
10
+ };
6
11
  export declare function buildSearchPlan(query: string): SearchPlanStep[];
7
12
  export declare function buildFtsQuery(query: string): string;
8
13
  export declare function getNaturalSearchTerms(query: string): string[];
9
14
  export declare function getNaturalSearchPhrase(query: string): string;
10
15
  export declare function selectFtsTableKind(query: string): FtsTableKind;
16
+ export declare function containsCjk(value: string): boolean;
11
17
  export declare function shouldUseSessionFallback(query: string): boolean;
12
18
  export declare function canUseSessionSearchFts(query: string): boolean;
19
+ export declare function buildPreviewFtsPlan(query: string): PreviewFtsPlan | null;
13
20
  //# sourceMappingURL=search-query.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-query.d.ts","sourceRoot":"","sources":["../../src/db/search-query.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,CAAA;AAChD,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,WAAW,CAAA;CAC1C,CAAA;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE,CAiB/D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAI7D;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAE9D;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAI/D;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAI7D"}
1
+ {"version":3,"file":"search-query.d.ts","sourceRoot":"","sources":["../../src/db/search-query.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,CAAA;AAChD,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,WAAW,CAAA;CAC1C,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,YAAY,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE,CAiB/D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAI7D;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAE9D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAI/D;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAI7D;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAuBxE"}
@@ -31,6 +31,9 @@ export function getNaturalSearchPhrase(query) {
31
31
  export function selectFtsTableKind(query) {
32
32
  return CJK_SEARCH_CHAR.test(query) ? 'trigram' : 'unicode';
33
33
  }
34
+ export function containsCjk(value) {
35
+ return CJK_SEARCH_CHAR.test(value);
36
+ }
34
37
  export function shouldUseSessionFallback(query) {
35
38
  const terms = getNaturalSearchTerms(query);
36
39
  if (terms.length < 2)
@@ -43,6 +46,29 @@ export function canUseSessionSearchFts(query) {
43
46
  return false;
44
47
  return terms.every(term => !containsShortCjkTerm(term));
45
48
  }
49
+ export function buildPreviewFtsPlan(query) {
50
+ const terms = getNaturalSearchTerms(query);
51
+ if (terms.length === 0)
52
+ return null;
53
+ const tableKind = selectFtsTableKind(query);
54
+ // Plan terms are ANDed, so a single unmatchable term zeroes out the whole
55
+ // preview. Trigram phrases never match below 3 codepoints (`错误码 42`),
56
+ // and unicode61 tokenizes punctuation-only terms to an empty phrase
57
+ // (`foo =>`). Either shape falls back to the LIKE scan.
58
+ const unmatchable = tableKind === 'trigram'
59
+ ? (term) => Array.from(term).length < 3
60
+ : (term) => !/[\p{L}\p{N}]/u.test(term);
61
+ if (terms.some(unmatchable))
62
+ return null;
63
+ const ftsTerms = tableKind === 'unicode'
64
+ ? terms.map(term => `${quoteFtsTerm(term)}*`)
65
+ : terms.map(quoteFtsTerm);
66
+ return {
67
+ tableKind,
68
+ query: ftsTerms.join(' AND '),
69
+ anyTermQuery: ftsTerms.join(' OR '),
70
+ };
71
+ }
46
72
  function normalizeWhitespace(value) {
47
73
  return value.trim().replace(/\s+/g, ' ');
48
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"search-query.js","sourceRoot":"","sources":["../../src/db/search-query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-query.js","sourceRoot":"","sources":["../../src/db/search-query.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"share-drafts.js","sourceRoot":"","sources":["../../src/db/share-drafts.ts"],"names":[],"mappings":"AAwCA,MAAM,SAAS,GAAG,mFAAmF,CAAA;AACrG,MAAM,SAAS,GAAG,GAAG,SAAS,iBAAiB,CAAA;AAE/C;;iEAEiE;AACjE,MAAM,UAAU,eAAe,CAC7B,EAAqB,EACrB,OAA2B,EAAE;IAE7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,GAAG,CAAA;IAC/B,OAAO,EAAE;SACN,OAAO,CAAC,UAAU,SAAS,qDAAqD,CAAC;SACjF,GAAG,CAAC,KAAK,CAAyB,CAAA;AACvC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAqB,EAAE,OAAe;IAClE,OAAO,CACJ,EAAE;SACA,OAAO,CAAC,UAAU,SAAS,uCAAuC,CAAC;SACnE,GAAG,CAAC,OAAO,CAA+B,IAAI,IAAI,CACtD,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAqB,EAAE,KAA4B;IAClF,EAAE,CAAC,OAAO,CACR;;;;;;;;2CAQuC,CACxC,CAAC,GAAG,CACH,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,YAAY,CACnB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAAqB,EAAE,OAAe;IACrE,EAAE,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;AACxE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,EAAqB,EAAE,WAAmB;IAC7E,MAAM,GAAG,GAAG,EAAE;SACX,OAAO,CACN;iEAC2D,CAC5D;SACA,GAAG,CAAC,WAAW,CAAkB,CAAA;IACpC,OAAO,GAAG,CAAC,CAAC,CAAA;AACd,CAAC"}
1
+ {"version":3,"file":"share-drafts.js","sourceRoot":"","sources":["../../src/db/share-drafts.ts"],"names":[],"mappings":"AAwCA,MAAM,SAAS,GAAG,mFAAmF,CAAA;AACrG,MAAM,SAAS,GAAG,GAAG,SAAS,iBAAiB,CAAA;AAE/C;;iEAEiE;AACjE,MAAM,UAAU,eAAe,CAC7B,EAAqB,EACrB,IAAI,GAAuB,EAAE;IAE7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,GAAG,CAAA;IAC/B,OAAO,EAAE;SACN,OAAO,CAAC,UAAU,SAAS,qDAAqD,CAAC;SACjF,GAAG,CAAC,KAAK,CAAyB,CAAA;AACvC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAqB,EAAE,OAAe;IAClE,OAAO,CACJ,EAAE;SACA,OAAO,CAAC,UAAU,SAAS,uCAAuC,CAAC;SACnE,GAAG,CAAC,OAAO,CAA+B,IAAI,IAAI,CACtD,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAqB,EAAE,KAA4B;IAClF,EAAE,CAAC,OAAO,CACR;;;;;;;;2CAQuC,CACxC,CAAC,GAAG,CACH,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,YAAY,CACnB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAAqB,EAAE,OAAe;IACrE,EAAE,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;AACxE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,EAAqB,EAAE,WAAmB;IAC7E,MAAM,GAAG,GAAG,EAAE;SACX,OAAO,CACN;iEAC2D,CAC5D;SACA,GAAG,CAAC,WAAW,CAAkB,CAAA;IACpC,OAAO,GAAG,CAAC,CAAC,CAAA;AACd,CAAC"}
package/dist/index.d.ts CHANGED
@@ -2,10 +2,12 @@ export * from './types.js';
2
2
  export * from './db/db.js';
3
3
  export * from './db/queries.js';
4
4
  export * from './db/share-drafts.js';
5
+ export * from './db/published-shares-cache.js';
5
6
  export * from './parsers/claude.js';
6
7
  export * from './parsers/codex.js';
7
8
  export * from './parsers/gemini.js';
8
9
  export * from './parsers/opencode.js';
10
+ export * from './parsers/pi.js';
9
11
  export * from './parsers/spool-prelude.js';
10
12
  export * from './sync/syncer.js';
11
13
  export * from './sync/watcher.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,uBAAuB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,4BAA4B,CAAA;AAC1C,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,uBAAuB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA"}
package/dist/index.js CHANGED
@@ -2,10 +2,12 @@ export * from './types.js';
2
2
  export * from './db/db.js';
3
3
  export * from './db/queries.js';
4
4
  export * from './db/share-drafts.js';
5
+ export * from './db/published-shares-cache.js';
5
6
  export * from './parsers/claude.js';
6
7
  export * from './parsers/codex.js';
7
8
  export * from './parsers/gemini.js';
8
9
  export * from './parsers/opencode.js';
10
+ export * from './parsers/pi.js';
9
11
  export * from './parsers/spool-prelude.js';
10
12
  export * from './sync/syncer.js';
11
13
  export * from './sync/watcher.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,uBAAuB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,4BAA4B,CAAA;AAC1C,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,uBAAuB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA"}
@@ -12,11 +12,13 @@ import { type IdentityFs } from '../projects/identity.js';
12
12
  * already grouped under `git_remote: github.com/spool-lab/spool`.
13
13
  *
14
14
  * This migration re-runs `computeIdentity` against the stored `identity_key`.
15
- * The resolver chain (default: superset) now reads the worktree tool's
15
+ * The resolver chain (Orca, then Superset) reads each worktree tool's
16
16
  * persistent registry to find the upstream main-repo path, runs git on it,
17
17
  * and returns a real `git_remote` / `git_common_dir` identity. Same identity
18
18
  * tuple as the parent project → `project_groups_v` collapses them into one
19
- * row in the sidebar without any explicit row merging.
19
+ * row in the sidebar without any explicit row merging. It originally shipped
20
+ * as v10 and is also run on every DB open because resolver state can improve
21
+ * independently of the schema version.
20
22
  *
21
23
  * Idempotent: re-running sees no `path`-kind candidates that resolve to a
22
24
  * different identity, so it's a no-op on the second pass. Rows that still
@@ -27,5 +29,5 @@ export interface WorktreeUpgradeResult {
27
29
  examined: number;
28
30
  upgraded: number;
29
31
  }
30
- export declare function upgradeWorktreeIdentities(db: Database.Database, fs: IdentityFs): WorktreeUpgradeResult;
32
+ export declare function upgradeWorktreeIdentities(db: Database.Database, fs: IdentityFs, readCodexGitRemote?: (filePath: string) => string | null): WorktreeUpgradeResult;
31
33
  //# sourceMappingURL=worktree-identity-upgrade.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"worktree-identity-upgrade.d.ts","sourceRoot":"","sources":["../../src/migrations/worktree-identity-upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAE1E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,EAAE,EAAE,UAAU,GACb,qBAAqB,CAyBvB"}
1
+ {"version":3,"file":"worktree-identity-upgrade.d.ts","sourceRoot":"","sources":["../../src/migrations/worktree-identity-upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAE1E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,EAAE,EAAE,UAAU,EACd,kBAAkB,GAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,IAAgC,GAClF,qBAAqB,CA4CvB"}