@rindle/client 0.4.3 → 0.5.0

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
@@ -5,174 +5,44 @@ The shared core for the flat-change client: a **typed schema + query builder**,
5
5
  the **`Store`**, and the **`Backend`** seam. It talks to no engine directly — pair it with a
6
6
  backend such as [`@rindle/wasm`](../wasm) (local, in-process) or a remote (network) backend.
7
7
 
8
- ## Schema + queries
9
-
10
8
  ```ts
11
- import {
12
- table,
13
- string,
14
- number,
15
- boolean,
16
- json,
17
- createSchema,
18
- defineRelationships,
19
- rel,
20
- extendSchema,
21
- eq,
22
- gt,
23
- ilike,
24
- or,
25
- exists,
26
- } from "@rindle/client";
9
+ import { table, string, number, createSchema, gt } from "@rindle/client";
27
10
 
28
11
  const issue = table("issue")
29
- .columns({ id: number(), title: string(), priority: number(), meta: json<{ tags: string[] }>() })
30
- .primaryKey("id");
31
-
32
- const comment = table("comment")
33
- .columns({ id: number(), issueId: number(), body: string() })
34
- .primaryKey("id");
35
-
36
- const schema = createSchema({ tables: [issue, comment] }); // pass to `new Store(schema, backend)`
37
-
38
- const rels = defineRelationships({
39
- issueComments: rel(issue, comment, { id: "issueId" }),
40
- });
41
- ```
42
-
43
- - **Operators** are named value-functions: `eq / ne / gt / ge / lt / le / like / ilike / inList / …`.
44
- - **`where`** is a typed proxy — `where.closed(false)`, `where.priority(gt(3))` — with camelCase
45
- sugar `whereClosed(false)`. Multiple `where`s are AND-ed.
46
- - **`or` / `and` / `exists`** are plain top-level functions (no closure): conditions carry their
47
- table type, e.g. `where(or(issue.priority(gt(8)), exists(comment, { parent: ["id"], child: ["issueId"] })))`.
48
- - **Nesting** is `sub(alias, relationship, build?)`, or
49
- `sub(alias, childTable, correlation, build?)` when you want to spell the join inline.
50
- - **Paging / single-row**: `orderBy(col, dir)`, `limit(n)`, `start(cursor, { exclusive })` (cursor
51
- paging from a partial row over the sort columns), and `one()`.
52
-
53
- The result type flows through: `store.query.issue.sub("comments", …).materialize()` yields an
54
- `ArrayView` whose `.data` is typed `{ …issue, comments: Comment[] }[]`.
55
-
56
- A top-level **`.one()`** flips `materialize()` to a `SingularArrayView` whose `.data` is the single
57
- row or `null` (the engine caps the query to `limit 1`) — the unwrap is type-level too:
58
-
59
- ```ts
60
- const view = store.query.issue.where.id(id).one().materialize();
61
- view.subscribe((row) => render(row)); // row: Issue | null, not Issue[]
62
- ```
63
-
64
- ## Named queries + fragments
65
-
66
- Remote subscriptions should be named with `defineQuery`. The returned value is callable: it
67
- validates untrusted args, builds the query, and stamps it with the `(name, args)` wire identity that
68
- remote backends subscribe to.
69
-
70
- Fragments are reusable selections over a table. They compose into named queries with `include`
71
- (same row) and `sub` (related rows), so a React screen can open one root query while child
72
- components keep owning their own data declarations.
73
-
74
- ```ts
75
- import { defineFragment, defineQuery, newQueryBuilder } from "@rindle/client";
76
- import type { FragmentData, FragmentRef } from "@rindle/client";
77
-
78
- const q = newQueryBuilder(schema);
79
-
80
- export const IssueCardFragment = defineFragment(issue, (i) =>
81
- i
82
- .select("id", "title")
83
- .countAs("commentCount", rels.issueComments),
84
- );
85
-
86
- export type IssueCardData = FragmentData<typeof IssueCardFragment>;
87
- export type IssueCardRef = FragmentRef<typeof IssueCardFragment>;
88
-
89
- export const issuesPageQuery = defineQuery(
90
- "issuesPage",
91
- (raw): { limit: number } => {
92
- const limit = Number((raw as { limit?: unknown }).limit);
93
- if (!Number.isInteger(limit) || limit < 1 || limit > 100) throw new Error("bad limit");
94
- return { limit };
95
- },
96
- ({ limit }) => q.issue.orderBy("id", "asc").limit(limit).include(IssueCardFragment),
97
- );
98
- ```
99
-
100
- `FragmentData<F>` is the local data shape read by the component that owns `F`. `FragmentRef<F>` is
101
- the opaque token React passes between components; use `fragmentKey(ref)` from `@rindle/client` or
102
- `@rindle/react` for stable list keys. Passing a fragment directly to `sub(alias, rel, ChildFragment)`
103
- creates child refs in the React-facing local data. Passing an inline builder such as
104
- `sub(alias, rel, (q) => q.include(ChildFragment).orderBy(...))` keeps that child payload inline for
105
- the parent to read.
106
-
107
- ## Local-only tables
108
-
109
- Some UI state should live in the same reactive store as synced data but must never cross the
110
- wire: selections, draft text, view preferences, scratch rows. Mark those tables as
111
- **local-only** with `table(name, { local: true })` and include them in the same schema:
112
-
113
- ```ts
114
- const issue = table("issue").columns({ id: number(), title: string() }).primaryKey("id");
115
- const selection = table("selection", { local: true })
116
- .columns({ id: number(), issueId: number() })
117
- .primaryKey("id");
118
-
119
- const schema = createSchema({ tables: [issue, selection] });
120
- ```
121
-
122
- Local-only tables are client-authoritative: they are omitted from the normalized schema
123
- fingerprint, never advertised to the server, never synced, and never rewound during an
124
- optimistic rebase. `store.query` can join/query them locally, but `newQueryBuilder(schema)`
125
- (the server/named-query scope) rejects them so a named remote query cannot depend on private
126
- client state.
127
-
128
- Write local state with `store.writeLocal(...)`, not with a replayable mutator:
129
-
130
- ```ts
131
- await store.writeLocal((tx) => tx.add("selection", { id: 1, issueId: 42 }));
132
- ```
133
-
134
- `writeLocal` accepts only local-only tables and rejects synced tables. Conversely, predicted
135
- mutators cannot touch local-only tables: the server replays a mutator from `(name, args)` alone,
136
- so private client state must stay on the direct local-write path.
137
-
138
- SQL-first apps usually keep synced tables in a generated file. Do not edit that file to add
139
- local tables; extend it in hand-written code:
140
-
141
- ```ts
142
- // shared/schema.local.ts
143
- import { extendSchema, number, string, table } from "@rindle/client";
144
- import { schema as generatedSchema } from "./schema.gen.ts";
145
-
146
- export const draft = table("draft", { local: true })
147
- .columns({ id: string(), issueId: number(), body: string() })
12
+ .columns({ id: number(), title: string(), priority: number() })
148
13
  .primaryKey("id");
14
+ const schema = createSchema({ tables: [issue] }); // pass to `new Store(schema, backend)`
149
15
 
150
- export const clientSchema = extendSchema(generatedSchema, { tables: [draft] });
151
- ```
152
-
153
- Hand `clientSchema` to the browser store. Keep using the generated schema for API-server
154
- resolution and daemon-facing code; `extendSchema` intentionally accepts only local-only tables,
155
- so real synced tables still have to come from `rindle schema gen`.
156
-
157
- ## The Backend seam
158
-
159
- A `Backend` emits a per-query `ChangeEvent` stream (`hello` → `snapshot` → `batch`) and accepts
160
- mutations. The `Store` builds one `ArrayView` per query and routes events to it. The **same**
161
- `Store` / `ArrayView` / builder work behind a local (WASM) or remote (network) backend — only the
162
- backend differs.
163
-
164
- ```ts
165
- const store = new Store(schema, backend);
166
- const view = store.query.issue.where.closed(false).materialize();
167
- view.subscribe(render);
168
- await store.write((tx) => tx.add("issue", { id: 1, title: "x", priority: 3, meta: { tags: [] } }));
16
+ const view = store.query.issue.where.priority(gt(3)).orderBy("id", "asc").materialize();
17
+ view.subscribe(render); // typed, reference-stable, always == a fresh query
169
18
  ```
