foldkit-remote 0.2.0 → 0.3.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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/connection.ts","../src/store.ts","../src/mutation.ts","../src/optimistic.ts","../src/query.ts","../src/live.ts","../src/retain.ts","../src/persistence.ts","../src/wire.ts","../src/remoteData.ts","../src/model.ts","../src/coalesce.ts","../src/client.ts","../src/relation.ts","../src/selection.ts","../src/entity.ts","../src/inspect.ts","../src/plan.ts","../src/policy.ts","../src/index.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/connection.ts","../src/store.ts","../src/mutation.ts","../src/query.ts","../src/requirement.ts","../src/optimistic.ts","../src/live.ts","../src/retain.ts","../src/persistence.ts","../src/wire.ts","../src/remoteData.ts","../src/model.ts","../src/coalesce.ts","../src/client.ts","../src/relation.ts","../src/selection.ts","../src/entity.ts","../src/inspect.ts","../src/plan.ts","../src/policy.ts","../src/index.ts"],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -1,7 +1,110 @@
1
1
  import { Context, Deferred, Duration, Effect, Layer, Option, Request, RequestResolver, Result, Schema, SchemaGetter, Stream } from "effect";
2
- import { Requirement } from "foldkit-surface";
2
+ import { Metadata } from "foldkit-surface";
3
3
  import { Rpc, RpcGroup } from "effect/unstable/rpc";
4
4
  import { KeyValueStore } from "effect/unstable/persistence";
5
+ //#region src/requirement.ts
6
+ /**
7
+ * What a Remote Projection needs from the server: entity slices and query
8
+ * connections. They ride on `Projection.metadata` under Remote's own keys, so
9
+ * Surface composes them without knowing their shape.
10
+ */
11
+ const windowKey$1 = (window) => JSON.stringify([
12
+ window.first ?? null,
13
+ window.last ?? null,
14
+ window.after ?? null,
15
+ window.before ?? null
16
+ ]);
17
+ /**
18
+ * Merges connection requirements for the same connection and window into one,
19
+ * unioning what they select of each item; the first keeps its other properties.
20
+ */
21
+ function mergeConnections(connections) {
22
+ const merged = /* @__PURE__ */ new Map();
23
+ for (const connection of connections) {
24
+ const key = `${connection.identity}\u0000${windowKey$1(connection.window)}`;
25
+ const current = merged.get(key);
26
+ merged.set(key, current === void 0 ? connection : {
27
+ ...current,
28
+ select: mergeRelation(current.select, connection.select)
29
+ });
30
+ }
31
+ return [...merged.values()];
32
+ }
33
+ /** Unions two relation slices for the same target: fields, windows, and nested relations. */
34
+ function mergeRelation(current, next) {
35
+ const fields = [...current.fields];
36
+ const seen = new Set(fields);
37
+ for (const field of next.fields) {
38
+ if (seen.has(field)) continue;
39
+ seen.add(field);
40
+ fields.push(field);
41
+ }
42
+ const windows = {
43
+ ...current.windows,
44
+ ...next.windows
45
+ };
46
+ const relations = mergeRelations(current.relations, next.relations);
47
+ return {
48
+ entity: current.entity,
49
+ fields,
50
+ ...Object.keys(windows).length === 0 ? {} : { windows },
51
+ ...relations === void 0 ? {} : { relations }
52
+ };
53
+ }
54
+ /** Unions two relation maps field by field; a field in both merges recursively. */
55
+ function mergeRelations(current, next) {
56
+ if (current === void 0) return next;
57
+ if (next === void 0) return current;
58
+ const merged = { ...current };
59
+ for (const [field, relation] of Object.entries(next)) {
60
+ const existing = merged[field];
61
+ merged[field] = existing === void 0 ? relation : mergeRelation(existing, relation);
62
+ }
63
+ return merged;
64
+ }
65
+ /** Unions requirements for the same entity + id, dropping duplicate fields. */
66
+ function mergeRequirements(requirements) {
67
+ const grouped = /* @__PURE__ */ new Map();
68
+ for (const requirement of requirements) {
69
+ const key = `${requirement.entity}\u0000${requirement.id}`;
70
+ const group = grouped.get(key);
71
+ const live = group?.live === true || requirement.live === true;
72
+ grouped.set(key, {
73
+ ...mergeRelation(group ?? {
74
+ entity: requirement.entity,
75
+ fields: []
76
+ }, requirement),
77
+ id: requirement.id,
78
+ ...live ? { live } : {}
79
+ });
80
+ }
81
+ return [...grouped.values()];
82
+ }
83
+ /**
84
+ * Requirement helpers, for the packages that plan and serve requirements.
85
+ * `merge` unions same-entity+id requirements; `mergeRelation` unions two
86
+ * slices of one target (fields, windows, nested relations).
87
+ */
88
+ const Requirement = {
89
+ merge: mergeRequirements,
90
+ mergeRelation,
91
+ mergeConnections
92
+ };
93
+ /** Remote's entity requirements on a Projection, unioned per entity and id as nodes compose. */
94
+ const RemoteRequirements = Metadata.key("remote", {
95
+ merge: mergeRequirements,
96
+ summarize: (requirement) => `${requirement.entity}:${requirement.id}`
97
+ });
98
+ /** Remote's query connections on a Projection, unioned per connection and window. */
99
+ const RemoteConnections = Metadata.key("remote.connection", {
100
+ merge: mergeConnections,
101
+ summarize: (connection) => connection.identity.split("\0").join(" ")
102
+ });
103
+ /** The entity requirements a Projection carries. */
104
+ const requirementsOf = (projection) => RemoteRequirements.get(projection.metadata);
105
+ /** The query connections a Projection carries. */
106
+ const connectionsOf = (projection) => RemoteConnections.get(projection.metadata);
107
+ //#endregion
5
108
  //#region src/store.ts
