@enbox/dwn-sdk-js 0.4.14 → 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 (85) hide show
  1. package/dist/browser.mjs +1 -1
  2. package/dist/browser.mjs.map +4 -4
  3. package/dist/esm/src/core/constants.js +2 -0
  4. package/dist/esm/src/core/constants.js.map +1 -1
  5. package/dist/esm/src/core/dwn-error.js +2 -0
  6. package/dist/esm/src/core/dwn-error.js.map +1 -1
  7. package/dist/esm/src/core/protocol-authorization-validation.js +9 -0
  8. package/dist/esm/src/core/protocol-authorization-validation.js.map +1 -1
  9. package/dist/esm/src/handlers/messages-query.js +2 -29
  10. package/dist/esm/src/handlers/messages-query.js.map +1 -1
  11. package/dist/esm/src/handlers/messages-subscribe.js +52 -1
  12. package/dist/esm/src/handlers/messages-subscribe.js.map +1 -1
  13. package/dist/esm/src/handlers/protocols-configure.js +157 -7
  14. package/dist/esm/src/handlers/protocols-configure.js.map +1 -1
  15. package/dist/esm/src/index.js +2 -2
  16. package/dist/esm/src/index.js.map +1 -1
  17. package/dist/esm/src/protocols/encryption.js +41 -10
  18. package/dist/esm/src/protocols/encryption.js.map +1 -1
  19. package/dist/esm/src/store/message-store-level.js +4 -2
  20. package/dist/esm/src/store/message-store-level.js.map +1 -1
  21. package/dist/esm/src/types/protocols-types.js.map +1 -1
  22. package/dist/esm/src/utils/messages.js +36 -0
  23. package/dist/esm/src/utils/messages.js.map +1 -1
  24. package/dist/esm/src/utils/replication.js +14 -0
  25. package/dist/esm/src/utils/replication.js.map +1 -1
  26. package/dist/esm/tests/features/protocol-composition.spec.js +5 -1
  27. package/dist/esm/tests/features/protocol-composition.spec.js.map +1 -1
  28. package/dist/esm/tests/handlers/messages-query.spec.js +7 -15
  29. package/dist/esm/tests/handlers/messages-query.spec.js.map +1 -1
  30. package/dist/esm/tests/handlers/messages-subscribe.spec.js +129 -1
  31. package/dist/esm/tests/handlers/messages-subscribe.spec.js.map +1 -1
  32. package/dist/esm/tests/handlers/protocols-configure.spec.js +244 -1
  33. package/dist/esm/tests/handlers/protocols-configure.spec.js.map +1 -1
  34. package/dist/esm/tests/handlers/records-read.spec.js +2 -1
  35. package/dist/esm/tests/handlers/records-read.spec.js.map +1 -1
  36. package/dist/esm/tests/handlers/records-write.spec.js +24 -1
  37. package/dist/esm/tests/handlers/records-write.spec.js.map +1 -1
  38. package/dist/esm/tests/protocols/encryption.spec.js +3 -1
  39. package/dist/esm/tests/protocols/encryption.spec.js.map +1 -1
  40. package/dist/esm/tests/store/message-store-level.spec.js +21 -0
  41. package/dist/esm/tests/store/message-store-level.spec.js.map +1 -1
  42. package/dist/types/src/core/constants.d.ts +2 -0
  43. package/dist/types/src/core/constants.d.ts.map +1 -1
  44. package/dist/types/src/core/dwn-error.d.ts +2 -0
  45. package/dist/types/src/core/dwn-error.d.ts.map +1 -1
  46. package/dist/types/src/core/protocol-authorization-validation.d.ts.map +1 -1
  47. package/dist/types/src/handlers/messages-query.d.ts +0 -2
  48. package/dist/types/src/handlers/messages-query.d.ts.map +1 -1
  49. package/dist/types/src/handlers/messages-subscribe.d.ts +16 -0
  50. package/dist/types/src/handlers/messages-subscribe.d.ts.map +1 -1
  51. package/dist/types/src/handlers/protocols-configure.d.ts +17 -0
  52. package/dist/types/src/handlers/protocols-configure.d.ts.map +1 -1
  53. package/dist/types/src/index.d.ts +2 -2
  54. package/dist/types/src/index.d.ts.map +1 -1
  55. package/dist/types/src/protocols/encryption.d.ts +3 -1
  56. package/dist/types/src/protocols/encryption.d.ts.map +1 -1
  57. package/dist/types/src/store/message-store-level.d.ts.map +1 -1
  58. package/dist/types/src/types/messages-types.d.ts +14 -0
  59. package/dist/types/src/types/messages-types.d.ts.map +1 -1
  60. package/dist/types/src/types/protocols-types.d.ts +2 -1
  61. package/dist/types/src/types/protocols-types.d.ts.map +1 -1
  62. package/dist/types/src/utils/messages.d.ts +8 -0
  63. package/dist/types/src/utils/messages.d.ts.map +1 -1
  64. package/dist/types/src/utils/replication.d.ts +8 -1
  65. package/dist/types/src/utils/replication.d.ts.map +1 -1
  66. package/dist/types/tests/features/protocol-composition.spec.d.ts.map +1 -1
  67. package/dist/types/tests/handlers/messages-query.spec.d.ts.map +1 -1
  68. package/dist/types/tests/handlers/messages-subscribe.spec.d.ts.map +1 -1
  69. package/dist/types/tests/handlers/protocols-configure.spec.d.ts.map +1 -1
  70. package/dist/types/tests/handlers/records-read.spec.d.ts.map +1 -1
  71. package/dist/types/tests/handlers/records-write.spec.d.ts.map +1 -1
  72. package/package.json +1 -1
  73. package/src/core/constants.ts +2 -0
  74. package/src/core/dwn-error.ts +2 -0
  75. package/src/core/protocol-authorization-validation.ts +14 -0
  76. package/src/handlers/messages-query.ts +3 -41
  77. package/src/handlers/messages-subscribe.ts +67 -3
  78. package/src/handlers/protocols-configure.ts +236 -7
  79. package/src/index.ts +3 -0
  80. package/src/protocols/encryption.ts +54 -11
  81. package/src/store/message-store-level.ts +4 -2
  82. package/src/types/messages-types.ts +14 -0
  83. package/src/types/protocols-types.ts +2 -1
  84. package/src/utils/messages.ts +45 -0
  85. package/src/utils/replication.ts +19 -1
