@enbox/dwn-sdk-js 0.4.16 → 0.4.18

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 (175) hide show
  1. package/dist/browser.mjs +1 -1
  2. package/dist/browser.mjs.map +4 -4
  3. package/dist/esm/generated/precompiled-validators.js +978 -840
  4. package/dist/esm/generated/precompiled-validators.js.map +1 -1
  5. package/dist/esm/json-schemas/definitions.json +5 -0
  6. package/dist/esm/src/core/dwn-constant.js +2 -2
  7. package/dist/esm/src/core/dwn-error.js +0 -1
  8. package/dist/esm/src/core/dwn-error.js.map +1 -1
  9. package/dist/esm/src/core/protocol-authorization-validation.js +1 -24
  10. package/dist/esm/src/core/protocol-authorization-validation.js.map +1 -1
  11. package/dist/esm/src/core/protocol-authorization.js +1 -5
  12. package/dist/esm/src/core/protocol-authorization.js.map +1 -1
  13. package/dist/esm/src/core/validation-state-reader.js +2 -3
  14. package/dist/esm/src/core/validation-state-reader.js.map +1 -1
  15. package/dist/esm/src/handlers/records-collection.js +200 -0
  16. package/dist/esm/src/handlers/records-collection.js.map +1 -0
  17. package/dist/esm/src/handlers/records-count.js +26 -195
  18. package/dist/esm/src/handlers/records-count.js.map +1 -1
  19. package/dist/esm/src/handlers/records-query.js +19 -373
  20. package/dist/esm/src/handlers/records-query.js.map +1 -1
  21. package/dist/esm/src/handlers/records-subscribe.js +21 -338
  22. package/dist/esm/src/handlers/records-subscribe.js.map +1 -1
  23. package/dist/esm/src/handlers/records-write.js +8 -26
  24. package/dist/esm/src/handlers/records-write.js.map +1 -1
  25. package/dist/esm/src/index.js +1 -1
  26. package/dist/esm/src/index.js.map +1 -1
  27. package/dist/esm/src/interfaces/protocols-configure.js +4 -9
  28. package/dist/esm/src/interfaces/protocols-configure.js.map +1 -1
  29. package/dist/esm/src/interfaces/records-count.js +1 -1
  30. package/dist/esm/src/interfaces/records-count.js.map +1 -1
  31. package/dist/esm/src/interfaces/records-query.js +1 -1
  32. package/dist/esm/src/interfaces/records-query.js.map +1 -1
  33. package/dist/esm/src/interfaces/records-subscribe.js +3 -1
  34. package/dist/esm/src/interfaces/records-subscribe.js.map +1 -1
  35. package/dist/esm/src/store/index-level.js +210 -21
  36. package/dist/esm/src/store/index-level.js.map +1 -1
  37. package/dist/esm/src/store/message-store-level.js +192 -21
  38. package/dist/esm/src/store/message-store-level.js.map +1 -1
  39. package/dist/esm/src/store/storage-controller.js +1 -3
  40. package/dist/esm/src/store/storage-controller.js.map +1 -1
  41. package/dist/esm/src/types/protocols-types.js +0 -10
  42. package/dist/esm/src/types/protocols-types.js.map +1 -1
  43. package/dist/esm/src/utils/filter.js +35 -1
  44. package/dist/esm/src/utils/filter.js.map +1 -1
  45. package/dist/esm/src/utils/grant-key-coverage.js +4 -6
  46. package/dist/esm/src/utils/grant-key-coverage.js.map +1 -1
  47. package/dist/esm/src/utils/messages.js +4 -14
  48. package/dist/esm/src/utils/messages.js.map +1 -1
  49. package/dist/esm/src/utils/permission-scope.js +3 -9
  50. package/dist/esm/src/utils/permission-scope.js.map +1 -1
  51. package/dist/esm/src/utils/record-limit-occupancy.js +73 -202
  52. package/dist/esm/src/utils/record-limit-occupancy.js.map +1 -1
  53. package/dist/esm/src/utils/records.js +19 -52
  54. package/dist/esm/src/utils/records.js.map +1 -1
  55. package/dist/esm/tests/core/records-grant-authorization.spec.js +13 -0
  56. package/dist/esm/tests/core/records-grant-authorization.spec.js.map +1 -1
  57. package/dist/esm/tests/core/replication-replay-property.spec.js +2 -2
  58. package/dist/esm/tests/core/replication-replay-property.spec.js.map +1 -1
  59. package/dist/esm/tests/core/validation-read-closure.spec.js +1 -1
  60. package/dist/esm/tests/core/validation-read-closure.spec.js.map +1 -1
  61. package/dist/esm/tests/dwn.spec.js +2 -2
  62. package/dist/esm/tests/dwn.spec.js.map +1 -1
  63. package/dist/esm/tests/features/records-delivery.spec.js +2 -5
  64. package/dist/esm/tests/features/records-delivery.spec.js.map +1 -1
  65. package/dist/esm/tests/features/records-nested-query-scope.spec.js +149 -70
  66. package/dist/esm/tests/features/records-nested-query-scope.spec.js.map +1 -1
  67. package/dist/esm/tests/features/records-record-limit.spec.js +380 -95
  68. package/dist/esm/tests/features/records-record-limit.spec.js.map +1 -1
  69. package/dist/esm/tests/fuzz/filter.fuzz.spec.js +19 -4
  70. package/dist/esm/tests/fuzz/filter.fuzz.spec.js.map +1 -1
  71. package/dist/esm/tests/handlers/records-count.spec.js +52 -1
  72. package/dist/esm/tests/handlers/records-count.spec.js.map +1 -1
  73. package/dist/esm/tests/handlers/records-subscribe.spec.js +76 -1
  74. package/dist/esm/tests/handlers/records-subscribe.spec.js.map +1 -1
  75. package/dist/esm/tests/handlers/records-write.spec.js +57 -3
  76. package/dist/esm/tests/handlers/records-write.spec.js.map +1 -1
  77. package/dist/esm/tests/store/index-level.spec.js +208 -1
  78. package/dist/esm/tests/store/index-level.spec.js.map +1 -1
  79. package/dist/esm/tests/store/message-store-cross-context.spec.js +46 -0
  80. package/dist/esm/tests/store/message-store-cross-context.spec.js.map +1 -0
  81. package/dist/esm/tests/store/message-store-level.spec.js +76 -1
  82. package/dist/esm/tests/store/message-store-level.spec.js.map +1 -1
  83. package/dist/esm/tests/store/message-store.spec.js +81 -0
  84. package/dist/esm/tests/store/message-store.spec.js.map +1 -1
  85. package/dist/esm/tests/utils/filters.spec.js +25 -4
  86. package/dist/esm/tests/utils/filters.spec.js.map +1 -1
  87. package/dist/esm/tests/utils/permission-scope.spec.js +4 -0
  88. package/dist/esm/tests/utils/permission-scope.spec.js.map +1 -1
  89. package/dist/esm/tests/utils/records.spec.js +12 -0
  90. package/dist/esm/tests/utils/records.spec.js.map +1 -1
  91. package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js +3 -1
  92. package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js.map +1 -1
  93. package/dist/types/generated/precompiled-validators.d.ts.map +1 -1
  94. package/dist/types/src/core/dwn-constant.d.ts +2 -2
  95. package/dist/types/src/core/dwn-error.d.ts +0 -1
  96. package/dist/types/src/core/dwn-error.d.ts.map +1 -1
  97. package/dist/types/src/core/protocol-authorization-validation.d.ts +0 -10
  98. package/dist/types/src/core/protocol-authorization-validation.d.ts.map +1 -1
  99. package/dist/types/src/core/protocol-authorization.d.ts.map +1 -1
  100. package/dist/types/src/core/validation-state-reader.d.ts.map +1 -1
  101. package/dist/types/src/handlers/records-collection.d.ts +32 -0
  102. package/dist/types/src/handlers/records-collection.d.ts.map +1 -0
  103. package/dist/types/src/handlers/records-count.d.ts +0 -34
  104. package/dist/types/src/handlers/records-count.d.ts.map +1 -1
  105. package/dist/types/src/handlers/records-query.d.ts +0 -61
  106. package/dist/types/src/handlers/records-query.d.ts.map +1 -1
  107. package/dist/types/src/handlers/records-subscribe.d.ts +1 -37
  108. package/dist/types/src/handlers/records-subscribe.d.ts.map +1 -1
  109. package/dist/types/src/handlers/records-write.d.ts +3 -0
  110. package/dist/types/src/handlers/records-write.d.ts.map +1 -1
  111. package/dist/types/src/index.d.ts +3 -3
  112. package/dist/types/src/index.d.ts.map +1 -1
  113. package/dist/types/src/interfaces/protocols-configure.d.ts.map +1 -1
  114. package/dist/types/src/interfaces/records-subscribe.d.ts.map +1 -1
  115. package/dist/types/src/store/index-level.d.ts +61 -0
  116. package/dist/types/src/store/index-level.d.ts.map +1 -1
  117. package/dist/types/src/store/message-store-level.d.ts +24 -6
  118. package/dist/types/src/store/message-store-level.d.ts.map +1 -1
  119. package/dist/types/src/store/storage-controller.d.ts.map +1 -1
  120. package/dist/types/src/types/message-store.d.ts +28 -2
  121. package/dist/types/src/types/message-store.d.ts.map +1 -1
  122. package/dist/types/src/types/protocols-types.d.ts +7 -24
  123. package/dist/types/src/types/protocols-types.d.ts.map +1 -1
  124. package/dist/types/src/types/query-types.d.ts +8 -1
  125. package/dist/types/src/types/query-types.d.ts.map +1 -1
  126. package/dist/types/src/types/records-types.d.ts +3 -2
  127. package/dist/types/src/types/records-types.d.ts.map +1 -1
  128. package/dist/types/src/utils/filter.d.ts +14 -1
  129. package/dist/types/src/utils/filter.d.ts.map +1 -1
  130. package/dist/types/src/utils/grant-key-coverage.d.ts.map +1 -1
  131. package/dist/types/src/utils/messages.d.ts.map +1 -1
  132. package/dist/types/src/utils/permission-scope.d.ts +0 -2
  133. package/dist/types/src/utils/permission-scope.d.ts.map +1 -1
  134. package/dist/types/src/utils/record-limit-occupancy.d.ts +25 -12
  135. package/dist/types/src/utils/record-limit-occupancy.d.ts.map +1 -1
  136. package/dist/types/src/utils/records.d.ts +6 -24
  137. package/dist/types/src/utils/records.d.ts.map +1 -1
  138. package/dist/types/tests/features/records-delivery.spec.d.ts.map +1 -1
  139. package/dist/types/tests/features/records-nested-query-scope.spec.d.ts.map +1 -1
  140. package/dist/types/tests/features/records-record-limit.spec.d.ts.map +1 -1
  141. package/dist/types/tests/handlers/records-count.spec.d.ts.map +1 -1
  142. package/dist/types/tests/handlers/records-subscribe.spec.d.ts.map +1 -1
  143. package/dist/types/tests/handlers/records-write.spec.d.ts.map +1 -1
  144. package/dist/types/tests/store/message-store-cross-context.spec.d.ts +2 -0
  145. package/dist/types/tests/store/message-store-cross-context.spec.d.ts.map +1 -0
  146. package/dist/types/tests/store/message-store.spec.d.ts.map +1 -1
  147. package/package.json +4 -4
  148. package/src/core/dwn-constant.ts +2 -2
  149. package/src/core/dwn-error.ts +0 -2
  150. package/src/core/protocol-authorization-validation.ts +1 -33
  151. package/src/core/protocol-authorization.ts +0 -7
  152. package/src/core/validation-state-reader.ts +2 -3
  153. package/src/handlers/records-collection.ts +269 -0
  154. package/src/handlers/records-count.ts +38 -232
  155. package/src/handlers/records-query.ts +22 -444
  156. package/src/handlers/records-subscribe.ts +26 -397
  157. package/src/handlers/records-write.ts +17 -32
  158. package/src/index.ts +3 -3
  159. package/src/interfaces/protocols-configure.ts +4 -13
  160. package/src/interfaces/records-count.ts +1 -1
  161. package/src/interfaces/records-query.ts +1 -1
  162. package/src/interfaces/records-subscribe.ts +5 -2
  163. package/src/store/index-level.ts +323 -28
  164. package/src/store/message-store-level.ts +251 -25
  165. package/src/store/storage-controller.ts +1 -3
  166. package/src/types/message-store.ts +30 -2
  167. package/src/types/protocols-types.ts +7 -26
  168. package/src/types/query-types.ts +10 -2
  169. package/src/types/records-types.ts +3 -2
  170. package/src/utils/filter.ts +40 -3
  171. package/src/utils/grant-key-coverage.ts +4 -7
  172. package/src/utils/messages.ts +4 -14
  173. package/src/utils/permission-scope.ts +4 -11
  174. package/src/utils/record-limit-occupancy.ts +108 -293
  175. package/src/utils/records.ts +22 -57
