@aliou/sesame 0.5.2 → 0.7.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.
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.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;
@@ -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,11 @@ 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
40
45
  );
41
46
 
42
47
  CREATE TABLE IF NOT EXISTS metadata (
@@ -69,21 +74,9 @@ CREATE INDEX IF NOT EXISTS idx_chunks_session ON chunks(session_id);
69
74
  CREATE INDEX IF NOT EXISTS idx_chunks_kind ON chunks(kind);
70
75
  CREATE INDEX IF NOT EXISTS idx_chunks_tool ON chunks(tool_name);
71
76
  `;
72
- const IS_BUN_RUNTIME = typeof process !== "undefined" && Boolean(process.versions?.bun);
73
- const bunSqlite = IS_BUN_RUNTIME
74
- ? require("bun:sqlite")
75
- : null;
76
- const nodeSqlite = !IS_BUN_RUNTIME
77
- ? require("node:sqlite")
78
- : null;
77
+ const nodeSqlite = require("node:sqlite");
79
78
  function getDatabaseConstructor() {
80
- if (IS_BUN_RUNTIME && bunSqlite) {
81
- return bunSqlite.Database;
82
- }
83
- if (nodeSqlite) {
84
- return nodeSqlite.DatabaseSync;
85
- }
86
- throw new Error("No SQLite implementation available for current runtime");
79
+ return nodeSqlite.DatabaseSync;
87
80
  }
88
81
  export function openDatabase(dbPath) {
89
82
  const DatabaseConstructor = getDatabaseConstructor();
@@ -104,6 +97,8 @@ export function openDatabase(dbPath) {
104
97
  db.exec(SCHEMA);
105
98
  // Run pending migrations.
106
99
  runMigrations(db, isFresh);
100
+ // Create indexes that depend on columns introduced by migrations.
101
+ ensurePostMigrationIndexes(db);
107
102
  return db;
108
103
  }
109
104
  function runMigrations(db, isFresh) {
@@ -131,6 +126,10 @@ function runMigrations(db, isFresh) {
131
126
  insertStmt.run(migration.id, migration.description);
132
127
  }
133
128
  }
129
+ function ensurePostMigrationIndexes(db) {
130
+ db.exec("CREATE INDEX IF NOT EXISTS idx_sessions_parent ON sessions(parent_session_id)");
131
+ db.exec("CREATE INDEX IF NOT EXISTS idx_chunks_entry ON chunks(entry_id)");
132
+ }
134
133
  export function getSessionMtime(db, sessionId) {
135
134
  const stmt = db.prepare("SELECT file_mtime FROM sessions WHERE id = ?");
136
135
  const row = stmt.get(sessionId);
@@ -141,15 +140,15 @@ export function deleteSession(db, sessionId) {
141
140
  stmt.run(sessionId);
142
141
  }
143
142
  export function insertSession(db, session, chunks) {
144
- const insertSessionStmt = db.prepare(`INSERT INTO sessions (id, source, path, cwd, name, created_at, modified_at, message_count, file_mtime)
145
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`);
146
- const insertChunkStmt = db.prepare(`INSERT INTO chunks (session_id, kind, role, tool_name, seq, content, is_error)
147
- VALUES (?, ?, ?, ?, ?, ?, ?)`);
143
+ const insertSessionStmt = db.prepare(`INSERT INTO sessions (id, source, path, cwd, name, created_at, modified_at, message_count, file_mtime, parent_session_id)
144
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`);
145
+ 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)
146
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`);
148
147
  db.exec("BEGIN");
149
148
  try {
150
- insertSessionStmt.run(session.id, session.source, session.path, session.cwd, session.name, session.created_at, session.modified_at, session.message_count, session.file_mtime);
149
+ 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);
151
150
  for (const chunk of chunks) {
152
- insertChunkStmt.run(chunk.session_id, chunk.kind, chunk.role, chunk.tool_name, chunk.seq, chunk.content, chunk.is_error);
151
+ 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);
153
152
  }
154
153
  db.exec("COMMIT");
155
154
  }
@@ -419,5 +418,6 @@ export function dropAll(db) {
419
418
  // Recreate schema and mark all migrations as applied
420
419
  db.exec(SCHEMA);
421
420
  runMigrations(db, true);
421
+ ensurePostMigrationIndexes(db);
422
422
  }
423
423
  //# sourceMappingURL=db.js.map
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Dd,CAAC;AAEF,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAEvC,CAAC;AAEF,SAAS,sBAAsB;IAC7B,OAAO,UAAU,CAAC,YAAY,CAAC;AACjC,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,kEAAkE;IAClE,0BAA0B,CAAC,EAAE,CAAC,CAAC;IAE/B,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,SAAS,0BAA0B,CAAC,EAAY;IAC9C,EAAE,CAAC,IAAI,CACL,+EAA+E,CAChF,CAAC;IACF,EAAE,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;AAC7E,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;IACxB,0BAA0B,CAAC,EAAE,CAAC,CAAC;AACjC,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;AAItC,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,EAA8B,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,5 +1,6 @@
1
1
  import addIsError from "./001-add-is-error";
2
2
  import addMetadata from "./002-add-metadata";
3
+ import addTreeFields from "./003-add-tree-fields";
3
4
  /**
4
5
  * All schema migrations in order.
5
6
  *
@@ -10,5 +11,5 @@ import addMetadata from "./002-add-metadata";
10
11
  * definitions so that fresh databases are created correctly without
11
12
  * running migrations.
12
13
  */
13
- export const migrations = [addIsError, addMetadata];
14
+ export const migrations = [addIsError, addMetadata, addTreeFields];
14
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;AAC5C,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAQ7C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,UAAU,GAAgB,CAAC,UAAU,EAAE,WAAW,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.2",
3
+ "version": "0.7.0",
4
4
  "description": "Semantic search for coding agent sessions",
5
5
  "type": "module",
6
6
  "bin": {
@@ -49,20 +49,24 @@
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",
53
+ "tsdown": "0.21.0-beta.2",
52
54
  "typescript": "^5.7.2",
53
55
  "vitest": "^4.0.18"
54
56
  },
55
57
  "engines": {
56
- "node": ">=22.5.0"
58
+ "node": ">=25.0.0"
57
59
  },
58
60
  "scripts": {
59
61
  "build": "tsc",
60
- "build:binary": "bun run scripts/build.ts",
62
+ "typecheck": "tsc --noEmit",
63
+ "build:binary": "node --disable-warning=ExperimentalWarning scripts/build.ts",
61
64
  "dev": "./bin/sesame",
62
65
  "test": "NODE_OPTIONS=--disable-warning=ExperimentalWarning vitest run",
63
- "test:cli": "bun test ./test/cli.test.ts",
66
+ "test:cli": "NODE_OPTIONS=--disable-warning=ExperimentalWarning vitest run --config vitest.cli.config.ts",
64
67
  "lint": "biome check",
65
68
  "format": "biome check --write",
69
+ "check:lockfile": "pnpm install --frozen-lockfile --ignore-scripts",
66
70
  "version": "pnpm exec changeset version"
67
71
  }
68
72
  }
@@ -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`.