@rindle/api-server 0.6.3 → 0.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -3,12 +3,19 @@
3
3
  Framework-neutral helpers for your app's **authority tier** in a Rindle deployment.
4
4
  Stateless and transport-agnostic: it authenticates the caller, resolves **named queries**
5
5
  to approved ASTs, and drives the **same isomorphic mutators** the browser predicted —
6
- rendering their logical ops to SQL and sending them to the `rindle-replicator`
7
- write-master, while reads go to a `rindled` follower (a `SplitDaemonClient` routes each
8
- leg). The write-master only ever sees approved ASTs and approved write/rejection records.
6
+ rendering their logical ops to SQL and sending authoritative mutation transactions through
7
+ `@rindle/sql-client`, while named queries, materializations, and rooms use the daemon control plane.
8
+ The write-master only ever sees approved ASTs and approved write/rejection records.
9
9
 
10
10
  ```ts
11
- import { createRindleApiServer, registerQueries, sharedApiMutators, SplitDaemonClient } from "@rindle/api-server";
11
+ import {
12
+ createRindleApiServer,
13
+ defineApiMutators,
14
+ registerQueries,
15
+ scoped,
16
+ sharedApiMutators,
17
+ SplitDaemonClient,
18
+ } from "@rindle/api-server";
12
19
  import { HttpRindleDaemonClient } from "@rindle/daemon-client";
13
20
  import { issuesPageQuery } from "./src/IssueList.queries.ts";
14
21
  import { mutators, schema } from "./shared/app-def.ts";
@@ -21,11 +28,15 @@ const sharedCtx = (ctx) => {
21
28
 
22
29
  const authz = { authorization: `Bearer ${process.env.RINDLE_DAEMON_TOKEN}` };
23
30
  const api = createRindleApiServer({
24
- // One topology: writes the replicator write-master, reads → the follower.
31
+ // The daemon remains the query/materialization/room control plane.
25
32
  daemon: new SplitDaemonClient(
26
33
  new HttpRindleDaemonClient({ baseUrl: process.env.RINDLE_REPLICATOR_URL ?? "http://127.0.0.1:7611", headers: authz }),
27
34
  new HttpRindleDaemonClient({ baseUrl: process.env.RINDLE_DAEMON_URL ?? "http://127.0.0.1:7600", headers: authz }),
28
35
  ),
36
+ database: {
37
+ url: process.env.RINDLE_REPLICATOR_URL ?? "http://127.0.0.1:7611",
38
+ authToken: process.env.RINDLE_DATABASE_TOKEN!,
39
+ }, // mutation effects + lmid on the SQL facade
29
40
  schema, // drives the SQL renderer for the yielded ops
30
41
  queries: registerQueries([issuesPageQuery]), // the co-located defineQuery values, listed
31
42
  mutators: sharedApiMutators(mutators, sharedCtx), // the SAME bodies the browser predicts
@@ -36,6 +47,34 @@ const api = createRindleApiServer({
36
47
  // on api.routes ({ query: "/api/rindle/query", read: "/api/rindle/read", mutate: "/api/rindle/mutate" }).
37
48
  ```
38
49
 
50
+ The API server constructs and owns the SQL client in this normal setup, so the application imports
51
+ only `@rindle/api-server` and the daemon client used for leases. Server-only mutator overrides can
52
+ drop to raw SQL without constructing another client:
53
+
54
+ ```ts
55
+ const serverMutators = defineApiMutators({
56
+ revise: async (tx, { id }) => {
57
+ await tx.sql.execute("update issue set revision = revision + 1 where id = ?", [id]);
58
+ const [row] = await tx.sql.query<{ revision: number }>(
59
+ "select revision from issue where id = ?",
60
+ [id],
61
+ ); // same mutation transaction; reads its own writes
62
+ if (!row) throw new Error("issue disappeared");
63
+ },
64
+
65
+ importOnce: scoped(async (scope, { key }) => {
66
+ await scope.sql.execute("insert into import_log (key) values (?) on conflict do nothing", [key]);
67
+ await scope.transact((tx) => tx.sql.execute("insert into issue (id) values (?)", [key]));
68
+ }),
69
+ });
70
+ ```
71
+
72
+ `scope.sql` is deliberately outside the mutator transaction: its calls commit independently and can
73
+ repeat when an envelope is retried, so outside writes need their own unique/idempotency key. Call
74
+ `api.close()` during shutdown to abort work on the internally-created SQL client. Import
75
+ `createSqlClient` from `@rindle/sql-client` only for standalone SQL, migrations, ORM integration, or
76
+ other advanced work that is not part of this API-server path.
77
+
39
78
  ## Docs
