@rindle/client 0.2.0 → 0.4.2

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.
Files changed (53) hide show
  1. package/dist/ast.d.ts +11 -0
  2. package/dist/ast.d.ts.map +1 -1
  3. package/dist/index.d.ts +6 -1
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +4 -1
  6. package/dist/index.js.map +1 -1
  7. package/dist/mutation-ops.d.ts +140 -0
  8. package/dist/mutation-ops.d.ts.map +1 -0
  9. package/dist/mutation-ops.js +60 -0
  10. package/dist/mutation-ops.js.map +1 -0
  11. package/dist/operators.d.ts +5 -0
  12. package/dist/operators.d.ts.map +1 -1
  13. package/dist/operators.js +5 -0
  14. package/dist/operators.js.map +1 -1
  15. package/dist/query.d.ts +65 -9
  16. package/dist/query.d.ts.map +1 -1
  17. package/dist/query.js +56 -1
  18. package/dist/query.js.map +1 -1
  19. package/dist/resolve.d.ts +40 -0
  20. package/dist/resolve.d.ts.map +1 -0
  21. package/dist/resolve.js +109 -0
  22. package/dist/resolve.js.map +1 -0
  23. package/dist/schema.d.ts +53 -5
  24. package/dist/schema.d.ts.map +1 -1
  25. package/dist/schema.js +65 -4
  26. package/dist/schema.js.map +1 -1
  27. package/dist/ssr.d.ts +14 -0
  28. package/dist/ssr.d.ts.map +1 -1
  29. package/dist/ssr.js +15 -0
  30. package/dist/ssr.js.map +1 -1
  31. package/dist/store.d.ts +47 -15
  32. package/dist/store.d.ts.map +1 -1
  33. package/dist/store.js +163 -25
  34. package/dist/store.js.map +1 -1
  35. package/dist/types.d.ts +37 -0
  36. package/dist/types.d.ts.map +1 -1
  37. package/dist/types.js.map +1 -1
  38. package/dist/view.d.ts +43 -5
  39. package/dist/view.d.ts.map +1 -1
  40. package/dist/view.js +87 -22
  41. package/dist/view.js.map +1 -1
  42. package/package.json +1 -1
  43. package/src/ast.ts +11 -0
  44. package/src/index.ts +29 -1
  45. package/src/mutation-ops.ts +190 -0
  46. package/src/operators.ts +5 -0
  47. package/src/query.ts +142 -13
  48. package/src/resolve.ts +136 -0
  49. package/src/schema.ts +130 -5
  50. package/src/ssr.ts +21 -0
  51. package/src/store.ts +157 -34
  52. package/src/types.ts +35 -1
  53. package/src/view.ts +103 -22
package/dist/ssr.js CHANGED
@@ -66,6 +66,21 @@ export class ServerStore {
66
66
  dehydrate() {
67
67
  return this.store.dehydrate();
68
68
  }
69
+ /**
70
+ * Loader-phase convenience over {@link preload} + {@link dehydrate}: preload EVERY query (reads run
71
+ * concurrently) and return the dehydrated first-paint cache. Composition keeps this to one read per
72
+ * composed root query — no request waterfall (SSR-DESIGN.md §6.2).
73
+ *
74
+ * A failed read degrades to NO seed for that one query — `onError` fires and the browser's live
75
+ * engine fills it in right after hydration — rather than rejecting the whole batch (which would trip
76
+ * the route's error boundary). The seed is a first-paint optimization; the live `subscribe` is the
77
+ * source of truth, so a missing seed never affects correctness. Without `onError` a failed read is
78
+ * swallowed silently — pass one to log.
79
+ */
80
+ async preloadAll(queries, opts = {}) {
81
+ await Promise.all(queries.map((query) => this.preload(query).catch((err) => opts.onError?.(query, err))));
82
+ return this.dehydrate();
83
+ }
69
84
  }
70
85
  /** Construct a {@link ServerStore} — the one-shot REST Store for server-side rendering. */
