@jait/gateway 0.1.807 → 0.1.809
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/db/connection.d.ts.map +1 -1
- package/dist/db/connection.js +5 -0
- package/dist/db/connection.js.map +1 -1
- package/dist/db/sqlite-shim.d.ts +11 -0
- package/dist/db/sqlite-shim.d.ts.map +1 -1
- package/dist/db/sqlite-shim.js +29 -0
- package/dist/db/sqlite-shim.js.map +1 -1
- package/dist/routes/chat.d.ts.map +1 -1
- package/dist/routes/chat.js +102 -22
- package/dist/routes/chat.js.map +1 -1
- package/package.json +1 -1
|
@@ -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,
|
|
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"}
|
package/dist/db/connection.js
CHANGED
|
@@ -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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"}
|
package/dist/db/sqlite-shim.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/db/sqlite-shim.js
CHANGED
|
@@ -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":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;
|
|
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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"}
|
package/dist/routes/chat.js
CHANGED
|
@@ -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 =
|
|
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 =
|
|
1449
|
+
const payload = clampEventPayload(event);
|
|
1376
1450
|
if (_dbRef) {
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
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(
|
|
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
|
-
|
|
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 {
|