40
79
 
41
80
  Full docs — named queries & server-only divergence, driving the shared mutators, the
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import type { Ast, ColType, KeyedRow, MutationEnvelope, MutationOp, MutatorCtx, NamedQuery, Query, Schema, SharedMutator, SharedMutatorWithArgs, ServerWriteTx } from "@rindle/client";
2
- import type { ClaimRoomEpochInput, ClaimRoomEpochOutput, CoverQueryInput, CoverQueryOutput, DematerializeInput, DematerializeOutput, MaterializationPolicy, MaterializeInput, MaterializeOutput, MigrateInput, MigrateOutput, MutationRejection, MutationRejectionOutput, MutationSessionBegin, MutationSessionBeginOutput, MutationSessionExec, MutationSessionQuery, MutationSessionRef, QueryOnceInput, QueryOnceOutput, RindleDaemonClient, RoomLmidsInput, RoomLmidsOutput, RowChangeTxn, RowChangeTxnOutput, SqlRead, SqlReadOutput, SqlStatement, SqlTxn, SqlTxnOutput, StreamMode, WireValue } from "@rindle/daemon-client";
2
+ import type { ClientOptions as SqlClientOptions, SqlSession } from "@rindle/sql-client";
3
+ import type { ClaimRoomEpochInput, ClaimRoomEpochOutput, DematerializeInput, DematerializeOutput, MaterializationPolicy, MaterializeInput, MaterializeOutput, MigrateInput, MigrateOutput, MutationRejection, MutationRejectionOutput, MutationSessionBegin, MutationSessionBeginOutput, MutationSessionExec, MutationSessionQuery, MutationSessionRef, QueryOnceInput, QueryOnceOutput, RindleDaemonClient, RoomLmidsInput, RoomLmidsOutput, RowChangeTxn, RowChangeTxnOutput, SqlRead, SqlReadOutput, SqlStatement, SqlTxn, SqlTxnOutput, StreamMode, WireValue } from "@rindle/daemon-client";
3
4
  import type { RoomProfile, RoomScopeSpec, RoomTableSpec } from "./rooms.ts";
4
5
  export { isoTx, shared } from "@rindle/client";
5
6
  export type { ArgSchema, IsoTx, MutationGen, MutatorCtx, SharedMutator, SharedMutatorWithArgs } from "@rindle/client";
@@ -49,27 +50,40 @@ export interface MutationContext<User> {
49
50
  daemon: RindleDaemonClient;
50
51
  request?: unknown;
51
52
  }
