@matter/protocol 0.17.4 → 0.17.5-alpha.0-20260704-9ea70abfa
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/cjs/action/client/ClientInteraction.d.ts.map +1 -1
- package/dist/cjs/action/client/ClientInteraction.js +21 -5
- package/dist/cjs/action/client/ClientInteraction.js.map +1 -1
- package/dist/cjs/action/client/InputChunk.d.ts +2 -2
- package/dist/cjs/action/server/AttributeReadResponse.d.ts.map +1 -1
- package/dist/cjs/action/server/AttributeReadResponse.js +20 -2
- package/dist/cjs/action/server/AttributeReadResponse.js.map +1 -1
- package/dist/cjs/advertisement/mdns/MdnsAdvertisement.d.ts.map +1 -1
- package/dist/cjs/advertisement/mdns/MdnsAdvertisement.js +1 -1
- package/dist/cjs/advertisement/mdns/MdnsAdvertisement.js.map +1 -1
- package/dist/cjs/bdx/schema/BdxAcceptMessagesSchema.d.ts +2 -2
- package/dist/cjs/bdx/schema/BdxAcceptMessagesSchema.d.ts.map +1 -1
- package/dist/cjs/bdx/schema/BdxBlockMessagesSchema.d.ts +6 -6
- package/dist/cjs/bdx/schema/BdxBlockMessagesSchema.d.ts.map +1 -1
- package/dist/cjs/bdx/schema/BdxInitMessagesSchema.d.ts +3 -3
- package/dist/cjs/bdx/schema/BdxInitMessagesSchema.d.ts.map +1 -1
- package/dist/cjs/ble/BleConsts.d.ts +1 -1
- package/dist/cjs/ble/BleConsts.d.ts.map +1 -1
- package/dist/cjs/certificate/kinds/Icac.d.ts +1 -1
- package/dist/cjs/certificate/kinds/Icac.js +1 -1
- package/dist/cjs/certificate/kinds/Noc.d.ts +1 -1
- package/dist/cjs/certificate/kinds/Noc.js +1 -1
- package/dist/cjs/certificate/kinds/OperationalBase.d.ts +1 -1
- package/dist/cjs/certificate/kinds/OperationalBase.js +1 -1
- package/dist/cjs/certificate/kinds/Rcac.d.ts +1 -1
- package/dist/cjs/certificate/kinds/Rcac.js +1 -1
- package/dist/cjs/certificate/kinds/Vvsc.d.ts +1 -1
- package/dist/cjs/certificate/kinds/Vvsc.js +1 -1
- package/dist/cjs/certificate/kinds/common.d.ts +1 -1
- package/dist/cjs/certificate/kinds/definitions/asn.d.ts +1 -1
- package/dist/cjs/certificate/kinds/definitions/operational.d.ts +1 -1
- package/dist/cjs/codec/MessageCodec.d.ts +20 -0
- package/dist/cjs/codec/MessageCodec.d.ts.map +1 -1
- package/dist/cjs/codec/MessageCodec.js +68 -14
- package/dist/cjs/codec/MessageCodec.js.map +1 -1
- package/dist/cjs/codec/MessagePrivacy.d.ts +2 -1
- package/dist/cjs/codec/MessagePrivacy.d.ts.map +1 -1
- package/dist/cjs/codec/MessagePrivacy.js.map +1 -1
- package/dist/cjs/common/OperationalCredentialsTypes.d.ts +2 -2
- package/dist/cjs/groups/FabricGroups.d.ts +5 -0
- package/dist/cjs/groups/FabricGroups.d.ts.map +1 -1
- package/dist/cjs/groups/FabricGroups.js +8 -0
- package/dist/cjs/groups/FabricGroups.js.map +1 -1
- package/dist/cjs/groups/Groups.d.ts +8 -0
- package/dist/cjs/groups/Groups.d.ts.map +1 -1
- package/dist/cjs/groups/Groups.js +16 -1
- package/dist/cjs/groups/Groups.js.map +1 -1
- package/dist/cjs/groups/index.d.ts +1 -0
- package/dist/cjs/groups/index.d.ts.map +1 -1
- package/dist/cjs/groups/index.js +1 -0
- package/dist/cjs/groups/index.js.map +1 -1
- package/dist/cjs/interaction/AttributeDataEncoder.d.ts +1 -0
- package/dist/cjs/interaction/AttributeDataEncoder.d.ts.map +1 -1
- package/dist/cjs/interaction/FabricAccessControl.d.ts +3 -2
- package/dist/cjs/interaction/FabricAccessControl.d.ts.map +1 -1
- package/dist/cjs/interaction/FabricAccessControl.js +7 -0
- package/dist/cjs/interaction/FabricAccessControl.js.map +1 -1
- package/dist/cjs/interaction/InteractionMessenger.d.ts +3 -0
- package/dist/cjs/interaction/InteractionMessenger.d.ts.map +1 -1
- package/dist/cjs/ota/OtaImageHeader.d.ts +1 -1
- package/dist/cjs/peer/ControllerCommissioningFlow.js +10 -10
- package/dist/cjs/peer/Peer.d.ts +4 -0
- package/dist/cjs/peer/Peer.d.ts.map +1 -1
- package/dist/cjs/peer/PeerExchangeProvider.d.ts +2 -0
- package/dist/cjs/peer/PeerExchangeProvider.d.ts.map +1 -1
- package/dist/cjs/peer/PeerExchangeProvider.js +6 -0
- package/dist/cjs/peer/PeerExchangeProvider.js.map +1 -1
- package/dist/cjs/protocol/ExchangeManager.d.ts +1 -1
- package/dist/cjs/protocol/ExchangeManager.d.ts.map +1 -1
- package/dist/cjs/protocol/ExchangeManager.js +8 -2
- package/dist/cjs/protocol/ExchangeManager.js.map +1 -1
- package/dist/cjs/protocol/ExchangeProvider.d.ts +6 -0
- package/dist/cjs/protocol/ExchangeProvider.d.ts.map +1 -1
- package/dist/cjs/protocol/ExchangeProvider.js +10 -0
- package/dist/cjs/protocol/ExchangeProvider.js.map +1 -1
- package/dist/cjs/protocol/MRP.d.ts +2 -2
- package/dist/cjs/protocol/MessageChannel.d.ts +1 -1
- package/dist/cjs/protocol/MessageChannel.js +1 -1
- package/dist/cjs/protocol/MessageExchange.d.ts +10 -0
- package/dist/cjs/protocol/MessageExchange.d.ts.map +1 -1
- package/dist/cjs/protocol/MessageExchange.js +24 -2
- package/dist/cjs/protocol/MessageExchange.js.map +1 -1
- package/dist/cjs/session/GroupSession.d.ts +12 -1
- package/dist/cjs/session/GroupSession.d.ts.map +1 -1
- package/dist/cjs/session/GroupSession.js +23 -3
- package/dist/cjs/session/GroupSession.js.map +1 -1
- package/dist/cjs/session/SessionManager.d.ts +29 -2
- package/dist/cjs/session/SessionManager.d.ts.map +1 -1
- package/dist/cjs/session/SessionManager.js +36 -10
- package/dist/cjs/session/SessionManager.js.map +1 -1
- package/dist/cjs/session/case/CaseMessages.d.ts +7 -7
- package/dist/cjs/session/pase/PaseMessages.d.ts +6 -6
- package/dist/esm/action/client/ClientInteraction.d.ts.map +1 -1
- package/dist/esm/action/client/ClientInteraction.js +21 -5
- package/dist/esm/action/client/ClientInteraction.js.map +1 -1
- package/dist/esm/action/client/InputChunk.d.ts +2 -2
- package/dist/esm/action/server/AttributeReadResponse.d.ts.map +1 -1
- package/dist/esm/action/server/AttributeReadResponse.js +20 -2
- package/dist/esm/action/server/AttributeReadResponse.js.map +1 -1
- package/dist/esm/advertisement/mdns/MdnsAdvertisement.d.ts.map +1 -1
- package/dist/esm/advertisement/mdns/MdnsAdvertisement.js +1 -1
- package/dist/esm/advertisement/mdns/MdnsAdvertisement.js.map +1 -1
- package/dist/esm/bdx/schema/BdxAcceptMessagesSchema.d.ts +2 -2
- package/dist/esm/bdx/schema/BdxAcceptMessagesSchema.d.ts.map +1 -1
- package/dist/esm/bdx/schema/BdxBlockMessagesSchema.d.ts +6 -6
- package/dist/esm/bdx/schema/BdxBlockMessagesSchema.d.ts.map +1 -1
- package/dist/esm/bdx/schema/BdxInitMessagesSchema.d.ts +3 -3
- package/dist/esm/bdx/schema/BdxInitMessagesSchema.d.ts.map +1 -1
- package/dist/esm/ble/BleConsts.d.ts +1 -1
- package/dist/esm/ble/BleConsts.d.ts.map +1 -1
- package/dist/esm/certificate/kinds/Icac.d.ts +1 -1
- package/dist/esm/certificate/kinds/Icac.js +1 -1
- package/dist/esm/certificate/kinds/Noc.d.ts +1 -1
- package/dist/esm/certificate/kinds/Noc.js +1 -1
- package/dist/esm/certificate/kinds/OperationalBase.d.ts +1 -1
- package/dist/esm/certificate/kinds/OperationalBase.js +1 -1
- package/dist/esm/certificate/kinds/Rcac.d.ts +1 -1
- package/dist/esm/certificate/kinds/Rcac.js +1 -1
- package/dist/esm/certificate/kinds/Vvsc.d.ts +1 -1
- package/dist/esm/certificate/kinds/Vvsc.js +1 -1
- package/dist/esm/certificate/kinds/common.d.ts +1 -1
- package/dist/esm/certificate/kinds/definitions/asn.d.ts +1 -1
- package/dist/esm/certificate/kinds/definitions/operational.d.ts +1 -1
- package/dist/esm/codec/MessageCodec.d.ts +20 -0
- package/dist/esm/codec/MessageCodec.d.ts.map +1 -1
- package/dist/esm/codec/MessageCodec.js +68 -14
- package/dist/esm/codec/MessageCodec.js.map +1 -1
- package/dist/esm/codec/MessagePrivacy.d.ts +2 -1
- package/dist/esm/codec/MessagePrivacy.d.ts.map +1 -1
- package/dist/esm/codec/MessagePrivacy.js.map +1 -1
- package/dist/esm/common/OperationalCredentialsTypes.d.ts +2 -2
- package/dist/esm/groups/FabricGroups.d.ts +5 -0
- package/dist/esm/groups/FabricGroups.d.ts.map +1 -1
- package/dist/esm/groups/FabricGroups.js +8 -0
- package/dist/esm/groups/FabricGroups.js.map +1 -1
- package/dist/esm/groups/Groups.d.ts +8 -0
- package/dist/esm/groups/Groups.d.ts.map +1 -1
- package/dist/esm/groups/Groups.js +16 -1
- package/dist/esm/groups/Groups.js.map +1 -1
- package/dist/esm/groups/index.d.ts +1 -0
- package/dist/esm/groups/index.d.ts.map +1 -1
- package/dist/esm/groups/index.js +1 -0
- package/dist/esm/groups/index.js.map +1 -1
- package/dist/esm/interaction/AttributeDataEncoder.d.ts +1 -0
- package/dist/esm/interaction/AttributeDataEncoder.d.ts.map +1 -1
- package/dist/esm/interaction/FabricAccessControl.d.ts +3 -2
- package/dist/esm/interaction/FabricAccessControl.d.ts.map +1 -1
- package/dist/esm/interaction/FabricAccessControl.js +8 -0
- package/dist/esm/interaction/FabricAccessControl.js.map +1 -1
- package/dist/esm/interaction/InteractionMessenger.d.ts +3 -0
- package/dist/esm/interaction/InteractionMessenger.d.ts.map +1 -1
- package/dist/esm/ota/OtaImageHeader.d.ts +1 -1
- package/dist/esm/peer/ControllerCommissioningFlow.js +10 -10
- package/dist/esm/peer/Peer.d.ts +4 -0
- package/dist/esm/peer/Peer.d.ts.map +1 -1
- package/dist/esm/peer/PeerExchangeProvider.d.ts +2 -0
- package/dist/esm/peer/PeerExchangeProvider.d.ts.map +1 -1
- package/dist/esm/peer/PeerExchangeProvider.js +6 -0
- package/dist/esm/peer/PeerExchangeProvider.js.map +1 -1
- package/dist/esm/protocol/ExchangeManager.d.ts +1 -1
- package/dist/esm/protocol/ExchangeManager.d.ts.map +1 -1
- package/dist/esm/protocol/ExchangeManager.js +9 -3
- package/dist/esm/protocol/ExchangeManager.js.map +1 -1
- package/dist/esm/protocol/ExchangeProvider.d.ts +6 -0
- package/dist/esm/protocol/ExchangeProvider.d.ts.map +1 -1
- package/dist/esm/protocol/ExchangeProvider.js +10 -0
- package/dist/esm/protocol/ExchangeProvider.js.map +1 -1
- package/dist/esm/protocol/MRP.d.ts +2 -2
- package/dist/esm/protocol/MessageChannel.d.ts +1 -1
- package/dist/esm/protocol/MessageChannel.js +1 -1
- package/dist/esm/protocol/MessageExchange.d.ts +10 -0
- package/dist/esm/protocol/MessageExchange.d.ts.map +1 -1
- package/dist/esm/protocol/MessageExchange.js +24 -2
- package/dist/esm/protocol/MessageExchange.js.map +1 -1
- package/dist/esm/session/GroupSession.d.ts +12 -1
- package/dist/esm/session/GroupSession.d.ts.map +1 -1
- package/dist/esm/session/GroupSession.js +23 -3
- package/dist/esm/session/GroupSession.js.map +1 -1
- package/dist/esm/session/SessionManager.d.ts +29 -2
- package/dist/esm/session/SessionManager.d.ts.map +1 -1
- package/dist/esm/session/SessionManager.js +38 -11
- package/dist/esm/session/SessionManager.js.map +1 -1
- package/dist/esm/session/case/CaseMessages.d.ts +7 -7
- package/dist/esm/session/pase/PaseMessages.d.ts +6 -6
- package/package.json +5 -5
- package/src/action/client/ClientInteraction.ts +27 -5
- package/src/action/client/InputChunk.ts +2 -2
- package/src/action/server/AttributeReadResponse.ts +30 -2
- package/src/advertisement/mdns/MdnsAdvertisement.ts +2 -1
- package/src/bdx/schema/BdxAcceptMessagesSchema.ts +2 -2
- package/src/bdx/schema/BdxBlockMessagesSchema.ts +6 -6
- package/src/bdx/schema/BdxInitMessagesSchema.ts +3 -3
- package/src/ble/BleConsts.ts +1 -1
- package/src/certificate/kinds/Icac.ts +1 -1
- package/src/certificate/kinds/Noc.ts +1 -1
- package/src/certificate/kinds/OperationalBase.ts +1 -1
- package/src/certificate/kinds/Rcac.ts +1 -1
- package/src/certificate/kinds/Vvsc.ts +1 -1
- package/src/certificate/kinds/common.ts +1 -1
- package/src/certificate/kinds/definitions/asn.ts +1 -1
- package/src/certificate/kinds/definitions/operational.ts +1 -1
- package/src/codec/MessageCodec.ts +88 -14
- package/src/codec/MessagePrivacy.ts +6 -2
- package/src/common/OperationalCredentialsTypes.ts +2 -2
- package/src/groups/FabricGroups.ts +11 -1
- package/src/groups/Groups.ts +24 -2
- package/src/groups/KeySets.ts +1 -1
- package/src/groups/index.ts +1 -0
- package/src/interaction/FabricAccessControl.ts +16 -3
- package/src/ota/OtaImageHeader.ts +1 -1
- package/src/peer/ControllerCommissioningFlow.ts +11 -11
- package/src/peer/PeerExchangeProvider.ts +8 -0
- package/src/protocol/ExchangeManager.ts +14 -3
- package/src/protocol/ExchangeProvider.ts +11 -0
- package/src/protocol/MRP.ts +2 -2
- package/src/protocol/MessageChannel.ts +1 -1
- package/src/protocol/MessageExchange.ts +28 -4
- package/src/session/GroupSession.ts +26 -2
- package/src/session/SessionManager.ts +65 -13
- package/src/session/case/CaseMessages.ts +7 -7
- package/src/session/pase/PaseMessages.ts +6 -6
|
@@ -25,6 +25,16 @@ import {
|
|
|
25
25
|
import { FabricIndex, GroupId } from "@matter/types";
|
|
26
26
|
import { SecureSession } from "./SecureSession.js";
|
|
27
27
|
import { Session } from "./Session.js";
|
|
28
|
+
class GroupSessionNoKeyError extends MatterFlowError {
|
|
29
|
+
constructor(message = "No key candidate found for group session decryption") {
|
|
30
|
+
super(message);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
class GroupSessionDecodeError extends MatterFlowError {
|
|
34
|
+
constructor(message = "Failed to decode group message with any key candidate") {
|
|
35
|
+
super(message);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
28
38
|
const logger = Logger.get("SecureGroupSession");
|
|
29
39
|
class GroupSession extends SecureSession {
|
|
30
40
|
#id;
|
|
@@ -32,6 +42,7 @@ class GroupSession extends SecureSession {
|
|
|
32
42
|
#peerNodeId;
|
|
33
43
|
#operationalGroupKey;
|
|
34
44
|
#operationalPrivacyKey;
|
|
45
|
+
#multicastAddress;
|
|
35
46
|
supportsMRP = false;
|
|
36
47
|
closingAfterExchangeFinished = false;
|
|
37
48
|
// Group sessions do not close after exchange finished, they are long-lived
|
|
@@ -45,6 +56,7 @@ class GroupSession extends SecureSession {
|
|
|
45
56
|
id,
|
|
46
57
|
peerNodeId,
|
|
47
58
|
keySetId,
|
|
59
|
+
multicastAddress,
|
|
48
60
|
messageCounter
|
|
49
61
|
} = config;
|
|
50
62
|
super({
|
|
@@ -59,10 +71,15 @@ class GroupSession extends SecureSession {
|
|
|
59
71
|
this.keySetId = keySetId;
|
|
60
72
|
this.#operationalGroupKey = operationalGroupKey;
|
|
61
73
|
this.#operationalPrivacyKey = operationalPrivacyKey;
|
|
74
|
+
this.#multicastAddress = multicastAddress;
|
|
62
75
|
manager?.registerGroupSession(this);
|
|
63
76
|
fabric.addSession(this);
|
|
64
77
|
logger.debug(this.via, `Created secure GROUP session for fabric index ${fabric.fabricIndex}`);
|
|
65
78
|
}
|
|
79
|
+
/** IPv6 multicast destination address this group session sends to. */
|
|
80
|
+
get multicastAddress() {
|
|
81
|
+
return this.#multicastAddress;
|
|
82
|
+
}
|
|
66
83
|
/**
|
|
67
84
|
* Create an outbound group session.
|
|
68
85
|
*/
|
|
@@ -87,6 +104,7 @@ class GroupSession extends SecureSession {
|
|
|
87
104
|
peerNodeId: groupNodeId,
|
|
88
105
|
operationalGroupKey,
|
|
89
106
|
operationalPrivacyKey: Bytes.of(await MessagePrivacy.deriveKey(fabric.crypto, operationalGroupKey)),
|
|
107
|
+
multicastAddress,
|
|
90
108
|
messageCounter
|
|
91
109
|
});
|
|
92
110
|
}
|
|
@@ -203,7 +221,7 @@ class GroupSession extends SecureSession {
|
|
|
203
221
|
}
|
|
204
222
|
}
|
|
205
223
|
if (keys.length === 0) {
|
|
206
|
-
throw new
|
|
224
|
+
throw new GroupSessionNoKeyError();
|
|
207
225
|
}
|
|
208
226
|
const messageFlags = Bytes.of(aad)[0];
|
|
209
227
|
const mic = Bytes.of(applicationPayload).slice(-CRYPTO_AEAD_MIC_LENGTH_BYTES);
|
|
@@ -265,7 +283,7 @@ class GroupSession extends SecureSession {
|
|
|
265
283
|
}
|
|
266
284
|
}
|
|
267
285
|
if (!found || !message || !key || keySetId === void 0 || !fabric || sourceNodeId === void 0) {
|
|
268
|
-
throw new
|
|
286
|
+
throw new GroupSessionDecodeError();
|
|
269
287
|
}
|
|
270
288
|
if (message.payloadHeader.hasSecuredExtension) {
|
|
271
289
|
logger.info(
|
|
@@ -292,6 +310,8 @@ class GroupSession extends SecureSession {
|
|
|
292
310
|
GroupSession2.is = is;
|
|
293
311
|
})(GroupSession || (GroupSession = {}));
|
|
294
312
|
export {
|
|
295
|
-
GroupSession
|
|
313
|
+
GroupSession,
|
|
314
|
+
GroupSessionDecodeError,
|
|
315
|
+
GroupSessionNoKeyError
|
|
296
316
|
};
|
|
297
317
|
//# sourceMappingURL=GroupSession.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/session/GroupSession.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAiD,cAAsB,mBAAmB;AAC1F,SAAS,sBAAsB;AAC/B,SAAS,YAAY;AAGrB,SAAS,2CAA2C;AACpD,SAAS,mBAAmB;AAE5B;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,OACG;AACP,SAAS,aAAa,eAAuB;AAC7C,SAAS,qBAAqB;AAC9B,SAAS,eAAe;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["fabric", "GroupSession"]
|
|
6
6
|
}
|
|
@@ -9,7 +9,8 @@ import type { Subscription } from "#interaction/Subscription.js";
|
|
|
9
9
|
import { PeerAddress } from "#peer/PeerAddress.js";
|
|
10
10
|
import { GroupSession } from "#session/GroupSession.js";
|
|
11
11
|
import { BasicSet, Bytes, Channel, ClosedError, Construction, Crypto, Duration, Environment, Environmental, Observable, StorageContext, Timestamp, Transport } from "@matter/general";
|
|
12
|
-
import { CaseAuthenticatedTag, FabricId, FabricIndex, NodeId } from "@matter/types";
|
|
12
|
+
import { CaseAuthenticatedTag, ClusterId, EndpointNumber, FabricId, FabricIndex, GroupId, NodeId } from "@matter/types";
|
|
13
|
+
import { Groupcast } from "@matter/types/clusters/groupcast";
|
|
13
14
|
import type { ExposedFabricInformation, Fabric } from "../fabric/Fabric.js";
|
|
14
15
|
import { PersistedMessageCounter } from "../protocol/MessageCounter.js";
|
|
15
16
|
import { NodeSession } from "./NodeSession.js";
|
|
@@ -41,6 +42,22 @@ export interface ActiveSessionInformation {
|
|
|
41
42
|
lastActiveTimestamp?: number;
|
|
42
43
|
numberOfActiveSubscriptions: number;
|
|
43
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* Metadata about a received group message, emitted via {@link SessionManager.onGroupMessage} for Groupcast testing.
|
|
47
|
+
* Uses {@link Groupcast.GroupcastTestResult} directly so consumers can forward the value without mapping.
|
|
48
|
+
*/
|
|
49
|
+
export interface GroupMessageEventInfo {
|
|
50
|
+
result: Groupcast.GroupcastTestResult;
|
|
51
|
+
fabric?: Fabric;
|
|
52
|
+
groupId?: GroupId;
|
|
53
|
+
sourceIp?: string;
|
|
54
|
+
destIp?: string;
|
|
55
|
+
endpointId?: EndpointNumber;
|
|
56
|
+
clusterId?: ClusterId;
|
|
57
|
+
elementId?: number;
|
|
58
|
+
/** Whether the ACL granted access for the dispatched command (only set for Success). */
|
|
59
|
+
accessAllowed?: boolean;
|
|
60
|
+
}
|
|
44
61
|
/**
|
|
45
62
|
* Interfaces {@link SessionManager} with other components.
|
|
46
63
|
*/
|
|
@@ -79,7 +96,10 @@ export declare class SessionManager {
|
|
|
79
96
|
get construction(): Construction<SessionManager>;
|
|
80
97
|
get context(): SessionManagerContext;
|
|
81
98
|
get crypto(): Crypto;
|
|
82
|
-
/**
|
|
99
|
+
/**
|
|
100
|
+
* The single node-global Group Encrypted Data Message Counter shared by all group sessions.
|
|
101
|
+
* @see {@link MatterSpecification.v16.Core} § 4.6.1.3
|
|
102
|
+
*/
|
|
83
103
|
get groupDataMessageCounter(): PersistedMessageCounter;
|
|
84
104
|
/**
|
|
85
105
|
* Active secure sessions.
|
|
@@ -109,6 +129,11 @@ export declare class SessionManager {
|
|
|
109
129
|
* Emits when resubmission is necessary due to timeout or network error.
|
|
110
130
|
*/
|
|
111
131
|
get retry(): Observable<[session: Session, number: number], void>;
|
|
132
|
+
/**
|
|
133
|
+
* Emits for each received group message (success or failure). Observers remain inactive until at least one
|
|
134
|
+
* listener attaches, so fabrics not under test incur no emission overhead.
|
|
135
|
+
*/
|
|
136
|
+
get onGroupMessage(): Observable<[info: GroupMessageEventInfo], void>;
|
|
112
137
|
/**
|
|
113
138
|
* Convenience function for accessing a fabric by address.
|
|
114
139
|
*/
|
|
@@ -174,6 +199,8 @@ export declare class SessionManager {
|
|
|
174
199
|
message: import("#codec/MessageCodec.js").DecodedMessage;
|
|
175
200
|
key: AllowSharedBufferSource;
|
|
176
201
|
};
|
|
202
|
+
/** Report a group message event (used by ExchangeManager for replay and InteractionServer for dispatch). */
|
|
203
|
+
emitGroupMessage(info: GroupMessageEventInfo): void;
|
|
177
204
|
registerGroupSession(session: GroupSession): void;
|
|
178
205
|
removeGroupSession(session: GroupSession): void;
|
|
179
206
|
findResumptionRecordById(resumptionId: Bytes): ResumptionRecord | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionManager.d.ts","sourceRoot":"","sources":["../../../src/session/SessionManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAkB,MAAM,sBAAsB,CAAC;AAInE,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"SessionManager.d.ts","sourceRoot":"","sources":["../../../src/session/SessionManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,10 +8,11 @@ import { FabricManager } from "#fabric/FabricManager.js";
|
|
|
8
8
|
import { PeerAddress, PeerAddressMap } from "#peer/PeerAddress.js";
|
|
9
9
|
import { PeerShutdownError } from "#peer/PeerCommunicationError.js";
|
|
10
10
|
import { SessionClosedError } from "#protocol/errors.js";
|
|
11
|
-
import { GroupSession } from "#session/GroupSession.js";
|
|
11
|
+
import { GroupSession, GroupSessionDecodeError, GroupSessionNoKeyError } from "#session/GroupSession.js";
|
|
12
12
|
import {
|
|
13
13
|
BasicSet,
|
|
14
14
|
Bytes,
|
|
15
|
+
causedBy,
|
|
15
16
|
ClosedError,
|
|
16
17
|
Construction,
|
|
17
18
|
Environmental,
|
|
@@ -31,6 +32,7 @@ import {
|
|
|
31
32
|
UnexpectedDataError
|
|
32
33
|
} from "@matter/general";
|
|
33
34
|
import { GroupId, NodeId } from "@matter/types";
|
|
35
|
+
import { Groupcast } from "@matter/types/clusters/groupcast";
|
|
34
36
|
import { MessageCounter, PersistedMessageCounter } from "../protocol/MessageCounter.js";
|
|
35
37
|
import { NodeSession } from "./NodeSession.js";
|
|
36
38
|
import { SecureSession } from "./SecureSession.js";
|
|
@@ -74,6 +76,7 @@ class SessionManager {
|
|
|
74
76
|
#idUpperBound = ID_SPACE_UPPER_BOUND;
|
|
75
77
|
#subscriptionsChanged = Observable();
|
|
76
78
|
#retry = Observable();
|
|
79
|
+
#onGroupMessage = Observable();
|
|
77
80
|
constructor(context) {
|
|
78
81
|
this.#context = context;
|
|
79
82
|
const {
|
|
@@ -119,7 +122,10 @@ class SessionManager {
|
|
|
119
122
|
get crypto() {
|
|
120
123
|
return this.#context.fabrics.crypto;
|
|
121
124
|
}
|
|
122
|
-
/**
|
|
125
|
+
/**
|
|
126
|
+
* The single node-global Group Encrypted Data Message Counter shared by all group sessions.
|
|
127
|
+
* @see {@link MatterSpecification.v16.Core} § 4.6.1.3
|
|
128
|
+
*/
|
|
123
129
|
get groupDataMessageCounter() {
|
|
124
130
|
this.#construction.assert();
|
|
125
131
|
return this.#groupDataMessageCounter;
|
|
@@ -177,6 +183,13 @@ class SessionManager {
|
|
|
177
183
|
get retry() {
|
|
178
184
|
return this.#retry;
|
|
179
185
|
}
|
|
186
|
+
/**
|
|
187
|
+
* Emits for each received group message (success or failure). Observers remain inactive until at least one
|
|
188
|
+
* listener attaches, so fabrics not under test incur no emission overhead.
|
|
189
|
+
*/
|
|
190
|
+
get onGroupMessage() {
|
|
191
|
+
return this.#onGroupMessage;
|
|
192
|
+
}
|
|
180
193
|
/**
|
|
181
194
|
* Convenience function for accessing a fabric by address.
|
|
182
195
|
*/
|
|
@@ -408,16 +421,24 @@ class SessionManager {
|
|
|
408
421
|
*/
|
|
409
422
|
groupSessionFromPacket(packet, aad) {
|
|
410
423
|
this.#construction.assert();
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
packet,
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
424
|
+
let decoded;
|
|
425
|
+
try {
|
|
426
|
+
decoded = GroupSession.decode(this.#context.fabrics, packet, aad);
|
|
427
|
+
} catch (error) {
|
|
428
|
+
if (causedBy(error, GroupSessionNoKeyError)) {
|
|
429
|
+
this.#onGroupMessage.emit({ result: Groupcast.GroupcastTestResult.NoAvailableKey });
|
|
430
|
+
} else if (causedBy(error, GroupSessionDecodeError)) {
|
|
431
|
+
this.#onGroupMessage.emit({ result: Groupcast.GroupcastTestResult.FailedAuth });
|
|
432
|
+
}
|
|
433
|
+
throw error;
|
|
434
|
+
}
|
|
435
|
+
const { message, key, privacyKey, sessionId, sourceNodeId, keySetId, fabric } = decoded;
|
|
436
|
+
const rawGroupId = message.packetHeader.destGroupId;
|
|
437
|
+
if (rawGroupId === void 0) {
|
|
418
438
|
throw new UnexpectedDataError("Group ID is required for GroupSession fromPacket.");
|
|
419
439
|
}
|
|
420
|
-
GroupId
|
|
440
|
+
const groupId = GroupId(rawGroupId);
|
|
441
|
+
GroupId.assertGroupId(groupId);
|
|
421
442
|
let session = this.#groupSessions.get(sourceNodeId)?.get("id", sessionId);
|
|
422
443
|
if (session === void 0) {
|
|
423
444
|
session = new GroupSession({
|
|
@@ -428,11 +449,16 @@ class SessionManager {
|
|
|
428
449
|
operationalGroupKey: key,
|
|
429
450
|
operationalPrivacyKey: privacyKey,
|
|
430
451
|
peerNodeId: sourceNodeId,
|
|
452
|
+
multicastAddress: fabric.groups.multicastAddressFor(groupId),
|
|
431
453
|
messageCounter: this.#groupDataMessageCounter
|
|
432
454
|
});
|
|
433
455
|
}
|
|
434
456
|
return { session, message, key };
|
|
435
457
|
}
|
|
458
|
+
/** Report a group message event (used by ExchangeManager for replay and InteractionServer for dispatch). */
|
|
459
|
+
emitGroupMessage(info) {
|
|
460
|
+
this.#onGroupMessage.emit(info);
|
|
461
|
+
}
|
|
436
462
|
registerGroupSession(session) {
|
|
437
463
|
const sourceNodeId = session.peerNodeId;
|
|
438
464
|
const peerSessions = this.#groupSessions.get(sourceNodeId) ?? new BasicSet();
|
|
@@ -574,7 +600,8 @@ class SessionManager {
|
|
|
574
600
|
/**
|
|
575
601
|
* Build the node-global group data message counter. On the first run after upgrading from the legacy per-key
|
|
576
602
|
* model, seed it above every value any per-key counter could already have used so it never rolls back below a
|
|
577
|
-
* value already sent with a surviving key
|
|
603
|
+
* value already sent with a surviving key; then clear the legacy entries.
|
|
604
|
+
* @see {@link MatterSpecification.v16.Core} § 4.6.1.3
|
|
578
605
|
*/
|
|
579
606
|
async #createGroupDataMessageCounter() {
|
|
580
607
|
const storage = this.#context.storage;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/session/SessionManager.ts"],
|
|
4
|
-
"mappings": "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",
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["record"]
|
|
6
6
|
}
|
|
@@ -8,7 +8,7 @@ export declare const KDFSR2_INFO: AllowSharedBufferSource;
|
|
|
8
8
|
export declare const KDFSR3_INFO: AllowSharedBufferSource;
|
|
9
9
|
export declare const TBE_DATA2_NONCE: AllowSharedBufferSource;
|
|
10
10
|
export declare const TBE_DATA3_NONCE: AllowSharedBufferSource;
|
|
11
|
-
/** @see {@link MatterSpecification.
|
|
11
|
+
/** @see {@link MatterSpecification.v16.Core} § 4.14.2.3 */
|
|
12
12
|
export declare const TlvCaseSigma1: import("@matter/types").ObjectSchema<{
|
|
13
13
|
initiatorRandom: import("@matter/types").FieldType<any>;
|
|
14
14
|
initiatorSessionId: import("@matter/types").FieldType<number>;
|
|
@@ -32,7 +32,7 @@ export declare const TlvCaseSigma1: import("@matter/types").ObjectSchema<{
|
|
|
32
32
|
initiatorResumeMic: import("@matter/types").OptionalFieldType<any>;
|
|
33
33
|
}>;
|
|
34
34
|
export type CaseSigma1 = WithDurationSessionParameters<TypeFromSchema<typeof TlvCaseSigma1>, "initiatorSessionParams">;
|
|
35
|
-
/** @see {@link MatterSpecification.
|
|
35
|
+
/** @see {@link MatterSpecification.v16.Core} § 4.14.2.3 */
|
|
36
36
|
export declare const TlvCaseSigma2: import("@matter/types").ObjectSchema<{
|
|
37
37
|
responderRandom: import("@matter/types").FieldType<any>;
|
|
38
38
|
responderSessionId: import("@matter/types").FieldType<number>;
|
|
@@ -54,7 +54,7 @@ export declare const TlvCaseSigma2: import("@matter/types").ObjectSchema<{
|
|
|
54
54
|
}>>;
|
|
55
55
|
}>;
|
|
56
56
|
export type CaseSigma2 = WithDurationSessionParameters<TypeFromSchema<typeof TlvCaseSigma2>, "responderSessionParams">;
|
|
57
|
-
/** @see {@link MatterSpecification.
|
|
57
|
+
/** @see {@link MatterSpecification.v16.Core} § 4.14.2.3 */
|
|
58
58
|
export declare const TlvCaseSigma2Resume: import("@matter/types").ObjectSchema<{
|
|
59
59
|
resumptionId: import("@matter/types").FieldType<any>;
|
|
60
60
|
resumeMic: import("@matter/types").FieldType<any>;
|
|
@@ -75,12 +75,12 @@ export declare const TlvCaseSigma2Resume: import("@matter/types").ObjectSchema<{
|
|
|
75
75
|
}>>;
|
|
76
76
|
}>;
|
|
77
77
|
export type CaseSigma2Resume = WithDurationSessionParameters<TypeFromSchema<typeof TlvCaseSigma2Resume>, "responderSessionParams">;
|
|
78
|
-
/** @see {@link MatterSpecification.
|
|
78
|
+
/** @see {@link MatterSpecification.v16.Core} § 4.14.2.3 */
|
|
79
79
|
export declare const TlvCaseSigma3: import("@matter/types").ObjectSchema<{
|
|
80
80
|
encrypted: import("@matter/types").FieldType<AllowSharedBufferSource>;
|
|
81
81
|
}>;
|
|
82
82
|
export type CaseSigma3 = TypeFromSchema<typeof TlvCaseSigma3>;
|
|
83
|
-
/** @see {@link MatterSpecification.
|
|
83
|
+
/** @see {@link MatterSpecification.v16.Core} § 4.14.2.3 */
|
|
84
84
|
export declare const TlvSignedData: import("@matter/types").ObjectSchema<{
|
|
85
85
|
responderNoc: import("@matter/types").FieldType<AllowSharedBufferSource>;
|
|
86
86
|
responderIcac: import("@matter/types").OptionalFieldType<AllowSharedBufferSource>;
|
|
@@ -88,7 +88,7 @@ export declare const TlvSignedData: import("@matter/types").ObjectSchema<{
|
|
|
88
88
|
initiatorPublicKey: import("@matter/types").FieldType<any>;
|
|
89
89
|
}>;
|
|
90
90
|
export type SignedData = TypeFromSchema<typeof TlvSignedData>;
|
|
91
|
-
/** @see {@link MatterSpecification.
|
|
91
|
+
/** @see {@link MatterSpecification.v16.Core} § 4.14.2.3 */
|
|
92
92
|
export declare const TlvEncryptedDataSigma2: import("@matter/types").ObjectSchema<{
|
|
93
93
|
responderNoc: import("@matter/types").FieldType<AllowSharedBufferSource>;
|
|
94
94
|
responderIcac: import("@matter/types").OptionalFieldType<AllowSharedBufferSource>;
|
|
@@ -96,7 +96,7 @@ export declare const TlvEncryptedDataSigma2: import("@matter/types").ObjectSchem
|
|
|
96
96
|
resumptionId: import("@matter/types").FieldType<any>;
|
|
97
97
|
}>;
|
|
98
98
|
export type EncryptedDataSigma2 = TypeFromSchema<typeof TlvEncryptedDataSigma2>;
|
|
99
|
-
/** @see {@link MatterSpecification.
|
|
99
|
+
/** @see {@link MatterSpecification.v16.Core} § 4.14.2.3 */
|
|
100
100
|
export declare const TlvEncryptedDataSigma3: import("@matter/types").ObjectSchema<{
|
|
101
101
|
responderNoc: import("@matter/types").FieldType<AllowSharedBufferSource>;
|
|
102
102
|
responderIcac: import("@matter/types").OptionalFieldType<AllowSharedBufferSource>;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { SessionIntervals } from "#session/SessionIntervals.js";
|
|
7
7
|
import { TypeFromSchema } from "@matter/types";
|
|
8
|
-
/** @see {@link MatterSpecification.
|
|
8
|
+
/** @see {@link MatterSpecification.v16.Core} § 4.13.1 */
|
|
9
9
|
export declare const TlvSessionParameters: import("@matter/types").ObjectSchema<{
|
|
10
10
|
/** Maximum sleep interval of node when in idle mode. */
|
|
11
11
|
idleInterval: import("@matter/types").OptionalFieldType<number>;
|
|
@@ -33,7 +33,7 @@ export type SessionParametersWithDurations = Omit<TypeFromSchema<typeof TlvSessi
|
|
|
33
33
|
export type WithDurationSessionParameters<T, K extends keyof T> = Omit<T, K> & {
|
|
34
34
|
[P in K]?: SessionParametersWithDurations;
|
|
35
35
|
};
|
|
36
|
-
/** @see {@link MatterSpecification.
|
|
36
|
+
/** @see {@link MatterSpecification.v16.Core} § 4.14.1.2 */
|
|
37
37
|
export declare const TlvPbkdfParamRequest: import("@matter/types").ObjectSchema<{
|
|
38
38
|
initiatorRandom: import("@matter/types").FieldType<any>;
|
|
39
39
|
initiatorSessionId: import("@matter/types").FieldType<number>;
|
|
@@ -64,7 +64,7 @@ export declare const TlvPbkdfParamRequest: import("@matter/types").ObjectSchema<
|
|
|
64
64
|
}>>;
|
|
65
65
|
}>;
|
|
66
66
|
export type PbkdfParamRequest = WithDurationSessionParameters<TypeFromSchema<typeof TlvPbkdfParamRequest>, "initiatorSessionParams">;
|
|
67
|
-
/** @see {@link MatterSpecification.
|
|
67
|
+
/** @see {@link MatterSpecification.v16.Core} § 4.14.1.2 */
|
|
68
68
|
export declare const TlvPbkdfParamResponse: import("@matter/types").ObjectSchema<{
|
|
69
69
|
initiatorRandom: import("@matter/types").FieldType<any>;
|
|
70
70
|
responderRandom: import("@matter/types").FieldType<any>;
|
|
@@ -98,18 +98,18 @@ export declare const TlvPbkdfParamResponse: import("@matter/types").ObjectSchema
|
|
|
98
98
|
}>>;
|
|
99
99
|
}>;
|
|
100
100
|
export type PbkdfParamResponse = WithDurationSessionParameters<TypeFromSchema<typeof TlvPbkdfParamResponse>, "responderSessionParams">;
|
|
101
|
-
/** @see {@link MatterSpecification.
|
|
101
|
+
/** @see {@link MatterSpecification.v16.Core} § 4.14.1.2 */
|
|
102
102
|
export declare const TlvPasePake1: import("@matter/types").ObjectSchema<{
|
|
103
103
|
x: import("@matter/types").FieldType<any>;
|
|
104
104
|
}>;
|
|
105
105
|
export type PasePake1 = TypeFromSchema<typeof TlvPasePake1>;
|
|
106
|
-
/** @see {@link MatterSpecification.
|
|
106
|
+
/** @see {@link MatterSpecification.v16.Core} § 4.14.1.2 */
|
|
107
107
|
export declare const TlvPasePake2: import("@matter/types").ObjectSchema<{
|
|
108
108
|
y: import("@matter/types").FieldType<any>;
|
|
109
109
|
verifier: import("@matter/types").FieldType<any>;
|
|
110
110
|
}>;
|
|
111
111
|
export type PasePake2 = TypeFromSchema<typeof TlvPasePake2>;
|
|
112
|
-
/** @see {@link MatterSpecification.
|
|
112
|
+
/** @see {@link MatterSpecification.v16.Core} § 4.14.1.2 */
|
|
113
113
|
export declare const TlvPasePake3: import("@matter/types").ObjectSchema<{
|
|
114
114
|
verifier: import("@matter/types").FieldType<any>;
|
|
115
115
|
}>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter/protocol",
|
|
3
|
-
"version": "0.17.
|
|
3
|
+
"version": "0.17.5-alpha.0-20260704-9ea70abfa",
|
|
4
4
|
"description": "Low-level APIs for Matter interaction",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"iot",
|
|
@@ -35,12 +35,12 @@
|
|
|
35
35
|
"#*": "./src/*"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@matter/general": "0.17.
|
|
39
|
-
"@matter/model": "0.17.
|
|
40
|
-
"@matter/types": "0.17.
|
|
38
|
+
"@matter/general": "0.17.5-alpha.0-20260704-9ea70abfa",
|
|
39
|
+
"@matter/model": "0.17.5-alpha.0-20260704-9ea70abfa",
|
|
40
|
+
"@matter/types": "0.17.5-alpha.0-20260704-9ea70abfa"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@matter/testing": "0.17.
|
|
43
|
+
"@matter/testing": "0.17.5-alpha.0-20260704-9ea70abfa"
|
|
44
44
|
},
|
|
45
45
|
"files": [
|
|
46
46
|
"dist/**/*",
|
|
@@ -23,6 +23,8 @@ import { Subscription } from "#interaction/Subscription.js";
|
|
|
23
23
|
import { PeerAddress } from "#peer/PeerAddress.js";
|
|
24
24
|
import { ExchangeProvider } from "#protocol/ExchangeProvider.js";
|
|
25
25
|
import type { ExchangeLogContext } from "#protocol/MessageExchange.js";
|
|
26
|
+
import { GroupSession } from "#session/GroupSession.js";
|
|
27
|
+
import type { Session } from "#session/Session.js";
|
|
26
28
|
import {
|
|
27
29
|
Abort,
|
|
28
30
|
AbortedError,
|
|
@@ -61,6 +63,17 @@ import { SustainedSubscription } from "./subscription/SustainedSubscription.js";
|
|
|
61
63
|
|
|
62
64
|
const logger = Logger.get("ClientInteraction");
|
|
63
65
|
|
|
66
|
+
/**
|
|
67
|
+
* Returns a log-friendly peer address diagnostic for sessions that expose one
|
|
68
|
+
* (currently: group multicast).
|
|
69
|
+
*/
|
|
70
|
+
function peerAddressDiagnostic(session: Session | undefined) {
|
|
71
|
+
if (session !== undefined && GroupSession.is(session)) {
|
|
72
|
+
return Diagnostic.dict({ dest: session.multicastAddress });
|
|
73
|
+
}
|
|
74
|
+
return "";
|
|
75
|
+
}
|
|
76
|
+
|
|
64
77
|
/** Maximum value for commandRef (uint16) */
|
|
65
78
|
const MAX_COMMAND_REF = 0xffff;
|
|
66
79
|
|
|
@@ -229,9 +242,9 @@ export class ClientInteraction<
|
|
|
229
242
|
*/
|
|
230
243
|
async *read(request: ClientRead, session?: SessionT, extraAbort?: AbortSignal): ReadResult {
|
|
231
244
|
const readPathsCount = (request.attributeRequests?.length ?? 0) + (request.eventRequests?.length ?? 0);
|
|
232
|
-
if (readPathsCount >
|
|
245
|
+
if (readPathsCount > this.#exchangeProvider.readPathsSupported) {
|
|
233
246
|
logger.info(
|
|
234
|
-
|
|
247
|
+
`Read interactions with more than ${this.#exchangeProvider.readPathsSupported} paths might be not allowed by the device. Consider splitting them into several read requests.`,
|
|
235
248
|
);
|
|
236
249
|
}
|
|
237
250
|
|
|
@@ -338,7 +351,13 @@ export class ClientInteraction<
|
|
|
338
351
|
await messenger.sendTimedRequest(request.timeout ?? DEFAULT_TIMED_REQUEST_TIMEOUT, { abort });
|
|
339
352
|
}
|
|
340
353
|
|
|
341
|
-
logger.info(
|
|
354
|
+
logger.info(
|
|
355
|
+
"Write",
|
|
356
|
+
Mark.OUTBOUND,
|
|
357
|
+
messenger.exchange.via,
|
|
358
|
+
peerAddressDiagnostic(messenger.exchange.session),
|
|
359
|
+
request,
|
|
360
|
+
);
|
|
342
361
|
|
|
343
362
|
const response = await messenger.sendWriteCommand(request, session);
|
|
344
363
|
if (request.suppressResponse) {
|
|
@@ -405,6 +424,7 @@ export class ClientInteraction<
|
|
|
405
424
|
"Invoke",
|
|
406
425
|
Mark.OUTBOUND,
|
|
407
426
|
messenger.exchange.via,
|
|
427
|
+
peerAddressDiagnostic(messenger.exchange.session),
|
|
408
428
|
Diagnostic.asFlags({ suppressResponse: request.suppressResponse, timed: request.timedRequest }),
|
|
409
429
|
request,
|
|
410
430
|
);
|
|
@@ -873,8 +893,10 @@ export class ClientInteraction<
|
|
|
873
893
|
if (subscriptionPathsCount === 0) {
|
|
874
894
|
throw new ImplementationError("When subscribing to attributes and events, at least one must be specified.");
|
|
875
895
|
}
|
|
876
|
-
if (subscriptionPathsCount >
|
|
877
|
-
logger.info(
|
|
896
|
+
if (subscriptionPathsCount > this.#exchangeProvider.subscribePathsSupported) {
|
|
897
|
+
logger.info(
|
|
898
|
+
`Subscribe interactions with more than ${this.#exchangeProvider.subscribePathsSupported} paths might be not allowed by the device.`,
|
|
899
|
+
);
|
|
878
900
|
}
|
|
879
901
|
|
|
880
902
|
const peer = this.#exchangeProvider.peerAddress;
|
|
@@ -158,8 +158,8 @@ interface AttributeDataGroup {
|
|
|
158
158
|
/**
|
|
159
159
|
* Streaming decode of a {@link DataReport} into a {@link ReadResult.Chunk}.
|
|
160
160
|
*
|
|
161
|
-
* Adjacent same-path `attributeData` entries accumulate for chunked-array reassembly per Matter Core §
|
|
162
|
-
* Tag compression resolves against the last fully-qualified path per §10.
|
|
161
|
+
* Adjacent same-path `attributeData` entries accumulate for chunked-array reassembly per Matter Core §10.6.4.3.1.
|
|
162
|
+
* Tag compression resolves against the last fully-qualified path per §10.6.2.1. When the report ends mid-chunked-array
|
|
163
163
|
* and `moreChunkedMessages` is set, the trailing entries are stashed in `leftoverAttributeReports` for the next
|
|
164
164
|
* report. See #3785 for event-order semantics.
|
|
165
165
|
*/
|