71
86
  export function createServerStore(schema, opts) {
package/dist/ssr.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ssr.js","sourceRoot":"","sources":["../src/ssr.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,gGAAgG;AAChG,EAAE;AACF,+EAA+E;AAC/E,iGAAiG;AACjG,mGAAmG;AACnG,kGAAkG;AAClG,4FAA4F;AAC5F,EAAE;AACF,gGAAgG;AAChG,mCAAmC;AAEnC,OAAO,EAAE,mBAAmB,EAAc,MAAM,YAAY,CAAC;AAE7D,OAAO,EAA4C,KAAK,EAAE,MAAM,YAAY,CAAC;AA0B7E;;;;;GAKG;AACH,MAAM,OAAO,cAAc;IACzB,aAAa,CAAC,IAAa,EAAE,IAAa,EAAE,OAAqB,IAAS,CAAC;IAC3E,eAAe,CAAC,IAAa,IAAS,CAAC;IACvC,MAAM,CAAC,UAAsB;QAC3B,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC,CAAC;IACzG,CAAC;IACD,OAAO,CAAC,QAAwD,IAAS,CAAC;CAC3E;AAgBD;;;;GAIG;AACH,MAAM,OAAO,WAAW;IACb,KAAK,CAAW;IACR,MAAM,CAAY;IAClB,IAAI,CAAqB;IAE1C,YAAY,MAAiB,EAAE,IAAwB;QACrD,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;kFAC8E;IAC9E,KAAK,CAAC,OAAO,CAAC,KAA2B;QACvC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QACxB,gGAAgG;QAChG,+FAA+F;QAC/F,gGAAgG;QAChG,qDAAqD;QACrD,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,+FAA+F;QAC/F,+FAA+F;QAC/F,uFAAuF;QACvF,qDAAqD;QACrD,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAClG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACnC,GAAG;YACH,GAAG,KAAK;YACR,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa;YACtC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;SACvB,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;IAED;kDAC8C;IAC9C,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;IAChC,CAAC;CACF;AAED,2FAA2F;AAC3F,MAAM,UAAU,iBAAiB,CAC/B,MAAiB,EACjB,IAAwB;IAExB,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"ssr.js","sourceRoot":"","sources":["../src/ssr.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,gGAAgG;AAChG,EAAE;AACF,+EAA+E;AAC/E,iGAAiG;AACjG,mGAAmG;AACnG,kGAAkG;AAClG,4FAA4F;AAC5F,EAAE;AACF,gGAAgG;AAChG,mCAAmC;AAEnC,OAAO,EAAE,mBAAmB,EAAc,MAAM,YAAY,CAAC;AAE7D,OAAO,EAA4C,KAAK,EAAE,MAAM,YAAY,CAAC;AA0B7E;;;;;GAKG;AACH,MAAM,OAAO,cAAc;IACzB,aAAa,CAAC,IAAa,EAAE,IAAa,EAAE,OAAqB,IAAS,CAAC;IAC3E,eAAe,CAAC,IAAa,IAAS,CAAC;IACvC,MAAM,CAAC,UAAsB;QAC3B,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC,CAAC;IACzG,CAAC;IACD,OAAO,CAAC,QAAwD,IAAS,CAAC;CAC3E;AAgBD;;;;GAIG;AACH,MAAM,OAAO,WAAW;IACb,KAAK,CAAW;IACR,MAAM,CAAY;IAClB,IAAI,CAAqB;IAE1C,YAAY,MAAiB,EAAE,IAAwB;QACrD,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;kFAC8E;IAC9E,KAAK,CAAC,OAAO,CAAC,KAA2B;QACvC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QACxB,gGAAgG;QAChG,+FAA+F;QAC/F,gGAAgG;QAChG,qDAAqD;QACrD,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,+FAA+F;QAC/F,+FAA+F;QAC/F,uFAAuF;QACvF,qDAAqD;QACrD,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAClG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACnC,GAAG;YACH,GAAG,KAAK;YACR,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa;YACtC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;SACvB,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;IAED;kDAC8C;IAC9C,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;IAChC,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,UAAU,CACd,OAAoC,EACpC,OAA0E,EAAE;QAE5E,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CACvF,CAAC;QACF,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;CACF;AAED,2FAA2F;AAC3F,MAAM,UAAU,iBAAiB,CAC/B,MAAiB,EACjB,IAAwB;IAExB,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC"}
package/dist/store.d.ts CHANGED
@@ -2,6 +2,7 @@ import type { Ast } from "./ast.ts";
2
2
  import { type Query, type QueryRoot } from "./query.ts";
3
3
  import type { ColsMap, RowOf, Schema } from "./schema.ts";
4
4
  import type { Backend, ChangeEvent, QueryId, ResultType, WireValue } from "./types.ts";
5
+ import { type ArrayView } from "./view.ts";
5
6
  /** One query's SSR snapshot, keyed by its `viewKey` ({@link stableKey} of the AST): the
6
7
  * pre-projected first-paint `rows` plus the `cvMin` watermark they reflect (SSR-DESIGN.md §6.2).
7
8
  * Serializable as-is into the HTML — `rows` are already JSON values (json columns parsed). */
@@ -58,17 +59,6 @@ export interface QueryInspect {
58
59
  export interface StoreInspect {
59
60
  queries: QueryInspect[];
60
61
  }
61
- /** A dev-only passive tap over the Store's per-query streams (DEBUG-TOOLS-BROWSER-DESIGN §6.2).
62
- * Registered via {@link Store.__attachDevtools}; it ADDS a listener and never displaces the
63
- * single `backend.onEvent`/`onResultType` handlers the Store already owns, so attaching devtools
64
- * cannot perturb the app. Both hooks are optional. */
65
- export interface StoreDevObserver {
66
- /** The raw per-query {@link ChangeEvent} (hello / snapshot / batch) the Store just routed to its
67
- * view — the source of the devtools delta stream (§4.3). Fired AFTER the view has folded it. */
68
- onDelta?(qid: QueryId, ev: ChangeEvent): void;
69
- /** A per-query {@link ResultType} transition the Store just applied to its view (§4.2). */
70
- onResultType?(qid: QueryId, rt: ResultType): void;
71
- }
72
62
  export declare class Store<S extends ColsMap> {
73
63
  /** Type-safe query entry: `store.query.issue.where.closed(false).materialize()`. */
74
64
  readonly query: QueryRoot<S>;
@@ -79,7 +69,12 @@ export declare class Store<S extends ColsMap> {
79
69
  private readonly asts;
80
70
  private readonly syncLeases;
81
71
  private readonly seeds;
82
- private devObservers?;
72
+ private changeListeners?;
73
+ private removedSubtreeWanted;
74
+ private resultTypeListeners?;
75
+ private commitDepth;
76
+ private readonly pendingFlush;
77
+ private readonly pendingChanges;
83
78
  constructor(schema: Schema<S>, backend: Backend);
84
79
  /** Materialize any fluent query object. Named queries subscribe remotely by `(name,args)`;
85
80
  * ad-hoc builder queries are local-only for local-first backends. */
@@ -138,9 +133,46 @@ export declare class Store<S extends ColsMap> {
138
133
  private registerMaterialized;
139
134
  private retainRemote;
140
135
  private onEvent;
141
- /** Register a devtools {@link StoreDevObserver}; returns a detach function. Multiple panes may
142
- * attach. The observer is ADDITIVE it does not touch the backend's single handler slots. */
143
- __attachDevtools(observer: StoreDevObserver): () => void;
136
+ /** Fold a batch into its view, then notify now or — inside a commit bracket defer the view's
137
+ * notification to the commit boundary, so all sibling views fold first (cross-view-atomic
138
+ * notification; see `commitDepth`). */
139
+ private applyAndTrack;
140
+ /** Deliver everything deferred during the just-ended commit, after every affected view has folded
141
+ * (cross-view-atomic notification): view subscribers first, then the raw change stream
142
+ * (narrators/devtools), each frame in arrival order. A throwing listener does not stop the others
143
+ * — the first error is re-raised only once the whole flush completes (mirroring the backend's
144
+ * per-query isolation). View subscribers run before change listeners, preserving the per-event
145
+ * order that held before coalescing (a view's subscribers fired before its change frame). */
146
+ private flushCommit;
147
+ /** Subscribe to the raw per-query {@link ChangeEvent} stream (hello / snapshot / batch) the Store
148
+ * routes to its views, tagged by `qid`. Fired AFTER the event is folded — and, for a commit that
149
+ * fans out to several queries (the in-process engine's `onCommitBoundary`), after EVERY view in
150
+ * that commit has folded — so a listener that re-reads ANY view (its own or a sibling) sees
151
+ * post-commit state, never a torn mid-commit one. Frames keep their arrival (engine-dispatch)
152
+ * order, one per affected query. This is the supported way to drive change-derived layers
153
+ * (e.g. {@link resolveChange} → @rindle/narrator, or a devtools pane) off a live store — attach
154
+ * BEFORE `materialize` to catch a synchronous backend's first `hello`+`snapshot`.
155
+ * The per-query view `WireSchema` rides the `hello` frame (also readable via `view.schema`).
156
+ *
157
+ * The third listener arg is the post-fold {@link ArrayView} for this `qid` (so a template wanting
158
+ * list context — current `data`, `schema`, `resultType` — needn't look it up). It is ALWAYS the
159
+ * plural view, even for a top-level `.one()` query: the Store retains the list-shaped view, not the
160
+ * SingularView wrapper handed back from `materialize`. `undefined` only if the view is mid-teardown.
161
+ *
162
+ * `opts.removedSubtree` enriches every `remove` op on this stream with the full removed subtree
163
+ * ({@link FlatOp.node}), so a consumer can resolve a removed row's nested subs exactly as on an
164
+ * `add` (a bare remove carries only the leaving row). It is reconstructed client-side from the
165
+ * view — no wire/engine cost — and paid only on real evictions while at least one subscriber asks.
166
+ *
167
+ * Returns a detach function; multiple listeners may attach. */
168
+ subscribeChanges(listener: (qid: QueryId, ev: ChangeEvent, view?: ArrayView<unknown>) => void, opts?: {
169
+ removedSubtree?: boolean;
170
+ }): () => void;
171
+ /** Subscribe to per-query {@link ResultType} transitions (the server-channel lifecycle the backend
172
+ * pushes — `unknown` → `complete`, etc.), tagged by `qid`. Fired only on a CHANGE (never replayed
173
+ * on attach; read `view.resultType` for the current value). The supported seam for a status-driven
174
+ * layer (a devtools pane). Returns a detach function; multiple listeners may attach. */
175
+ subscribeResultType(listener: (qid: QueryId, rt: ResultType) => void): () => void;
144
176
  /** A read-only snapshot of every live materialized view (DEBUG-TOOLS-BROWSER-DESIGN §4.2): its
145
177
  * qid, AST, {@link ResultType}, row count, and a capped row sample. Built fresh on each call from
146
178
  * the live `views`/`asts` maps — never cached, never mutating. `sampleRows` caps the per-query
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
package/dist/store.js CHANGED
@@ -22,14 +22,49 @@ export class Store {
22
22
  // seeded for first paint; a seed is consumed (dropped) the moment its query's first live
23
23
  // `hello` lands, so later mounts don't flash stale SSR data.
24
24
  seeds = new Map();
25
- // Dev-only devtools taps (DEBUG-TOOLS-BROWSER-DESIGN §6.2). `undefined` until the first
26
- // `__attachDevtools`, so a production app that never attaches a pane pays one undefined-check per
27
- // routed event and nothing else — there is no global singleton and no hot-path instrumentation.
28
- devObservers;
25
+ // Public per-query change subscribers ({@link subscribeChanges}). `undefined` until the first
26
+ // subscription, so an app that never narrates (nor attaches devtools) pays one undefined-check per
27
+ // routed event and nothing else — no global singleton, no hot-path instrumentation. Each listener
28
+ // also receives the post-fold view for the qid (always the plural {@link ArrayView}, even for a
29
+ // `.one()` query — the Store retains the list-shaped view, not the SingularView wrapper).
30
+ changeListeners;
31
+ // How many active change subscribers asked for removed subtrees ({@link subscribeChanges} opts).
32
+ // `> 0` ⇒ the view reconstructs each evicted subtree onto its `remove` op before fan-out. A plain
33
+ // counter: the cost is paid only while at least one consumer wants it, and only on real evictions.
34
+ removedSubtreeWanted = 0;
35
+ // Public per-query {@link ResultType} subscribers ({@link subscribeResultType}). `undefined` until
36
+ // the first subscription. Devtools and any status-driven layer ride this instead of a private tap.
37
+ resultTypeListeners;
38
+ // Cross-view-atomic notification (the `Backend.onCommitBoundary` contract): while the backend is
39
+ // delivering one commit's coherent multi-query batch, fold every affected view but DEFER each
40
+ // view's subscriber notification, collecting the changed views here; at the commit's `end` flush
41
+ // them all. So when any view's subscriber runs, every sibling view touched by the same commit has
42
+ // already folded — a callback that re-reads another view sees post-commit data. `> 0` ⇒ inside a
43
+ // commit (defer); `0` ⇒ notify inline (the prior behavior, and what a backend with no commit
44
+ // boundary always gets). A depth counter (not a bool) is robust to any future nesting.
45
+ commitDepth = 0;
46
+ pendingFlush = new Set();
47
+ // The raw change-stream frames ({@link subscribeChanges}) buffered during a commit, delivered
48
+ // together at the boundary alongside the view flush — so a change listener (narrator/devtools)
49
+ // that re-reads ANY view also sees post-commit state, the same cross-view-atomic guarantee view
50
+ // subscribers get. Only filled while a commit is open AND a change listener exists; otherwise it
51
+ // stays empty and untouched (the no-narrator hot path is one undefined-check, as before).
52
+ pendingChanges = [];
29
53
  constructor(schema, backend) {
30
54
  this.schema = schema;
31
55
  this.backend = backend;
32
56
  this.backend.onEvent((qid, ev) => this.onEvent(qid, ev));
57
+ // The in-process engine brackets each commit's multi-query delivery so every affected view
58
+ // folds before any subscriber is notified (see `commitDepth`/`pendingFlush`). A backend with no
59
+ // such boundary never enters deferred mode, so its views notify inline exactly as before.
60
+ this.backend.onCommitBoundary?.((phase) => {
61
+ if (phase === "begin") {
62
+ this.commitDepth++;
63
+ }
64
+ else if (this.commitDepth > 0 && --this.commitDepth === 0) {
65
+ this.flushCommit();
66
+ }
67
+ });
33
68
  // Route the backend's per-query lifecycle onto its view (`view.resultType`). Backends without a
34
69
  // lifecycle omit `onResultType`, leaving every view `complete`. A devtools tap mirrors the
35
70
  // transition (it never displaces this single handler).
@@ -43,9 +78,9 @@ export class Store {
43
78
  for (const listener of sync.listeners)
44
79
  listener();
45
80
  }
46
- if (this.devObservers)
47
- for (const o of this.devObservers)
48
- o.onResultType?.(qid, rt);
81
+ if (this.resultTypeListeners)
82
+ for (const l of this.resultTypeListeners)
83
+ l(qid, rt);
49
84
  });
50
85
  // `store.query` is the LOCAL builder (201-LOCAL-ONLY-TABLES-DESIGN.md §5): it scopes over
51
86
  // synced AND local-only tables, so a local query can join the two. Server/named queries use
@@ -232,8 +267,10 @@ export class Store {
232
267
  this.asts.set(qid, ast);
233
268
  // Pre-create the view (PENDING) so `materialize` is synchronous for ANY backend — a remote
234
269
  // backend's `hello` arrives async (the view reads as `[]` until then). A synchronous backend
235
- // (wasm/replica) resets it during `registerQuery` below, so it returns already-hydrated.
236
- const view = this.views.get(qid) ?? this.views.set(qid, new FlatArrayView()).get(qid);
270
+ // (wasm/replica) resets it during `registerQuery` below, so it returns already-hydrated. The
271
+ // view carries its `qid` (exposed as `view.qid`) so a consumer can correlate it with the raw
272
+ // change stream straight off `materialize(query).qid`.
273
+ const view = this.views.get(qid) ?? this.views.set(qid, new FlatArrayView(undefined, undefined, qid)).get(qid);
237
274
  // Wire teardown: `destroy()` must unregister the query from the backend and drop our routing
238
275
  // entry. Otherwise the engine keeps emitting events for the destroyed query and the Store
239
276
  // routes them to the now-empty view — which throws on the next Child/remove ("parent not
@@ -291,32 +328,133 @@ export class Store {
291
328
  const types = ast ? this.viewTypes(ev.schema, ast) : undefined;
292
329
  // Reset the (pre-created or existing) view IN PLACE — first hello OR a re-hydrate (new
293
330
  // epoch) — so the materialized reference the caller holds survives a re-subscribe.
294
- const view = this.views.get(qid) ?? this.views.set(qid, new FlatArrayView()).get(qid);
331
+ const view = this.views.get(qid) ?? this.views.set(qid, new FlatArrayView(undefined, undefined, qid)).get(qid);
295
332
  view.reset(ev.schema, types);
296
333
  }
297
334
  else if (ev.type === "snapshot") {
298
- this.views.get(qid)?.applyChanges(ev.adds);
335
+ this.applyAndTrack(qid, ev.adds);
299
336
  }
300
337
  else {
301
- this.views.get(qid)?.applyChanges(ev.events);
338
+ this.applyAndTrack(qid, ev.events);
339
+ }
340
+ // Fan the same post-fold frame out to subscribers (narration, devtools, …). Inside a commit
341
+ // bracket the frames are BUFFERED and delivered together at the boundary (after every view has
342
+ // folded), so a listener re-reading ANY view sees post-commit state — the same cross-view-atomic
343
+ // guarantee view subscribers get; outside one they go inline (still after this view's own fold,
344
+ // so the post-fold view passed here — and any re-read of it — reflects the post-apply state, and
345
+ // an opted-in removed subtree the view just attached rides along on the `remove` op).
346
+ // No-op (one undefined-check) when nothing is subscribed.
347
+ if (this.changeListeners) {
348
+ if (this.commitDepth > 0)
349
+ this.pendingChanges.push([qid, ev]);
350
+ else {
351
+ const view = this.views.get(qid);
352
+ for (const l of this.changeListeners)
353
+ l(qid, ev, view);
354
+ }
302
355
  }
303
- // Mirror the raw delta to any devtools tap, AFTER the view has folded it (so a pane re-reading
304
- // `__inspect` sees the post-apply state). No-op (one undefined-check) when no pane is attached.
305
- if (this.devObservers)
306
- for (const o of this.devObservers)
307
- o.onDelta?.(qid, ev);
308
356
  }
309
- // --- dev-only introspection (DEBUG-TOOLS-BROWSER-DESIGN §2/§6.2) --------------
310
- // A single read-only accessor + a passive tap per the design's "surface, not instrument" rule.
311
- // Only ever called by `@rindle/devtools` (imported in dev); inert otherwise.
312
- /** Register a devtools {@link StoreDevObserver}; returns a detach function. Multiple panes may
313
- * attach. The observer is ADDITIVE — it does not touch the backend's single handler slots. */
314
- __attachDevtools(observer) {
315
- (this.devObservers ??= new Set()).add(observer);
357
+ /** Fold a batch into its view, then notify now or — inside a commit bracket — defer the view's
358
+ * notification to the commit boundary, so all sibling views fold first (cross-view-atomic
359
+ * notification; see `commitDepth`). */
360
+ applyAndTrack(qid, events) {
361
+ const view = this.views.get(qid);
362
+ if (!view)
363
+ return;
364
+ const deferring = this.commitDepth > 0;
365
+ if (view.applyChanges(events, this.removedSubtreeWanted > 0, deferring) && deferring) {
366
+ this.pendingFlush.add(view);
367
+ }
368
+ }
369
+ /** Deliver everything deferred during the just-ended commit, after every affected view has folded
370
+ * (cross-view-atomic notification): view subscribers first, then the raw change stream
371
+ * (narrators/devtools), each frame in arrival order. A throwing listener does not stop the others
372
+ * — the first error is re-raised only once the whole flush completes (mirroring the backend's
373
+ * per-query isolation). View subscribers run before change listeners, preserving the per-event
374
+ * order that held before coalescing (a view's subscribers fired before its change frame). */
375
+ flushCommit() {
376
+ const views = this.pendingFlush.size > 0 ? [...this.pendingFlush] : [];
377
+ if (views.length)
378
+ this.pendingFlush.clear();
379
+ const changes = this.pendingChanges.length > 0 ? this.pendingChanges.splice(0) : [];
380
+ if (views.length === 0 && changes.length === 0)
381
+ return;
382
+ let firstError;
383
+ let hasError = false;
384
+ const note = (e) => {
385
+ if (!hasError) {
386
+ hasError = true;
387
+ firstError = e;
388
+ }
389
+ };
390
+ for (const view of views) {
391
+ try {
392
+ view.flush();
393
+ }
394
+ catch (e) {
395
+ note(e);
396
+ }
397
+ }
398
+ if (this.changeListeners) {
399
+ for (const [qid, ev] of changes) {
400
+ const view = this.views.get(qid);
401
+ for (const l of this.changeListeners) {
402
+ try {
403
+ l(qid, ev, view);
404
+ }
405
+ catch (e) {
406
+ note(e);
407
+ }
408
+ }
409
+ }
410
+ }
411
+ if (hasError)
412
+ throw firstError;
413
+ }
414
+ /** Subscribe to the raw per-query {@link ChangeEvent} stream (hello / snapshot / batch) the Store
415
+ * routes to its views, tagged by `qid`. Fired AFTER the event is folded — and, for a commit that
416
+ * fans out to several queries (the in-process engine's `onCommitBoundary`), after EVERY view in
417
+ * that commit has folded — so a listener that re-reads ANY view (its own or a sibling) sees
418
+ * post-commit state, never a torn mid-commit one. Frames keep their arrival (engine-dispatch)
419
+ * order, one per affected query. This is the supported way to drive change-derived layers
420
+ * (e.g. {@link resolveChange} → @rindle/narrator, or a devtools pane) off a live store — attach
421
+ * BEFORE `materialize` to catch a synchronous backend's first `hello`+`snapshot`.
422
+ * The per-query view `WireSchema` rides the `hello` frame (also readable via `view.schema`).
423
+ *
424
+ * The third listener arg is the post-fold {@link ArrayView} for this `qid` (so a template wanting
425
+ * list context — current `data`, `schema`, `resultType` — needn't look it up). It is ALWAYS the
426
+ * plural view, even for a top-level `.one()` query: the Store retains the list-shaped view, not the
427
+ * SingularView wrapper handed back from `materialize`. `undefined` only if the view is mid-teardown.
428
+ *
429
+ * `opts.removedSubtree` enriches every `remove` op on this stream with the full removed subtree
430
+ * ({@link FlatOp.node}), so a consumer can resolve a removed row's nested subs exactly as on an
431
+ * `add` (a bare remove carries only the leaving row). It is reconstructed client-side from the
432
+ * view — no wire/engine cost — and paid only on real evictions while at least one subscriber asks.
433
+ *
434
+ * Returns a detach function; multiple listeners may attach. */
435
+ subscribeChanges(listener, opts) {
436
+ (this.changeListeners ??= new Set()).add(listener);
437
+ if (opts?.removedSubtree)
438
+ this.removedSubtreeWanted++;
439
+ return () => {
440
+ if (this.changeListeners?.delete(listener) && opts?.removedSubtree)
441
+ this.removedSubtreeWanted--;
442
+ };
443
+ }
444
+ /** Subscribe to per-query {@link ResultType} transitions (the server-channel lifecycle the backend
445
+ * pushes — `unknown` → `complete`, etc.), tagged by `qid`. Fired only on a CHANGE (never replayed
446
+ * on attach; read `view.resultType` for the current value). The supported seam for a status-driven
447
+ * layer (a devtools pane). Returns a detach function; multiple listeners may attach. */
448
+ subscribeResultType(listener) {
449
+ (this.resultTypeListeners ??= new Set()).add(listener);
316
450
  return () => {
317
- this.devObservers?.delete(observer);
451
+ this.resultTypeListeners?.delete(listener);
318
452
  };
319
453
  }
454
+ // --- dev-only introspection (DEBUG-TOOLS-BROWSER-DESIGN §2/§6.2) --------------
455
+ // A single read-only accessor per the design's "surface, not instrument" rule. Only ever called
456
+ // by `@rindle/devtools` (imported in dev); inert otherwise. The delta + resultType taps devtools
457
+ // also needs are the SUPPORTED `subscribeChanges` / `subscribeResultType` seams above.
320
458
  /** A read-only snapshot of every live materialized view (DEBUG-TOOLS-BROWSER-DESIGN §4.2): its
321
459
  * qid, AST, {@link ResultType}, row count, and a capped row sample. Built fresh on each call from
322
460
  * the live `views`/`asts` maps — never cached, never mutating. `sampleRows` caps the per-query
package/dist/store.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -42,12 +42,18 @@ export interface PathSeg {
42
42
  rel: number;
43
43
  parentRow: WireValue[];
44
44
  }
45
+ /** A positional change at one level of the view tree. A `remove` ships only the leaving `row`
46
+ * (the receiver already holds the subtree and locates it by key) — `node` is NEVER on the wire;
47
+ * it is an OPTIONAL client-side enrichment carrying the full removed subtree, attached by the
48
+ * ArrayView when a change consumer opts in (`Store.subscribeChanges(_, { removedSubtree: true })`),
49
+ * so a narrator can resolve a removed row's nested subs just as it can on an `add`. */
45
50
  export type FlatOp = {
46
51
  tag: "add";
47
52
  node: WireNode;
48
53
  } | {
49
54
  tag: "remove";
50
55
  row: WireValue[];
56
+ node?: WireNode;
51
57
  } | {
52
58
  tag: "edit";
53
59
  old: WireValue[];
@@ -140,6 +146,22 @@ export type NormalizedEvent = {
140
146
  cv?: number;
141
147
  };
142
148
  export type QueryId = number;
149
+ /** A dev-only authoritative server delta exposed by backends that can distinguish the upstream
150
+ * server stream from their local view/IVM stream. Flat remote backends surface clean
151
+ * {@link ChangeEvent}s; local-first normalized/optimistic backends surface the path-free
152
+ * {@link NormalizedEvent}s before they are folded into the local engine. */
153
+ export type BackendServerDelta = {
154
+ format: "flat";
155
+ event: ChangeEvent;
156
+ } | {
157
+ format: "normalized";
158
+ event: NormalizedEvent;
159
+ };
160
+ /** Dev-only passive tap over a backend's authoritative server stream. Optional because in-process
161
+ * backends have no server stream, and older/custom backends may only expose the Store tap. */
162
+ export interface BackendDevObserver {
163
+ onServerDelta?(qid: QueryId, ev: BackendServerDelta): void;
164
+ }
143
165
  /** A query's SERVER-CHANNEL state, surfaced on its {@link ArrayView} (FOLDED-MUTATIONS-DESIGN §7 —
144
166
  * formerly conflated with pending-ness, OPTIMISTIC-WRITES-DESIGN.md §6):
145
167
  * - `unknown` — not hydrated: the server has not produced a first result for this query yet;
@@ -186,6 +208,21 @@ export interface Backend {
186
208
  * each to the matching view (so `view.resultType` tracks it). Backends with no lifecycle (the
187
209
  * in-process engine) omit it and every view stays `complete`. */
188
210
  onResultType?(handler: (queryId: QueryId, resultType: ResultType) => void): void;
211
+ /** Optional: brackets one commit's coherent multi-query delivery so the Store can fold every
212
+ * affected view BEFORE notifying any subscriber — cross-view-atomic notification. The
213
+ * in-process engine derives the whole commit's per-query deltas against one consistent post-
214
+ * commit snapshot, then dispatches them one query at a time; without a barrier a subscriber on
215
+ * the first-dispatched view, re-reading a sibling view in its callback, would observe that
216
+ * sibling's PRE-commit state (it has not folded yet). The backend calls the handler with
217
+ * `"begin"` before delivering a commit's per-query `batch` events (via {@link onEvent}) and
218
+ * `"end"` after the last one; between them the Store folds each view but DEFERS its
219
+ * notification, firing every affected view's subscribers together at `"end"`. Backends with no
220
+ * synchronous multi-query commit boundary (a plain remote backend, where each query's frame
221
+ * arrives in its own message) omit it — the Store then notifies per event, exactly as before. */
222
+ onCommitBoundary?(handler: (phase: "begin" | "end") => void): void;
223
+ /** Optional dev-only authoritative server stream tap. It is additive, like
224
+ * `Store.subscribeChanges`, and must not displace the backend's normal event handler. */
225
+ __attachDevtoolsServerDeltas?(observer: BackendDevObserver): () => void;
189
226
  }
190
227
  /**
191
228
  * The server side of the **normalized** local-first path (NORMALIZED-CHANGES-DESIGN.md §5/§7):
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,EAAE;AACF,sFAAsF;AACtF,0EAA0E;AAwM1E;;8EAE8E;AAC9E,MAAM,CAAC,MAAM,sBAAsB,GAAG,0BAA0B,CAAC;AAEjE;;mEAEmE;AACnE,MAAM,CAAC,MAAM,eAAe,GAAG,oBAAoB,CAAC;AAEpD;qDACqD;AACrD,MAAM,CAAC,MAAM,uBAAuB,GAA0B;IAC5D,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,CAAC,WAAW,EAAE,kBAAkB,CAAC;IAC1C,UAAU,EAAE,CAAC,CAAC,CAAC;CAChB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,EAAE;AACF,sFAAsF;AACtF,0EAA0E;AA0O1E;;8EAE8E;AAC9E,MAAM,CAAC,MAAM,sBAAsB,GAAG,0BAA0B,CAAC;AAEjE;;mEAEmE;AACnE,MAAM,CAAC,MAAM,eAAe,GAAG,oBAAoB,CAAC;AAEpD;qDACqD;AACrD,MAAM,CAAC,MAAM,uBAAuB,GAA0B;IAC5D,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,CAAC,WAAW,EAAE,kBAAkB,CAAC;IAC1C,UAAU,EAAE,CAAC,CAAC,CAAC;CAChB,CAAC"}