6
109
  /**
7
110
  * The pure entity store: values, per-field presence, staleness, and tombstones.
@@ -80,6 +183,7 @@ const setStale = (store, marks, stale) => {
80
183
  for (const field of fields) if (stale) {
81
184
  if (previous.present.has(field)) staleFields.add(field);
82
185
  } else staleFields.delete(field);
186
+ if (staleFields.size === previous.stale.size) continue;
83
187
  next ??= { ...store };
84
188
  next[key] = {
85
189
  ...previous,
@@ -1463,14 +1567,10 @@ const parseEntry = (value) => {
1463
1567
  };
1464
1568
  };
1465
1569
  const deserializeStore = (serialized) => Object.fromEntries(Object.entries(serialized.entities).map(([key, entry]) => [key, parseEntry(entry)]));
1466
- /**
1467
- * The snapshot text, or `undefined` when it would exceed `maxBytes`. Only the
1468
- * entity store goes in; pass `model.entities`, never the whole `RemoteModel`.
1469
- */
1470
- const dehydrate = (store, options = {}) => {
1570
+ function dehydrate(store, options = {}) {
1471
1571
  const text = stableStringify(serializeStore(store, options.scope));
1472
1572
  return exceeds(text, options.maxBytes) ? void 0 : text;
1473
- };
1573
+ }
1474
1574
  /**
1475
1575
  * Whether the UTF-8 size of `text` exceeds `maxBytes`. A character is one to
1476
1576
  * three bytes, so most texts are decided from their length alone; only the
@@ -1642,7 +1742,11 @@ const initialRemoteModel = {
1642
1742
  live: {},
1643
1743
  mutations: emptyMutationState,
1644
1744
  gaps: /* @__PURE__ */ new Set(),
1645
- loading: /* @__PURE__ */ new Set()
1745
+ loading: /* @__PURE__ */ new Set(),
1746
+ refresh: {
1747
+ requested: 0,
1748
+ started: 0
1749
+ }
1646
1750
  };
1647
1751
  /** The entity store and the mutation ledger are runtime values, not wire shapes. */
1648
1752
  const runtimeSchema = Schema.Unknown;
@@ -1653,7 +1757,11 @@ const remoteModelSchema = () => Schema.Struct({
1653
1757
  live: Schema.Record(Schema.String, runtimeSchema),
1654
1758
  mutations: runtimeSchema,
1655
1759
  gaps: runtimeSchema,
1656
- loading: runtimeSchema
1760
+ loading: runtimeSchema,
1761
+ refresh: Schema.Struct({
1762
+ requested: Schema.Number,
1763
+ started: Schema.Number
1764
+ })
1657
1765
  });