170
19
 
171
- ## Reads
172
-
173
- `view.data` is the materialized tree, reference-stable: an update re-projects only what changed, so
174
- unchanged subtrees keep their object identity (React/Solid memoize on it). JSON columns are parsed
175
- to objects on read.
20
+ Everything an app builds on lives here:
21
+
22
+ - the **query builder** (`where` proxies, `or`/`and`/`exists`, `sub`, `orderBy`/`limit`/`start`,
23
+ `.one()`, `countAs`/`count()`/`groupBy`/`having`, `select`);
24
+ - **named queries & fragments** (`defineQuery`, `defineFragment`, `defineRelationships`/`rel`) —
25
+ the co-located, waterfall-free composition surface;
26
+ - the **isomorphic-mutator vocabulary** (`defineMutators` → `shared(args, gen)`, `IsoTx`,
27
+ `MutationGen`, `MutatorCtx`) — one generator body per write, run on both tiers;
28
+ - **local-only tables** (`table(name, { local: true })` + `extendSchema` + `store.writeLocal`) —
29
+ client-authoritative state that never syncs or rebases.
30
+
31
+ ## Docs
32
+
33
+ - **[Supported query shapes](https://rindle.sh/docs/supported-queries-ts)** — the honest matrix of
34
+ what the builder can lower, and the build-time rejections.
35
+ - **[Compose the UI with fragments](https://rindle.sh/docs/fragments)** — `defineQuery` /
36
+ `defineFragment` / `defineRelationships` in full.
37
+ - **[Isomorphic mutators](https://rindle.sh/docs/mutators)** — the write contract: the op
38
+ vocabulary, reads, `ctx.user`, the determinism rules.
39
+ - **[The browser client](https://rindle.sh/docs/client)** — this core behind the optimistic synced
40
+ store, including local-only tables.
41
+ - **[Schema & migrations](https://rindle.sh/docs/schema)** — why the schema is generated from SQL,
42
+ and the one allowed hand-edit.
43
+
44
+ Markdown mirrors live at `https://rindle.sh/docs/<slug>.md`; for agents:
45
+ [llms.txt](https://rindle.sh/llms.txt).
176
46
 
177
47
  ## Build
178
48
 
package/dist/index.d.ts CHANGED
@@ -11,7 +11,7 @@ export { defineMutators, driveMutationAsync, driveMutationSync, isGeneratorMutat
11
11
  export type { ArgSchema, AsyncEffectExec, BatchEffect, IsoTx, IsoTxOf, MutationGen, MutatorCtx, QueryArg, QueryEffect, QueryResultRow, ReadEffect, SharedMutator, SharedMutatorWithArgs, SyncEffectExec, YieldEffect, } from "./mutation-ops.ts";
12
12
  export { stableKey } from "./key.ts";
13
13
  export { COMPARATOR_VERSION, compareNumber, compareRows, compareString, compareValue } from "./compare.ts";
14
- export type { Backend, BackendDevObserver, BackendServerDelta, ChangeEvent, ColType, FlatChange, FlatOp, Mutation, MutationEnvelope, NormalizedEvent, NormalizedOp, NormalizedSource, NormalizedTableSchema, OptimisticSource, PathSeg, ProgressFrame, QueryId, RemoteQuery, ResultType, WireNode, WireProjection, WireRel, WireSchema, WireValue, } from "./types.ts";
14
+ export type { Backend, BackendDevObserver, BackendServerDelta, ChangeEvent, ColType, FlatChange, FlatOp, Mutation, MutationEnvelope, MutationOutcomeFrame, NormalizedEvent, NormalizedOp, NormalizedSource, NormalizedTableSchema, OptimisticSource, PathSeg, ProgressFrame, QueryId, RemoteQuery, ResultType, WireNode, WireProjection, WireRel, WireSchema, WireValue, } from "./types.ts";
15
15
  export { CLIENT_MUTATIONS_SCHEMA, CLIENT_MUTATIONS_TABLE, LMID_QUERY_NAME } from "./types.ts";
16
16
  export type { Aggregate, Ast, Bound, Condition, CorrelatedSubquery, Correlation, Dir, ExistsOp, LitValue, OrderPart, SimpleOp, ValuePosition, } from "./ast.ts";
17
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AAEzB,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACrD,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE7D,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE7E,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,EACL,MAAM,GACP,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,SAAS,EACT,eAAe,EACf,WAAW,EACX,KAAK,EACL,OAAO,EACP,WAAW,EACX,UAAU,EACV,QAAQ,EACR,WAAW,EACX,cAAc,EACd,UAAU,EACV,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE3G,YAAY,EACV,OAAO,EACP,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,OAAO,EACP,UAAU,EACV,MAAM,EACN,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,OAAO,EACP,WAAW,EACX,UAAU,EACV,QAAQ,EACR,cAAc,EACd,OAAO,EACP,UAAU,EACV,SAAS,GACV,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG9F,YAAY,EACV,SAAS,EACT,GAAG,EACH,KAAK,EACL,SAAS,EACT,kBAAkB,EAClB,WAAW,EACX,GAAG,EACH,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,aAAa,GACd,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AAEzB,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACrD,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE7D,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE7E,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,EACL,MAAM,GACP,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,SAAS,EACT,eAAe,EACf,WAAW,EACX,KAAK,EACL,OAAO,EACP,WAAW,EACX,UAAU,EACV,QAAQ,EACR,WAAW,EACX,cAAc,EACd,UAAU,EACV,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE3G,YAAY,EACV,OAAO,EACP,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,OAAO,EACP,UAAU,EACV,MAAM,EACN,QAAQ,EACR,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,OAAO,EACP,WAAW,EACX,UAAU,EACV,QAAQ,EACR,cAAc,EACd,OAAO,EACP,UAAU,EACV,SAAS,GACV,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG9F,YAAY,EACV,SAAS,EACT,GAAG,EACH,KAAK,EACL,SAAS,EACT,kBAAkB,EAClB,WAAW,EACX,GAAG,EACH,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,aAAa,GACd,MAAM,UAAU,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,0FAA0F;AAC1F,8CAA8C;AAE9C,cAAc,aAAa,CAAC,CAAC,oMAAoM;AACjO,cAAc,gBAAgB,CAAC,CAAC,mGAAmG;AACnI,cAAc,YAAY,CAAC,CAAC,uIAAuI;AACnK,cAAc,WAAW,CAAC,CAAC,uEAAuE;AAClG,cAAc,YAAY,CAAC,CAAC,kEAAkE;AAC9F,cAAc,UAAU,CAAC,CAAC,oGAAoG;AAE9H,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC,CAAC,mEAAmE;AAIzH,uFAAuF;AACvF,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,EACL,MAAM,GACP,MAAM,mBAAmB,CAAC;AAmB3B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC,CAAC,2DAA2D;AAEjG,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AA6B3G,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,0FAA0F;AAC1F,8CAA8C;AAE9C,cAAc,aAAa,CAAC,CAAC,oMAAoM;AACjO,cAAc,gBAAgB,CAAC,CAAC,mGAAmG;AACnI,cAAc,YAAY,CAAC,CAAC,uIAAuI;AACnK,cAAc,WAAW,CAAC,CAAC,uEAAuE;AAClG,cAAc,YAAY,CAAC,CAAC,kEAAkE;AAC9F,cAAc,UAAU,CAAC,CAAC,oGAAoG;AAE9H,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC,CAAC,mEAAmE;AAIzH,uFAAuF;AACvF,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,EACL,MAAM,GACP,MAAM,mBAAmB,CAAC;AAmB3B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC,CAAC,2DAA2D;AAEjG,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AA8B3G,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
package/dist/query.d.ts CHANGED
@@ -51,6 +51,10 @@ interface QueryBase<C extends AnyCols, Rels, One extends boolean, Sel extends st
51
51
  readonly name?: string;
52
52
  /** Present when this local query came from `defineQuery`; sent with `name` upstream. */
53
53
  readonly args?: unknown;
54
+ /** Present when this local query came from a realtime-labeled `defineQuery`
55
+ * (RINDLE-REALTIME-QUERY-ENABLEMENT §2.1). Declaration metadata only — it never joins the
56
+ * wire identity and never changes the AST. */
57
+ readonly realtime?: RealtimeQueryLabel;
54
58
  /** Condition form — consumes `or()`/`and()`/`exists()`/field conditions (AND-ed across calls).
55
59
  * Filters over the FULL column set (`RowOf<C>`), independent of what's `select`ed/masked. */
56
60
  where(cond: Cond<RowOf<C>>): Query<C, Rels, One, Sel, LocalRels>;
@@ -221,6 +225,29 @@ export type QueryValidator<Args> = (rawArgs: unknown) => Args;
221
225
  * anonymous). Otherwise type ctx required so the type catches an omitted ctx.
222
226
  */
223
227
  export type QueryBuilder<Args, Q extends AnyQuery, Ctx extends readonly unknown[] = []> = (args: Args, ...ctx: Ctx) => Q;
228
+ /**
229
+ * The realtime LABEL a named query may declare (RINDLE-REALTIME-QUERY-ENABLEMENT-DESIGN.md §2.1):
230
+ * which api-server room PROFILE the query wants to be served from, and how the query's args map
231
+ * to that profile's key args. This is the DECLARATION only — the serve decision (covering proof,
232
+ * lease routing) is the server's, and the final room key is minted server-side by the profile's
233
+ * own `key` under authoritative ctx, so a label can never place a query in a room the server
234
+ * didn't derive itself. Both tiers import the SAME `defineQuery` value, so they always agree
235
+ * *which profile* a query belongs to.
236
+ */
237
+ export interface RealtimeQueryLabel<Args = any> {
238
+ /** The room profile name — must match a `realtime.rooms` key on the api-server (validated
239
+ * loudly at `createRindleApiServer` construction). May not contain `/` (the wire room-key
240
+ * delimiter). */
241
+ readonly room: string;
242
+ /** Map the query's VALIDATED args to the profile's key args (what the server feeds the
243
+ * profile's `key(args)`). Identity when omitted. Must be pure — both tiers may run it. */
244
+ readonly args?: (queryArgs: Args) => unknown;
245
+ }
246
+ /** Options for {@link defineQuery}. */
247
+ export interface DefineQueryOptions<Args = any> {
248
+ /** Declare this query realtime-eligible — see {@link RealtimeQueryLabel}. */
249
+ realtime?: RealtimeQueryLabel<Args>;
250
+ }
224
251
  /**
225
252
  * A single, co-located NAMED query (see {@link defineQuery}). It is:
226
253
  * - **callable on the client** — `q(args, ctx?)` validates + builds + stamps the result with its
@@ -238,6 +265,10 @@ export interface NamedQuery<Args, Ctx extends readonly unknown[], Q extends AnyQ
238
265
  /** The wire identity. The daemon leases by this name; client and server MUST agree on it — which
239
266
  * they do, because both sides import the SAME `defineQuery` value. */
240
267
  readonly queryName: string;
268
+ /** The §2.1 realtime label, when this query was defined with one ({@link DefineQueryOptions}).
269
+ * Absent on unlabeled queries. Carried onto the stamped built Query too, and preserved through
270
+ * `registerQueries` on the server. */
271
+ readonly realtime?: RealtimeQueryLabel<Args>;
241
272
  /** Server-side: validate raw wire args, then build the authoritative `Query` from the server's
242
273
  * authoritative ctx (forwarded by `registerQueries`). */
243
274
  resolve(rawArgs: unknown, ...ctx: Ctx): Q;
@@ -275,9 +306,9 @@ export interface NamedQuery<Args, Ctx extends readonly unknown[], Q extends AnyQ
275
306
  * // client: myIssuesQuery({ limit: 20 }, { user: currentUser() })
276
307
  * ```
277
308
  */
278
- export declare function defineQuery<Q extends AnyQuery>(name: string, build: () => Q): NamedQuery<void, [], Q>;
279
- export declare function defineQuery<Args, Ctx extends readonly unknown[], Q extends AnyQuery>(name: string, build: (args: Args, ...ctx: Ctx) => Q): NamedQuery<Args, Ctx, Q>;
280
- export declare function defineQuery<Args, Ctx extends readonly unknown[], Q extends AnyQuery>(name: string, validate: QueryValidator<Args>, build: (args: Args, ...ctx: Ctx) => Q): NamedQuery<Args, Ctx, Q>;
309
+ export declare function defineQuery<Q extends AnyQuery>(name: string, build: () => Q, options?: DefineQueryOptions<void>): NamedQuery<void, [], Q>;
310
+ export declare function defineQuery<Args, Ctx extends readonly unknown[], Q extends AnyQuery>(name: string, build: (args: Args, ...ctx: Ctx) => Q, options?: DefineQueryOptions<Args>): NamedQuery<Args, Ctx, Q>;
311
+ export declare function defineQuery<Args, Ctx extends readonly unknown[], Q extends AnyQuery>(name: string, validate: QueryValidator<Args>, build: (args: Args, ...ctx: Ctx) => Q, options?: DefineQueryOptions<Args>): NamedQuery<Args, Ctx, Q>;
281
312
  declare const FRAGMENT_BRAND: unique symbol;
282
313
  declare const LOCAL_FRAGMENT_REF_BRAND: unique symbol;
283
314
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
package/dist/query.js CHANGED
@@ -9,21 +9,43 @@ import { stableKey } from "./key.js";
9
9
  import { fieldCondition } from "./operators.js";
10
10
  import { isLocalTable, isRelationship, SCHEMA } from "./schema.js";
11
11
  const STAMP_NAMED_QUERY = Symbol("rindle.stampNamedQuery");
12
- function stampNamedQuery(query, name, args) {
12
+ function stampNamedQuery(query, name, args, realtime) {
13
13
  const stamp = query[STAMP_NAMED_QUERY];
14
14
  if (typeof stamp !== "function") {
15
15
  throw new Error("defineQuery's build must return a Query built by newQueryBuilder/queries");
16
16
  }
17
- return stamp(name, args);
17
+ return stamp(name, args, realtime);
18
18
  }
19
- export function defineQuery(name, validateOrBuild, maybeBuild) {
20
- const hasValidator = maybeBuild !== undefined;
19
+ /** Loud, definition-time validation of a realtime label — a malformed label is a config bug the
20
+ * author should hit at module load, not a query that silently never room-serves. */
21
+ function validateRealtimeLabel(name, label) {
22
+ if (label === undefined)
23
+ return undefined;
24
+ if (typeof label.room !== "string" || label.room.length === 0) {
25
+ throw new Error(`defineQuery("${name}"): realtime.room must be a non-empty room-profile name.`);
26
+ }
27
+ if (label.room.includes("/")) {
28
+ throw new Error(`defineQuery("${name}"): realtime.room "${label.room}" may not contain "/" — it delimits the ` +
29
+ `wire room key ("<profile>/<key>").`);
30
+ }
31
+ if (label.args !== undefined && typeof label.args !== "function") {
32
+ throw new Error(`defineQuery("${name}"): realtime.args must be a function mapping the query's args to the ` +
33
+ `profile's key args (or omitted for identity).`);
34
+ }
35
+ return label;
36
+ }
37
+ export function defineQuery(name, validateOrBuild, maybeBuildOrOptions, maybeOptions) {
38
+ const hasValidator = typeof maybeBuildOrOptions === "function";
21
39
  const validate = (hasValidator ? validateOrBuild : (raw) => raw);
22
- const build = (hasValidator ? maybeBuild : validateOrBuild);
40
+ const build = (hasValidator ? maybeBuildOrOptions : validateOrBuild);
41
+ const options = hasValidator ? maybeOptions : maybeBuildOrOptions;
42
+ // §2.1 realtime label — pure declaration metadata, validated loudly at definition time.
43
+ const realtime = validateRealtimeLabel(name, options?.realtime);
23
44
  const resolve = (rawArgs, ...ctx) => build(validate(rawArgs), ...ctx);
24
45
  // The wire identity is (name, args) ONLY — ctx is never stamped, so it never crosses the wire.
25
- const call = (args, ...ctx) => stampNamedQuery(build(validate(args), ...ctx), name, args ?? null);
26
- return Object.assign(call, { queryName: name, resolve });
46
+ // The realtime label rides the stamp as metadata beside the identity, never inside it.
47
+ const call = (args, ...ctx) => stampNamedQuery(build(validate(args), ...ctx), name, args ?? null, realtime);
48
+ return Object.assign(call, realtime === undefined ? { queryName: name, resolve } : { queryName: name, resolve, realtime });
27
49
  }
28
50
  // ----------------------------- fragments (FRAGMENT-COMPOSITION-DESIGN.md, Phase 0) -----------------------------
29
51
  const FRAGMENT_BRAND = Symbol("rindle.fragment");
@@ -418,6 +440,7 @@ guardAst) {
418
440
  const base = {
419
441
  name: named?.name,
420
442
  args: named?.args,
443
+ realtime: named?.realtime,
421
444
  where: (cond) => next({ wheres: [...s.wheres, cond] }),
422
445
  orderBy: (col, dir) => next({ orderBy: [...s.orderBy, [col, dir]] }),
423
446
  select: (...cols) => next({ select: [...(s.select ?? []), ...cols] }),
@@ -522,7 +545,7 @@ guardAst) {
522
545
  if (prop === "where")
523
546
  return whereProxy;
524
547
  if (prop === STAMP_NAMED_QUERY)
525
- return (name, args) => makeQuery(meta, s, onMat, { name, args }, guardAst);
548
+ return (name, args, realtime) => makeQuery(meta, s, onMat, { name, args, realtime }, guardAst);
526
549
  if (typeof prop === "string" && prop.length > 5 && prop.startsWith("where")) {
527
550
  const field = prop[5].toLowerCase() + prop.slice(6);
528
551
  return (arg) => applyField(field, arg);
package/dist/query.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
package/dist/schema.d.ts CHANGED
@@ -41,15 +41,24 @@ export interface TableMeta<N extends string = string, C extends AnyCols = AnyCol
41
41
  /** A **local-only** table (`201-LOCAL-ONLY-TABLES-DESIGN.md`): client-authoritative,
42
42
  * never synced/tracked/rebased. The single marker the whole design keys off (§4) — it is
43
43
  * immutable for the table's lifetime (N2) and never crosses the wire (C2). Absent ⇒ an
44
- * ordinary synced table. */
45
- readonly local?: boolean;
44
+ * ordinary synced table.
45
+ *
46
+ * `true` ⇒ eligible for the local-persistence plane (durable + cross-tab when the client
47
+ * enables `persistLocal`, `207-LOCAL-TABLE-PERSISTENCE-DESIGN.md`). `"session"` ⇒ local but
48
+ * EPHEMERAL: outside the plane entirely — never persisted, never replicated across tabs,
49
+ * per-client-instance state that empties on reload (201's original behavior) even when
50
+ * `persistLocal` is on. Every OTHER locality rule (untracked source, M1/M2 guards, E3/Q1
51
+ * wire exclusion) treats both variants identically. */
52
+ readonly local?: boolean | "session";
46
53
  }
47
54
  /** Options for {@link table}. */
48
55
  export interface TableOptions {
49
56
  /** Declare a {@link TableMeta.local local-only} table (selection state, draft text, view
50
57
  * prefs, scratch rows): client-authoritative, never synced or rebased. See
51
- * `201-LOCAL-ONLY-TABLES-DESIGN.md`. */
52
- local?: boolean;
58
+ * `201-LOCAL-ONLY-TABLES-DESIGN.md`. Pass `"session"` for a local table that must stay
59
+ * EPHEMERAL and per-tab even when the client enables `persistLocal` — e.g. selection state
60
+ * that should not follow the user across tabs or reloads (207 §5.4). */
61
+ local?: boolean | "session";
53
62
  }
54
63
  export type TableDef<N extends string, C extends AnyCols, PK extends string = string> = {
55
64
  readonly [SCHEMA]: TableMeta<N, C, PK>;
@@ -201,10 +210,25 @@ export declare function refineSchema<S extends ColsMap, P extends Record<string,
201
210
  tables: T;
202
211
  }): Schema<RefinedColsMap<S, T>, P>;
203
212
  /** Whether `table` is a {@link TableMeta.local local-only} table in `schema` (an unknown table
204
- * reads as non-local). The single locality predicate the backends key off. */
213
+ * reads as non-local). The single locality predicate the backends key off. BOTH variants —
214
+ * `true` and `"session"` — are local here; the persisted/ephemeral split matters only to the
215
+ * persistence plane ({@link persistedLocalTableNames}). */
205
216
  export declare function isLocalTable<S extends ColsMap>(schema: Schema<S>, table: string): boolean;
206
- /** The set of local-only table names in `schema` (`201-LOCAL-ONLY-TABLES-DESIGN.md` §4). */
217
+ /** The set of local-only table names in `schema` (`201-LOCAL-ONLY-TABLES-DESIGN.md` §4) — BOTH
218
+ * variants (`true` and `"session"`); every locality rule except persistence keys off this set. */
207
219
  export declare function localTableNames<S extends ColsMap>(schema: Schema<S>): Set<string>;
220
+ /** The subset of {@link localTableNames} eligible for the persistence plane — `local: true` only.
221
+ * A `local: "session"` table stays outside it: never persisted, never replicated across tabs
222
+ * (`207-LOCAL-TABLE-PERSISTENCE-DESIGN.md` §5.4). */
223
+ export declare function persistedLocalTableNames<S extends ColsMap>(schema: Schema<S>): Set<string>;
224
+ /** A stable fingerprint of the schema's PERSISTED local tables only — the persistence gate's
225
+ * `schemaHash` (`207-LOCAL-TABLE-PERSISTENCE-DESIGN.md` §3.3 / P7). Per `local: true` table:
226
+ * `(name, ordered column names + types + optionality, pk columns)`. Column order is kept (rows are
227
+ * positional); tables are sorted by name so registration order can't skew it; synced-table AND
228
+ * `local: "session"` changes never move it (reshaping an ephemeral table must not wipe durable
229
+ * data). The value is the canonical descriptor itself, not a digest — local-table sets are tiny,
230
+ * and exactness (no collision can ever skip a P7 clear) beats compactness here. */
231
+ export declare function localSchemaHash<S extends ColsMap>(schema: Schema<S>): string;
208
232
  /** Brand on a {@link Relationship} value (a `unique symbol`, distinct from a {@link TableDef}). */
209
233
  declare const RELATIONSHIP_BRAND: unique symbol;
210
234
  /**