@matter/protocol 0.12.6-alpha.0-20250304-03716637c → 0.13.0-alpha.0-20250307-ebf84a05a

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 (87) hide show
  1. package/dist/cjs/common/Scanner.d.ts +25 -1
  2. package/dist/cjs/common/Scanner.d.ts.map +1 -1
  3. package/dist/cjs/common/Scanner.js +18 -1
  4. package/dist/cjs/common/Scanner.js.map +1 -1
  5. package/dist/cjs/fabric/Fabric.d.ts.map +1 -1
  6. package/dist/cjs/fabric/Fabric.js +0 -1
  7. package/dist/cjs/fabric/Fabric.js.map +1 -1
  8. package/dist/cjs/mdns/MdnsBroadcaster.js +3 -3
  9. package/dist/cjs/mdns/MdnsConsts.d.ts.map +1 -1
  10. package/dist/cjs/mdns/MdnsScanner.d.ts.map +1 -1
  11. package/dist/cjs/mdns/MdnsScanner.js +1 -1
  12. package/dist/cjs/mdns/MdnsScanner.js.map +1 -1
  13. package/dist/cjs/peer/ControllerCommissioningFlow.d.ts.map +1 -1
  14. package/dist/cjs/peer/ControllerCommissioningFlow.js +55 -55
  15. package/dist/cjs/peer/ControllerCommissioningFlow.js.map +1 -1
  16. package/dist/cjs/session/Session.d.ts +33 -1
  17. package/dist/cjs/session/Session.d.ts.map +1 -1
  18. package/dist/cjs/session/Session.js +16 -3
  19. package/dist/cjs/session/Session.js.map +1 -1
  20. package/dist/cjs/session/SessionManager.d.ts.map +1 -1
  21. package/dist/cjs/session/SessionManager.js +14 -4
  22. package/dist/cjs/session/SessionManager.js.map +1 -1
  23. package/dist/cjs/session/case/CaseMessages.d.ts +15 -0
  24. package/dist/cjs/session/case/CaseMessages.d.ts.map +1 -1
  25. package/dist/cjs/session/case/CaseMessenger.d.ts +15 -0
  26. package/dist/cjs/session/case/CaseMessenger.d.ts.map +1 -1
  27. package/dist/cjs/session/pase/PaseClient.d.ts.map +1 -1
  28. package/dist/cjs/session/pase/PaseClient.js +7 -1
  29. package/dist/cjs/session/pase/PaseClient.js.map +1 -1
  30. package/dist/cjs/session/pase/PaseMessages.d.ts +21 -0
  31. package/dist/cjs/session/pase/PaseMessages.d.ts.map +1 -1
  32. package/dist/cjs/session/pase/PaseMessages.js +6 -1
  33. package/dist/cjs/session/pase/PaseMessages.js.map +1 -1
  34. package/dist/cjs/session/pase/PaseMessenger.d.ts +10 -0
  35. package/dist/cjs/session/pase/PaseMessenger.d.ts.map +1 -1
  36. package/dist/cjs/session/pase/PaseServer.d.ts.map +1 -1
  37. package/dist/cjs/session/pase/PaseServer.js +8 -2
  38. package/dist/cjs/session/pase/PaseServer.js.map +1 -1
  39. package/dist/esm/common/Scanner.d.ts +25 -1
  40. package/dist/esm/common/Scanner.d.ts.map +1 -1
  41. package/dist/esm/common/Scanner.js +18 -1
  42. package/dist/esm/common/Scanner.js.map +1 -1
  43. package/dist/esm/fabric/Fabric.d.ts.map +1 -1
  44. package/dist/esm/fabric/Fabric.js +0 -1
  45. package/dist/esm/fabric/Fabric.js.map +1 -1
  46. package/dist/esm/mdns/MdnsBroadcaster.js +3 -3
  47. package/dist/esm/mdns/MdnsConsts.d.ts.map +1 -1
  48. package/dist/esm/mdns/MdnsScanner.d.ts.map +1 -1
  49. package/dist/esm/mdns/MdnsScanner.js +1 -1
  50. package/dist/esm/mdns/MdnsScanner.js.map +1 -1
  51. package/dist/esm/peer/ControllerCommissioningFlow.d.ts.map +1 -1
  52. package/dist/esm/peer/ControllerCommissioningFlow.js +55 -55
  53. package/dist/esm/peer/ControllerCommissioningFlow.js.map +1 -1
  54. package/dist/esm/session/Session.d.ts +33 -1
  55. package/dist/esm/session/Session.d.ts.map +1 -1
  56. package/dist/esm/session/Session.js +16 -3
  57. package/dist/esm/session/Session.js.map +1 -1
  58. package/dist/esm/session/SessionManager.d.ts.map +1 -1
  59. package/dist/esm/session/SessionManager.js +15 -4
  60. package/dist/esm/session/SessionManager.js.map +1 -1
  61. package/dist/esm/session/case/CaseMessages.d.ts +15 -0
  62. package/dist/esm/session/case/CaseMessages.d.ts.map +1 -1
  63. package/dist/esm/session/case/CaseMessenger.d.ts +15 -0
  64. package/dist/esm/session/case/CaseMessenger.d.ts.map +1 -1
  65. package/dist/esm/session/pase/PaseClient.d.ts.map +1 -1
  66. package/dist/esm/session/pase/PaseClient.js +7 -1
  67. package/dist/esm/session/pase/PaseClient.js.map +1 -1
  68. package/dist/esm/session/pase/PaseMessages.d.ts +21 -0
  69. package/dist/esm/session/pase/PaseMessages.d.ts.map +1 -1
  70. package/dist/esm/session/pase/PaseMessages.js +16 -2
  71. package/dist/esm/session/pase/PaseMessages.js.map +1 -1
  72. package/dist/esm/session/pase/PaseMessenger.d.ts +10 -0
  73. package/dist/esm/session/pase/PaseMessenger.d.ts.map +1 -1
  74. package/dist/esm/session/pase/PaseServer.d.ts.map +1 -1
  75. package/dist/esm/session/pase/PaseServer.js +8 -2
  76. package/dist/esm/session/pase/PaseServer.js.map +1 -1
  77. package/package.json +6 -6
  78. package/src/common/Scanner.ts +18 -2
  79. package/src/fabric/Fabric.ts +0 -1
  80. package/src/mdns/MdnsBroadcaster.ts +3 -3
  81. package/src/mdns/MdnsScanner.ts +3 -2
  82. package/src/peer/ControllerCommissioningFlow.ts +55 -52
  83. package/src/session/Session.ts +50 -1
  84. package/src/session/SessionManager.ts +20 -2
  85. package/src/session/pase/PaseClient.ts +10 -1
  86. package/src/session/pase/PaseMessages.ts +17 -1
  87. package/src/session/pase/PaseServer.ts +11 -1
