@matter/protocol 0.16.0-alpha.0-20251016-b56cf5683 → 0.16.0-alpha.0-20251020-3f6e46245

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 (201) hide show
  1. package/dist/cjs/action/client/ClientInteraction.d.ts +10 -5
  2. package/dist/cjs/action/client/ClientInteraction.d.ts.map +1 -1
  3. package/dist/cjs/action/client/ClientInteraction.js +129 -18
  4. package/dist/cjs/action/client/ClientInteraction.js.map +1 -1
  5. package/dist/cjs/action/request/Invoke.d.ts +36 -8
  6. package/dist/cjs/action/request/Invoke.d.ts.map +1 -1
  7. package/dist/cjs/action/request/Invoke.js +80 -15
  8. package/dist/cjs/action/request/Invoke.js.map +1 -1
  9. package/dist/cjs/action/request/Read.d.ts +1 -1
  10. package/dist/cjs/action/request/Read.d.ts.map +1 -1
  11. package/dist/cjs/action/request/Read.js +10 -2
  12. package/dist/cjs/action/request/Read.js.map +1 -1
  13. package/dist/cjs/action/request/Specifier.d.ts +16 -1
  14. package/dist/cjs/action/request/Specifier.d.ts.map +1 -1
  15. package/dist/cjs/action/request/Specifier.js +56 -1
  16. package/dist/cjs/action/request/Specifier.js.map +1 -1
  17. package/dist/cjs/action/request/Write.d.ts +5 -3
  18. package/dist/cjs/action/request/Write.d.ts.map +1 -1
  19. package/dist/cjs/action/request/Write.js +52 -12
  20. package/dist/cjs/action/request/Write.js.map +1 -1
  21. package/dist/cjs/action/response/InvokeResult.d.ts +6 -0
  22. package/dist/cjs/action/response/InvokeResult.d.ts.map +1 -1
  23. package/dist/cjs/common/FailsafeContext.d.ts +2 -1
  24. package/dist/cjs/common/FailsafeContext.d.ts.map +1 -1
  25. package/dist/cjs/common/FailsafeContext.js +10 -5
  26. package/dist/cjs/common/FailsafeContext.js.map +1 -1
  27. package/dist/cjs/common/FailsafeTimer.d.ts +2 -0
  28. package/dist/cjs/common/FailsafeTimer.d.ts.map +1 -1
  29. package/dist/cjs/common/FailsafeTimer.js +9 -0
  30. package/dist/cjs/common/FailsafeTimer.js.map +1 -1
  31. package/dist/cjs/interaction/InteractionClient.d.ts.map +1 -1
  32. package/dist/cjs/interaction/InteractionClient.js +91 -74
  33. package/dist/cjs/interaction/InteractionClient.js.map +1 -1
  34. package/dist/cjs/interaction/InteractionMessenger.d.ts +3 -2
  35. package/dist/cjs/interaction/InteractionMessenger.d.ts.map +1 -1
  36. package/dist/cjs/interaction/InteractionMessenger.js +10 -3
  37. package/dist/cjs/interaction/InteractionMessenger.js.map +1 -1
  38. package/dist/cjs/protocol/ExchangeManager.d.ts.map +1 -1
  39. package/dist/cjs/protocol/ExchangeManager.js +20 -17
  40. package/dist/cjs/protocol/ExchangeManager.js.map +1 -1
  41. package/dist/cjs/protocol/MessageChannel.d.ts.map +1 -1
  42. package/dist/cjs/protocol/MessageChannel.js +1 -1
  43. package/dist/cjs/protocol/MessageChannel.js.map +1 -1
  44. package/dist/cjs/protocol/MessageExchange.d.ts +1 -0
  45. package/dist/cjs/protocol/MessageExchange.d.ts.map +1 -1
  46. package/dist/cjs/protocol/MessageExchange.js +14 -4
  47. package/dist/cjs/protocol/MessageExchange.js.map +1 -1
  48. package/dist/cjs/protocol/ProtocolHandler.d.ts +7 -2
  49. package/dist/cjs/protocol/ProtocolHandler.d.ts.map +1 -1
  50. package/dist/cjs/securechannel/SecureChannelProtocol.d.ts +1 -1
  51. package/dist/cjs/securechannel/SecureChannelProtocol.d.ts.map +1 -1
  52. package/dist/cjs/securechannel/SecureChannelProtocol.js +5 -4
  53. package/dist/cjs/securechannel/SecureChannelProtocol.js.map +1 -1
  54. package/dist/cjs/session/GroupSession.d.ts +8 -1
  55. package/dist/cjs/session/GroupSession.d.ts.map +1 -1
  56. package/dist/cjs/session/GroupSession.js +10 -0
  57. package/dist/cjs/session/GroupSession.js.map +1 -1
  58. package/dist/cjs/session/NodeSession.d.ts +4 -1
  59. package/dist/cjs/session/NodeSession.d.ts.map +1 -1
  60. package/dist/cjs/session/NodeSession.js +17 -0
  61. package/dist/cjs/session/NodeSession.js.map +2 -2
  62. package/dist/cjs/session/SecureSession.d.ts +2 -0
  63. package/dist/cjs/session/SecureSession.d.ts.map +1 -1
  64. package/dist/cjs/session/SecureSession.js.map +1 -1
  65. package/dist/cjs/session/Session.d.ts +1 -0
  66. package/dist/cjs/session/Session.d.ts.map +1 -1
  67. package/dist/cjs/session/Session.js +4 -0
  68. package/dist/cjs/session/Session.js.map +1 -1
  69. package/dist/cjs/session/case/CaseClient.d.ts.map +1 -1
  70. package/dist/cjs/session/case/CaseClient.js +3 -15
  71. package/dist/cjs/session/case/CaseClient.js.map +1 -1
  72. package/dist/cjs/session/case/CaseMessenger.d.ts.map +1 -1
  73. package/dist/cjs/session/case/CaseMessenger.js.map +1 -1
  74. package/dist/cjs/session/case/CaseServer.d.ts.map +1 -1
  75. package/dist/cjs/session/case/CaseServer.js +10 -18
  76. package/dist/cjs/session/case/CaseServer.js.map +1 -1
  77. package/dist/cjs/session/index.d.ts +1 -0
  78. package/dist/cjs/session/index.d.ts.map +1 -1
  79. package/dist/cjs/session/index.js +1 -0
  80. package/dist/cjs/session/index.js.map +1 -1
  81. package/dist/cjs/session/pase/PaseClient.js +1 -1
  82. package/dist/cjs/session/pase/PaseClient.js.map +1 -1
  83. package/dist/cjs/session/pase/PaseMessenger.d.ts.map +1 -1
  84. package/dist/cjs/session/pase/PaseMessenger.js.map +1 -1
  85. package/dist/cjs/session/pase/PaseServer.d.ts.map +1 -1
  86. package/dist/cjs/session/pase/PaseServer.js +2 -2
  87. package/dist/cjs/session/pase/PaseServer.js.map +1 -1
  88. package/dist/esm/action/client/ClientInteraction.d.ts +10 -5
  89. package/dist/esm/action/client/ClientInteraction.d.ts.map +1 -1
  90. package/dist/esm/action/client/ClientInteraction.js +140 -20
  91. package/dist/esm/action/client/ClientInteraction.js.map +1 -1
  92. package/dist/esm/action/request/Invoke.d.ts +36 -8
  93. package/dist/esm/action/request/Invoke.d.ts.map +1 -1
  94. package/dist/esm/action/request/Invoke.js +81 -16
  95. package/dist/esm/action/request/Invoke.js.map +1 -1
  96. package/dist/esm/action/request/Read.d.ts +1 -1
  97. package/dist/esm/action/request/Read.d.ts.map +1 -1
  98. package/dist/esm/action/request/Read.js +12 -4
  99. package/dist/esm/action/request/Read.js.map +1 -1
  100. package/dist/esm/action/request/Specifier.d.ts +16 -1
  101. package/dist/esm/action/request/Specifier.d.ts.map +1 -1
  102. package/dist/esm/action/request/Specifier.js +56 -1
  103. package/dist/esm/action/request/Specifier.js.map +1 -1
  104. package/dist/esm/action/request/Write.d.ts +5 -3
  105. package/dist/esm/action/request/Write.d.ts.map +1 -1
  106. package/dist/esm/action/request/Write.js +53 -13
  107. package/dist/esm/action/request/Write.js.map +1 -1
  108. package/dist/esm/action/response/InvokeResult.d.ts +6 -0
  109. package/dist/esm/action/response/InvokeResult.d.ts.map +1 -1
  110. package/dist/esm/common/FailsafeContext.d.ts +2 -1
  111. package/dist/esm/common/FailsafeContext.d.ts.map +1 -1
  112. package/dist/esm/common/FailsafeContext.js +10 -5
  113. package/dist/esm/common/FailsafeContext.js.map +1 -1
  114. package/dist/esm/common/FailsafeTimer.d.ts +2 -0
  115. package/dist/esm/common/FailsafeTimer.d.ts.map +1 -1
  116. package/dist/esm/common/FailsafeTimer.js +9 -0
  117. package/dist/esm/common/FailsafeTimer.js.map +1 -1
  118. package/dist/esm/interaction/InteractionClient.d.ts.map +1 -1
  119. package/dist/esm/interaction/InteractionClient.js +92 -74
  120. package/dist/esm/interaction/InteractionClient.js.map +1 -1
  121. package/dist/esm/interaction/InteractionMessenger.d.ts +3 -2
  122. package/dist/esm/interaction/InteractionMessenger.d.ts.map +1 -1
  123. package/dist/esm/interaction/InteractionMessenger.js +10 -3
  124. package/dist/esm/interaction/InteractionMessenger.js.map +1 -1
  125. package/dist/esm/protocol/ExchangeManager.d.ts.map +1 -1
  126. package/dist/esm/protocol/ExchangeManager.js +20 -17
  127. package/dist/esm/protocol/ExchangeManager.js.map +1 -1
  128. package/dist/esm/protocol/MessageChannel.d.ts.map +1 -1
  129. package/dist/esm/protocol/MessageChannel.js +2 -2
  130. package/dist/esm/protocol/MessageChannel.js.map +1 -1
  131. package/dist/esm/protocol/MessageExchange.d.ts +1 -0
  132. package/dist/esm/protocol/MessageExchange.d.ts.map +1 -1
  133. package/dist/esm/protocol/MessageExchange.js +14 -4
  134. package/dist/esm/protocol/MessageExchange.js.map +1 -1
  135. package/dist/esm/protocol/ProtocolHandler.d.ts +7 -2
  136. package/dist/esm/protocol/ProtocolHandler.d.ts.map +1 -1
  137. package/dist/esm/securechannel/SecureChannelProtocol.d.ts +1 -1
  138. package/dist/esm/securechannel/SecureChannelProtocol.d.ts.map +1 -1
  139. package/dist/esm/securechannel/SecureChannelProtocol.js +5 -4
  140. package/dist/esm/securechannel/SecureChannelProtocol.js.map +1 -1
  141. package/dist/esm/session/GroupSession.d.ts +8 -1
  142. package/dist/esm/session/GroupSession.d.ts.map +1 -1
  143. package/dist/esm/session/GroupSession.js +11 -1
  144. package/dist/esm/session/GroupSession.js.map +1 -1
  145. package/dist/esm/session/NodeSession.d.ts +4 -1
  146. package/dist/esm/session/NodeSession.d.ts.map +1 -1
  147. package/dist/esm/session/NodeSession.js +17 -0
  148. package/dist/esm/session/NodeSession.js.map +2 -2
  149. package/dist/esm/session/SecureSession.d.ts +2 -0
  150. package/dist/esm/session/SecureSession.d.ts.map +1 -1
  151. package/dist/esm/session/SecureSession.js.map +1 -1
  152. package/dist/esm/session/Session.d.ts +1 -0
  153. package/dist/esm/session/Session.d.ts.map +1 -1
  154. package/dist/esm/session/Session.js +4 -0
  155. package/dist/esm/session/Session.js.map +1 -1
  156. package/dist/esm/session/case/CaseClient.d.ts.map +1 -1
  157. package/dist/esm/session/case/CaseClient.js +5 -17
  158. package/dist/esm/session/case/CaseClient.js.map +1 -1
  159. package/dist/esm/session/case/CaseMessenger.d.ts.map +1 -1
  160. package/dist/esm/session/case/CaseMessenger.js.map +1 -1
  161. package/dist/esm/session/case/CaseServer.d.ts.map +1 -1
  162. package/dist/esm/session/case/CaseServer.js +12 -20
  163. package/dist/esm/session/case/CaseServer.js.map +1 -1
  164. package/dist/esm/session/index.d.ts +1 -0
  165. package/dist/esm/session/index.d.ts.map +1 -1
  166. package/dist/esm/session/index.js +1 -0
  167. package/dist/esm/session/index.js.map +1 -1
  168. package/dist/esm/session/pase/PaseClient.js +1 -1
  169. package/dist/esm/session/pase/PaseClient.js.map +1 -1
  170. package/dist/esm/session/pase/PaseMessenger.d.ts.map +1 -1
  171. package/dist/esm/session/pase/PaseMessenger.js.map +1 -1
  172. package/dist/esm/session/pase/PaseServer.d.ts.map +1 -1
  173. package/dist/esm/session/pase/PaseServer.js +3 -2
  174. package/dist/esm/session/pase/PaseServer.js.map +1 -1
  175. package/package.json +6 -6
  176. package/src/action/client/ClientInteraction.ts +181 -27
  177. package/src/action/request/Invoke.ts +149 -27
  178. package/src/action/request/Read.ts +27 -7
  179. package/src/action/request/Specifier.ts +80 -1
  180. package/src/action/request/Write.ts +71 -19
  181. package/src/action/response/InvokeResult.ts +8 -0
  182. package/src/common/FailsafeContext.ts +15 -6
  183. package/src/common/FailsafeTimer.ts +11 -0
  184. package/src/interaction/InteractionClient.ts +135 -96
  185. package/src/interaction/InteractionMessenger.ts +15 -3
  186. package/src/protocol/ExchangeManager.ts +27 -29
  187. package/src/protocol/MessageChannel.ts +2 -2
  188. package/src/protocol/MessageExchange.ts +18 -4
  189. package/src/protocol/ProtocolHandler.ts +7 -2
  190. package/src/securechannel/SecureChannelProtocol.ts +8 -5
  191. package/src/session/GroupSession.ts +12 -1
  192. package/src/session/NodeSession.ts +26 -0
  193. package/src/session/SecureSession.ts +2 -0
  194. package/src/session/Session.ts +5 -0
  195. package/src/session/case/CaseClient.ts +3 -23
  196. package/src/session/case/CaseMessenger.ts +2 -0
  197. package/src/session/case/CaseServer.ts +15 -20
  198. package/src/session/index.ts +1 -0
  199. package/src/session/pase/PaseClient.ts +1 -1
  200. package/src/session/pase/PaseMessenger.ts +2 -0
  201. package/src/session/pase/PaseServer.ts +3 -2
