@enbox/dwn-sdk-js 0.4.15 → 0.4.17
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.
- package/dist/browser.mjs +1 -1
- package/dist/browser.mjs.map +4 -4
- package/dist/esm/generated/precompiled-validators.js +734 -747
- package/dist/esm/generated/precompiled-validators.js.map +1 -1
- package/dist/esm/json-schemas/definitions.json +5 -0
- package/dist/esm/src/core/dwn-constant.js +2 -2
- package/dist/esm/src/core/dwn-error.js +0 -1
- package/dist/esm/src/core/dwn-error.js.map +1 -1
- package/dist/esm/src/core/protocol-authorization-validation.js +1 -24
- package/dist/esm/src/core/protocol-authorization-validation.js.map +1 -1
- package/dist/esm/src/core/protocol-authorization.js +1 -5
- package/dist/esm/src/core/protocol-authorization.js.map +1 -1
- package/dist/esm/src/core/validation-state-reader.js +2 -3
- package/dist/esm/src/core/validation-state-reader.js.map +1 -1
- package/dist/esm/src/handlers/messages-query.js +2 -29
- package/dist/esm/src/handlers/messages-query.js.map +1 -1
- package/dist/esm/src/handlers/messages-subscribe.js +52 -1
- package/dist/esm/src/handlers/messages-subscribe.js.map +1 -1
- package/dist/esm/src/handlers/records-count.js +18 -10
- package/dist/esm/src/handlers/records-count.js.map +1 -1
- package/dist/esm/src/handlers/records-query.js +10 -7
- package/dist/esm/src/handlers/records-query.js.map +1 -1
- package/dist/esm/src/handlers/records-subscribe.js +10 -7
- package/dist/esm/src/handlers/records-subscribe.js.map +1 -1
- package/dist/esm/src/handlers/records-write.js +8 -26
- package/dist/esm/src/handlers/records-write.js.map +1 -1
- package/dist/esm/src/index.js +1 -1
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/interfaces/protocols-configure.js +4 -9
- package/dist/esm/src/interfaces/protocols-configure.js.map +1 -1
- package/dist/esm/src/store/index-level.js +143 -6
- package/dist/esm/src/store/index-level.js.map +1 -1
- package/dist/esm/src/store/message-store-level.js +162 -23
- package/dist/esm/src/store/message-store-level.js.map +1 -1
- package/dist/esm/src/store/storage-controller.js +1 -3
- package/dist/esm/src/store/storage-controller.js.map +1 -1
- package/dist/esm/src/types/protocols-types.js +0 -10
- package/dist/esm/src/types/protocols-types.js.map +1 -1
- package/dist/esm/src/utils/filter.js +35 -1
- package/dist/esm/src/utils/filter.js.map +1 -1
- package/dist/esm/src/utils/grant-key-coverage.js +4 -6
- package/dist/esm/src/utils/grant-key-coverage.js.map +1 -1
- package/dist/esm/src/utils/messages.js +40 -14
- package/dist/esm/src/utils/messages.js.map +1 -1
- package/dist/esm/src/utils/permission-scope.js +3 -9
- package/dist/esm/src/utils/permission-scope.js.map +1 -1
- package/dist/esm/src/utils/record-limit-occupancy.js +70 -202
- package/dist/esm/src/utils/record-limit-occupancy.js.map +1 -1
- package/dist/esm/src/utils/records.js +9 -9
- package/dist/esm/src/utils/records.js.map +1 -1
- package/dist/esm/src/utils/replication.js +14 -0
- package/dist/esm/src/utils/replication.js.map +1 -1
- package/dist/esm/tests/core/records-grant-authorization.spec.js +13 -0
- package/dist/esm/tests/core/records-grant-authorization.spec.js.map +1 -1
- package/dist/esm/tests/core/replication-replay-property.spec.js +2 -2
- package/dist/esm/tests/core/replication-replay-property.spec.js.map +1 -1
- package/dist/esm/tests/core/validation-read-closure.spec.js +1 -1
- package/dist/esm/tests/core/validation-read-closure.spec.js.map +1 -1
- package/dist/esm/tests/dwn.spec.js +2 -2
- package/dist/esm/tests/dwn.spec.js.map +1 -1
- package/dist/esm/tests/features/records-delivery.spec.js +2 -5
- package/dist/esm/tests/features/records-delivery.spec.js.map +1 -1
- package/dist/esm/tests/features/records-nested-query-scope.spec.js +138 -73
- package/dist/esm/tests/features/records-nested-query-scope.spec.js.map +1 -1
- package/dist/esm/tests/features/records-record-limit.spec.js +264 -95
- package/dist/esm/tests/features/records-record-limit.spec.js.map +1 -1
- package/dist/esm/tests/fuzz/filter.fuzz.spec.js +19 -4
- package/dist/esm/tests/fuzz/filter.fuzz.spec.js.map +1 -1
- package/dist/esm/tests/handlers/messages-query.spec.js +7 -15
- package/dist/esm/tests/handlers/messages-query.spec.js.map +1 -1
- package/dist/esm/tests/handlers/messages-subscribe.spec.js +129 -1
- package/dist/esm/tests/handlers/messages-subscribe.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-write.spec.js +57 -3
- package/dist/esm/tests/handlers/records-write.spec.js.map +1 -1
- package/dist/esm/tests/store/index-level.spec.js +114 -1
- package/dist/esm/tests/store/index-level.spec.js.map +1 -1
- package/dist/esm/tests/store/message-store-cross-context.spec.js +46 -0
- package/dist/esm/tests/store/message-store-cross-context.spec.js.map +1 -0
- package/dist/esm/tests/store/message-store-level.spec.js +27 -0
- package/dist/esm/tests/store/message-store-level.spec.js.map +1 -1
- package/dist/esm/tests/store/message-store.spec.js +81 -0
- package/dist/esm/tests/store/message-store.spec.js.map +1 -1
- package/dist/esm/tests/utils/filters.spec.js +25 -4
- package/dist/esm/tests/utils/filters.spec.js.map +1 -1
- package/dist/esm/tests/utils/permission-scope.spec.js +4 -0
- package/dist/esm/tests/utils/permission-scope.spec.js.map +1 -1
- package/dist/esm/tests/utils/records.spec.js +12 -0
- package/dist/esm/tests/utils/records.spec.js.map +1 -1
- package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js +3 -1
- package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js.map +1 -1
- package/dist/types/generated/precompiled-validators.d.ts.map +1 -1
- package/dist/types/src/core/dwn-constant.d.ts +2 -2
- package/dist/types/src/core/dwn-error.d.ts +0 -1
- package/dist/types/src/core/dwn-error.d.ts.map +1 -1
- package/dist/types/src/core/protocol-authorization-validation.d.ts +0 -10
- package/dist/types/src/core/protocol-authorization-validation.d.ts.map +1 -1
- package/dist/types/src/core/protocol-authorization.d.ts.map +1 -1
- package/dist/types/src/core/validation-state-reader.d.ts.map +1 -1
- package/dist/types/src/handlers/messages-query.d.ts +0 -2
- package/dist/types/src/handlers/messages-query.d.ts.map +1 -1
- package/dist/types/src/handlers/messages-subscribe.d.ts +16 -0
- package/dist/types/src/handlers/messages-subscribe.d.ts.map +1 -1
- package/dist/types/src/handlers/records-count.d.ts +1 -0
- package/dist/types/src/handlers/records-count.d.ts.map +1 -1
- package/dist/types/src/handlers/records-query.d.ts.map +1 -1
- package/dist/types/src/handlers/records-subscribe.d.ts.map +1 -1
- package/dist/types/src/handlers/records-write.d.ts +3 -0
- package/dist/types/src/handlers/records-write.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +3 -3
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/interfaces/protocols-configure.d.ts.map +1 -1
- package/dist/types/src/store/index-level.d.ts +37 -0
- package/dist/types/src/store/index-level.d.ts.map +1 -1
- package/dist/types/src/store/message-store-level.d.ts +23 -6
- package/dist/types/src/store/message-store-level.d.ts.map +1 -1
- package/dist/types/src/store/storage-controller.d.ts.map +1 -1
- package/dist/types/src/types/message-store.d.ts +23 -2
- package/dist/types/src/types/message-store.d.ts.map +1 -1
- package/dist/types/src/types/messages-types.d.ts +14 -0
- package/dist/types/src/types/messages-types.d.ts.map +1 -1
- package/dist/types/src/types/protocols-types.d.ts +7 -24
- package/dist/types/src/types/protocols-types.d.ts.map +1 -1
- package/dist/types/src/types/query-types.d.ts +8 -1
- package/dist/types/src/types/query-types.d.ts.map +1 -1
- package/dist/types/src/types/records-types.d.ts +2 -1
- package/dist/types/src/types/records-types.d.ts.map +1 -1
- package/dist/types/src/utils/filter.d.ts +14 -1
- package/dist/types/src/utils/filter.d.ts.map +1 -1
- package/dist/types/src/utils/grant-key-coverage.d.ts.map +1 -1
- package/dist/types/src/utils/messages.d.ts +8 -0
- package/dist/types/src/utils/messages.d.ts.map +1 -1
- package/dist/types/src/utils/permission-scope.d.ts +0 -2
- package/dist/types/src/utils/permission-scope.d.ts.map +1 -1
- package/dist/types/src/utils/record-limit-occupancy.d.ts +25 -12
- package/dist/types/src/utils/record-limit-occupancy.d.ts.map +1 -1
- package/dist/types/src/utils/records.d.ts +3 -2
- package/dist/types/src/utils/records.d.ts.map +1 -1
- package/dist/types/src/utils/replication.d.ts +8 -1
- package/dist/types/src/utils/replication.d.ts.map +1 -1
- package/dist/types/tests/features/records-delivery.spec.d.ts.map +1 -1
- package/dist/types/tests/features/records-nested-query-scope.spec.d.ts.map +1 -1
- package/dist/types/tests/features/records-record-limit.spec.d.ts.map +1 -1
- package/dist/types/tests/handlers/messages-query.spec.d.ts.map +1 -1
- package/dist/types/tests/handlers/messages-subscribe.spec.d.ts.map +1 -1
- package/dist/types/tests/handlers/records-write.spec.d.ts.map +1 -1
- package/dist/types/tests/store/message-store-cross-context.spec.d.ts +2 -0
- package/dist/types/tests/store/message-store-cross-context.spec.d.ts.map +1 -0
- package/dist/types/tests/store/message-store.spec.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/core/dwn-constant.ts +2 -2
- package/src/core/dwn-error.ts +0 -2
- package/src/core/protocol-authorization-validation.ts +1 -33
- package/src/core/protocol-authorization.ts +0 -7
- package/src/core/validation-state-reader.ts +2 -3
- package/src/handlers/messages-query.ts +3 -41
- package/src/handlers/messages-subscribe.ts +67 -3
- package/src/handlers/records-count.ts +34 -13
- package/src/handlers/records-query.ts +14 -11
- package/src/handlers/records-subscribe.ts +18 -11
- package/src/handlers/records-write.ts +17 -32
- package/src/index.ts +3 -3
- package/src/interfaces/protocols-configure.ts +4 -13
- package/src/store/index-level.ts +197 -10
- package/src/store/message-store-level.ts +220 -27
- package/src/store/storage-controller.ts +1 -3
- package/src/types/message-store.ts +25 -2
- package/src/types/messages-types.ts +14 -0
- package/src/types/protocols-types.ts +7 -26
- package/src/types/query-types.ts +10 -2
- package/src/types/records-types.ts +2 -1
- package/src/utils/filter.ts +40 -3
- package/src/utils/grant-key-coverage.ts +4 -7
- package/src/utils/messages.ts +49 -14
- package/src/utils/permission-scope.ts +4 -11
- package/src/utils/record-limit-occupancy.ts +105 -293
- package/src/utils/records.ts +9 -9
- package/src/utils/replication.ts +19 -1
|
@@ -18,6 +18,11 @@
|
|
|
18
18
|
"date-time": {
|
|
19
19
|
"type": "string",
|
|
20
20
|
"pattern": "^\\d{4}-[0-1]\\d-[0-3]\\dT(?:[0-2]\\d:[0-5]\\d:[0-5]\\d|23:59:60)\\.\\d{6}Z$"
|
|
21
|
+
},
|
|
22
|
+
"contextId": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"maxLength": 600,
|
|
25
|
+
"pattern": "^[a-zA-Z0-9]+(\\/[a-zA-Z0-9]+)*$"
|
|
21
26
|
}
|
|
22
27
|
},
|
|
23
28
|
"definitions": {
|
|
@@ -7,8 +7,8 @@ export class DwnConstant {
|
|
|
7
7
|
*/
|
|
8
8
|
static maxDataSizeAllowedToBeEncoded = 30_000;
|
|
9
9
|
/**
|
|
10
|
-
* Maximum supported `$recordLimit.max`.
|
|
11
|
-
*
|
|
10
|
+
* Maximum supported `$recordLimit.max`. Level-backed occupancy projection retains
|
|
11
|
+
* at most this many rank keys while finding a parent group's cutoff.
|
|
12
12
|
*/
|
|
13
13
|
static maxRecordLimit = 1000;
|
|
14
14
|
}
|
|
@@ -151,7 +151,6 @@ export var DwnErrorCode;
|
|
|
151
151
|
DwnErrorCode["ProtocolAuthorizationMatchingRoleRecordNotFound"] = "ProtocolAuthorizationMatchingRoleRecordNotFound";
|
|
152
152
|
DwnErrorCode["ProtocolAuthorizationMaxSizeInvalid"] = "ProtocolAuthorizationMaxSizeInvalid";
|
|
153
153
|
DwnErrorCode["ProtocolAuthorizationMinSizeInvalid"] = "ProtocolAuthorizationMinSizeInvalid";
|
|
154
|
-
DwnErrorCode["ProtocolAuthorizationRecordLimitStrategyNotImplemented"] = "ProtocolAuthorizationRecordLimitStrategyNotImplemented";
|
|
155
154
|
DwnErrorCode["ProtocolAuthorizationSquashNotEnabled"] = "ProtocolAuthorizationSquashNotEnabled";
|
|
156
155
|
DwnErrorCode["ProtocolAuthorizationSquashNotInitialWrite"] = "ProtocolAuthorizationSquashNotInitialWrite";
|
|
157
156
|
DwnErrorCode["ProtocolAuthorizationSquashBackstop"] = "ProtocolAuthorizationSquashBackstop";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dwn-error.js","sourceRoot":"","sources":["../../../../src/core/dwn-error.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,OAAO,QAAS,SAAQ,KAAK;IAQb;IAPpB;;;;OAIG;IACa,IAAI,CAAgB;IAEpC,YAAoB,IAAY,EAAE,OAAe,EAAE,OAAiC;QAClF,KAAK,CAAC,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;QADX,SAAI,GAAJ,IAAI,CAAQ;QAG9B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,CAAC;IAC5B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"dwn-error.js","sourceRoot":"","sources":["../../../../src/core/dwn-error.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { KeyDerivationScheme } from '../utils/hd-key.js';
|
|
2
|
+
import { ProtocolAction } from '../types/protocols-types.js';
|
|
2
3
|
import { Records } from '../utils/records.js';
|
|
3
4
|
import { validateProtocolTags } from '../utils/protocol-tags.js';
|
|
4
5
|
import { DwnError, DwnErrorCode } from './dwn-error.js';
|
|
5
6
|
import { Encryption, ROLE_AUDIENCE_DERIVATION_SCHEME } from '../utils/encryption.js';
|
|
6
7
|
import { ENCRYPTION_PROTOCOL_GRANT_KEY_PATH, ENCRYPTION_PROTOCOL_URI } from './constants.js';
|
|
7
8
|
import { getRoleAudienceContextId, getRuleSetAtPath, getTypeName, parseCrossProtocolRef } from '../utils/protocols.js';
|
|
8
|
-
import { ProtocolAction, ProtocolRecordLimitStrategy } from '../types/protocols-types.js';
|
|
9
9
|
/**
|
|
10
10
|
* Verifies the `protocolPath` declared in the given message matches the path of actual record chain.
|
|
11
11
|
* For cross-protocol composition, the parent record may belong to a different protocol (resolved via `$ref` in the composing protocol).
|
|
@@ -309,29 +309,6 @@ export async function verifyAsRoleRecordIfNeeded(tenant, incomingMessage, ruleSe
|
|
|
309
309
|
throw new DwnError(DwnErrorCode.ProtocolAuthorizationDuplicateRoleRecipient, `DID '${recipient}' is already recipient of a role record at protocol path '${protocolPath} under the parent context ${parentContextId}.`);
|
|
310
310
|
}
|
|
311
311
|
}
|
|
312
|
-
/**
|
|
313
|
-
* Verifies that the `$recordLimit` strategy is supported for a new record creation.
|
|
314
|
-
*
|
|
315
|
-
* This check only applies to initial writes (new records). Updates to existing records do not
|
|
316
|
-
* affect record-limit occupancy. The supported `reject` strategy admits every candidate and
|
|
317
|
-
* projects the visible occupant set at read time, so validation stays independent of arrival order.
|
|
318
|
-
*
|
|
319
|
-
* @throws {DwnError} with `ProtocolAuthorizationRecordLimitStrategyNotImplemented` if strategy is not implemented.
|
|
320
|
-
*/
|
|
321
|
-
export async function verifyRecordLimit(incomingMessage, ruleSet) {
|
|
322
|
-
if (ruleSet.$recordLimit === undefined) {
|
|
323
|
-
return;
|
|
324
|
-
}
|
|
325
|
-
// Only initial writes can introduce a new record-limit candidate.
|
|
326
|
-
const isInitialWrite = await incomingMessage.isInitialWrite();
|
|
327
|
-
if (!isInitialWrite) {
|
|
328
|
-
return;
|
|
329
|
-
}
|
|
330
|
-
const { strategy } = ruleSet.$recordLimit;
|
|
331
|
-
if (strategy !== ProtocolRecordLimitStrategy.Reject) {
|
|
332
|
-
throw new DwnError(DwnErrorCode.ProtocolAuthorizationRecordLimitStrategyNotImplemented, `record limit strategy '${strategy}' is not yet implemented.`);
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
312
|
/**
|
|
336
313
|
* Verifies that a `RecordsWrite` with `squash: true` is eligible:
|
|
337
314
|
* 1. The protocol rule set at the record's `protocolPath` must have `$squash: true`.
|
|
@@ -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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"}
|
|
@@ -4,7 +4,7 @@ import { isEncryptionControlPath } from './constants.js';
|
|
|
4
4
|
import { DwnError, DwnErrorCode } from './dwn-error.js';
|
|
5
5
|
import { ProtocolAction, ProtocolActor } from '../types/protocols-types.js';
|
|
6
6
|
import { authorizeAgainstAllowedActions, verifyInvokedRole } from './protocol-authorization-action.js';
|
|
7
|
-
import { verifyAsRoleRecordIfNeeded, verifyImmutability, verifyProtocolPathAndContextId,
|
|
7
|
+
import { verifyAsRoleRecordIfNeeded, verifyImmutability, verifyProtocolPathAndContextId, verifySizeLimit, verifySquashEligibility, verifyTagsIfNeeded, verifyTypeWithComposition, } from './protocol-authorization-validation.js';
|
|
8
8
|
export class ProtocolAuthorization {
|
|
9
9
|
/**
|
|
10
10
|
* Performs validation on the structure of RecordsWrite messages that use a protocol.
|
|
@@ -35,8 +35,6 @@ export class ProtocolAuthorization {
|
|
|
35
35
|
await verifyImmutability(incomingMessage, ruleSet);
|
|
36
36
|
// Verify squash eligibility — ensure squash writes are at $squash: true paths and are initial writes
|
|
37
37
|
await verifySquashEligibility(incomingMessage, ruleSet);
|
|
38
|
-
// Verify record count limit
|
|
39
|
-
await verifyRecordLimit(incomingMessage, ruleSet);
|
|
40
38
|
return ruleSet;
|
|
41
39
|
}
|
|
42
40
|
/**
|
|
@@ -67,8 +65,6 @@ export class ProtocolAuthorization {
|
|
|
67
65
|
verifyTagsIfNeeded(incomingMessage, ruleSet);
|
|
68
66
|
await verifySquashEligibility(incomingMessage, ruleSet);
|
|
69
67
|
ProtocolAuthorization.verifyStoredInitialWriteCreateAction(tenant, incomingMessage, ruleSet);
|
|
70
|
-
// `verifyRecordLimit()` is intentionally not replayed here. It only checks strategy
|
|
71
|
-
// support for new record candidates; read-time occupancy projection decides visibility.
|
|
72
68
|
}
|
|
73
69
|
/**
|
|
74
70
|
* Performs protocol-based authorization against the incoming RecordsWrite message.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol-authorization.js","sourceRoot":"","sources":["../../../../src/core/protocol-authorization.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5E,OAAO,EAAE,8BAA8B,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvG,OAAO,EACL,0BAA0B,EAC1B,kBAAkB,EAClB,8BAA8B,EAC9B,
|
|
1
|
+
{"version":3,"file":"protocol-authorization.js","sourceRoot":"","sources":["../../../../src/core/protocol-authorization.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { ENCRYPTION_CONTROL_AUDIENCE_PATH } from './constants.js';
|
|
2
|
-
import { FilterUtility } from '../utils/filter.js';
|
|
3
2
|
import { PermissionGrant } from '../protocols/permission-grant.js';
|
|
4
3
|
import { PermissionsProtocol } from '../protocols/permissions.js';
|
|
5
4
|
import { RecordsWrite } from '../interfaces/records-write.js';
|
|
@@ -209,7 +208,7 @@ export class StoreValidationStateReader {
|
|
|
209
208
|
squash: true,
|
|
210
209
|
};
|
|
211
210
|
if (input.contextIdPrefix !== undefined) {
|
|
212
|
-
filter.contextId =
|
|
211
|
+
filter.contextId = { subtree: input.contextIdPrefix };
|
|
213
212
|
}
|
|
214
213
|
const { messages } = await this.messageStore.query(input.tenant, [filter], { messageTimestamp: SortDirection.Descending }, { limit: 1 });
|
|
215
214
|
return messages[0];
|
|
@@ -248,7 +247,7 @@ export class StoreValidationStateReader {
|
|
|
248
247
|
filter.isLatestBaseState = true;
|
|
249
248
|
}
|
|
250
249
|
if (input.contextIdPrefix !== undefined) {
|
|
251
|
-
filter.contextId =
|
|
250
|
+
filter.contextId = { subtree: input.contextIdPrefix };
|
|
252
251
|
}
|
|
253
252
|
return filter;
|
|
254
253
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation-state-reader.js","sourceRoot":"","sources":["../../../../src/core/validation-state-reader.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,gCAAgC,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"validation-state-reader.js","sourceRoot":"","sources":["../../../../src/core/validation-state-reader.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 =
|
|
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 =
|
|
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,
|
|
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
|
-
|
|
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":"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,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,
|
|
1
|
+
{"version":3,"file":"messages-subscribe.js","sourceRoot":"","sources":["../../../../src/handlers/messages-subscribe.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { ProtocolAuthorization } from '../core/protocol-authorization.js';
|
|
|
6
6
|
import { Records } from '../utils/records.js';
|
|
7
7
|
import { RecordsCount } from '../interfaces/records-count.js';
|
|
8
8
|
import { RecordsGrantAuthorization } from '../core/records-grant-authorization.js';
|
|
9
|
-
import { countRecordsWithRecordLimitOccupancy, queryRecordsWithRecordLimitOccupancy } from '../utils/record-limit-occupancy.js';
|
|
9
|
+
import { countRecordsWithRecordLimitOccupancy, queryRecordsWithRecordLimitOccupancy, resolveRecordLimitOccupancy, } from '../utils/record-limit-occupancy.js';
|
|
10
10
|
import { DwnInterfaceName, DwnMethodName } from '../enums/dwn-interface-method.js';
|
|
11
11
|
export class RecordsCountHandler {
|
|
12
12
|
deps;
|
|
@@ -62,7 +62,8 @@ export class RecordsCountHandler {
|
|
|
62
62
|
method: DwnMethodName.Write,
|
|
63
63
|
isLatestBaseState: true
|
|
64
64
|
};
|
|
65
|
-
|
|
65
|
+
const recordLimit = await this.resolveRecordLimit(tenant, recordsCount);
|
|
66
|
+
return this.countProjectedRecords(tenant, [countFilter], recordLimit);
|
|
66
67
|
}
|
|
67
68
|
async countRecordsAsOwnerDelegate(tenant, recordsCount, requester) {
|
|
68
69
|
const { filter } = recordsCount.message.descriptor;
|
|
@@ -109,13 +110,12 @@ export class RecordsCountHandler {
|
|
|
109
110
|
const filter = RecordsCountHandler.buildPublishedRecordsFilter(recordsCount);
|
|
110
111
|
return this.countProjectedRecordsForRequester(tenant, recordsCount, requester, [filter]);
|
|
111
112
|
}
|
|
112
|
-
async countProjectedRecords(tenant,
|
|
113
|
+
async countProjectedRecords(tenant, filters, recordLimit) {
|
|
113
114
|
const totalCount = await countRecordsWithRecordLimitOccupancy({
|
|
114
115
|
messageStore: this.deps.messageStore,
|
|
115
|
-
validationStateReader: this.deps.validationStateReader,
|
|
116
116
|
tenant,
|
|
117
117
|
filters,
|
|
118
|
-
|
|
118
|
+
recordLimit,
|
|
119
119
|
});
|
|
120
120
|
const audienceFilters = EncryptionControl.buildAudienceRecordFilters(filters);
|
|
121
121
|
if (audienceFilters.length === 0) {
|
|
@@ -135,21 +135,21 @@ export class RecordsCountHandler {
|
|
|
135
135
|
return totalCount - storedAudienceCount + projectedAudienceMessages.length;
|
|
136
136
|
}
|
|
137
137
|
async countProjectedRecordsForRequester(tenant, recordsCount, requester, filters) {
|
|
138
|
+
const recordLimit = await this.resolveRecordLimit(tenant, recordsCount);
|
|
138
139
|
const controlFilters = Records.buildControlRecordsFilters(filters);
|
|
139
140
|
if (controlFilters.length === 0) {
|
|
140
|
-
return this.countProjectedRecords(tenant,
|
|
141
|
+
return this.countProjectedRecords(tenant, filters, recordLimit);
|
|
141
142
|
}
|
|
142
|
-
const totalCount = await this.countProjectedRecords(tenant,
|
|
143
|
-
const controlCount = await this.countProjectedRecords(tenant,
|
|
143
|
+
const totalCount = await this.countProjectedRecords(tenant, filters, recordLimit);
|
|
144
|
+
const controlCount = await this.countProjectedRecords(tenant, controlFilters, recordLimit);
|
|
144
145
|
if (controlCount === 0) {
|
|
145
146
|
return totalCount;
|
|
146
147
|
}
|
|
147
148
|
const { messages } = await queryRecordsWithRecordLimitOccupancy({
|
|
148
149
|
messageStore: this.deps.messageStore,
|
|
149
|
-
validationStateReader: this.deps.validationStateReader,
|
|
150
150
|
tenant,
|
|
151
151
|
filters: controlFilters,
|
|
152
|
-
|
|
152
|
+
recordLimit,
|
|
153
153
|
});
|
|
154
154
|
const projectedMessages = await EncryptionControl.projectCurrentAudienceRecords({
|
|
155
155
|
messageStore: this.deps.messageStore,
|
|
@@ -166,6 +166,14 @@ export class RecordsCountHandler {
|
|
|
166
166
|
});
|
|
167
167
|
return totalCount - controlCount + visibleMessages.length;
|
|
168
168
|
}
|
|
169
|
+
async resolveRecordLimit(tenant, recordsCount) {
|
|
170
|
+
return resolveRecordLimitOccupancy({
|
|
171
|
+
validationStateReader: this.deps.validationStateReader,
|
|
172
|
+
tenant,
|
|
173
|
+
recordsFilter: recordsCount.message.descriptor.filter,
|
|
174
|
+
messageTimestamp: recordsCount.message.descriptor.messageTimestamp,
|
|
175
|
+
});
|
|
176
|
+
}
|
|
169
177
|
static buildPublishedRecordsFilter(recordsCount) {
|
|
170
178
|
const { filter } = recordsCount.message.descriptor;
|
|
171
179
|
return {
|