@matter/protocol 0.16.0-alpha.0-20250819-0a388db8b → 0.16.0-alpha.0-20250821-dd03e1003

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 (93) hide show
  1. package/dist/cjs/action/client/InputChunk.js +1 -1
  2. package/dist/cjs/action/client/InputChunk.js.map +1 -1
  3. package/dist/cjs/action/response/ReadResult.d.ts +2 -2
  4. package/dist/cjs/action/response/ReadResult.d.ts.map +1 -1
  5. package/dist/cjs/events/EventStore.d.ts +2 -2
  6. package/dist/cjs/events/EventStore.d.ts.map +1 -1
  7. package/dist/cjs/events/Occurrence.d.ts +2 -2
  8. package/dist/cjs/events/Occurrence.d.ts.map +1 -1
  9. package/dist/cjs/events/OccurrenceManager.d.ts +2 -2
  10. package/dist/cjs/events/OccurrenceManager.d.ts.map +1 -1
  11. package/dist/cjs/events/OccurrenceManager.js +6 -6
  12. package/dist/cjs/events/OccurrenceManager.js.map +1 -1
  13. package/dist/cjs/fabric/Fabric.d.ts +8 -3
  14. package/dist/cjs/fabric/Fabric.d.ts.map +1 -1
  15. package/dist/cjs/interaction/EventDataDecoder.d.ts +2 -2
  16. package/dist/cjs/interaction/EventDataDecoder.d.ts.map +1 -1
  17. package/dist/cjs/interaction/InteractionMessenger.d.ts +3 -3
  18. package/dist/cjs/peer/PeerAddress.d.ts +1 -1
  19. package/dist/cjs/peer/PeerAddress.d.ts.map +1 -1
  20. package/dist/cjs/peer/PeerAddress.js +3 -0
  21. package/dist/cjs/peer/PeerAddress.js.map +1 -1
  22. package/dist/cjs/securechannel/SecureChannelMessenger.d.ts +1 -1
  23. package/dist/cjs/securechannel/SecureChannelMessenger.d.ts.map +1 -1
  24. package/dist/cjs/securechannel/SecureChannelMessenger.js +1 -1
  25. package/dist/cjs/securechannel/SecureChannelMessenger.js.map +1 -1
  26. package/dist/cjs/session/NodeSession.d.ts +6 -3
  27. package/dist/cjs/session/NodeSession.d.ts.map +1 -1
  28. package/dist/cjs/session/NodeSession.js +2 -2
  29. package/dist/cjs/session/NodeSession.js.map +1 -1
  30. package/dist/cjs/session/case/CaseClient.d.ts +4 -3
  31. package/dist/cjs/session/case/CaseClient.d.ts.map +1 -1
  32. package/dist/cjs/session/case/CaseClient.js +17 -11
  33. package/dist/cjs/session/case/CaseClient.js.map +1 -1
  34. package/dist/cjs/session/case/CaseServer.js +4 -4
  35. package/dist/cjs/session/case/CaseServer.js.map +1 -1
  36. package/dist/cjs/session/pase/PaseClient.js +1 -1
  37. package/dist/cjs/session/pase/PaseClient.js.map +1 -1
  38. package/dist/cjs/session/pase/PaseServer.js +2 -2
  39. package/dist/cjs/session/pase/PaseServer.js.map +1 -1
  40. package/dist/esm/action/client/InputChunk.js +1 -1
  41. package/dist/esm/action/client/InputChunk.js.map +1 -1
  42. package/dist/esm/action/response/ReadResult.d.ts +2 -2
  43. package/dist/esm/action/response/ReadResult.d.ts.map +1 -1
  44. package/dist/esm/events/EventStore.d.ts +2 -2
  45. package/dist/esm/events/EventStore.d.ts.map +1 -1
  46. package/dist/esm/events/Occurrence.d.ts +2 -2
  47. package/dist/esm/events/Occurrence.d.ts.map +1 -1
  48. package/dist/esm/events/OccurrenceManager.d.ts +2 -2
  49. package/dist/esm/events/OccurrenceManager.d.ts.map +1 -1
  50. package/dist/esm/events/OccurrenceManager.js +7 -7
  51. package/dist/esm/events/OccurrenceManager.js.map +1 -1
  52. package/dist/esm/fabric/Fabric.d.ts +8 -3
  53. package/dist/esm/fabric/Fabric.d.ts.map +1 -1
  54. package/dist/esm/interaction/EventDataDecoder.d.ts +2 -2
  55. package/dist/esm/interaction/EventDataDecoder.d.ts.map +1 -1
  56. package/dist/esm/interaction/EventDataDecoder.js.map +1 -1
  57. package/dist/esm/interaction/InteractionMessenger.d.ts +3 -3
  58. package/dist/esm/peer/PeerAddress.d.ts +1 -1
  59. package/dist/esm/peer/PeerAddress.d.ts.map +1 -1
  60. package/dist/esm/peer/PeerAddress.js +3 -0
  61. package/dist/esm/peer/PeerAddress.js.map +1 -1
  62. package/dist/esm/securechannel/SecureChannelMessenger.d.ts +1 -1
  63. package/dist/esm/securechannel/SecureChannelMessenger.d.ts.map +1 -1
  64. package/dist/esm/securechannel/SecureChannelMessenger.js +1 -1
  65. package/dist/esm/securechannel/SecureChannelMessenger.js.map +1 -1
  66. package/dist/esm/session/NodeSession.d.ts +6 -3
  67. package/dist/esm/session/NodeSession.d.ts.map +1 -1
  68. package/dist/esm/session/NodeSession.js +2 -2
  69. package/dist/esm/session/NodeSession.js.map +1 -1
  70. package/dist/esm/session/case/CaseClient.d.ts +4 -3
  71. package/dist/esm/session/case/CaseClient.d.ts.map +1 -1
  72. package/dist/esm/session/case/CaseClient.js +18 -12
  73. package/dist/esm/session/case/CaseClient.js.map +1 -1
  74. package/dist/esm/session/case/CaseServer.js +4 -4
  75. package/dist/esm/session/case/CaseServer.js.map +1 -1
  76. package/dist/esm/session/pase/PaseClient.js +1 -1
  77. package/dist/esm/session/pase/PaseClient.js.map +1 -1
  78. package/dist/esm/session/pase/PaseServer.js +2 -2
  79. package/dist/esm/session/pase/PaseServer.js.map +1 -1
  80. package/package.json +6 -6
  81. package/src/action/client/InputChunk.ts +1 -1
  82. package/src/action/response/ReadResult.ts +2 -2
  83. package/src/events/EventStore.ts +2 -2
  84. package/src/events/Occurrence.ts +2 -2
  85. package/src/events/OccurrenceManager.ts +7 -10
  86. package/src/interaction/EventDataDecoder.ts +2 -2
  87. package/src/peer/PeerAddress.ts +7 -3
  88. package/src/securechannel/SecureChannelMessenger.ts +1 -1
  89. package/src/session/NodeSession.ts +2 -2
  90. package/src/session/case/CaseClient.ts +27 -14
  91. package/src/session/case/CaseServer.ts +4 -4
  92. package/src/session/pase/PaseClient.ts +1 -1
  93. package/src/session/pase/PaseServer.ts +2 -2