@@ -1,17 +1,12 @@
1
1
  import { attachInitialWrites } from '../utils/initial-write-attachment.js';
2
- import { authenticate } from '../core/auth.js';
3
- import { DateSort } from '../types/records-types.js';
4
2
  import { EncryptionControl } from '../core/encryption-control.js';
3
+ import { isRecordLimitOccupant } from '../utils/record-limit-occupancy.js';
5
4
  import { Message } from '../core/message.js';
6
5
  import { messageReplyFromError } from '../core/message-reply.js';
7
- import { ProtocolAuthorization } from '../core/protocol-authorization.js';
8
6
  import { Records } from '../utils/records.js';
9
- import { RecordsGrantAuthorization } from '../core/records-grant-authorization.js';
10
7
  import { RecordsSubscribe } from '../interfaces/records-subscribe.js';
11
- import { SortDirection } from '../types/query-types.js';
8
+ import { buildRecordsEventFilters, queryVisibleRecordsPage, resolveRecordsCollectionVisibility, } from './records-collection.js';
12
9
  import { DwnError, DwnErrorCode } from '../core/dwn-error.js';
13
- import { DwnInterfaceName, DwnMethodName } from '../enums/dwn-interface-method.js';
14
- import { isRecordLimitOccupant, queryRecordsWithRecordLimitOccupancy } from '../utils/record-limit-occupancy.js';
15
10
  export class RecordsSubscribeHandler {
16
11
  deps;
17
12
  constructor(deps) {
@@ -25,15 +20,14 @@ export class RecordsSubscribeHandler {
25
20
  try {
26
21
  recordsSubscribe = await RecordsSubscribe.parse(message);
27
22
  }
28
- catch (e) {
29
- return messageReplyFromError(e, 400);
23
+ catch (error) {
24
+ return messageReplyFromError(error, 400);
30
25
  }
31
- const requester = Message.getRequester(recordsSubscribe.message);
32
26
  const filterResolution = await this.resolveSubscriptionFilters(tenant, message, recordsSubscribe);
33
27
  if ('errorReply' in filterResolution) {
34
28
  return filterResolution.errorReply;
35
29
  }
36
- const { eventFilters, queryFilters } = filterResolution;
30
+ const { eventFilters, visibility } = filterResolution;
37
31
  const messageCid = await Message.getCid(message);
38
32
  const { cursor: eventLogCursor } = recordsSubscribe.message.descriptor;
39
33
  const projectedSubscriptionHandler = RecordsSubscribeHandler.createRecordLimitOccupancyGuard({
@@ -51,40 +45,28 @@ export class RecordsSubscribeHandler {
51
45
  return this.handleCursorSubscription(tenant, messageCid, eventFilters, eventLogCursor, projectedSubscriptionHandler);
52
46
  }
53
47
  // ---- No cursor: existing behavior (initial snapshot from MessageStore) ----
54
- return this.handleSnapshotSubscription(tenant, messageCid, recordsSubscribe, requester, eventFilters, queryFilters, projectedSubscriptionHandler);
48
+ return this.handleSnapshotSubscription(tenant, messageCid, recordsSubscribe, eventFilters, visibility, projectedSubscriptionHandler);
55
49
  }
56
50
  /**
57
- * Resolves the event/query filters for the subscription, performing authentication and
51
+ * Resolves the event filters and visibility for the subscription, performing authentication and
58
52
  * authorization when the request is not an anonymous published-records-only subscribe.
59
53
  * Returns the resolved filters, or an `errorReply` if authentication/authorization failed.
60
54
  */
61
55
  async resolveSubscriptionFilters(tenant, message, recordsSubscribe) {
62
- // if this is an anonymous subscribe and the filter supports published records, subscribe to only published records
63
- if (Records.filterIncludesPublishedRecords(recordsSubscribe.message.descriptor.filter) && recordsSubscribe.author === undefined) {
64
- const eventFilters = [RecordsSubscribeHandler.buildPublishedEventFilter(recordsSubscribe)];
65
- const queryFilters = [RecordsSubscribeHandler.buildPublishedQueryFilter(recordsSubscribe)];
66
- // delete the undefined authorization property else the code will encounter the following IPLD issue when attempting to generate CID:
67
- // Error: `undefined` is not supported by the IPLD Data Model and cannot be encoded
68
- delete message.authorization;
69
- return { eventFilters, queryFilters };
70
- }
71
- // authentication and authorization
56
+ let visibility;
72
57
  try {
73
- await authenticate(message.authorization, this.deps.didResolver);
74
- await RecordsSubscribeHandler.authorizeRecordsSubscribe(tenant, recordsSubscribe, this.deps);
58
+ visibility = await resolveRecordsCollectionVisibility(tenant, recordsSubscribe, this.deps);
75
59
  }
76
60
  catch (error) {
77
61
  return { errorReply: messageReplyFromError(error, 401) };
78
62
  }
79
- if (recordsSubscribe.author === tenant) {
80
- return {
81
- eventFilters: RecordsSubscribeHandler.buildOwnerEventFilters(recordsSubscribe),
82
- queryFilters: RecordsSubscribeHandler.buildOwnerQueryFilters(recordsSubscribe),
83
- };
63
+ if (visibility === 'published') {
64
+ // Remove the undefined property before computing the subscription CID because IPLD cannot encode it.
65
+ delete message.authorization;
84
66
  }
85
67
  return {
86
- eventFilters: RecordsSubscribeHandler.buildNonOwnerEventFilters(recordsSubscribe),
87
- queryFilters: RecordsSubscribeHandler.buildNonOwnerQueryFilters(recordsSubscribe),
68
+ eventFilters: buildRecordsEventFilters(recordsSubscribe, visibility),
69
+ visibility,
88
70
  };
89
71
  }
90
72
  /**
@@ -120,7 +102,7 @@ export class RecordsSubscribeHandler {
120
102
  * Handles the no-cursor path: registers the event listener first (so no events are missed
121
103
  * between query and subscribe), then queries for the initial snapshot of matching records.
122
104
  */
123
- async handleSnapshotSubscription(tenant, messageCid, recordsSubscribe, requester, eventFilters, queryFilters, projectedSubscriptionHandler) {
105
+ async handleSnapshotSubscription(tenant, messageCid, recordsSubscribe, eventFilters, visibility, projectedSubscriptionHandler) {
124
106
  // Step 1: Register event listener FIRST to ensure no events are missed between query and subscribe
125
107
  const subscription = await this.deps.eventLog.subscribe(tenant, messageCid, projectedSubscriptionHandler.listener, {
126
108
  filters: eventFilters,
@@ -130,9 +112,12 @@ export class RecordsSubscribeHandler {
130
112
  let entries;
131
113
  let paginationCursor;
132
114
  try {
133
- const { dateSort, pagination } = recordsSubscribe.message.descriptor;
134
- const messageSort = RecordsSubscribeHandler.convertDateSort(dateSort);
135
- const queryResult = await this.queryRecordsWithVisibleControlFiltering(tenant, recordsSubscribe, requester, queryFilters, messageSort, pagination);
115
+ const queryResult = await queryVisibleRecordsPage({
116
+ deps: this.deps,
117
+ tenant,
118
+ request: recordsSubscribe,
119
+ visibility,
120
+ });
136
121
  // attach the retained initial write to every entry that is not itself an initial write
137
122
  entries = await attachInitialWrites({
138
123
  messageStore: this.deps.messageStore,
@@ -155,28 +140,6 @@ export class RecordsSubscribeHandler {
155
140
  cursor: paginationCursor,
156
141
  };
157
142
  }
158
- /**
159
- * Convert an incoming DateSort to a sort type accepted by MessageStore.
160
- * Defaults to `dateCreated` ascending if no sort is supplied.
161
- */
162
- static convertDateSort(dateSort) {
163
- switch (dateSort) {
164
- case DateSort.CreatedAscending:
165
- return { dateCreated: SortDirection.Ascending };
166
- case DateSort.CreatedDescending:
167
- return { dateCreated: SortDirection.Descending };
168
- case DateSort.PublishedAscending:
169
- return { datePublished: SortDirection.Ascending };
170
- case DateSort.PublishedDescending:
171
- return { datePublished: SortDirection.Descending };
172
- case DateSort.UpdatedAscending:
173
- return { messageTimestamp: SortDirection.Ascending };
174
- case DateSort.UpdatedDescending:
175
- return { messageTimestamp: SortDirection.Descending };
176
- default:
177
- return { dateCreated: SortDirection.Ascending };
178
- }
179
- }
180
143
  static createRecordLimitOccupancyGuard(input) {
181
144
  const { deps, eventFilters, recordsSubscribe, subscriptionHandler, tenant } = input;
182
145
  const requester = Message.getRequester(recordsSubscribe.message);
@@ -277,285 +240,5 @@ export class RecordsSubscribeHandler {
277
240
  },
278
241
  };
279
242
  }
280
- // =============================================
281
- // Event filters (for live subscription)
282
- // These match Write+Delete and do NOT use isLatestBaseState
283
- // =============================================
284
- /**
285
- * Build event filters for owner: all matching Write+Delete events.
286
- */
287
- static buildOwnerEventFilters(recordsSubscribe) {
288
- const { filter } = recordsSubscribe.message.descriptor;
289
- return [{
290
- ...Records.convertFilter(filter),
291
- interface: DwnInterfaceName.Records,
292
- method: [DwnMethodName.Write, DwnMethodName.Delete],
293
- }];
294
- }
295
- /**
296
- * Build event filters for non-owner with visibility rules.
297
- */
298
- static buildNonOwnerEventFilters(recordsSubscribe) {
299
- const filters = [];
300
- const { filter } = recordsSubscribe.message.descriptor;
301
- if (Records.filterIncludesPublishedRecords(filter)) {
302
- filters.push(RecordsSubscribeHandler.buildPublishedEventFilter(recordsSubscribe));
303
- }
304
- if (Records.filterIncludesUnpublishedRecords(filter)) {
305
- if (EncryptionControl.isExactAudienceFilter(filter)) {
306
- filters.push({
307
- ...Records.convertFilter(filter),
308
- interface: DwnInterfaceName.Records,
309
- method: [DwnMethodName.Write, DwnMethodName.Delete],
310
- published: false,
311
- });
312
- }
313
- if (Records.shouldBuildUnpublishedAuthorFilter(filter, recordsSubscribe.author)) {
314
- filters.push({
315
- ...Records.convertFilter(filter),
316
- author: recordsSubscribe.author,
317
- interface: DwnInterfaceName.Records,
318
- method: [DwnMethodName.Write, DwnMethodName.Delete],
319
- published: false,
320
- });
321
- }
322
- if (Records.shouldProtocolAuthorize(recordsSubscribe.signaturePayload)) {
323
- filters.push({
324
- ...Records.convertFilter(filter),
325
- interface: DwnInterfaceName.Records,
326
- method: [DwnMethodName.Write, DwnMethodName.Delete],
327
- published: false,
328
- });
329
- }
330
- if (Message.getPermissionGrantId(recordsSubscribe.signaturePayload) !== undefined) {
331
- filters.push({
332
- ...Records.convertFilter(filter),
333
- interface: DwnInterfaceName.Records,
334
- method: [DwnMethodName.Write, DwnMethodName.Delete],
335
- published: false,
336
- });
337
- }
338
- if (Records.shouldBuildUnpublishedRecipientFilter(filter, recordsSubscribe.author)) {
339
- filters.push({
340
- ...Records.convertFilter(filter),
341
- interface: DwnInterfaceName.Records,
342
- method: [DwnMethodName.Write, DwnMethodName.Delete],
343
- recipient: recordsSubscribe.author,
344
- published: false,
345
- });
346
- }
347
- }
348
- return filters;
349
- }
350
- /**
351
- * Build a published-only event filter (Write+Delete).
352
- */
353
- static buildPublishedEventFilter(recordsSubscribe) {
354
- return {
355
- ...Records.convertFilter(recordsSubscribe.message.descriptor.filter),
356
- interface: DwnInterfaceName.Records,
357
- method: [DwnMethodName.Write, DwnMethodName.Delete],
358
- published: true,
359
- };
360
- }
361
- // =============================================
362
- // Query filters (for initial snapshot)
363
- // These match Write only and use isLatestBaseState: true
364
- // =============================================
365
- /**
366
- * Build query filters for owner: latest writes matching the filter.
367
- */
368
- static buildOwnerQueryFilters(recordsSubscribe) {
369
- const { dateSort, filter } = recordsSubscribe.message.descriptor;
370
- return [{
371
- ...Records.convertFilter(filter, dateSort),
372
- interface: DwnInterfaceName.Records,
373
- method: DwnMethodName.Write,
374
- isLatestBaseState: true,
375
- }];
376
- }
377
- /**
378
- * Build query filters for non-owner with visibility rules.
379
- */
380
- static buildNonOwnerQueryFilters(recordsSubscribe) {
381
- const filters = [];
382
- const { dateSort, filter } = recordsSubscribe.message.descriptor;
383
- if (Records.filterIncludesPublishedRecords(filter)) {
384
- filters.push(RecordsSubscribeHandler.buildPublishedQueryFilter(recordsSubscribe));
385
- }
386
- if (Records.filterIncludesUnpublishedRecords(filter)) {
387
- if (EncryptionControl.isExactAudienceFilter(filter)) {
388
- filters.push(Records.buildUnpublishedControlRecordsFilter(filter, dateSort));
389
- }
390
- if (Records.shouldBuildUnpublishedAuthorFilter(filter, recordsSubscribe.author)) {
391
- filters.push({
392
- ...Records.convertFilter(filter, dateSort),
393
- author: recordsSubscribe.author,
394
- interface: DwnInterfaceName.Records,
395
- method: DwnMethodName.Write,
396
- isLatestBaseState: true,
397
- published: false,
398
- });
399
- }
400
- if (Records.shouldProtocolAuthorize(recordsSubscribe.signaturePayload)) {
401
- filters.push({
402
- ...Records.convertFilter(filter, dateSort),
403
- interface: DwnInterfaceName.Records,
404
- method: DwnMethodName.Write,
405
- isLatestBaseState: true,
406
- published: false,
407
- });
408
- }
409
- if (Message.getPermissionGrantId(recordsSubscribe.signaturePayload) !== undefined) {
410
- filters.push({
411
- ...Records.convertFilter(filter, dateSort),
412
- interface: DwnInterfaceName.Records,
413
- method: DwnMethodName.Write,
414
- isLatestBaseState: true,
415
- published: false,
416
- });
417
- }
418
- if (Records.shouldBuildUnpublishedRecipientFilter(filter, recordsSubscribe.author)) {
419
- filters.push({
420
- ...Records.convertFilter(filter, dateSort),
421
- interface: DwnInterfaceName.Records,
422
- method: DwnMethodName.Write,
423
- recipient: recordsSubscribe.author,
424
- isLatestBaseState: true,
425
- published: false,
426
- });
427
- }
428
- }
429
- return filters;
430
- }
431
- /**
432
- * Build a published-only query filter (latest writes).
433
- */
434
- static buildPublishedQueryFilter(recordsSubscribe) {
435
- const { dateSort, filter } = recordsSubscribe.message.descriptor;
436
- return {
437
- ...Records.convertFilter(filter, dateSort),
438
- interface: DwnInterfaceName.Records,
439
- method: DwnMethodName.Write,
440
- published: true,
441
- isLatestBaseState: true,
442
- };
443
- }
444
- /**
445
- * @param messageStore Used to check if the grant has been revoked.
446
- */
447
- static async authorizeRecordsSubscribe(tenant, recordsSubscribe, deps) {
448
- if (Message.isSignedByAuthorDelegate(recordsSubscribe.message) &&
449
- !EncryptionControl.filterTargetsOnlyControlRecords(recordsSubscribe.message.descriptor.filter)) {
450
- await recordsSubscribe.authorizeDelegate(deps.validationStateReader);
451
- }
452
- else if (EncryptionControl.filterTargetsOnlyControlRecords(recordsSubscribe.message.descriptor.filter)) {
453
- await EncryptionControl.authorizeControlReadRequest({
454
- tenant,
455
- incomingMessage: recordsSubscribe.message,
456
- requester: Message.getRequester(recordsSubscribe.message),
457
- validationStateReader: deps.validationStateReader,
458
- });
459
- }
460
- const permissionGrantId = Message.getPermissionGrantId(recordsSubscribe.signaturePayload);
461
- if (permissionGrantId !== undefined) {
462
- const permissionGrant = await deps.validationStateReader.fetchGrant(tenant, permissionGrantId);
463
- await RecordsGrantAuthorization.authorizeQueryOrSubscribe({
464
- incomingMessage: recordsSubscribe.message,
465
- expectedGrantor: tenant,
466
- expectedGrantee: recordsSubscribe.author,
467
- permissionGrant,
468
- validationStateReader: deps.validationStateReader,
469
- });
470
- return;
471
- }
472
- // NOTE: not all RecordsSubscribe messages require protocol authorization even if the filter includes protocol-related fields,
473
- // this is because we dynamically filter out records that the caller is not authorized to see.
474
- // Currently only run protocol authorization if message deliberately invokes a protocol role.
475
- if (Records.shouldProtocolAuthorize(recordsSubscribe.signaturePayload)) {
476
- await ProtocolAuthorization.authorizeQueryOrSubscribe(tenant, recordsSubscribe, deps.validationStateReader);
477
- }
478
- }
479
- async filterControlRecordsForNonOwner(tenant, recordsSubscribe, requester, recordsWrites) {
480
- return EncryptionControl.filterVisibleControlRecords({
481
- tenant,
482
- incomingMessage: recordsSubscribe.message,
483
- requester,
484
- recordsWriteMessages: recordsWrites,
485
- validationStateReader: this.deps.validationStateReader,
486
- });
487
- }
488
- async queryRecordsWithVisibleControlFiltering(tenant, recordsSubscribe, requester, filters, messageSort, pagination) {
489
- const controlFilters = Records.buildControlRecordsFilters(filters);
490
- const currentAudienceRecordIdCache = new Map();
491
- if (controlFilters.length === 0) {
492
- const result = await queryRecordsWithRecordLimitOccupancy({
493
- messageStore: this.deps.messageStore,
494
- validationStateReader: this.deps.validationStateReader,
495
- tenant,
496
- filters,
497
- messageSort,
498
- pagination,
499
- messageTimestamp: recordsSubscribe.message.descriptor.messageTimestamp,
500
- });
501
- return EncryptionControl.projectCurrentAudienceRecordPage({
502
- messageStore: this.deps.messageStore,
503
- tenant,
504
- filters,
505
- currentAudienceRecordIdCache,
506
- result,
507
- });
508
- }
509
- if (pagination?.limit === undefined || pagination.limit <= 0) {
510
- const result = await queryRecordsWithRecordLimitOccupancy({
511
- messageStore: this.deps.messageStore,
512
- validationStateReader: this.deps.validationStateReader,
513
- tenant,
514
- filters,
515
- messageSort,
516
- pagination,
517
- messageTimestamp: recordsSubscribe.message.descriptor.messageTimestamp,
518
- });
519
- const projectedResult = await EncryptionControl.projectCurrentAudienceRecordPage({
520
- messageStore: this.deps.messageStore,
521
- tenant,
522
- filters,
523
- currentAudienceRecordIdCache,
524
- result,
525
- });
526
- return {
527
- messages: await this.filterControlRecordsForNonOwner(tenant, recordsSubscribe, requester, projectedResult.messages),
528
- cursor: projectedResult.cursor,
529
- };
530
- }
531
- const visibleMessages = [];
532
- let cursor = pagination.cursor;
533
- let nextCursor;
534
- // Keeps visible-page pagination stable until #1100 moves control visibility into indexed store filters.
535
- do {
536
- const remainingLimit = pagination.limit - visibleMessages.length;
537
- const result = await queryRecordsWithRecordLimitOccupancy({
538
- messageStore: this.deps.messageStore,
539
- validationStateReader: this.deps.validationStateReader,
540
- tenant,
541
- filters,
542
- messageSort,
543
- pagination: { ...pagination, cursor, limit: remainingLimit },
544
- messageTimestamp: recordsSubscribe.message.descriptor.messageTimestamp,
545
- });
546
- const projectedResult = await EncryptionControl.projectCurrentAudienceRecordPage({
547
- messageStore: this.deps.messageStore,
548
- tenant,
549
- filters,
550
- currentAudienceRecordIdCache,
551
- result,
552
- });
553
- const filteredMessages = await this.filterControlRecordsForNonOwner(tenant, recordsSubscribe, requester, projectedResult.messages);
554
- visibleMessages.push(...filteredMessages);
555
- nextCursor = projectedResult.cursor;
556
- cursor = projectedResult.cursor;
557
- } while (visibleMessages.length < pagination.limit && cursor !== undefined);
558
- return { messages: visibleMessages, cursor: nextCursor };
559
- }
560
243
  }
561
244
  //# sourceMappingURL=records-subscribe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"records-subscribe.js","sourceRoot":"","sources":["../../../../src/handlers/records-subscribe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"records-subscribe.js","sourceRoot":"","sources":["../../../../src/handlers/records-subscribe.ts"],"names":[],"mappings":"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"}
@@ -49,8 +49,9 @@ export class RecordsWriteHandler {
49
49
  catch (e) {
50
50
  return messageReplyFromError(e, 400);
51
51
  }
52
+ let protocolRuleSet;
52
53
  try {
53
- await ProtocolAuthorization.validateReferentialIntegrity(tenant, recordsWrite, this.deps.validationStateReader);
54
+ protocolRuleSet = await ProtocolAuthorization.validateReferentialIntegrity(tenant, recordsWrite, this.deps.validationStateReader);
54
55
  }
55
56
  catch (e) {
56
57
  return messageReplyFromError(e, 400);
@@ -71,7 +72,7 @@ export class RecordsWriteHandler {
71
72
  // messageTimestamp is <= the most recent squash record at the same path and parent context.
72
73
  // The squash record acts as a temporal floor — no record older than the latest squash can exist.
73
74
  try {
74
- await this.enforceSquashBackstop(tenant, message);
75
+ await this.enforceSquashBackstop(tenant, message, protocolRuleSet);
75
76
  }
76
77
  catch (e) {
77
78
  return messageReplyFromError(e, 409);
@@ -341,32 +342,13 @@ export class RecordsWriteHandler {
341
342
  * and there exists a squash record at the same protocol path and parent context whose
342
343
  * `messageTimestamp` is >= the incoming message's `messageTimestamp`, reject with 409.
343
344
  *
345
+ * The rule set is the exact policy already resolved by referential-integrity validation. Reusing
346
+ * it prevents a second store lookup from observing different state or failing open.
347
+ *
344
348
  * This check only applies to protocol-based records at `$squash: true` paths.
345
349
  */
346
- async enforceSquashBackstop(tenant, message) {
347
- // Only applies to protocol-based records
348
- if (message.descriptor.protocol === undefined || message.descriptor.protocolPath === undefined) {
349
- return;
350
- }
351
- // Fetch the protocol definition active at the incoming message timestamp to check if $squash is enabled at this path.
352
- // The reader resolves core protocols (e.g. permissions) from the registry.
353
- let protocolDefinition;
354
- try {
355
- protocolDefinition = await this.deps.validationStateReader.fetchProtocolDefinition(tenant, message.descriptor.protocol, message.descriptor.messageTimestamp);
356
- }
357
- catch (error) {
358
- // If the protocol definition can't be found, skip the backstop check.
359
- // Authorization will handle the missing protocol error later.
360
- console.warn(`enforceSquashBackstop: failed to fetch protocol definition for '${message.descriptor.protocol}':`, error);
361
- return;
362
- }
363
- // Walk the structure to find the rule set for this protocol path
364
- const pathSegments = message.descriptor.protocolPath.split('/');
365
- let ruleSet = protocolDefinition.structure[pathSegments[0]];
366
- for (let i = 1; i < pathSegments.length && ruleSet !== undefined; i++) {
367
- ruleSet = ruleSet[pathSegments[i]];
368
- }
369
- if (ruleSet?.$squash !== true) {
350
+ async enforceSquashBackstop(tenant, message, ruleSet) {
351
+ if (ruleSet.$squash !== true) {
370
352
  return;
371
353
  }
372
354
  const parentContextId = Records.getParentContextFromOfContextId(message.contextId);
@@ -1 +1 @@
1
- {"version":3,"file":"records-write.js","sourceRoot":"","sources":["../../../../src/handlers/records-write.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAInF,MAAM,OAAO,mBAAmB;IAED;IAA7B,YAA6B,IAAyB;QAAzB,SAAI,GAAJ,IAAI,CAAqB;IAAI,CAAC;IAEpD,KAAK,CAAC,MAAM,CAAC,EAClB,MAAM,EACN,OAAO,EACP,UAAU,GACE;QACZ,IAAI,YAA0B,CAAC;QAC/B,IAAI,CAAC;YACH,YAAY,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,qBAAqB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACvC,CAAC;QAED,gDAAgD;QAChD,MAAM,KAAK,GAAG;YACZ,SAAS,EAAG,gBAAgB,CAAC,OAAO;YACpC,QAAQ,EAAI,OAAO,CAAC,QAAQ;SAC7B,CAAC;QACF,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,CAAE,KAAK,CAAE,CAAC,CAAC;QAE7F,yEAAyE;QACzE,mEAAmE;QACnE,0EAA0E;QAC1E,8CAA8C;QAC9C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACxF,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,MAAM,wBAAwB,GAAG,MAAM,YAAY,CAAC,cAAc,EAAE,CAAC;QAErE,IAAI,YAA6C,CAAC;QAClD,IAAI,CAAC;YACH,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,wBAAwB,CAAC,CAAC;QACxF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,qBAAqB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,qBAAqB,CAAC,4BAA4B,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAClH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,qBAAqB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACvC,CAAC;QAED,iCAAiC;QACjC,IAAI,CAAC;YACH,MAAM,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YACtF,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,qBAAqB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,sBAAsB,GAAG,IAAI,CAAC,8BAA8B,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC1F,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;YACzC,OAAO,sBAAsB,CAAC;QAChC,CAAC;QAED,kFAAkF;QAClF,4FAA4F;QAC5F,iGAAiG;QACjG,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,qBAAqB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,qBAAqB,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;QAE/E,MAAM,uBAAuB,GAC3B,qBAAqB,KAAK,SAAS,IAAI,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;QAC/F,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC7B,sEAAsE;YACtE,OAAO;gBACL,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE;aAC1C,CAAC;QACJ,CAAC;QAED,sFAAsF;QACtF,iFAAiF;QACjF,MAAM,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAC3D,IAAI,QAAmC,CAAC;QAExC,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC;gBACjD,YAAY;gBACZ,UAAU;gBACV,gBAAgB;gBAChB,OAAO;gBACP,qBAAqB;gBACrB,wBAAwB;gBACxB,YAAY;gBACZ,MAAM;aACP,CAAC,CAAC;YACH,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,YAAY,GAAG;YACnB,+GAA+G;YAC/G,uGAAuG;YACvG,oBAAoB;YACpB,MAAM,EAAE,CAAC,wBAAwB,IAAI,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC;gBAC9D,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;gBACrC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE;YACnC,QAAQ;SACT,CAAC;QAEF,yFAAyF;QACzF,iGAAiG;QACjG,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACvC,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAqB,CAAC,GAAG,CAAC;gBACxC,IAAI,EAAG,iBAAiB,CAAC,aAAa;gBACtC,IAAI,EAAG,EAAE,MAAM,EAAE,OAAO,EAAE;aAC3B,CAAC,CAAC;QACL,CAAC;QAED,sEAAsE;QACtE,wFAAwF;QACxF,0DAA0D;QAC1D,IAAI,YAAY,EAAE,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACjD,MAAM,YAAY,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE;gBACxD,YAAY,EAAG,IAAI,CAAC,IAAI,CAAC,YAAY;gBACrC,SAAS,EAAM,IAAI,CAAC,IAAI,CAAC,SAAU;aACpC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAAA,CAAC;IAEF;;;;;OAKG;IACK,KAAK,CAAC,2BAA2B,CACvC,OAA4B,EAC5B,gBAAkC;QAElC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClD,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE,CAAC;YAC/C,IAAI,MAAM,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,WAAW,EAAE,CAAC;gBAC1D,SAAS;YACX,CAAC;YAED,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC;QACvD,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACK,8BAA8B,CACpC,YAA6C,EAC7C,OAA4B;QAE5B,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,yBAAyB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACtD,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,qBAAqB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,uBAAuB,CAAC,OAA4B;QAC1D,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC9C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACnE,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,kBAAkB,CAAC,KAShC;QACC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QAE7I,IAAI,qBAAqB,EAAE,UAAU,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,EAAE,CAAC;YACtE,MAAM,IAAI,QAAQ,CAChB,YAAY,CAAC,iCAAiC,EAC9C,oDAAoD,CACrD,CAAC;QACJ,CAAC;QAED,qEAAqE;QACrE,+EAA+E;QAC/E,sFAAsF;QACtF,IAAI,YAAY,EAAE,eAAe,KAAK,SAAS,EAAE,CAAC;YAChD,MAAM,YAAY,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,iBAAiB,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YAChD,MAAM,iBAAiB,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAC1F,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,MAAM,IAAI,QAAQ,CAChB,YAAY,CAAC,yCAAyC,EACtD,0CAA0C,CAC3C,CAAC;YACJ,CAAC;QACH,CAAC;QAED,+IAA+I;QAC/I,uGAAuG;QACvG,2EAA2E;QAC3E,2IAA2I;QAC3I,kEAAkE;QAClE,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAC9B,IAAI,8BAA8B,GAAG,OAAiC,CAAC;QAEvE,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,8BAA8B;YAE9B,kIAAkI;YAClI,yDAAyD;YACzD,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBAC9B,MAAM,mBAAmB,GAAG,qBAA+C,CAAC;gBAC5E,8BAA8B,GAAG,MAAM,IAAI,CAAC,+BAA+B,CAAC,MAAM,EAAE,OAAO,EAAE,mBAAmB,CAAE,CAAC;gBACnH,iBAAiB,GAAG,IAAI,CAAC;YAC3B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,8BAA8B,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;YACtG,iBAAiB,GAAG,IAAI,CAAC;QAC3B,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;QAEvE,uFAAuF;QACvF,2FAA2F;QAC3F,uCAAuC;QACvC,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,2BAA2B,CACnE,MAAM,EACN,gBAAgB,EAChB,EAAE,OAAO,EAAE,8BAA8B,EAAE,OAAO,EAAE,EACpD,EAAE,EACF,IAAI,CAAC,IAAI,CAAC,YAAY,EACtB,IAAI,CAAC,IAAI,CAAC,SAAU,CACrB,CAAC;QAEF,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACK,0BAA0B,CAAC,KAAc;QAC/C,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC9B,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,wCAAwC;gBACtE,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,iCAAiC;gBAC7D,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,iCAAiC;gBAC7D,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,2BAA2B;gBACvD,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,4BAA4B;gBACxD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC;gBACxC,iBAAiB,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS;gBAChE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC1E,OAAO,qBAAqB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,aAAa;QACb,MAAM,KAAK,CAAC;IACd,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,sBAAsB,CAAC,OAA4B,EAAE,SAAqB;QACrF,MAAM,YAAY,GAA2B,EAAE,GAAG,OAAO,EAAE,CAAC;QAC5D,YAAY,CAAC,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC/D,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,4BAA4B,CACxC,MAAc,EACd,OAA4B,EAC5B,UAAsC;QAEtC,IAAI,8BAA8B,GAA2B,OAAO,CAAC;QAErE,kEAAkE;QAClE,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,IAAI,WAAW,CAAC,6BAA6B,EAAE,CAAC;YAC7E,0CAA0C;YAC1C,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACvD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YAC9D,YAAY,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;YAEvH,kEAAkE;YAClE,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,KAAK,SAAS;gBAC5D,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC9D,IAAI,YAAY,EAAE,cAAc,KAAK,SAAS,EAAE,CAAC;gBAC/C,MAAM,YAAY,CAAC,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACxD,CAAC;YACD,IAAI,iBAAiB,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChD,MAAM,iBAAiB,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;YACjI,CAAC;YAED,8BAA8B,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACzF,CAAC;aAAM,CAAC;YACN,6EAA6E;YAC7E,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC,GAAG,UAAU,CAAC,mBAAmB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YAEzF,IAAI,CAAC;gBACH,kDAAkD;gBAClD,MAAM,CAAC,OAAO,EAAE,kBAAkB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBACtD,GAAG,CAAC,yBAAyB,CAAC,eAAe,CAAC;oBAC9C,IAAI,CAAC,IAAI,CAAC,SAAU,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC;iBAChG,CAAC,CAAC;gBAEH,YAAY,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YACpI,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,2FAA2F;gBAC3F,MAAM,IAAI,CAAC,IAAI,CAAC,SAAU,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBAExF,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,8BAA8B,CAAC;IACxC,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,gBAAkC,EAClC,wBAAiC;QAEjC,IAAI,wBAAwB,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,YAAY,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;IACxD,CAAC;IAEO,yBAAyB,CAC/B,YAAiC,EACjC,OAA4B;QAE5B,IAAI,CAAC;YACH,YAAY,CAAC,mCAAmC,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC1E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,oCAAoC,EAAE,CAAC;gBAClG,MAAM,IAAI,QAAQ,CAChB,YAAY,CAAC,oCAAoC,EACjD,sDAAsD,CACvD,CAAC;YACJ,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,+BAA+B,CAC3C,MAAc,EACd,OAA4B,EAC5B,mBAA2C;QAE3C,MAAM,8BAA8B,GAA2B,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,QAAQ;QACvF,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;QAEjD,yIAAyI;QACzI,wHAAwH;QACxH,oFAAoF;QACpF,kEAAkE;QAClE,YAAY,CAAC,qBAAqB,CAAC,OAAO,EAAE,QAAQ,EAAE,mBAAmB,CAAC,UAAU,CAAC,OAAO,EAAE,mBAAmB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAEvI,IAAI,QAAQ,IAAI,WAAW,CAAC,6BAA6B,EAAE,CAAC;YAC1D,4FAA4F;YAC5F,IAAI,mBAAmB,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBAClD,MAAM,IAAI,QAAQ,CAChB,YAAY,CAAC,wCAAwC,EACrD,yEAAyE,CAC1E,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,8BAA8B,CAAC,WAAW,GAAG,mBAAmB,CAAC,WAAW,CAAC;YAC/E,CAAC;QACH,CAAC;aAAM,CAAC;YACN,oDAAoD;YAEpD,yDAAyD;YACzD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,MAAM,EAAE,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAE9I,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,MAAM,IAAI,QAAQ,CAChB,YAAY,CAAC,iCAAiC,EAC9C,yEAAyE,CAC1E,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,8BAA8B,CAAC;IACxC,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,qBAAqB,CAAC,MAAc,EAAE,OAA4B;QAC9E,yCAAyC;QACzC,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/F,OAAO;QACT,CAAC;QAED,sHAAsH;QACtH,2EAA2E;QAC3E,IAAI,kBAAkB,CAAC;QACvB,IAAI,CAAC;YACH,kBAAkB,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,uBAAuB,CAChF,MAAM,EACN,OAAO,CAAC,UAAU,CAAC,QAAQ,EAC3B,OAAO,CAAC,UAAU,CAAC,gBAAgB,CACpC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sEAAsE;YACtE,8DAA8D;YAC9D,OAAO,CAAC,IAAI,CAAC,mEAAmE,OAAO,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE,KAAK,CAAC,CAAC;YACxH,OAAO;QACT,CAAC;QAED,iEAAiE;QACjE,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChE,IAAI,OAAO,GAAG,kBAAkB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YACtE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAmB,CAAC;QACvD,CAAC;QAED,IAAI,OAAO,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAG,OAAO,CAAC,+BAA+B,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACnF,MAAM,eAAe,GAAG,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9G,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,8BAA8B,CAAC;YACxF,MAAM;YACN,QAAQ,EAAO,OAAO,CAAC,UAAU,CAAC,QAAQ;YAC1C,YAAY,EAAG,OAAO,CAAC,UAAU,CAAC,YAAY;YAC9C,eAAe;SAChB,CAAC,CAAC;QAEH,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,iFAAiF;QACjF,IAAI,OAAO,CAAC,UAAU,CAAC,gBAAgB,IAAI,YAAY,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;YACpF,MAAM,IAAI,QAAQ,CAChB,YAAY,CAAC,mCAAmC,EAChD,+BAA+B,OAAO,CAAC,UAAU,CAAC,gBAAgB,sBAAsB;gBACxF,4CAA4C,YAAY,CAAC,UAAU,CAAC,gBAAgB,IAAI;gBACxF,qBAAqB,OAAO,CAAC,UAAU,CAAC,YAAY,IAAI,EACxD,EAAE,IAAI,EAAE,EAAE,oBAAoB,EAAE,YAAY,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE,CAC7E,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,MAAc,EAAE,YAA0B;QAC5E,kGAAkG;QAClG,IAAI,YAAY,CAAC,KAAK,KAAK,SAAS,IAAI,YAAY,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YACtE,MAAM,IAAI,QAAQ,CAChB,YAAY,CAAC,kCAAkC,EAC/C,SAAS,YAAY,CAAC,KAAK,+BAA+B,MAAM,kBAAkB,CACnF,CAAC;QACJ,CAAC;QAED,IAAI,iBAAiB,CAAC,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7D,MAAM,iBAAiB,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAC9F,OAAO;QACT,CAAC;QAED,IAAI,YAAY,CAAC,wBAAwB,EAAE,CAAC;YAC1C,MAAM,YAAY,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,YAAY,CAAC,uBAAuB,EAAE,CAAC;YACzC,MAAM,YAAY,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,YAAY,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACrC,oFAAoF;YACpF,4EAA4E;YAC5E,OAAO;QACT,CAAC;aAAM,IAAI,YAAY,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC1C,2EAA2E;YAC3E,OAAO;QACT,CAAC;aAAM,IAAI,YAAY,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,oBAAoB,CAAC,YAAY,CAAC,gBAAiB,CAAC,KAAK,SAAS,EAAE,CAAC;YAC3H,MAAM,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC,YAAY,CAAC,gBAAiB,CAAE,CAAC;YACxF,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;YACpG,MAAM,yBAAyB,CAAC,cAAc,CAAC;gBAC7C,mBAAmB,EAAK,YAAY,CAAC,OAAO;gBAC5C,eAAe,EAAS,MAAM;gBAC9B,eAAe,EAAS,YAAY,CAAC,MAAM;gBAC3C,eAAe;gBACf,qBAAqB,EAAG,IAAI,CAAC,IAAI,CAAC,qBAAqB;aACxD,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,qBAAqB,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACpG,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"records-write.js","sourceRoot":"","sources":["../../../../src/handlers/records-write.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  export { replicationApplyResultFromReply } from './core/replication-apply.js';
2
2
  export { StoreValidationStateReader } from './core/validation-state-reader.js';
3
3
  export { RecordingValidationStateReader } from './core/recording-validation-state-reader.js';
4
- export { ProtocolRecordLimitStrategy } from './types/protocols-types.js';
5
4
  export { authenticate } from './core/auth.js';
6
5
  export { CoreProtocolRegistry } from './core/core-protocol.js';
7
6
  export { EncryptionControl } from './core/encryption-control.js';
@@ -18,6 +17,7 @@ export { DwnConstant } from './core/dwn-constant.js';
18
17
  export { DwnError, DwnErrorCode } from './core/dwn-error.js';
19
18
  export { DwnInterfaceName, DwnMethodName } from './enums/dwn-interface-method.js';
20
19
  export { Encoder } from './utils/encoder.js';
20
+ export { assertValidSubtreeFilters, isSubtreeFilter } from './utils/filter.js';
21
21
  export { MessagesSubscribe } from './interfaces/messages-subscribe.js';
22
22
  export { Encryption, ContentEncryptionAlgorithm, KeyAgreementAlgorithm, ROLE_AUDIENCE_DERIVATION_SCHEME, SEAL_DERIVATION_SCHEME } from './utils/encryption.js';
23
23
  export { RecordsWrite } from './interfaces/records-write.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}