@procedures/client 0.48.0 → 0.48.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 (48) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/browser.d.ts +2 -0
  4. package/dist/browser.d.ts.map +1 -1
  5. package/dist/browser.js +2 -0
  6. package/dist/browser.js.map +1 -1
  7. package/dist/events/index.d.ts +4 -0
  8. package/dist/events/index.d.ts.map +1 -1
  9. package/dist/events/index.js +3 -0
  10. package/dist/events/index.js.map +1 -1
  11. package/dist/events/live-state.d.ts +289 -0
  12. package/dist/events/live-state.d.ts.map +1 -0
  13. package/dist/events/live-state.js +501 -0
  14. package/dist/events/live-state.js.map +1 -0
  15. package/dist/events/live-view.d.ts +38 -0
  16. package/dist/events/live-view.d.ts.map +1 -0
  17. package/dist/events/live-view.js +109 -0
  18. package/dist/events/live-view.js.map +1 -0
  19. package/dist/events/publisher.d.ts +18 -1
  20. package/dist/events/publisher.d.ts.map +1 -1
  21. package/dist/events/publisher.js +23 -1
  22. package/dist/events/publisher.js.map +1 -1
  23. package/dist/procedures/collection/admission.d.ts.map +1 -1
  24. package/dist/procedures/collection/admission.js +3 -2
  25. package/dist/procedures/collection/admission.js.map +1 -1
  26. package/dist/procedures/collection/changes.d.ts +16 -0
  27. package/dist/procedures/collection/changes.d.ts.map +1 -1
  28. package/dist/procedures/collection/changes.js +81 -9
  29. package/dist/procedures/collection/changes.js.map +1 -1
  30. package/dist/procedures/collection/procedures.d.ts.map +1 -1
  31. package/dist/procedures/collection/procedures.js +8 -3
  32. package/dist/procedures/collection/procedures.js.map +1 -1
  33. package/dist/procedures/collection/storage.d.ts +10 -0
  34. package/dist/procedures/collection/storage.d.ts.map +1 -1
  35. package/dist/server/procedure-server.d.ts.map +1 -1
  36. package/dist/server/procedure-server.js +3 -0
  37. package/dist/server/procedure-server.js.map +1 -1
  38. package/package.json +2 -2
  39. package/src/browser.ts +19 -0
  40. package/src/events/index.ts +29 -0
  41. package/src/events/live-state.ts +666 -0
  42. package/src/events/live-view.ts +134 -0
  43. package/src/events/publisher.ts +31 -1
  44. package/src/procedures/collection/admission.ts +3 -2
  45. package/src/procedures/collection/changes.ts +87 -9
  46. package/src/procedures/collection/procedures.ts +7 -2
  47. package/src/procedures/collection/storage.ts +10 -0
  48. package/src/server/procedure-server.ts +2 -0
