refactor(db): collapse repository rollout scaffolding into single factory

Repositories are now the only data path. Replaces the 41 current-*-repository
wrapper files, the DATABASE_LAYER_REPOSITORY_ROLLOUT flag/alias map and the
unused database/runtime adapter with repositories/factory.ts, a plain
DatabaseContext type and an in-memory TestSqliteDatabase test harness.
This commit is contained in:
LukeGus
2026-07-15 23:56:02 -05:00
parent 1e7c9ea53c
commit ef4969dd35
217 changed files with 843 additions and 4297 deletions
@@ -1,9 +1,9 @@
import { afterEach, describe, expect, it, vi } from "vitest";
import { SqliteDatabaseAdapter } from "../runtime/sqlite-adapter.js";
import { TestSqliteDatabase } from "./test-support.js";
import { SnippetRepository } from "./snippet-repository.js";
describe("SnippetRepository", () => {
let adapter: SqliteDatabaseAdapter | null = null;
let adapter: TestSqliteDatabase | null = null;
afterEach(async () => {
if (adapter) {
@@ -15,14 +15,10 @@ describe("SnippetRepository", () => {
async function createRepository(onWrite?: () => void): Promise<{
repository: SnippetRepository;
sqlite: NonNullable<
Awaited<ReturnType<SqliteDatabaseAdapter["connect"]>>["sqlite"]
Awaited<ReturnType<TestSqliteDatabase["connect"]>>["sqlite"]
>;
}> {
adapter = new SqliteDatabaseAdapter({
dialect: "sqlite",
url: ":memory:",
sqlitePath: ":memory:",
});
adapter = new TestSqliteDatabase();
const context = await adapter.connect();
context.sqlite?.exec(`
CREATE TABLE snippets (