@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 +1 @@
1
- {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/parsers/gemini.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/parsers/gemini.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../src/parsers/opencode.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAiB,aAAa,EAAE,MAAM,aAAa,CAAA;AAGnF,eAAO,MAAM,sBAAsB,mCAAmC,CAAA;AACtE,eAAO,MAAM,gBAAgB,gBAAgB,CAAA;AA4D7C,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAErF;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAO3G;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQnE;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CA0BrE;AAED,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAgCvE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CAqExE;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAO3E;AAsLD,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE9D"}
1
+ {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../src/parsers/opencode.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAiB,aAAa,EAAE,MAAM,aAAa,CAAA;AAGnF,eAAO,MAAM,sBAAsB,mCAAmC,CAAA;AACtE,eAAO,MAAM,gBAAgB,gBAAgB,CAAA;AA4D7C,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAErF;AAED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,GACf;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAO9C;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQnE;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CA4BrE;AAED,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAmCvE;AAiBD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CAoFxE;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAO3E;AAoMD,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE9D"}
@@ -1,5 +1,5 @@
1
- import Database from 'better-sqlite3';
2
1
  import { basename, dirname, join } from 'node:path';
2
+ import { openDatabase } from '../db/native-binding.js';
3
3
  import { stripSpoolSystemPrelude } from './spool-prelude.js';
4
4
  export const OPENCODE_INDEX_VERSION = 'opencode-v3-session-model-json';
5
5
  export const OPENCODE_DB_NAME = 'opencode.db';
@@ -49,7 +49,8 @@ export function normalizeOpenCodeWatchPath(filePath) {
49
49
  export function listOpenCodeSessionFilePaths(dbPath) {
50
50
  const db = openOpenCodeDb(dbPath);
51
51
  try {
52
- const rows = db.prepare(`
52
+ const rows = db
53
+ .prepare(`
53
54
  WITH RECURSIVE active_sessions(id, root_id, time_updated, depth) AS (
54
55
  SELECT id, id AS root_id, time_updated, 0 AS depth
55
56
  FROM session
@@ -66,9 +67,10 @@ export function listOpenCodeSessionFilePaths(dbPath) {
66
67
  FROM active_sessions
67
68
  GROUP BY root_id
68
69
  ORDER BY time_updated DESC, root_id DESC
69
- `).all();
70
- sessionMtimeCache.set(dbPath, new Map(rows.map(row => [row.id, row.time_updated])));
71
- return rows.map(row => makeOpenCodeSessionFilePath(dbPath, row.id));
70
+ `)
71
+ .all();
72
+ sessionMtimeCache.set(dbPath, new Map(rows.map((row) => [row.id, row.time_updated])));
73
+ return rows.map((row) => makeOpenCodeSessionFilePath(dbPath, row.id));
72
74
  }
73
75
  finally {
74
76
  db.close();
@@ -84,7 +86,8 @@ export function getOpenCodeSessionIndexedMtime(filePath) {
84
86
  return `${cached}::${OPENCODE_INDEX_VERSION}`;
85
87
  const db = openOpenCodeDb(parsed.dbPath);
86
88
  try {
87
- const row = db.prepare(`
89
+ const row = db
90
+ .prepare(`
88
91
  WITH RECURSIVE descendants(id, time_updated, depth) AS (
89
92
  SELECT id, time_updated, 0 AS depth
90
93
  FROM session
@@ -99,7 +102,8 @@ export function getOpenCodeSessionIndexedMtime(filePath) {
99
102
  )
100
103
  SELECT MAX(time_updated) AS time_updated
101
104
  FROM descendants
102
- `).get(parsed.sessionId);
105
+ `)
106
+ .get(parsed.sessionId);
103
107
  if (!row?.time_updated)
104
108
  throw new Error(`OpenCode parent session not found: ${parsed.sessionId}`);
105
109
  return `${row.time_updated}::${OPENCODE_INDEX_VERSION}`;
@@ -108,17 +112,35 @@ export function getOpenCodeSessionIndexedMtime(filePath) {
108
112
  db.close();
109
113
  }
110
114
  }
115
+ function stripHtmlTags(value) {
116
+ let result = '';
117
+ let insideTag = false;
118
+ for (const char of value) {
119
+ if (char === '<') {
120
+ insideTag = true;
121
+ }
122
+ else if (char === '>') {
123
+ insideTag = false;
124
+ }
125
+ else if (!insideTag) {
126
+ result += char;
127
+ }
128
+ }
129
+ return result;
130
+ }
111
131
  export function loadOpenCodeSession(filePath) {
112
132
  const parsedPath = parseOpenCodeSessionFilePath(filePath);
113
133
  if (!parsedPath)
114
134
  return { kind: 'skipped' };
115
135
  const db = openOpenCodeDb(parsedPath.dbPath);
116
136
  try {
117
- const session = db.prepare(`
137
+ const session = db
138
+ .prepare(`
118
139
  SELECT id, parent_id, directory, title, time_created, time_updated, model, agent
119
140
  FROM session
120
141
  WHERE id = ? AND time_archived IS NULL
121
- `).get(parsedPath.sessionId);
142
+ `)
143
+ .get(parsedPath.sessionId);
122
144
  if (!session)
123
145
  return { kind: 'filtered' };
124
146
  // Subagent rows (parent_id set) are folded into their parent, never indexed
@@ -131,13 +153,17 @@ export function loadOpenCodeSession(filePath) {
131
153
  let model = normalizeModel(session.model);
132
154
  const messages = loadMessagesForOpenCodeSession(db, session, {
133
155
  sidechain: false,
134
- onCwd: value => { if (!cwd)
135
- cwd = value; },
136
- onModel: value => { if (!model)
137
- model = value; },
156
+ onCwd: (value) => {
157
+ if (!cwd)
158
+ cwd = value;
159
+ },
160
+ onModel: (value) => {
161
+ if (!model)
162
+ model = value;
163
+ },
138
164
  });
139
165
  const childSessions = listOpenCodeChildSessions(db, session.id);
140
- let endedAtMs = Math.max(session.time_updated, ...childSessions.map(child => child.time_updated));
166
+ let endedAtMs = Math.max(session.time_updated, ...childSessions.map((child) => child.time_updated));
141
167
  for (const child of childSessions) {
142
168
  const groupKey = `${OPENCODE_SUBAGENT_PARENT_PREFIX}${child.id}`;
143
169
  const childMessages = loadMessagesForOpenCodeSession(db, child, {
@@ -154,11 +180,14 @@ export function loadOpenCodeSession(filePath) {
154
180
  if (messages.length === 0)
155
181
  return { kind: 'skipped' };
156
182
  messages.sort(compareParsedMessages);
157
- messages.forEach((message, index) => { message.seq = index; });
158
- const firstUserMessage = messages.find(message => !message.isSidechain && message.role === 'user' && message.contentText.trim().length > 0);
159
- const title = session.title?.trim()
160
- || firstUserMessage?.contentText.replace(/<[^>]+>/g, '').trim().slice(0, 120)
161
- || '(no title)';
183
+ messages.forEach((message, index) => {
184
+ message.seq = index;
185
+ });
186
+ const firstUserMessage = messages.find((message) => !message.isSidechain && message.role === 'user' && message.contentText.trim().length > 0);
187
+ const derivedTitle = firstUserMessage
188
+ ? stripHtmlTags(firstUserMessage.contentText).trim().slice(0, 120)
189
+ : '';
190
+ const title = session.title?.trim() || derivedTitle || '(no title)';
162
191
  return {
163
192
  kind: 'parsed',
164
193
  session: {
@@ -188,7 +217,7 @@ export function parseOpenCodeSession(filePath) {
188
217
  }
189
218
  }
190
219
  function openOpenCodeDb(dbPath) {
191
- const db = new Database(dbPath, { readonly: true, fileMustExist: true });
220
+ const db = openDatabase(dbPath, { readonly: true, fileMustExist: true });
192
221
  // OpenCode may hold a write lock while checkpointing the WAL; wait briefly
193
222
  // instead of throwing SQLITE_BUSY and churning the sync error log.
194
223
  db.pragma('busy_timeout = 5000');
@@ -204,7 +233,8 @@ function groupPartsByMessage(partRows) {
204
233
  return byMessage;
205
234
  }
206
235
  function listOpenCodeChildSessions(db, sessionId) {
207
- return db.prepare(`
236
+ return db
237
+ .prepare(`
208
238
  WITH RECURSIVE child_sessions(
209
239
  id, parent_id, directory, title, time_created, time_updated, model, agent, depth
210
240
  ) AS (
@@ -223,23 +253,28 @@ function listOpenCodeChildSessions(db, sessionId) {
223
253
  SELECT id, parent_id, directory, title, time_created, time_updated, model, agent
224
254
  FROM child_sessions
225
255
  ORDER BY time_created ASC, depth ASC, id ASC
226
- `).all(sessionId);
256
+ `)
257
+ .all(sessionId);
227
258
  }
228
259
  function loadMessagesForOpenCodeSession(db, session, opts) {
229
- const messageRows = db.prepare(`
260
+ const messageRows = db
261
+ .prepare(`
230
262
  SELECT id, time_created, data
231
263
  FROM message
232
264
  WHERE session_id = ?
233
265
  ORDER BY time_created ASC, id ASC
234
- `).all(session.id);
266
+ `)
267
+ .all(session.id);
235
268
  if (messageRows.length === 0)
236
269
  return [];
237
- const partRows = db.prepare(`
270
+ const partRows = db
271
+ .prepare(`
238
272
  SELECT id, message_id, time_created, data
239
273
  FROM part
240
274
  WHERE session_id = ?
241
275
  ORDER BY message_id ASC, time_created ASC, id ASC
242
- `).all(session.id);
276
+ `)
277
+ .all(session.id);
243
278
  const partsByMessage = groupPartsByMessage(partRows);
244
279
  const messages = [];
245
280
  for (const messageRow of messageRows) {
@@ -256,7 +291,7 @@ function loadMessagesForOpenCodeSession(db, session, opts) {
256
291
  if (model)
257
292
  opts.onModel?.(model);
258
293
  const parts = (partsByMessage.get(messageRow.id) ?? [])
259
- .map(part => parseJson(part.data))
294
+ .map((part) => parseJson(part.data))
260
295
  .filter((part) => Boolean(part));
261
296
  const contentText = extractText(parts);
262
297
  const toolNames = extractToolNames(parts);
@@ -300,15 +335,14 @@ function compareParsedMessages(a, b) {
300
335
  }
301
336
  function extractText(parts) {
302
337
  return stripSpoolSystemPrelude(parts
303
- .filter(part => part.type === 'text' && typeof part.text === 'string')
304
- .map(part => part.text ?? '')
305
- .join('\n'))
306
- .trim();
338
+ .filter((part) => part.type === 'text' && typeof part.text === 'string')
339
+ .map((part) => part.text ?? '')
340
+ .join('\n')).trim();
307
341
  }
308
342
  function extractToolNames(parts) {
309
343
  return Array.from(new Set(parts
310
- .filter(part => part.type === 'tool' && typeof part.tool === 'string' && part.tool.trim().length > 0)
311
- .map(part => part.tool)));
344
+ .filter((part) => part.type === 'tool' && typeof part.tool === 'string' && part.tool.trim().length > 0)
345
+ .map((part) => part.tool)));
312
346
  }
313
347
  function modelFromMessage(message) {
314
348
  const providerId = message.model?.providerID ?? message.providerID;
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/parsers/opencode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/parsers/opencode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { ParseSessionResult, ParsedSession } from '../types.js';
2
+ export declare const PI_INDEX_VERSION = "pi-v1-session-search-fts";
3
+ /** Parses a pi agent session log (JSONL, session format v3).
4
+ *
5
+ * A file is one linear event log: a `session` header line (id, cwd,
6
+ * start timestamp), then `message` records whose payload role is
7
+ * `user`, `assistant`, or `toolResult`, interleaved with settings
8
+ * events (`model_change`, `thinking_level_change`). Only user and
9
+ * assistant messages are indexed — `toolResult` records carry tool
10
+ * output, and pi assistant messages already name their tool calls
11
+ * via `toolCall` content blocks. */
12
+ export declare function loadPiSession(filePath: string): ParseSessionResult;
13
+ export declare function parsePiSession(filePath: string): ParsedSession | null;
14
+ /** Decode a pi session directory slug to a display path.
15
+ * e.g. '--Users-claw-code-spool--' → '/Users/claw/code/spool'
16
+ * Note: lossy for paths containing hyphens — prefer cwd from the header. */
17
+ export declare function decodePiSessionDirSlug(slug: string): string;
18
+ //# sourceMappingURL=pi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi.d.ts","sourceRoot":"","sources":["../../src/parsers/pi.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAiB,aAAa,EAAE,MAAM,aAAa,CAAA;AAKnF,eAAO,MAAM,gBAAgB,6BAA6B,CAAA;AAwB1D;;;;;;;;qCAQqC;AACrC,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CAiFlE;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAOrE;AAoCD;;6EAE6E;AAC7E,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO3D"}
@@ -0,0 +1,155 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { basename } from 'node:path';
3
+ import { stripSpoolSystemPrelude } from './spool-prelude.js';
4
+ // v1: initial pi support — session header + message records from
5
+ // ~/.pi/agent/sessions/<cwd-slug>/<timestamp>_<uuid>.jsonl.
6
+ export const PI_INDEX_VERSION = 'pi-v1-session-search-fts';
7
+ /** Parses a pi agent session log (JSONL, session format v3).
8
+ *
9
+ * A file is one linear event log: a `session` header line (id, cwd,
10
+ * start timestamp), then `message` records whose payload role is
11
+ * `user`, `assistant`, or `toolResult`, interleaved with settings
12
+ * events (`model_change`, `thinking_level_change`). Only user and
13
+ * assistant messages are indexed — `toolResult` records carry tool
14
+ * output, and pi assistant messages already name their tool calls
15
+ * via `toolCall` content blocks. */
16
+ export function loadPiSession(filePath) {
17
+ const raw = readFileSync(filePath, 'utf8');
18
+ let sessionUuid = '';
19
+ let cwd = '';
20
+ let headerStartedAt = '';
21
+ let model = '';
22
+ const messages = [];
23
+ for (const line of raw.split('\n')) {
24
+ if (!line.trim())
25
+ continue;
26
+ let parsed;
27
+ try {
28
+ parsed = JSON.parse(line);
29
+ }
30
+ catch {
31
+ continue;
32
+ }
33
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed))
34
+ continue;
35
+ const record = parsed;
36
+ if (record.type === 'session') {
37
+ if (typeof record.id === 'string')
38
+ sessionUuid = record.id;
39
+ if (typeof record.cwd === 'string')
40
+ cwd = record.cwd;
41
+ if (typeof record.timestamp === 'string')
42
+ headerStartedAt = record.timestamp;
43
+ continue;
44
+ }
45
+ if (record.type === 'model_change') {
46
+ if (typeof record.modelId === 'string' && record.modelId)
47
+ model = record.modelId;
48
+ continue;
49
+ }
50
+ if (record.type !== 'message' || !record.message || typeof record.message !== 'object')
51
+ continue;
52
+ const role = record.message.role;
53
+ if (role !== 'user' && role !== 'assistant')
54
+ continue;
55
+ const contentText = extractText(record.message.content);
56
+ const toolNames = extractToolNames(record.message.content);
57
+ if (!contentText && toolNames.length === 0)
58
+ continue;
59
+ if (role === 'assistant' && typeof record.message.model === 'string' && record.message.model) {
60
+ model = record.message.model;
61
+ }
62
+ messages.push({
63
+ uuid: typeof record.id === 'string' && record.id
64
+ ? record.id
65
+ : `pi-${sessionUuid || basename(filePath)}-${messages.length}`,
66
+ parentUuid: typeof record.parentId === 'string' ? record.parentId : null,
67
+ role,
68
+ contentText,
69
+ timestamp: record.timestamp ?? headerStartedAt ?? new Date().toISOString(),
70
+ isSidechain: false,
71
+ toolNames,
72
+ seq: messages.length,
73
+ });
74
+ }
75
+ if (messages.length === 0)
76
+ return { kind: 'skipped' };
77
+ const firstUserMessage = messages.find((message) => message.role === 'user' && message.contentText.trim().length > 0);
78
+ const title = firstUserMessage?.contentText.trim().slice(0, 120) || '(no title)';
79
+ return {
80
+ kind: 'parsed',
81
+ session: {
82
+ source: 'pi',
83
+ sessionUuid: sessionUuid || sessionUuidFromFileName(filePath),
84
+ filePath,
85
+ title,
86
+ cwd,
87
+ model,
88
+ startedAt: headerStartedAt || messages[0].timestamp,
89
+ endedAt: messages[messages.length - 1].timestamp,
90
+ messages,
91
+ },
92
+ };
93
+ }
94
+ export function parsePiSession(filePath) {
95
+ try {
96
+ const result = loadPiSession(filePath);
97
+ return result.kind === 'parsed' ? result.session : null;
98
+ }
99
+ catch {
100
+ return null;
101
+ }
102
+ }
103
+ function extractText(content) {
104
+ if (typeof content === 'string')
105
+ return stripSpoolSystemPrelude(content).trim();
106
+ if (!Array.isArray(content))
107
+ return '';
108
+ return stripSpoolSystemPrelude(content
109
+ .map((block) => {
110
+ if (!block || typeof block !== 'object')
111
+ return '';
112
+ const { type, text } = block;
113
+ return type === 'text' && typeof text === 'string' ? text : '';
114
+ })
115
+ .filter(Boolean)
116
+ .join('\n')).trim();
117
+ }
118
+ function extractToolNames(content) {
119
+ if (!Array.isArray(content))
120
+ return [];
121
+ return Array.from(new Set(content
122
+ .map((block) => {
123
+ if (!block || typeof block !== 'object')
124
+ return undefined;
125
+ const { type, name } = block;
126
+ return type === 'toolCall' && typeof name === 'string' && name.trim().length > 0
127
+ ? name
128
+ : undefined;
129
+ })
130
+ .filter((name) => typeof name === 'string')));
131
+ }
132
+ /** Decode a pi session directory slug to a display path.
133
+ * e.g. '--Users-claw-code-spool--' → '/Users/claw/code/spool'
134
+ * Note: lossy for paths containing hyphens — prefer cwd from the header. */
135
+ export function decodePiSessionDirSlug(slug) {
136
+ const withoutPrefix = slug.replace(/^-+/, '');
137
+ let end = withoutPrefix.length;
138
+ while (end > 0 && withoutPrefix[end - 1] === '-')
139
+ end--;
140
+ const trimmed = withoutPrefix.slice(0, end);
141
+ if (!trimmed)
142
+ return slug;
143
+ return '/' + trimmed.replace(/-/g, '/');
144
+ }
145
+ /** Session files are named `<timestamp>_<uuid>.jsonl`; recover the uuid
146
+ * when a truncated/rewritten file lost its `session` header line. */
147
+ function sessionUuidFromFileName(filePath) {
148
+ const name = basename(filePath, '.jsonl');
149
+ const underscore = name.indexOf('_');
150
+ if (underscore === -1)
151
+ return filePath;
152
+ const candidate = name.slice(underscore + 1);
153
+ return candidate.length > 0 ? candidate : filePath;
154
+ }
155
+ //# sourceMappingURL=pi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi.js","sourceRoot":"","sources":["../../src/parsers/pi.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,2 @@
1
- /**
2
- * Spool wraps its agent-search system instructions in this marker before
3
- * sending them to ACP, so the parsers can strip them back out when indexing
4
- * the on-disk JSONL. Without the marker, our system prompt would appear as
5
- * the first user message in every agent-search session — polluting the
6
- * derived title, the FTS index, and the session detail view.
7
- *
8
- * The user's actual query is sent OUTSIDE the marker block (at the end of
9
- * the message text), so after stripping the prelude only the bare query
10
- * remains.
11
- */
12
- export declare const SPOOL_SYSTEM_PRELUDE_OPEN = "<spool-system-prelude>";
13
- export declare const SPOOL_SYSTEM_PRELUDE_CLOSE = "</spool-system-prelude>";
14
- export declare function wrapSpoolSystemPrelude(systemBody: string, userQuery: string): string;
15
- export declare function stripSpoolSystemPrelude(text: string): string;
1
+ export { SPOOL_SYSTEM_PRELUDE_CLOSE, SPOOL_SYSTEM_PRELUDE_OPEN, stripSpoolSystemPrelude, wrapSpoolSystemPrelude, } from '@spool-lab/session-kit';
16
2
  //# sourceMappingURL=spool-prelude.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"spool-prelude.d.ts","sourceRoot":"","sources":["../../src/parsers/spool-prelude.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB,2BAA2B,CAAA;AACjE,eAAO,MAAM,0BAA0B,4BAA4B,CAAA;AAEnE,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEpF;AAID,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5D"}
1
+ {"version":3,"file":"spool-prelude.d.ts","sourceRoot":"","sources":["../../src/parsers/spool-prelude.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,wBAAwB,CAAA"}
@@ -1,21 +1,4 @@
1
- /**
2
- * Spool wraps its agent-search system instructions in this marker before
3
- * sending them to ACP, so the parsers can strip them back out when indexing
4
- * the on-disk JSONL. Without the marker, our system prompt would appear as
5
- * the first user message in every agent-search session — polluting the
6
- * derived title, the FTS index, and the session detail view.
7
- *
8
- * The user's actual query is sent OUTSIDE the marker block (at the end of
9
- * the message text), so after stripping the prelude only the bare query
10
- * remains.
11
- */
12
- export const SPOOL_SYSTEM_PRELUDE_OPEN = '<spool-system-prelude>';
13
- export const SPOOL_SYSTEM_PRELUDE_CLOSE = '</spool-system-prelude>';
14
- export function wrapSpoolSystemPrelude(systemBody, userQuery) {
15
- return `${SPOOL_SYSTEM_PRELUDE_OPEN}\n${systemBody}\n${SPOOL_SYSTEM_PRELUDE_CLOSE}\n\n${userQuery}`;
16
- }
17
- const STRIP_RE = /<spool-system-prelude>[\s\S]*?<\/spool-system-prelude>/g;
18
- export function stripSpoolSystemPrelude(text) {
19
- return text.replace(STRIP_RE, '').trim();
20
- }
1
+ // Moved to @spool-lab/session-kit so the web reader strips the same
2
+ // prelude; re-exported here to keep core's public surface stable.
3
+ export { SPOOL_SYSTEM_PRELUDE_CLOSE, SPOOL_SYSTEM_PRELUDE_OPEN, stripSpoolSystemPrelude, wrapSpoolSystemPrelude, } from '@spool-lab/session-kit';
21
4
  //# sourceMappingURL=spool-prelude.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spool-prelude.js","sourceRoot":"","sources":["../../src/parsers/spool-prelude.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,wBAAwB,CAAA;AACjE,MAAM,CAAC,MAAM,0BAA0B,GAAG,yBAAyB,CAAA;AAEnE,MAAM,UAAU,sBAAsB,CAAC,UAAkB,EAAE,SAAiB;IAC1E,OAAO,GAAG,yBAAyB,KAAK,UAAU,KAAK,0BAA0B,OAAO,SAAS,EAAE,CAAA;AACrG,CAAC;AAED,MAAM,QAAQ,GAAG,yDAAyD,CAAA;AAE1E,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;AAC1C,CAAC"}
1
+ {"version":3,"file":"spool-prelude.js","sourceRoot":"","sources":["../../src/parsers/spool-prelude.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,kEAAkE;AAClE,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,wBAAwB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/projects/fs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE/C,eAAO,MAAM,MAAM,EAAE,UAWpB,CAAA"}
1
+ {"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/projects/fs.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE/C,eAAO,MAAM,MAAM,EAAE,UAepB,CAAA"}
@@ -1,5 +1,5 @@
1
- import { existsSync, readFileSync } from 'node:fs';
2
1
  import { spawnSync } from 'node:child_process';
2
+ import { existsSync, readFileSync } from 'node:fs';
3
3
  export const realFs = {
4
4
  exists: existsSync,
5
5
  readText: (p) => {
@@ -1 +1 @@
1
- {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/projects/fs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAG9C,MAAM,CAAC,MAAM,MAAM,GAAe;IAChC,MAAM,EAAE,UAAU;IAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QACd,IAAI,CAAC;YAAC,OAAO,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,IAAI,CAAA;QAAC,CAAC;IAC9D,CAAC;IACD,KAAK,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;QACzB,qEAAqE;QACrE,yDAAyD;QACzD,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAClF,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAA;IAC5D,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/projects/fs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAIlD,MAAM,CAAC,MAAM,MAAM,GAAe;IAChC,MAAM,EAAE,UAAU;IAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QACd,IAAI,CAAC;YACH,OAAO,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IACD,KAAK,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;QACzB,qEAAqE;QACrE,yDAAyD;QACzD,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAClF,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAA;IAC5D,CAAC;CACF,CAAA"}
@@ -1,4 +1,7 @@
1
1
  import type Database from 'better-sqlite3';
2
- import type { ProjectGroup } from '../types.js';
2
+ import type { ProjectGroup, ProjectGroupWithPaths } from '../types.js';
3
3
  export declare function listProjectGroups(db: Database.Database): ProjectGroup[];
4
+ export declare function listProjectGroups(db: Database.Database, opts: {
5
+ withPaths: true;
6
+ }): ProjectGroupWithPaths[];
4
7
  //# sourceMappingURL=groups.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../src/projects/groups.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAsC,MAAM,aAAa,CAAA;AAEnF,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,YAAY,EAAE,CAyBvE"}
1
+ {"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../src/projects/groups.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAE1C,OAAO,KAAK,EACV,YAAY,EACZ,qBAAqB,EAGtB,MAAM,aAAa,CAAA;AAEpB,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,YAAY,EAAE,CAAA;AACxE,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,IAAI,EAAE;IAAE,SAAS,EAAE,IAAI,CAAA;CAAE,GACxB,qBAAqB,EAAE,CAAA"}