@@ -0,0 +1,109 @@
1
+ /**
2
+ * The reader of a live topic (documentation/LIVE-STATE-2026-11.md).
3
+ *
4
+ * The view subscribes first and reads the snapshot second. It applies the snapshot, then the events
5
+ * that came during the read, in their order. So no number is necessary: each set publishes an
6
+ * event, and the last event of a key decides. After a lost connection and after a loss of events,
7
+ * the view reads the snapshot again and replaces its values.
8
+ */
9
+ import { pathToMethod } from "../server/method.js";
10
+ import { LIVE_SNAPSHOT_PATH } from "./live-state.js";
11
+ /**
12
+ * This function gives a view of a live topic.
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const view = liveView(client, liveTopic("presence", "board-1"), { onChange: render });
17
+ * await view.ready;
18
+ * view.close();
19
+ * ```
20
+ */
21
+ export function liveView(client, topic, options = {}) {
22
+ const { onChange, onReadError, ...subscribeOptions } = options;
23
+ const values = new Map();
24
+ /** This field holds the events that come during a read of the snapshot. It is undefined when no read runs. */
25
+ let held;
26
+ let reads = 0;
27
+ let closed = false;
28
+ let settled = false;
29
+ let resolveReady = () => undefined;
30
+ let rejectReady = () => undefined;
31
+ const ready = new Promise((resolve, reject) => {
32
+ resolveReady = resolve;
33
+ rejectReady = reject;
34
+ });
35
+ // A view that nobody awaits does not give an unhandled rejection
36
+ ready.catch(() => undefined);
37
+ const apply = (event) => {
38
+ for (const { key } of event.gone)
39
+ values.delete(key);
40
+ for (const entry of event.set)
41
+ values.set(entry.key, entry);
42
+ };
43
+ const applyHeld = () => {
44
+ for (const event of held ?? [])
45
+ apply(event);
46
+ held = undefined;
47
+ };
48
+ const read = async () => {
49
+ const number = ++reads;
50
+ held = [];
51
+ try {
52
+ const { entries } = await client.call(pathToMethod([...LIVE_SNAPSHOT_PATH]), { topic });
53
+ if (closed || number !== reads)
54
+ return;
55
+ values.clear();
56
+ for (const entry of entries)
57
+ values.set(entry.key, entry);
58
+ applyHeld();
59
+ settled = true;
60
+ resolveReady();
61
+ onChange?.(values);
62
+ }
63
+ catch (error) {
64
+ if (closed || number !== reads)
65
+ return;
66
+ applyHeld();
67
+ if (!settled) {
68
+ settled = true;
69
+ rejectReady(error);
70
+ }
71
+ onReadError?.(error);
72
+ }
73
+ };
74
+ const unsubscribe = client.subscribe(topic, (event, meta) => {
75
+ if (closed)
76
+ return;
77
+ // A loss of events: only a new read gives the keys back
78
+ if (meta.dropped > 0)
79
+ void read();
80
+ if (held) {
81
+ held.push(event);
82
+ return;
83
+ }
84
+ apply(event);
85
+ onChange?.(values);
86
+ }, {
87
+ ...subscribeOptions,
88
+ onSubscribed: (topics) => {
89
+ subscribeOptions.onSubscribed?.(topics);
90
+ if (!closed)
91
+ void read();
92
+ },
93
+ });
94
+ unsubscribe.ready.catch((error) => {
95
+ if (settled)
96
+ return;
97
+ settled = true;
98
+ rejectReady(error);
99
+ });
100
+ return {
101
+ values,
102
+ ready,
103
+ close: () => {
104
+ closed = true;
105
+ unsubscribe();
106
+ },
107
+ };
108
+ }
109
+ //# sourceMappingURL=live-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live-view.js","sourceRoot":"","sources":["../../src/events/live-view.ts"],"names":[],"mappings":"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"}
@@ -31,9 +31,10 @@
31
31
  * it is full, the publisher drops the oldest event, and the next event tells the number of lost
32
32
  * events (`dropped`). The bus never waits for a subscriber.
33
33
  */
34
- import type { AnyProcedure, Capability } from "../procedures/types.js";
34
+ import type { AnyProcedure, Capability, ProcedureContext } from "../procedures/types.js";
35
35
  import type { Principal } from "../server/types.js";
36
36
  import type { EventBus } from "./types.js";
37
+ import { LiveState, type LiveStateOptions } from "./live-state.js";
37
38
  import { type Clock } from "../clock.js";
38
39
  import { type RightsChange, type RightsScopes, type SubscriptionRecheck } from "./recheck.js";
39
40
  /** The number of topics that one subscription can name. */
@@ -101,6 +102,13 @@ export interface EventPublisherOptions {
101
102
  * @default no check after the start, other than at a call of `rightsChanged()`
102
103
  */
103
104
  recheck?: SubscriptionRecheck | undefined;
105
+ /**
106
+ * The live state of the host (LIVE-STATE-2026-11.md): keyed values in memory on the topics
107
+ * `live.<name>` and `live.<name>.<partition>`. The topic rule must name these topics. A server
108
+ * registers `live.set` and `live.snapshot`, and its expose rule applies to them.
109
+ * @default no live state
110
+ */
111
+ live?: LiveStateOptions | undefined;
104
112
  }