52
- /** The legacy raw-SQL escape hatch (still the surface for relational/authority statements a keyed op
53
- * can't express an owner-gated cascade, a `NOT EXISTS` dedup). `exec` accumulates on the daemon
54
- * backend and executes live on the Postgres backend; `statements` is the collected raw list. */
53
+ /** A deliberately narrow raw-SQL facade exposed by the API server. On {@link ServerMutationTx}
54
+ * it is bound to the open mutation transaction; on {@link MutationScope} each call runs in its
55
+ * own transaction outside the mutation boundary. Column aliases should be unique: positional
56
+ * driver rows are keyed by column name, so a duplicate alias is represented by its last value. */
57
+ export interface ServerSql {
58
+ /** Queue/execute one statement. A transaction-bound call commits with the surrounding mutation. */
59
+ execute(sql: string, params?: readonly WireValue[]): Promise<void>;
60
+ /** Queue/execute an ordered statement batch. An empty batch is a no-op. */
61
+ batch(statements: readonly SqlStatement[]): Promise<void>;
62
+ /** Run a read and return rows keyed by their column names. */
63
+ query<Row = Record<string, unknown>>(sql: string, params?: readonly WireValue[]): Promise<Row[]>;
64
+ }
65
+ /** The raw-SQL escape hatch for relational/authority statements a keyed op can't express — an
66
+ * owner-gated cascade, a `NOT EXISTS` dedup. Prefer `tx.sql`; `exec` remains the synchronous
67
+ * compatibility shorthand for a queued `tx.sql.execute`, and `statements` is the raw write list. */
55
68
  export interface SqlMutationTx {
69
+ readonly sql: ServerSql;
56
70
  exec(sql: string, params?: WireValue[]): void;
57
71
  readonly statements: readonly SqlStatement[];
58
72
  }
59
73
  /** The write handle a server mutator runs against — the ASYNC twin of the client's `MutationTx`. It
60
74
  * is both the isomorphic {@link ServerWriteTx} logical surface (insert/update/upsert/insertIgnore/
61
75
  * delete/row, rendered to dialect SQL) AND the legacy {@link SqlMutationTx} raw escape hatch. Both
62
- * backends run reads through the OPEN transaction (read-your-writes): the Postgres backend executes
63
- * everything live; the daemon backend accumulates writes and lazily upgrades to an interactive
64
- * mutation session at the first read (DAEMON-INTERACTIVE-TXN-DESIGN.md §5). */
76
+ * implementations run reads through the OPEN transaction (read-your-writes): Postgres executes
77
+ * everything live; the SQL-client and daemon adapters accumulate writes and lazily upgrade to an
78
+ * interactive mutation session at the first read (DAEMON-INTERACTIVE-TXN-DESIGN.md §5). */
65
79
  export interface ServerMutationTx extends ServerWriteTx, SqlMutationTx {
66
80
  /** Run a full query (a fluent `Query` or its wire `Ast`) INSIDE the open transaction —
67
81
  * read-your-writes, like {@link ServerWriteTx.row} but for arbitrary shapes. Returns the
68
82
  * parsed nested result tree: an array for a plural root, an object or `null` for a `.one()`
69
83
  * root, with cells in their raw SQLite storage-class representations (the same vocabulary
70
- * `row` speaks). Daemon backend: compiled by `@rindle/query-compiler`'s sqlite dialect (bind
71
- * params, NO casts — §5.4) and executed through the mutation session. Postgres backend: lands
72
- * with the read-compiler catalog integration (POSTGRES-READ-COMPILER-DESIGN.md Phase B). */
84
+ * `row` speaks). Remote SQLite backends: compiled by `@rindle/query-compiler`'s sqlite dialect
85
+ * (bind params, NO casts — §5.4) and executed through the mutation session. Postgres: lands with
86
+ * the read-compiler catalog integration (POSTGRES-READ-COMPILER-DESIGN.md Phase B). */
73
87
  query(q: Ast | Query<any, any, any>): Promise<unknown>;
74
88
  }
75
89
  export type ApiMutatorResult = void | SqlStatement[] | SqlTxn;