@@ -22,6 +22,7 @@ import type { Subscription } from "#interaction/Subscription.js";
22
22
  import { PeerAddress } from "#peer/PeerAddress.js";
23
23
  import { MessageCounter } from "#protocol/MessageCounter.js";
24
24
  import { MessageReceptionStateEncryptedWithoutRollover } from "#protocol/MessageReceptionState.js";
25
+ import { SecureChannelMessenger } from "#securechannel/SecureChannelMessenger.js";
25
26
  import { CaseAuthenticatedTag, FabricIndex, NodeId, StatusCode, StatusResponseError } from "#types";
26
27
  import { SecureSession } from "./SecureSession.js";
27
28
  import { Session, SessionParameterOptions } from "./Session.js";
@@ -330,6 +331,11 @@ export class NodeSession extends SecureSession {
330
331
  await this.destroy(sendClose, closeAfterExchangeFinished);
331
332
  }
332
333
 
334
+ async closeByPeer() {
335
+ await this.destroy(false, false);
336
+ await this.closedByPeer.emit();
337
+ }
338
+
333
339
  /** Destroys a session. Outstanding subscription data will be discarded. */
334
340
  async destroy(sendClose = false, closeAfterExchangeFinished = true) {
335
341
  await this.clearSubscriptions(false);
@@ -392,4 +398,24 @@ export namespace NodeSession {
392
398
  export function is(session?: Session): session is NodeSession {
393
399
  return session?.type === SessionType.Unicast;
394
400
  }
401
+
402
+ export function logNew(
403
+ logger: Logger,
404
+ operation: "New" | "Resumed",
405
+ session: NodeSession,
406
+ messenger: SecureChannelMessenger,
407
+ fabric: Fabric,
408
+ peerNodeId: NodeId,
409
+ ) {
410
+ logger.info(
411
+ `${operation} session with`,
412
+ Diagnostic.strong(PeerAddress({ fabricIndex: fabric.fabricIndex, nodeId: peerNodeId }).toString()),
413
+ Diagnostic.dict({
414
+ id: session.id,
415
+ address: messenger.channelName,
416
+ fabric: `${NodeId.toHexString(fabric.nodeId)} (#${fabric.fabricIndex})`,
417
+ ...session.parameterDiagnostics,
418
+ }),
419
+ );
420
+ }
395
421
  }
@@ -7,11 +7,13 @@ import { Subject } from "#action/server/Subject.js";
7
7
  import { Message } from "#codec/MessageCodec.js";
8
8
  import { Fabric } from "#fabric/Fabric.js";
9
9
  import { MatterFlowError } from "#general";
10
+ import { PeerAddress } from "#peer/PeerAddress.js";
10
11
  import { Session } from "./Session.js";
11
12
 
12
13
  export abstract class SecureSession extends Session {
13
14
  readonly isSecure = true;
14
15
  abstract fabric: Fabric | undefined;
16
+ abstract peerAddress: PeerAddress;
15
17
  abstract subjectFor(message?: Message): Subject;
16
18
  }
17
19
 
@@ -97,6 +97,7 @@ export abstract class Session {
97
97
  */
98
98
  closer?: Promise<void>;
99
99
  #destroyed = AsyncObservable<[]>();
100
+ #closedByPeer = AsyncObservable<[]>();
100
101
 
101
102
  constructor(args: {
102
103
  manager?: SessionManager;
@@ -143,6 +144,10 @@ export abstract class Session {
143
144
  return this.#destroyed;
144
145
  }
145
146
 
147
+ get closedByPeer() {
148
+ return this.#closedByPeer;
149
+ }
150
+
146
151
  notifyActivity(messageReceived: boolean) {
147
152
  this.timestamp = Time.nowMs;
148
153
  if (messageReceived) {
@@ -7,8 +7,7 @@
7
7
  import { Icac } from "#certificate/kinds/Icac.js";
8
8
  import { Noc } from "#certificate/kinds/Noc.js";
9
9
  import { Fabric } from "#fabric/Fabric.js";
10
- import { Bytes, Diagnostic, Duration, Logger, PublicKey, UnexpectedDataError } from "#general";
11
- import { PeerAddress } from "#peer/PeerAddress.js";
10
+ import { Bytes, Duration, Logger, PublicKey, UnexpectedDataError } from "#general";
12
11
  import { MessageExchange, RetransmissionLimitReachedError } from "#protocol/MessageExchange.js";
13
12
  import { ChannelStatusResponseError } from "#securechannel/SecureChannelMessenger.js";
14
13
  import { NodeSession } from "#session/NodeSession.js";
@@ -135,7 +134,7 @@ export class CaseClient {
135
134
  caseAuthenticatedTags,
136
135
  });
137
136
  await messenger.sendSuccess();
138
- this.#logNewSession("Resumed", secureSession, messenger, fabric, peerNodeId);
137
+ NodeSession.logNew(logger, "Resumed", secureSession, messenger, fabric, peerNodeId);
139
138
 
140
139
  resumptionRecord.resumptionId = resumptionId; /* update resumptionId */
141
140
  resumptionRecord.sessionParameters = secureSession.parameters; /* update mrpParams */
@@ -246,7 +245,7 @@ export class CaseClient {
246
245
  peerSessionParameters,
247
246
  caseAuthenticatedTags: sessionCaseAuthenticatedTags,
248
247
  });
249
- this.#logNewSession("New", secureSession, messenger, fabric, peerNodeId);
248
+ NodeSession.logNew(logger, "New", secureSession, messenger, fabric, peerNodeId);
250
249
  resumptionRecord = {
251
250
  fabric,
252
251
  peerNodeId,
@@ -262,25 +261,6 @@ export class CaseClient {
262
261
 
263
262
  return { session: secureSession, resumed };
264
263
  }
265
-
266
- #logNewSession(
267
- operation: "New" | "Resumed",
268
- session: NodeSession,
269
- messenger: CaseClientMessenger,
270
- fabric: Fabric,
271
- peerNodeId: NodeId,
272
- ) {
273
- logger.info(
274
- `${operation} session with`,
275
- Diagnostic.strong(PeerAddress({ fabricIndex: fabric.fabricIndex, nodeId: peerNodeId }).toString()),
276
- Diagnostic.dict({
277
- id: session.id,
278
- address: messenger.channelName,
279
- fabric: `${NodeId.toHexString(fabric.nodeId)} (#${fabric.fabricIndex})`,
280
- ...session.parameterDiagnostics,
281
- }),
282
- );
283
- }
284
264
  }
285
265
 
286
266
  export namespace CaseClient {
@@ -47,6 +47,8 @@ export class CaseClientMessenger extends SecureChannelMessenger {
47
47
  payload,
48
48
  payloadHeader: { messageType },
49
49
  } = await this.anyNextMessage("Sigma2(Resume)");
50
+
51
+ // TODO Add support for BUSY response and resend the message after waiting time
50
52
  switch (messageType) {
51
53
  case SecureMessageType.Sigma2:
52
54
  return { sigma2Bytes: payload, sigma2: TlvCaseSigma2.decode(payload) as CaseSigma2 };
@@ -5,10 +5,11 @@
5
5
  */
6
6
 
7
7
  import { Noc } from "#certificate/kinds/Noc.js";
8
- import { Bytes, Crypto, CryptoDecryptError, Logger, PublicKey, UnexpectedDataError } from "#general";
8
+ import { Bytes, Crypto, CryptoDecryptError, Diagnostic, Logger, PublicKey, UnexpectedDataError } from "#general";
9
+ import { NodeSession } from "#session/NodeSession.js";
9
10
  import { SessionParametersWithDurations } from "#session/pase/PaseMessages.js";
10
11
  import { ResumptionRecord, SessionManager } from "#session/SessionManager.js";
11
- import { NodeId, SECURE_CHANNEL_PROTOCOL_ID, SecureChannelStatusCode } from "#types";
12
+ import { SECURE_CHANNEL_PROTOCOL_ID, SecureChannelStatusCode } from "#types";
12
13
  import { FabricManager, FabricNotFoundError } from "../../fabric/FabricManager.js";
13
14
  import { MessageExchange } from "../../protocol/MessageExchange.js";
14
15
  import { ProtocolHandler } from "../../protocol/ProtocolHandler.js";
@@ -64,7 +65,7 @@ export class CaseServer implements ProtocolHandler {
64
65
  }
65
66
 
66
67
  async #handleSigma1(messenger: CaseServerMessenger) {
67
- logger.info(`Received pairing request from ${messenger.channelName}`);
68
+ logger.info("Received pairing request «", Diagnostic.via(messenger.channelName));
68
69
 
69
70
  // Initialize context with information from peer
70
71
  const { sigma1Bytes, sigma1 } = await messenger.readSigma1();
@@ -86,9 +87,12 @@ export class CaseServer implements ProtocolHandler {
86
87
  }
87
88
 
88
89
  logger.info(
89
- `Invalid resumption ID or resume MIC received from ${messenger.channelName}`,
90
- context.peerResumptionId,
91
- context.peerResumeMic,
90
+ "Invalid resumption ID or resume MIC received from",
91
+ messenger.channelName,
92
+ Diagnostic.dict({
93
+ resumptionId: context.peerResumptionId,
94
+ resumeMic: context.peerResumeMic,
95
+ }),
92
96
  );
93
97
 
94
98
  throw new UnexpectedDataError("Invalid resumption ID or resume MIC.");
@@ -152,13 +156,8 @@ export class CaseServer implements ProtocolHandler {
152
156
  throw error;
153
157
  }
154
158
 
155
- logger.info(
156
- `Session ${secureSession.id} resumed with ${cx.messenger.channelName} for Fabric ${NodeId.toHexString(
157
- fabric.nodeId,
158
- )} (index ${fabric.fabricIndex}) and PeerNode ${NodeId.toHexString(peerNodeId)}`,
159
- "with CATs",
160
- caseAuthenticatedTags,
161
- );
159
+ NodeSession.logNew(logger, "Resumed", secureSession, cx.messenger, fabric, peerNodeId);
160
+
162
161
  cx.resumptionRecord.resumptionId = cx.localResumptionId; /* Update the ID */
163
162
 
164
163
  // Wait for success on the peer side
@@ -274,13 +273,9 @@ export class CaseServer implements ProtocolHandler {
274
273
  peerSessionParameters: cx.peerSessionParams,
275
274
  caseAuthenticatedTags,
276
275
  });
277
- logger.info(
278
- `Session ${secureSession.id} created with ${cx.messenger.channelName} for Fabric ${NodeId.toHexString(
279
- fabric.nodeId,
280
- )} (index ${fabric.fabricIndex}) and PeerNode ${NodeId.toHexString(peerNodeId)}`,
281
- "with CATs",
282
- caseAuthenticatedTags,
283
- );
276
+
277
+ NodeSession.logNew(logger, "New", secureSession, cx.messenger, fabric, peerNodeId);
278
+
284
279
  await cx.messenger.sendSuccess();
285
280
 
286
281
  const resumptionRecord = {
@@ -17,4 +17,5 @@ export * from "./pase/PaseMessenger.js";
17
17
  export * from "./pase/PaseServer.js";
18
18
  export * from "./SecureSession.js";
19
19
  export * from "./Session.js";
20
+ export * from "./SessionIntervals.js";
20
21
  export * from "./SessionManager.js";
@@ -106,7 +106,7 @@ export class PaseClient {
106
106
  peerSessionParameters,
107
107
  });
108
108
  await messenger.close();
109
- logger.info(`Pase client: Paired successfully with ${messenger.channelName}.`);
109
+ logger.info("Paired successfully »", messenger.channelName);
110
110
 
111
111
  return secureSession;
112
112
  }
@@ -60,6 +60,8 @@ export class PaseClientMessenger extends SecureChannelMessenger {
60
60
  SecureMessageType.PbkdfParamResponse,
61
61
  DEFAULT_NORMAL_PROCESSING_TIME,
62
62
  );
63
+
64
+ // TODO Add support for BUSY response and resend the message after waiting time
63
65
  return { responsePayload: payload, response: TlvPbkdfParamResponse.decode(payload) as PbkdfParamResponse };
64
66
  }
65
67
 
@@ -7,6 +7,7 @@
7
7
  import {
8
8
  Bytes,
9
9
  Crypto,
10
+ Diagnostic,
10
11
  ec,
11
12
  Logger,
12
13
  MatterFlowError,
@@ -104,7 +105,7 @@ export class PaseServer implements ProtocolHandler {
104
105
  }
105
106
 
106
107
  private async handlePairingRequest(crypto: Crypto, messenger: PaseServerMessenger) {
107
- logger.info(`Received pairing request from ${messenger.channelName}.`);
108
+ logger.info("Received pairing request «", Diagnostic.via(messenger.channelName));
108
109
 
109
110
  this.#pairingTimer = Time.getTimer("PASE pairing timeout", PASE_PAIRING_TIMEOUT_MS, () =>
110
111
  this.cancelPairing(messenger),
@@ -167,7 +168,7 @@ export class PaseServer implements ProtocolHandler {
167
168
  isResumption: false,
168
169
  peerSessionParameters: initiatorSessionParams,
169
170
  });
170
- logger.info(`Session ${responderSessionId} created with ${messenger.channelName}.`);
171
+ logger.info(Diagnostic.strong(`Session ${responderSessionId} created`), "with", messenger.channelName);
171
172
 
172
173
  await messenger.sendSuccess();
173
174
  await messenger.close();