From 0cb7963bfefdeba7c7497afc4e72a0d59cfbe0b0 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 9 May 2026 20:06:27 +0100 Subject: [PATCH] refactor: rename sqlite session entry modules --- docs/refactor/database-first.md | 2 +- src/commands/doctor-state-migrations.legacy.test.ts | 2 +- src/commands/doctor-state-migrations.test.ts | 2 +- src/commands/doctor/state-migrations.ts | 2 +- ...t.ts => session-entries.session-key-normalization.test.ts} | 0 ...pping.test.ts => session-entries.skills-stripping.test.ts} | 0 ...-backend.sqlite.test.ts => session-entries.sqlite.test.ts} | 4 ++-- .../{store-backend.sqlite.ts => session-entries.sqlite.ts} | 2 +- .../{store-normalize.ts => session-entry-normalize.ts} | 0 src/config/sessions/store.ts | 2 +- 10 files changed, 8 insertions(+), 8 deletions(-) rename src/config/sessions/{store.session-key-normalization.test.ts => session-entries.session-key-normalization.test.ts} (100%) rename src/config/sessions/{store.skills-stripping.test.ts => session-entries.skills-stripping.test.ts} (100%) rename src/config/sessions/{store-backend.sqlite.test.ts => session-entries.sqlite.test.ts} (98%) rename src/config/sessions/{store-backend.sqlite.ts => session-entries.sqlite.ts} (99%) rename src/config/sessions/{store-normalize.ts => session-entry-normalize.ts} (100%) diff --git a/docs/refactor/database-first.md b/docs/refactor/database-first.md index 05aa2e7286b..9353956f384 100644 --- a/docs/refactor/database-first.md +++ b/docs/refactor/database-first.md @@ -240,7 +240,7 @@ The remaining cleanup is mostly consolidation and deletion: session row helpers. The old `resolveLegacySessionStorePath` helper is gone; legacy `sessions.json` path construction is now local to migration and test fixtures. -- `src/config/sessions/store-backend.sqlite.ts` now stores canonical session +- `src/config/sessions/session-entries.sqlite.ts` now stores canonical session entries in the per-agent database and has row-level read/upsert/delete patch support. Runtime upsert/patch/delete no longer scans for case variants or prunes legacy alias keys; doctor owns canonicalization. The diff --git a/src/commands/doctor-state-migrations.legacy.test.ts b/src/commands/doctor-state-migrations.legacy.test.ts index 1be381897e8..398e0f0823d 100644 --- a/src/commands/doctor-state-migrations.legacy.test.ts +++ b/src/commands/doctor-state-migrations.legacy.test.ts @@ -3,7 +3,7 @@ import fs from "node:fs/promises"; import path from "node:path"; import { afterEach, describe, expect, it, vi } from "vitest"; import type { OpenClawConfig } from "../config/config.js"; -import { loadSqliteSessionEntries } from "../config/sessions/store-backend.sqlite.js"; +import { loadSqliteSessionEntries } from "../config/sessions/session-entries.sqlite.js"; import { loadSqliteSessionTranscriptEvents } from "../config/sessions/transcript-store.sqlite.js"; import { executeSqliteQuerySync, getNodeSqliteKysely } from "../infra/kysely-sync.js"; import { resolveChannelAllowFromPath } from "../pairing/pairing-store.js"; diff --git a/src/commands/doctor-state-migrations.test.ts b/src/commands/doctor-state-migrations.test.ts index edf8b9320e5..fe21320cbd6 100644 --- a/src/commands/doctor-state-migrations.test.ts +++ b/src/commands/doctor-state-migrations.test.ts @@ -3,7 +3,7 @@ import os from "node:os"; import path from "node:path"; import { afterEach, describe, expect, it, vi } from "vitest"; import type { OpenClawConfig } from "../config/config.js"; -import { loadSqliteSessionEntries } from "../config/sessions/store-backend.sqlite.js"; +import { loadSqliteSessionEntries } from "../config/sessions/session-entries.sqlite.js"; import { loadSqliteSessionTranscriptEvents } from "../config/sessions/transcript-store.sqlite.js"; import { createCorePluginStateKeyedStore, diff --git a/src/commands/doctor/state-migrations.ts b/src/commands/doctor/state-migrations.ts index 04036d9a3c3..ce98296808f 100644 --- a/src/commands/doctor/state-migrations.ts +++ b/src/commands/doctor/state-migrations.ts @@ -22,7 +22,7 @@ import { } from "../../config/paths.js"; import type { SessionEntry } from "../../config/sessions.js"; import { canonicalizeMainSessionAlias } from "../../config/sessions/main-session.js"; -import { mergeSqliteSessionEntries } from "../../config/sessions/store-backend.sqlite.js"; +import { mergeSqliteSessionEntries } from "../../config/sessions/session-entries.sqlite.js"; import { replaceSqliteSessionTranscriptEvents } from "../../config/sessions/transcript-store.sqlite.js"; import type { SessionScope } from "../../config/sessions/types.js"; import type { OpenClawConfig } from "../../config/types.openclaw.js"; diff --git a/src/config/sessions/store.session-key-normalization.test.ts b/src/config/sessions/session-entries.session-key-normalization.test.ts similarity index 100% rename from src/config/sessions/store.session-key-normalization.test.ts rename to src/config/sessions/session-entries.session-key-normalization.test.ts diff --git a/src/config/sessions/store.skills-stripping.test.ts b/src/config/sessions/session-entries.skills-stripping.test.ts similarity index 100% rename from src/config/sessions/store.skills-stripping.test.ts rename to src/config/sessions/session-entries.skills-stripping.test.ts diff --git a/src/config/sessions/store-backend.sqlite.test.ts b/src/config/sessions/session-entries.sqlite.test.ts similarity index 98% rename from src/config/sessions/store-backend.sqlite.test.ts rename to src/config/sessions/session-entries.sqlite.test.ts index 7618df23bd4..31c298b1d4b 100644 --- a/src/config/sessions/store-backend.sqlite.test.ts +++ b/src/config/sessions/session-entries.sqlite.test.ts @@ -4,7 +4,7 @@ import path from "node:path"; import { afterEach, describe, expect, it } from "vitest"; import { closeOpenClawAgentDatabasesForTest } from "../../state/openclaw-agent-db.js"; import { closeOpenClawStateDatabaseForTest } from "../../state/openclaw-state-db.js"; -import { loadSqliteSessionEntries } from "./store-backend.sqlite.js"; +import { loadSqliteSessionEntries } from "./session-entries.sqlite.js"; import { deleteSessionEntry, getSessionEntry, @@ -17,7 +17,7 @@ import type { SessionEntry } from "./types.js"; const ORIGINAL_STATE_DIR = process.env.OPENCLAW_STATE_DIR; function createTempDir(): string { - return fs.mkdtempSync(path.join(os.tmpdir(), "openclaw-sqlite-session-store-")); + return fs.mkdtempSync(path.join(os.tmpdir(), "openclaw-sqlite-session-entries-")); } afterEach(() => { diff --git a/src/config/sessions/store-backend.sqlite.ts b/src/config/sessions/session-entries.sqlite.ts similarity index 99% rename from src/config/sessions/store-backend.sqlite.ts rename to src/config/sessions/session-entries.sqlite.ts index 71f58e5cd2f..6076fae7dde 100644 --- a/src/config/sessions/store-backend.sqlite.ts +++ b/src/config/sessions/session-entries.sqlite.ts @@ -11,7 +11,7 @@ import { runOpenClawAgentWriteTransaction, } from "../../state/openclaw-agent-db.js"; import { type OpenClawStateDatabaseOptions } from "../../state/openclaw-state-db.js"; -import { normalizeSessionEntries } from "./store-normalize.js"; +import { normalizeSessionEntries } from "./session-entry-normalize.js"; import type { SessionEntry } from "./types.js"; export type SqliteSessionEntriesOptions = OpenClawStateDatabaseOptions & { diff --git a/src/config/sessions/store-normalize.ts b/src/config/sessions/session-entry-normalize.ts similarity index 100% rename from src/config/sessions/store-normalize.ts rename to src/config/sessions/session-entry-normalize.ts diff --git a/src/config/sessions/store.ts b/src/config/sessions/store.ts index 6a096301f89..9c294164fec 100644 --- a/src/config/sessions/store.ts +++ b/src/config/sessions/store.ts @@ -14,7 +14,7 @@ import { listSqliteSessionEntries, readSqliteSessionEntry, replaceSqliteSessionEntry, -} from "./store-backend.sqlite.js"; +} from "./session-entries.sqlite.js"; import { normalizeSessionRowKey } from "./store-entry.js"; import { mergeSessionEntry,