@@ -145,53 +145,53 @@ class ControllerCommissioningFlow {
145
145
  stepLogic: () => this.#getInitialData()
146
146
  });
147
147
  this.#commissioningSteps.push({
148
- stepNumber: 4,
148
+ stepNumber: 7,
149
149
  subStepNumber: 1,
150
150
  name: "GeneralCommissioning.ArmFailsafe",
151
151
  stepLogic: () => this.#armFailsafe()
152
152
  });
153
153
  this.#commissioningSteps.push({
154
- stepNumber: 5,
154
+ stepNumber: 8,
155
155
  subStepNumber: 1,
156
156
  name: "GeneralCommissioning.ConfigureRegulatoryInformation",
157
157
  stepLogic: () => this.#configureRegulatoryInformation()
158
158
  });
159
159
  this.#commissioningSteps.push({
160
- stepNumber: 5,
160
+ stepNumber: 8,
161
161
  subStepNumber: 2,
162
162
  name: "TimeSynchronization.SynchronizeTime",
163
163
  stepLogic: () => this.#synchronizeTime()
164
164
  });
165
165
  this.#commissioningSteps.push({
166
- stepNumber: 6,
166
+ stepNumber: 10,
167
167
  subStepNumber: 1,
168
168
  name: "OperationalCredentials.DeviceAttestation",
169
169
  stepLogic: () => this.#deviceAttestation()
170
170
  });
171
171
  this.#commissioningSteps.push({
172
- stepNumber: 7,
173
- // includes 7-9
172
+ stepNumber: 11,
173
+ // includes 11-13
174
174
  subStepNumber: 1,
175
175
  name: "OperationalCredentials.Certificates",
176
176
  stepLogic: () => this.#certificates()
177
177
  });
178
178
  this.#commissioningSteps.push({
179
- stepNumber: 11,
179
+ stepNumber: 15,
180
180
  subStepNumber: 1,
181
181
  name: "AccessControl",
182
182
  stepLogic: () => this.#configureAccessControlLists()
183
183
  });
184
184
  if (this.#interactionClient.channelType === ChannelType.BLE) {
185
185
  this.#commissioningSteps.push({
186
- stepNumber: 12,
186
+ stepNumber: 16,
187
187
  subStepNumber: 1,
188
188
  name: "NetworkCommissioning.Validate",
189
189
  stepLogic: () => this.#validateNetwork()
190
190
  });
