@enbox/dwn-sdk-js 0.4.17 → 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 (77) 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 +349 -198
  4. package/dist/esm/generated/precompiled-validators.js.map +1 -1
  5. package/dist/esm/src/handlers/records-collection.js +200 -0
  6. package/dist/esm/src/handlers/records-collection.js.map +1 -0
  7. package/dist/esm/src/handlers/records-count.js +19 -196
  8. package/dist/esm/src/handlers/records-count.js.map +1 -1
  9. package/dist/esm/src/handlers/records-query.js +19 -376
  10. package/dist/esm/src/handlers/records-query.js.map +1 -1
  11. package/dist/esm/src/handlers/records-subscribe.js +21 -341
  12. package/dist/esm/src/handlers/records-subscribe.js.map +1 -1
  13. package/dist/esm/src/interfaces/records-count.js +1 -1
  14. package/dist/esm/src/interfaces/records-count.js.map +1 -1
  15. package/dist/esm/src/interfaces/records-query.js +1 -1
  16. package/dist/esm/src/interfaces/records-query.js.map +1 -1
  17. package/dist/esm/src/interfaces/records-subscribe.js +3 -1
  18. package/dist/esm/src/interfaces/records-subscribe.js.map +1 -1
  19. package/dist/esm/src/store/index-level.js +84 -32
  20. package/dist/esm/src/store/index-level.js.map +1 -1
  21. package/dist/esm/src/store/message-store-level.js +45 -11
  22. package/dist/esm/src/store/message-store-level.js.map +1 -1
  23. package/dist/esm/src/utils/record-limit-occupancy.js +5 -2
  24. package/dist/esm/src/utils/record-limit-occupancy.js.map +1 -1
  25. package/dist/esm/src/utils/records.js +14 -47
  26. package/dist/esm/src/utils/records.js.map +1 -1
  27. package/dist/esm/tests/features/records-nested-query-scope.spec.js +15 -1
  28. package/dist/esm/tests/features/records-nested-query-scope.spec.js.map +1 -1
  29. package/dist/esm/tests/features/records-record-limit.spec.js +116 -0
  30. package/dist/esm/tests/features/records-record-limit.spec.js.map +1 -1
  31. package/dist/esm/tests/handlers/records-count.spec.js +52 -1
  32. package/dist/esm/tests/handlers/records-count.spec.js.map +1 -1
  33. package/dist/esm/tests/handlers/records-subscribe.spec.js +76 -1
  34. package/dist/esm/tests/handlers/records-subscribe.spec.js.map +1 -1
  35. package/dist/esm/tests/store/index-level.spec.js +95 -1
  36. package/dist/esm/tests/store/index-level.spec.js.map +1 -1
  37. package/dist/esm/tests/store/message-store-level.spec.js +70 -1
  38. package/dist/esm/tests/store/message-store-level.spec.js.map +1 -1
  39. package/dist/types/generated/precompiled-validators.d.ts.map +1 -1
  40. package/dist/types/src/handlers/records-collection.d.ts +32 -0
  41. package/dist/types/src/handlers/records-collection.d.ts.map +1 -0
  42. package/dist/types/src/handlers/records-count.d.ts +0 -35
  43. package/dist/types/src/handlers/records-count.d.ts.map +1 -1
  44. package/dist/types/src/handlers/records-query.d.ts +0 -61
  45. package/dist/types/src/handlers/records-query.d.ts.map +1 -1
  46. package/dist/types/src/handlers/records-subscribe.d.ts +1 -37
  47. package/dist/types/src/handlers/records-subscribe.d.ts.map +1 -1
  48. package/dist/types/src/interfaces/records-subscribe.d.ts.map +1 -1
  49. package/dist/types/src/store/index-level.d.ts +27 -3
  50. package/dist/types/src/store/index-level.d.ts.map +1 -1
  51. package/dist/types/src/store/message-store-level.d.ts +1 -0
  52. package/dist/types/src/store/message-store-level.d.ts.map +1 -1
  53. package/dist/types/src/types/message-store.d.ts +6 -1
  54. package/dist/types/src/types/message-store.d.ts.map +1 -1
  55. package/dist/types/src/types/records-types.d.ts +1 -1
  56. package/dist/types/src/types/records-types.d.ts.map +1 -1
  57. package/dist/types/src/utils/record-limit-occupancy.d.ts.map +1 -1
  58. package/dist/types/src/utils/records.d.ts +6 -25
  59. package/dist/types/src/utils/records.d.ts.map +1 -1
  60. package/dist/types/tests/features/records-nested-query-scope.spec.d.ts.map +1 -1
  61. package/dist/types/tests/features/records-record-limit.spec.d.ts.map +1 -1
  62. package/dist/types/tests/handlers/records-count.spec.d.ts.map +1 -1
  63. package/dist/types/tests/handlers/records-subscribe.spec.d.ts.map +1 -1
  64. package/package.json +1 -1
  65. package/src/handlers/records-collection.ts +269 -0
  66. package/src/handlers/records-count.ts +21 -236
  67. package/src/handlers/records-query.ts +22 -447
  68. package/src/handlers/records-subscribe.ts +26 -404
  69. package/src/interfaces/records-count.ts +1 -1
  70. package/src/interfaces/records-query.ts +1 -1
  71. package/src/interfaces/records-subscribe.ts +5 -2
  72. package/src/store/index-level.ts +145 -37
  73. package/src/store/message-store-level.ts +46 -11
  74. package/src/types/message-store.ts +6 -1
  75. package/src/types/records-types.ts +1 -1
  76. package/src/utils/record-limit-occupancy.ts +5 -2
  77. package/src/utils/records.ts +17 -52
