@matter/node 0.16.0-alpha.0-20250809-ee8375bcb → 0.16.0-alpha.0-20250812-285b75d83

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 (45) hide show
  1. package/dist/cjs/behavior/system/commissioning/CommissioningServer.d.ts +4 -7
  2. package/dist/cjs/behavior/system/commissioning/CommissioningServer.d.ts.map +1 -1
  3. package/dist/cjs/behavior/system/commissioning/CommissioningServer.js +11 -16
  4. package/dist/cjs/behavior/system/commissioning/CommissioningServer.js.map +1 -1
  5. package/dist/cjs/behavior/system/controller/ControllerBehavior.js +4 -4
  6. package/dist/cjs/behavior/system/controller/ControllerBehavior.js.map +1 -1
  7. package/dist/cjs/behavior/system/controller/discovery/ActiveDiscoveries.js +2 -2
  8. package/dist/cjs/behavior/system/controller/discovery/ActiveDiscoveries.js.map +1 -1
  9. package/dist/cjs/behavior/system/network/ServerNetworkRuntime.d.ts +6 -6
  10. package/dist/cjs/behavior/system/network/ServerNetworkRuntime.d.ts.map +1 -1
  11. package/dist/cjs/behavior/system/network/ServerNetworkRuntime.js +46 -39
  12. package/dist/cjs/behavior/system/network/ServerNetworkRuntime.js.map +1 -1
  13. package/dist/cjs/behaviors/administrator-commissioning/AdministratorCommissioningServer.d.ts +2 -1
  14. package/dist/cjs/behaviors/administrator-commissioning/AdministratorCommissioningServer.d.ts.map +1 -1
  15. package/dist/cjs/behaviors/administrator-commissioning/AdministratorCommissioningServer.js +6 -5
  16. package/dist/cjs/behaviors/administrator-commissioning/AdministratorCommissioningServer.js.map +1 -1
  17. package/dist/cjs/behaviors/general-commissioning/GeneralCommissioningServer.d.ts.map +1 -1
  18. package/dist/cjs/behaviors/general-commissioning/GeneralCommissioningServer.js +7 -1
  19. package/dist/cjs/behaviors/general-commissioning/GeneralCommissioningServer.js.map +1 -1
  20. package/dist/esm/behavior/system/commissioning/CommissioningServer.d.ts +4 -7
  21. package/dist/esm/behavior/system/commissioning/CommissioningServer.d.ts.map +1 -1
  22. package/dist/esm/behavior/system/commissioning/CommissioningServer.js +11 -16
  23. package/dist/esm/behavior/system/commissioning/CommissioningServer.js.map +1 -1
  24. package/dist/esm/behavior/system/controller/ControllerBehavior.js +5 -5
  25. package/dist/esm/behavior/system/controller/ControllerBehavior.js.map +1 -1
  26. package/dist/esm/behavior/system/controller/discovery/ActiveDiscoveries.js +3 -3
  27. package/dist/esm/behavior/system/controller/discovery/ActiveDiscoveries.js.map +1 -1
  28. package/dist/esm/behavior/system/network/ServerNetworkRuntime.d.ts +6 -6
  29. package/dist/esm/behavior/system/network/ServerNetworkRuntime.d.ts.map +1 -1
  30. package/dist/esm/behavior/system/network/ServerNetworkRuntime.js +49 -39
  31. package/dist/esm/behavior/system/network/ServerNetworkRuntime.js.map +1 -1
  32. package/dist/esm/behaviors/administrator-commissioning/AdministratorCommissioningServer.d.ts +2 -1
  33. package/dist/esm/behaviors/administrator-commissioning/AdministratorCommissioningServer.d.ts.map +1 -1
  34. package/dist/esm/behaviors/administrator-commissioning/AdministratorCommissioningServer.js +8 -7
  35. package/dist/esm/behaviors/administrator-commissioning/AdministratorCommissioningServer.js.map +1 -1
  36. package/dist/esm/behaviors/general-commissioning/GeneralCommissioningServer.d.ts.map +1 -1
  37. package/dist/esm/behaviors/general-commissioning/GeneralCommissioningServer.js +8 -2
  38. package/dist/esm/behaviors/general-commissioning/GeneralCommissioningServer.js.map +1 -1
  39. package/package.json +7 -7
  40. package/src/behavior/system/commissioning/CommissioningServer.ts +15 -26
  41. package/src/behavior/system/controller/ControllerBehavior.ts +5 -5
  42. package/src/behavior/system/controller/discovery/ActiveDiscoveries.ts +3 -3
  43. package/src/behavior/system/network/ServerNetworkRuntime.ts +53 -44
  44. package/src/behaviors/administrator-commissioning/AdministratorCommissioningServer.ts +8 -7
  45. package/src/behaviors/general-commissioning/GeneralCommissioningServer.ts +8 -2
@@ -9,10 +9,10 @@ import { AccessLevel } from "#model";
9
9
  import { DeviceCommissioner, FailsafeContext, PaseServer, SessionManager } from "#protocol";