191
191
  if (this.#commissioningOptions.wifiNetwork !== void 0) {
192
192
  this.#commissioningSteps.push({
193
- stepNumber: 12,
194
- // includes step 13
193
+ stepNumber: 16,
194
+ // includes step 17
195
195
  subStepNumber: 2,
196
196
  name: "NetworkCommissioning.Wifi",
197
197
  reArmFailsafe: true,
@@ -200,8 +200,8 @@ class ControllerCommissioningFlow {
200
200
  }
201
201
  if (this.#commissioningOptions.threadNetwork !== void 0) {
202
202
  this.#commissioningSteps.push({
203
- stepNumber: 12,
204
- // includes step 13
203
+ stepNumber: 16,
204
+ // includes step 17
205
205
  subStepNumber: 3,
206
206
  name: "NetworkCommissioning.Thread",
207
207
  reArmFailsafe: true,
@@ -214,22 +214,22 @@ class ControllerCommissioningFlow {
214
214
  );
215
215
  }
216
216
  this.#commissioningSteps.push({
217
- stepNumber: 14,
218
- // includes step 15 (CASE connection)
217
+ stepNumber: 18,
218
+ // includes step 19 (CASE connection)
219
219
  subStepNumber: 1,
220
220
  name: "Reconnect",
221
221
  reArmFailsafe: true,
222
222
  stepLogic: () => this.#reconnectWithDevice()
223
223
  });
224
224
  this.#commissioningSteps.push({
225
- stepNumber: 16,
225
+ stepNumber: 20,
226
226
  subStepNumber: 1,
227
227
  name: "GeneralCommissioning.Complete",
228
228
  stepLogic: () => this.#completeCommissioning()
229
229
  });
230
230
  this.#commissioningSteps.push({
231
- stepNumber: 17,
232
- // Should be allowed in Step 9, but Tasmota is not supporting this
231
+ stepNumber: 99,
232
+ // Should be allowed in Step 13, but Tasmota is not supporting this
233
233
  subStepNumber: 1,
234
234
  name: "OperationalCredentials.UpdateFabricLabel",
235
235
  stepLogic: () => this.#updateFabricLabel()
@@ -315,7 +315,7 @@ class ControllerCommissioningFlow {
315
315
  };
316
316
  }
317
317
  /**
318
- * Step 4
318
+ * Step 7
319
319
  * Commissioner SHALL re-arm the Fail-safe timer on the Commissionee to the desired commissioning
320
320
  * timeout within 60 seconds of the completion of PASE session establishment, using the
321
321
  * ArmFailSafe command (see Section 11.10.6.2, “ArmFailSafe Command”). A Commissioner MAY
@@ -359,7 +359,7 @@ class ControllerCommissioningFlow {
359
359
  }
360
360
  }
361
361
  /**
362
- * Step 5 - 1
362
+ * Step 8 - 1
363
363
  * Commissioner SHALL configure regulatory information if the Commissionee has at least one instance of
364
364
  * the Network Commissioning cluster on any endpoint with either the WI (i.e. Wi-Fi) or TH (i.e. Thread)
365
365
  * feature flags set in its FeatureMap, Commissioner SHALL configure regulatory information in the
@@ -421,7 +421,7 @@ class ControllerCommissioningFlow {
421
421
  };
422
422
  }
423
423
  /**
424
- * Step 5 - 2
424
+ * Step 8 - 2
425
425
  * Commissioner SHOULD configure UTC time, timezone, and DST offset, if the Commissionee supports the
426
426
  * time synchronization cluster.
427
427
  * ▪ The Commissioner SHOULD configure UTC time using the SetUTCTime command.
@@ -441,7 +441,7 @@ class ControllerCommissioningFlow {
441
441
  };
442
442
  }
443
443
  /**
444
- * Step 6
444
+ * Step 10
445
445
  * Commissioner SHALL establish the authenticity of the Commissionee as a certified Matter device
446
446
  * (see Section 6.2.3, “Device Attestation Procedure”).
447
447
  */
@@ -474,20 +474,20 @@ class ControllerCommissioningFlow {
474
474
  };
475
475
  }