105
113
  /** This function gives the test of a topic rule. */
106
114
  export declare function topicMatcher(rule: TopicRule): (topic: string) => boolean;
@@ -120,6 +128,8 @@ export declare class EventPublisher {
120
128
  readonly bus: EventBus;
121
129
  /** The procedure `events.subscribe` of this publisher. A host pins it, outside its registry. */
122
130
  readonly procedure: AnyProcedure;
131
+ /** The live state, from the option `live`, or undefined. */
132
+ readonly live: LiveState | undefined;
123
133
  private readonly known;
124
134
  private readonly allow;
125
135
  private readonly reads;
@@ -164,6 +174,13 @@ export declare class EventPublisher {
164
174
  * topic of the partition `b` of `a`.
165
175
  */
166
176
  private route;
177
+ /**
178
+ * This method runs the checks of a subscription on one topic: the topic rule, the reads, `allow`
179
+ * and the partition. A live set and a snapshot pass the same checks as a subscriber.
180
+ *
181
+ * @returns The topic of the bus
182
+ */
183
+ admitTopic(topic: string, ctx: ProcedureContext): Promise<string>;
167
184
  /**
168
185
  * The resources that a subscriber of a topic reads. The default (`collectionTopicReads`) reads
169
186
  * the collection of the topic with the rule of the listener (`collectionTopicTarget`) and the
@@ -1 +1 @@
1
- {"version":3,"file":"publisher.d.ts","sourceRoot":"","sources":["../../src/events/publisher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publisher.d.ts","sourceRoot":"","sources":["../../src/events/publisher.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,7 @@ import { capabilityRefusal } from "../procedures/capability.js";
38
38
  import { collectionChangeTopic, collectionTopicReads } from "../procedures/collection/changes.js";
39
39
  import { collectionTopicTarget, partitionOfCall } from "../procedures/collection/partition.js";
40
40
  import { getGlobalEventBus } from "./bus.js";
41
+ import { LiveState } from "./live-state.js";
41
42
  import { EVENTS_SUBSCRIBE_PATH } from "./remote.js";
42
43
  import { admittedValue, rowsOf } from "./rows.js";
43
44
  import { realClock } from "../clock.js";
@@ -360,6 +361,8 @@ export class EventPublisher {
360
361
  bus;
361
362
  /** The procedure `events.subscribe` of this publisher. A host pins it, outside its registry. */
362
363
  procedure;
364
+ /** The live state, from the option `live`, or undefined. */
365
+ live;
363
366
  known;
364
367
  allow;
365
368
  reads;
@@ -388,6 +391,14 @@ export class EventPublisher {
388
391
  })
389
392
  .handler((async (input, ctx) => this.subscribe(input.topics, ctx)))
390
393
  .build();
394
+ this.live = options.live
395
+ ? new LiveState(options.live, {
396
+ bus: this.bus,
397
+ clock: options.clock,
398
+ topicSchema,
399
+ admit: (topic, ctx) => this.admitTopic(topic, ctx),
400
+ })
401
+ : undefined;
391
402
  }
392
403
  /** This function publishes an event on the bus: each subscription of the topic gets it. */
