@aliou/sesame 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 (34) hide show
  1. package/README.md +61 -0
  2. package/dist/commands/index-cmd.d.ts.map +1 -1
  3. package/dist/commands/index-cmd.js +5 -1
  4. package/dist/commands/index-cmd.js.map +1 -1
  5. package/dist/commands/status-cmd.d.ts.map +1 -1
  6. package/dist/commands/status-cmd.js +1 -0
  7. package/dist/commands/status-cmd.js.map +1 -1
  8. package/dist/commands/watch-cmd.js +11 -1
  9. package/dist/commands/watch-cmd.js.map +1 -1
  10. package/dist/indexer/index.d.ts.map +1 -1
  11. package/dist/indexer/index.js +9 -0
  12. package/dist/indexer/index.js.map +1 -1
  13. package/dist/parsers/pi.d.ts.map +1 -1
  14. package/dist/parsers/pi.js +80 -5
  15. package/dist/parsers/pi.js.map +1 -1
  16. package/dist/storage/db.d.ts +8 -0
  17. package/dist/storage/db.d.ts.map +1 -1
  18. package/dist/storage/db.js +39 -9
  19. package/dist/storage/db.js.map +1 -1
  20. package/dist/storage/migrations/002-add-metadata.d.ts +4 -0
  21. package/dist/storage/migrations/002-add-metadata.d.ts.map +1 -0
  22. package/dist/storage/migrations/002-add-metadata.js +15 -0
  23. package/dist/storage/migrations/002-add-metadata.js.map +1 -0
  24. package/dist/storage/migrations/003-add-tree-fields.d.ts +8 -0
  25. package/dist/storage/migrations/003-add-tree-fields.d.ts.map +1 -0
  26. package/dist/storage/migrations/003-add-tree-fields.js +17 -0
  27. package/dist/storage/migrations/003-add-tree-fields.js.map +1 -0
  28. package/dist/storage/migrations/index.d.ts.map +1 -1
  29. package/dist/storage/migrations/index.js +3 -1
  30. package/dist/storage/migrations/index.js.map +1 -1
  31. package/dist/types/session.d.ts +12 -0
  32. package/dist/types/session.d.ts.map +1 -1
  33. package/package.json +4 -1
  34. package/skills/sesame/SKILL.md +44 -26