476
476
  /**
477
- * Step 7-9
478
- * 7: Following the Device Attestation Procedure yielding a decision to proceed with commissioning, the Commissioner
479
- * SHALL request operational CSR from Commissionee using the CSRRequest command (see Section 11.17.6.5,
480
- * “CSRRequest Command”). The CSRRequest command will cause the generation of a new operational key pair at the
481
- * Commissionee.
482
- * 8: Commissioner SHALL generate or otherwise obtain an Operational Certificate containing Operational ID after
483
- * receiving the CSRResponse command from the Commissionee (see Section 11.17.6.5, “CSRRequest Command”), using
484
- * implementation-specific means.
485
- * 9: Commissioner SHALL install operational credentials (see Figure 40, “Node Operational Credentials
486
- * flow”) on the Commissionee using the AddTrustedRootCertificate and AddNOC commands,
487
- * and SHALL use the UpdateFabricLabel command to set a string that the user can recognize and
488
- * relate to this Commissioner/Administrator.
489
- * The AdminVendorId field of the AddNOC command SHALL be set to a value for which the Vendor Schema in
490
- * DCL contains the name and other information of the Commissioner’s manufacturer.
477
+ * Step 11-13
478
+ * 11: Following the Device Attestation Procedure yielding a decision to proceed with commissioning, the Commissioner
479
+ * SHALL request operational CSR from Commissionee using the CSRRequest command (see Section 11.17.6.5,
480
+ * “CSRRequest Command”). The CSRRequest command will cause the generation of a new operational key pair at the
481
+ * Commissionee.
482
+ * 12: Commissioner SHALL generate or otherwise obtain an Operational Certificate containing Operational ID after
483
+ * receiving the CSRResponse command from the Commissionee (see Section 11.17.6.5, “CSRRequest Command”), using
484
+ * implementation-specific means.
485
+ * 13: Commissioner SHALL install operational credentials (see Figure 40, “Node Operational Credentials
486
+ * flow”) on the Commissionee using the AddTrustedRootCertificate and AddNOC commands,
487
+ * and SHALL use the UpdateFabricLabel command to set a string that the user can recognize and
488
+ * relate to this Commissioner/Administrator.
489
+ * The AdminVendorId field of the AddNOC command SHALL be set to a value for which the Vendor Schema in
490
+ * DCL contains the name and other information of the Commissioner’s manufacturer.
491
491
  */
492
492
  async #certificates() {
493
493
  const operationalCredentialsClusterClient = this.#getClusterClient(OperationalCredentials.Cluster);
@@ -530,7 +530,7 @@ class ControllerCommissioningFlow {
530
530
  };
531
531
  }
532
532
  /**
533
- * Step 9 - 2
533
+ * Step 13-2 (we do as 99 at the end because)
534
534
  * The Administrator having established a CASE session with the Commissionee over the operational network in the
535
535
  * previous steps SHALL invoke the CommissioningComplete command (see Section 11.9.6.6,
536
536
  * “CommissioningComplete Command”). A success response after invocation of the CommissioningComplete command ends
@@ -563,7 +563,7 @@ class ControllerCommissioningFlow {
563
563
  };
564
564
  }
565
565
  /**
566
- * Step 11
566
+ * Step 15
567
567
  * Commissioner MAY configure the Access Control List (see Access Control Cluster) on the Commissionee in any way
568
568
  * it sees fit, if the singular entry added by the AddNOC command in the previous step granting Administer
569
569
  * privilege over CASE authentication type for the Node ID provided with the command is not sufficient to express
@@ -576,16 +576,17 @@ class ControllerCommissioningFlow {
576
576
  };
577
577
  }
578
578
  /**
579
- * Step 12-13
580
- * 12: If the Commissionee both supports it and requires it, the Commissioner SHALL configure the operational network
581
- * at the Commissionee using commands such as AddOrUpdateWiFiNetwork (see Section 11.8.7.3, “AddOrUpdateWiFiNetwork
582
- * Command”) and AddOrUpdateThreadNetwork (see Section 11.8.7.4, “AddOrUpdateThreadNetwork Command”).
583
- * A Commissionee requires network commissioning if it is not already on the desired operational network.
584
- * A Commissionee supports network commissioning if it has any NetworkCommissioning cluster instances.
585
- * A Commissioner MAY learn about the networks visible to the Commissionee using ScanNetworks command
586
- * (see Section 11.8.7.1, “ScanNetworks Command”).
587
- * 13: The Commissioner SHALL trigger the Commissionee to connect to the operational network using ConnectNetwork
588
- * command (see Section 11.8.7.9, “ConnectNetwork Command”) unless the Commissionee is already on the desired operational network.
579
+ * Step 16-17
580
+ * 16: If the Commissionee both supports it and requires it, the Commissioner SHALL configure the operational network
581
+ * at the Commissionee using commands such as AddOrUpdateWiFiNetwork (see Section 11.8.7.3, “AddOrUpdateWiFiNetwork
582
+ * Command”) and AddOrUpdateThreadNetwork (see Section 11.8.7.4, “AddOrUpdateThreadNetwork Command”).
583
+ * A Commissionee requires network commissioning if it is not already on the desired operational network.
584
+ * A Commissionee supports network commissioning if it has any NetworkCommissioning cluster instances.
585
+ * A Commissioner MAY learn about the networks visible to the Commissionee using ScanNetworks command
586
+ * (see Section 11.8.7.1, “ScanNetworks Command”).
587
+ * 17: The Commissioner SHALL trigger the Commissionee to connect to the operational network using ConnectNetwork
588
+ * command (see Section 11.8.7.9, “ConnectNetwork Command”) unless the Commissionee is already on the desired
589
+ * operational network.
589
590
  */
590
591
  async #validateNetwork() {
