@jait/gateway 0.1.807 → 0.1.808

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.
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/db/connection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAOlE,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,MAAM,MAAM,MAAM,GAAG,SAAS,CAAC;AAE/B,wDAAwD;AACxD,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,mBAAmB,CACjC,MAAM,CAAC,EAAE,MAAM,EACf,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAUR;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,cAAc,CAAA;CAAE,CAAC,CAoBnG;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,QAiDrD;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,QAuElD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAO/D"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/db/connection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAOlE,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,MAAM,MAAM,MAAM,GAAG,SAAS,CAAC;AAE/B,wDAAwD;AACxD,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,mBAAmB,CACjC,MAAM,CAAC,EAAE,MAAM,EACf,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAUR;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,cAAc,CAAA;CAAE,CAAC,CAyBnG;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,QAiDrD;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,QAuElD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAO/D"}
@@ -36,6 +36,11 @@ export async function openDatabase(dbPath) {
36
36
  const sqlite = await openRawSqlite(resolvedPath);
37
37
  // Enable WAL mode for better concurrent read performance
38
38
  sqlite.exec("PRAGMA journal_mode = WAL");
39
+ // NORMAL (WAL default pairing) syncs only at checkpoints instead of on every
40
+ // commit. With FULL, each per-event INSERT in the stream log fsyncs the disk
41
+ // on the gateway event loop, which stalls chat streaming. Durability tradeoff:
42
+ // a power loss can lose the last commits, but the DB never corrupts (WAL).
43
+ sqlite.exec("PRAGMA synchronous = NORMAL");
39
44
  sqlite.exec("PRAGMA foreign_keys = ON");
40
45
  const db = await createDrizzle(sqlite);
41
46
  return { db, sqlite };
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/db/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/db/connection.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,17 @@ export interface SqliteDatabase {
22
22
  exec(sql: string): void;
23
23
  prepare(sql: string): SqliteStatement;
24
24
  close(): void;
25
+ /**
26
+ * better-sqlite3-compatible transaction API: returns an object with
27
+ * deferred/immediate/exclusive run functions. drizzle-orm's session calls
28
+ * `client.transaction(fn)[behavior](tx)`. bun:sqlite and better-sqlite3
29
+ * provide this natively; the node:sqlite wrapper implements it below.
30
+ */
31
+ transaction(fn: (...args: unknown[]) => unknown): {
32
+ deferred(...args: unknown[]): unknown;
33
+ immediate(...args: unknown[]): unknown;
34
+ exclusive(...args: unknown[]): unknown;
35
+ };
25
36
  }
26
37
  /** Which SQLite backend was actually loaded. Useful for diagnostics. */
27
38
  export declare let sqliteBackend: "bun:sqlite" | "node:sqlite" | "better-sqlite3";
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-shim.d.ts","sourceRoot":"","sources":["../../src/db/sqlite-shim.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAItC,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;IACrC,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACnC,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;CACpC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAC;IACtC,KAAK,IAAI,IAAI,CAAC;CACf;AAMD,wEAAwE;AACxE,eAAO,IAAI,aAAa,EAAE,YAAY,GAAG,aAAa,GAAG,gBAAmC,CAAC;AAwD7F;;;GAGG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA8BzE;AAID,KAAK,UAAU,GAAG,OAAO,MAAM,CAAC;AAEhC;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,cAAc,sBAiCxD;AAOD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,MAAM,MAAM,SAAS,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"sqlite-shim.d.ts","sourceRoot":"","sources":["../../src/db/sqlite-shim.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAItC,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;IACrC,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACnC,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;CACpC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAC;IACtC,KAAK,IAAI,IAAI,CAAC;IACd;;;;;OAKG;IACH,WAAW,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GAAG;QAChD,QAAQ,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QACtC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QACvC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;KACxC,CAAC;CACH;AAMD,wEAAwE;AACxE,eAAO,IAAI,aAAa,EAAE,YAAY,GAAG,aAAa,GAAG,gBAAmC,CAAC;AAoF7F;;;GAGG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA8BzE;AAID,KAAK,UAAU,GAAG,OAAO,MAAM,CAAC;AAEhC;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,cAAc,sBAiCxD;AAOD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,MAAM,MAAM,SAAS,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC"}
@@ -30,6 +30,35 @@ function wrapNodeSqlite(rawDb) {
30
30
  return {
31
31
  exec: (sql) => db.exec(sql),
32
32
  close: () => db.close(),
33
+ // better-sqlite3 API: db.transaction(fn) returns a function with
34
+ // .deferred()/.immediate()/.exclusive() variants. drizzle-orm's session
35
+ // invokes `client.transaction(fn)[behavior](tx)` where `tx` is drizzle's
36
+ // own transaction wrapper passed through to `fn`.
37
+ transaction(fn) {
38
+ const run = (mode) => (...args) => {
39
+ db.exec(`BEGIN ${mode}`);
40
+ try {
41
+ const result = fn(...args);
42
+ db.exec("COMMIT");
43
+ return result;
44
+ }
45
+ catch (err) {
46
+ try {
47
+ db.exec("ROLLBACK");
48
+ }
49
+ catch {
50
+ // rollback itself failed (e.g. no active tx) — surface the
51
+ // original error, not the rollback failure.
52
+ }
53
+ throw err;
54
+ }
55
+ };
56
+ return {
57
+ deferred: run("DEFERRED"),
58
+ immediate: run("IMMEDIATE"),
59
+ exclusive: run("EXCLUSIVE"),
60
+ };
61
+ },
33
62
  prepare: (sql) => {
34
63
  const stmt = db.prepare(sql);
35
64
  let rawMode = false;
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-shim.js","sourceRoot":"","sources":["../../src/db/sqlite-shim.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite-shim.js","sourceRoot":"","sources":["../../src/db/sqlite-shim.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/routes/chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/routes/chat.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import { extractTodoResultItems } from "../providers/todo-result.js";
7
7
  import { RemoteCliProvider } from "../providers/remote-cli-provider.js";
8
8
  import { resolveProjectRoot } from "../tools/core/get-fs.js";
9
9
  import { messageContextMetadata as messageContextMetadataTable, messages as messagesTable, sessionEvents as sessionEventsTable, subAgentHistory as subAgentHistoryTable } from "../db/schema.js";
10
- import { and, asc, desc, eq, lt, ne, sql } from "drizzle-orm";
10
+ import { and, asc, desc, eq, gt, lt, ne, sql } from "drizzle-orm";
11
11
  import { uuidv7 } from "../db/uuidv7.js";
12
12
  import { serializePersistedToolCalls } from "../lib/persisted-tool-calls.js";
13
13
  import { persistSubAgentHistories, stripSubAgentPayloads } from "../lib/sub-agent-persistence.js";
@@ -1338,6 +1338,9 @@ function subscribe(sessionId, minSeqExclusive, fn) {
1338
1338
  */
1339
1339
  export function emitTurnDone(sessionId, doneEvent) {
1340
1340
  emitToSubscribers(sessionId, doneEvent);
1341
+ // Terminal event: make the buffered tail durable right away so a restart
1342
+ // (or a client reconnect in a fresh process) replays the complete turn.
1343
+ flushPendingSessionEvents(sessionId);
1341
1344
  }
1342
1345
  // ── Session trajectory event log ─────────────────────────────────────
1343
1346
  // Every stream event is appended to a per-session log (SQLite when a DB is
@@ -1346,9 +1349,77 @@ export function emitTurnDone(sessionId, doneEvent) {
1346
1349
  // is a monotonic per-session counter; the trajectory SSE endpoint uses it to
1347
1350
  // dedup replay vs live delivery without relying on the per-turn `seq` field
1348
1351
  // (which resets on every turn and is only meaningful to live resume clients).
1349
- const MAX_PERSISTED_EVENTS_PER_SESSION = 20_000;
1352
+ const MAX_PERSISTED_EVENTS_PER_SESSION = 3_000;
1353
+ // Stream events (thinking/token deltas especially) arrive in bursts of dozens
1354
+ // per second. Writing each one as its own SQLite transaction put a commit on
1355
+ // the event loop for every delta. Buffer rows per session and flush them as a
1356
+ // single transaction on a short timer — the in-memory counter still advances
1357
+ // synchronously, so log_id ordering and replay dedup are unaffected.
1358
+ const PERSIST_FLUSH_INTERVAL_MS = 100;
1359
+ const PERSIST_FLUSH_MAX_PENDING_ROWS = 2_000;
1350
1360
  const sessionEventCounter = new Map();
1351
1361
  const sessionEventBuffer = new Map();
1362
+ // Tool results can carry multi-MB payloads (full command output, file dumps).
1363
+ // Persisting them unbounded bloated both the DB and every reconnect replay
1364
+ // (JSON.parse + re-stringify of the whole log on the event loop). Bounded
1365
+ // frames still carry type/status so replay reconciliation works; `truncated`
1366
+ // tells clients to render a notice instead of the payload.
1367
+ const MAX_EVENT_PAYLOAD_BYTES = 1_000_000;
1368
+ function clampEventPayload(event) {
1369
+ const payload = JSON.stringify(event);
1370
+ if (payload.length <= MAX_EVENT_PAYLOAD_BYTES)
1371
+ return payload;
1372
+ return JSON.stringify({
1373
+ type: event.type,
1374
+ truncated: true,
1375
+ original_bytes: Buffer.byteLength(payload),
1376
+ message: "event payload truncated for the trajectory log (too large to persist)",
1377
+ });
1378
+ }
1379
+ const pendingEventRows = new Map();
1380
+ const pendingFlushTimers = new Map();
1381
+ let lastFlushFailureLogAt = 0;
1382
+ function flushPendingSessionEvents(sessionId) {
1383
+ const timer = pendingFlushTimers.get(sessionId);
1384
+ if (timer) {
1385
+ clearTimeout(timer);
1386
+ pendingFlushTimers.delete(sessionId);
1387
+ }
1388
+ const rows = pendingEventRows.get(sessionId);
1389
+ if (!rows || rows.length === 0 || !_dbRef)
1390
+ return;
1391
+ pendingEventRows.set(sessionId, []);
1392
+ try {
1393
+ // Single multi-row INSERT — one statement is atomic in SQLite, so no
1394
+ // explicit transaction is needed (db.transaction() was a silent trap on
1395
+ // the node:sqlite drizzle shim until sqlite-shim.ts grew a real
1396
+ // transaction implementation).
1397
+ _dbRef.insert(sessionEventsTable).values(rows).run();
1398
+ // Prune off the hot path: only when the batch crossed a 1000 boundary.
1399
+ const lastLogId = rows[rows.length - 1].logId;
1400
+ if (Math.floor(lastLogId / 1_000) !== Math.floor((lastLogId - rows.length) / 1_000)) {
1401
+ _dbRef.delete(sessionEventsTable)
1402
+ .where(and(eq(sessionEventsTable.sessionId, sessionId), lt(sessionEventsTable.logId, lastLogId - MAX_PERSISTED_EVENTS_PER_SESSION)))
1403
+ .run();
1404
+ }
1405
+ }
1406
+ catch (e) {
1407
+ // Best-effort, same as the previous per-event insert semantics: a failed
1408
+ // trajectory write must not break live event delivery. But never lose
1409
+ // data silently: re-queue (bounded, newest kept) and log rate-limited.
1410
+ const buffered = pendingEventRows.get(sessionId);
1411
+ const room = PERSIST_FLUSH_MAX_PENDING_ROWS - (buffered?.length ?? 0);
1412
+ if (room > 0) {
1413
+ const back = rows.length > room ? rows.slice(rows.length - room) : rows;
1414
+ pendingEventRows.set(sessionId, [...back, ...(buffered ?? [])]);
1415
+ }
1416
+ const now = Date.now();
1417
+ if (now - lastFlushFailureLogAt > 30_000) {
1418
+ lastFlushFailureLogAt = now;
1419
+ console.error(`[chat] session event flush failed (${rows.length} rows re-queued):`, e instanceof Error ? e.message : e);
1420
+ }
1421
+ }
1422
+ }
1352
1423
  function seedSessionEventCounter(sessionId) {
1353
1424
  if (sessionEventCounter.has(sessionId))
1354
1425
  return;
@@ -1357,6 +1428,9 @@ function seedSessionEventCounter(sessionId) {
1357
1428
  return;
1358
1429
  }
1359
1430
  try {
1431
+ // A counter can only be missing on the first event after startup, but flush
1432
+ // defensively so the MAX below never under-reads unflushed batched rows.
1433
+ flushPendingSessionEvents(sessionId);
1360
1434
  const row = _dbRef
1361
1435
  .select({ maxLogId: sql `COALESCE(MAX(${sessionEventsTable.logId}), 0)` })
1362
1436
  .from(sessionEventsTable)
@@ -1372,21 +1446,20 @@ function persistStreamEvent(sessionId, event, ts) {
1372
1446
  seedSessionEventCounter(sessionId);
1373
1447
  const logId = (sessionEventCounter.get(sessionId) ?? 0) + 1;
1374
1448
  sessionEventCounter.set(sessionId, logId);
1375
- const payload = JSON.stringify(event);
1449
+ const payload = clampEventPayload(event);
1376
1450
  if (_dbRef) {
1377
- try {
1378
- _dbRef.insert(sessionEventsTable)
1379
- .values({ sessionId, logId, type: event.type, payload, createdAt: ts })
1380
- .run();
1381
- // Keep the log bounded: prune the oldest rows occasionally.
1382
- if (logId % 200 === 0) {
1383
- _dbRef.delete(sessionEventsTable)
1384
- .where(and(eq(sessionEventsTable.sessionId, sessionId), lt(sessionEventsTable.logId, logId - MAX_PERSISTED_EVENTS_PER_SESSION)))
1385
- .run();
1386
- }
1387
- }
1388
- catch {
1389
- return null;
1451
+ const rows = pendingEventRows.get(sessionId) ?? [];
1452
+ rows.push({ sessionId, logId, type: event.type, payload, createdAt: ts });
1453
+ pendingEventRows.set(sessionId, rows);
1454
+ const isTerminalEvent = event.type === "done" || event.type === "request";
1455
+ if (isTerminalEvent || rows.length >= PERSIST_FLUSH_MAX_PENDING_ROWS) {
1456
+ flushPendingSessionEvents(sessionId);
1457
+ }
1458
+ else if (!pendingFlushTimers.has(sessionId)) {
1459
+ const timer = setTimeout(() => flushPendingSessionEvents(sessionId), PERSIST_FLUSH_INTERVAL_MS);
1460
+ // Must not keep the process alive just to flush a trajectory buffer.
1461
+ timer.unref?.();
1462
+ pendingFlushTimers.set(sessionId, timer);
1390
1463
  }
1391
1464
  }
1392
1465
  else {
@@ -1399,9 +1472,15 @@ function persistStreamEvent(sessionId, event, ts) {
1399
1472
  }
1400
1473
  return logId;
1401
1474
  }
1402
- function loadSessionEvents(sessionId) {
1475
+ function loadSessionEvents(sessionId, minLogIdExclusive) {
1403
1476
  if (_dbRef) {
1477
+ // Readers must see every emitted event, including rows still waiting in the
1478
+ // batch buffer for their flush timer.
1479
+ flushPendingSessionEvents(sessionId);
1404
1480
  try {
1481
+ const where = typeof minLogIdExclusive === "number"
1482
+ ? and(eq(sessionEventsTable.sessionId, sessionId), gt(sessionEventsTable.logId, minLogIdExclusive))
1483
+ : eq(sessionEventsTable.sessionId, sessionId);
1405
1484
  return _dbRef
1406
1485
  .select({
1407
1486
  log_id: sessionEventsTable.logId,
@@ -1410,11 +1489,12 @@ function loadSessionEvents(sessionId) {
1410
1489
  created_at: sessionEventsTable.createdAt,
1411
1490
  })
1412
1491
  .from(sessionEventsTable)
1413
- .where(eq(sessionEventsTable.sessionId, sessionId))
1492
+ .where(where)
1414
1493
  .orderBy(asc(sessionEventsTable.logId))
1415
1494
  .all();
1416
1495
  }
1417
- catch {
1496
+ catch (e) {
1497
+ console.error("[chat] session event replay load failed:", e instanceof Error ? e.message : e);
1418
1498
  return [];
1419
1499
  }
1420
1500
  }
@@ -4749,11 +4829,11 @@ export function registerChatRoutes(app, config, depsOrDb, sessionServiceArg) {
4749
4829
  // logged between the two: every event already in the log with log_id >
4750
4830
  // resumeFrom was replayed, and every event emitted from here on has
4751
4831
  // log_id > lastReplayedLogId and is forwarded exactly once.
4752
- const history = loadSessionEvents(sessionId);
4832
+ // Filter resume position in SQL: loading the full log on every reconnect
4833
+ // parsed and re-stringified thousands of stale frames on the event loop.
4834
+ const history = loadSessionEvents(sessionId, resumeFrom);
4753
4835
  let lastReplayedLogId = resumeFrom;
4754
4836
  for (const ev of history) {
4755
- if (ev.log_id <= resumeFrom)
4756
- continue;
4757
4837
  lastReplayedLogId = ev.log_id;
4758
4838
  let payloadObj;
4759
4839
  try {