@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.
Files changed (221) hide show
  1. package/dist/cjs/action/client/ClientInteraction.d.ts.map +1 -1
  2. package/dist/cjs/action/client/ClientInteraction.js +21 -5
  3. package/dist/cjs/action/client/ClientInteraction.js.map +1 -1
  4. package/dist/cjs/action/client/InputChunk.d.ts +2 -2
  5. package/dist/cjs/action/server/AttributeReadResponse.d.ts.map +1 -1
  6. package/dist/cjs/action/server/AttributeReadResponse.js +20 -2
  7. package/dist/cjs/action/server/AttributeReadResponse.js.map +1 -1
  8. package/dist/cjs/advertisement/mdns/MdnsAdvertisement.d.ts.map +1 -1
  9. package/dist/cjs/advertisement/mdns/MdnsAdvertisement.js +1 -1
  10. package/dist/cjs/advertisement/mdns/MdnsAdvertisement.js.map +1 -1
  11. package/dist/cjs/bdx/schema/BdxAcceptMessagesSchema.d.ts +2 -2
  12. package/dist/cjs/bdx/schema/BdxAcceptMessagesSchema.d.ts.map +1 -1
  13. package/dist/cjs/bdx/schema/BdxBlockMessagesSchema.d.ts +6 -6
  14. package/dist/cjs/bdx/schema/BdxBlockMessagesSchema.d.ts.map +1 -1
  15. package/dist/cjs/bdx/schema/BdxInitMessagesSchema.d.ts +3 -3
  16. package/dist/cjs/bdx/schema/BdxInitMessagesSchema.d.ts.map +1 -1
  17. package/dist/cjs/ble/BleConsts.d.ts +1 -1
  18. package/dist/cjs/ble/BleConsts.d.ts.map +1 -1
  19. package/dist/cjs/certificate/kinds/Icac.d.ts +1 -1
  20. package/dist/cjs/certificate/kinds/Icac.js +1 -1
  21. package/dist/cjs/certificate/kinds/Noc.d.ts +1 -1
  22. package/dist/cjs/certificate/kinds/Noc.js +1 -1
  23. package/dist/cjs/certificate/kinds/OperationalBase.d.ts +1 -1
  24. package/dist/cjs/certificate/kinds/OperationalBase.js +1 -1
  25. package/dist/cjs/certificate/kinds/Rcac.d.ts +1 -1
  26. package/dist/cjs/certificate/kinds/Rcac.js +1 -1
  27. package/dist/cjs/certificate/kinds/Vvsc.d.ts +1 -1
  28. package/dist/cjs/certificate/kinds/Vvsc.js +1 -1
  29. package/dist/cjs/certificate/kinds/common.d.ts +1 -1
  30. package/dist/cjs/certificate/kinds/definitions/asn.d.ts +1 -1
  31. package/dist/cjs/certificate/kinds/definitions/operational.d.ts +1 -1
  32. package/dist/cjs/codec/MessageCodec.d.ts +20 -0
  33. package/dist/cjs/codec/MessageCodec.d.ts.map +1 -1
  34. package/dist/cjs/codec/MessageCodec.js +68 -14
  35. package/dist/cjs/codec/MessageCodec.js.map +1 -1
  36. package/dist/cjs/codec/MessagePrivacy.d.ts +2 -1
  37. package/dist/cjs/codec/MessagePrivacy.d.ts.map +1 -1
  38. package/dist/cjs/codec/MessagePrivacy.js.map +1 -1
  39. package/dist/cjs/common/OperationalCredentialsTypes.d.ts +2 -2
  40. package/dist/cjs/groups/FabricGroups.d.ts +5 -0
  41. package/dist/cjs/groups/FabricGroups.d.ts.map +1 -1
  42. package/dist/cjs/groups/FabricGroups.js +8 -0
  43. package/dist/cjs/groups/FabricGroups.js.map +1 -1
  44. package/dist/cjs/groups/Groups.d.ts +8 -0
  45. package/dist/cjs/groups/Groups.d.ts.map +1 -1
  46. package/dist/cjs/groups/Groups.js +16 -1
  47. package/dist/cjs/groups/Groups.js.map +1 -1
  48. package/dist/cjs/groups/index.d.ts +1 -0
  49. package/dist/cjs/groups/index.d.ts.map +1 -1
  50. package/dist/cjs/groups/index.js +1 -0
  51. package/dist/cjs/groups/index.js.map +1 -1
  52. package/dist/cjs/interaction/AttributeDataEncoder.d.ts +1 -0
  53. package/dist/cjs/interaction/AttributeDataEncoder.d.ts.map +1 -1
  54. package/dist/cjs/interaction/FabricAccessControl.d.ts +3 -2
  55. package/dist/cjs/interaction/FabricAccessControl.d.ts.map +1 -1
  56. package/dist/cjs/interaction/FabricAccessControl.js +7 -0
  57. package/dist/cjs/interaction/FabricAccessControl.js.map +1 -1
  58. package/dist/cjs/interaction/InteractionMessenger.d.ts +3 -0
  59. package/dist/cjs/interaction/InteractionMessenger.d.ts.map +1 -1
  60. package/dist/cjs/ota/OtaImageHeader.d.ts +1 -1
  61. package/dist/cjs/peer/ControllerCommissioningFlow.js +10 -10
  62. package/dist/cjs/peer/Peer.d.ts +4 -0
  63. package/dist/cjs/peer/Peer.d.ts.map +1 -1
  64. package/dist/cjs/peer/PeerExchangeProvider.d.ts +2 -0
  65. package/dist/cjs/peer/PeerExchangeProvider.d.ts.map +1 -1
  66. package/dist/cjs/peer/PeerExchangeProvider.js +6 -0
  67. package/dist/cjs/peer/PeerExchangeProvider.js.map +1 -1
  68. package/dist/cjs/protocol/ExchangeManager.d.ts +1 -1
  69. package/dist/cjs/protocol/ExchangeManager.d.ts.map +1 -1
  70. package/dist/cjs/protocol/ExchangeManager.js +8 -2
  71. package/dist/cjs/protocol/ExchangeManager.js.map +1 -1
  72. package/dist/cjs/protocol/ExchangeProvider.d.ts +6 -0
  73. package/dist/cjs/protocol/ExchangeProvider.d.ts.map +1 -1
  74. package/dist/cjs/protocol/ExchangeProvider.js +10 -0
  75. package/dist/cjs/protocol/ExchangeProvider.js.map +1 -1
  76. package/dist/cjs/protocol/MRP.d.ts +2 -2
  77. package/dist/cjs/protocol/MessageChannel.d.ts +1 -1
  78. package/dist/cjs/protocol/MessageChannel.js +1 -1
  79. package/dist/cjs/protocol/MessageExchange.d.ts +10 -0
  80. package/dist/cjs/protocol/MessageExchange.d.ts.map +1 -1
  81. package/dist/cjs/protocol/MessageExchange.js +24 -2
  82. package/dist/cjs/protocol/MessageExchange.js.map +1 -1
  83. package/dist/cjs/session/GroupSession.d.ts +12 -1
  84. package/dist/cjs/session/GroupSession.d.ts.map +1 -1
  85. package/dist/cjs/session/GroupSession.js +23 -3
  86. package/dist/cjs/session/GroupSession.js.map +1 -1
  87. package/dist/cjs/session/SessionManager.d.ts +29 -2
  88. package/dist/cjs/session/SessionManager.d.ts.map +1 -1
  89. package/dist/cjs/session/SessionManager.js +36 -10
  90. package/dist/cjs/session/SessionManager.js.map +1 -1
  91. package/dist/cjs/session/case/CaseMessages.d.ts +7 -7
  92. package/dist/cjs/session/pase/PaseMessages.d.ts +6 -6
  93. package/dist/esm/action/client/ClientInteraction.d.ts.map +1 -1
  94. package/dist/esm/action/client/ClientInteraction.js +21 -5
  95. package/dist/esm/action/client/ClientInteraction.js.map +1 -1
  96. package/dist/esm/action/client/InputChunk.d.ts +2 -2
  97. package/dist/esm/action/server/AttributeReadResponse.d.ts.map +1 -1
  98. package/dist/esm/action/server/AttributeReadResponse.js +20 -2
  99. package/dist/esm/action/server/AttributeReadResponse.js.map +1 -1
  100. package/dist/esm/advertisement/mdns/MdnsAdvertisement.d.ts.map +1 -1
  101. package/dist/esm/advertisement/mdns/MdnsAdvertisement.js +1 -1
  102. package/dist/esm/advertisement/mdns/MdnsAdvertisement.js.map +1 -1
  103. package/dist/esm/bdx/schema/BdxAcceptMessagesSchema.d.ts +2 -2
  104. package/dist/esm/bdx/schema/BdxAcceptMessagesSchema.d.ts.map +1 -1
  105. package/dist/esm/bdx/schema/BdxBlockMessagesSchema.d.ts +6 -6
  106. package/dist/esm/bdx/schema/BdxBlockMessagesSchema.d.ts.map +1 -1
  107. package/dist/esm/bdx/schema/BdxInitMessagesSchema.d.ts +3 -3
  108. package/dist/esm/bdx/schema/BdxInitMessagesSchema.d.ts.map +1 -1
  109. package/dist/esm/ble/BleConsts.d.ts +1 -1
  110. package/dist/esm/ble/BleConsts.d.ts.map +1 -1
  111. package/dist/esm/certificate/kinds/Icac.d.ts +1 -1
  112. package/dist/esm/certificate/kinds/Icac.js +1 -1
  113. package/dist/esm/certificate/kinds/Noc.d.ts +1 -1
  114. package/dist/esm/certificate/kinds/Noc.js +1 -1
  115. package/dist/esm/certificate/kinds/OperationalBase.d.ts +1 -1
  116. package/dist/esm/certificate/kinds/OperationalBase.js +1 -1
  117. package/dist/esm/certificate/kinds/Rcac.d.ts +1 -1
  118. package/dist/esm/certificate/kinds/Rcac.js +1 -1
  119. package/dist/esm/certificate/kinds/Vvsc.d.ts +1 -1
  120. package/dist/esm/certificate/kinds/Vvsc.js +1 -1
  121. package/dist/esm/certificate/kinds/common.d.ts +1 -1
  122. package/dist/esm/certificate/kinds/definitions/asn.d.ts +1 -1
  123. package/dist/esm/certificate/kinds/definitions/operational.d.ts +1 -1
  124. package/dist/esm/codec/MessageCodec.d.ts +20 -0
  125. package/dist/esm/codec/MessageCodec.d.ts.map +1 -1
  126. package/dist/esm/codec/MessageCodec.js +68 -14
  127. package/dist/esm/codec/MessageCodec.js.map +1 -1
  128. package/dist/esm/codec/MessagePrivacy.d.ts +2 -1
  129. package/dist/esm/codec/MessagePrivacy.d.ts.map +1 -1
  130. package/dist/esm/codec/MessagePrivacy.js.map +1 -1
  131. package/dist/esm/common/OperationalCredentialsTypes.d.ts +2 -2
  132. package/dist/esm/groups/FabricGroups.d.ts +5 -0
  133. package/dist/esm/groups/FabricGroups.d.ts.map +1 -1
  134. package/dist/esm/groups/FabricGroups.js +8 -0
  135. package/dist/esm/groups/FabricGroups.js.map +1 -1
  136. package/dist/esm/groups/Groups.d.ts +8 -0
  137. package/dist/esm/groups/Groups.d.ts.map +1 -1
  138. package/dist/esm/groups/Groups.js +16 -1
  139. package/dist/esm/groups/Groups.js.map +1 -1
  140. package/dist/esm/groups/index.d.ts +1 -0
  141. package/dist/esm/groups/index.d.ts.map +1 -1
  142. package/dist/esm/groups/index.js +1 -0
  143. package/dist/esm/groups/index.js.map +1 -1
  144. package/dist/esm/interaction/AttributeDataEncoder.d.ts +1 -0
  145. package/dist/esm/interaction/AttributeDataEncoder.d.ts.map +1 -1
  146. package/dist/esm/interaction/FabricAccessControl.d.ts +3 -2
  147. package/dist/esm/interaction/FabricAccessControl.d.ts.map +1 -1
  148. package/dist/esm/interaction/FabricAccessControl.js +8 -0
  149. package/dist/esm/interaction/FabricAccessControl.js.map +1 -1
  150. package/dist/esm/interaction/InteractionMessenger.d.ts +3 -0
  151. package/dist/esm/interaction/InteractionMessenger.d.ts.map +1 -1
  152. package/dist/esm/ota/OtaImageHeader.d.ts +1 -1
  153. package/dist/esm/peer/ControllerCommissioningFlow.js +10 -10
  154. package/dist/esm/peer/Peer.d.ts +4 -0
  155. package/dist/esm/peer/Peer.d.ts.map +1 -1
  156. package/dist/esm/peer/PeerExchangeProvider.d.ts +2 -0
  157. package/dist/esm/peer/PeerExchangeProvider.d.ts.map +1 -1
  158. package/dist/esm/peer/PeerExchangeProvider.js +6 -0
  159. package/dist/esm/peer/PeerExchangeProvider.js.map +1 -1
  160. package/dist/esm/protocol/ExchangeManager.d.ts +1 -1
  161. package/dist/esm/protocol/ExchangeManager.d.ts.map +1 -1
  162. package/dist/esm/protocol/ExchangeManager.js +9 -3
  163. package/dist/esm/protocol/ExchangeManager.js.map +1 -1
  164. package/dist/esm/protocol/ExchangeProvider.d.ts +6 -0
  165. package/dist/esm/protocol/ExchangeProvider.d.ts.map +1 -1
  166. package/dist/esm/protocol/ExchangeProvider.js +10 -0
  167. package/dist/esm/protocol/ExchangeProvider.js.map +1 -1
  168. package/dist/esm/protocol/MRP.d.ts +2 -2
  169. package/dist/esm/protocol/MessageChannel.d.ts +1 -1
  170. package/dist/esm/protocol/MessageChannel.js +1 -1
  171. package/dist/esm/protocol/MessageExchange.d.ts +10 -0
  172. package/dist/esm/protocol/MessageExchange.d.ts.map +1 -1
  173. package/dist/esm/protocol/MessageExchange.js +24 -2
  174. package/dist/esm/protocol/MessageExchange.js.map +1 -1
  175. package/dist/esm/session/GroupSession.d.ts +12 -1
  176. package/dist/esm/session/GroupSession.d.ts.map +1 -1
  177. package/dist/esm/session/GroupSession.js +23 -3
  178. package/dist/esm/session/GroupSession.js.map +1 -1
  179. package/dist/esm/session/SessionManager.d.ts +29 -2
  180. package/dist/esm/session/SessionManager.d.ts.map +1 -1
  181. package/dist/esm/session/SessionManager.js +38 -11
  182. package/dist/esm/session/SessionManager.js.map +1 -1
  183. package/dist/esm/session/case/CaseMessages.d.ts +7 -7
  184. package/dist/esm/session/pase/PaseMessages.d.ts +6 -6
  185. package/package.json +5 -5
  186. package/src/action/client/ClientInteraction.ts +27 -5
  187. package/src/action/client/InputChunk.ts +2 -2
  188. package/src/action/server/AttributeReadResponse.ts +30 -2
  189. package/src/advertisement/mdns/MdnsAdvertisement.ts +2 -1
  190. package/src/bdx/schema/BdxAcceptMessagesSchema.ts +2 -2
  191. package/src/bdx/schema/BdxBlockMessagesSchema.ts +6 -6
  192. package/src/bdx/schema/BdxInitMessagesSchema.ts +3 -3
  193. package/src/ble/BleConsts.ts +1 -1
  194. package/src/certificate/kinds/Icac.ts +1 -1
  195. package/src/certificate/kinds/Noc.ts +1 -1
  196. package/src/certificate/kinds/OperationalBase.ts +1 -1
  197. package/src/certificate/kinds/Rcac.ts +1 -1
  198. package/src/certificate/kinds/Vvsc.ts +1 -1
  199. package/src/certificate/kinds/common.ts +1 -1
  200. package/src/certificate/kinds/definitions/asn.ts +1 -1
  201. package/src/certificate/kinds/definitions/operational.ts +1 -1
  202. package/src/codec/MessageCodec.ts +88 -14
  203. package/src/codec/MessagePrivacy.ts +6 -2
  204. package/src/common/OperationalCredentialsTypes.ts +2 -2
  205. package/src/groups/FabricGroups.ts +11 -1
  206. package/src/groups/Groups.ts +24 -2
  207. package/src/groups/KeySets.ts +1 -1
  208. package/src/groups/index.ts +1 -0
  209. package/src/interaction/FabricAccessControl.ts +16 -3
  210. package/src/ota/OtaImageHeader.ts +1 -1
  211. package/src/peer/ControllerCommissioningFlow.ts +11 -11
  212. package/src/peer/PeerExchangeProvider.ts +8 -0
  213. package/src/protocol/ExchangeManager.ts +14 -3
  214. package/src/protocol/ExchangeProvider.ts +11 -0
  215. package/src/protocol/MRP.ts +2 -2
  216. package/src/protocol/MessageChannel.ts +1 -1
  217. package/src/protocol/MessageExchange.ts +28 -4
  218. package/src/session/GroupSession.ts +26 -2
  219. package/src/session/SessionManager.ts +65 -13
  220. package/src/session/case/CaseMessages.ts +7 -7
  221. 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 MatterFlowError("No key candidate found for group session decryption.");
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 MatterFlowError("Failed to decode group message with any key candidate.");
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": "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",
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
- /** The single node-global Group Encrypted Data Message Counter shared by all group sessions (spec §4.6.1.3). */
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":"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"}
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
- /** The single node-global Group Encrypted Data Message Counter shared by all group sessions (spec §4.6.1.3). */
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
- const { message, key, privacyKey, sessionId, sourceNodeId, keySetId, fabric } = GroupSession.decode(
412
- this.#context.fabrics,
413
- packet,
414
- aad
415
- );
416
- const groupId = message.packetHeader.destGroupId;
417
- if (groupId === void 0) {
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.assertGroupId(GroupId(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 (spec §4.6.1.3); then clear the legacy entries.
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.v13.Core} § 4.14.2.3 */
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.v13.Core} § 4.14.2.3 */
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.v13.Core} § 4.14.2.3 */
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.v13.Core} § 4.14.2.3 */
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.v10.Core} § 4.13.2.3 */
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.v10.Core} § 4.13.2.3 */
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.v10.Core} § 4.13.2.3 */
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.v13.Core} § 4.12.8 */
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.v13.Core} § 4.14.1.2 */
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.v13.Core} § 4.14.1.2 */
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.v13.Core} § 4.14.1.2 */
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.v13.Core} § 4.14.1.2 */
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.v13.Core} § 4.14.1.2 */
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.4",
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.4",
39
- "@matter/model": "0.17.4",
40
- "@matter/types": "0.17.4"
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.4"
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 > 9) {
245
+ if (readPathsCount > this.#exchangeProvider.readPathsSupported) {
233
246
  logger.info(
234
- "Read interactions with more than 9 paths might be not allowed by the device. Consider splitting them into several read requests.",
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("Write", Mark.OUTBOUND, messenger.exchange.via, request);
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 > 3) {
877
- logger.info("Subscribe interactions with more than 3 paths might be not allowed by the device.");
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 §8.5.6.3.
162
- * Tag compression resolves against the last fully-qualified path per §10.7.5. When the report ends mid-chunked-array
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
  */