591
592
  if (this.#collectedCommissioningData.networkFeatures === void 0 || this.#collectedCommissioningData.networkStatus === void 0) {
@@ -845,13 +846,12 @@ class ControllerCommissioningFlow {
845
846
  };
846
847
  }
847
848
  /**
848
- * Step 14-15
849
- * 14: Finalization of the Commissioning process begins. An Administrator configured in the ACL of the Commissionee
850
- * by the Commissioner SHALL use Operational Discovery to discover the Commissionee. This Administrator MAY be
851
- * the Commissioner itself, or another Node to which the Commissioner has delegated the task.
852
- * 15: The Administrator SHALL open a CASE (see Section 4.13.2, “Certificate Authenticated Session Establishment
853
- * (CASE)”) session with the Commissionee over the operational network.
854
- *
849
+ * Step 18-19
850
+ * 18: Finalization of the Commissioning process begins. An Administrator configured in the ACL of the Commissionee
851
+ * by the Commissioner SHALL use Operational Discovery to discover the Commissionee. This Administrator MAY be
852
+ * the Commissioner itself, or another Node to which the Commissioner has delegated the task.
853
+ * 19: The Administrator SHALL open a CASE (see Section 4.13.2, “Certificate Authenticated Session Establishment
854
+ * (CASE)”) session with the Commissionee over the operational network.
855
855
  */
856
856
  async #reconnectWithDevice() {
857
857
  const isConcurrentFlow = this.#collectedCommissioningData.supportsConcurrentConnection !== false;
@@ -899,7 +899,7 @@ class ControllerCommissioningFlow {
899
899
  };
900
900
  }
901
901
  /**
902
- * Step 16
902
+ * Step 20
903
903
  * The Administrator having established a CASE session with the Commissionee over the operational network in the
904
904
  * previous steps SHALL invoke the CommissioningComplete command (see Section 11.9.6.6,
905
905
  * “CommissioningComplete Command”). A success response after invocation of the CommissioningComplete command ends
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/peer/ControllerCommissioningFlow.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["CommissioningStepResultCode"]
6
6
  }
@@ -4,8 +4,9 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { AsyncObservable } from "#general";
7
- import { NodeId } from "#types";
7
+ import { NodeId, TypeFromPartialBitSchema } from "#types";
8
8
  import { DecodedMessage, DecodedPacket, Message, Packet } from "../codec/MessageCodec.js";
9
+ import { SupportedTransportsBitmap } from "../common/Scanner.js";
9
10
  import { Fabric } from "../fabric/Fabric.js";
10
11
  import { MessageCounter } from "../protocol/MessageCounter.js";
11
12
  import { MessageReceptionState } from "../protocol/MessageReceptionState.js";
@@ -36,14 +37,43 @@ export declare const FALLBACK_SPECIFICATION_VERSION = 0;
36
37
  * Session parameters.
37
38
  */
38
39
  export declare const FALLBACK_MAX_PATHS_PER_INVOKE = 1;
40
+ export declare const FALLBACK_MAX_TCP_MESSAGE_SIZE = 64000;
39
41
  export interface SessionParameters {
42
+ /**
43
+ * Minimum amount of time between sender retries when the destination node is Idle.
44
+ * This SHALL be greater than or equal to the maximum amount of time a node may be
45
+ * non-responsive to incoming messages when Idle.
46
+ * Default: 500ms
47
+ */
40
48
  idleIntervalMs: number;
49
+ /**
50
+ * Minimum amount of time between sender retries when the destination node is Active.
51
+ * This SHALL be greater than or equal to the maximum amount of time a node may be
52
+ * non-responsive to incoming messages when Active.
53
+ * Default: 300ms
54
+ */
41
55
  activeIntervalMs: number;
56
+ /**
57
+ * Minimum amount of time the node SHOULD stay active after network activity.
58
+ * Default: 4000ms
59
+ */
42
60
  activeThresholdMs: number;
61
+ /** Version of Data Model for the Session parameters side where it appears. */
43
62
  dataModelRevision: number;
63
+ /** Version of Interaction Model for the Session parameters side where it appears. */
44
64
  interactionModelRevision: number;
65
+ /** Version of Specification for the Session parameters side where it appears. */
45
66
  specificationVersion: number;
67
+ /** The maximum number of elements in the InvokeRequests list that the Node is able to process. */
46
68
  maxPathsPerInvoke: number;
69
+ /** A bitmap of the supported transport protocols in addition to MRP. */
70
+ supportedTransports: TypeFromPartialBitSchema<typeof SupportedTransportsBitmap>;
71
+ /**
72
+ * Maximum size of the message carried over TCP, excluding the framing message length
73
+ * field, that the node is capable of receiving from its peer.
74
+ * Default: 64000 bytes
75
+ */
76
+ maxTcpMessageSize: number;
47
77
  }
