@enbox/dwn-sdk-js 0.4.15 → 0.4.16

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 (38) hide show
  1. package/dist/browser.mjs +1 -1
  2. package/dist/browser.mjs.map +4 -4
  3. package/dist/esm/src/handlers/messages-query.js +2 -29
  4. package/dist/esm/src/handlers/messages-query.js.map +1 -1
  5. package/dist/esm/src/handlers/messages-subscribe.js +52 -1
  6. package/dist/esm/src/handlers/messages-subscribe.js.map +1 -1
  7. package/dist/esm/src/store/message-store-level.js +4 -2
  8. package/dist/esm/src/store/message-store-level.js.map +1 -1
  9. package/dist/esm/src/utils/messages.js +36 -0
  10. package/dist/esm/src/utils/messages.js.map +1 -1
  11. package/dist/esm/src/utils/replication.js +14 -0
  12. package/dist/esm/src/utils/replication.js.map +1 -1
  13. package/dist/esm/tests/handlers/messages-query.spec.js +7 -15
  14. package/dist/esm/tests/handlers/messages-query.spec.js.map +1 -1
  15. package/dist/esm/tests/handlers/messages-subscribe.spec.js +129 -1
  16. package/dist/esm/tests/handlers/messages-subscribe.spec.js.map +1 -1
  17. package/dist/esm/tests/store/message-store-level.spec.js +21 -0
  18. package/dist/esm/tests/store/message-store-level.spec.js.map +1 -1
  19. package/dist/types/src/handlers/messages-query.d.ts +0 -2
  20. package/dist/types/src/handlers/messages-query.d.ts.map +1 -1
  21. package/dist/types/src/handlers/messages-subscribe.d.ts +16 -0
  22. package/dist/types/src/handlers/messages-subscribe.d.ts.map +1 -1
  23. package/dist/types/src/store/message-store-level.d.ts.map +1 -1
  24. package/dist/types/src/types/messages-types.d.ts +14 -0
  25. package/dist/types/src/types/messages-types.d.ts.map +1 -1
  26. package/dist/types/src/utils/messages.d.ts +8 -0
  27. package/dist/types/src/utils/messages.d.ts.map +1 -1
  28. package/dist/types/src/utils/replication.d.ts +8 -1
  29. package/dist/types/src/utils/replication.d.ts.map +1 -1
  30. package/dist/types/tests/handlers/messages-query.spec.d.ts.map +1 -1
  31. package/dist/types/tests/handlers/messages-subscribe.spec.d.ts.map +1 -1
  32. package/package.json +1 -1
  33. package/src/handlers/messages-query.ts +3 -41
  34. package/src/handlers/messages-subscribe.ts +67 -3
  35. package/src/store/message-store-level.ts +4 -2
  36. package/src/types/messages-types.ts +14 -0
  37. package/src/utils/messages.ts +45 -0
  38. package/src/utils/replication.ts +19 -1
@@ -1 +1 @@
1
- {"version":3,"file":"message-store-level.spec.js","sourceRoot":"","sources":["../../../../tests/store/message-store-level.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-store-level.spec.js","sourceRoot":"","sources":["../../../../tests/store/message-store-level.spec.ts"],"names":[],"mappings":"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"}
@@ -8,13 +8,11 @@ export declare class MessagesQueryHandler implements MethodHandler {
8
8
  message: MessagesQueryMessage;
9
9
  }): Promise<MessagesQueryReply>;
10
10
  private authorizeMessagesQuery;
11
- private static asReplicationFeedReader;
12
11
  private static convertFilters;
13
12
  private static buildEntries;
14
13
  private static buildEntry;
15
14
  private static getStringIndex;
16
15
  private static isLatestBaseState;
17
- private static computeFingerprintScopes;
18
16
  private static getProgressGapInfo;
19
17
  }
20
18
  //# sourceMappingURL=messages-query.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages-query.d.ts","sourceRoot":"","sources":["../../../../src/handlers/messages-query.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,KAAK,EAAkB,oBAAoB,EAAE,kBAAkB,EAA2B,MAAM,4BAA4B,CAAC;AAWpI,qBAAa,oBAAqB,YAAW,aAAa;IAE5C,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,mBAAmB;IAEzC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,oBAAoB,CAAA;KAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;YA2D1G,sBAAsB;IAYpC,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAYtC,OAAO,CAAC,MAAM,CAAC,cAAc;mBAQR,YAAY;mBAaZ,UAAU;IA0B/B,OAAO,CAAC,MAAM,CAAC,cAAc;IAK7B,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAIhC,OAAO,CAAC,MAAM,CAAC,wBAAwB;IA0BvC,OAAO,CAAC,MAAM,CAAC,kBAAkB;CAIlC"}