@@ -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, resolveRecordLimitOccupancy, } 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,288 +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 recordLimit = await resolveRecordLimitOccupancy({
490
- validationStateReader: this.deps.validationStateReader,
491
- tenant,
492
- recordsFilter: recordsSubscribe.message.descriptor.filter,
493
- messageTimestamp: recordsSubscribe.message.descriptor.messageTimestamp,
494
- });
495
- const controlFilters = Records.buildControlRecordsFilters(filters);
496
- const currentAudienceRecordIdCache = new Map();
497
- if (controlFilters.length === 0) {
498
- const result = await queryRecordsWithRecordLimitOccupancy({
499
- messageStore: this.deps.messageStore,
500
- tenant,
501
- filters,
502
- recordLimit,
503
- messageSort,
504
- pagination,
505
- });
506
- return EncryptionControl.projectCurrentAudienceRecordPage({
507
- messageStore: this.deps.messageStore,
508
- tenant,
509
- filters,
510
- currentAudienceRecordIdCache,
511
- result,
512
- });
513
- }
514
- if (pagination?.limit === undefined || pagination.limit <= 0) {
515
- const result = await queryRecordsWithRecordLimitOccupancy({
516
- messageStore: this.deps.messageStore,
517
- tenant,
518
- filters,
519
- recordLimit,
520
- messageSort,
521
- pagination,
522
- });
523
- const projectedResult = await EncryptionControl.projectCurrentAudienceRecordPage({
524
- messageStore: this.deps.messageStore,
525
- tenant,
526
- filters,
527
- currentAudienceRecordIdCache,
528
- result,
529
- });
530
- return {
531
- messages: await this.filterControlRecordsForNonOwner(tenant, recordsSubscribe, requester, projectedResult.messages),
532
- cursor: projectedResult.cursor,
533
- };
534
- }
535
- const visibleMessages = [];
536
- let cursor = pagination.cursor;
537
- let nextCursor;
538
- // Keeps visible-page pagination stable until #1100 moves control visibility into indexed store filters.
539
- do {
540
- const remainingLimit = pagination.limit - visibleMessages.length;
541
- const result = await queryRecordsWithRecordLimitOccupancy({
542
- messageStore: this.deps.messageStore,
543
- tenant,
544
- filters,
545
- recordLimit,
546
- messageSort,
547
- pagination: { ...pagination, cursor, limit: remainingLimit },
548
- });
549
- const projectedResult = await EncryptionControl.projectCurrentAudienceRecordPage({
550
- messageStore: this.deps.messageStore,
551
- tenant,
552
- filters,
553
- currentAudienceRecordIdCache,
554
- result,
555
- });
556
- const filteredMessages = await this.filterControlRecordsForNonOwner(tenant, recordsSubscribe, requester, projectedResult.messages);
557
- visibleMessages.push(...filteredMessages);
558
- nextCursor = projectedResult.cursor;
559
- cursor = projectedResult.cursor;
560
- } while (visibleMessages.length < pagination.limit && cursor !== undefined);
561
- return { messages: visibleMessages, cursor: nextCursor };
562
- }
563
243
  }
