@jini-ai/infra
v0.5.0
Published
Deprecated: a re-export of `@jini-ai/db` (`./core`, `./sqlite`). Import those directly. Removed after one release.
Readme
@jini-ai/infra
Deprecated: a re-export of @jini-ai/db (./core, ./sqlite). Import those directly. Removed after one release.
Version 0.4.0 keeps the 0.3.3 names at @jini-ai/infra/db/core and
@jini-ai/infra/db/sqlite for existing ESM consumers. Database implementations and their tests
now live in @jini-ai/db. This shim has no driver peer dependency and no CommonJS build.
import type { DbOpsPort } from '@jini-ai/db/core';
import { openSqliteConnection, SqliteDbOpsAdapter } from '@jini-ai/db/sqlite';
import Database from 'better-sqlite3';
const connection = openSqliteConnection({
filePath: 'app.db',
open: (filePath, options) => new Database(filePath, options),
});openSqliteConnection now requires an injected open. It has no known host callers; the existing
consumer uses SqliteDbOpsAdapter. The injected opener returns the host's own driver handle, and
custom pragmas still replace the defaults. See packages/db/README.md for the complete subpath map,
load-time requirements and isolation tests.
src/db/core remains an R12 neutral entry. Its explicit re-exports preserve the old surface rather
than exposing db's new shared constants. shim-surface.test.ts freezes both original name lists,
including type-only exports.
Design decisions
Kernel contracts
This package remains deprecated and its outbox publication home is unresolved. Outbox source
uses core Clock (nowMs()) and Pick<Logger, 'error'>; structured errors go in logging's second
argument. Reliability rationale stays in symbol JSDoc. The existing six-attempt policy,
claim leases, timeouts, envelope identity and host-owned storage remain unchanged.