1
+ {"version":3,"file":"messages-query.d.ts","sourceRoot":"","sources":["../../../../src/handlers/messages-query.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,KAAK,EAAkB,oBAAoB,EAAE,kBAAkB,EAA2B,MAAM,4BAA4B,CAAC;AAWpI,qBAAa,oBAAqB,YAAW,aAAa;IAE5C,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,mBAAmB;IAEzC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,oBAAoB,CAAA;KAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;YA2D1G,sBAAsB;IAYpC,OAAO,CAAC,MAAM,CAAC,cAAc;mBAQR,YAAY;mBAaZ,UAAU;IA0B/B,OAAO,CAAC,MAAM,CAAC,cAAc;IAK7B,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAIhC,OAAO,CAAC,MAAM,CAAC,kBAAkB;CAIlC"}
@@ -9,6 +9,22 @@ export declare class MessagesSubscribeHandler implements MethodHandler {
9
9
  message: MessagesSubscribeMessage;
10
10
  subscriptionHandler: SubscriptionListener;
11
11
  }): Promise<MessagesSubscribeReply>;
12
+ /**
13
+ * Attaches the replication feed's `head` token and scope `fingerprint` to a
14
+ * successful subscribe reply, when the message store exposes the feed.
15
+ *
16
+ * Ordering is load-bearing: both values are observed AFTER the subscription
17
+ * became active, so every event past `head` is either replayable from it or
18
+ * already flowing on the live stream — a caller that verifies `fingerprint`
19
+ * against its local feed may adopt `head` as a checkpoint without a delivery
20
+ * gap. The head is captured before the fingerprint, mirroring MessagesQuery's
21
+ * cursor-then-fingerprint order: an event landing between the two captures
22
+ * makes the fingerprint read ahead of the head, which a consumer observes as
23
+ * a mismatch (one redundant reconcile), never as a silently skipped event.
24
+ */
25
+ private static attachFeedSnapshot;
26
+ /** Builds the position-zero anchor token for a tenant log with no events. */
27
+ private static buildAnchorToken;
12
28
  private static authorizeMessagesSubscribe;
13
29
  private static createAuthorizationGuard;