564
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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"}
@@ -18,7 +18,7 @@ export class RecordsCount extends AbstractMessage {
18
18
  signaturePayload = await Message.validateSignatureStructure(message.authorization.signature, message.descriptor);
19
19
  }
20
20
  await Records.validateDelegatedGrantReferentialIntegrity(message, signaturePayload);
21
- Records.validateNestedProtocolPathQueryScope(message.descriptor.filter, DwnErrorCode.RecordsCountNestedProtocolPathContextIdInvalid, 'RecordsCount');
21
+ Records.validateNestedProtocolPathScope(message.descriptor.filter, DwnErrorCode.RecordsCountNestedProtocolPathContextIdInvalid, 'RecordsCount');
22
22
  if (signaturePayload?.protocolRole !== undefined) {
23
23
  if (message.descriptor.filter.protocolPath === undefined) {
24
24
  throw new DwnError(DwnErrorCode.RecordsCountFilterMissingRequiredProperties, 'Role-authorized counts must include `protocolPath` in the filter');
@@ -1 +1 @@
1
- {"version":3,"file":"records-count.js","sourceRoot":"","sources":["../../../../src/interfaces/records-count.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"records-count.js","sourceRoot":"","sources":["../../../../src/interfaces/records-count.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ export class RecordsQuery extends AbstractMessage {
24
24
  signaturePayload = await Message.validateSignatureStructure(message.authorization.signature, message.descriptor);
25
25
  }
26
26
  await Records.validateDelegatedGrantReferentialIntegrity(message, signaturePayload);
27
- Records.validateNestedProtocolPathQueryScope(message.descriptor.filter, DwnErrorCode.RecordsQueryNestedProtocolPathContextIdInvalid, 'RecordsQuery');
27
+ Records.validateNestedProtocolPathScope(message.descriptor.filter, DwnErrorCode.RecordsQueryNestedProtocolPathContextIdInvalid, 'RecordsQuery');
28
28
  if (signaturePayload?.protocolRole !== undefined) {
29
29
  if (message.descriptor.filter.protocolPath === undefined) {
30
30
  throw new DwnError(DwnErrorCode.RecordsQueryFilterMissingRequiredProperties, 'Role-authorized queries must include `protocolPath` in the filter');
@@ -1 +1 @@
1
- {"version":3,"file":"records-query.js","sourceRoot":"","sources":["../../../../src/interfaces/records-query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"records-query.js","sourceRoot":"","sources":["../../../../src/interfaces/records-query.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,9 @@ export class RecordsSubscribe extends AbstractMessage {
18
18
  signaturePayload = await Message.validateSignatureStructure(message.authorization.signature, message.descriptor);
19
19
  }
20
20
  await Records.validateDelegatedGrantReferentialIntegrity(message, signaturePayload);
21
- Records.validateNestedProtocolPathQueryScope(message.descriptor.filter, DwnErrorCode.RecordsSubscribeNestedProtocolPathContextIdInvalid, 'RecordsSubscribe');
21
+ Records.validateNestedProtocolPathScope(message.descriptor.filter, DwnErrorCode.RecordsSubscribeNestedProtocolPathContextIdInvalid, 'RecordsSubscribe', message.descriptor.cursor === undefined
22
+ && message.descriptor.pagination?.limit !== undefined
23
+ && !signaturePayload?.protocolRole?.includes('/'));
22
24
  if (signaturePayload?.protocolRole !== undefined) {
23
25
  if (message.descriptor.filter.protocolPath === undefined) {
24
26
  throw new DwnError(DwnErrorCode.RecordsSubscribeFilterMissingRequiredProperties, 'Role-authorized subscriptions must include `protocolPath` in the filter');
@@ -1 +1 @@
1
- {"version":3,"file":"records-subscribe.js","sourceRoot":"","sources":["../../../../src/interfaces/records-subscribe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"records-subscribe.js","sourceRoot":"","sources":["../../../../src/interfaces/records-subscribe.ts"],"names":[],"mappings":"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"}