@@ -6,12 +6,14 @@
6
6
 
7
7
  import { Icac } from "#certificate/kinds/Icac.js";
8
8
  import { Noc } from "#certificate/kinds/Noc.js";
9
- import { Bytes, Duration, Logger, PublicKey, UnexpectedDataError } from "#general";
9
+ import { Fabric } from "#fabric/Fabric.js";
10
+ import { Bytes, Diagnostic, Duration, Logger, PublicKey, UnexpectedDataError } from "#general";
11
+ import { PeerAddress } from "#peer/PeerAddress.js";
12
+ import { MessageExchange, RetransmissionLimitReachedError } from "#protocol/MessageExchange.js";
10
13
  import { ChannelStatusResponseError } from "#securechannel/SecureChannelMessenger.js";
14
+ import { NodeSession } from "#session/NodeSession.js";
11
15
  import { SessionManager } from "#session/SessionManager.js";
12
16
  import { NodeId, SecureChannelStatusCode } from "#types";
13
- import { Fabric } from "../../fabric/Fabric.js";
14
- import { MessageExchange } from "../../protocol/MessageExchange.js";
15
17
  import {
16
18
  KDFSR1_KEY_INFO,
17
19
  KDFSR2_INFO,
@@ -42,7 +44,7 @@ export class CaseClient {
42
44
  try {
43
45
  return await this.#doPair(messenger, exchange, fabric, peerNodeId);
44
46
  } catch (error) {
45
- if (!(error instanceof ChannelStatusResponseError)) {
47
+ if (!(error instanceof ChannelStatusResponseError || error instanceof RetransmissionLimitReachedError)) {
46
48
  await messenger.sendError(SecureChannelStatusCode.InvalidParam);
47
49
  }
48
50
  throw error;
@@ -126,10 +128,7 @@ export class CaseClient {
126
128
  caseAuthenticatedTags,
127
129
  });
128
130
  await messenger.sendSuccess();
129
- logger.info(
130
- `Case client: Session ${secureSession.id} successfully resumed with ${messenger.getChannelName()} for Fabric ${NodeId.toHexString(fabric.nodeId)} (index ${fabric.fabricIndex}) and PeerNode ${NodeId.toHexString(peerNodeId)} with parameters`,
131
- secureSession.parameterDiagnostics(),
132
- );
131
+ this.#logNewSession("Resumed", secureSession, messenger, fabric, peerNodeId);
133
132
 
134
133
  resumptionRecord.resumptionId = resumptionId; /* update resumptionId */
135
134
  resumptionRecord.sessionParameters = secureSession.parameters; /* update mrpParams */
@@ -239,12 +238,7 @@ export class CaseClient {
239
238
  peerSessionParameters: sessionParameters,
240
239
  caseAuthenticatedTags,
241
240
  });
242
- logger.info(
243
- `Case client Session ${secureSession.id} established successfully with ${messenger.getChannelName()} for Fabric ${NodeId.toHexString(
244
- fabric.nodeId,
245
- )} (index ${fabric.fabricIndex}) and PeerNode ${NodeId.toHexString(peerNodeId)} with parameters`,
246
- secureSession.parameterDiagnostics(),
247
- );
241
+ this.#logNewSession("New", secureSession, messenger, fabric, peerNodeId);
248
242
  resumptionRecord = {
249
243
  fabric,
250
244
  peerNodeId,
@@ -260,4 +254,23 @@ export class CaseClient {
260
254
 
261
255
  return { session: secureSession, resumed };
262
256
  }
257
+
258
+ #logNewSession(
259
+ operation: "New" | "Resumed",
260
+ session: NodeSession,
261
+ messenger: CaseClientMessenger,
262
+ fabric: Fabric,
263
+ peerNodeId: NodeId,
264
+ ) {
265
+ logger.info(
266
+ `${operation} session with`,
267
+ Diagnostic.strong(PeerAddress({ fabricIndex: fabric.fabricIndex, nodeId: peerNodeId }).toString()),
268
+ Diagnostic.dict({
269
+ id: session.id,
270
+ address: messenger.channelName,
271
+ fabric: `${NodeId.toHexString(fabric.nodeId)} (#${fabric.fabricIndex})`,
272
+ ...session.parameterDiagnostics,
273
+ }),
274
+ );
275
+ }
263
276
  }
@@ -64,7 +64,7 @@ export class CaseServer implements ProtocolHandler {
64
64
  }
65
65
 
66
66
  async #handleSigma1(messenger: CaseServerMessenger) {
67
- logger.info(`Received pairing request from ${messenger.getChannelName()}`);
67
+ logger.info(`Received pairing request from ${messenger.channelName}`);
68
68
 
69
69
  // Initialize context with information from peer
70
70
  const { sigma1Bytes, sigma1 } = await messenger.readSigma1();
@@ -86,7 +86,7 @@ export class CaseServer implements ProtocolHandler {
86
86
  }
87
87
 
88
88
  logger.info(
89
- `Invalid resumption ID or resume MIC received from ${messenger.getChannelName()}`,
89
+ `Invalid resumption ID or resume MIC received from ${messenger.channelName}`,
90
90
  context.peerResumptionId,
91
91
  context.peerResumeMic,
92
92
  );
@@ -152,7 +152,7 @@ export class CaseServer implements ProtocolHandler {
152
152
  }
153
153
 
154
154
  logger.info(
155
- `Session ${secureSession.id} resumed with ${cx.messenger.getChannelName()} for Fabric ${NodeId.toHexString(
155
+ `Session ${secureSession.id} resumed with ${cx.messenger.channelName} for Fabric ${NodeId.toHexString(
156
156
  fabric.nodeId,
157
157
  )} (index ${fabric.fabricIndex}) and PeerNode ${NodeId.toHexString(peerNodeId)}`,
158
158
  "with CATs",
@@ -274,7 +274,7 @@ export class CaseServer implements ProtocolHandler {
274
274
  caseAuthenticatedTags,
275
275
  });
276
276
  logger.info(
277
- `Session ${secureSession.id} created with ${cx.messenger.getChannelName()} for Fabric ${NodeId.toHexString(
277
+ `Session ${secureSession.id} created with ${cx.messenger.channelName} for Fabric ${NodeId.toHexString(
278
278
  fabric.nodeId,
279
279
  )} (index ${fabric.fabricIndex}) and PeerNode ${NodeId.toHexString(peerNodeId)}`,
280
280
  "with CATs",
@@ -115,7 +115,7 @@ export class PaseClient {
115
115
  peerSessionParameters: sessionParameters,
116
116
  });
117
117
  await messenger.close();
118
- logger.info(`Pase client: Paired successfully with ${messenger.getChannelName()}.`);
118
+ logger.info(`Pase client: Paired successfully with ${messenger.channelName}.`);
119
119
 
120
120
  return secureSession;
121
121
  }
@@ -103,7 +103,7 @@ export class PaseServer implements ProtocolHandler {
103
103
  }
104
104
 
105
105
  private async handlePairingRequest(crypto: Crypto, messenger: PaseServerMessenger) {
106
- logger.info(`Received pairing request from ${messenger.getChannelName()}.`);
106
+ logger.info(`Received pairing request from ${messenger.channelName}.`);
107
107
 
108
108
  this.#pairingTimer = Time.getTimer("PASE pairing timeout", PASE_PAIRING_TIMEOUT_MS, () =>
109
109
  this.cancelPairing(messenger),
@@ -174,7 +174,7 @@ export class PaseServer implements ProtocolHandler {
174
174
  isResumption: false,
175
175
  peerSessionParameters: initiatorSessionParams,
176
176
  });
177
- logger.info(`Session ${responderSessionId} created with ${messenger.getChannelName()}.`);
177
+ logger.info(`Session ${responderSessionId} created with ${messenger.channelName}.`);
178
178
 
179
179
  await messenger.sendSuccess();
180
180
  await messenger.close();