14
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"messages-subscribe.d.ts","sourceRoot":"","sources":["../../../../src/handlers/messages-subscribe.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAyD,oBAAoB,EAAuB,MAAM,2BAA2B,CAAC;AAClJ,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,KAAK,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAyBnG,qBAAa,wBAAyB,YAAW,aAAa;IAEhD,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,mBAAmB;IAEzC,MAAM,CAAC,EAClB,MAAM,EACN,OAAO,EACP,mBAAmB,EACpB,EAAE;QACD,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,wBAAwB,CAAC;QAClC,mBAAmB,EAAE,oBAAoB,CAAC;KAC3C,GAAG,OAAO,CAAC,sBAAsB,CAAC;mBAyDd,0BAA0B;IAuB/C,OAAO,CAAC,MAAM,CAAC,wBAAwB;CAkHxC"}
1
+ {"version":3,"file":"messages-subscribe.d.ts","sourceRoot":"","sources":["../../../../src/handlers/messages-subscribe.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA+F,oBAAoB,EAAuB,MAAM,2BAA2B,CAAC;AACxL,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,KAAK,EAAkB,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AA0BnH,qBAAa,wBAAyB,YAAW,aAAa;IAEhD,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,mBAAmB;IAEzC,MAAM,CAAC,EAClB,MAAM,EACN,OAAO,EACP,mBAAmB,EACpB,EAAE;QACD,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,wBAAwB,CAAC;QAClC,mBAAmB,EAAE,oBAAoB,CAAC;KAC3C,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAmEnC;;;;;;;;;;;;OAYG;mBACkB,kBAAkB;IA4BvC,6EAA6E;mBACxD,gBAAgB;mBAWhB,0BAA0B;IAuB/C,OAAO,CAAC,MAAM,CAAC,wBAAwB;CAkHxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"message-store-level.d.ts","sourceRoot":"","sources":["../../../../src/store/message-store-level.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-store-level.d.ts","sourceRoot":"","sources":["../../../../src/store/message-store-level.ts"],"names":[],"mappings":"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"}
@@ -77,6 +77,20 @@ export type MessagesSubscribeMessage = {
77
77
  };
78
78
  export type MessagesSubscribeReply = GenericMessageReply & {
79
79
  subscription?: MessageSubscription;
80
+ /**
81
+ * Feed fingerprint over the subscription's filter scopes, observed after the
82
+ * subscription became active. Present only when the filters map onto
83
+ * fingerprint domains and the message store exposes the replication feed.
84
+ */
85
+ fingerprint?: string;
86
+ /**
87
+ * High-water progress token of the tenant's replication log, observed after
88
+ * the subscription became active — the position-zero anchor when the log is
89
+ * empty. NOT a delivery cursor: adopting it as a checkpoint is sound only
90
+ * after verifying `fingerprint` against the local feed, since resuming from
91
+ * it skips every earlier log position.
92
+ */
93
+ head?: ProgressToken;
80
94
  /** Present when status.code is 410 — structured gap metadata. */
81
95
  error?: {
82
96
  code: 'ProgressGap';
@@ -1 +1 @@
1
- {"version":3,"file":"messages-types.d.ts","sourceRoot":"","sources":["../../../../src/types/messages-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACvH,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACxF,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/F;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;gEAC4D;IAC5D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;gEAC4D;IAC5D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,cAAc,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAG,gBAAgB,CAAC,QAAQ,CAAC;IACtC,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG;IACjD,aAAa,EAAE,kBAAkB,CAAC;IAClC,UAAU,EAAE,sBAAsB,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,mBAAmB,GAAG;IACpD,KAAK,CAAC,EAAE,sBAAsB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,gBAAgB,CAAC,QAAQ,CAAC;IACrC,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa,EAAE,kBAAkB,CAAC;IAClC,UAAU,EAAE,uBAAuB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG;IACrD,OAAO,CAAC,EAAE,uBAAuB,EAAE,CAAC;IACpC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,aAAa,CAAA;KAAE,GAAG,eAAe,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,mBAAmB,EAAE,oBAAoB,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,aAAa,EAAE,kBAAkB,CAAC;IAClC,UAAU,EAAE,2BAA2B,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,GAAG;IACzD,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,iEAAiE;IACjE,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,aAAa,CAAA;KAAE,GAAG,eAAe,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,SAAS,EAAE,gBAAgB,CAAC,QAAQ,CAAC;IACrC,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B;;;;OAIG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB,CAAC"}
1
+ {"version":3,"file":"messages-types.d.ts","sourceRoot":"","sources":["../../../../src/types/messages-types.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,14 @@ export declare class Messages {
36
36
  * (including cursor-based subscriptions) also apply to the shadow filter.
37
37
  */
38
38
  private static constructProtocolConfigureShadowFilter;
39
+ /**
40
+ * Maps a filter set onto the replication fingerprint domains it covers, or
41
+ * `undefined` when the filters do not correspond to fingerprint domains.
42
+ * An empty filter set covers the global domain; a set of protocol-only
43
+ * filters covers each protocol's domain plus its tagged core-protocol
44
+ * domains. Any other filter shape has no domain mapping.
45
+ */
46
+ static computeFingerprintScopes(filters: MessagesFilter[]): string[] | undefined;
39
47
  /**
40
48
  * Returns a copy of a RecordsWrite message without inline encodedData, and the
41
49
  * detached encodedData value for wire surfaces that carry data beside the message.
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../../src/utils/messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAUjE;;GAEG;AACH,qBAAa,QAAQ;IACnB;;OAEG;WACW,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE;IAwB3E;;;;;;;;;;OAUG;WACW,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,aAAa,CAAC,EAAE,oBAAoB,GAAG,MAAM,EAAE;IAoBvG;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAgB3C;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,sCAAsC;IAqBrD;;;OAGG;WACW,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG;QAAE,OAAO,EAAE,cAAc,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;IAY3G;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAmC5B,OAAO,CAAC,MAAM,CAAC,cAAc;CAG9B"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../../src/utils/messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAWjE;;GAEG;AACH,qBAAa,QAAQ;IACnB;;OAEG;WACW,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE;IAwB3E;;;;;;;;;;OAUG;WACW,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,aAAa,CAAC,EAAE,oBAAoB,GAAG,MAAM,EAAE;IAoBvG;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAgB3C;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,sCAAsC;IAqBrD;;;;;;OAMG;WACW,wBAAwB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,EAAE,GAAG,SAAS;IAqCvF;;;OAGG;WACW,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG;QAAE,OAAO,EAAE,cAAc,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;IAY3G;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAmC5B,OAAO,CAAC,MAAM,CAAC,cAAc;CAG9B"}
@@ -1,5 +1,6 @@
1
1
  import type { GenericMessage } from '../types/message-types.js';
2
2
  import type { KeyValues } from '../types/query-types.js';
3
+ import type { ReplicationFeedReader } from '../types/subscriptions.js';
3
4
  /**
4
5
  * Shared helpers for the replication log substrate.
5
6
  */
@@ -9,12 +10,18 @@ export declare class Replication {
9
10
  static permissionDomain(protocolUri: string): string;
10
11
  static encryptionDomain(protocolUri: string): string;
11
12
  static taggedCoreProtocolDomains(protocolUri: string, protocolsInScope?: ReadonlySet<string>): string[];
13
+ /**
14
+ * Narrows a message store to its replication feed surface when it implements
15
+ * one. Returns `undefined` for stores without replication feed support.
16
+ */
17
+ static asFeedReader(candidate: unknown): ReplicationFeedReader | undefined;
12
18
  static deriveStreamId(tenant: string): Promise<string>;
13
19
  static computeFingerprintScopes(message: GenericMessage, indexes: KeyValues): string[];
14
20
  static assertFingerprintScopesUntouched(persistedScopes: string[], message: GenericMessage, messageCid: string, newIndexes: KeyValues): void;
15
21
  private static scopeSetsMatch;
16
22
  private static throwFingerprintScopeMutation;
17
- private static isCoreProtocolUri;
23
+ /** Whether a protocol URI is one of the core protocols (permissions, encryption). */
24
+ static isCoreProtocolUri(protocolUri: string): boolean;
18
25
  static hashMessageCid(messageCid: string): Promise<Uint8Array>;
19
26
  static emptyFingerprint(): Uint8Array;
20
27
  static xorFingerprint(fingerprint: Uint8Array, contribution: Uint8Array): Uint8Array;
@@ -1 +1 @@
1
- {"version":3,"file":"replication.d.ts","sourceRoot":"","sources":["../../../../src/utils/replication.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAYzD;;GAEG;AACH,qBAAa,WAAW;IACtB,gBAAuB,YAAY,MAAM;WAE3B,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;WAI3C,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;WAI7C,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;WAI7C,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,gBAAgB,GAAE,WAAW,CAAC,MAAM,CAAa,GAAG,MAAM,EAAE;WAerG,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAOrD,wBAAwB,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,GAAG,MAAM,EAAE;WAsB/E,gCAAgC,CAC5C,eAAe,EAAE,MAAM,EAAE,EACzB,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,SAAS,GACpB,IAAI;IAOP,OAAO,CAAC,MAAM,CAAC,cAAc;IAQ7B,OAAO,CAAC,MAAM,CAAC,6BAA6B;IAO5C,OAAO,CAAC,MAAM,CAAC,iBAAiB;WAIZ,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;WAM7D,gBAAgB,IAAI,UAAU;WAI9B,cAAc,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,GAAG,UAAU;WAQ7E,gBAAgB,CAAC,WAAW,EAAE,UAAU,GAAG,MAAM;WAIjD,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;WAQzC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;CAW1D"}
1
+ {"version":3,"file":"replication.d.ts","sourceRoot":"","sources":["../../../../src/utils/replication.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAYvE;;GAEG;AACH,qBAAa,WAAW;IACtB,gBAAuB,YAAY,MAAM;WAE3B,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;WAI3C,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;WAI7C,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;WAI7C,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,gBAAgB,GAAE,WAAW,CAAC,MAAM,CAAa,GAAG,MAAM,EAAE;IAezH;;;OAGG;WACW,YAAY,CAAC,SAAS,EAAE,OAAO,GAAG,qBAAqB,GAAG,SAAS;WAY7D,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAOrD,wBAAwB,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,GAAG,MAAM,EAAE;WAsB/E,gCAAgC,CAC5C,eAAe,EAAE,MAAM,EAAE,EACzB,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,SAAS,GACpB,IAAI;IAOP,OAAO,CAAC,MAAM,CAAC,cAAc;IAQ7B,OAAO,CAAC,MAAM,CAAC,6BAA6B;IAO5C,qFAAqF;WACvE,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;WAIzC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;WAM7D,gBAAgB,IAAI,UAAU;WAI9B,cAAc,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,GAAG,UAAU;WAQ7E,gBAAgB,CAAC,WAAW,EAAE,UAAU,GAAG,MAAM;WAIjD,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;WAQzC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;CAW1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"messages-query.spec.d.ts","sourceRoot":"","sources":["../../../../tests/handlers/messages-query.spec.ts"],"names":[],"mappings":"AAoCA,wBAAgB,wBAAwB,IAAI,IAAI,CAsb/C"}
1
+ {"version":3,"file":"messages-query.spec.d.ts","sourceRoot":"","sources":["../../../../tests/handlers/messages-query.spec.ts"],"names":[],"mappings":"AAoCA,wBAAgB,wBAAwB,IAAI,IAAI,CA8a/C"}
@@ -1 +1 @@
1
- {"version":3,"file":"messages-subscribe.spec.d.ts","sourceRoot":"","sources":["../../../../tests/handlers/messages-subscribe.spec.ts"],"names":[],"mappings":"AA6BA,wBAAgB,4BAA4B,IAAI,IAAI,CA23CnD"}
1
+ {"version":3,"file":"messages-subscribe.spec.d.ts","sourceRoot":"","sources":["../../../../tests/handlers/messages-subscribe.spec.ts"],"names":[],"mappings":"AA6BA,wBAAgB,4BAA4B,IAAI,IAAI,CAohDnD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@enbox/dwn-sdk-js",
3
- "version": "0.4.15",
3
+ "version": "0.4.16",
4
4
  "description": "A reference implementation of https://identity.foundation/decentralized-web-node/spec/",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,4 +1,4 @@
1
- import type { EventLogEntry, ProgressGapInfo, ReplicationFeedReader } from '../types/subscriptions.js';
1
+ import type { EventLogEntry, ProgressGapInfo } from '../types/subscriptions.js';
2
2
  import type { Filter, KeyValues } from '../types/query-types.js';
3
3
  import type { HandlerDependencies, MethodHandler } from '../types/method-handler.js';
4
4
  import type { MessagesFilter, MessagesQueryMessage, MessagesQueryReply, MessagesQueryReplyEntry } from '../types/messages-types.js';
@@ -31,7 +31,7 @@ export class MessagesQueryHandler implements MethodHandler {
31
31
  return messageReplyFromError(e, 401);
32
32
  }
33
33
 
34
- const replicationFeedReader = MessagesQueryHandler.asReplicationFeedReader(this.deps.messageStore);
34
+ const replicationFeedReader = Replication.asFeedReader(this.deps.messageStore);
35
35
  if (replicationFeedReader === undefined) {
36
36
  return {
37
37
  status: {
@@ -56,7 +56,7 @@ export class MessagesQueryHandler implements MethodHandler {
56
56
  drained : result.drained,
57
57
  };
58
58
 
59
- const fingerprintScopes = MessagesQueryHandler.computeFingerprintScopes(message.descriptor.filters);
59
+ const fingerprintScopes = Messages.computeFingerprintScopes(message.descriptor.filters);
60
60
  if (fingerprintScopes !== undefined) {
61
61
  reply.fingerprint = await replicationFeedReader.fingerprint(tenant, fingerprintScopes);
62
62
  }
@@ -87,18 +87,6 @@ export class MessagesQueryHandler implements MethodHandler {
87
87
  });
88
88
  }
89
89
 
90
- private static asReplicationFeedReader(candidate: unknown): ReplicationFeedReader | undefined {
91
- const partial = candidate as Partial<ReplicationFeedReader>;
92
- if (
93
- typeof partial.logRead === 'function' &&
94
- typeof partial.logBounds === 'function' &&
95
- typeof partial.fingerprint === 'function' &&
96
- typeof partial.epoch === 'function'
97
- ) {
98
- return partial as ReplicationFeedReader;
99
- }
100
- }
101
-
102
90
  private static convertFilters(filters: MessagesFilter[], deps: HandlerDependencies): Filter[] | undefined {
103
91
  if (filters.length === 0) {
104
92
  return undefined;
@@ -155,32 +143,6 @@ export class MessagesQueryHandler implements MethodHandler {
155
143
  return indexes.isLatestBaseState === true || indexes.isLatestBaseState === 'true';
156
144
  }
157
145
 
158
- private static computeFingerprintScopes(filters: MessagesFilter[]): string[] | undefined {
159
- if (filters.length === 0) {
160
- return [Replication.globalDomain];
161
- }
162
-
163
- const protocols = new Set<string>();
164
- for (const filter of filters) {
165
- const keys = Object.keys(filter);
166
- if (keys.length !== 1 || typeof filter.protocol !== 'string') {
167
- return undefined;
168
- }
169
-
170
- protocols.add(filter.protocol);
171
- }
172
-
173
- const scopes: string[] = [];
174
- for (const protocol of protocols) {
175
- scopes.push(
176
- Replication.protocolDomain(protocol),
177
- ...Replication.taggedCoreProtocolDomains(protocol, protocols),
178
- );
179
- }
180
-
181
- return scopes;
182
- }
183
-
184
146
  private static getProgressGapInfo(error: DwnError): ProgressGapInfo | undefined {
185
147
  const gapInfo = (error as DwnError & { gapInfo?: ProgressGapInfo }).gapInfo;
186
148
  return gapInfo;
@@ -1,7 +1,7 @@
1
1
  import type { PermissionGrant } from '../protocols/permission-grant.js';
2
- import type { EventSubscription, ProgressGapInfo, SubscriptionEvent, SubscriptionListener, SubscriptionMessage } from '../types/subscriptions.js';
2
+ import type { EventSubscription, ProgressGapInfo, ProgressToken, ReplicationFeedReader, SubscriptionEvent, SubscriptionListener, SubscriptionMessage } from '../types/subscriptions.js';
3
3
  import type { HandlerDependencies, MethodHandler } from '../types/method-handler.js';
4
- import type { MessagesSubscribeMessage, MessagesSubscribeReply } from '../types/messages-types.js';
4
+ import type { MessagesFilter, MessagesSubscribeMessage, MessagesSubscribeReply } from '../types/messages-types.js';
5
5
 
6
6
  import { authenticate } from '../core/auth.js';
7
7
  import { Message } from '../core/message.js';
@@ -9,6 +9,7 @@ import { messageReplyFromError } from '../core/message-reply.js';
9
9
  import { Messages } from '../utils/messages.js';
10
10
  import { MessagesGrantAuthorization } from '../core/messages-grant-authorization.js';
11
11
  import { MessagesSubscribe } from '../interfaces/messages-subscribe.js';
12
+ import { Replication } from '../utils/replication.js';
12
13
  import { Time } from '../utils/time.js';
13
14
  import { DwnError, DwnErrorCode } from '../core/dwn-error.js';
14
15
 
@@ -79,10 +80,20 @@ export class MessagesSubscribeHandler implements MethodHandler {
79
80
  });
80
81
  await guardedHandler.setSubscription(subscription);
81
82
 
82
- return {
83
+ const reply: MessagesSubscribeReply = {
83
84
  status: { code: 200, detail: 'OK' },
84
85
  subscription,
85
86
  };
87
+ try {
88
+ await MessagesSubscribeHandler.attachFeedSnapshot(reply, tenant, filters, this.deps);
89
+ } catch {
90
+ // Best-effort enrichment: the subscription is live and correct
91
+ // without the snapshot — consumers feature-detect the fields. A
92
+ // failure reply here would orphan the just-installed listener, since
93
+ // close handles are registered only from successful replies.
94
+ }
95
+
96
+ return reply;
86
97
  } catch (error) {
87
98
  if (error instanceof DwnError && error.code === DwnErrorCode.EventLogProgressGap) {
88
99
  const gapInfo = (error as any).gapInfo as ProgressGapInfo | undefined;
@@ -95,6 +106,59 @@ export class MessagesSubscribeHandler implements MethodHandler {
95
106
  }
96
107
  }
97
108
 
109
+ /**
110
+ * Attaches the replication feed's `head` token and scope `fingerprint` to a
111
+ * successful subscribe reply, when the message store exposes the feed.
112
+ *
113
+ * Ordering is load-bearing: both values are observed AFTER the subscription
114
+ * became active, so every event past `head` is either replayable from it or
115
+ * already flowing on the live stream — a caller that verifies `fingerprint`
116
+ * against its local feed may adopt `head` as a checkpoint without a delivery
117
+ * gap. The head is captured before the fingerprint, mirroring MessagesQuery's
118
+ * cursor-then-fingerprint order: an event landing between the two captures
119
+ * makes the fingerprint read ahead of the head, which a consumer observes as
120
+ * a mismatch (one redundant reconcile), never as a silently skipped event.
121
+ */
122
+ private static async attachFeedSnapshot(
123
+ reply: MessagesSubscribeReply,
124
+ tenant: string,
125
+ filters: MessagesFilter[],
126
+ deps: HandlerDependencies,
127
+ ): Promise<void> {
128
+ const feedReader = Replication.asFeedReader(deps.messageStore);
129
+ if (feedReader === undefined) {
130
+ return;
131
+ }
132
+
133
+ // Build the complete snapshot before attaching anything: a partial
134
+ // snapshot (a head without its fingerprint) would read to consumers as
135
+ // a fingerprint-less server rather than as a failed capture.
136
+ const bounds = await feedReader.logBounds(tenant);
137
+ const head = bounds?.latest ?? await MessagesSubscribeHandler.buildAnchorToken(tenant, feedReader);
138
+
139
+ const fingerprintScopes = Messages.computeFingerprintScopes(filters);
140
+ const fingerprint = fingerprintScopes === undefined
141
+ ? undefined
142
+ : await feedReader.fingerprint(tenant, fingerprintScopes);
143
+
144
+ reply.head = head;
145
+ if (fingerprint !== undefined) {
146
+ reply.fingerprint = fingerprint;
147
+ }
148
+ }
149
+
150
+ /** Builds the position-zero anchor token for a tenant log with no events. */
151
+ private static async buildAnchorToken(
152
+ tenant: string,
153
+ feedReader: ReplicationFeedReader,
154
+ ): Promise<ProgressToken> {
155
+ return {
156
+ streamId : await Replication.deriveStreamId(tenant),
157
+ epoch : await feedReader.epoch(),
158
+ position : '0',
159
+ };
160
+ }
161
+
98
162
  private static async authorizeMessagesSubscribe(
99
163
  tenant: string,
100
164
  messagesSubscribe: MessagesSubscribe,
@@ -731,8 +731,10 @@ export class MessageStoreLevel implements MessageStore, ReplicationFeedReader {
731
731
  const startPosition = cursor === undefined ? 0n : BigInt(cursor.position);
732
732
 
733
733
  if (head === 0n) {
734
- // Nothing to scan — caught up at the input position.
735
- return { events: [], cursor, drained: true };
734
+ // Nothing to scan — caught up at the input position. A caller without a
735
+ // cursor still gets the position-zero anchor so an empty log yields a
736
+ // checkpointable token instead of forcing a rescan on every pass.
737
+ return { events: [], cursor: cursor ?? await this.buildToken(tenant, 0n), drained: true };
736
738
  }
737
739
 
738
740
  const maxResults = limit ?? Number.MAX_SAFE_INTEGER;
@@ -87,6 +87,20 @@ export type MessagesSubscribeMessage = {
87
87
 
88
88
  export type MessagesSubscribeReply = GenericMessageReply & {
89
89
  subscription?: MessageSubscription;
90
+ /**
91
+ * Feed fingerprint over the subscription's filter scopes, observed after the
92
+ * subscription became active. Present only when the filters map onto
93
+ * fingerprint domains and the message store exposes the replication feed.
94
+ */
95
+ fingerprint?: string;
96
+ /**
97
+ * High-water progress token of the tenant's replication log, observed after
98
+ * the subscription became active — the position-zero anchor when the log is
99
+ * empty. NOT a delivery cursor: adopting it as a checkpoint is sound only
100
+ * after verifying `fingerprint` against the local feed, since resuming from
101
+ * it skips every earlier log position.
102
+ */
103
+ head?: ProgressToken;
90
104
  /** Present when status.code is 410 — structured gap metadata. */
91
105
  error?: { code: 'ProgressGap' } & ProgressGapInfo;
92
106
  };
@@ -6,6 +6,7 @@ import type { MessagesFilter } from '../types/messages-types.js';
6
6
  import { FilterUtility } from './filter.js';
7
7
  import { normalizeProtocolUrl } from './url.js';
8
8
  import { Records } from './records.js';
9
+ import { Replication } from './replication.js';
9
10
  import { isEmptyObject, removeUndefinedProperties } from '@enbox/common';
10
11
 
11
12
  type StoredMessageWithEncodedData = GenericMessage & { encodedData?: string };
@@ -122,6 +123,50 @@ export class Messages {
122
123
  return metadataFilter;
123
124
  }
124
125
 
126
+ /**
127
+ * Maps a filter set onto the replication fingerprint domains it covers, or
128
+ * `undefined` when the filters do not correspond to fingerprint domains.
129
+ * An empty filter set covers the global domain; a set of protocol-only
130
+ * filters covers each protocol's domain plus its tagged core-protocol
131
+ * domains. Any other filter shape has no domain mapping.
132
+ */
133
+ public static computeFingerprintScopes(filters: MessagesFilter[]): string[] | undefined {
134
+ if (filters.length === 0) {
135
+ return [Replication.globalDomain];
136
+ }
137
+
138
+ const protocols = new Set<string>();
139
+ for (const filter of filters) {
140
+ const keys = Object.keys(filter);
141
+ if (keys.length !== 1 || typeof filter.protocol !== 'string') {
142
+ return undefined;
143
+ }
144
+
145
+ protocols.add(filter.protocol);
146
+ }
147
+
148
+ // Fail closed for filter sets naming a core protocol directly: the core
149
+ // protocols contribute no tagged domains for themselves, so the domain
150
+ // set would not span everything such filters enumerate — two feeds could
151
+ // fingerprint identically while differing in enumerable messages. No
152
+ // fingerprint beats one whose coverage is known-incomplete.
153
+ for (const protocol of protocols) {
154
+ if (Replication.isCoreProtocolUri(protocol)) {
155
+ return undefined;
156
+ }
157
+ }
158
+
159
+ const scopes: string[] = [];
160
+ for (const protocol of protocols) {
161
+ scopes.push(
162
+ Replication.protocolDomain(protocol),
163
+ ...Replication.taggedCoreProtocolDomains(protocol, protocols),
164
+ );
165
+ }
166
+
167
+ return scopes;
168
+ }
169
+
125
170
  /**
126
171
  * Returns a copy of a RecordsWrite message without inline encodedData, and the
127
172
  * detached encodedData value for wire surfaces that carry data beside the message.
@@ -1,5 +1,6 @@
1
1
  import type { GenericMessage } from '../types/message-types.js';
2
2
  import type { KeyValues } from '../types/query-types.js';
3
+ import type { ReplicationFeedReader } from '../types/subscriptions.js';
3
4
 
4
5
  import { EncryptionProtocol } from '../protocols/encryption.js';
5
6
  import { PermissionsProtocol } from '../protocols/permissions.js';
@@ -44,6 +45,22 @@ export class Replication {
44
45
  return domains;
45
46
  }
46
47
 
48
+ /**
49
+ * Narrows a message store to its replication feed surface when it implements
50
+ * one. Returns `undefined` for stores without replication feed support.
51
+ */
52
+ public static asFeedReader(candidate: unknown): ReplicationFeedReader | undefined {
53
+ const partial = candidate as Partial<ReplicationFeedReader>;
54
+ if (
55
+ typeof partial.logRead === 'function' &&
56
+ typeof partial.logBounds === 'function' &&
57
+ typeof partial.fingerprint === 'function' &&
58
+ typeof partial.epoch === 'function'
59
+ ) {
60
+ return partial as ReplicationFeedReader;
61
+ }
62
+ }
63
+
47
64
  public static async deriveStreamId(tenant: string): Promise<string> {
48
65
  const bytes = new TextEncoder().encode(tenant);
49
66
  const hashBuffer = await crypto.subtle.digest('SHA-256', bytes);
@@ -100,7 +117,8 @@ export class Replication {
100
117
  );
101
118
  }
102
119
 
103
- private static isCoreProtocolUri(protocolUri: string): boolean {
120
+ /** Whether a protocol URI is one of the core protocols (permissions, encryption). */
121
+ public static isCoreProtocolUri(protocolUri: string): boolean {
104
122
  return protocolUri === PermissionsProtocol.uri || protocolUri === EncryptionProtocol.uri;
105
123
  }
106
124