@@ -16,6 +16,8 @@ export const PERMISSIONS_PROTOCOL_URI = 'https://identity.foundation/dwn/permiss
16
16
  * The DWN Encryption protocol URI.
17
17
  */
18
18
  export const ENCRYPTION_PROTOCOL_URI = 'https://identity.foundation/dwn/protocols/encryption';
19
+ export const ENCRYPTION_PROTOCOL_GRANT_KEY_PATH = 'grantKey';
20
+ export const ENCRYPTION_PROTOCOL_WRAPPED_GRANT_KEY_PATH = 'wrappedGrantKey';
19
21
  /**
20
22
  * Reserved virtual protocol path root for source-protocol-native encryption
21
23
  * control records.
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/core/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,kBAAkB,CAAC;AAE9D;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,6CAA6C,CAAC;AAEtF;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,sDAAsD,CAAC;AAE9F;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,aAAa,CAAC;AAE1D;;GAEG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,4BAA4B,WAAW,CAAC;AAE3F;;GAEG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,4BAA4B,WAAW,CAAC;AAE3F;;GAEG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAG,uEAAuE,CAAC;AAE9H;;GAEG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAG,uEAAuE,CAAC;AAE9H;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,gCAAgC;IAChC,gCAAgC;CACxB,CAAC;AAIX;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,YAAgC;IACtE,OAAO,YAAY,KAAK,SAAS;QAC9B,wBAA8C,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAC3E,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/core/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,kBAAkB,CAAC;AAE9D;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,6CAA6C,CAAC;AAEtF;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,sDAAsD,CAAC;AAC9F,MAAM,CAAC,MAAM,kCAAkC,GAAG,UAAU,CAAC;AAC7D,MAAM,CAAC,MAAM,0CAA0C,GAAG,iBAAiB,CAAC;AAE5E;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,aAAa,CAAC;AAE1D;;GAEG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,4BAA4B,WAAW,CAAC;AAE3F;;GAEG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,4BAA4B,WAAW,CAAC;AAE3F;;GAEG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAG,uEAAuE,CAAC;AAE9H;;GAEG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAG,uEAAuE,CAAC;AAE9H;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,gCAAgC;IAChC,gCAAgC;CACxB,CAAC;AAIX;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,YAAgC;IACtE,OAAO,YAAY,KAAK,SAAS;QAC9B,wBAA8C,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAC3E,CAAC"}
@@ -139,6 +139,7 @@ export var DwnErrorCode;
139
139
  DwnErrorCode["ProtocolAuthorizationIncorrectProtocolPath"] = "ProtocolAuthorizationIncorrectProtocolPath";
140
140
  DwnErrorCode["ProtocolAuthorizationInitialWriteRevalidationNotInitial"] = "ProtocolAuthorizationInitialWriteRevalidationNotInitial";
141
141
  DwnErrorCode["ProtocolAuthorizationDuplicateRoleRecipient"] = "ProtocolAuthorizationDuplicateRoleRecipient";
142
+ DwnErrorCode["ProtocolAuthorizationEncryptionNotAllowed"] = "ProtocolAuthorizationEncryptionNotAllowed";
142
143
  DwnErrorCode["ProtocolAuthorizationEncryptionRequired"] = "ProtocolAuthorizationEncryptionRequired";
143
144
  DwnErrorCode["ProtocolAuthorizationEncryptionKeyAgreementMissing"] = "ProtocolAuthorizationEncryptionKeyAgreementMissing";
144
145
  DwnErrorCode["ProtocolAuthorizationEncryptionProtocolPathEntryMissing"] = "ProtocolAuthorizationEncryptionProtocolPathEntryMissing";
@@ -190,6 +191,7 @@ export var DwnErrorCode;
190
191
  DwnErrorCode["ProtocolsConfigureInvalidEncryptedRoleMissingKeyAgreement"] = "ProtocolsConfigureInvalidEncryptedRoleMissingKeyAgreement";
191
192
  DwnErrorCode["ProtocolsConfigureMissingEncryptedPathKeyAgreement"] = "ProtocolsConfigureMissingEncryptedPathKeyAgreement";
192
193
  DwnErrorCode["ProtocolsConfigureMissingTopLevelKeyAgreement"] = "ProtocolsConfigureMissingTopLevelKeyAgreement";
194
+ DwnErrorCode["ProtocolsConfigureEncryptionPolicyImmutable"] = "ProtocolsConfigureEncryptionPolicyImmutable";
193
195
  DwnErrorCode["ProtocolsConfigureInvalidRecipientOfAction"] = "ProtocolsConfigureInvalidRecipientOfAction";
194
196
  DwnErrorCode["ProtocolsConfigureInvalidRuleSetRecordType"] = "ProtocolsConfigureInvalidRuleSetRecordType";
195
197
  DwnErrorCode["ProtocolsConfigureInvalidTagSchema"] = "ProtocolsConfigureInvalidTagSchema";
@@ -1 +1 @@
1
- {"version":3,"file":"dwn-error.js","sourceRoot":"","sources":["../../../../src/core/dwn-error.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dwn-error.js","sourceRoot":"","sources":["../../../../src/core/dwn-error.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { Records } from '../utils/records.js';
3
3
  import { validateProtocolTags } from '../utils/protocol-tags.js';
4
4
  import { DwnError, DwnErrorCode } from './dwn-error.js';
5
5
  import { Encryption, ROLE_AUDIENCE_DERIVATION_SCHEME } from '../utils/encryption.js';
6
+ import { ENCRYPTION_PROTOCOL_GRANT_KEY_PATH, ENCRYPTION_PROTOCOL_URI } from './constants.js';
6
7
  import { getRoleAudienceContextId, getRuleSetAtPath, getTypeName, parseCrossProtocolRef } from '../utils/protocols.js';
7
8
  import { ProtocolAction, ProtocolRecordLimitStrategy } from '../types/protocols-types.js';
8
9
  /**
@@ -163,6 +164,9 @@ export function verifyType(inboundMessage, protocolTypes, typeName) {
163
164
  if (protocolType.encryptionRequired === true && inboundMessage.encryption === undefined) {
164
165
  throw new DwnError(DwnErrorCode.ProtocolAuthorizationEncryptionRequired, `type '${declaredTypeName}' requires encryption but message has no encryption metadata`);
165
166
  }
167
+ if (protocolType.encryptionRequired !== true && inboundMessage.encryption !== undefined) {
168
+ throw new DwnError(DwnErrorCode.ProtocolAuthorizationEncryptionNotAllowed, `type '${declaredTypeName}' requires plaintext but message has encryption metadata`);
169
+ }
166
170
  return protocolType;
167
171
  }
168
172
  async function verifyProtocolPathEncryptionIfNeeded(tenant, inboundMessage, protocolDefinition, protocolType, validationStateReader) {
@@ -171,6 +175,11 @@ async function verifyProtocolPathEncryptionIfNeeded(tenant, inboundMessage, prot
171
175
  }
172
176
  const ruleSet = getRuleSetAtPath(inboundMessage.descriptor.protocolPath, protocolDefinition.structure);
173
177
  if (ruleSet?.$keyAgreement?.publicKeyJwk === undefined) {
178
+ const usesDynamicCoreRecipientKey = protocolDefinition.protocol === ENCRYPTION_PROTOCOL_URI &&
179
+ inboundMessage.descriptor.protocolPath === ENCRYPTION_PROTOCOL_GRANT_KEY_PATH;
180
+ if (usesDynamicCoreRecipientKey) {
181
+ return;
182
+ }
174
183
  throw new DwnError(DwnErrorCode.ProtocolAuthorizationEncryptionKeyAgreementMissing, `encrypted protocol path '${inboundMessage.descriptor.protocolPath}' has no $keyAgreement`);
175
184
  }
176
185
  const publicKeyJwk = ruleSet.$keyAgreement.publicKeyJwk;
@@ -1 +1 @@
1
- {"version":3,"file":"protocol-authorization-validation.js","sourceRoot":"","sources":["../../../../src/core/protocol-authorization-validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol-authorization-validation.js","sourceRoot":"","sources":["../../../../src/core/protocol-authorization-validation.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ export class MessagesQueryHandler {
26
26
  catch (e) {
27
27
  return messageReplyFromError(e, 401);
28
28
  }
29
- const replicationFeedReader = MessagesQueryHandler.asReplicationFeedReader(this.deps.messageStore);
29
+ const replicationFeedReader = Replication.asFeedReader(this.deps.messageStore);
30
30
  if (replicationFeedReader === undefined) {
31
31
  return {
32
32
  status: {
@@ -48,7 +48,7 @@ export class MessagesQueryHandler {
48
48
  cursor: result.cursor,
49
49
  drained: result.drained,
50
50
  };
51
- const fingerprintScopes = MessagesQueryHandler.computeFingerprintScopes(message.descriptor.filters);
51
+ const fingerprintScopes = Messages.computeFingerprintScopes(message.descriptor.filters);
52
52
  if (fingerprintScopes !== undefined) {
53
53
  reply.fingerprint = await replicationFeedReader.fingerprint(tenant, fingerprintScopes);
54
54
  }
@@ -73,15 +73,6 @@ export class MessagesQueryHandler {
73
73
  failureCode: DwnErrorCode.MessagesQueryAuthorizationFailed,
74
74
  });
75
75
  }
76
- static asReplicationFeedReader(candidate) {
77
- const partial = candidate;
78
- if (typeof partial.logRead === 'function' &&
79
- typeof partial.logBounds === 'function' &&
80
- typeof partial.fingerprint === 'function' &&
81
- typeof partial.epoch === 'function') {
82
- return partial;
83
- }
84
- }
85
76
  static convertFilters(filters, deps) {
86
77
  if (filters.length === 0) {
87
78
  return undefined;
@@ -121,24 +112,6 @@ export class MessagesQueryHandler {
121
112
  static isLatestBaseState(indexes) {
122
113
  return indexes.isLatestBaseState === true || indexes.isLatestBaseState === 'true';
123
114
  }
124
- static computeFingerprintScopes(filters) {
125
- if (filters.length === 0) {
126
- return [Replication.globalDomain];
127
- }
128
- const protocols = new Set();
129
- for (const filter of filters) {
130
- const keys = Object.keys(filter);
131
- if (keys.length !== 1 || typeof filter.protocol !== 'string') {
132
- return undefined;
133
- }
134
- protocols.add(filter.protocol);
135
- }
136
- const scopes = [];
137
- for (const protocol of protocols) {
138
- scopes.push(Replication.protocolDomain(protocol), ...Replication.taggedCoreProtocolDomains(protocol, protocols));
139
- }
140
- return scopes;
141
- }
142
115
  static getProgressGapInfo(error) {
143
116
  const gapInfo = error.gapInfo;
144
117
  return gapInfo;
@@ -1 +1 @@
1
- {"version":3,"file":"messages-query.js","sourceRoot":"","sources":["../../../../src/handlers/messages-query.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE9D,MAAM,OAAO,oBAAoB;IAEF;IAA7B,YAA6B,IAAyB;QAAzB,SAAI,GAAJ,IAAI,CAAqB;IAAI,CAAC;IAEpD,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAqD;QACxF,IAAI,aAA4B,CAAC;QACjC,IAAI,CAAC;YACH,aAAa,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,qBAAqB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACjE,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,qBAAqB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnG,IAAI,qBAAqB,KAAK,SAAS,EAAE,CAAC;YACxC,OAAO;gBACL,MAAM,EAAE;oBACN,IAAI,EAAK,GAAG;oBACZ,MAAM,EAAG,GAAG,YAAY,CAAC,yCAAyC,oDAAoD;iBACvH;aACF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,oBAAoB,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3F,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,MAAM,EAAE;gBACzD,MAAM,EAAG,OAAO,CAAC,UAAU,CAAC,MAAM;gBAClC,OAAO;gBACP,KAAK,EAAI,OAAO,CAAC,UAAU,CAAC,KAAK;aAClC,CAAC,CAAC;YAEH,MAAM,KAAK,GAAuB;gBAChC,MAAM,EAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;gBACrC,OAAO,EAAG,MAAM,oBAAoB,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ,IAAI,KAAK,CAAC;gBACtG,MAAM,EAAI,MAAM,CAAC,MAAM;gBACvB,OAAO,EAAG,MAAM,CAAC,OAAO;aACzB,CAAC;YAEF,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,wBAAwB,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACpG,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;gBACpC,KAAK,CAAC,WAAW,GAAG,MAAM,qBAAqB,CAAC,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;YACzF,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,mBAAmB,EAAE,CAAC;gBACzE,MAAM,OAAO,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;gBAC3D,OAAO;oBACL,MAAM,EAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,oBAAoB,EAAE;oBACpD,KAAK,EAAI,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE;iBACjF,CAAC;YACJ,CAAC;YAED,OAAO,qBAAqB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAClC,MAAc,EACd,aAA4B;QAE5B,MAAM,0BAA0B,CAAC,mCAAmC,CAAC;YACnE,MAAM,EAAkB,MAAM;YAC9B,eAAe,EAAS,aAAa,CAAC,OAAO;YAC7C,qBAAqB,EAAG,IAAI,CAAC,IAAI,CAAC,qBAAqB;YACvD,WAAW,EAAa,YAAY,CAAC,gCAAgC;SACtE,CAAC,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,uBAAuB,CAAC,SAAkB;QACvD,MAAM,OAAO,GAAG,SAA2C,CAAC;QAC5D,IACE,OAAO,OAAO,CAAC,OAAO,KAAK,UAAU;YACrC,OAAO,OAAO,CAAC,SAAS,KAAK,UAAU;YACvC,OAAO,OAAO,CAAC,WAAW,KAAK,UAAU;YACzC,OAAO,OAAO,CAAC,KAAK,KAAK,UAAU,EACnC,CAAC;YACD,OAAO,OAAgC,CAAC;QAC1C,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,OAAyB,EAAE,IAAyB;QAChF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9D,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,YAAY,CAC/B,MAAuB,EACvB,QAAiB;QAEjB,MAAM,OAAO,GAA8B,EAAE,CAAC;QAE9C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,MAAM,oBAAoB,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QACvE,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,UAAU,CAC7B,KAAoB,EACpB,QAAiB;QAEjB,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjF,MAAM,QAAQ,GAAG,oBAAoB,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAChF,MAAM,KAAK,GAA4B;YACrC,GAAG,EAAiB,KAAK,CAAC,GAAG;YAC7B,UAAU;YACV,iBAAiB,EAAG,oBAAoB,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC;YACzE,QAAQ;SACT,CAAC;QAEF,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjF,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACxB,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QAClC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,OAAkB,EAAE,GAAW;QAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAAC,OAAkB;QACjD,OAAO,OAAO,CAAC,iBAAiB,KAAK,IAAI,IAAI,OAAO,CAAC,iBAAiB,KAAK,MAAM,CAAC;IACpF,CAAC;IAEO,MAAM,CAAC,wBAAwB,CAAC,OAAyB;QAC/D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QACpC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC7D,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CACT,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,EACpC,GAAG,WAAW,CAAC,yBAAyB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAC9D,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,MAAM,CAAC,kBAAkB,CAAC,KAAe;QAC/C,MAAM,OAAO,GAAI,KAAkD,CAAC,OAAO,CAAC;QAC5E,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
1
+ {"version":3,"file":"messages-query.js","sourceRoot":"","sources":["../../../../src/handlers/messages-query.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { messageReplyFromError } from '../core/message-reply.js';
4
4
  import { Messages } from '../utils/messages.js';
5
5
  import { MessagesGrantAuthorization } from '../core/messages-grant-authorization.js';
6
6
  import { MessagesSubscribe } from '../interfaces/messages-subscribe.js';
7
+ import { Replication } from '../utils/replication.js';
7
8
  import { Time } from '../utils/time.js';
8
9
  import { DwnError, DwnErrorCode } from '../core/dwn-error.js';
9
10
  export class MessagesSubscribeHandler {
@@ -45,10 +46,20 @@ export class MessagesSubscribeHandler {
45
46
  filters: messagesFilters,
46
47
  });
47
48
  await guardedHandler.setSubscription(subscription);
48
- return {
49
+ const reply = {
49
50
  status: { code: 200, detail: 'OK' },
50
51
  subscription,
51
52
  };
53
+ try {
54
+ await MessagesSubscribeHandler.attachFeedSnapshot(reply, tenant, filters, this.deps);
55
+ }
56
+ catch {
57
+ // Best-effort enrichment: the subscription is live and correct
58
+ // without the snapshot — consumers feature-detect the fields. A
59
+ // failure reply here would orphan the just-installed listener, since
60
+ // close handles are registered only from successful replies.
61
+ }
62
+ return reply;
52
63
  }
53
64
  catch (error) {
54
65
  if (error instanceof DwnError && error.code === DwnErrorCode.EventLogProgressGap) {
@@ -61,6 +72,46 @@ export class MessagesSubscribeHandler {
61
72
  return messageReplyFromError(error, 500);
62
73
  }
63
74
  }
75
+ /**
76
+ * Attaches the replication feed's `head` token and scope `fingerprint` to a
77
+ * successful subscribe reply, when the message store exposes the feed.
78
+ *
79
+ * Ordering is load-bearing: both values are observed AFTER the subscription
80
+ * became active, so every event past `head` is either replayable from it or
81
+ * already flowing on the live stream — a caller that verifies `fingerprint`
82
+ * against its local feed may adopt `head` as a checkpoint without a delivery
83
+ * gap. The head is captured before the fingerprint, mirroring MessagesQuery's
84
+ * cursor-then-fingerprint order: an event landing between the two captures
85
+ * makes the fingerprint read ahead of the head, which a consumer observes as
86
+ * a mismatch (one redundant reconcile), never as a silently skipped event.
87
+ */
88
+ static async attachFeedSnapshot(reply, tenant, filters, deps) {
89
+ const feedReader = Replication.asFeedReader(deps.messageStore);
90
+ if (feedReader === undefined) {
91
+ return;
92
+ }
93
+ // Build the complete snapshot before attaching anything: a partial
94
+ // snapshot (a head without its fingerprint) would read to consumers as
95
+ // a fingerprint-less server rather than as a failed capture.
96
+ const bounds = await feedReader.logBounds(tenant);
97
+ const head = bounds?.latest ?? await MessagesSubscribeHandler.buildAnchorToken(tenant, feedReader);
98
+ const fingerprintScopes = Messages.computeFingerprintScopes(filters);
99
+ const fingerprint = fingerprintScopes === undefined
100
+ ? undefined
101
+ : await feedReader.fingerprint(tenant, fingerprintScopes);
102
+ reply.head = head;
103
+ if (fingerprint !== undefined) {
104
+ reply.fingerprint = fingerprint;
105
+ }
106
+ }
107
+ /** Builds the position-zero anchor token for a tenant log with no events. */
108
+ static async buildAnchorToken(tenant, feedReader) {
109
+ return {
110
+ streamId: await Replication.deriveStreamId(tenant),
111
+ epoch: await feedReader.epoch(),
112
+ position: '0',
113
+ };
114
+ }
64
115
  static async authorizeMessagesSubscribe(tenant, messagesSubscribe, deps) {
65
116
  const grantSet = await MessagesGrantAuthorization.authorizeQueryOrSubscribeInvocation({
66
117
  tenant: tenant,
@@ -1 +1 @@
1
- {"version":3,"file":"messages-subscribe.js","sourceRoot":"","sources":["../../../../src/handlers/messages-subscribe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages-subscribe.js","sourceRoot":"","sources":["../../../../src/handlers/messages-subscribe.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAgB9D,MAAM,OAAO,wBAAwB;IAEN;IAA7B,YAA6B,IAAyB;QAAzB,SAAI,GAAJ,IAAI,CAAqB;IAAG,CAAC;IAEnD,KAAK,CAAC,MAAM,CAAC,EAClB,MAAM,EACN,OAAO,EACP,mBAAmB,EAKpB;QACC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,qBAAqB,CAAC,IAAI,QAAQ,CACvC,YAAY,CAAC,sCAAsC,EACnD,iCAAiC,CAClC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC;QAED,IAAI,iBAAoC,CAAC;QACzC,IAAI,CAAC;YACH,iBAAiB,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,qBAAqB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,aAA6C,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACjE,aAAa,GAAG,MAAM,wBAAwB,CAAC,0BAA0B,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAClH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,qBAAqB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,cAAc,GAAG,wBAAwB,CAAC,wBAAwB,CAAC;YACvE,aAAa;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,iBAAiB;YACjB,mBAAmB;SACpB,CAAC,CAAC;QAEH,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;QAC/D,MAAM,eAAe,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAClF,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEjD,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,cAAc,CAAC,QAAQ,EAAE;gBACnG,MAAM,EAAI,cAAc;gBACxB,OAAO,EAAG,eAAe;aAC1B,CAAC,CAAC;YACH,MAAM,cAAc,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YAEnD,MAAM,KAAK,GAA2B;gBACpC,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;gBACnC,YAAY;aACb,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,wBAAwB,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACvF,CAAC;YAAC,MAAM,CAAC;gBACP,+DAA+D;gBAC/D,gEAAgE;gBAChE,qEAAqE;gBACrE,6DAA6D;YAC/D,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,mBAAmB,EAAE,CAAC;gBACjF,MAAM,OAAO,GAAI,KAAa,CAAC,OAAsC,CAAC;gBACtE,OAAO;oBACL,MAAM,EAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,oBAAoB,EAAE;oBACpD,KAAK,EAAI,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,aAAsB,EAAE,GAAG,OAAO,EAAE;iBAC1F,CAAC;YACJ,CAAC;YACD,OAAO,qBAAqB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,MAAM,CAAC,KAAK,CAAC,kBAAkB,CACrC,KAA6B,EAC7B,MAAc,EACd,OAAyB,EACzB,IAAyB;QAEzB,MAAM,UAAU,GAAG,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,mEAAmE;QACnE,uEAAuE;QACvE,6DAA6D;QAC7D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,EAAE,MAAM,IAAI,MAAM,wBAAwB,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAEnG,MAAM,iBAAiB,GAAG,QAAQ,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACrE,MAAM,WAAW,GAAG,iBAAiB,KAAK,SAAS;YACjD,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,MAAM,UAAU,CAAC,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;QAE5D,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QAClC,CAAC;IACH,CAAC;IAED,6EAA6E;IACrE,MAAM,CAAC,KAAK,CAAC,gBAAgB,CACnC,MAAc,EACd,UAAiC;QAEjC,OAAO;YACL,QAAQ,EAAG,MAAM,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC;YACnD,KAAK,EAAM,MAAM,UAAU,CAAC,KAAK,EAAE;YACnC,QAAQ,EAAG,GAAG;SACf,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAC7C,MAAc,EACd,iBAAoC,EACpC,IAAyB;QAEzB,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,mCAAmC,CAAC;YACpF,MAAM,EAAkB,MAAM;YAC9B,eAAe,EAAS,iBAAiB,CAAC,OAAO;YACjD,qBAAqB,EAAG,IAAI,CAAC,qBAAqB;YAClD,WAAW,EAAa,YAAY,CAAC,oCAAoC;SAC1E,CAAC,CAAC;QACH,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC3B,CAAC;QAED,OAAO;YACL,IAAI,EAAe,UAAU;YAC7B,eAAe,EAAI,MAAM;YACzB,eAAe,EAAI,QAAQ,CAAC,SAAS;YACrC,gBAAgB,EAAG,QAAQ,CAAC,gBAAgB;SAC7C,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,wBAAwB,CAAC,KAKvC;QACC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,GAAG,KAAK,CAAC;QAC9E,IAAI,aAAa,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACnC,OAAO;gBACL,QAAQ,EAAU,mBAAmB;gBACrC,eAAe,EAAG,KAAK,IAAmB,EAAE,GAAE,CAAC;aAChD,CAAC;QACJ,CAAC;QAED,IAAI,YAA2C,CAAC;QAChD,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,IAAI,oBAAoB,GAAG,KAAK,CAAC;QACjC,IAAI,aAAa,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;QAErD,MAAM,iBAAiB,GAAG,GAAS,EAAE;YACnC,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;YACD,cAAc,GAAG,IAAI,CAAC;YACtB,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC;QAEF,MAAM,yBAAyB,GAAG,CAAC,MAAmC,EAAE,IAAkB,EAAE,MAAc,EAAQ,EAAE;YAClH,IAAI,oBAAoB,EAAE,CAAC;gBACzB,OAAO;YACT,CAAC;YACD,oBAAoB,GAAG,IAAI,CAAC;YAC5B,mBAAmB,CAAC;gBAClB,IAAI,EAAI,OAAO;gBACf,MAAM;gBACN,KAAK,EAAG;oBACN,IAAI;oBACJ,MAAM;iBACP;aACF,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,wEAAwE;QACxE,8EAA8E;QAC9E,+EAA+E;QAC/E,6EAA6E;QAC7E,gFAAgF;QAChF,4CAA4C;QAC5C,MAAM,wBAAwB,GAAG,KAAK,EAAE,UAA6B,EAAiB,EAAE;YACtF,IAAI,CAAC;gBACH,MAAM,0BAA0B,CAAC,0BAA0B,CAAC;oBAC1D,wBAAwB,EAAG,iBAAiB,CAAC,OAAO;oBACpD,eAAe,EAAY,aAAa,CAAC,eAAe;oBACxD,eAAe,EAAY,aAAa,CAAC,eAAe;oBACxD,gBAAgB,EAAW,aAAa,CAAC,gBAAgB;oBACzD,qBAAqB,EAAM,IAAI,CAAC,qBAAqB;oBACrD,iBAAiB,EAAU,IAAI,CAAC,mBAAmB,EAAE;iBACtD,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;oBAC9B,yBAAyB,CACvB,UAAU,CAAC,MAAM,EACjB,YAAY,CAAC,4CAA4C,EACzD,mDAAmD,CACpD,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,yBAAyB,CACvB,UAAU,CAAC,MAAM,EACjB,YAAY,CAAC,+BAA+B,EAC5C,8BAA8B,CAC/B,CAAC;gBACJ,CAAC;gBACD,iBAAiB,EAAE,CAAC;gBACpB,OAAO;YACT,CAAC;YAED,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,oBAAoB,GAAG,KAAK,EAAE,UAA+B,EAAiB,EAAE;YACpF,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;YAED,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAChC,mBAAmB,CAAC,UAAU,CAAC,CAAC;gBAChC,OAAO;YACT,CAAC;YAED,MAAM,wBAAwB,CAAC,UAAU,CAAC,CAAC;QAC7C,CAAC,CAAC;QAEF,MAAM,eAAe,GAAG,CAAC,UAA+B,EAAQ,EAAE;YAChE,aAAa,GAAG,aAAa;iBAC1B,IAAI,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;iBAC5C,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACrB,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAyB,CAAC,UAA+B,EAAQ,EAAE;YAC/E,eAAe,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC,CAAC;QAEF,OAAO;YACL,QAAQ;YACR,eAAe,EAAE,KAAK,EAAE,iBAAoC,EAAiB,EAAE;gBAC7E,YAAY,GAAG,iBAAiB,CAAC;gBACjC,IAAI,cAAc,EAAE,CAAC;oBACnB,MAAM,iBAAiB,CAAC,KAAK,EAAE,CAAC;gBAClC,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF"}
@@ -1,10 +1,12 @@
1
1
  import { authenticate } from '../core/auth.js';
2
+ import { isEncryptionControlPath } from '../core/constants.js';
2
3
  import { Message } from '../core/message.js';
3
4
  import { messageReplyFromError } from '../core/message-reply.js';
4
5
  import { ProtocolAuthorization } from '../core/protocol-authorization.js';
5
6
  import { ProtocolsConfigure } from '../interfaces/protocols-configure.js';
6
7
  import { ProtocolsGrantAuthorization } from '../core/protocols-grant-authorization.js';
7
8
  import { RecordsWrite } from '../interfaces/records-write.js';
9
+ import { resolveProtocolTypesForPath } from '../core/protocol-authorization-validation.js';
8
10
  import { StorageController } from '../store/storage-controller.js';
9
11
  import { DwnError, DwnErrorCode } from '../core/dwn-error.js';
10
12
  import { DwnInterfaceName, DwnMethodName } from '../enums/dwn-interface-method.js';
@@ -12,6 +14,7 @@ import { getRuleSetAtPath, getTypeName, parseCrossProtocolRef } from '../utils/p
12
14
  const STORED_INITIAL_WRITE_CONFIG_INVALID_CODES = new Set([
13
15
  DwnErrorCode.EncryptionControlValidateAudienceRolePathInvalid,
14
16
  DwnErrorCode.EncryptionControlValidateAudienceSealKeyIdMismatch,
17
+ DwnErrorCode.ProtocolAuthorizationEncryptionNotAllowed,
15
18
  DwnErrorCode.ProtocolAuthorizationEncryptionRequired,
16
19
  DwnErrorCode.ProtocolAuthorizationIncorrectDataFormat,
17
20
  DwnErrorCode.ProtocolAuthorizationInitialWriteRevalidationNotInitial,
@@ -72,8 +75,15 @@ export class ProtocolsConfigureHandler {
72
75
  return { status: { code: 409, detail: 'Conflict' } };
73
76
  }
74
77
  }
75
- // find newest message, and if the incoming message is the newest
76
78
  let newestMessage = await Message.getNewestMessage(existingMessages);
79
+ let prefetchedRecordsWrites;
80
+ try {
81
+ prefetchedRecordsWrites = await this.validateEncryptionPolicyIsImmutable(tenant, message.descriptor.definition, message.descriptor.messageTimestamp, newestMessage);
82
+ }
83
+ catch (e) {
84
+ return messageReplyFromError(e, 400);
85
+ }
86
+ // find newest message, and if the incoming message is the newest
77
87
  let incomingMessageIsNewest = false;
78
88
  if (newestMessage === undefined || await Message.isNewer(message, newestMessage)) {
79
89
  incomingMessageIsNewest = true;
@@ -109,7 +119,7 @@ export class ProtocolsConfigureHandler {
109
119
  await this.deps.messageStore.updateIndexes(tenant, existingCid, updatedIndexes);
110
120
  }
111
121
  }
112
- await this.purgeRecordsInvalidatedByProtocolConfig(tenant, message.descriptor.definition.protocol);
122
+ await this.purgeRecordsInvalidatedByProtocolConfig(tenant, message.descriptor.definition.protocol, prefetchedRecordsWrites);
113
123
  return messageReply;
114
124
  }
115
125
  ;
@@ -151,19 +161,159 @@ export class ProtocolsConfigureHandler {
151
161
  throw new DwnError(DwnErrorCode.ProtocolsConfigureAuthorizationFailed, 'message failed authorization');
152
162
  }
153
163
  }
154
- async purgeRecordsInvalidatedByProtocolConfig(tenant, protocol) {
164
+ /**
165
+ * Prevents a protocol URI from changing the at-rest representation of a path
166
+ * after records have been admitted under that path. A policy migration must use
167
+ * a new protocol URI so one store never contains both plaintext and ciphertext
168
+ * records governed by the same protocol version.
169
+ */
170
+ async validateEncryptionPolicyIsImmutable(tenant, incomingDefinition, incomingTimestamp, previousConfiguration) {
171
+ if (previousConfiguration === undefined || !ProtocolsConfigureHandler.hasEncryptionPolicyChange(previousConfiguration.descriptor.definition, incomingDefinition)) {
172
+ return undefined;
173
+ }
174
+ const { messages } = await this.deps.messageStore.query(tenant, [{
175
+ interface: DwnInterfaceName.Records,
176
+ method: DwnMethodName.Write,
177
+ protocol: incomingDefinition.protocol,
178
+ }]);
179
+ const recordsWrites = messages;
180
+ const incomingPolicyByPath = new Map();
181
+ for (const recordsWrite of recordsWrites) {
182
+ const { protocolPath } = recordsWrite.descriptor;
183
+ if (isEncryptionControlPath(protocolPath)) {
184
+ continue;
185
+ }
186
+ // Removing a path does not change its representation policy. Existing
187
+ // records remain governed by the configuration active at their timestamp.
188
+ if (getRuleSetAtPath(protocolPath, incomingDefinition.structure) === undefined) {
189
+ continue;
190
+ }
191
+ let incomingEncryptionRequired = incomingPolicyByPath.get(protocolPath);
192
+ if (incomingEncryptionRequired === undefined) {
193
+ const incomingTypes = await resolveProtocolTypesForPath(tenant, protocolPath, incomingDefinition, this.deps.validationStateReader, incomingTimestamp);
194
+ incomingEncryptionRequired = incomingTypes[getTypeName(protocolPath)]?.encryptionRequired === true;
195
+ incomingPolicyByPath.set(protocolPath, incomingEncryptionRequired);
196
+ }
197
+ if ((recordsWrite.encryption !== undefined) === incomingEncryptionRequired) {
198
+ continue;
199
+ }
200
+ throw new DwnError(DwnErrorCode.ProtocolsConfigureEncryptionPolicyImmutable, `cannot change encryption policy for protocol path '${protocolPath}' after records exist; ` +
201
+ 'install the changed definition under a new protocol URI.');
202
+ }
203
+ await this.validateComposedEncryptionPolicyIsImmutable(tenant, incomingDefinition);
204
+ return recordsWrites;
205
+ }
206
+ /** Prevents a referenced protocol from changing the representation of records stored by composing protocols. */
207
+ async validateComposedEncryptionPolicyIsImmutable(tenant, incomingDefinition) {
208
+ const { messages: configurationMessages } = await this.deps.messageStore.query(tenant, [{
209
+ interface: DwnInterfaceName.Protocols,
210
+ isLatestBaseState: true,
211
+ method: DwnMethodName.Configure,
212
+ }]);
213
+ const policiesByProtocol = ProtocolsConfigureHandler.getComposedPathPolicies(configurationMessages, incomingDefinition);
214
+ if (policiesByProtocol.size === 0) {
215
+ return;
216
+ }
217
+ const { messages: dependentRecordsWrites } = await this.deps.messageStore.query(tenant, [...policiesByProtocol.keys()].map((protocol) => ({
218
+ interface: DwnInterfaceName.Records,
219
+ method: DwnMethodName.Write,
220
+ protocol,
221
+ })));
222
+ for (const message of dependentRecordsWrites) {
223
+ const recordsWrite = message;
224
+ const { protocol, protocolPath } = recordsWrite.descriptor;
225
+ if (protocol === undefined) {
226
+ continue;
227
+ }
228
+ const encryptionRequired = policiesByProtocol.get(protocol)?.get(protocolPath);
229
+ if (encryptionRequired === undefined || (recordsWrite.encryption !== undefined) === encryptionRequired) {
230
+ continue;
231
+ }
232
+ throw new DwnError(DwnErrorCode.ProtocolsConfigureEncryptionPolicyImmutable, `cannot change encryption policy for protocol path '${protocolPath}' imported by protocol '${protocol}' ` +
233
+ `after records exist; install the changed definition under a new protocol URI.`);
234
+ }
235
+ }
236
+ /** Maps each installed composing protocol to root `$ref` paths whose policy comes from the incoming definition. */
237
+ static getComposedPathPolicies(configurations, incomingDefinition) {
238
+ const policiesByProtocol = new Map();
239
+ for (const configuration of configurations) {
240
+ const composingDefinition = configuration.descriptor.definition;
241
+ const pathPolicies = ProtocolsConfigureHandler.getImportedPathPolicies(composingDefinition, incomingDefinition);
242
+ if (pathPolicies.size > 0) {
243
+ policiesByProtocol.set(composingDefinition.protocol, pathPolicies);
244
+ }
245
+ }
246
+ return policiesByProtocol;
247
+ }
248
+ /** Resolves the effective policy for root `$ref` paths that import one definition. */
249
+ static getImportedPathPolicies(composingDefinition, incomingDefinition) {
250
+ const pathPolicies = new Map();
251
+ const importedAliases = new Set(Object.entries(composingDefinition.uses ?? {})
252
+ .filter(([, protocol]) => protocol === incomingDefinition.protocol)
253
+ .map(([alias]) => alias));
254
+ if (importedAliases.size === 0) {
255
+ return pathPolicies;
256
+ }
257
+ for (const [protocolPath, ruleSet] of Object.entries(composingDefinition.structure)) {
258
+ const reference = ruleSet.$ref === undefined ? undefined : parseCrossProtocolRef(ruleSet.$ref);
259
+ if (reference === undefined || !importedAliases.has(reference.alias)) {
260
+ continue;
261
+ }
262
+ const typeName = getTypeName(protocolPath);
263
+ pathPolicies.set(protocolPath, incomingDefinition.types[typeName]?.encryptionRequired === true);
264
+ }
265
+ return pathPolicies;
266
+ }
267
+ /** Returns true when a configure can change a path's stored representation. */
268
+ static hasEncryptionPolicyChange(previousDefinition, incomingDefinition) {
269
+ const typeNames = new Set([
270
+ ...Object.keys(previousDefinition.types),
271
+ ...Object.keys(incomingDefinition.types),
272
+ ]);
273
+ for (const typeName of typeNames) {
274
+ const previousRequired = previousDefinition.types[typeName]?.encryptionRequired === true;
275
+ const incomingRequired = incomingDefinition.types[typeName]?.encryptionRequired === true;
276
+ if (previousRequired !== incomingRequired) {
277
+ return true;
278
+ }
279
+ }
280
+ return ProtocolsConfigureHandler.getCompositionEncryptionPolicySignature(previousDefinition) !==
281
+ ProtocolsConfigureHandler.getCompositionEncryptionPolicySignature(incomingDefinition);
282
+ }
283
+ /** Captures only composition fields that can redirect a path to another type policy. */
284
+ static getCompositionEncryptionPolicySignature(definition) {
285
+ const references = [];
286
+ const visit = (ruleSet, parentPath) => {
287
+ for (const [typeName, value] of Object.entries(ruleSet)) {
288
+ if (typeName.startsWith('$')) {
289
+ continue;
290
+ }
291
+ const childRuleSet = value;
292
+ const protocolPath = parentPath === '' ? typeName : `${parentPath}/${typeName}`;
293
+ if (childRuleSet.$ref !== undefined) {
294
+ references.push(`${protocolPath}=${childRuleSet.$ref}`);
295
+ }
296
+ visit(childRuleSet, protocolPath);
297
+ }
298
+ };
299
+ visit(definition.structure, '');
300
+ const uses = Object.entries(definition.uses ?? {})
301
+ .sort(([left], [right]) => left.localeCompare(right));
302
+ references.sort((left, right) => left.localeCompare(right));
303
+ return JSON.stringify({ references, uses });
304
+ }
305
+ async purgeRecordsInvalidatedByProtocolConfig(tenant, protocol, prefetchedRecordsWrites) {
155
306
  const dataStore = this.deps.dataStore;
156
307
  if (dataStore === undefined) {
157
308
  return;
158
309
  }
159
- const { messages } = await this.deps.messageStore.query(tenant, [{
310
+ const recordsWrites = prefetchedRecordsWrites ?? (await this.deps.messageStore.query(tenant, [{
160
311
  interface: DwnInterfaceName.Records,
161
312
  method: DwnMethodName.Write,
162
313
  protocol,
163
- }]);
314
+ }])).messages;
164
315
  const checkedRecordIds = new Set();
165
- for (const message of messages) {
166
- const recordsWriteMessage = message;
316
+ for (const recordsWriteMessage of recordsWrites) {
167
317
  if (checkedRecordIds.has(recordsWriteMessage.recordId)) {
168
318
  continue;
169
319
  }
@@ -1 +1 @@
1
- {"version":3,"file":"protocols-configure.js","sourceRoot":"","sources":["../../../../src/handlers/protocols-configure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocols-configure.js","sourceRoot":"","sources":["../../../../src/handlers/protocols-configure.ts"],"names":[],"mappings":"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"}