10
10
  import {
11
11
  Command,
12
- MAXIMUM_COMMISSIONING_TIMEOUT_S,
13
12
  MINIMUM_COMMISSIONING_TIMEOUT_S,
14
13
  PAKE_PASSCODE_VERIFIER_LENGTH,
15
- StatusCode,
14
+ STANDARD_COMMISSIONING_TIMEOUT_S,
15
+ Status,
16
16
  StatusResponseError,
17
17
  TlvByteString,
18
18
  TlvField,
@@ -142,13 +142,13 @@ class AdministratorCommissioningServer extends AdministratorCommissioningBehavio
142
142
  if (commissioningTimeout > this.internal.maximumCommissioningTimeoutS) {
143
143
  throw new StatusResponseError(
144
144
  `Commissioning timeout must not exceed ${this.internal.maximumCommissioningTimeoutS} seconds.`,
145
- StatusCode.InvalidCommand
145
+ Status.InvalidCommand
146
146
  );
147
147
  }
148
148
  if (commissioningTimeout < this.internal.minimumCommissioningTimeoutS) {
149
149
  throw new StatusResponseError(
150
150
  `Commissioning timeout must not be lower then ${this.internal.minimumCommissioningTimeoutS} seconds.`,
151
- StatusCode.InvalidCommand
151
+ Status.InvalidCommand
152
152
  );
153
153
  }
154
154
  if (commissioner.isFailsafeArmed) {
@@ -159,7 +159,7 @@ class AdministratorCommissioningServer extends AdministratorCommissioningBehavio
159
159
  * This method is used internally when the commissioning window timer expires or the commissioning was completed.
160
160
  */
161
161
  #endCommissioning() {
162
- logger.debug("End commissioning window.");
162
+ logger.debug("Ending commissioning");
163
163
  if (this.internal.commissioningWindowTimeout !== void 0) {
164
164
  this.internal.commissioningWindowTimeout.stop();
165
165
  this.internal.commissioningWindowTimeout = void 0;
@@ -208,9 +208,10 @@ class AdministratorCommissioningServer extends AdministratorCommissioningBehavio
208
208
  */
209
209
  minimumCommissioningTimeoutS = MINIMUM_COMMISSIONING_TIMEOUT_S;
210
210
  /**
211
- * Mandated by spec; should only be modified in testing.
211
+ * Commissioning beyond the standard 15-minute window is "extended commissioning" and has limitations on
212
+ * advertisement. We default to the standard window.
212
213
  */
213
- maximumCommissioningTimeoutS = MAXIMUM_COMMISSIONING_TIMEOUT_S;
214
+ maximumCommissioningTimeoutS = STANDARD_COMMISSIONING_TIMEOUT_S;
214
215
  }
215
216
  AdministratorCommissioningServer2.Internal = Internal;
216
217
  class State extends AdministratorCommissioningBehavior.State {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/behaviors/administrator-commissioning/AdministratorCommissioningServer.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["AdministratorCommissioningServer"]
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GeneralCommissioningServer.d.ts","sourceRoot":"","sources":["../../../../src/behaviors/general-commissioning/GeneralCommissioningServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAA2B,YAAY,EAAE,MAAM,UAAU,CAAC;AAGjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAMjF;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,4BAA4B;;IAChE,KAAK,EAAE,0BAA0B,CAAC,KAAK,CAAC;IAEhD,OAAgB,YAAY,UAAS;IAE5B,UAAU,IAAI,YAAY;IA+F1B,WAAW,CAAC,OAAO,EAAE,oBAAoB,CAAC,kBAAkB;;;;IAItD,mBAAmB,CAAC,EAC/B,UAAU,EACV,mBAAmB,EACnB,WAAW,GACd,EAAE,oBAAoB,CAAC,0BAA0B;;;;IAyEnC,qBAAqB;;;;CA4CvC;AAED,yBAAiB,0BAA0B,CAAC;IAGxC,MAAa,KAAM,SAAQ,4BAA4B,CAAC,KAAK;QACzD;;WAEG;QACH,sBAAsB,UAAQ;QAE9B;;WAEG;QACH,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAa;KAC/C;CACJ"}
1
+ {"version":3,"file":"GeneralCommissioningServer.d.ts","sourceRoot":"","sources":["../../../../src/behaviors/general-commissioning/GeneralCommissioningServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAA8C,YAAY,EAAE,MAAM,UAAU,CAAC;AAGpF,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAMjF;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,4BAA4B;;IAChE,KAAK,EAAE,0BAA0B,CAAC,KAAK,CAAC;IAEhD,OAAgB,YAAY,UAAS;IAE5B,UAAU,IAAI,YAAY;IA+F1B,WAAW,CAAC,OAAO,EAAE,oBAAoB,CAAC,kBAAkB;;;;IAItD,mBAAmB,CAAC,EAC/B,UAAU,EACV,mBAAmB,EACnB,WAAW,GACd,EAAE,oBAAoB,CAAC,0BAA0B;;;;IAyEnC,qBAAqB;;;;CAkDvC;AAED,yBAAiB,0BAA0B,CAAC;IAGxC,MAAa,KAAM,SAAQ,4BAA4B,CAAC,KAAK;QACzD;;WAEG;QACH,sBAAsB,UAAQ;QAE9B;;WAEG;QACH,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAa;KAC/C;CACJ"}
@@ -7,7 +7,7 @@ import { AdministratorCommissioningServer } from "#behaviors/administrator-commi
7
7
  import { BasicInformationServer } from "#behaviors/basic-information";
8
8
  import { AdministratorCommissioning } from "#clusters/administrator-commissioning";
9
9
  import { GeneralCommissioning } from "#clusters/general-commissioning";
10
- import { Logger, MatterFlowError } from "#general";
10
+ import { Bytes, Diagnostic, Logger, MatterFlowError } from "#general";
11
11
  import { DeviceCommissioner, FabricManager, GroupSession, NodeSession, SecureSession, SessionManager } from "#protocol";
12
12
  import { GeneralCommissioningBehavior } from "./GeneralCommissioningBehavior.js";
13
13
  import { ServerNodeFailsafeContext } from "./ServerNodeFailsafeContext.js";
@@ -155,7 +155,13 @@ class GeneralCommissioningServer extends GeneralCommissioningBehavior {
155
155
  }
156
156
  await failsafeContext.completeCommission();
157
157
  this.state.breadcrumb = BigInt(0);
158
- logger.info(`Commissioning completed on fabric #${fabric.fabricId} as node #${fabric.nodeId}.`);
158
+ logger.info(
159
+ "Commissioned",
160
+ Diagnostic.dict({
161
+ fabric: `${Bytes.toHex(fabric.operationalId)} (#${fabric.fabricIndex})`,
162
+ node: fabric.nodeId.toString(16).padStart(16, "0")
163
+ })
164
+ );
159
165
  return SuccessResponse;
160
166
  }
161
167
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/behaviors/general-commissioning/GeneralCommissioningServer.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,wCAAwC;AACjD,SAAS,8BAA8B;AACvC,SAAS,kCAAkC;AAC3C,SAAS,4BAA4B;AACrC,SAAS,QAAQ,uBAAqC;AAEtD,SAAS,oBAAoB,eAAe,cAAc,aAAa,eAAe,sBAAsB;AAC5G,SAAS,oCAAoC;AAC7C,SAAS,iCAAiC;AAE1C,MAAM,kBAAkB,EAAE,WAAW,qBAAqB,mBAAmB,IAAI,WAAW,GAAG;AAC/F,MAAM,SAAS,OAAO,IAAI,oCAAoC;AAKvD,MAAM,mCAAmC,6BAA6B;AAAA,EAGzE,OAAgB,eAAe;AAAA,EAEtB,aAA2B;AAChC,UAAM,MAAM,KAAK,MAAM;AAEvB,QAAI,IAAI,gCAAgC,QAAW;AAE/C,UAAI,8BAA8B;AAAA,IACtC;AAEA,QAAI,IAAI,iCAAiC,QAAW;AAEhD,UAAI,+BAA+B;AAAA,IACvC;AAEA,SAAK,MAAM,aAAa;AAExB,UAAM,iBAAiB,KAAK,IAAI,IAAI,cAAc;AAClD,SAAK,QAAQ,eAAe,SAAS,OAAO,KAAK,wBAAwB;AAAA,EAC7E;AAAA;AAAA,EAGA,MAAM,yBAAyB,SAAsB;AACjD,QACI,CAAC,QAAQ;AAAA,IACT,QAAQ,WAAW,QACrB;AACE;AAAA,IACJ;AACA,WAAO,MAAM,2BAA2B,QAAQ,EAAE,4BAA4B;AAC9E,UAAM,KAAK,aAAa,EAAE,YAAY,KAAK,MAAM,YAAY,qBAAqB,GAAG,GAAG,OAAO;AAAA,EACnG;AAAA,EAEA,MAAM,aACF,EAAE,YAAY,oBAAoB,GAClC,SACF;AACE,gBAAY,OAAO,SAAS,oDAAoD;AAChF,UAAM,eAAe,KAAK,IAAI,IAAI,kBAAkB;AAEpD,QAAI;AAMA,UACI,CAAC,aAAa,mBACd,KAAK,MAAM,IAAI,gCAAgC,EAAE,MAAM,iBACnD,2BAA2B,0BAA0B,iBACzD,CAAC,QAAQ,QACX;AAEE,cAAM,IAAI,gBAAgB,yEAAyE;AAAA,MACvG;AAEA,UAAI,aAAa,iBAAiB;AAC9B,cAAM,aAAa,gBAAgB,OAAO,QAAQ,QAAQ,mBAAmB;AAAA,MACjF,OAAO;AAGH,YAAI,wBAAwB,EAAG,QAAO;AAEtC,cAAM,WAAW,IAAI,0BAA0B,KAAK,UAAwB;AAAA,UACxE,SAAS,KAAK,IAAI,IAAI,aAAa;AAAA,UACnC,UAAU,KAAK,IAAI,IAAI,cAAc;AAAA,UACrC;AAAA,UACA,8BAA8B,KAAK,MAAM,uBAAuB;AAAA,UAChE,kBAAkB,QAAQ;AAAA,QAC9B,CAAC;AAMD,qBAAa,WAAW,QAAQ;AAEhC,cAAM,SAAS;AAAA,MACnB;AAEA,UAAI,aAAa,iBAAiB;AAE9B,aAAK,MAAM,aAAa;AAAA,MAC5B;AAAA,IACJ,SAAS,OAAO;AACZ,sBAAgB,OAAO,KAAK;AAE5B,aAAO,MAAM,qCAAqC,KAAK;AACvD,aAAO;AAAA,QACH,WAAW,qBAAqB,mBAAmB;AAAA,QACnD,WAAW,MAAM;AAAA,MACrB;AAAA,IACJ;AAEA,WAAO;AAAA,EACX;AAAA,EAES,YAAY,SAAkD;AACnE,WAAO,KAAK,aAAa,SAAS,KAAK,OAAO;AAAA,EAClD;AAAA,EAEA,MAAe,oBAAoB;AAAA,IAC/B;AAAA,IACA;AAAA,IACA;AAAA,EACJ,GAAoD;AAChD,UAAM,0BAA0B,KAAK,MAAM;AAG3C,UAAM,mBAAmB,KAAK,MAAM,IAAI,sBAAsB;AAC9D,UAAM,6BAA6B,iBAAiB,MAAM;AAE1D,QAAI,+BAA+B,aAAa;AAC5C,UAAI,KAAK,MAAM,2BAA2B,SAAS,gBAAgB,MAAM;AACrE,eAAO;AAAA,UACH,WAAW,qBAAqB,mBAAmB;AAAA,UACnD,WAAW,oCAAoC,WAAW;AAAA,QAC9D;AAAA,MACJ;AACA,UACI,KAAK,MAAM,yBAAyB,UACpC,CAAC,KAAK,MAAM,qBAAqB,SAAS,WAAW,GACvD;AACE,eAAO;AAAA,UACH,WAAW,qBAAqB,mBAAmB;AAAA,UACnD,WAAW,oCAAoC,WAAW;AAAA,QAC9D;AAAA,MACJ;AACA,UAAI,gBAAgB,MAAM;AACtB,yBAAiB,MAAM,WAAW;AAAA,MACtC;AAAA,IACJ;AAGA,QAAI;AACJ,YAAQ,yBAAyB;AAAA,MAC7B,KAAK,qBAAqB,uBAAuB;AAC7C,sBAAc,CAAC,qBAAqB,uBAAuB,OAAO;AAClE;AAAA,MACJ,KAAK,qBAAqB,uBAAuB;AAC7C,sBAAc,CAAC,qBAAqB,uBAAuB,MAAM;AACjE;AAAA,MACJ,KAAK,qBAAqB,uBAAuB;AAC7C,sBAAc;AAAA,UACV,qBAAqB,uBAAuB;AAAA,UAC5C,qBAAqB,uBAAuB;AAAA,UAC5C,qBAAqB,uBAAuB;AAAA,QAChD;AACA;AAAA,MACJ;AACI,eAAO;AAAA,UACH,WAAW,qBAAqB,mBAAmB;AAAA,UACnD,WAAW,gCACP,wBAAwB,qBAAqB,uBAAuB,SAC9D,WACA,SACV;AAAA,QACJ;AAAA,IACR;AACA,QAAI,CAAC,YAAY,SAAS,mBAAmB,GAAG;AAC5C,aAAO;AAAA,QACH,WAAW,qBAAqB,mBAAmB;AAAA,QACnD,WAAW,gCACP,wBAAwB,qBAAqB,uBAAuB,SAAS,WAAW,SAC5F;AAAA,MACJ;AAAA,IACJ;AAGA,SAAK,QAAQ,MAAM;AACf,WAAK,MAAM,mBAAmB;AAAA,IAClC,CAAC;AAED,SAAK,MAAM,aAAa;AAExB,WAAO;AAAA,EACX;AAAA,EAEA,MAAe,wBAAwB;AACnC,UAAM,UAAU,KAAK;AACrB,QAAK,YAAY,GAAG,OAAO,KAAK,QAAQ,UAAW,aAAa,GAAG,OAAO,GAAG;AACzE,aAAO;AAAA,QACH,WAAW,qBAAqB,mBAAmB;AAAA,QACnD,WAAW;AAAA,MACf;AAAA,IACJ;AAEA,UAAM,SAAS,KAAK,QAAQ;AAE5B,UAAM,eAAe,KAAK,IAAI,IAAI,kBAAkB;AAEpD,QAAI,CAAC,aAAa,iBAAiB;AAC/B,aAAO,EAAE,WAAW,qBAAqB,mBAAmB,YAAY,WAAW,sBAAsB;AAAA,IAC7G;AACA,UAAM,kBAAkB,aAAa;AAErC,kBAAc,OAAO,SAAS,8DAA8D;AAE5F,UAAM,cAAc,gBAAgB,kBAAkB;AACtD,QAAI,OAAO,gBAAgB,aAAa;AACpC,aAAO;AAAA,QACH,WAAW,qBAAqB,mBAAmB;AAAA,QACnD,WAAW,qBAAqB,OAAO,WAAW,qDAAqD,WAAW;AAAA,MACtH;AAAA,IACJ;AASA,UAAM,gBAAgB,mBAAmB;AAGzC,SAAK,MAAM,aAAa,OAAO,CAAC;AAEhC,WAAO,KAAK,sCAAsC,OAAO,QAAQ,aAAa,OAAO,MAAM,GAAG;AAE9F,WAAO;AAAA,EACX;AACJ;AAAA,CAEO,CAAUA,gCAAV;AAAA,EAGI,MAAM,cAAc,6BAA6B,MAAM;AAAA;AAAA;AAAA;AAAA,IAI1D,yBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA,IAKzB,uBAAkC;AAAA,EACtC;AAVO,EAAAA,4BAAM;AAAA,GAHA;",
4
+ "mappings": "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",
5
5
  "names": ["GeneralCommissioningServer"]
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/node",
3
- "version": "0.16.0-alpha.0-20250809-ee8375bcb",
3
+ "version": "0.16.0-alpha.0-20250812-285b75d83",
4
4
  "description": "API for building Matter nodes",
5
5
  "keywords": [
6
6
  "iot",
@@ -42,14 +42,14 @@
42
42
  "#*": "./src/*"
43
43
  },
44
44
  "dependencies": {
45
- "@matter/general": "0.16.0-alpha.0-20250809-ee8375bcb",
46
- "@matter/model": "0.16.0-alpha.0-20250809-ee8375bcb",
47
- "@matter/types": "0.16.0-alpha.0-20250809-ee8375bcb",
48
- "@matter/protocol": "0.16.0-alpha.0-20250809-ee8375bcb"
45
+ "@matter/general": "0.16.0-alpha.0-20250812-285b75d83",
46
+ "@matter/model": "0.16.0-alpha.0-20250812-285b75d83",
47
+ "@matter/types": "0.16.0-alpha.0-20250812-285b75d83",
48
+ "@matter/protocol": "0.16.0-alpha.0-20250812-285b75d83"
49
49
  },
50
50
  "devDependencies": {
51
- "@matter/tools": "0.16.0-alpha.0-20250809-ee8375bcb",
52
- "@matter/testing": "0.16.0-alpha.0-20250809-ee8375bcb"
51
+ "@matter/tools": "0.16.0-alpha.0-20250812-285b75d83",
52
+ "@matter/testing": "0.16.0-alpha.0-20250812-285b75d83"
53
53
  },
54
54
  "files": [
55
55
  "dist/**/*",
@@ -22,6 +22,7 @@ import type { Node } from "#node/Node.js";
22
22
  import { NodeLifecycle } from "#node/NodeLifecycle.js";
23
23
  import type { ServerNode } from "#node/ServerNode.js";
24
24
  import {
25
+ BleAdvertiser,
25
26
  CommissioningConfigProvider,
26
27
  DeviceAdvertiser,
27
28
  DeviceCommissioner,
@@ -29,6 +30,7 @@ import {
29
30
  FabricAction,
30
31
  FabricManager,
31
32
  FailsafeContext,
33
+ MdnsAdvertiser,
32
34
  PaseClient,
33
35
  Val,
34
36
  } from "#protocol";
@@ -93,6 +95,8 @@ export class CommissioningServer extends Behavior {
93
95
  this.reactTo((this.endpoint as Node).lifecycle.online, this.#enterOnlineMode);
94
96
 
95
97
  this.reactTo((this.endpoint as Node).lifecycle.goingOffline, this.#enterOfflineMode);
98
+
99
+ this.reactTo(this.env.get(FabricManager).events.added, this.enterOperationalMode);
96
100
  }
97
101
 
98
102
  override async [Symbol.asyncDispose]() {
@@ -196,7 +200,7 @@ export class CommissioningServer extends Behavior {
196
200
  failsafe.construction.change.on(listener);
197
201
  }
198
202
 
199
- #enterOnlineMode() {
203
+ async #enterOnlineMode() {
200
204
  // If already commissioned, trigger operational announcement
201
205
  if ((this.endpoint.lifecycle as NodeLifecycle).isCommissioned) {
202
206
  this.enterOperationalMode();
@@ -219,7 +223,7 @@ export class CommissioningServer extends Behavior {
219
223
  }
220
224
 
221
225
  // Advertise as commissionable
222
- this.enterCommissionableMode();
226
+ await this.enterCommissionableMode();
223
227
  }
224
228
 
225
229
  #enterOfflineMode() {
@@ -237,20 +241,14 @@ export class CommissioningServer extends Behavior {
237
241
  * The server normally invokes this method when the node starts and is not yet commissioned. You can disable by
238
242
  * setting {@link CommissioningServer.State#enabled} to false. Then you must invoke yourself.
239
243
  */
240
- enterCommissionableMode() {
244
+ async enterCommissionableMode() {
241
245
  if (!this.#hasAdvertisableDeviceType) {
242
246
  throw new ImplementationError(
243
247
  `Node ${this.endpoint} has no endpoints with advertisable device types; you must add an endpoint or set the device type`,
244
248
  );
245
249
  }
246
250
 
247
- // Ensure a device commissioner is loaded
248
- //
249
- // TODO - DeviceCommissioner/DeviceAdvertiser API is convoluted; refactor to allow directly moving to the
250
- // desired mode
251
- this.env.get(DeviceCommissioner);
252
-
253
- this.beginAdvertising();
251
+ await this.env.get(DeviceCommissioner).allowBasicCommissioning();
254
252
 
255
253
  this.initiateCommissioning();
256
254
  }
@@ -260,7 +258,11 @@ export class CommissioningServer extends Behavior {
260
258
  * commissioning.
261
259
  */
262
260
  protected enterOperationalMode() {
263
- this.beginAdvertising();
261
+ if (!(this.endpoint.lifecycle as NodeLifecycle).isOnline) {
262
+ throw new ImplementationError("Cannot advertise offline server");
263
+ }
264
+
265
+ this.env.get(DeviceAdvertiser).enterOperationalMode();
264
266
  }
265
267
 
266
268
  /**
@@ -330,21 +332,6 @@ export class CommissioningServer extends Behavior {
330
332
  ],
331
333
  });
332
334
 
333
- /**
334
- * Advertise and continue advertising at regular intervals until timeout per Matter specification. If already
335
- * advertising, the advertisement timeout resets.
336
- */
337
- beginAdvertising() {
338
- if (!(this.endpoint.lifecycle as NodeLifecycle).isOnline) {
339
- throw new ImplementationError("Cannot advertise offline server");
340
- }
341
-
342
- this.env
343
- .get(DeviceAdvertiser)
344
- .startAdvertising()
345
- .catch(error => logger.error("Failed to open advertisement window", error));
346
- }
347
-
348
335
  #initializeNode() {
349
336
  this.state.commissioned = !!this.agent.get(OperationalCredentialsBehavior).state.commissionedFabrics;
350
337
  (this.endpoint.lifecycle as NodeLifecycle).initialized.emit(this.state.commissioned);
@@ -389,6 +376,8 @@ export namespace CommissioningServer {
389
376
  flowType = CommissioningFlowType.Standard;
390
377
  additionalBleAdvertisementData?: Uint8Array = undefined;
391
378
  pairingCodes = {} as PairingCodes;
379
+ mdns?: MdnsAdvertiser.Options;
380
+ ble?: BleAdvertiser.Options;
392
381
 
393
382
  [Val.properties](endpoint: Endpoint) {
394
383
  return {
@@ -17,7 +17,7 @@ import {
17
17
  FabricAuthority,
18
18
  FabricAuthorityConfigurationProvider,
19
19
  FabricManager,
20
- MdnsScanner,
20
+ MdnsClient,
21
21
  MdnsScannerTargetCriteria,
22
22
  MdnsService,
23
23
  Scanner,
@@ -54,14 +54,14 @@ export class ControllerBehavior extends Behavior {
54
54
  this.state.ip = true;
55
55
  }
56
56
  if (this.state.ip !== false) {
57
- this.env.get(ScannerSet).add((await this.env.load(MdnsService)).scanner);
57
+ this.env.get(ScannerSet).add((await this.env.load(MdnsService)).client);
58
58
  }
59
59
 
60
60
  if (this.state.ble === undefined) {
61
61
  this.state.ble = (await this.agent.load(NetworkServer)).state.ble;
62
62
  }
63
63
  if (this.state.ble !== false) {
64
- this.env.get(ScannerSet).add(Ble.get().getBleScanner());
64
+ this.env.get(ScannerSet).add(Ble.get().scanner);
65
65
  }
66
66
 
67
67
  // Configure management of controlled fabrics
@@ -118,7 +118,7 @@ export class ControllerBehavior extends Behavior {
118
118
  }
119
119
  }
120
120
  if (this.state.ble) {
121
- netInterfaces.add(Ble.get().getBleCentralInterface());
121
+ netInterfaces.add(Ble.get().centralInterface);
122
122
  }
123
123
 
124
124
  // Install handler to receive data reports for subscriptions
@@ -166,7 +166,7 @@ export class ControllerBehavior extends Behavior {
166
166
  }
167
167
 
168
168
  #enableScanningForScanner(scanner: Scanner) {
169
- if (!(scanner instanceof MdnsScanner)) {
169
+ if (!(scanner instanceof MdnsClient)) {
170
170
  return;
171
171
  }
172
172
  scanner.targetCriteriaProviders.add(this.internal.mdnsTargetCriteria);
@@ -5,7 +5,7 @@
5
5
  */
6
6
 
7
7
  import { Environment, Environmental } from "#general";
8
- import { MdnsScanner, MdnsScannerTargetCriteria, Scanner, ScannerSet } from "#protocol";
8
+ import { MdnsClient, MdnsScannerTargetCriteria, Scanner, ScannerSet } from "#protocol";
9
9
  import type { Discovery } from "./Discovery.js";
10
10
 
11
11
  /**
@@ -44,7 +44,7 @@ export class ActiveDiscoveries extends Set<Discovery<any>> {
44
44
  }
45
45
 
46
46
  #activateCommissionableScanningFor(scanner: Scanner) {
47
- if (!(scanner instanceof MdnsScanner)) {
47
+ if (!(scanner instanceof MdnsClient)) {
48
48
  return;
49
49
  }
50
50
 
@@ -60,7 +60,7 @@ export class ActiveDiscoveries extends Set<Discovery<any>> {
60
60
  }
61
61
  const scanners = this.#env.get(ScannerSet);
62
62
  for (const scanner of scanners) {
63
- if (scanner instanceof MdnsScanner) {
63
+ if (scanner instanceof MdnsClient) {
64
64
  scanner.targetCriteriaProviders.delete(this.#mdnsTargetCriteria);
65
65
  }
66
66
  }
@@ -7,6 +7,7 @@
7
7
  import { SubscriptionBehavior } from "#behavior/system/subscription/SubscriptionBehavior.js";
8
8
  import {
9
9
  Construction,
10
+ Crypto,
10
11
  InterfaceType,
11
12
  Logger,
12
13
  NetInterfaceSet,
@@ -23,13 +24,14 @@ import type { ServerNode } from "#node/ServerNode.js";
23
24
  import { NodePeerAddressStore } from "#node/client/NodePeerAddressStore.js";
24
25
  import { InteractionServer } from "#node/server/InteractionServer.js";
25
26
  import {
27
+ Advertiser,
26
28
  Ble,
29
+ BleAdvertiser,
27
30
  ChannelManager,
28
31
  DeviceAdvertiser,
29
32
  DeviceCommissioner,
30
33
  ExchangeManager,
31
- InstanceBroadcaster,
32
- MdnsInstanceBroadcaster,
34
+ MdnsAdvertiser,
33
35
  MdnsService,
34
36
  PeerAddressStore,
35
37
  PeerSet,
@@ -58,8 +60,8 @@ function convertNetworkEnvironmentType(type: string | number) {
58
60
  * Handles network functionality for {@link NodeServer}.
59
61
  */
60
62
  export class ServerNetworkRuntime extends NetworkRuntime {
61
- #mdnsBroadcaster?: MdnsInstanceBroadcaster;
62
- #bleBroadcaster?: InstanceBroadcaster;
63
+ #mdnsAdvertiser?: MdnsAdvertiser;
64
+ #bleAdvertiser?: BleAdvertiser;
63
65
  #bleTransport?: TransportInterface;
64
66
  #ipv6UdpInterface?: UdpInterface;
65
67
  #observers = new ObserverGroup(this);
@@ -71,15 +73,17 @@ export class ServerNetworkRuntime extends NetworkRuntime {
71
73
  }
72
74
 
73
75
  /**
74
- * Access the MDNS broadcaster for the node.
76
+ * Access the MDNS advertiser for the node.
75
77
  */
76
- get mdnsBroadcaster() {
77
- if (!this.#mdnsBroadcaster) {
78
- this.#mdnsBroadcaster = this.owner.env
79
- .get(MdnsService)
80
- .createInstanceBroadcaster(this.owner.state.network.operationalPort);
78
+ get mdnsAdvertiser() {
79
+ if (!this.#mdnsAdvertiser) {
80
+ const port = this.owner.state.network.operationalPort;
81
+ const options = this.owner.state.commissioning.mdns;
82
+ const crypto = this.owner.env.get(Crypto);
83
+ const { server } = this.owner.env.get(MdnsService);
84
+ this.#mdnsAdvertiser = new MdnsAdvertiser(crypto, server, { ...options, port });
81
85
  }
82
- return this.#mdnsBroadcaster;
86
+ return this.#mdnsAdvertiser;
83
87
  }
84
88
 
85
89
  get networkInterfaceConfiguration(): NetworkInterface[] {
@@ -109,14 +113,15 @@ export class ServerNetworkRuntime extends NetworkRuntime {
109
113
  }
110
114
 
111
115
  /**
112
- * A BLE broadcaster.
116
+ * A BLE advertiser.
113
117
  */
114
- protected get bleBroadcaster() {
115
- if (this.#bleBroadcaster === undefined) {
116
- const bleData = this.owner.state.commissioning.additionalBleAdvertisementData;
117
- this.#bleBroadcaster = Ble.get().getBleBroadcaster(bleData);
118
+ protected get bleAdvertiser() {
119
+ if (this.#bleAdvertiser === undefined) {
120
+ const { peripheralInterface } = Ble.get();
121
+ const options = this.owner.state.commissioning.ble;
122
+ this.#bleAdvertiser = new BleAdvertiser(peripheralInterface, options);
118
123
  }
119
- return this.#bleBroadcaster;
124
+ return this.#bleAdvertiser;
120
125
  }
121
126
 
122
127
  /**
@@ -124,7 +129,7 @@ export class ServerNetworkRuntime extends NetworkRuntime {
124
129
  */
125
130
  protected get bleTransport() {
126
131
  if (this.#bleTransport === undefined) {
127
- this.#bleTransport = Ble.get().getBlePeripheralInterface();
132
+ this.#bleTransport = Ble.get().peripheralInterface;
128
133
  }
129
134
  return this.#bleTransport;
130
135
  }
@@ -177,7 +182,7 @@ export class ServerNetworkRuntime extends NetworkRuntime {
177
182
  * Add broadcasters to the {@link DeviceAdvertiser}.
178
183
  */
179
184
  protected async addBroadcasters(advertiser: DeviceAdvertiser) {
180
- await advertiser.clearBroadcasters();
185
+ await advertiser.clearAdvertisers();
181
186
 
182
187
  const isCommissioned = !!this.#commissionedFabrics;
183
188
 
@@ -189,23 +194,23 @@ export class ServerNetworkRuntime extends NetworkRuntime {
189
194
  }
190
195
 
191
196
  if (discoveryCapabilities.onIpNetwork) {
192
- advertiser.addBroadcaster(this.mdnsBroadcaster);
197
+ advertiser.addAdvertiser(this.mdnsAdvertiser);
193
198
  }
194
199
 
195
200
  if (discoveryCapabilities.ble) {
196
- advertiser.addBroadcaster(this.bleBroadcaster);
201
+ advertiser.addAdvertiser(this.bleAdvertiser);
197
202
  }
198
203
  }
199
204
 
200
205
  /**
201
206
  * When the first Fabric gets added we need to enable MDNS broadcasting.
202
207
  */
203
- enableMdnsBroadcasting() {
204
- const advertiser = this.owner.env.get(DeviceAdvertiser);
205
- const mdnsBroadcaster = this.mdnsBroadcaster;
206
- if (!advertiser.hasBroadcaster(mdnsBroadcaster)) {
207
- logger.debug("Enabling MDNS broadcasting");
208
- advertiser.addBroadcaster(mdnsBroadcaster);
208
+ enableMdnsAdvertising() {
209
+ const device = this.owner.env.get(DeviceAdvertiser);
210
+ const mdnsAdvertiser = this.mdnsAdvertiser;
211
+ if (!device.hasAdvertiser(mdnsAdvertiser)) {
212
+ logger.debug("Enabling MDNS advertising");
213
+ device.addAdvertiser(mdnsAdvertiser);
209
214
  }
210
215
  }
211
216
 
@@ -217,29 +222,28 @@ export class ServerNetworkRuntime extends NetworkRuntime {
217
222
  endUncommissionedMode() {
218
223
  // Ensure MDNS broadcasting are active when the first fabric is added. It might not be active initially if the
219
224
  // node was not on an IP network prior to commissioning
220
- this.enableMdnsBroadcasting();
225
+ this.enableMdnsAdvertising();
221
226
 
222
- if (this.#bleBroadcaster) {
223
- this.owner.env.runtime.add(this.#removeBleBroadcaster(this.#bleBroadcaster));
224
- this.#bleBroadcaster = undefined;
227
+ if (this.#bleAdvertiser) {
228
+ this.owner.env.runtime.add(this.#deleteAdvertiser(this.#bleAdvertiser));
229
+ this.#bleAdvertiser = undefined;
225
230
  }
226
231
 
227
232
  if (this.#bleTransport) {
228
- this.owner.env.runtime.add(this.#removeBleTransport(this.#bleTransport));
233
+ this.owner.env.runtime.add(this.#deleteTransport(this.#bleTransport));
229
234
  this.#bleTransport = undefined;
230
235
  }
231
236
  }
232
237
 
233
- async #removeBleBroadcaster(bleBroadcaster: InstanceBroadcaster) {
234
- const advertiser = this.owner.env.get(DeviceAdvertiser);
235
- await advertiser.deleteBroadcaster(bleBroadcaster);
236
- await bleBroadcaster.close();
238
+ async #deleteAdvertiser(advertiser: Advertiser) {
239
+ const device = this.owner.env.get(DeviceAdvertiser);
240
+ await device.deleteAdvertiser(advertiser);
237
241
  }
238
242
 
239
- async #removeBleTransport(bleTransport: TransportInterface) {
243
+ async #deleteTransport(transport: TransportInterface) {
240
244
  const transportInterfaces = this.owner.env.get(TransportInterfaceSet);
241
- transportInterfaces.delete(bleTransport);
242
- await bleTransport.close();
245
+ transportInterfaces.delete(transport);
246
+ await transport.close();
243
247
  }
244
248
 
245
249
  get #commissionedFabrics() {
@@ -285,15 +289,20 @@ export class ServerNetworkRuntime extends NetworkRuntime {
285
289
  // Monitor CommissioningServer to end "uncommissioned" mode when we are commissioned
286
290
  this.#observers.on(this.owner.eventsOf(CommissioningServer).commissioned, this.endUncommissionedMode);
287
291
 
288
- // Monitor DeviceAdvertiser to enable MDNS broadcasting when the first Fabric is added
289
- this.#observers.on(advertiser.operationalModeEnabled, this.enableMdnsBroadcasting);
292
+ // Enable MDNS broadcasting if there are fabrics present
293
+ if (this.owner.stateOf(CommissioningServer).commissioned) {
294
+ this.enableMdnsAdvertising();
295
+ }
290
296
  }
291
297
 
292
298
  override async [Construction.construct]() {
293
299
  await super[Construction.construct]();
294
300
 
301
+ // Initialize MDNS
302
+ const mdns = await this.owner.env.load(MdnsService);
303
+
295
304
  // Initialize ScannerSet
296
- this.owner.env.get(ScannerSet).add((await this.owner.env.load(MdnsService)).scanner);
305
+ this.owner.env.get(ScannerSet).add(mdns.client);
297
306
  this.owner.env.set(PeerAddressStore, new NodePeerAddressStore(this.owner));
298
307
  await this.owner.env.load(PeerSet);
299
308
 
@@ -317,8 +326,8 @@ export class ServerNetworkRuntime extends NetworkRuntime {
317
326
  // We kick-off the Advertiser shutdown to prevent re-announces when removing sessions and wait a bit later
318
327
  const advertisementShutdown = this.owner.env.has(DeviceAdvertiser)
319
328
  ? this.owner.env.close(DeviceAdvertiser)
320
- : this.#mdnsBroadcaster?.close();
321
- this.#mdnsBroadcaster = undefined;
329
+ : this.#mdnsAdvertiser?.close();
330
+ this.#mdnsAdvertiser = undefined;
322
331
 
323
332
  await this.owner.prepareRuntimeShutdown();
324
333
 
@@ -10,10 +10,10 @@ import { AccessLevel } from "#model";
10
10
  import { DeviceCommissioner, FailsafeContext, PaseServer, SessionManager } from "#protocol";
11
11
  import {
12
12
  Command,
13
- MAXIMUM_COMMISSIONING_TIMEOUT_S,
14
13
  MINIMUM_COMMISSIONING_TIMEOUT_S,
15
14
  PAKE_PASSCODE_VERIFIER_LENGTH,
16
- StatusCode,
15
+ STANDARD_COMMISSIONING_TIMEOUT_S,
16
+ Status,
17
17
  StatusResponseError,
18
18
  TlvByteString,
19
19
  TlvField,
@@ -186,14 +186,14 @@ export class AdministratorCommissioningServer extends AdministratorCommissioning
186
186
  if (commissioningTimeout > this.internal.maximumCommissioningTimeoutS) {
187
187
  throw new StatusResponseError(
188
188
  `Commissioning timeout must not exceed ${this.internal.maximumCommissioningTimeoutS} seconds.`,
189
- StatusCode.InvalidCommand,
189
+ Status.InvalidCommand,
190
190
  );
191
191
  }
192
192
 
193
193
  if (commissioningTimeout < this.internal.minimumCommissioningTimeoutS) {
194
194
  throw new StatusResponseError(
195
195
  `Commissioning timeout must not be lower then ${this.internal.minimumCommissioningTimeoutS} seconds.`,
196
- StatusCode.InvalidCommand,
196
+ Status.InvalidCommand,
197
197
  );
198
198
  }
199
199
 
@@ -206,7 +206,7 @@ export class AdministratorCommissioningServer extends AdministratorCommissioning
206
206
  * This method is used internally when the commissioning window timer expires or the commissioning was completed.
207
207
  */
208
208
  #endCommissioning() {
209
- logger.debug("End commissioning window.");
209
+ logger.debug("Ending commissioning");
210
210
  if (this.internal.commissioningWindowTimeout !== undefined) {
211
211
  this.internal.commissioningWindowTimeout.stop();
212
212
  this.internal.commissioningWindowTimeout = undefined;
@@ -264,9 +264,10 @@ export namespace AdministratorCommissioningServer {
264
264
  minimumCommissioningTimeoutS = MINIMUM_COMMISSIONING_TIMEOUT_S;
265
265
 
266
266
  /**
267
- * Mandated by spec; should only be modified in testing.
267
+ * Commissioning beyond the standard 15-minute window is "extended commissioning" and has limitations on
268
+ * advertisement. We default to the standard window.
268
269
  */
269
- maximumCommissioningTimeoutS = MAXIMUM_COMMISSIONING_TIMEOUT_S;
270
+ maximumCommissioningTimeoutS = STANDARD_COMMISSIONING_TIMEOUT_S;
270
271
  }
271
272
 
272
273
  export class State extends AdministratorCommissioningBehavior.State {
@@ -8,7 +8,7 @@ import { AdministratorCommissioningServer } from "#behaviors/administrator-commi
8
8
  import { BasicInformationServer } from "#behaviors/basic-information";
9
9
  import { AdministratorCommissioning } from "#clusters/administrator-commissioning";
10
10
  import { GeneralCommissioning } from "#clusters/general-commissioning";
11
- import { Logger, MatterFlowError, MaybePromise } from "#general";
11
+ import { Bytes, Diagnostic, Logger, MatterFlowError, MaybePromise } from "#general";
12
12
  import type { ServerNode } from "#node/ServerNode.js";
13
13
  import { DeviceCommissioner, FabricManager, GroupSession, NodeSession, SecureSession, SessionManager } from "#protocol";
14
14
  import { GeneralCommissioningBehavior } from "./GeneralCommissioningBehavior.js";
@@ -241,7 +241,13 @@ export class GeneralCommissioningServer extends GeneralCommissioningBehavior {
241
241
  // 5. The Breadcrumb attribute SHALL be reset to zero.
242
242
  this.state.breadcrumb = BigInt(0);
243
243
 
244
- logger.info(`Commissioning completed on fabric #${fabric.fabricId} as node #${fabric.nodeId}.`);
244
+ logger.info(
245
+ "Commissioned",
246
+ Diagnostic.dict({
247
+ fabric: `${Bytes.toHex(fabric.operationalId)} (#${fabric.fabricIndex})`,
248
+ node: fabric.nodeId.toString(16).padStart(16, "0"),
249
+ }),
250
+ );
245
251
 
246
252
  return SuccessResponse;
247
253
  }