package/README.md ADDED
@@ -0,0 +1,61 @@
1
+ # sesame
2
+
3
+ Search coding-agent sessions with local BM25 full-text search (SQLite FTS5).
4
+
5
+ ## What it does
6
+
7
+ - indexes session files (currently pi JSONL)
8
+ - stores normalized session/chunk data in SQLite
9
+ - supports concept-style search beyond exact grep
10
+ - supports tool-oriented filters (`--tools`, `--tool`, `--path`)
11
+
12
+ ## Quickstart (repo)
13
+
14
+ ```bash
15
+ pnpm install
16
+ pnpm run build
17
+ ```
18
+
19
+ Index sessions:
20
+
21
+ ```bash
22
+ pnpm run dev index
23
+ ```
24
+
25
+ Search:
26
+
27
+ ```bash
28
+ pnpm run dev search "nix infra simplify"
29
+ pnpm run dev search "package.json exports" --tools --tool write
30
+ ```
31
+
32
+ Check index:
33
+
34
+ ```bash
35
+ pnpm run dev status
36
+ ```
37
+
38
+ ## CLI docs
39
+
40
+ See [`docs/cli-usage.md`](./docs/cli-usage.md).
41
+
42
+ ## Internals docs
43
+
44
+ - indexing flow: [`docs/indexing.md`](./docs/indexing.md)
45
+ - library/API usage: [`docs/library-usage.md`](./docs/library-usage.md)
46
+ - docs index: [`docs/README.md`](./docs/README.md)
47
+
48
+ ## Pi integration
49
+
50
+ Package includes:
51
+
52
+ - skill: `skills/sesame/SKILL.md`
53
+ - extension tool: `sesame_search` under `share/pi-extension/src`
54
+
55
+ ## Development
56
+
57
+ ```bash
58
+ pnpm run lint
59
+ pnpm test
60
+ pnpm run typecheck
61
+ ```
@@ -1 +1 @@
1
- {"version":3,"file":"index-cmd.d.ts","sourceRoot":"","sources":["../../src/commands/index-cmd.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,wBAA8B,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA6ExE"}
1
+ {"version":3,"file":"index-cmd.d.ts","sourceRoot":"","sources":["../../src/commands/index-cmd.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,wBAA8B,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkFxE"}
@@ -5,7 +5,7 @@ import { mkdirSync } from "node:fs";
5
5
  import { join } from "node:path";
6
6
  import { indexSessions } from "../indexer/index";
7
7
  import { PiParser } from "../parsers/pi";
8
- import { dropAll, openDatabase } from "../storage/db";
8
+ import { dropAll, openDatabase, setMetadata } from "../storage/db";
9
9
  import { expandPath, loadConfig } from "../utils/config";
10
10
  import { getXDGPaths } from "../utils/xdg";
11
11
  export default async function indexCommand(args) {
@@ -59,6 +59,10 @@ export default async function indexCommand(args) {
59
59
  totalSkipped += result.skipped;
60
60
  totalErrors += result.errors;
61
61
  }
62
+ // Update last sync only for successful runs with actual changes
63
+ if (totalErrors === 0 && totalAdded + totalUpdated > 0) {
64
+ setMetadata(db, "last_sync_at", new Date().toISOString());
65
+ }
62
66
  // Print summary
63
67
  console.log(`\n${"=".repeat(50)}`);
64
68
  console.log("Indexing complete");
@@ -1 +1 @@
1
- {"version":3,"file":"index-cmd.js","sourceRoot":"","sources":["../../src/commands/index-cmd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index-cmd.js","sourceRoot":"","sources":["../../src/commands/index-cmd.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"status-cmd.d.ts","sourceRoot":"","sources":["../../src/commands/status-cmd.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,wBAA8B,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB1E"}
1
+ {"version":3,"file":"status-cmd.d.ts","sourceRoot":"","sources":["../../src/commands/status-cmd.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,wBAA8B,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAyB1E"}
@@ -20,6 +20,7 @@ export default async function statusCommand(_args) {
20
20
  console.log(` Sessions: ${formatNumber(stats.sessionCount)}`);
21
21
  console.log(` Chunks: ${formatNumber(stats.chunkCount)}`);
22
22
  console.log(` Database: ${sizeMB} MB`);
23
+ console.log(` Last sync: ${stats.lastSyncAt ?? "never"}`);
23
24
  console.log(` Location: ${dbPath}`);
24
25
  }
25
26
  finally {
@@ -1 +1 @@
1
- {"version":3,"file":"status-cmd.js","sourceRoot":"","sources":["../../src/commands/status-cmd.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,aAAa,CAAC,KAAe;IACzD,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAC5B,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAEhD,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAEhC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;QAE3B,uBAAuB;QACvB,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE9D,2CAA2C;QAC3C,MAAM,YAAY,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;QAEvD,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,eAAe,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,eAAe,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,KAAK,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC;IACvC,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"status-cmd.js","sourceRoot":"","sources":["../../src/commands/status-cmd.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,aAAa,CAAC,KAAe;IACzD,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAC5B,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAEhD,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAEhC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;QAE3B,uBAAuB;QACvB,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE9D,2CAA2C;QAC3C,MAAM,YAAY,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;QAEvD,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,eAAe,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,eAAe,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,KAAK,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,UAAU,IAAI,OAAO,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC;IACvC,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC"}
@@ -5,7 +5,7 @@ import { mkdirSync, watch } from "node:fs";
5
5
  import { join } from "node:path";
6
6
  import { indexSessions } from "../indexer/index";
7
7
  import { PiParser } from "../parsers/pi";
8
- import { openDatabase } from "../storage/db";
8
+ import { openDatabase, setMetadata } from "../storage/db";
9
9
  import { expandPath, loadConfig } from "../utils/config";
10
10
  import { getXDGPaths } from "../utils/xdg";
11
11
  export default async function watchCommand(args) {
@@ -130,6 +130,9 @@ export default async function watchCommand(args) {
130
130
  }
131
131
  async function runIndexing(state, sources) {
132
132
  const timestamp = new Date().toISOString();
133
+ let totalAdded = 0;
134
+ let totalUpdated = 0;
135
+ let totalErrors = 0;
133
136
  for (const source of sources) {
134
137
  const expandedPath = expandPath(source.path);
135
138
  if (source.parser !== "pi") {
@@ -138,6 +141,9 @@ async function runIndexing(state, sources) {
138
141
  const parser = new PiParser();
139
142
  try {
140
143
  const result = await indexSessions(state.db, expandedPath, parser);
144
+ totalAdded += result.added;
145
+ totalUpdated += result.updated;
146
+ totalErrors += result.errors;
141
147
  // Log to stderr (human-readable)
142
148
  console.error("[%s] Indexed %s - added: %d, updated: %d, skipped: %d, errors: %d", timestamp, expandedPath, result.added, result.updated, result.skipped, result.errors);
143
149
  // Log to stdout (JSON for machine consumption)
@@ -151,6 +157,7 @@ async function runIndexing(state, sources) {
151
157
  }));
152
158
  }
153
159
  catch (error) {
160
+ totalErrors += 1;
154
161
  console.error("[%s] Error indexing %s: %s", timestamp, expandedPath, error instanceof Error ? error.message : String(error));
155
162
  // Log error to stdout as JSON
156
163
  console.log(JSON.stringify({
@@ -160,5 +167,8 @@ async function runIndexing(state, sources) {
160
167
  }));
161
168
  }
162
169
  }
170
+ if (totalErrors === 0 && totalAdded + totalUpdated > 0) {
171
+ setMetadata(state.db, "last_sync_at", new Date().toISOString());
172
+ }
163
173
  }
164
174
  //# sourceMappingURL=watch-cmd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"watch-cmd.js","sourceRoot":"","sources":["../../src/commands/watch-cmd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watch-cmd.js","sourceRoot":"","sources":["../../src/commands/watch-cmd.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAkB,SAAS,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAiB,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAU3C,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,YAAY,CAAC,IAAc;IACvD,wBAAwB;IACxB,IAAI,YAAY,GAAkB,IAAI,CAAC;IACvC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACjD,IAAI,aAAa,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC;QACpD,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5D,IAAI,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;YACtD,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,YAAY,GAAG,aAAa,GAAG,IAAI,CAAC,CAAC,0BAA0B;IACjE,CAAC;IAED,qBAAqB;IACrB,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAElC,0CAA0C;IAC1C,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAC5B,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3C,gBAAgB;IAChB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAChD,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAEhC,MAAM,KAAK,GAAe;QACxB,EAAE;QACF,QAAQ,EAAE,EAAE;QACZ,cAAc,EAAE,IAAI,GAAG,EAAE;QACzB,cAAc,EAAE,KAAK;KACtB,CAAC;IAEF,2BAA2B;IAC3B,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QACD,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;QAE5B,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAEnE,4BAA4B;QAC5B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;YAClD,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QACD,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAE7B,qBAAqB;QACrB,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACrC,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;QACD,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;QAEpB,4BAA4B;QAC5B,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC;QAED,iBAAiB;QACjB,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QAEjB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEhC,IAAI,CAAC;QACH,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAEvE,yBAAyB;QACzB,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACzE,MAAM,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAEzC,IAAI,YAAY,EAAE,CAAC;YACjB,eAAe;YACf,OAAO,CAAC,KAAK,CACX,4DAA4D,EAC5D,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,YAAY,GAAG,IAAI,CACpB,CAAC;YAEF,KAAK,CAAC,UAAU,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;gBACxC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;oBAC1B,OAAO,CAAC,KAAK,CACX,iCAAiC,EACjC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CACzB,CAAC;oBACF,MAAM,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC,EAAE,YAAY,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,yBAAyB;YACzB,OAAO,CAAC,KAAK,CACX,yCAAyC,EACzC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CACzB,CAAC;YAEF,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpC,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAE7C,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;oBAC3B,OAAO,CAAC,KAAK,CACX,qDAAqD,EACrD,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,MAAM,CACd,CAAC;oBACF,SAAS;gBACX,CAAC;gBAED,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,KAAK,CACnB,YAAY,EACZ,EAAE,SAAS,EAAE,IAAI,EAAE,EACnB,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE;wBACtB,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;4BACzB,OAAO;wBACT,CAAC;wBAED,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;wBAC3C,OAAO,CAAC,KAAK,CACX,sBAAsB,EACtB,SAAS,EACT,SAAS,EACT,QAAQ,IAAI,SAAS,CACtB,CAAC;wBAEF,iDAAiD;wBACjD,MAAM,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;wBAC7D,IAAI,aAAa,EAAE,CAAC;4BAClB,YAAY,CAAC,aAAa,CAAC,CAAC;wBAC9B,CAAC;wBAED,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;4BAClC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;4BAC1C,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;gCAC1B,OAAO,CAAC,KAAK,CACX,wBAAwB,EACxB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,YAAY,CACb,CAAC;gCACF,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;4BACrC,CAAC;wBACH,CAAC,EAAE,GAAG,CAAC,CAAC;wBAER,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;oBAChD,CAAC,CACF,CAAC;oBAEF,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;wBAC5B,OAAO,CAAC,KAAK,CACX,+BAA+B,EAC/B,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,YAAY,EACZ,KAAK,CAAC,OAAO,CACd,CAAC;oBACJ,CAAC,CAAC,CAAC;oBAEH,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC7B,OAAO,CAAC,KAAK,CACX,mBAAmB,EACnB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,YAAY,CACb,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CACX,6BAA6B,EAC7B,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,YAAY,EACZ,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,CAAC,KAAK,CACX,+CAA+C,EAC/C,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CACzB,CAAC;QAEF,yBAAyB;QACzB,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,sBAAsB,EACtB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;QACF,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,KAAiB,EACjB,OAAgD;IAEhD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE7C,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC3B,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAE9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;YACnE,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC;YAC3B,YAAY,IAAI,MAAM,CAAC,OAAO,CAAC;YAC/B,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC;YAE7B,iCAAiC;YACjC,OAAO,CAAC,KAAK,CACX,mEAAmE,EACnE,SAAS,EACT,YAAY,EACZ,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,MAAM,CACd,CAAC;YAEF,+CAA+C;YAC/C,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CAAC;gBACb,SAAS;gBACT,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,IAAI,CAAC,CAAC;YAEjB,OAAO,CAAC,KAAK,CACX,4BAA4B,EAC5B,SAAS,EACT,YAAY,EACZ,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;YAEF,8BAA8B;YAC9B,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CAAC;gBACb,SAAS;gBACT,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,WAAW,KAAK,CAAC,IAAI,UAAU,GAAG,YAAY,GAAG,CAAC,EAAE,CAAC;QACvD,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAClE,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/indexer/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,QAAQ,EAMd,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAatD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,aAAa,CACjC,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,WAAW,CAAC,CAyItB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/indexer/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,QAAQ,EAMd,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAatD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,aAAa,CACjC,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,WAAW,CAAC,CAkJtB"}
@@ -89,6 +89,7 @@ export async function indexSessions(db, sessionsDir, parser) {
89
89
  modified_at: parsedSession.modifiedAt ?? null,
90
90
  message_count: parsedSession.turns.length,
91
91
  file_mtime: fileMtime,
92
+ parent_session_id: parsedSession.parentSessionId ?? null,
92
93
  };
93
94
  // Build chunks from turns: message chunks + tool call chunks
94
95
  const chunks = [];
@@ -105,6 +106,10 @@ export async function indexSessions(db, sessionsDir, parser) {
105
106
  seq: seq++,
106
107
  content: turn.textContent,
107
108
  is_error: turn.isError !== undefined ? (turn.isError ? 1 : 0) : null,
109
+ entry_id: turn.entryId ?? null,
110
+ parent_entry_id: turn.parentEntryId ?? null,
111
+ timestamp: turn.timestamp ?? null,
112
+ source_type: turn.sourceType ?? null,
108
113
  });
109
114
  }
110
115
  // Tool call chunks
@@ -120,6 +125,10 @@ export async function indexSessions(db, sessionsDir, parser) {
120
125
  seq: seq++,
121
126
  content,
122
127
  is_error: null,
128
+ entry_id: turn.entryId ?? null,
129
+ parent_entry_id: turn.parentEntryId ?? null,
130
+ timestamp: turn.timestamp ?? null,
131
+ source_type: turn.sourceType ?? null,
123
132
  });
124
133
  }
125
134
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/indexer/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/indexer/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pi.d.ts","sourceRoot":"","sources":["../../src/parsers/pi.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EAGd,MAAM,kBAAkB,CAAC;AAsF1B,qBAAa,QAAS,YAAW,aAAa;IAC5C,EAAE,SAAQ;IAEJ,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBxC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;CAyIlD"}
1
+ {"version":3,"file":"pi.d.ts","sourceRoot":"","sources":["../../src/parsers/pi.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EAGd,MAAM,kBAAkB,CAAC;AAyN1B,qBAAa,QAAS,YAAW,aAAa;IAC5C,EAAE,SAAQ;IAEJ,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBxC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;CA6LlD"}
@@ -3,6 +3,30 @@
3
3
  */
4
4
  import { readFile, stat } from "node:fs/promises";
5
5
  import { basename } from "node:path";
6
+ /**
7
+ * Extract text content from content blocks
8
+ */
9
+ function extractTextContent(content) {
10
+ if (typeof content === "string") {
11
+ return content;
12
+ }
13
+ return content
14
+ .filter((c) => c.type === "text")
15
+ .map((c) => c.text)
16
+ .join("\n");
17
+ }
18
+ /**
19
+ * Extract session ID from a Pi session file path.
20
+ * Pi session filenames contain the UUID: 2026-02-23T08-52-01-947Z_34f5d893-8206-4593-a056-9a9093076a17.jsonl
21
+ */
22
+ function extractSessionIdFromPath(path) {
23
+ const filename = basename(path, ".jsonl");
24
+ const underscoreIndex = filename.lastIndexOf("_");
25
+ if (underscoreIndex !== -1) {
26
+ return filename.slice(underscoreIndex + 1);
27
+ }
28
+ return undefined;
29
+ }
6
30
  export class PiParser {
7
31
  id = "pi";
8
32
  async canParse(path) {
@@ -32,6 +56,7 @@ export class PiParser {
32
56
  let sessionCwd;
33
57
  let sessionName;
34
58
  let createdAt = new Date().toISOString();
59
+ let parentSessionId;
35
60
  const modifiedAt = fileStat.mtime.toISOString();
36
61
  const turns = [];
37
62
  for (const [index, line] of lines.entries()) {
@@ -43,6 +68,10 @@ export class PiParser {
43
68
  sessionId = header.id;
44
69
  sessionCwd = header.cwd;
45
70
  createdAt = header.timestamp;
71
+ // Extract parent session ID from path if present
72
+ if (header.parentSession) {
73
+ parentSessionId = extractSessionIdFromPath(header.parentSession);
74
+ }
46
75
  break;
47
76
  }
48
77
  case "session_info": {
@@ -52,15 +81,21 @@ export class PiParser {
52
81
  }
53
82
  case "message": {
54
83
  const msg = parsed;
84
+ const baseTurn = {
85
+ entryId: msg.id,
86
+ parentEntryId: msg.parentId ?? undefined,
87
+ timestamp: msg.timestamp,
88
+ sourceType: "message",
89
+ };
55
90
  if (msg.message.role === "user") {
56
91
  const userMsg = msg;
57
- const textBlocks = userMsg.message.content.filter((c) => c.type === "text");
58
- const textContent = textBlocks.map((c) => c.text).join("\n");
92
+ const textContent = extractTextContent(userMsg.message.content);
59
93
  turns.push({
60
94
  role: "user",
61
95
  textContent,
62
96
  codeBlocks: [],
63
97
  toolCalls: [],
98
+ ...baseTurn,
64
99
  });
65
100
  }
66
101
  else if (msg.message.role === "assistant") {
@@ -77,12 +112,12 @@ export class PiParser {
77
112
  textContent,
78
113
  codeBlocks: [],
79
114
  toolCalls,
115
+ ...baseTurn,
80
116
  });
81
117
  }
82
118
  else if (msg.message.role === "toolResult") {
83
119
  const toolResultMsg = msg;
84
- const textBlocks = toolResultMsg.message.content.filter((c) => c.type === "text");
85
- const textContent = textBlocks.map((c) => c.text).join("\n");
120
+ const textContent = extractTextContent(toolResultMsg.message.content);
86
121
  turns.push({
87
122
  role: "system",
88
123
  textContent,
@@ -90,6 +125,7 @@ export class PiParser {
90
125
  toolCalls: [],
91
126
  toolName: toolResultMsg.message.toolName,
92
127
  isError: toolResultMsg.message.isError ?? false,
128
+ ...baseTurn,
93
129
  });
94
130
  }
95
131
  else if (msg.message.role === "bashExecution") {
@@ -100,10 +136,29 @@ export class PiParser {
100
136
  textContent,
101
137
  codeBlocks: [],
102
138
  toolCalls: [],
139
+ ...baseTurn,
103
140
  });
104
141
  }
105
142
  break;
106
143
  }
144
+ case "custom_message": {
145
+ const customMsg = parsed;
146
+ const textContent = extractTextContent(customMsg.content);
147
+ // Prefix with customType to make it searchable
148
+ const prefixedContent = `[${customMsg.customType}]\n${textContent}`;
149
+ turns.push({
150
+ role: "system",
151
+ textContent: prefixedContent,
152
+ codeBlocks: [],
153
+ toolCalls: [],
154
+ entryId: customMsg.id,
155
+ parentEntryId: customMsg.parentId ?? undefined,
156
+ timestamp: customMsg.timestamp,
157
+ sourceType: "custom_message",
158
+ customType: customMsg.customType,
159
+ });
160
+ break;
161
+ }
107
162
  case "compaction": {
108
163
  const compaction = parsed;
109
164
  turns.push({
@@ -111,13 +166,32 @@ export class PiParser {
111
166
  textContent: compaction.summary,
112
167
  codeBlocks: [],
113
168
  toolCalls: [],
169
+ entryId: compaction.id,
170
+ parentEntryId: compaction.parentId ?? undefined,
171
+ timestamp: compaction.timestamp,
172
+ sourceType: "compaction",
173
+ });
174
+ break;
175
+ }
176
+ case "branch_summary": {
177
+ const branch = parsed;
178
+ turns.push({
179
+ role: "system",
180
+ textContent: branch.summary,
181
+ codeBlocks: [],
182
+ toolCalls: [],
183
+ entryId: branch.id,
184
+ parentEntryId: branch.parentId ?? undefined,
185
+ timestamp: branch.timestamp,
186
+ sourceType: "branch_summary",
114
187
  });
115
188
  break;
116
189
  }
117
190
  case "model_change":
118
191
  case "thinking_level_change":
119
192
  case "custom":
120
- // Skip metadata lines
193
+ case "label":
194
+ // Skip metadata/extension state lines (not part of LLM context)
121
195
  break;
122
196
  default:
123
197
  console.error(`Warning: Unknown line type at line ${index + 1}: ${parsed.type}`);
@@ -135,6 +209,7 @@ export class PiParser {
135
209
  createdAt,
136
210
  modifiedAt,
137
211
  turns,
212
+ parentSessionId,
138
213
  };
139
214
  }
140
215
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pi.js","sourceRoot":"","sources":["../../src/parsers/pi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pi.js","sourceRoot":"","sources":["../../src/parsers/pi.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@ export interface StoredSession {
20
20
  modified_at: string | null;
21
21
  message_count: number;
22
22
  file_mtime: number;
23
+ parent_session_id: string | null;
23
24
  }
24
25
  export interface StoredChunk {
25
26
  id: number;
@@ -30,6 +31,10 @@ export interface StoredChunk {
30
31
  seq: number;
31
32
  content: string;
32
33
  is_error: number | null;
34
+ entry_id: string | null;
35
+ parent_entry_id: string | null;
36
+ timestamp: string | null;
37
+ source_type: string | null;
33
38
  }
34
39
  export interface SearchResult {
35
40
  sessionId: string;
@@ -63,7 +68,10 @@ export declare function getStats(db: Database): {
63
68
  sessionCount: number;
64
69
  chunkCount: number;
65
70
  dbSizeBytes: number;
71
+ lastSyncAt: string | null;
66
72
  };
73
+ export declare function getMetadata(db: Database, key: string): string | null;
74
+ export declare function setMetadata(db: Database, key: string, value: string): void;
67
75
  export declare function dropAll(db: Database): void;
68
76
  export {};
69
77
  //# sourceMappingURL=db.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/storage/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/storage/db.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,8 @@ CREATE TABLE IF NOT EXISTS sessions (
25
25
  created_at TEXT,
26
26
  modified_at TEXT,
27
27
  message_count INTEGER,
28
- file_mtime INTEGER
28
+ file_mtime INTEGER,
29
+ parent_session_id TEXT
29
30
  );
30
31
 
31
32
  CREATE TABLE IF NOT EXISTS chunks (
@@ -36,7 +37,17 @@ CREATE TABLE IF NOT EXISTS chunks (
36
37
  tool_name TEXT,
37
38
  seq INTEGER,
38
39
  content TEXT NOT NULL,
39
- is_error INTEGER DEFAULT NULL
40
+ is_error INTEGER DEFAULT NULL,
41
+ entry_id TEXT,
42
+ parent_entry_id TEXT,
43
+ timestamp TEXT,
44
+ source_type TEXT
45
+ );
46
+
47
+ CREATE TABLE IF NOT EXISTS metadata (
48
+ key TEXT PRIMARY KEY,
49
+ value TEXT NOT NULL,
50
+ updated_at TEXT NOT NULL DEFAULT (datetime('now'))
40
51
  );
41
52
 
42
53
  CREATE VIRTUAL TABLE IF NOT EXISTS chunks_fts USING fts5(
@@ -62,6 +73,8 @@ END;
62
73
  CREATE INDEX IF NOT EXISTS idx_chunks_session ON chunks(session_id);
63
74
  CREATE INDEX IF NOT EXISTS idx_chunks_kind ON chunks(kind);
64
75
  CREATE INDEX IF NOT EXISTS idx_chunks_tool ON chunks(tool_name);
76
+ CREATE INDEX IF NOT EXISTS idx_sessions_parent ON sessions(parent_session_id);
77
+ CREATE INDEX IF NOT EXISTS idx_chunks_entry ON chunks(entry_id);
65
78
  `;
66
79
  const IS_BUN_RUNTIME = typeof process !== "undefined" && Boolean(process.versions?.bun);
67
80
  const bunSqlite = IS_BUN_RUNTIME
@@ -135,15 +148,15 @@ export function deleteSession(db, sessionId) {
135
148
  stmt.run(sessionId);
136
149
  }
137
150
  export function insertSession(db, session, chunks) {
138
- const insertSessionStmt = db.prepare(`INSERT INTO sessions (id, source, path, cwd, name, created_at, modified_at, message_count, file_mtime)
139
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`);
140
- const insertChunkStmt = db.prepare(`INSERT INTO chunks (session_id, kind, role, tool_name, seq, content, is_error)
141
- VALUES (?, ?, ?, ?, ?, ?, ?)`);
151
+ const insertSessionStmt = db.prepare(`INSERT INTO sessions (id, source, path, cwd, name, created_at, modified_at, message_count, file_mtime, parent_session_id)
152
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`);
153
+ const insertChunkStmt = db.prepare(`INSERT INTO chunks (session_id, kind, role, tool_name, seq, content, is_error, entry_id, parent_entry_id, timestamp, source_type)
154
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`);
142
155
  db.exec("BEGIN");
143
156
  try {
144
- insertSessionStmt.run(session.id, session.source, session.path, session.cwd, session.name, session.created_at, session.modified_at, session.message_count, session.file_mtime);
157
+ insertSessionStmt.run(session.id, session.source, session.path, session.cwd, session.name, session.created_at, session.modified_at, session.message_count, session.file_mtime, session.parent_session_id);
145
158
  for (const chunk of chunks) {
146
- insertChunkStmt.run(chunk.session_id, chunk.kind, chunk.role, chunk.tool_name, chunk.seq, chunk.content, chunk.is_error);
159
+ insertChunkStmt.run(chunk.session_id, chunk.kind, chunk.role, chunk.tool_name, chunk.seq, chunk.content, chunk.is_error, chunk.entry_id, chunk.parent_entry_id, chunk.timestamp, chunk.source_type);
147
160
  }
148
161
  db.exec("COMMIT");
149
162
  }
@@ -365,6 +378,7 @@ export function getStats(db) {
365
378
  const chunkCountStmt = db.prepare("SELECT COUNT(*) as count FROM chunks");
366
379
  const sessionCount = sessionCountStmt.get().count;
367
380
  const chunkCount = chunkCountStmt.get().count;
381
+ const lastSyncAt = getMetadata(db, "last_sync_at");
368
382
  // Get database file size
369
383
  const dbPath = db.location?.() ?? db.filename;
370
384
  let dbSizeBytes = 0;
@@ -377,7 +391,22 @@ export function getStats(db) {
377
391
  catch {
378
392
  // If file doesn't exist or can't be read, size is 0
379
393
  }
380
- return { sessionCount, chunkCount, dbSizeBytes };
394
+ return { sessionCount, chunkCount, dbSizeBytes, lastSyncAt };
395
+ }
396
+ export function getMetadata(db, key) {
397
+ const stmt = db.prepare("SELECT value FROM metadata WHERE key = ?");
398
+ const row = stmt.get(key);
399
+ return row?.value ?? null;
400
+ }
401
+ export function setMetadata(db, key, value) {
402
+ const stmt = db.prepare(`
403
+ INSERT INTO metadata (key, value, updated_at)
404
+ VALUES (?, ?, datetime('now'))
405
+ ON CONFLICT(key) DO UPDATE SET
406
+ value = excluded.value,
407
+ updated_at = datetime('now')
408
+ `);
409
+ stmt.run(key, value);
381
410
  }
382
411
  export function dropAll(db) {
383
412
  // Drop triggers first
@@ -392,6 +421,7 @@ export function dropAll(db) {
392
421
  db.exec("DROP TABLE IF EXISTS chunks_fts");
393
422
  db.exec("DROP TABLE IF EXISTS chunks");
394
423
  db.exec("DROP TABLE IF EXISTS sessions");
424
+ db.exec("DROP TABLE IF EXISTS metadata");
395
425
  db.exec("DROP TABLE IF EXISTS schema_migrations");
396
426
  // Recreate schema and mark all migrations as applied
397
427
  db.exec(SCHEMA);
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/storage/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/storage/db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAqE/C;;;;GAIG;AACH,SAAS,cAAc,CAAC,KAAa;IACnC,iDAAiD;IACjD,OAAO,KAAK;SACT,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;SAChD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4Dd,CAAC;AAEF,MAAM,cAAc,GAClB,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAEnE,MAAM,SAAS,GAAG,cAAc;IAC9B,CAAC,CAAE,OAAO,CAAC,YAAY,CAEnB;IACJ,CAAC,CAAC,IAAI,CAAC;AAET,MAAM,UAAU,GAAG,CAAC,cAAc;IAChC,CAAC,CAAE,OAAO,CAAC,aAAa,CAEpB;IACJ,CAAC,CAAC,IAAI,CAAC;AAET,SAAS,sBAAsB;IAC7B,IAAI,cAAc,IAAI,SAAS,EAAE,CAAC;QAChC,OAAO,SAAS,CAAC,QAAQ,CAAC;IAC5B,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,UAAU,CAAC,YAAY,CAAC;IACjC,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,MAAM,mBAAmB,GAAG,sBAAsB,EAAE,CAAC;IACrD,MAAM,EAAE,GAAG,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAE3C,yCAAyC;IACzC,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAErC,sBAAsB;IACtB,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAEpC,yEAAyE;IACzE,0EAA0E;IAC1E,MAAM,QAAQ,GAAG,EAAE;SAChB,OAAO,CACN,uEAAuE,CACxE;SACA,GAAG,EAAkC,CAAC;IACzC,MAAM,OAAO,GAAG,CAAC,QAAQ,CAAC;IAE1B,uEAAuE;IACvE,yEAAyE;IACzE,4DAA4D;IAC5D,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,0BAA0B;IAC1B,aAAa,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAE3B,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,aAAa,CAAC,EAAY,EAAE,OAAgB;IACnD,gCAAgC;IAChC,EAAE,CAAC,IAAI,CAAC;;;;;;GAMP,CAAC,CAAC;IAEH,yCAAyC;IACzC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,GAAG,EAE7D,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE/C,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAC3B,+DAA+D,CAChE,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;YAC9B,SAAS;QACX,CAAC;QAED,iEAAiE;QACjE,iEAAiE;QACjE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;QAED,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,EAAY,EACZ,SAAiB;IAEjB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC;IACxE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAuC,CAAC;IACtE,OAAO,GAAG,EAAE,UAAU,IAAI,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAY,EAAE,SAAiB;IAC3D,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;IAC7D,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,EAAY,EACZ,OAAsB,EACtB,MAAqB;IAErB,MAAM,iBAAiB,GAAG,EAAE,CAAC,OAAO,CAClC;2CACuC,CACxC,CAAC;IAEF,MAAM,eAAe,GAAG,EAAE,CAAC,OAAO,CAChC;8CAC0C,CAC3C,CAAC;IAEF,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjB,IAAI,CAAC;QACH,iBAAiB,CAAC,GAAG,CACnB,OAAO,CAAC,EAAE,EACV,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,GAAG,EACX,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,iBAAiB,CAC1B,CAAC;QAEF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,eAAe,CAAC,GAAG,CACjB,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,eAAe,EACrB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,WAAW,CAClB,CAAC;QACJ,CAAC;QAED,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpB,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,EAAY,EAAE,OAAsB;IAC3D,MAAM,EACJ,GAAG,EACH,KAAK,EACL,MAAM,EACN,KAAK,GAAG,EAAE,EACV,SAAS,GAAG,KAAK,EACjB,QAAQ,EACR,OAAO,EACP,MAAM,GACP,GAAG,OAAO,CAAC;IAEZ,MAAM,cAAc,GAClB,SAAS,IAAI,QAAQ,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC;IAE/D,IAAI,GAAW,CAAC;IAChB,IAAI,cAAc,EAAE,CAAC;QACnB,GAAG,GAAG;;;;;;;;;;;;KAYL,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,GAAG,GAAG;;;;;;;;;;;KAWL,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAc,EAAE,CAAC;IAE7B,IAAI,GAAG,EAAE,CAAC;QACR,GAAG,IAAI,mBAAmB,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,GAAG,IAAI,wBAAwB,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,GAAG,IAAI,wBAAwB,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,GAAG,IAAI,qBAAqB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,SAAS,EAAE,CAAC;YACd,GAAG,IAAI,2BAA2B,CAAC;QACrC,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,GAAG,IAAI,sBAAsB,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC;QAED,IAAI,MAAM,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,EAAE,CAAC;YACtC,MAAM,YAAY,GAAG,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,0EAA0E;YAC1E,GAAG,IAAI;;;UAGH,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE;QACxC,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC1B,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,GAAG,IAAI,sCAAsC,CAAC;IAC9C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEnB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAI,MAAmB,CAQ3C,CAAC;IAEH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACxB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,KAAK,EAAE,CAAC,EAAE,kCAAkC;QAC5C,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,cAAc,EAAE,GAAG,CAAC,IAAI,IAAI,kBAAkB;KAC/C,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,MAAM,CACpB,EAAY,EACZ,KAAa,EACb,UAAyB,EAAE;IAE3B,MAAM,EACJ,GAAG,EACH,KAAK,EACL,MAAM,EACN,KAAK,GAAG,EAAE,EACV,SAAS,GAAG,KAAK,EACjB,QAAQ,EACR,UAAU,EACV,OAAO,EACP,MAAM,GACP,GAAG,OAAO,CAAC;IAEZ,qBAAqB;IACrB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAED,yDAAyD;IACzD,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;QAClB,8EAA8E;QAC9E,MAAM,UAAU,GAAG,GAAG,IAAI,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC;QACnD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,uEAAuE,CACxE,CAAC;QACJ,CAAC;QACD,OAAO,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAExC,qDAAqD;IACrD,MAAM,QAAQ,GAAG;;;;;;;GAOhB,CAAC;IAEF,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAItC,CAAC;IAEH,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,gCAAgC;IAChC,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9D,IAAI,GAAG,GAAG;;;;;;;;;;;;qBAYS,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;GACjD,CAAC;IAEF,MAAM,UAAU,GAAc,CAAC,GAAG,MAAM,CAAC,CAAC;IAE1C,IAAI,GAAG,EAAE,CAAC;QACR,GAAG,IAAI,mBAAmB,CAAC;QAC3B,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,GAAG,IAAI,wBAAwB,CAAC;QAChC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,GAAG,IAAI,wBAAwB,CAAC;QAChC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,GAAG,IAAI,qBAAqB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QAChE,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,GAAG,IAAI,2BAA2B,CAAC;IACrC,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,GAAG,IAAI,sBAAsB,CAAC;QAC9B,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,GAAG,IAAI,gDAAgD,CAAC;QACxD,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,MAAM,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,EAAE,CAAC;QACtC,MAAM,YAAY,GAAG,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,GAAG,IAAI;;;QAGH,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE;MACxC,CAAC;QACH,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9B,IAAI,QAAQ,EAAE,CAAC;YACb,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAI,UAAuB,CASnD,CAAC;IAEH,sCAAsC;IACtC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAwB,CAAC;IAEnD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS;YAAE,SAAS;QAEzB,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;YAClD,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE;gBAC5B,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,cAAc,EAAE,SAAS,CAAC,OAAO;aAClC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;SAC5C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;SACjC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAEnB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,EAAY;IAMnC,MAAM,gBAAgB,GAAG,EAAE,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;IAC9E,MAAM,cAAc,GAAG,EAAE,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;IAE1E,MAAM,YAAY,GAAI,gBAAgB,CAAC,GAAG,EAAwB,CAAC,KAAK,CAAC;IACzE,MAAM,UAAU,GAAI,cAAc,CAAC,GAAG,EAAwB,CAAC,KAAK,CAAC;IACrE,MAAM,UAAU,GAAG,WAAW,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IAEnD,yBAAyB;IACzB,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC;IAC9C,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,CAAC;QACH,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC/B,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,oDAAoD;IACtD,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAY,EAAE,GAAW;IACnD,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC;IACpE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAkC,CAAC;IAC3D,OAAO,GAAG,EAAE,KAAK,IAAI,IAAI,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAY,EAAE,GAAW,EAAE,KAAa;IAClE,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;GAMvB,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,EAAY;IAClC,sBAAsB;IACtB,EAAE,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAC5C,EAAE,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAC5C,EAAE,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAE5C,eAAe;IACf,EAAE,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IACnD,EAAE,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IAChD,EAAE,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IAEhD,4DAA4D;IAC5D,EAAE,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAC3C,EAAE,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IACvC,EAAE,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IACzC,EAAE,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IACzC,EAAE,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IAElD,qDAAqD;IACrD,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChB,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Migration } from "./index";
2
+ declare const migration: Migration;
3
+ export default migration;
4
+ //# sourceMappingURL=002-add-metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"002-add-metadata.d.ts","sourceRoot":"","sources":["../../../src/storage/migrations/002-add-metadata.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,QAAA,MAAM,SAAS,EAAE,SAYhB,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,15 @@
1
+ const migration = {
2
+ id: 2,
3
+ description: "add metadata table",
4
+ fn: (db) => {
5
+ db.exec(`
6
+ CREATE TABLE IF NOT EXISTS metadata (
7
+ key TEXT PRIMARY KEY,
8
+ value TEXT NOT NULL,
9
+ updated_at TEXT NOT NULL DEFAULT (datetime('now'))
10
+ )
11
+ `);
12
+ },
13
+ };
14
+ export default migration;
15
+ //# sourceMappingURL=002-add-metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"002-add-metadata.js","sourceRoot":"","sources":["../../../src/storage/migrations/002-add-metadata.ts"],"names":[],"mappings":"AAGA,MAAM,SAAS,GAAc;IAC3B,EAAE,EAAE,CAAC;IACL,WAAW,EAAE,oBAAoB;IACjC,EAAE,EAAE,CAAC,EAAY,EAAE,EAAE;QACnB,EAAE,CAAC,IAAI,CAAC;;;;;;KAMP,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { Database } from "../db";
2
+ declare const _default: {
3
+ id: number;
4
+ description: string;
5
+ fn: (db: Database) => void;
6
+ };
7
+ export default _default;
8
+ //# sourceMappingURL=003-add-tree-fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"003-add-tree-fields.d.ts","sourceRoot":"","sources":["../../../src/storage/migrations/003-add-tree-fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;;;;aAM3B,QAAQ;;AAJnB,wBAoBE"}
@@ -0,0 +1,17 @@
1
+ export default {
2
+ id: 3,
3
+ description: "Add parent_session_id to sessions and entry_id/parent_entry_id/timestamp/source_type to chunks for tree structure support",
4
+ fn: (db) => {
5
+ // Add parent_session_id to sessions
6
+ db.exec(`ALTER TABLE sessions ADD COLUMN parent_session_id TEXT`);
7
+ // Add entry tree fields to chunks
8
+ db.exec(`ALTER TABLE chunks ADD COLUMN entry_id TEXT`);
9
+ db.exec(`ALTER TABLE chunks ADD COLUMN parent_entry_id TEXT`);
10
+ db.exec(`ALTER TABLE chunks ADD COLUMN timestamp TEXT`);
11
+ db.exec(`ALTER TABLE chunks ADD COLUMN source_type TEXT`);
12
+ // Add indexes for tree queries
13
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_sessions_parent ON sessions(parent_session_id)`);
14
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_chunks_entry ON chunks(entry_id)`);
15
+ },
16
+ };
17
+ //# sourceMappingURL=003-add-tree-fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"003-add-tree-fields.js","sourceRoot":"","sources":["../../../src/storage/migrations/003-add-tree-fields.ts"],"names":[],"mappings":"AAEA,eAAe;IACb,EAAE,EAAE,CAAC;IACL,WAAW,EACT,2HAA2H;IAC7H,EAAE,EAAE,CAAC,EAAY,EAAE,EAAE;QACnB,oCAAoC;QACpC,EAAE,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QAElE,kCAAkC;QAClC,EAAE,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QACvD,EAAE,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;QAC9D,EAAE,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;QACxD,EAAE,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAE1D,+BAA+B;QAC/B,EAAE,CAAC,IAAI,CACL,+EAA+E,CAChF,CAAC;QACF,EAAE,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;IAC7E,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/migrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGtC,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC5B;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,EAAE,SAAS,EAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/migrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAKtC,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC5B;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,EAAE,SAAS,EAA6C,CAAC"}
@@ -1,4 +1,6 @@
1
1
  import addIsError from "./001-add-is-error";
2
+ import addMetadata from "./002-add-metadata";
3
+ import addTreeFields from "./003-add-tree-fields";
2
4
  /**
3
5
  * All schema migrations in order.
4
6
  *
@@ -9,5 +11,5 @@ import addIsError from "./001-add-is-error";
9
11
  * definitions so that fresh databases are created correctly without
10
12
  * running migrations.
11
13
  */
12
- export const migrations = [addIsError];
14
+ export const migrations = [addIsError, addMetadata, addTreeFields];
13
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/storage/migrations/index.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,oBAAoB,CAAC;AAQ5C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,UAAU,GAAgB,CAAC,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/storage/migrations/index.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,oBAAoB,CAAC;AAC5C,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,aAAa,MAAM,uBAAuB,CAAC;AAQlD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,UAAU,GAAgB,CAAC,UAAU,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC"}
@@ -26,6 +26,16 @@ export interface Turn {
26
26
  toolName?: string;
27
27
  /** Whether this tool result represents an error (only for tool result turns) */
28
28
  isError?: boolean;
29
+ /** Entry ID from the JSONL (for tree structure) */
30
+ entryId?: string;
31
+ /** Parent entry ID from the JSONL (for tree structure) */
32
+ parentEntryId?: string;
33
+ /** ISO timestamp from the entry */
34
+ timestamp?: string;
35
+ /** Source entry type (message, custom_message, compaction, etc.) */
36
+ sourceType?: string;
37
+ /** Custom type identifier for custom_message entries */
38
+ customType?: string;
29
39
  }
30
40
  export interface ParsedSession {
31
41
  id: string;
@@ -38,6 +48,8 @@ export interface ParsedSession {
38
48
  createdAt: string;
39
49
  modifiedAt: string;
40
50
  turns: Turn[];
51
+ /** ID of parent session (if this session was forked from another) */
52
+ parentSessionId?: string;
41
53
  }
42
54
  /**
43
55
  * Session parser interface
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/types/session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,uFAAuF;IACvF,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,oCAAoC;IACpC,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,qDAAqD;IACrD,EAAE,EAAE,MAAM,CAAC;IAEX,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzC,uDAAuD;IACvD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CAC7C"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/types/session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,uFAAuF;IACvF,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,oCAAoC;IACpC,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,qEAAqE;IACrE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,qDAAqD;IACrD,EAAE,EAAE,MAAM,CAAC;IAEX,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzC,uDAAuD;IACvD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CAC7C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aliou/sesame",
3
- "version": "0.5.1",
3
+ "version": "0.6.0",
4
4
  "description": "Semantic search for coding agent sessions",
5
5
  "type": "module",
6
6
  "bin": {
@@ -49,6 +49,7 @@
49
49
  "@biomejs/biome": "^2.3.14",
50
50
  "@changesets/cli": "^2.29.8",
51
51
  "@types/node": "^22.15.30",
52
+ "husky": "^9.1.7",
52
53
  "typescript": "^5.7.2",
53
54
  "vitest": "^4.0.18"
54
55
  },
@@ -57,12 +58,14 @@
57
58
  },
58
59
  "scripts": {
59
60
  "build": "tsc",
61
+ "typecheck": "tsc --noEmit",
60
62
  "build:binary": "bun run scripts/build.ts",
61
63
  "dev": "./bin/sesame",
62
64
  "test": "NODE_OPTIONS=--disable-warning=ExperimentalWarning vitest run",
63
65
  "test:cli": "bun test ./test/cli.test.ts",
64
66
  "lint": "biome check",
65
67
  "format": "biome check --write",
68
+ "check:lockfile": "pnpm install --frozen-lockfile --ignore-scripts",
66
69
  "version": "pnpm exec changeset version"
67
70
  }
68
71
  }
@@ -1,53 +1,71 @@
1
1
  ---
2
2
  name: sesame
3
- description: Search past coding sessions using Sesame's BM25 full-text search. Use when you need to find previous sessions by topic, concept, or keyword -- especially multi-word queries that find_sessions struggles with.
3
+ description: Search past coding sessions with Sesame BM25 search. Use for multi-word topic queries, tool-call searches, or listing recent sessions when find_sessions is too strict.
4
4
  ---
5
5
 
6
6
  # Sesame - Session Search
7
7
 
8
- Sesame indexes coding agent sessions into a SQLite FTS5 database for BM25 full-text search. It finds sessions by topic, concept, or keyword without requiring exact phrase matches.
8
+ Sesame indexes coding agent sessions into SQLite FTS5 and ranks results with BM25.
9
9
 
10
- ## When to Use Sesame vs find_sessions
10
+ ## When to use
11
11
 
12
- Use **sesame** for multi-word concept queries:
13
- - "nix infrastructure simplify"
14
- - "carousel company website"
15
- - "CI pipeline publish release workflow"
12
+ Use **sesame** when you need:
13
+ - Multi-word topic search (`"nix infra cleanup"`, `"publish workflow changesets"`)
14
+ - Tool-call oriented search (`--tools`, `--tool bash`, `--path package.json`)
15
+ - Session discovery / paging (`"*"` with filters and `--exclude`)
16
16
 
17
- Use **find_sessions** for single exact keywords or proper nouns:
18
- - "Fizen", "bird", "grit"
17
+ Use **find_sessions** for quick exact keyword lookups.
18
+ Use **read_session** after you identified the session to inspect.
19
19
 
20
- ## CLI Usage
20
+ ## CLI
21
+
22
+ ### Search
21
23
 
22
- Search sessions:
23
24
  ```bash
24
25
  sesame search "query"
25
- sesame search "query" --json # JSON output
26
- sesame search "query" --cwd /path # Filter by project directory
27
- sesame search "query" --after 7d # Sessions from last 7 days
26
+ sesame search "query" --json
27
+ sesame search "query" --cwd /path/to/project
28
+ sesame search "query" --after 7d
28
29
  sesame search "query" --before 2026-01-01
29
30
  sesame search "query" --limit 5
31
+ sesame search "query" --tools
32
+ sesame search "query" --tool bash
33
+ sesame search "query" --path package.json
34
+ sesame search "query" --exclude <session-id> --exclude <session-id>
30
35
  ```
31
36
 
32
- Index sessions (run before first search, or to pick up new sessions):
37
+ Special query to list sessions instead of full-text match:
38
+
33
39
  ```bash
34
- sesame index # Incremental (only new/changed files)
35
- sesame index --full # Full rebuild
40
+ sesame search "*" --limit 20
41
+ sesame search "*" --cwd /path --after 2w --exclude <session-id>
36
42
  ```
37
43
 
38
- Check index status:
44
+ ### Index / status / watch
45
+
39
46
  ```bash
47
+ sesame index
48
+ sesame index --full
40
49
  sesame status
50
+ sesame watch
51
+ sesame watch --interval 30
41
52
  ```
42
53
 
43
- ## Workflow
54
+ ## Practical workflow
55
+
56
+ 1. Run `sesame search "query"`.
57
+ 2. If results are empty or stale, run `sesame index`.
58
+ 3. Narrow using `--cwd`, `--after`, `--before`, `--tools`, `--tool`, or `--path`.
59
+ 4. Use `--exclude` to page through additional results across repeated searches.
60
+ 5. Use `--json` when another tool/agent needs structured output.
61
+
62
+ ## Date formats
44
63
 
45
- 1. If search returns no results, run `sesame index` first to ensure the index is up to date.
46
- 2. Use `--json` when you need structured data for further processing.
47
- 3. Results are ranked by BM25 relevance. The score (0-1) indicates match quality.
48
- 4. The matched snippet shows the most relevant chunk from each session.
64
+ - Relative: `7d`, `2w`, `1m`
65
+ - Absolute: `YYYY-MM-DD` (ISO date)
49
66
 
50
- ## Date Filters
67
+ ## Notes
51
68
 
52
- Relative dates: `7d` (7 days), `2w` (2 weeks), `1m` (1 month).
53
- Absolute dates: ISO format like `2026-01-15`.
69
+ - Scores are normalized to `0.00-1.00` for display. Higher is better.
70
+ - `sesame watch` runs an initial index pass, then re-indexes on change.
71
+ - The `sesame_search` pi extension tool exposes only: `query`, `cwd`, `after`, `before`, `limit`.