393
404
  publish(topic, data) {
@@ -404,6 +415,7 @@ export class EventPublisher {
404
415
  end() {
405
416
  for (const subscription of [...this.open])
406
417
  subscription.fail(stoppedError());
418
+ this.live?.close();
407
419
  }
408
420
  /**
409
421
  * This function tells the publisher that rights changed (roadmap CLI-44). Each open subscription
@@ -434,10 +446,20 @@ export class EventPublisher {
434
446
  async route(topic, ctx) {
435
447
  const target = collectionTopicTarget(topic, ctx.repository);
436
448
  if (!target)
437
- return { topic, busTopic: topic };
449
+ return { topic, busTopic: (await this.live?.route(topic, ctx)) ?? topic };
438
450
  const partition = await partitionOfCall(ctx, target.collection, target.partition);
439
451
  return { topic, busTopic: collectionChangeTopic(target.collection, partition), collection: target.collection, partition, requested: target.partition };
440
452
  }
453
+ /**
454
+ * This method runs the checks of a subscription on one topic: the topic rule, the reads, `allow`
455
+ * and the partition. A live set and a snapshot pass the same checks as a subscriber.
456
+ *
457
+ * @returns The topic of the bus
458
+ */
459
+ async admitTopic(topic, ctx) {
460
+ this.admitTopics([topic], ctx);
461
+ return (await this.route(topic, ctx)).busTopic;
462
+ }
441
463
  /**
442
464
  * The resources that a subscriber of a topic reads. The default (`collectionTopicReads`) reads
443
465
  * the collection of the topic with the rule of the listener (`collectionTopicTarget`) and the
@@ -1 +1 @@
1
- {"version":3,"file":"publisher.js","sourceRoot":"","sources":["../../src/events/publisher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publisher.js","sourceRoot":"","sources":["../../src/events/publisher.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"admission.d.ts","sourceRoot":"","sources":["../../../src/procedures/collection/admission.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,EAAmB,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,KAAK,EAAE,iBAAiB,EAA0F,MAAM,cAAc,CAAC;AAE9I,OAAO,EAAkE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnH,sGAAsG;AACtG,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,yDAAyD;AACzD,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,QAAQ,CAAC,EAAE,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IACxC,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,iHAAiH;IACjH,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAElH,4FAA4F;AAC5F,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC9B;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAChH,yFAAyF;IACzF,KAAK,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACzC;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IAC3C;;;;;;;;;;;;;;;;;OAiBG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAUD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,mBAAmB,GAAG,SAAS,GAAG,IAAI,CAK/E;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,SAAS,EAAE,mBAAmB,GAAG,SAAS,EAAE,GAAG,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAK/I;AAOD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,mBAAmB,GAAG,SAAS,EAAE,GAAG,EAAE,gBAAgB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAoN7K"}
1
+ {"version":3,"file":"admission.d.ts","sourceRoot":"","sources":["../../../src/procedures/collection/admission.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,EAAmB,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,KAAK,EAAE,iBAAiB,EAA0F,MAAM,cAAc,CAAC;AAE9I,OAAO,EAAkE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnH,sGAAsG;AACtG,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,yDAAyD;AACzD,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,QAAQ,CAAC,EAAE,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IACxC,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,iHAAiH;IACjH,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAElH,4FAA4F;AAC5F,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC9B;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAChH,yFAAyF;IACzF,KAAK,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACzC;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IAC3C;;;;;;;;;;;;;;;;;OAiBG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAUD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,mBAAmB,GAAG,SAAS,GAAG,IAAI,CAK/E;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,SAAS,EAAE,mBAAmB,GAAG,SAAS,EAAE,GAAG,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAK/I;AAOD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,mBAAmB,GAAG,SAAS,EAAE,GAAG,EAAE,gBAAgB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAqN7K"}
@@ -179,10 +179,11 @@ export function admittedStorage(storage, admission, ctx, partition) {
179
179
  /** The full answer of `changes`: each admitted row, at a version that the rows include. */
180
180
  const fullAnswer = async () => {
181
181
  const all = await storage.getChangesSince(undefined);
182
+ const held = all.held ? { held: true } : {};
182
183
  if (all.full)
183
- return { version: all.version, full: true, changed: await admitted(all.changed), deleted: [] };
184
+ return { version: all.version, full: true, changed: await admitted(all.changed), deleted: [], ...held };
184
185
  // A log that does not give all rows: the rows, read after the version, include that version
185
- return { version: all.version, full: true, changed: await entries(), deleted: [] };
186
+ return { version: all.version, full: true, changed: await entries(), deleted: [], ...held };
186
187
  };
187
188
  const view = {
188
189
  async get(id) {
@@ -1 +1 @@
1
- {"version":3,"file":"admission.js","sourceRoot":"","sources":["../../../src/procedures/collection/admission.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admission.js","sourceRoot":"","sources":["../../../src/procedures/collection/admission.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,16 @@
22
22
  * listens to the topic, the procedures publish nothing, and the chain stops.
23
23
  * - The publishes of one storage and one topic run one at a time, in the order of the writes. A
24
24
  * write resolves after its event is on the bus. A failed publish never fails the write.
25
+ * - The writes that end while a publish runs share the next publish, so one read of the change
26
+ * log replies to all of them. At most one publish runs, and at most one publish waits.
27
+ * - A version can stop below a write in flight (`StorageChanges.held`, roadmap CLI-102). The chain
28
+ * then reads the log again, after a wait that starts at 100 ms and doubles up to 5 s. It stops when
29
+ * no write holds the version or no one listens. Thus a write that a write in flight holds back
30
+ * reaches the subscribers with no later write. The event of such a read has no origin. It has
31
+ * no rows before the changes, so a row filter makes a hint without ids.
32
+ * - The log can give a write two times (`StorageChanges`), so a subscriber applies a change by its id.
33
+ * - A read with no change sends no event, and the chain keeps its version. The version of a log can
34
+ * move with no change, when another process writes a row again at a later number.
25
35
  * - With the rule `admission.admit`, the publisher filters the ids of each event for each
26
36
  * subscriber (roadmap CLI-78, `hint-filter.ts`). The event carries the rows after the changes,
27
37
  * from the change log. While a subscriber has a filter, each write first reads the rows before
@@ -118,4 +128,10 @@ export declare function writeWithChangeEvent<R>(bus: EventBus | undefined, stora
118
128
  * next event without a read.
119
129
  */
120
130
  export declare function startChangeChain(bus: EventBus | undefined, storage: object, topic: string | undefined, version: string): void;
131
+ /**
132
+ * This function makes the chain read the log again when a call of `changes` gets a version that a
133
+ * write in flight holds back. A write outside the procedures then reaches the subscribers too.
134
+ * With no bus, no topic or no subscriber, it does nothing.
135
+ */
136
+ export declare function rereadWhileHeld(bus: EventBus | undefined, storage: object & ChangeLog, topic: string | undefined, values?: boolean, admission?: CollectionAdmission): void;
121
137
  //# sourceMappingURL=changes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"changes.d.ts","sourceRoot":"","sources":["../../../src/procedures/collection/changes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtD;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,uFAAuF;IACvF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,qFAAqF;IACrF,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,iCAAiC;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC,GAAG,SAAS,CAAC;IAC9F;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAClD;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,SAAS,CAAC;IACjG;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,mFAAmF;IACnF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAED,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,kBAAkB,GAAG,SAAS,MAAM,EAAE,CAGtG;AAED,yDAAyD;AACzD,UAAU,SAAS;IACjB,eAAe,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,oHAAoH;IACpH,QAAQ,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACzD;AA0JD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,oBAAoB,CAAC,CAAC,EAC1C,GAAG,EAAE,QAAQ,GAAG,SAAS,EACzB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,GAAG,EAC5B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,KAAK,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACvB,MAAM,UAAQ,EACd,SAAS,CAAC,EAAE,mBAAmB,GAC9B,OAAO,CAAC,CAAC,CAAC,CAoBZ;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAI7H"}
1
+ {"version":3,"file":"changes.d.ts","sourceRoot":"","sources":["../../../src/procedures/collection/changes.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,16 @@
22
22
  * listens to the topic, the procedures publish nothing, and the chain stops.
23
23
  * - The publishes of one storage and one topic run one at a time, in the order of the writes. A
24
24
  * write resolves after its event is on the bus. A failed publish never fails the write.
25
+ * - The writes that end while a publish runs share the next publish, so one read of the change
26
+ * log replies to all of them. At most one publish runs, and at most one publish waits.
27
+ * - A version can stop below a write in flight (`StorageChanges.held`, roadmap CLI-102). The chain
28
+ * then reads the log again, after a wait that starts at 100 ms and doubles up to 5 s. It stops when
29
+ * no write holds the version or no one listens. Thus a write that a write in flight holds back
30
+ * reaches the subscribers with no later write. The event of such a read has no origin. It has
31
+ * no rows before the changes, so a row filter makes a hint without ids.
32
+ * - The log can give a write two times (`StorageChanges`), so a subscriber applies a change by its id.
33
+ * - A read with no change sends no event, and the chain keeps its version. The version of a log can
34
+ * move with no change, when another process writes a row again at a later number.
25
35
  * - With the rule `admission.admit`, the publisher filters the ids of each event for each
26
36
  * subscriber (roadmap CLI-78, `hint-filter.ts`). The event carries the rows after the changes,
27
37
  * from the change log. While a subscriber has a filter, each write first reads the rows before
@@ -45,6 +55,24 @@ export function collectionTopicReads(topic, repository) {
45
55
  const target = collectionTopicTarget(topic, repository);
46
56
  return target ? [`collection:${target.collection}`] : [];
47
57
  }
58
+ /** The first wait before a read again of a log that a write in flight holds back. */
59
+ const HELD_FIRST_MS = 100;
60
+ /** The longest wait before a read again. */
61
+ const HELD_MOST_MS = 5000;
62
+ /** This function gives the publish that did not start, and it makes one when none waits. A failed publish rejects nothing here. */
63
+ function nextPublish(chain, start) {
64
+ if (chain.next)
65
+ return chain.next;
66
+ const next = chain.tail
67
+ .then(() => {
68
+ chain.next = undefined;
69
+ return start();
70
+ })
71
+ .catch(() => undefined);
72
+ chain.next = next;
73
+ chain.tail = next;
74
+ return next;
75
+ }
48
76
  /** The chains of each storage, by topic. A storage that goes away takes its chains with it. */
49
77
  const CHAINS = new WeakMap();
50
78
  function chainOf(storage, topic) {
@@ -55,7 +83,7 @@ function chainOf(storage, topic) {
55
83
  }
56
84
  let chain = topics.get(topic);
57
85
  if (!chain) {
58
- chain = { anchor: undefined, tail: Promise.resolve(), ended: [] };
86
+ chain = { anchor: undefined, tail: Promise.resolve(), next: undefined, ended: [], owed: false, heldWaitMs: 0, heldTimer: undefined };
59
87
  topics.set(topic, chain);
60
88
  }
61
89
  return chain;
@@ -104,21 +132,44 @@ function withValues(event, entries, admit) {
104
132
  },
105
133
  });
106
134
  }
107
- /** One publish: the event of the writes that ended since the last publish. */
135
+ /** This function starts the timer of the next read again while a write holds the log back, and it stops the timer otherwise. */
136
+ function whileHeld(chain, held, read) {
137
+ if (!held) {
138
+ chain.heldWaitMs = 0;
139
+ if (chain.heldTimer !== undefined)
140
+ clearTimeout(chain.heldTimer);
141
+ chain.heldTimer = undefined;
142
+ return;
143
+ }
144
+ if (chain.heldTimer !== undefined)
145
+ return;
146
+ chain.heldWaitMs = Math.min(HELD_MOST_MS, chain.heldWaitMs * 2 || HELD_FIRST_MS);
147
+ chain.heldTimer = setTimeout(() => {
148
+ chain.heldTimer = undefined;
149
+ read();
150
+ }, chain.heldWaitMs);
151
+ chain.heldTimer.unref?.();
152
+ }
153
+ /** One publish: the event of the writes that ended since the last publish, and of a read again. */
108
154
  async function publish(chain, storage, bus, topic, values, admission) {
109
155
  const admit = admission?.admit;
110
156
  const writes = chain.ended.splice(0);
157
+ const owed = chain.owed;
158
+ chain.owed = false;
111
159
  // An earlier publish told these writes
112
- if (writes.length === 0)
160
+ if (writes.length === 0 && !owed)
113
161
  return;
162
+ const readAgain = () => rereadChain(chain, storage, bus, topic, values, admission);
114
163
  if (!bus.hasSubscribers(topic)) {
115
164
  // No one listens: the procedures do not read the log. The next call of `changes` starts the chain again.
116
165
  chain.anchor = undefined;
166
+ whileHeld(chain, false, readAgain);
117
167
  return;
118
168
  }
119
169
  const since = chain.anchor;
120
170
  if (!storage.getChangesSince || since === undefined) {
121
- bus.emit(topic, hint(undefined, originOf(writes, undefined)));
171
+ if (writes.length > 0)
172
+ bus.emit(topic, hint(undefined, originOf(writes, undefined)));
122
173
  return;
123
174
  }
124
175
  let changes;
@@ -127,17 +178,24 @@ async function publish(chain, storage, bus, topic, values, admission) {
127
178
  }
128
179
  catch {
129
180
  // The subscribers read the changes themselves. The chain keeps its version.
130
- bus.emit(topic, hint(undefined, originOf(writes, undefined)));
181
+ if (writes.length > 0)
182
+ bus.emit(topic, hint(undefined, originOf(writes, undefined)));
183
+ // A read again that failed told no subscriber, so it stays owed
184
+ else
185
+ whileHeld(chain, true, readAgain);
131
186
  return;
132
187
  }
133
- chain.anchor = changes.version;
188
+ whileHeld(chain, changes.held === true, readAgain);
134
189
  // A full result: the log does not know the version of the chain any more
135
190
  if (changes.full || writes.some((write) => !write.anchored)) {
191
+ chain.anchor = changes.version;
136
192
  bus.emit(topic, hint(changes.version, originOf(writes, undefined)));
137
193
  return;
138
194
  }
195
+ // No event tells this version, so the chain stays at the version of the last event. The next read from it gets each change.
139
196
  if (changes.changed.length === 0 && changes.deleted.length === 0)
140
197
  return;
198
+ chain.anchor = changes.version;
141
199
  const origin = originOf(writes, changes);
142
200
  const event = {
143
201
  since,
@@ -150,6 +208,11 @@ async function publish(chain, storage, bus, topic, values, admission) {
150
208
  // The rows of the event for the row filter of each subscriber (roadmap CLI-78)
151
209
  bus.emit(topic, admit ? withHintImages(out, { after: afterOf(changes), before: beforeOf(writes), admission: admission }) : out);
152
210
  }
211
+ /** This function reads the log of a chain again. A publish that did not start does this read. */
212
+ function rereadChain(chain, storage, bus, topic, values, admission) {
213
+ chain.owed = true;
214
+ void nextPublish(chain, () => publish(chain, storage, bus, topic, values, admission));
215
+ }
153
216
  /** The rows after the changes, from the change log: a changed id has its item, a deleted id has none. */
154
217
  function afterOf(changes) {
155
218
  const after = new Map();
@@ -210,9 +273,7 @@ export async function writeWithChangeEvent(bus, storage, topic, ids, origin, wri
210
273
  }
211
274
  finally {
212
275
  chain.ended.push(started);
213
- const run = chain.tail.then(() => publish(chain, storage, bus, topic, values, admission));
214
- chain.tail = run.catch(() => undefined);
215
- await chain.tail;
276
+ await nextPublish(chain, () => publish(chain, storage, bus, topic, values, admission));
216
277
  }
217
278
  }
218
279
  /**
@@ -227,4 +288,15 @@ export function startChangeChain(bus, storage, topic, version) {
227
288
  if (chain.anchor === undefined)
228
289
  chain.anchor = version;
229
290
  }
291
+ /**
292
+ * This function makes the chain read the log again when a call of `changes` gets a version that a
293
+ * write in flight holds back. A write outside the procedures then reaches the subscribers too.
294
+ * With no bus, no topic or no subscriber, it does nothing.
295
+ */
296
+ export function rereadWhileHeld(bus, storage, topic, values = false, admission) {
297
+ if (bus === undefined || topic === undefined || !bus.hasSubscribers(topic))
298
+ return;
299
+ const chain = chainOf(storage, topic);
300
+ whileHeld(chain, true, () => rereadChain(chain, storage, bus, topic, values, admission));
301
+ }
230
302
  //# sourceMappingURL=changes.js.map