@aliou/sesame 0.3.1 → 0.5.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/dist/indexer/index.d.ts.map +1 -1
- package/dist/indexer/index.js +3 -1
- package/dist/indexer/index.js.map +1 -1
- package/dist/parsers/pi.d.ts.map +1 -1
- package/dist/parsers/pi.js +2 -0
- package/dist/parsers/pi.js.map +1 -1
- package/dist/storage/db.d.ts +2 -0
- package/dist/storage/db.d.ts.map +1 -1
- package/dist/storage/db.js +161 -7
- package/dist/storage/db.js.map +1 -1
- package/dist/storage/migrations/001-add-is-error.d.ts +4 -0
- package/dist/storage/migrations/001-add-is-error.d.ts.map +1 -0
- package/dist/storage/migrations/001-add-is-error.js +9 -0
- package/dist/storage/migrations/001-add-is-error.js.map +1 -0
- package/dist/storage/migrations/index.d.ts +18 -0
- package/dist/storage/migrations/index.d.ts.map +1 -0
- package/dist/storage/migrations/index.js +13 -0
- package/dist/storage/migrations/index.js.map +1 -0
- package/dist/test-helpers/session-factory.d.ts +3 -1
- package/dist/test-helpers/session-factory.d.ts.map +1 -1
- package/dist/test-helpers/session-factory.js +2 -1
- package/dist/test-helpers/session-factory.js.map +1 -1
- package/dist/types/session.d.ts +4 -0
- package/dist/types/session.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -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,
|
|
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"}
|
package/dist/indexer/index.js
CHANGED
|
@@ -101,9 +101,10 @@ export async function indexSessions(db, sessionsDir, parser) {
|
|
|
101
101
|
session_id: parsedSession.id,
|
|
102
102
|
kind: "message",
|
|
103
103
|
role: turn.role,
|
|
104
|
-
tool_name: null,
|
|
104
|
+
tool_name: turn.toolName ?? null,
|
|
105
105
|
seq: seq++,
|
|
106
106
|
content: turn.textContent,
|
|
107
|
+
is_error: turn.isError !== undefined ? (turn.isError ? 1 : 0) : null,
|
|
107
108
|
});
|
|
108
109
|
}
|
|
109
110
|
// Tool call chunks
|
|
@@ -118,6 +119,7 @@ export async function indexSessions(db, sessionsDir, parser) {
|
|
|
118
119
|
tool_name: tc.name,
|
|
119
120
|
seq: seq++,
|
|
120
121
|
content,
|
|
122
|
+
is_error: null,
|
|
121
123
|
});
|
|
122
124
|
}
|
|
123
125
|
}
|
|
@@ -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":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAEL,aAAa,EACb,eAAe,EACf,aAAa,GAGd,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,SAAS,aAAa,CAAC,QAAgB;IACrC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,EAAY,EACZ,WAAmB,EACnB,MAAqB;IAErB,MAAM,MAAM,GAAgB;QAC1B,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,CAAC;KACV,CAAC;IAEF,wEAAwE;IACxE,wDAAwD;IACxD,0DAA0D;IAC1D,IAAI,SAAmB,CAAC;IACxB,IAAI,CAAC;QACH,SAAS,GAAG,EAAE,CAAC;QACf,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACtE,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,IAAI,CAAC;oBACH,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC3C,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;oBACzC,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,iCAAiC;gBACnC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,WAAW,GAAG,EAAE,KAAK,CAAC,CAAC;QACjE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,wCAAwC;QACxC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,SAAS;QACX,CAAC;QAED,IAAI,CAAC;YACH,iBAAiB;YACjB,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACjC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAE5C,8DAA8D;YAC9D,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC1C,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACrC,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC;gBAC5B,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,WAAW,GAAG,eAAe,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;oBACnD,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;wBACtD,MAAM,CAAC,OAAO,EAAE,CAAC;wBACjB,SAAS;oBACX,CAAC;gBACH,CAAC;YACH,CAAC;YAED,yBAAyB;YACzB,OAAO,CAAC,KAAK,CAAC,YAAY,QAAQ,KAAK,CAAC,CAAC;YACzC,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAEnD,2DAA2D;YAC3D,MAAM,WAAW,GAAG,eAAe,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC;YAE1D,4BAA4B;YAC5B,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBACzB,aAAa,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC;YACtC,CAAC;YAED,uBAAuB;YACvB,MAAM,aAAa,GAAkB;gBACnC,EAAE,EAAE,aAAa,CAAC,EAAE;gBACpB,MAAM,EAAE,aAAa,CAAC,MAAM;gBAC5B,IAAI,EAAE,QAAQ;gBACd,GAAG,EAAE,aAAa,CAAC,GAAG,IAAI,IAAI;gBAC9B,IAAI,EAAE,aAAa,CAAC,IAAI,IAAI,IAAI;gBAChC,UAAU,EAAE,aAAa,CAAC,SAAS,IAAI,IAAI;gBAC3C,WAAW,EAAE,aAAa,CAAC,UAAU,IAAI,IAAI;gBAC7C,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,MAAM;gBACzC,UAAU,EAAE,SAAS;aACtB,CAAC;YAEF,6DAA6D;YAC7D,MAAM,MAAM,GAAkB,EAAE,CAAC;YACjC,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;gBACvC,gBAAgB;gBAChB,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC5B,MAAM,CAAC,IAAI,CAAC;wBACV,EAAE,EAAE,CAAC;wBACL,UAAU,EAAE,aAAa,CAAC,EAAE;wBAC5B,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,SAAS,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;wBAChC,GAAG,EAAE,GAAG,EAAE;wBACV,OAAO,EAAE,IAAI,CAAC,WAAW;wBACzB,QAAQ,EACN,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;qBAC7D,CAAC,CAAC;gBACL,CAAC;gBAED,mBAAmB;gBACnB,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBAChC,MAAM,OAAO,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;oBACnC,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;wBACnB,MAAM,CAAC,IAAI,CAAC;4BACV,EAAE,EAAE,CAAC;4BACL,UAAU,EAAE,aAAa,CAAC,EAAE;4BAC5B,IAAI,EAAE,WAAW;4BACjB,IAAI,EAAE,IAAI;4BACV,SAAS,EAAE,EAAE,CAAC,IAAI;4BAClB,GAAG,EAAE,GAAG,EAAE;4BACV,OAAO;4BACP,QAAQ,EAAE,IAAI;yBACf,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAED,uBAAuB;YACvB,aAAa,CAAC,EAAE,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;YAEzC,mCAAmC;YACnC,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBACzB,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,kBAAkB,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAC;YACpD,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/parsers/pi.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/parsers/pi.js
CHANGED
package/dist/parsers/pi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pi.js","sourceRoot":"","sources":["../../src/parsers/pi.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"pi.js","sourceRoot":"","sources":["../../src/parsers/pi.ts"],"names":[],"mappings":"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"}
|
package/dist/storage/db.d.ts
CHANGED
|
@@ -29,6 +29,7 @@ export interface StoredChunk {
|
|
|
29
29
|
tool_name: string | null;
|
|
30
30
|
seq: number;
|
|
31
31
|
content: string;
|
|
32
|
+
is_error: number | null;
|
|
32
33
|
}
|
|
33
34
|
export interface SearchResult {
|
|
34
35
|
sessionId: string;
|
|
@@ -50,6 +51,7 @@ export interface SearchOptions {
|
|
|
50
51
|
toolName?: string;
|
|
51
52
|
pathFilter?: string;
|
|
52
53
|
json?: boolean;
|
|
54
|
+
status?: "success" | "error";
|
|
53
55
|
}
|
|
54
56
|
export declare function openDatabase(dbPath: string): Database;
|
|
55
57
|
export declare function getSessionMtime(db: Database, sessionId: string): number | null;
|
package/dist/storage/db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/storage/db.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/storage/db.ts"],"names":[],"mappings":"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"}
|
package/dist/storage/db.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { statSync } from "node:fs";
|
|
2
2
|
import { createRequire } from "node:module";
|
|
3
|
+
import { migrations } from "./migrations/index";
|
|
3
4
|
const require = createRequire(import.meta.url);
|
|
4
5
|
/**
|
|
5
6
|
* Escape FTS5 special characters in a query string.
|
|
@@ -34,7 +35,8 @@ CREATE TABLE IF NOT EXISTS chunks (
|
|
|
34
35
|
role TEXT,
|
|
35
36
|
tool_name TEXT,
|
|
36
37
|
seq INTEGER,
|
|
37
|
-
content TEXT NOT NULL
|
|
38
|
+
content TEXT NOT NULL,
|
|
39
|
+
is_error INTEGER DEFAULT NULL
|
|
38
40
|
);
|
|
39
41
|
|
|
40
42
|
CREATE VIRTUAL TABLE IF NOT EXISTS chunks_fts USING fts5(
|
|
@@ -84,10 +86,47 @@ export function openDatabase(dbPath) {
|
|
|
84
86
|
db.exec("PRAGMA journal_mode = WAL");
|
|
85
87
|
// Enable foreign keys
|
|
86
88
|
db.exec("PRAGMA foreign_keys = ON");
|
|
87
|
-
//
|
|
89
|
+
// Detect whether the database already has tables (existing DB vs fresh).
|
|
90
|
+
// Must happen before SCHEMA so we know whether to run or skip migrations.
|
|
91
|
+
const existing = db
|
|
92
|
+
.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='sessions'")
|
|
93
|
+
.get();
|
|
94
|
+
const isFresh = !existing;
|
|
95
|
+
// Create schema. Uses CREATE IF NOT EXISTS so it's safe for both fresh
|
|
96
|
+
// and existing databases. The SCHEMA constant always reflects the latest
|
|
97
|
+
// table definitions, including columns added by migrations.
|
|
88
98
|
db.exec(SCHEMA);
|
|
99
|
+
// Run pending migrations.
|
|
100
|
+
runMigrations(db, isFresh);
|
|
89
101
|
return db;
|
|
90
102
|
}
|
|
103
|
+
function runMigrations(db, isFresh) {
|
|
104
|
+
// Ensure tracking table exists.
|
|
105
|
+
db.exec(`
|
|
106
|
+
CREATE TABLE IF NOT EXISTS schema_migrations (
|
|
107
|
+
id INTEGER PRIMARY KEY,
|
|
108
|
+
description TEXT,
|
|
109
|
+
applied_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
110
|
+
)
|
|
111
|
+
`);
|
|
112
|
+
// Collect already-applied migration IDs.
|
|
113
|
+
const rows = db
|
|
114
|
+
.prepare("SELECT id FROM schema_migrations")
|
|
115
|
+
.all();
|
|
116
|
+
const applied = new Set(rows.map((r) => r.id));
|
|
117
|
+
const insertStmt = db.prepare("INSERT INTO schema_migrations (id, description) VALUES (?, ?)");
|
|
118
|
+
for (const migration of migrations) {
|
|
119
|
+
if (applied.has(migration.id)) {
|
|
120
|
+
continue;
|
|
121
|
+
}
|
|
122
|
+
// Fresh databases already have the latest schema from the SCHEMA
|
|
123
|
+
// constant, so we only need to record the migration, not run it.
|
|
124
|
+
if (!isFresh) {
|
|
125
|
+
migration.fn(db);
|
|
126
|
+
}
|
|
127
|
+
insertStmt.run(migration.id, migration.description);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
91
130
|
export function getSessionMtime(db, sessionId) {
|
|
92
131
|
const stmt = db.prepare("SELECT file_mtime FROM sessions WHERE id = ?");
|
|
93
132
|
const row = stmt.get(sessionId);
|
|
@@ -100,13 +139,13 @@ export function deleteSession(db, sessionId) {
|
|
|
100
139
|
export function insertSession(db, session, chunks) {
|
|
101
140
|
const insertSessionStmt = db.prepare(`INSERT INTO sessions (id, source, path, cwd, name, created_at, modified_at, message_count, file_mtime)
|
|
102
141
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`);
|
|
103
|
-
const insertChunkStmt = db.prepare(`INSERT INTO chunks (session_id, kind, role, tool_name, seq, content)
|
|
104
|
-
VALUES (?, ?, ?, ?, ?, ?)`);
|
|
142
|
+
const insertChunkStmt = db.prepare(`INSERT INTO chunks (session_id, kind, role, tool_name, seq, content, is_error)
|
|
143
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)`);
|
|
105
144
|
db.exec("BEGIN");
|
|
106
145
|
try {
|
|
107
146
|
insertSessionStmt.run(session.id, session.source, session.path, session.cwd, session.name, session.created_at, session.modified_at, session.message_count, session.file_mtime);
|
|
108
147
|
for (const chunk of chunks) {
|
|
109
|
-
insertChunkStmt.run(chunk.session_id, chunk.kind, chunk.role, chunk.tool_name, chunk.seq, chunk.content);
|
|
148
|
+
insertChunkStmt.run(chunk.session_id, chunk.kind, chunk.role, chunk.tool_name, chunk.seq, chunk.content, chunk.is_error);
|
|
110
149
|
}
|
|
111
150
|
db.exec("COMMIT");
|
|
112
151
|
}
|
|
@@ -115,8 +154,109 @@ export function insertSession(db, session, chunks) {
|
|
|
115
154
|
throw error;
|
|
116
155
|
}
|
|
117
156
|
}
|
|
157
|
+
/**
|
|
158
|
+
* List all sessions without FTS search, ordered by modification date.
|
|
159
|
+
* Used when query is "*" to bypass full-text search.
|
|
160
|
+
*/
|
|
161
|
+
function listAllSessions(db, options) {
|
|
162
|
+
const { cwd, after, before, limit = 10, toolsOnly = false, toolName, status, } = options;
|
|
163
|
+
const needsChunkJoin = toolsOnly || toolName || (status && (toolsOnly || toolName));
|
|
164
|
+
let sql;
|
|
165
|
+
if (needsChunkJoin) {
|
|
166
|
+
sql = `
|
|
167
|
+
SELECT DISTINCT
|
|
168
|
+
s.id as sessionId,
|
|
169
|
+
s.source,
|
|
170
|
+
s.path,
|
|
171
|
+
s.cwd,
|
|
172
|
+
s.name,
|
|
173
|
+
s.created_at as createdAt,
|
|
174
|
+
s.modified_at as modifiedAt
|
|
175
|
+
FROM sessions s
|
|
176
|
+
JOIN chunks c ON c.session_id = s.id
|
|
177
|
+
WHERE 1=1
|
|
178
|
+
`;
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
sql = `
|
|
182
|
+
SELECT
|
|
183
|
+
s.id as sessionId,
|
|
184
|
+
s.source,
|
|
185
|
+
s.path,
|
|
186
|
+
s.cwd,
|
|
187
|
+
s.name,
|
|
188
|
+
s.created_at as createdAt,
|
|
189
|
+
s.modified_at as modifiedAt
|
|
190
|
+
FROM sessions s
|
|
191
|
+
WHERE 1=1
|
|
192
|
+
`;
|
|
193
|
+
}
|
|
194
|
+
const params = [];
|
|
195
|
+
if (cwd) {
|
|
196
|
+
sql += " AND s.cwd LIKE ?";
|
|
197
|
+
params.push(`${cwd}%`);
|
|
198
|
+
}
|
|
199
|
+
if (after) {
|
|
200
|
+
sql += " AND s.created_at >= ?";
|
|
201
|
+
params.push(after);
|
|
202
|
+
}
|
|
203
|
+
if (before) {
|
|
204
|
+
sql += " AND s.created_at <= ?";
|
|
205
|
+
params.push(before);
|
|
206
|
+
}
|
|
207
|
+
if (needsChunkJoin) {
|
|
208
|
+
if (toolsOnly) {
|
|
209
|
+
sql += " AND c.kind = 'tool_call'";
|
|
210
|
+
}
|
|
211
|
+
if (toolName) {
|
|
212
|
+
sql += " AND c.tool_name = ?";
|
|
213
|
+
params.push(toolName);
|
|
214
|
+
}
|
|
215
|
+
if (status && (toolsOnly || toolName)) {
|
|
216
|
+
const isErrorValue = status === "error" ? 1 : 0;
|
|
217
|
+
// Status filter requires a matching tool result chunk in the same session
|
|
218
|
+
sql += ` AND s.id IN (
|
|
219
|
+
SELECT c2.session_id FROM chunks c2
|
|
220
|
+
WHERE c2.is_error = ?
|
|
221
|
+
${toolName ? "AND c2.tool_name = ?" : ""}
|
|
222
|
+
)`;
|
|
223
|
+
params.push(isErrorValue);
|
|
224
|
+
if (toolName) {
|
|
225
|
+
params.push(toolName);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
sql += " ORDER BY s.modified_at DESC LIMIT ?";
|
|
230
|
+
params.push(limit);
|
|
231
|
+
const stmt = db.prepare(sql);
|
|
232
|
+
const rows = stmt.all(...params);
|
|
233
|
+
return rows.map((row) => ({
|
|
234
|
+
sessionId: row.sessionId,
|
|
235
|
+
source: row.source,
|
|
236
|
+
path: row.path,
|
|
237
|
+
cwd: row.cwd,
|
|
238
|
+
name: row.name,
|
|
239
|
+
score: 0, // No relevance score for list-all
|
|
240
|
+
createdAt: row.createdAt,
|
|
241
|
+
modifiedAt: row.modifiedAt,
|
|
242
|
+
matchedSnippet: row.name || "(recent session)",
|
|
243
|
+
}));
|
|
244
|
+
}
|
|
118
245
|
export function search(db, query, options = {}) {
|
|
119
|
-
const { cwd, after, before, limit = 10, toolsOnly = false, toolName, pathFilter, } = options;
|
|
246
|
+
const { cwd, after, before, limit = 10, toolsOnly = false, toolName, pathFilter, status, } = options;
|
|
247
|
+
// Handle empty query
|
|
248
|
+
if (!query || query.trim() === "") {
|
|
249
|
+
throw new Error("Search query cannot be empty");
|
|
250
|
+
}
|
|
251
|
+
// Special case: "*" means list all sessions with filters
|
|
252
|
+
if (query === "*") {
|
|
253
|
+
// Validate that we have at least one constraint (limit counts due to default)
|
|
254
|
+
const hasFilters = cwd || after || before || limit;
|
|
255
|
+
if (!hasFilters) {
|
|
256
|
+
throw new Error('Query "*" requires at least one filter (cwd, after, before, or limit)');
|
|
257
|
+
}
|
|
258
|
+
return listAllSessions(db, options);
|
|
259
|
+
}
|
|
120
260
|
const safeQuery = escapeFtsQuery(query);
|
|
121
261
|
// First, get matching chunk IDs with scores from FTS
|
|
122
262
|
const ftsQuery = `
|
|
@@ -173,6 +313,18 @@ export function search(db, query, options = {}) {
|
|
|
173
313
|
sql += " AND c.kind = 'tool_call' AND c.content LIKE ?";
|
|
174
314
|
mainParams.push(`%${pathFilter}%`);
|
|
175
315
|
}
|
|
316
|
+
if (status && (toolsOnly || toolName)) {
|
|
317
|
+
const isErrorValue = status === "error" ? 1 : 0;
|
|
318
|
+
sql += ` AND s.id IN (
|
|
319
|
+
SELECT c2.session_id FROM chunks c2
|
|
320
|
+
WHERE c2.is_error = ?
|
|
321
|
+
${toolName ? "AND c2.tool_name = ?" : ""}
|
|
322
|
+
)`;
|
|
323
|
+
mainParams.push(isErrorValue);
|
|
324
|
+
if (toolName) {
|
|
325
|
+
mainParams.push(toolName);
|
|
326
|
+
}
|
|
327
|
+
}
|
|
176
328
|
const mainStmt = db.prepare(sql);
|
|
177
329
|
const rows = mainStmt.all(...mainParams);
|
|
178
330
|
// Group by session and get best score
|
|
@@ -234,7 +386,9 @@ export function dropAll(db) {
|
|
|
234
386
|
db.exec("DROP TABLE IF EXISTS chunks_fts");
|
|
235
387
|
db.exec("DROP TABLE IF EXISTS chunks");
|
|
236
388
|
db.exec("DROP TABLE IF EXISTS sessions");
|
|
237
|
-
|
|
389
|
+
db.exec("DROP TABLE IF EXISTS schema_migrations");
|
|
390
|
+
// Recreate schema and mark all migrations as applied
|
|
238
391
|
db.exec(SCHEMA);
|
|
392
|
+
runMigrations(db, true);
|
|
239
393
|
}
|
|
240
394
|
//# sourceMappingURL=db.js.map
|
package/dist/storage/db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/storage/db.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"001-add-is-error.d.ts","sourceRoot":"","sources":["../../../src/storage/migrations/001-add-is-error.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,QAAA,MAAM,SAAS,EAAE,SAMhB,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"001-add-is-error.js","sourceRoot":"","sources":["../../../src/storage/migrations/001-add-is-error.ts"],"names":[],"mappings":"AAGA,MAAM,SAAS,GAAc;IAC3B,EAAE,EAAE,CAAC;IACL,WAAW,EAAE,+BAA+B;IAC5C,EAAE,EAAE,CAAC,EAAY,EAAE,EAAE;QACnB,EAAE,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;IACzE,CAAC;CACF,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Database } from "../db";
|
|
2
|
+
export interface Migration {
|
|
3
|
+
id: number;
|
|
4
|
+
description: string;
|
|
5
|
+
fn: (db: Database) => void;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* All schema migrations in order.
|
|
9
|
+
*
|
|
10
|
+
* Rules:
|
|
11
|
+
* - Never remove or reorder existing entries.
|
|
12
|
+
* - Append new migrations to the end of the array.
|
|
13
|
+
* - The SCHEMA constant in db.ts must always reflect the latest table
|
|
14
|
+
* definitions so that fresh databases are created correctly without
|
|
15
|
+
* running migrations.
|
|
16
|
+
*/
|
|
17
|
+
export declare const migrations: Migration[];
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import addIsError from "./001-add-is-error";
|
|
2
|
+
/**
|
|
3
|
+
* All schema migrations in order.
|
|
4
|
+
*
|
|
5
|
+
* Rules:
|
|
6
|
+
* - Never remove or reorder existing entries.
|
|
7
|
+
* - Append new migrations to the end of the array.
|
|
8
|
+
* - The SCHEMA constant in db.ts must always reflect the latest table
|
|
9
|
+
* definitions so that fresh databases are created correctly without
|
|
10
|
+
* running migrations.
|
|
11
|
+
*/
|
|
12
|
+
export const migrations = [addIsError];
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -12,7 +12,9 @@ export interface SessionBuilder {
|
|
|
12
12
|
withAssistantMessage(text: string): SessionBuilder;
|
|
13
13
|
withWriteToolCall(path: string, content: string): SessionBuilder;
|
|
14
14
|
withBashToolCall(command: string): SessionBuilder;
|
|
15
|
-
withToolResult(toolName: string, content: string
|
|
15
|
+
withToolResult(toolName: string, content: string, options?: {
|
|
16
|
+
isError?: boolean;
|
|
17
|
+
}): SessionBuilder;
|
|
16
18
|
withBashExecution(command: string, output: string): SessionBuilder;
|
|
17
19
|
withCompactionSummary(summary: string): SessionBuilder;
|
|
18
20
|
build(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-factory.d.ts","sourceRoot":"","sources":["../../src/test-helpers/session-factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,IAAI,CAAC,EAAE;QAChB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,cAAc,CAAC;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC;IACvC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC;IAC9C,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC;IACnD,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,CAAC;IACjE,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAAC;IAClD,cAAc,
|
|
1
|
+
{"version":3,"file":"session-factory.d.ts","sourceRoot":"","sources":["../../src/test-helpers/session-factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,IAAI,CAAC,EAAE;QAChB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,cAAc,CAAC;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC;IACvC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC;IAC9C,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC;IACnD,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,CAAC;IACjE,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAAC;IAClD,cAAc,CACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAC9B,cAAc,CAAC;IAClB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC;IACnE,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAAC;IACvD,KAAK,IAAI,MAAM,CAAC;CACjB;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CA4IrD"}
|
|
@@ -75,13 +75,14 @@ export function createSessionBuilder() {
|
|
|
75
75
|
}));
|
|
76
76
|
return this;
|
|
77
77
|
},
|
|
78
|
-
withToolResult(toolName, content) {
|
|
78
|
+
withToolResult(toolName, content, options) {
|
|
79
79
|
lines.push(JSON.stringify({
|
|
80
80
|
type: "message",
|
|
81
81
|
message: {
|
|
82
82
|
role: "toolResult",
|
|
83
83
|
toolCallId: "tc_1",
|
|
84
84
|
toolName,
|
|
85
|
+
isError: options?.isError ?? false,
|
|
85
86
|
content: [{ type: "text", text: content }],
|
|
86
87
|
},
|
|
87
88
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-factory.js","sourceRoot":"","sources":["../../src/test-helpers/session-factory.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"session-factory.js","sourceRoot":"","sources":["../../src/test-helpers/session-factory.ts"],"names":[],"mappings":"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"}
|
package/dist/types/session.d.ts
CHANGED
|
@@ -22,6 +22,10 @@ export interface Turn {
|
|
|
22
22
|
codeBlocks: CodeBlock[];
|
|
23
23
|
/** Structured tool call metadata */
|
|
24
24
|
toolCalls: ToolCall[];
|
|
25
|
+
/** Tool name for tool result turns (role="system") */
|
|
26
|
+
toolName?: string;
|
|
27
|
+
/** Whether this tool result represents an error (only for tool result turns) */
|
|
28
|
+
isError?: boolean;
|
|
25
29
|
}
|
|
26
30
|
export interface ParsedSession {
|
|
27
31
|
id: string;
|
|
@@ -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;
|
|
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"}
|