UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

31 lines (30 loc) 2.34 kB
import { a as getNodeSqliteKysely, i as executeSqliteQueryTakeFirstSync } from "./kysely-sync-COmh4HWh.js"; import { _t as coerceRequiredSqliteNumber } from "./openclaw-state-db-BRTnL-D8.js"; //#region src/config/sessions/session-accessor.sqlite-delete-snapshot.ts function sqliteSessionStateDeleteSnapshotsEqual(left, right) { return left.acpParentStreamEventCount === right.acpParentStreamEventCount && left.generation === right.generation && left.lastSeq === right.lastSeq && left.sessionKey === right.sessionKey && left.sessionUpdatedAt === right.sessionUpdatedAt && left.trajectoryLastSeq === right.trajectoryLastSeq && left.transcriptUpdatedAt === right.transcriptUpdatedAt; } /** Captures the owner window and canonical child state writable outside the lifecycle queue. */ function readSessionStateDeleteSnapshot(database, sessionId) { const db = getNodeSqliteKysely(database); const window = executeSqliteQueryTakeFirstSync(database, db.selectFrom("session_windows").select([ "session_key", "transcript_updated_at", "updated_at" ]).where("session_id", "=", sessionId)); const rewriteWatermark = executeSqliteQueryTakeFirstSync(database, db.selectFrom("transcript_rewrite_watermarks").select("generation").where("session_id", "=", sessionId)); const lastEvent = executeSqliteQueryTakeFirstSync(database, db.selectFrom("transcript_events").select("seq").where("session_id", "=", sessionId).orderBy("seq", "desc").limit(1)); const lastTrajectory = executeSqliteQueryTakeFirstSync(database, db.selectFrom("trajectory_runtime_events").select("seq").where("session_id", "=", sessionId).orderBy("seq", "desc").limit(1)); const acpParentStream = executeSqliteQueryTakeFirstSync(database, db.selectFrom("acp_parent_stream_events").select((eb) => eb.fn.countAll().as("event_count")).where("session_id", "=", sessionId)); return { acpParentStreamEventCount: coerceRequiredSqliteNumber(acpParentStream?.event_count ?? 0), generation: rewriteWatermark?.generation ?? null, lastSeq: lastEvent?.seq ?? null, sessionKey: window?.session_key ?? null, sessionUpdatedAt: window?.updated_at ?? null, trajectoryLastSeq: lastTrajectory?.seq ?? null, transcriptUpdatedAt: window?.transcript_updated_at ?? null }; } //#endregion export { sqliteSessionStateDeleteSnapshotsEqual as n, readSessionStateDeleteSnapshot as t };