@@ -95,6 +109,10 @@ export declare class MutationRejected extends Error {
95
109
  * `transact`, or a swallowed {@link MutationRejected} still advances `lmid` and never wedges the
96
110
  * client's pending queue. */
97
111
  export interface MutationScope {
112
+ /** Raw SQL OUTSIDE the mutation transaction. Every call commits independently and therefore may
113
+ * be observed even if {@link transact} later rejects or fails. Calls may also repeat when an
114
+ * envelope is retried, so outside writes need their own idempotency key/unique constraint. */
115
+ readonly sql: ServerSql;
98
116
  /** Open the ONE atomic write transaction and drive `body` inside it, committing (stamping `lmid`
99
117
  * co-transactionally) on a clean return. MAY be called at most once — a second call throws.
100
118
  *
@@ -163,10 +181,9 @@ export interface QueryLeaseRequest<User> {
163
181
  }
164
182
  /**
165
183
  * The room-serve block on a query lease (RINDLE-REALTIME-QUERY-ENABLEMENT §2.1 step 5 / §2.4,
166
- * slice G-iv-b): present only when the named query carries a realtime label AND its resolved AST
167
- * was PROVABLY covered by its room profile's footprint (the daemon's `/cover-check`). The G-v
168
- * client uses it to open the room transport for THIS query beside — never instead of — its daemon
169
- * session.
184
+ * slice G-iv-b): present when the named query carries a realtime label naming a configured room
185
+ * profile (302 §5 declared, not derived; no coverage proof). The G-v client uses it to open the
186
+ * room transport for THIS query beside — never instead of — its daemon session.
170
187
  *
171
188
  * It is a dedicated block on purpose: the ROOM ws is a SEPARATE connection this query opens beside
172
189
  * its daemon session (never a migration of the daemon session — the daemon ws host is fixed and
@@ -307,10 +324,10 @@ export type MutationOutcome = {
307
324
  };
308
325
  /**
309
326
  * Where a mutation runs and who stamps `lmid` — the seam that makes the mutator authoring surface
310
- * backend-agnostic (`BYO-POSTGRES-LMID-CONTRACT-DESIGN.md` §6; MUTATORS-ISOMORPHIC plan). Two impls
311
- * ship: {@link daemonBackend} (the default writes accumulate, one batch to the daemon which stamps
312
- * `lmid` co-transactionally) and {@link postgresBackend} (a REAL interactive PG transaction — writes
313
- * and reads execute live, `lmid` committed in the same txn, confirmation riding the CDC loop down).
327
+ * backend-agnostic (`BYO-POSTGRES-LMID-CONTRACT-DESIGN.md` §6; MUTATORS-ISOMORPHIC plan). Three
328
+ * implementations ship: {@link sqlBackend} is the preferred managed-SQL path; {@link daemonBackend}
329
+ * keeps the private control-plane compatibility path; and {@link postgresBackend} runs a real
330
+ * interactive PG transaction with confirmation riding the CDC loop down.
314
331
  *
315
332
  * The load-bearing invariant is that a mutation ALWAYS advances the client's `last_mutation_id`:
316
333
  * - `runMutation` runs the mutator inside the backend's transaction; on success it advances `lmid`
@@ -324,6 +341,9 @@ export type MutationOutcome = {
324
341
  export interface MutationBackend {
325
342
  /** The SQL dialect this backend renders logical ops to (drives placeholder style). */
326
343
  readonly dialect: SqlDialect;
344
+ /** Optional raw-SQL surface outside the mutation transaction. Built-in backends provide it;
345
+ * custom backends may omit it, in which case `scope.sql` fails as an infrastructure error. */
346
+ readonly outsideSql?: ServerSql;
327
347
  runMutation(input: MutationRunInput): Promise<MutationOutcome>;
328
348
  reject(input: {
329
349
  envelope: MutationEnvelope;
@@ -547,11 +567,29 @@ export declare function mintRoomFlushCredential(opts: {
547
567
  /** Verify a flush credential's MAC, then its claims; returns the payload or throws. The MAC is
548
568
  * checked FIRST — no claim is trusted before it passes. */
549
569
  export declare function verifyRoomFlushCredential(credential: string, shellSecret: string): Promise<RoomFlushCredentialPayload>;
570
+ /** Database connection used by the API server's managed SQL path.
571
+ *
572
+ * `intMode` defaults to `"number"` because logical Rindle rows use the JSON-safe {@link WireValue}
573
+ * vocabulary — `"bigint"` does not survive `JSON.stringify`, and `"string"` silently retypes every
574
+ * integer, breaking arithmetic in mutator bodies. The cost is a HARD BOUND: a mutator read of an
575
+ * integer outside ±(2^53 − 1) rejects that mutation rather than silently rounding it. Tables with
576
+ * keys beyond that range (snowflake ids, and so on) must override `intMode` and have their mutators
577
+ * handle the resulting type. Commit receipts are unaffected — they never decode row values. */
578
+ export type RindleDatabaseOptions = Pick<SqlClientOptions, "url" | "authToken" | "fetch" | "intMode">;
550
579
  export interface RindleApiServerOptions<User> {
551
580
  daemon: RindleDaemonClient;
581
+ /** Preferred managed setup. The API server constructs and owns its SQL client; authoritative
582
+ * mutators, `tx.sql`, and `scope.sql` use it, while `daemon` remains only the lease/query/
583
+ * materialization/room control plane. Mutually exclusive with {@link sql} unless `backend`
584
+ * explicitly replaces both. */
585
+ database?: RindleDatabaseOptions;
586
+ /** Advanced injection/test seam for an already-created SQL session. Most applications should
587
+ * configure {@link database} and never import `createSqlClient`. When present (and `backend` is
588
+ * absent), authoritative mutators run through {@link sqlBackend}. */
589
+ sql?: SqlSession;
552
590
  /** Where mutations are applied and `lmid` is stamped ({@link MutationBackend}). Default:
553
- * `daemonBackend(daemon)` exactly today's behavior. Pass `postgresBackend(...)` when
554
- * Postgres is the source of truth (the daemon leg then serves only the read side). */
591
+ * managed `sqlBackend` when `database` or `sql` is configured, otherwise the compatibility
592
+ * `daemonBackend(daemon)`. Pass `postgresBackend(...)` when Postgres is the source of truth. */
555
593
  backend?: MutationBackend;
556
594
  /** The typed schema (`createSchema`/`refineSchema`). Required only when a mutator uses the LOGICAL
557
595
  * write vocabulary (`tx.insert`/`update`/`upsert`/`insertIgnore`/`delete`/`row`) — it drives the
@@ -621,24 +659,15 @@ export interface RindleApiServerOptions<User> {
621
659
  }
622
660
  export interface RindleApiServer<User> {
623
661
  readonly routes: RindleApiRoutes;
662
+ /** Close the SQL client created from {@link RindleApiServerOptions.database}. Injected SQL
663
+ * sessions and custom backends remain caller-owned. Idempotent. */
664
+ close(): void;
624
665
  createQueryLease(input: QueryLeaseRequest<User>): Promise<QueryLeaseResponse>;
625
666
  /** (Re-)materialize every `pinnedQueries` entry with a pinned policy. Idempotent — the daemon
626
667
  * dedupes by canonical query, so a re-assert reuses the existing materialization. Call it at
627
668
  * startup and whenever the daemon restarts (e.g. from the daemon-client `onBootId` hook), since
628
669
  * the daemon holds no durable materialization state. No-op when `pinnedQueries` is empty. */
629
670
  assertPins(): Promise<void>;
630
- /** The room-serving coverage DIAGNOSTIC (G-iv-b; the `assertPins`-style explicit check): for
631
- * every realtime-labeled query, resolve it (under `pinUser`, per exemplar args), resolve its
632
- * profile's footprint, and run the REAL daemon coverage check — the same verdict the lease
633
- * path serves by. Returns every verdict; `strict` throws when any labeled query is not
634
- * provably covered (deploy-gate mode). Deliberately ignores `locateRoom`/`roomTokenKey` — it
635
- * answers "would this query be coverable", not "is serving fully wired". */
636
- validateRealtime(opts?: {
637
- /** Per-query exemplar args (a query is checked once per exemplar; default: one `null`). */
638
- exemplars?: Partial<Record<string, readonly unknown[]>>;
639
- /** Throw when any labeled query is uncovered (instead of just reporting). */
640
- strict?: boolean;
641
- }): Promise<ValidateRealtimeReport>;
642
671
  pushMutation(input: PushMutationRequest<User>): Promise<PushMutationResponse>;
643
672
  /** Apply an in-order batch (the client mutation queue's flush). Envelopes run strictly
644
673
  * sequentially; a rejection still advances the daemon's lmid, so later envelopes in the
@@ -670,22 +699,6 @@ export interface RindleApiServer<User> {
670
699
  * lease and the flush leg. 403 until {@link RindleApiServerOptions.realtime} is set. */
671
700
  handleRoomBootJson(body: unknown, context: ApiContext<User>): Promise<RoomHostResponse>;
672
701
  }
673
- /** One {@link RindleApiServer.validateRealtime} verdict: a labeled query × exemplar args. */
674
- export interface ValidateRealtimeVerdict {
675
- query: string;
676
- profile: string;
677
- args: unknown;
678
- covered: boolean;
679
- /** Why it is not covered (uncovered verdicts only) — the daemon's reason strings, the
680
- * aggregate refusal, or a resolve/footprint error message. */
681
- reasons?: string[];
682
- }
683
- /** The {@link RindleApiServer.validateRealtime} report. */
684
- export interface ValidateRealtimeReport {
685
- verdicts: ValidateRealtimeVerdict[];
686
- /** The uncovered subset of `verdicts` (what `strict` throws on). */
687
- uncovered: ValidateRealtimeVerdict[];
688
- }
689
702
  export type RindleApiErrorCode = "bad-request" | "forbidden" | "not-found" | "rejected";
690
703
  export declare class RindleApiError extends Error {
691
704
  readonly code: RindleApiErrorCode;
@@ -724,7 +737,6 @@ export declare class SplitDaemonClient implements RindleDaemonClient {
724
737
  applyRowChangeTxn(input: RowChangeTxn): Promise<RowChangeTxnOutput>;
725
738
  claimRoomEpoch(input: ClaimRoomEpochInput): Promise<ClaimRoomEpochOutput>;
726
739
  roomLmids(input: RoomLmidsInput): Promise<RoomLmidsOutput>;
727
- coverQuery(input: CoverQueryInput): Promise<CoverQueryOutput>;
728
740
  migrate(input: MigrateInput): Promise<MigrateOutput>;
729
741
  materialize(input: MaterializeInput): Promise<MaterializeOutput>;
730
742
  query(input: QueryOnceInput): Promise<QueryOnceOutput>;
@@ -767,16 +779,13 @@ export declare class BackendError extends Error {
767
779
  readonly driverError: unknown;
768
780
  constructor(driverError: unknown);
769
781
  }
770
- /**
771
- * The default {@link MutationBackend}. A pure-write mutator keeps the historical shape: writes
772
- * ACCUMULATE and ship as ONE batch to `/execute-sql-txn`, which stamps `lmid` co-transactionally
773
- * (and `/reject-mutation` advances it past a rejected mid) — byte-identical behavior. A
774
- * READ-bearing mutator lazily upgrades to an interactive mutation session
775
- * (DAEMON-INTERACTIVE-TXN-DESIGN.md): reads are read-your-writes through the open transaction
776
- * (PG parity), the commit stamps `lmid` in the same atomic unit, and a begin-absorbed replay
777
- * short-circuits without re-running the body.
778
- */
782
+ /** Legacy/private-plane adapter. Kept for existing deployments; its mutation policy is shared with
783
+ * {@link sqlBackend}, so the two transports cannot drift. */
779
784
  export declare function daemonBackend(daemon: RindleDaemonClient): MutationBackend;
785
+ /** Run API-server mutators through `@rindle/sql-client`'s explicit mutation facade. Query leases,
786
+ * SSR reads and room control continue to use `daemon`; only authoritative mutation execution moves
787
+ * to the versioned SQL transport. */
788
+ export declare function sqlBackend(sql: SqlSession): MutationBackend;
780
789
  /** The query surface a {@link PostgresPlugger} transaction exposes. `exec` runs one statement;
781
790
  * `query` returns rows keyed by column name (read-your-own-writes inside the txn). */
782
791
  export interface PgQuery {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}