1658
1766
  const retentionRootsSchema = Schema.Struct({
1659
1767
  requirements: Schema.Array(ReadRequest),
@@ -1677,7 +1785,10 @@ const remoteMessageCases = {
1677
1785
  error: remoteErrorSchema
1678
1786
  },
1679
1787
  RefreshStarted: { requests: Schema.Array(ReadRequest) },
1680
- ReadStarted: { requests: Schema.Array(ReadRequest) },
1788
+ ReadStarted: {
1789
+ requests: Schema.Array(ReadRequest),
1790
+ refresh: Schema.optional(Schema.Number)
1791
+ },
1681
1792
  RetentionChanged: { roots: retentionRootsSchema },
1682
1793
  Hydrated: {
1683
1794
  entities: runtimeSchema,
@@ -1801,14 +1912,24 @@ const updateRemote = (model, message) => {
1801
1912
  ...model,
1802
1913
  entities: RemotePersistence.mergeStores(model.entities, message.entities, message.merge)
1803
1914
  };
1804
- case "RefreshStarted": return {
1805
- ...model,
1806
- entities: setStale(model.entities, marksOf(message.requests), true)
1807
- };
1808
- case "ReadStarted": return {
1809
- ...model,
1810
- loading: withLoading(model.loading, message.requests)
1811
- };
1915
+ case "RefreshStarted": {
1916
+ const entities = setStale(model.entities, marksOf(message.requests), true);
1917
+ return entities === model.entities ? model : {
1918
+ ...model,
1919
+ entities
1920
+ };
1921
+ }
1922
+ case "ReadStarted": {
1923
+ const started = Math.max(model.refresh.started, message.refresh ?? 0);
1924
+ return {
1925
+ ...model,
1926
+ loading: withLoading(model.loading, message.requests),
1927
+ refresh: started === model.refresh.started ? model.refresh : {
1928
+ ...model.refresh,
1929
+ started
1930
+ }
1931
+ };
1932
+ }
1812
1933
  case "MutationStarted": return {
1813
1934
  ...model,
1814
1935
  mutations: beginMutation(model.mutations, message.requestId),
@@ -1854,7 +1975,8 @@ const updateRemote = (model, message) => {
1854
1975
  case "GapCleared": return clearGap(model, message.stream);
1855
1976
  case "ConnectionMerged": {
1856
1977
  const current = model.connections[message.connection] ?? emptyConnection;
1857
- const merged = merge(current, message.page);
1978
+ const replaces = message.refreshes === true && current.stale;
1979
+ const merged = merge(replaces ? emptyConnection : current, message.page);
1858
1980
  return {
1859
1981
  ...model,
1860
1982
  connections: {
@@ -1867,10 +1989,12 @@ const updateRemote = (model, message) => {
1867
1989
  optimistic: pruneOverlays(model.optimistic, message.connection, new Set(message.page.edges.map((edge) => edge.key)), model.mutations.pending)
1868
1990
  };
1869
1991
  }
1870
- case "ConnectionInvalidated": return {
1871
- ...model,
1872
- connections: setConnectionStale(model.connections, message.connection, true)
1873
- };
1992
+ case "ConnectionInvalidated":
1993
+ if (model.connections[message.connection]?.stale === true) return model;
1994
+ return {
1995
+ ...model,
1996
+ connections: setConnectionStale(model.connections, message.connection, true)
1997
+ };
1874
1998
  case "QueryFailed": return message.connection in model.connections ? {
1875
1999
  ...model,
1876
2000
  connections: setConnectionStale(model.connections, message.connection, false)
@@ -2288,7 +2412,7 @@ const bindRemote = (definition, store) => ({
2288
2412
  owns: store.dependency.length === 0 ? [] : [store.dependency],
2289
2413
  observes: store.dependency.length === 0 ? [] : [store.dependency],
2290
2414
  messages: [],
2291
- requirements: []
2415
+ metadata: []
2292
2416
  }
2293
2417
  });
2294
2418
  /** The runtime half of `Registered`: a descriptor the domain never declared is an error naming both. */
@@ -2299,7 +2423,10 @@ const nothingAsked = {
2299
2423
  requirements: [],
2300
2424
  connections: []
2301
2425
  };
2302
- const askedOf = (projection) => projection === void 0 ? nothingAsked : projection;
2426
+ const askedOf = (projection) => projection === void 0 ? nothingAsked : {
2427
+ requirements: requirementsOf(projection),
2428
+ connections: connectionsOf(projection)
2429
+ };
2303
2430
  /**
2304
2431
  * Plans what a projection asks against the Model. A connection the Model holds
2305
2432
  * fresh contributes its visible items' selected fields to the entity plan; one
@@ -2375,7 +2502,7 @@ const pageMessage = (connection, result, refreshes = false) => ({
2375
2502
  const rootsOf = (projections, options) => {
2376
2503
  const connections = /* @__PURE__ */ new Map();
2377
2504
  for (const identity of (options.connections ?? []).map(connectionIdentity)) connections.set(identity, { identity });
2378
- for (const { identity, select } of projections.flatMap((projection) => projection.connections)) {
2505
+ for (const { identity, select } of projections.flatMap(connectionsOf)) {
2379
2506
  const current = connections.get(identity)?.select;
2380
2507
  connections.set(identity, {
2381
2508
  identity,
@@ -2383,10 +2510,39 @@ const rootsOf = (projections, options) => {
2383
2510
  });
2384
2511
  }
2385
2512
  return {
2386
- requirements: Requirement.merge(projections.flatMap((projection) => projection.requirements)),
2513
+ requirements: Requirement.merge(projections.flatMap(requirementsOf)),
2387
2514
  connections: [...connections.values()].sort((a, b) => a.identity < b.identity ? -1 : 1)
2388
2515
  };
2389
2516
  };
2517
+ /** Reads requirements and reports the Message that settles them. Never fails. */
2518
+ const readMessage = (requirements, now) => Effect.gen(function* () {
2519
+ const client = yield* RemoteClient;
2520
+ const at = now();
2521
+ const result = yield* Effect.result(client.read({
2522
+ version: 3,
2523
+ requests: requirements
2524
+ }));
2525
+ return Result.isFailure(result) ? {
2526
+ _tag: "ReadFailed",
2527
+ requests: requirements,
2528
+ error: remoteError(result.failure)
2529
+ } : {
2530
+ _tag: "ReadReceived",
2531
+ requests: requirements,
2532
+ result: result.success,
2533
+ now: at
2534
+ };
2535
+ });
2536
+ /** Runs a query and reports the page that refreshes its connection, or the failure. Never fails. */
2537
+ const queryMessage = (query) => Effect.gen(function* () {
2538
+ const client = yield* RemoteClient;
2539
+ const result = yield* Effect.result(queryRequestOf(query).pipe(Effect.flatMap((request) => client.query(request))));
2540
+ return Result.isFailure(result) ? {
2541
+ _tag: "QueryFailed",
2542
+ connection: query.identity,
2543
+ error: remoteError(result.failure)
2544
+ } : pageMessage(query.identity, result.success, true);
2545
+ });
2390
2546
  /** A query the read entry runs, as its dependencies carry it: plain data Foldkit compares. */
2391
2547
  const PlannedQuery = Schema.Struct({
2392
2548
  identity: Schema.String,
@@ -2404,41 +2560,19 @@ const PlannedQuery = Schema.Struct({
2404
2560
  */
2405
2561
  const observeEntry = (bound, askedOf, toMessage, options) => {
2406
2562
  const { policy = RemotePolicy.cacheFirst, now = Date.now } = options;
2407
- const read = (requirements) => Effect.gen(function* () {
2408
- const client = yield* RemoteClient;
2409
- const at = now();
2410
- const result = yield* Effect.result(client.read({
2411
- version: 3,
2412
- requests: requirements
2413
- }));
2414
- return Result.isFailure(result) ? toMessage({
2415
- _tag: "ReadFailed",
2416
- requests: requirements,
2417
- error: remoteError(result.failure)
2418
- }) : toMessage({
2419
- _tag: "ReadReceived",
2420
- requests: requirements,
2421
- result: result.success,
2422
- now: at
2423
- });
2424
- });
2425
- const run = (query) => Effect.gen(function* () {
2426
- const client = yield* RemoteClient;
2427
- const result = yield* Effect.result(queryRequestOf(query).pipe(Effect.flatMap((request) => client.query(request))));
2428
- return Result.isFailure(result) ? toMessage({
2429
- _tag: "QueryFailed",
2430
- connection: query.identity,
2431
- error: remoteError(result.failure)
2432
- }) : toMessage(pageMessage(query.identity, result.success, true));
2433
- });
2563
+ const read = (requirements) => Effect.map(readMessage(requirements, now), toMessage);
2564
+ const run = (query) => Effect.map(queryMessage(query), toMessage);
2434
2565
  return {
2435
2566
  dependenciesSchema: Schema.Struct({
2436
2567
  requirements: Schema.Array(ReadRequest),
2437
- queries: Schema.Array(PlannedQuery)
2568
+ queries: Schema.Array(PlannedQuery),
2569
+ refresh: Schema.Number
2438
2570
  }),
2439
2571
  modelToDependencies: (model) => {
2440
- const planned = planAsked(bound.store.get(model), askedOf(model), RemotePolicy.toPlan(policy, now()));
2572
+ const remote = bound.store.get(model);
2573
+ const planned = planAsked(remote, askedOf(model), RemotePolicy.toPlan(policy, now()));
2441
2574
  return {
2575
+ refresh: remote.refresh.requested,
2442
2576
  requirements: planned.requirements,
2443
2577
  queries: planned.queries.map(({ identity, window, select }) => ({
2444
2578
  identity,
@@ -2447,9 +2581,10 @@ const observeEntry = (bound, askedOf, toMessage, options) => {
2447
2581
  }))
2448
2582
  };
2449
2583
  },
2450
- dependenciesToStream: ({ requirements, queries }) => Stream.concat(requirements.length === 0 ? Stream.empty : Stream.fromIterable([toMessage({
2584
+ dependenciesToStream: ({ requirements, queries, refresh }) => Stream.concat(requirements.length === 0 ? Stream.empty : Stream.fromIterable([toMessage({
2451
2585
  _tag: "ReadStarted",
2452
- requests: requirements
2586
+ requests: requirements,
2587
+ refresh
2453
2588
  }), ...RemotePolicy.refreshes(policy) ? [toMessage({
2454
2589
  _tag: "RefreshStarted",
2455
2590
  requests: requirements
@@ -2549,11 +2684,10 @@ const Remote = {
2549
2684
  return (id) => ({
2550
2685
  Model: remoteDataSchema(selection.schema),
2551
2686
  dependencies: [],
2552
- requirements: [{
2687
+ metadata: RemoteRequirements.of({
2553
2688
  ...relation,
2554
2689
  id
2555
- }],
2556
- connections: [],
2690
+ }),
2557
2691
  read: (root) => {
2558
2692
  const store = storeOf(bound, root);
2559
2693
  const key = entityKey(selection.entity, id);
@@ -2586,12 +2720,12 @@ const Remote = {
2586
2720
  * remote store does not satisfy, under `options` (freshness, force). A
2587
2721
  * Surface's projection is `surface.projection(params)`.
2588
2722
  */
2589
- plan: (bound, model, projection, options) => planAsked(bound.store.get(model), projection, options ?? {}).requirements,
2723
+ plan: (bound, model, projection, options) => planAsked(bound.store.get(model), askedOf(projection), options ?? {}).requirements,
2590
2724
  /**
2591
2725
  * The queries a projection needs run before its connections read: those the
2592
2726
  * Model does not hold, or holds stale (every one under `force`).
2593
2727
  */
2594
- planQueries: (bound, model, projection, options) => planAsked(bound.store.get(model), projection, options ?? {}).queries.flatMap((query) => query.ref === void 0 ? [] : [query.ref]),
2728
+ planQueries: (bound, model, projection, options) => planAsked(bound.store.get(model), askedOf(projection), options ?? {}).queries.flatMap((query) => query.ref === void 0 ? [] : [query.ref]),
2595
2729
  /**
2596
2730
  * The store reads see: the base store under the pending optimistic layers.
2597
2731
  * One store is shared by every read and plan of a Model whose remote state
@@ -2608,7 +2742,7 @@ const Remote = {
2608
2742
  const store = storeOf(bound, model);
2609
2743
  const { policy = RemotePolicy.cacheFirst, now = Date.now } = options;
2610
2744
  const at = now();
2611
- const missing = plan(store, projection.requirements, RemotePolicy.toPlan(policy, at));
2745
+ const missing = plan(store, requirementsOf(projection), RemotePolicy.toPlan(policy, at));
2612
2746
  if (missing.length === 0) return store;
2613
2747
  yield* Effect.annotateCurrentSpan("requirementCount", missing.length);
2614
2748
  const result = yield* (yield* RemoteClient).read({
@@ -2618,6 +2752,52 @@ const Remote = {
2618
2752
  return writeRead(store, missing, result, at);
2619
2753
  }),
2620
2754
  /**
2755
+ * Marks what a projection, or a Surface without params, requires as due again.
2756
+ * Called from `update`: every selected field the store holds reads `Refreshing`,
2757
+ * and every loaded query connection is invalidated. Nothing is fetched here.
2758
+ * The read entries `Data.subscriptions` derives refetch it, because a stale
2759
+ * field or connection is planned again under every policy, so a refresh never
2760
+ * sends a request beside the entry already observing the same data.
2761
+ *
2762
+ * A refreshed connection's page replaces its pages, so items the server removed
2763
+ * or reordered follow it; pages loaded past the first are dropped and paged
2764
+ * again with `next`/`previous`. The read entries restart, so a read or query
2765
+ * sent before the refresh is not applied after it.
2766
+ *
2767
+ * The projection must be observed, which it is while it is on screen. Live
2768
+ * subscriptions are left as they are. For data nothing observes (SSR, tests),
2769
+ * use `Remote.prefetch` with `RemotePolicy.networkOnly`. Refreshing what is
2770
+ * already being refreshed returns the same Model.
2771
+ */
2772
+ refresh: (bound, model, target) => {
2773
+ const projection = "read" in target ? target : target.projection(void 0);
2774
+ const remote = bound.store.get(model);
2775
+ const asked = askedOf(projection);
2776
+ const connections = Requirement.mergeConnections(asked.connections);
2777
+ const items = connections.flatMap((connection) => {
2778
+ const known = remote.connections[connection.identity];
2779
+ return known === void 0 ? [] : itemsOf(visibleItems(known, connection.identity, remote.optimistic.overlays, remote.entities).map((edge) => edge.ref), connection.select);
2780
+ });
2781
+ const requirements = plan(visibleStoreOf(remote.entities, remote.optimistic), [...asked.requirements, ...items], { force: true });
2782
+ const marked = [...requirements.length === 0 ? [] : [{
2783
+ _tag: "RefreshStarted",
2784
+ requests: requirements
2785
+ }], ...connections.filter((connection) => remote.connections[connection.identity] !== void 0).map((connection) => ({
2786
+ _tag: "ConnectionInvalidated",
2787
+ connection: connection.identity
2788
+ }))].reduce(updateRemote, remote);
2789
+ const inFlight = remote.refresh.started === remote.refresh.requested && requirements.some((requirement) => requirement.fields.some((field) => remote.entities[entityKey(requirement.entity, requirement.id)]?.stale.has(field) === true));
2790
+ if (marked === remote && !inFlight) return model;
2791
+ const refresh = {
2792
+ ...marked.refresh,
2793
+ requested: marked.refresh.requested + 1
2794
+ };
2795
+ return bound.store.set(model, {
2796
+ ...marked,
2797
+ refresh
2798
+ });
2799
+ },
2800
+ /**
2621
2801
  * Writes a read result into the store, recording each field's applied window.
2622
2802
  * `requests` are the planned requirements the result answers.
2623
2803
  */
@@ -2731,14 +2911,14 @@ const Remote = {
2731
2911
  * emits `RefreshStarted`, so the fields being refetched read as `Refreshing`
2732
2912
  * while the request is pending.
2733
2913
  */
2734
- observe: (bound, surface, params, toMessage = identityMessage, options = {}) => observeEntry(bound, () => surface.projection(params), toMessage, options),
2914
+ observe: (bound, surface, params, toMessage = identityMessage, options = {}) => observeEntry(bound, () => askedOf(surface.projection(params)), toMessage, options),
2735
2915
  /**
2736
2916
  * A Foldkit Subscription entry that consumes the live stream for a Surface's
2737
2917
  * requirements, emitting a `LiveReceived` per event and a `ReadFailed` when
2738
2918
  * the stream breaks (including `ResumeUnavailable`). The resume cursor is read
2739
2919
  * from `RemoteModel.live`, so the application tracks no cursor of its own.
2740
2920
  */
2741
- live: (bound, surface, params, toMessage = identityMessage, options = {}) => liveEntry(bound, () => surface.projection(params).requirements, toMessage, options)
2921
+ live: (bound, surface, params, toMessage = identityMessage, options = {}) => liveEntry(bound, () => requirementsOf(surface.projection(params)), toMessage, options)
2742
2922
  };
2743
2923
  /** The bound domain: the descriptor, the binding, and the operations over them. */
2744
2924
  const bindDomain = (definition, store) => {
@@ -2752,10 +2932,10 @@ const bindDomain = (definition, store) => {
2752
2932
  const projection = Remote.select(bound, selection)(id);
2753
2933
  return {
2754
2934
  ...projection,
2755
- requirements: projection.requirements.map((requirement) => ({
2935
+ metadata: RemoteRequirements.of(...requirementsOf(projection).map((requirement) => ({
2756
2936
  ...requirement,
2757
2937
  live: true
2758
- }))
2938
+ })))
2759
2939
  };
2760
2940
  },
2761
2941
  subscriptions: (active, options = {}) => {
@@ -2789,11 +2969,11 @@ const bindDomain = (definition, store) => {
2789
2969
  const client = yield* RemoteClient;
2790
2970
  const planOptions = RemotePolicy.toPlan(policy, now());
2791
2971
  let current = model;
2792
- for (const query of planAsked(store.get(current), projection, planOptions).queries) {
2972
+ for (const query of planAsked(store.get(current), askedOf(projection), planOptions).queries) {
2793
2973
  const page = yield* queryRequestOf(query).pipe(Effect.flatMap((request) => client.query(request)));
2794
2974
  current = reduce(current, pageMessage(query.identity, page, true));
2795
2975
  }
2796
- const requirements = planAsked(store.get(current), projection, planOptions).requirements;
2976
+ const requirements = planAsked(store.get(current), askedOf(projection), planOptions).requirements;
2797
2977
  if (requirements.length === 0) return current;
2798
2978
  const at = now();
2799
2979
  const result = yield* client.read({
@@ -2829,8 +3009,7 @@ const bindDomain = (definition, store) => {
2829
3009
  return {
2830
3010
  Model: remoteDataSchema(pageSchema(select.schema)),
2831
3011
  dependencies: [],
2832
- requirements: [],
2833
- connections: [requirement],
3012
+ metadata: RemoteConnections.of(requirement),
2834
3013
  ref,
2835
3014
  read: (root) => {
2836
3015
  const remote = store.get(root);
@@ -2892,6 +3071,7 @@ const bindDomain = (definition, store) => {
2892
3071
  }
2893
3072
  } : void 0;
2894
3073
  },
3074
+ refresh: (model, target) => Remote.refresh(bound, model, target),
2895
3075
  fetch: (ref) => ({
2896
3076
  name: `Remote.query(${ref.query})`,
2897
3077
  args: {
@@ -2961,6 +3141,6 @@ const pageSize = (window, key) => {
2961
3141
  return size === void 0 ? {} : { [key]: size };
2962
3142
  };
2963
3143
  //#endregion
2964
- export { ConnectionChange, ConnectionChangeSchema, Entity, Live, LiveChange, LiveEdge, LiveRequirement, MAX_FIELDS_PER_REQUEST, MAX_RELATION_DEPTH, Mutate, Mutation, MutationRequest, MutationResult, NormalizedEntity, PageSize, Query, QueryEdge, QueryRequest, QueryResult, QueryRpc, REMOTE_CACHE_VERSION, REMOTE_PROTOCOL_VERSION, Read, ReadBatch, ReadBatchResult, ReadRequest, RelationAnnotation, RelationEntityAnnotation, RelationRequest, Remote, RemoteClient, RemoteData, RemoteLiveError, RemoteMutationError, RemotePersistence, RemotePolicy, RemoteProtocolError, RemoteQueryError, RemoteReadError, RemoteRpc, Selection, WindowSchema, WireBoundary, addLayer, addOverlay, applyConnectionEvent, applyEntityEvent, assemble, beginMutation, beginOptimistic, classifyLive, clearStale, coalesceQueries, coalesceReads, coalescedLayer, connectionChangeOf, connectionIdentity, cursor, edge, emptyConnection, emptyLiveState, emptyMutationState, emptyOptimistic, emptyStore, entityKey, entry, failMutation, gc, hasField, hasNext, hasPrevious, initialRemoteModel, inspectEntity, inspectRemote, invalidateConnection, isFieldStale, isGapped, isLoading, isRefPage, isRemoteMessage, isStale, isTombstone, items, liveEventOf, liveHasNext, liveHasPrevious, markStale, merge, missingFields, mutateRemote, pageSchema, plan, pruneOverlays, reachable, readField, reconcileMutation, refParts, refreshConnection, refsIn, relationOf, relationShape, remoteDataSchema, remoteError, remoteErrorSchema, remoteMessageCases, remoteMessageSchema, remoteModelSchema, remove, removeLayer, removeOverlay, requirementKey, retentionRootsSchema, schemaOf, segment, setStale, settleFailure, settleSuccess, shouldWake, stableStringify, targetsOf, terminal, tombstone, unknown, updateRemote, visibleItems, visibleStore, windowKey, writeEntities, writeEntity, writeRead };
3144
+ export { ConnectionChange, ConnectionChangeSchema, Entity, Live, LiveChange, LiveEdge, LiveRequirement, MAX_FIELDS_PER_REQUEST, MAX_RELATION_DEPTH, Mutate, Mutation, MutationRequest, MutationResult, NormalizedEntity, PageSize, Query, QueryEdge, QueryRequest, QueryResult, QueryRpc, REMOTE_CACHE_VERSION, REMOTE_PROTOCOL_VERSION, Read, ReadBatch, ReadBatchResult, ReadRequest, RelationAnnotation, RelationEntityAnnotation, RelationRequest, Remote, RemoteClient, RemoteConnections, RemoteData, RemoteLiveError, RemoteMutationError, RemotePersistence, RemotePolicy, RemoteProtocolError, RemoteQueryError, RemoteReadError, RemoteRequirements, RemoteRpc, Requirement, Selection, WindowSchema, WireBoundary, addLayer, addOverlay, applyConnectionEvent, applyEntityEvent, assemble, beginMutation, beginOptimistic, classifyLive, clearStale, coalesceQueries, coalesceReads, coalescedLayer, connectionChangeOf, connectionIdentity, connectionsOf, cursor, edge, emptyConnection, emptyLiveState, emptyMutationState, emptyOptimistic, emptyStore, entityKey, entry, failMutation, gc, hasField, hasNext, hasPrevious, initialRemoteModel, inspectEntity, inspectRemote, invalidateConnection, isFieldStale, isGapped, isLoading, isRefPage, isRemoteMessage, isStale, isTombstone, items, liveEventOf, liveHasNext, liveHasPrevious, markStale, merge, missingFields, mutateRemote, pageSchema, plan, pruneOverlays, reachable, readField, reconcileMutation, refParts, refreshConnection, refsIn, relationOf, relationShape, remoteDataSchema, remoteError, remoteErrorSchema, remoteMessageCases, remoteMessageSchema, remoteModelSchema, remove, removeLayer, removeOverlay, requirementKey, requirementsOf, retentionRootsSchema, schemaOf, segment, setStale, settleFailure, settleSuccess, shouldWake, stableStringify, targetsOf, terminal, tombstone, unknown, updateRemote, visibleItems, visibleStore, windowKey, writeEntities, writeEntity, writeRead };
2965
3145
 
2966
3146
  //# sourceMappingURL=index.mjs.map