48
78
  export type SessionParameterOptions = Partial<SessionParameters>;
49
79
  export declare abstract class Session {
@@ -62,6 +92,8 @@ export declare abstract class Session {
62
92
  protected readonly maxPathsPerInvoke: number;
63
93
  protected readonly messageCounter: MessageCounter;
64
94
  protected readonly messageReceptionState: MessageReceptionState;
95
+ protected readonly supportedTransports: TypeFromPartialBitSchema<typeof SupportedTransportsBitmap>;
96
+ protected readonly maxTcpMessageSize: number;
65
97
  /**
66
98
  * If the ExchangeManager performs async work to clean up a session it sets this promise. This is because
67
99
  * historically we didn't return from destroy() until ExchangeManager was complete. Not sure if this is entirely
@@ -1 +1 @@
1
- {"version":3,"file":"Session.d.ts","sourceRoot":"","sources":["../../../src/session/Session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Session.d.ts","sourceRoot":"","sources":["../../../src/session/Session.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ const FALLBACK_DATAMODEL_REVISION = 17;
11
11
  const FALLBACK_INTERACTIONMODEL_REVISION = 11;
12
12
  const FALLBACK_SPECIFICATION_VERSION = 0;
13
13
  const FALLBACK_MAX_PATHS_PER_INVOKE = 1;
14
+ const FALLBACK_MAX_TCP_MESSAGE_SIZE = 64e3;
14
15
  class Session {
15
16
  #manager;
16
17
  timestamp = Time.nowMs();
@@ -25,6 +26,8 @@ class Session {
25
26
  maxPathsPerInvoke;
26
27
  messageCounter;
27
28
  messageReceptionState;
29
+ supportedTransports;
30
+ maxTcpMessageSize;
28
31
  /**
29
32
  * If the ExchangeManager performs async work to clean up a session it sets this promise. This is because
30
33
  * historically we didn't return from destroy() until ExchangeManager was complete. Not sure if this is entirely
@@ -44,7 +47,10 @@ class Session {
44
47
  dataModelRevision = FALLBACK_DATAMODEL_REVISION,
45
48
  interactionModelRevision = FALLBACK_INTERACTIONMODEL_REVISION,
46
49
  specificationVersion = FALLBACK_SPECIFICATION_VERSION,
47
- maxPathsPerInvoke = FALLBACK_MAX_PATHS_PER_INVOKE
50
+ maxPathsPerInvoke = FALLBACK_MAX_PATHS_PER_INVOKE,
51
+ supportedTransports = {},
52
+ // no TCP support by default
53
+ maxTcpMessageSize = FALLBACK_MAX_TCP_MESSAGE_SIZE
48
54
  } = {},
49
55
  setActiveTimestamp
50
56
  } = args;
@@ -58,6 +64,8 @@ class Session {
58
64
  this.interactionModelRevision = interactionModelRevision;
59
65
  this.specificationVersion = specificationVersion;
60
66
  this.maxPathsPerInvoke = maxPathsPerInvoke;
67
+ this.supportedTransports = supportedTransports;
68
+ this.maxTcpMessageSize = maxTcpMessageSize;
61
69
  if (setActiveTimestamp) {
62
70
  this.activeTimestamp = this.timestamp;
63
71
  }
@@ -91,7 +99,9 @@ class Session {
91
99
  dataModelRevision,
92
100
  interactionModelRevision,
93
101
  specificationVersion,
94
- maxPathsPerInvoke
102
+ maxPathsPerInvoke,
103
+ supportedTransports,
104
+ maxTcpMessageSize
95
105
  } = this;
96
106
  return {
97
107
  idleIntervalMs,
@@ -100,7 +110,9 @@ class Session {
100
110
  dataModelRevision,
101
111
  interactionModelRevision,
102
112
  specificationVersion,
103
- maxPathsPerInvoke
113
+ maxPathsPerInvoke,
114
+ supportedTransports,
115
+ maxTcpMessageSize
104
116
  };
105
117
  }
106
118
  get manager() {
@@ -117,6 +129,7 @@ export {
117
129
  FALLBACK_DATAMODEL_REVISION,
118
130
  FALLBACK_INTERACTIONMODEL_REVISION,
119
131
  FALLBACK_MAX_PATHS_PER_INVOKE,
132
+ FALLBACK_MAX_TCP_MESSAGE_SIZE,
120
133
  FALLBACK_SPECIFICATION_VERSION,
121
134
  SESSION_ACTIVE_INTERVAL_MS,
122
135
  SESSION_ACTIVE_THRESHOLD_MS,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/session/Session.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,iBAAiB,YAAY;AAY/B,MAAM,6BAA6B;AAMnC,MAAM,2BAA2B;AAGjC,MAAM,8BAA8B;AAGpC,MAAM,8BAA8B;AAGpC,MAAM,qCAAqC;AAM3C,MAAM,iCAAiC;AAMvC,MAAM,gCAAgC;AActC,MAAe,QAAQ;AAAA,EAG1B;AAAA,EACA,YAAY,KAAK,MAAM;AAAA,EACd,YAAY,KAAK,MAAM;AAAA,EAChC,kBAAkB;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOnB;AAAA,EACA,aAAa,gBAAoB;AAAA,EAEjC,YAAY,MAMT;AACC,UAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA,mBAAmB;AAAA,QACf,iBAAiB;AAAA,QACjB,mBAAmB;AAAA,QACnB,oBAAoB;AAAA,QACpB,oBAAoB;AAAA,QACpB,2BAA2B;AAAA,QAC3B,uBAAuB;AAAA,QACvB,oBAAoB;AAAA,MACxB,IAAI,CAAC;AAAA,MACL;AAAA,IACJ,IAAI;AACJ,SAAK,WAAW;AAChB,SAAK,iBAAiB;AACtB,SAAK,wBAAwB;AAC7B,SAAK,iBAAiB;AACtB,SAAK,mBAAmB;AACxB,SAAK,oBAAoB;AACzB,SAAK,oBAAoB;AACzB,SAAK,2BAA2B;AAChC,SAAK,uBAAuB;AAC5B,SAAK,oBAAoB;AACzB,QAAI,oBAAoB;AACpB,WAAK,kBAAkB,KAAK;AAAA,IAChC;AAAA,EACJ;AAAA,EAEA,IAAI,YAAY;AACZ,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,eAAe,iBAA0B;AACrC,SAAK,YAAY,KAAK,MAAM;AAC5B,QAAI,iBAAiB;AAEjB,WAAK,kBAAkB,KAAK;AAAA,IAChC;AAAA,EACJ;AAAA,EAEA,eAAwB;AACpB,WAAO,KAAK,MAAM,IAAI,KAAK,kBAAkB,KAAK;AAAA,EACtD;AAAA,EAEA,+BAA+B;AAC3B,WAAO,KAAK,eAAe,sBAAsB;AAAA,EACrD;AAAA,EAEA,qBAAqB,gBAAwB,eAAwB;AACjE,SAAK,sBAAsB,qBAAqB,cAAc;AAAA,EAClE;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,aAAgC;AAChC,UAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ,IAAI;AACJ,WAAO;AAAA,MACH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAgBA,IAAc,UAAU;AACpB,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,QAAQ;AACR,WAAO,KAAK,UAAU;AAAA,EAC1B;AACJ;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,iBAAiB,YAAY;AAa/B,MAAM,6BAA6B;AAMnC,MAAM,2BAA2B;AAGjC,MAAM,8BAA8B;AAGpC,MAAM,8BAA8B;AAGpC,MAAM,qCAAqC;AAM3C,MAAM,iCAAiC;AAMvC,MAAM,gCAAgC;AAEtC,MAAM,gCAAgC;AAkDtC,MAAe,QAAQ;AAAA,EAG1B;AAAA,EACA,YAAY,KAAK,MAAM;AAAA,EACd,YAAY,KAAK,MAAM;AAAA,EAChC,kBAAkB;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOnB;AAAA,EACA,aAAa,gBAAoB;AAAA,EAEjC,YAAY,MAMT;AACC,UAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA,mBAAmB;AAAA,QACf,iBAAiB;AAAA,QACjB,mBAAmB;AAAA,QACnB,oBAAoB;AAAA,QACpB,oBAAoB;AAAA,QACpB,2BAA2B;AAAA,QAC3B,uBAAuB;AAAA,QACvB,oBAAoB;AAAA,QACpB,sBAAsB,CAAC;AAAA;AAAA,QACvB,oBAAoB;AAAA,MACxB,IAAI,CAAC;AAAA,MACL;AAAA,IACJ,IAAI;AACJ,SAAK,WAAW;AAChB,SAAK,iBAAiB;AACtB,SAAK,wBAAwB;AAC7B,SAAK,iBAAiB;AACtB,SAAK,mBAAmB;AACxB,SAAK,oBAAoB;AACzB,SAAK,oBAAoB;AACzB,SAAK,2BAA2B;AAChC,SAAK,uBAAuB;AAC5B,SAAK,oBAAoB;AACzB,SAAK,sBAAsB;AAC3B,SAAK,oBAAoB;AACzB,QAAI,oBAAoB;AACpB,WAAK,kBAAkB,KAAK;AAAA,IAChC;AAAA,EACJ;AAAA,EAEA,IAAI,YAAY;AACZ,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,eAAe,iBAA0B;AACrC,SAAK,YAAY,KAAK,MAAM;AAC5B,QAAI,iBAAiB;AAEjB,WAAK,kBAAkB,KAAK;AAAA,IAChC;AAAA,EACJ;AAAA,EAEA,eAAwB;AACpB,WAAO,KAAK,MAAM,IAAI,KAAK,kBAAkB,KAAK;AAAA,EACtD;AAAA,EAEA,+BAA+B;AAC3B,WAAO,KAAK,eAAe,sBAAsB;AAAA,EACrD;AAAA,EAEA,qBAAqB,gBAAwB,eAAwB;AACjE,SAAK,sBAAsB,qBAAqB,cAAc;AAAA,EAClE;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,aAAgC;AAChC,UAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ,IAAI;AACJ,WAAO;AAAA,MACH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAgBA,IAAc,UAAU;AACpB,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,QAAQ;AACR,WAAO,KAAK,UAAU;AAAA,EAC1B;AACJ;",
5
5
  "names": []
6
6
  }
@@ -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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"}
@@ -22,6 +22,7 @@ import {
22
22
  import { Specification } from "#model";
23
23
  import { PeerAddress, PeerAddressMap } from "#peer/PeerAddress.js";
24
24
  import { DEFAULT_MAX_PATHS_PER_INVOKE, NodeId } from "#types";
25
+ import { SupportedTransportsSchema } from "../common/Scanner.js";
25
26
  import { MessageCounter } from "../protocol/MessageCounter.js";
26
27
  import { InsecureSession } from "./InsecureSession.js";
27
28
  import { SecureSession } from "./SecureSession.js";
@@ -29,6 +30,7 @@ import {
29
30
  FALLBACK_DATAMODEL_REVISION,
30
31
  FALLBACK_INTERACTIONMODEL_REVISION,
31
32
  FALLBACK_MAX_PATHS_PER_INVOKE,
33
+ FALLBACK_MAX_TCP_MESSAGE_SIZE,
32
34
  FALLBACK_SPECIFICATION_VERSION,
33
35
  SESSION_ACTIVE_INTERVAL_MS,
34
36
  SESSION_ACTIVE_THRESHOLD_MS,
@@ -42,7 +44,9 @@ const DEFAULT_SESSION_PARAMETERS = {
42
44
  dataModelRevision: Specification.DATA_MODEL_REVISION,
43
45
  interactionModelRevision: Specification.INTERACTION_MODEL_REVISION,
44
46
  specificationVersion: Specification.SPECIFICATION_VERSION,
45
- maxPathsPerInvoke: DEFAULT_MAX_PATHS_PER_INVOKE
47
+ maxPathsPerInvoke: DEFAULT_MAX_PATHS_PER_INVOKE,
48
+ supportedTransports: {},
49
+ maxTcpMessageSize: FALLBACK_MAX_TCP_MESSAGE_SIZE
46
50
  };
47
51
  const UNICAST_UNSECURE_SESSION_ID = 0;
48
52
  class SessionManager {
@@ -306,7 +310,10 @@ class SessionManager {
306
310
  resumptionId,
307
311
  fabricId: fabric.fabricId,
308
312
  peerNodeId,
309
- sessionParameters,
313
+ sessionParameters: {
314
+ ...sessionParameters,
315
+ supportedTransports: sessionParameters.supportedTransports ? SupportedTransportsSchema.encode(sessionParameters.supportedTransports) : void 0
316
+ },
310
317
  caseAuthenticatedTags
311
318
  })
312
319
  )
@@ -332,7 +339,9 @@ class SessionManager {
332
339
  dataModelRevision,
333
340
  interactionModelRevision,
334
341
  specificationVersion,
335
- maxPathsPerInvoke
342
+ maxPathsPerInvoke,
343
+ supportedTransports,
344
+ maxTcpMessageSize
336
345
  } = {},
337
346
  caseAuthenticatedTags
338
347
  }) => {
@@ -362,7 +371,9 @@ class SessionManager {
362
371
  dataModelRevision: dataModelRevision ?? FALLBACK_DATAMODEL_REVISION,
363
372
  interactionModelRevision: interactionModelRevision ?? FALLBACK_INTERACTIONMODEL_REVISION,
364
373
  specificationVersion: specificationVersion ?? FALLBACK_SPECIFICATION_VERSION,
365
- maxPathsPerInvoke: maxPathsPerInvoke ?? FALLBACK_MAX_PATHS_PER_INVOKE
374
+ maxPathsPerInvoke: maxPathsPerInvoke ?? FALLBACK_MAX_PATHS_PER_INVOKE,
375
+ supportedTransports: supportedTransports !== void 0 ? SupportedTransportsSchema.decode(supportedTransports) : {},
376
+ maxTcpMessageSize: maxTcpMessageSize ?? FALLBACK_MAX_TCP_MESSAGE_SIZE
366
377
  },
367
378
  caseAuthenticatedTags
368
379
  });
@@ -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": ["fabric"]
6
6
  }