openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
25 lines (24 loc) • 1.26 kB
JavaScript
import { i as getNodeSqliteKysely, n as executeSqliteQuerySync } from "./kysely-sync-BMSZn9yz.mjs";
import { i as tableExists } from "./openclaw-state-db-schema-helpers-DsjDX6BL.mjs";
import "./sqlite-worker-runtime-CSSFY-RJ.mjs";
//#region extensions/memory-core/src/memory-session-tombstones.ts
const ensuredDatabases = /* @__PURE__ */ new WeakSet();
function memorySessionTombstonesExist(db) {
return ensuredDatabases.has(db) || tableExists(db, "memory_session_tombstones");
}
function ensureMemorySessionTombstones(db) {
if (ensuredDatabases.has(db)) return;
db.exec(`CREATE TABLE IF NOT EXISTS memory_session_tombstones (
session_id TEXT NOT NULL PRIMARY KEY,
agent_id TEXT NOT NULL,
reason TEXT NOT NULL,
created_at INTEGER NOT NULL
) STRICT`);
ensuredDatabases.add(db);
}
function hasMemorySessionTombstone(db, agentId, sessionId) {
if (!memorySessionTombstonesExist(db)) return false;
return executeSqliteQuerySync(db, getNodeSqliteKysely(db).selectFrom("memory_session_tombstones").select("session_id").where("agent_id", "=", agentId).where("session_id", "=", sessionId)).rows.length > 0;
}
//#endregion
export { hasMemorySessionTombstone as n, memorySessionTombstonesExist as r, ensureMemorySessionTombstones as t };