@matter/node 0.17.7-alpha.0-20260723-6f672ac9d → 0.17.7

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 (58) hide show
  1. package/dist/cjs/behavior/system/controller/ControllerBehavior.d.ts +8 -0
  2. package/dist/cjs/behavior/system/controller/ControllerBehavior.d.ts.map +1 -1
  3. package/dist/cjs/behavior/system/controller/ControllerBehavior.js +11 -0
  4. package/dist/cjs/behavior/system/controller/ControllerBehavior.js.map +1 -1
  5. package/dist/cjs/behavior/system/software-update/SoftwareUpdateManager.d.ts +6 -0
  6. package/dist/cjs/behavior/system/software-update/SoftwareUpdateManager.d.ts.map +1 -1
  7. package/dist/cjs/behavior/system/software-update/SoftwareUpdateManager.js +8 -4
  8. package/dist/cjs/behavior/system/software-update/SoftwareUpdateManager.js.map +1 -1
  9. package/dist/cjs/node/ClientNode.d.ts.map +1 -1
  10. package/dist/cjs/node/ClientNode.js +2 -2
  11. package/dist/cjs/node/ClientNode.js.map +1 -1
  12. package/dist/cjs/node/Node.d.ts +6 -0
  13. package/dist/cjs/node/Node.d.ts.map +1 -1
  14. package/dist/cjs/node/Node.js +8 -0
  15. package/dist/cjs/node/Node.js.map +1 -1
  16. package/dist/cjs/node/NodePhysicalProperties.d.ts.map +1 -1
  17. package/dist/cjs/node/NodePhysicalProperties.js +23 -0
  18. package/dist/cjs/node/NodePhysicalProperties.js.map +1 -1
  19. package/dist/cjs/node/client/ClientStructure.d.ts.map +1 -1
  20. package/dist/cjs/node/client/ClientStructure.js +3 -2
  21. package/dist/cjs/node/client/ClientStructure.js.map +1 -1
  22. package/dist/cjs/node/client/PeerBehavior.d.ts +6 -1
  23. package/dist/cjs/node/client/PeerBehavior.d.ts.map +1 -1
  24. package/dist/cjs/node/client/PeerBehavior.js +11 -6
  25. package/dist/cjs/node/client/PeerBehavior.js.map +1 -1
  26. package/dist/esm/behavior/system/controller/ControllerBehavior.d.ts +8 -0
  27. package/dist/esm/behavior/system/controller/ControllerBehavior.d.ts.map +1 -1
  28. package/dist/esm/behavior/system/controller/ControllerBehavior.js +11 -0
  29. package/dist/esm/behavior/system/controller/ControllerBehavior.js.map +1 -1
  30. package/dist/esm/behavior/system/software-update/SoftwareUpdateManager.d.ts +6 -0
  31. package/dist/esm/behavior/system/software-update/SoftwareUpdateManager.d.ts.map +1 -1
  32. package/dist/esm/behavior/system/software-update/SoftwareUpdateManager.js +8 -4
  33. package/dist/esm/behavior/system/software-update/SoftwareUpdateManager.js.map +1 -1
  34. package/dist/esm/node/ClientNode.d.ts.map +1 -1
  35. package/dist/esm/node/ClientNode.js +3 -3
  36. package/dist/esm/node/ClientNode.js.map +1 -1
  37. package/dist/esm/node/Node.d.ts +6 -0
  38. package/dist/esm/node/Node.d.ts.map +1 -1
  39. package/dist/esm/node/Node.js +8 -0
  40. package/dist/esm/node/Node.js.map +1 -1
  41. package/dist/esm/node/NodePhysicalProperties.d.ts.map +1 -1
  42. package/dist/esm/node/NodePhysicalProperties.js +23 -0
  43. package/dist/esm/node/NodePhysicalProperties.js.map +1 -1
  44. package/dist/esm/node/client/ClientStructure.d.ts.map +1 -1
  45. package/dist/esm/node/client/ClientStructure.js +4 -4
  46. package/dist/esm/node/client/ClientStructure.js.map +1 -1
  47. package/dist/esm/node/client/PeerBehavior.d.ts +6 -1
  48. package/dist/esm/node/client/PeerBehavior.d.ts.map +1 -1
  49. package/dist/esm/node/client/PeerBehavior.js +11 -6
  50. package/dist/esm/node/client/PeerBehavior.js.map +1 -1
  51. package/package.json +6 -6
  52. package/src/behavior/system/controller/ControllerBehavior.ts +14 -0
  53. package/src/behavior/system/software-update/SoftwareUpdateManager.ts +8 -4
  54. package/src/node/ClientNode.ts +4 -4
  55. package/src/node/Node.ts +9 -0
  56. package/src/node/NodePhysicalProperties.ts +49 -0
  57. package/src/node/client/ClientStructure.ts +3 -3
  58. package/src/node/client/PeerBehavior.ts +25 -7
@@ -26,8 +26,7 @@ import {
26
26
  ClusterRevision,
27
27
  DeviceClassification,
28
28
  FeatureMap,
29
- GeneratedCommandList,
30
- Matter
29
+ GeneratedCommandList
31
30
  } from "@matter/model";
32
31
  import { ReadScope } from "@matter/protocol";
33
32
  import { Status } from "@matter/types";
@@ -501,6 +500,7 @@ class ClientStructure {
501
500
  if (this.#commandFactory) {
502
501
  shape.commandFactory = this.#commandFactory;
503
502
  }
503
+ shape.matter = this.#node.matter;
504
504
  const behaviorType = PeerBehavior(shape);
505
505
  if (endpoint.lifecycle.isInstalled) {
506
506
  cluster.pendingBehavior = behaviorType;
@@ -535,7 +535,7 @@ class ClientStructure {
535
535
  continue;
536
536
  }
537
537
  let isApp = false;
538
- const model = Matter.deviceTypes(dt.deviceType);
538
+ const model = this.#node.matter.deviceTypes(dt.deviceType);
539
539
  if (model !== void 0) {
540
540
  isApp = DeviceClassification.isApplication(model.classification);
541
541
  }
@@ -673,7 +673,7 @@ class ClientStructure {
673
673
  if (Number.isFinite(numericId)) {
674
674
  return this.#clusterFor(endpoint, numericId);
675
675
  }
676
- const clusterModel = Matter.clusters(capitalize(behaviorId));
676
+ const clusterModel = this.#node.matter.clusters(capitalize(behaviorId));
677
677
  if (clusterModel) {
678
678
  return this.#clusterFor(endpoint, clusterModel.id);
679
679
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/node/client/ClientStructure.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["id", "endpoint", "cluster"]
6
6
  }
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { ClusterBehavior } from "#behavior/cluster/ClusterBehavior.js";
7
7
  import { ClusterBehaviorType } from "#behavior/cluster/ClusterBehaviorType.js";
8
- import { FeatureBitmap } from "@matter/model";
8
+ import { FeatureBitmap, MatterModel } from "@matter/model";
9
9
  import { AttributeId, ClusterId, CommandId } from "@matter/types";
10
10
  /**
11
11
  * Obtain a {@link ClusterBehavior.Type} for a remote cluster.
@@ -26,6 +26,11 @@ export declare namespace PeerBehavior {
26
26
  commands?: CommandId[];
27
27
  generatedCommands?: CommandId[];
28
28
  commandFactory?: ClusterBehaviorType.CommandFactory;
29
+ /**
30
+ * Model used to resolve standard element names/shapes. Defaults to the global {@link Matter} model; a client
31
+ * node supplies its own so custom or extended clusters resolve to real names.
32
+ */
33
+ matter?: MatterModel;
29
34
  }
30
35
  /**
31
36
  * A known cluster shape that we instrument as is.
@@ -1 +1 @@
1
- {"version":3,"file":"PeerBehavior.d.ts","sourceRoot":"","sources":["../../../../src/node/client/PeerBehavior.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAE/E,OAAO,EAOH,aAAa,EAIhB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAUlE;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,YAAY,GAAG,eAAe,CAAC,IAAI,CAsBnF;AAED,yBAAiB,YAAY,CAAC,CAAC;IAC3B,KAAY,YAAY,GAAG,sBAAsB,GAAG,iBAAiB,CAAC;IAEtE;;;OAGG;IACH,UAAiB,sBAAsB;QACnC,IAAI,EAAE,YAAY,CAAC;QACnB,EAAE,EAAE,SAAS,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC;QAClC,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;QAC3B,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;QACvB,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAC;QAChC,cAAc,CAAC,EAAE,mBAAmB,CAAC,cAAc,CAAC;KACvD;IAED;;OAEG;IACH,UAAiB,iBAAiB;QAC9B,IAAI,EAAE,OAAO,CAAC;QACd,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC;QAC/B,cAAc,CAAC,EAAE,mBAAmB,CAAC,cAAc,CAAC;KACvD;CACJ"}
1
+ {"version":3,"file":"PeerBehavior.d.ts","sourceRoot":"","sources":["../../../../src/node/client/PeerBehavior.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAE/E,OAAO,EAOH,aAAa,EAGb,WAAW,EAEd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAalE;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,YAAY,GAAG,eAAe,CAAC,IAAI,CAsBnF;AAED,yBAAiB,YAAY,CAAC,CAAC;IAC3B,KAAY,YAAY,GAAG,sBAAsB,GAAG,iBAAiB,CAAC;IAEtE;;;OAGG;IACH,UAAiB,sBAAsB;QACnC,IAAI,EAAE,YAAY,CAAC;QACnB,EAAE,EAAE,SAAS,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC;QAClC,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;QAC3B,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;QACvB,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAC;QAChC,cAAc,CAAC,EAAE,mBAAmB,CAAC,cAAc,CAAC;QAEpD;;;WAGG;QACH,MAAM,CAAC,EAAE,WAAW,CAAC;KACxB;IAED;;OAEG;IACH,UAAiB,iBAAiB;QAC9B,IAAI,EAAE,OAAO,CAAC;QACd,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC;QAC/B,cAAc,CAAC,EAAE,mBAAmB,CAAC,cAAc,CAAC;KACvD;CACJ"}
@@ -39,11 +39,16 @@ function PeerBehavior(shape) {
39
39
  return type;
40
40
  }
41
41
  function instrumentDiscoveredShape(shape) {
42
- const analysis = DiscoveredShapeAnalysis(shape);
42
+ const matter = shape.matter ?? Matter;
43
+ const analysis = DiscoveredShapeAnalysis(shape, matter);
43
44
  const factory = shape.commandFactory ?? ClientCommandMethod;
44
- let cache = discoveredCaches.get(factory);
45
+ let byModel = discoveredCaches.get(factory);
46
+ if (!byModel) {
47
+ discoveredCaches.set(factory, byModel = /* @__PURE__ */ new WeakMap());
48
+ }
49
+ let cache = byModel.get(matter);
45
50
  if (!cache) {
46
- discoveredCaches.set(factory, cache = {});
51
+ byModel.set(matter, cache = {});
47
52
  }
48
53
  const fingerprint = createFingerprint(analysis);
49
54
  let type = cache[fingerprint];
@@ -51,7 +56,7 @@ function instrumentDiscoveredShape(shape) {
51
56
  return type;
52
57
  }
53
58
  let baseType;
54
- const standardSchema = Matter.get(ClusterModel, shape.id);
59
+ const standardSchema = matter.get(ClusterModel, shape.id);
55
60
  if (standardSchema) {
56
61
  baseType = ClusterBehaviorType({
57
62
  base: ClusterBehavior,
@@ -216,8 +221,8 @@ function createFingerprint(analysis) {
216
221
  function createUnknownName(prefix, id) {
217
222
  return `${prefix}$${id.toString(16)}`;
218
223
  }
219
- function DiscoveredShapeAnalysis(shape) {
220
- const standardCluster = Matter.clusters(shape.id);
224
+ function DiscoveredShapeAnalysis(shape, matter = Matter) {
225
+ const standardCluster = matter.clusters(shape.id);
221
226
  const schema = standardCluster ?? new ClusterModel({ id: shape.id, name: createUnknownName("Cluster", shape.id), revision: shape.revision });
222
227
  let featureBitmap;
223
228
  if (typeof shape.features === "number") {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/node/client/PeerBehavior.ts"],
4
- "mappings": "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",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,uBAAuB;AAChC,SAAS,2BAA2B;AACpC,SAAS,UAAU,qBAAqB;AACxC;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAGA;AAAA,EACA;AAAA,OAGG;AAEP,SAAS,2BAA2B;AAEpC,MAAM,iBAAiB,KAAK,KAAK,OAAO,gBAAgB;AAExD,MAAM,mBAAmB,oBAAI,IAG3B;AACF,MAAM,cAAc,oBAAI,IAA6F;AAErH,MAAM,SAAS,uBAAO,SAAS;AAKxB,SAAS,aAAa,OAAwD;AACjF,MAAI;AAEJ,UAAQ,MAAM,MAAM;AAAA,IAChB,KAAK;AACD,UAAI,OAAO,OAAO,MAAM,UAAU,MAAM,GAAG;AACvC,eAAO,MAAM;AAAA,MACjB;AACA,aAAO,qBAAqB,KAAK;AACjC;AAAA,IAEJ,KAAK;AACD,aAAO,0BAA0B,KAAK;AACtC;AAAA,IAEJ;AACI,YAAM,IAAI,cAAc,8BAA+B,MAAc,IAAI,EAAE;AAAA,EACnF;AAEA,EAAC,KAAa,MAAM,IAAI;AAExB,SAAO;AACX;AAoCA,SAAS,0BAA0B,OAA4C;AAC3E,QAAM,SAAS,MAAM,UAAU;AAC/B,QAAM,WAAW,wBAAwB,OAAO,MAAM;AACtD,QAAM,UAAU,MAAM,kBAAkB;AAExC,MAAI,UAAU,iBAAiB,IAAI,OAAO;AAC1C,MAAI,CAAC,SAAS;AACV,qBAAiB,IAAI,SAAU,UAAU,oBAAI,QAAQ,CAAE;AAAA,EAC3D;AACA,MAAI,QAAQ,QAAQ,IAAI,MAAM;AAC9B,MAAI,CAAC,OAAO;AACR,YAAQ,IAAI,QAAS,QAAQ,CAAC,CAAE;AAAA,EACpC;AAEA,QAAM,cAAc,kBAAkB,QAAQ;AAC9C,MAAI,OAAO,MAAM,WAAW;AAC5B,MAAI,MAAM;AACN,WAAO;AAAA,EACX;AAGA,MAAI;AACJ,QAAM,iBAAiB,OAAO,IAAI,cAAc,MAAM,EAAE;AACxD,MAAI,gBAAgB;AAEhB,eAAW,oBAAoB;AAAA,MAC3B,MAAM;AAAA,MACN,QAAQ;AAAA,IACZ,CAAC;AAAA,EACL;AAEA,SAAO,MAAM,WAAW,IAAI,uBAAuB,UAAU,UAAU,OAAO;AAE9E,SAAO;AACX;AAEA,SAAS,qBAAqB,OAAuC;AACjE,QAAM,UAAU,MAAM,kBAAkB;AAExC,MAAI,QAAQ,YAAY,IAAI,OAAO;AACnC,MAAI,CAAC,OAAO;AACR,gBAAY,IAAI,SAAU,QAAQ,oBAAI,QAAQ,CAAE;AAAA,EACpD;AAEA,MAAI,OAAO,MAAM,IAAI,MAAM,QAAQ;AACnC,MAAI,MAAM;AACN,WAAO;AAAA,EACX;AAEA,QAAM,OAAO,MAAM;AAEnB,SAAO,oBAAoB;AAAA,IACvB;AAAA,IACA,WAAW,KAAK;AAAA,IAChB,QAAQ,KAAK;AAAA,IACb,MAAM,GAAG,KAAK,OAAO,IAAI;AAAA,IACzB,WAAW;AAAA,IACX,gBAAgB;AAAA,EACpB,CAAC;AAED,QAAM,IAAI,MAAM,UAAU,IAAI;AAE9B,SAAO;AACX;AAEA,SAAS,uBACL,UACA,UACA,iBAAqD,qBACjC;AACpB,MAAI,EAAE,OAAO,IAAI;AAEjB,MAAI,aAAa,CAAC;AAElB,MAAI,UAAU;AAEV,QAAI,CAAC,gBAAgB,GAAG,QAAQ,GAAG;AAC/B,YAAM,IAAI,cAAc,oBAAoB,SAAS,OAAO,IAAI,2BAA2B;AAAA,IAC/F;AAAA,EACJ,OAAO;AACH,eAAW;AAAA,EACf;AAEA,QAAM,EAAE,sBAAsB,YAAY,yBAAyB,cAAc,IAAI;AAGrF,MAAI,oBAAoB,SAAS,MAAM;AACvC,MAAI,OAAO,sBAAsB,UAAU;AAEvC,UAAM,aAAa,OAAO;AAC1B,UAAM,UAAyB,CAAC;AAChC,eAAW,SAAS,WAAW,UAAU;AACrC,YAAM,WAAW,MAAM,WAAW;AAClC,UAAI,OAAO,aAAa,UAAU;AAC9B,cAAM,MAAM,SAAS,MAAM,SAAS,MAAM,IAAI;AAC9C,gBAAQ,GAAG,IAAI,CAAC,EAAE,oBAAqB,KAAK;AAAA,MAChD;AAAA,IACJ;AACA,wBAAoB;AAAA,EACxB;AACA,MAAI,sBAAsB,QAAW;AACjC,wBAAoB,CAAC;AAAA,EACzB;AAGA,QAAM,eAAe,OAAO,QAAQ,iBAAiB,EAChD,OAAO,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EACnB,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AACnB,MAAI,aAAa,QAAQ;AACrB,iBAAa;AAGb,UAAM,aAAa,IAAI,WAAW;AAClC,eAAW,SAAS,OAAO,WAAW,UAAU;AAC5C,YAAM,MAAM,SAAS,MAAM,SAAS,MAAM,IAAI;AAC9C,UAAI,aAAa,SAAS,GAAG,GAAG;AAC5B,mBAAW,IAAI,MAAM,IAAI;AAAA,MAC7B;AAAA,IACJ;AACA,WAAO,oBAAoB;AAAA,EAC/B;AAIA,MACI,OAAO,aAAa,SAAS,MAAM,YACnC,WAAW,QACX,cAAc,QACd,qBAAqB,QACrB,wBAAwB,MAC1B;AACE,iBAAa;AAEb,QAAI,qBAAqB,MAAM;AAC3B,iBAAW,CAAC,MAAM,WAAW,KAAK,qBAAqB,QAAQ,GAAG;AAC9D,eAAO,SAAS,KAAK,KAAK,OAAO,EAAE,wBAAwB,YAAY,CAAC,CAAC;AAAA,MAC7E;AAAA,IACJ;AAEA,eAAW,MAAM,YAAY;AACzB,YAAM,OAAO,kBAAkB,QAAQ,EAAE;AACzC,aAAO,SAAS,KAAK,IAAI,eAAe,EAAE,IAAI,MAAM,MAAM,MAAM,CAAC,CAAC;AAAA,IACtE;AAEA,QAAI,wBAAwB,MAAM;AAC9B,iBAAW,CAAC,SAAS,WAAW,KAAK,wBAAwB,QAAQ,GAAG;AACpE,eAAO,SAAS,KAAK,QAAQ,OAAO,EAAE,wBAAwB,YAAY,CAAC,CAAC;AAAA,MAChF;AAAA,IACJ;AAEA,eAAW,MAAM,eAAe;AAC5B,YAAM,OAAO,kBAAkB,WAAW,EAAE;AAC5C,aAAO,SAAS,KAAK,IAAI,aAAa,EAAE,IAAI,MAAM,MAAM,MAAM,CAAC,CAAC;AAAA,IACpE;AAAA,EACJ;AAGA,SAAO,oBAAoB;AAAA,IACvB,MAAM;AAAA,IACN;AAAA,IACA,MAAM,GAAG,OAAO,IAAI;AAAA,IACpB,WAAW;AAAA,IACX;AAAA,EACJ,CAAC;AAED,WAAS,eAAe;AACpB,QAAI,YAAY;AACZ;AAAA,IACJ;AACA,aAAS,OAAO,OAAO;AACvB,iBAAa;AAAA,EACjB;AACJ;AAKA,SAAS,kBAAkB,UAAmC;AAC1D,QAAM,cAAc,CAAC,SAAS,MAAM,EAAE;AAEtC,MAAI,SAAS,eAAe;AACxB,gBAAY,KAAK,KAAK,SAAS,aAAa;AAAA,EAChD;AAEA,MAAI,SAAS,qBAAqB,MAAM;AACpC,2BAAuB,KAAK,SAAS,oBAAoB;AAAA,EAC7D;AAEA,MAAI,SAAS,WAAW,MAAM;AAC1B,gBAAY,KAAK,KAAK,yBAAyB,SAAS,UAAU,CAAC;AAAA,EACvE;AAEA,MAAI,SAAS,wBAAwB,MAAM;AACvC,2BAAuB,KAAK,SAAS,uBAAuB;AAAA,EAChE;AAEA,MAAI,SAAS,cAAc,MAAM;AAC7B,gBAAY,KAAK,KAAK,yBAAyB,SAAS,aAAa,CAAC;AAAA,EAC1E;AAEA,SAAO,YAAY,KAAK,GAAG;AAW3B,WAAS,yBAAyB,KAAuB;AACrD,UAAM,SAAS,CAAC;AAEhB,eAAW,MAAM,KAAK;AAClB,YAAM,QAAQ,KAAK,MAAM,KAAK,cAAc;AAC5C,aAAO,KAAK,KAAK,OAAO,KAAK,KAAK,KAAM,KAAM,KAAK;AAAA,IACvD;AAEA,WAAO,OAAO,QAAQ,MAAM,EACvB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,EACrC,IAAI,CAAC,CAAC,OAAO,GAAG,MAAO,QAAQ,GAAG,KAAK,IAAI,GAAG,KAAK,GAAI,EACvD,KAAK,GAAG;AAAA,EACjB;AAOA,WAAS,uBAAuB,QAAgB,UAAoC;AAChF,QAAI;AACJ,QAAI;AAEJ,eAAW,CAAC,EAAE,GAAG,GAAG,WAAW,KAAK,UAAU;AAC1C,UAAI,OAAO,QAAW;AAClB;AAAA,MACJ;AAEA,UAAI,aAAa;AACb,YAAI,WAAW;AACX,oBAAU,KAAK,EAAE;AAAA,QACrB,OAAO;AACH,sBAAY,CAAC,EAAE;AAAA,QACnB;AAAA,MACJ,OAAO;AACH,YAAI,aAAa;AACb,sBAAY,KAAK,EAAE;AAAA,QACvB,OAAO;AACH,wBAAc,CAAC,EAAE;AAAA,QACrB;AAAA,MACJ;AAAA,IACJ;AAEA,QAAI,WAAW;AACX,kBAAY,KAAK,GAAG,MAAM,KAAK,yBAAyB,SAAS,CAAC;AAAA,IACtE;AACA,QAAI,aAAa;AACb,kBAAY,KAAK,GAAG,MAAM,KAAK,yBAAyB,WAAW,CAAC;AAAA,IACxE;AAAA,EACJ;AACJ;AAEA,SAAS,kBAAkB,QAAgB,IAAY;AACnD,SAAO,GAAG,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;AACvC;AAeA,SAAS,wBACL,OACA,SAAsB,QACC;AACvB,QAAM,kBAAkB,OAAO,SAAS,MAAM,EAAE;AAChD,QAAM,SACF,mBACA,IAAI,aAAa,EAAE,IAAI,MAAM,IAAI,MAAM,kBAAkB,WAAW,MAAM,EAAE,GAAG,UAAU,MAAM,SAAS,CAAC;AAE7G,MAAI;AACJ,MAAI,OAAO,MAAM,aAAa,UAAU;AACpC,oBAAgB,MAAM;AAAA,EAC1B,OAAO;AACH,oBAAgB,cAAc,OAAO,YAAY,MAAM,YAAY,CAAC,CAAC;AAAA,EACzE;AAEA,QAAM,uBAAuB,oBAAI,IAA6B;AAC9D,QAAM,aAAa,IAAI,IAAY,MAAM,cAAc,CAAC,CAAC;AACzD,aAAW,QAAQ,OAAO,YAAY;AAClC,yBAAqB,iBAAiB,MAAM,YAAY,oBAAoB;AAC5E,eAAW,OAAO,KAAK,EAAiB;AAAA,EAC5C;AAEA,QAAM,0BAA0B,oBAAI,IAA2B;AAC/D,QAAM,gBAAgB,IAAI,IAAI,MAAM,YAAY,CAAC,CAAC;AAClD,aAAW,WAAW,OAAO,UAAU;AACnC,yBAAqB,iBAAiB,SAAS,eAAe,uBAAuB;AACrF,kBAAc,OAAO,QAAQ,EAAe;AAAA,EAChD;AAEA,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AACJ;AAWA,SAAS,qBACL,iBACA,SACA,WACA,WACF;AACE,MAAI,CAAC,iBAAiB;AAClB;AAAA,EACJ;AAIA,MAAI,eAAe,SAAS,OAAO,GAAG;AAClC;AAAA,EACJ;AAEA,QAAM,cAAc,cAAc,QAAQ,UAAU,IAAI,QAAQ,EAAE;AAClE,QAAM,gBAAgB,QAAQ,qBAAqB,iBAAiB,eAAe;AACnF,MAAI,CAAC,aAAa;AACd,QAAI,kBAAkB,YAAY,cAAc,WAAW;AAEvD,gBAAU,IAAI,SAAS,KAAK;AAAA,IAChC;AAAA,EACJ,OAAO;AACH,QAAI,kBAAkB,YAAY,cAAc,WAAW;AAEvD,gBAAU,IAAI,SAAS,IAAI;AAAA,IAC/B;AAAA,EACJ;AACJ;",
5
5
  "names": []
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/node",
3
- "version": "0.17.7-alpha.0-20260723-6f672ac9d",
3
+ "version": "0.17.7",
4
4
  "description": "API for building Matter nodes",
5
5
  "keywords": [
6
6
  "iot",
@@ -36,14 +36,14 @@
36
36
  "#*": "./src/*"
37
37
  },
38
38
  "dependencies": {
39
- "@matter/general": "0.17.7-alpha.0-20260723-6f672ac9d",
40
- "@matter/model": "0.17.7-alpha.0-20260723-6f672ac9d",
41
- "@matter/types": "0.17.7-alpha.0-20260723-6f672ac9d",
42
- "@matter/protocol": "0.17.7-alpha.0-20260723-6f672ac9d"
39
+ "@matter/general": "0.17.7",
40
+ "@matter/model": "0.17.7",
41
+ "@matter/types": "0.17.7",
42
+ "@matter/protocol": "0.17.7"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@nacho-iot/js-tools": "^0.1.7",
46
- "@matter/testing": "0.17.7-alpha.0-20260723-6f672ac9d"
46
+ "@matter/testing": "0.17.7"
47
47
  },
48
48
  "files": [
49
49
  "dist/**/*",
@@ -16,6 +16,7 @@ import {
16
16
  SharedEnvironmentServices,
17
17
  TransportSet,
18
18
  } from "@matter/general";
19
+ import { MatterModel } from "@matter/model";
19
20
  import {
20
21
  Ble,
21
22
  ClientSubscriptions,
@@ -59,6 +60,11 @@ export class ControllerBehavior extends Behavior {
59
60
 
60
61
  const node = Node.forEndpoint(this.endpoint);
61
62
 
63
+ // Publish the controller's model so auto-created peer nodes inherit it via the environment
64
+ if (this.state.matter !== undefined) {
65
+ node.env.set(MatterModel, this.state.matter);
66
+ }
67
+
62
68
  // Configure discovery transports
63
69
  if (this.state.ip === undefined) {
64
70
  this.state.ip = true;
@@ -297,5 +303,13 @@ export namespace ControllerBehavior {
297
303
  * Case Authenticated Tags to be used to commission and connect to devices.
298
304
  */
299
305
  caseAuthenticatedTags?: CaseAuthenticatedTag[] = undefined;
306
+
307
+ /**
308
+ * Model of Matter semantics used for peers commissioned or discovered by this controller.
309
+ *
310
+ * Supply a model extended with custom or manufacturer-specific clusters (see {@link MatterModel.withClusters}) so
311
+ * their attributes and commands resolve to real names instead of synthetic `attr$…`/`command$…` identifiers.
312
+ */
313
+ matter?: MatterModel = undefined;
300
314
  }
301
315
  }
@@ -221,7 +221,7 @@ export class SoftwareUpdateManager extends Behavior {
221
221
  */
222
222
  async #initializeUpdateCheck() {
223
223
  try {
224
- await this.#checkAvailableUpdates();
224
+ await this.checkForUpdates();
225
225
  } catch (error) {
226
226
  logger.notice(`Error during initial OTA update check:`, error);
227
227
  }
@@ -230,7 +230,7 @@ export class SoftwareUpdateManager extends Behavior {
230
230
  this.internal.checkForUpdateTimer = Time.getPeriodicTimer(
231
231
  "checkAvailableUpdates",
232
232
  this.state.updateCheckInterval,
233
- this.callback(this.#checkAvailableUpdates),
233
+ this.callback(this.checkForUpdates),
234
234
  ).start();
235
235
  }
236
236
 
@@ -381,8 +381,12 @@ export class SoftwareUpdateManager extends Behavior {
381
381
  }
382
382
  }
383
383
 
384
- /** Triggered by a Timer to call the update with different parameters */
385
- async #checkAvailableUpdates() {
384
+ /**
385
+ * Check all commissioned peers for available updates and purge stored updates that are no longer needed.
386
+ *
387
+ * Runs automatically on a periodic timer but may also be invoked directly to force an immediate check.
388
+ */
389
+ async checkForUpdates() {
386
390
  await this.queryUpdates({ includeStoredUpdates: true });
387
391
  await this.#cleanupObsoleteUpdates();
388
392
  }
@@ -45,7 +45,7 @@ const logger = Logger.get("ClientNode");
45
45
  * you invoke {@link commissioned}.
46
46
  */
47
47
  export class ClientNode extends Node<ClientNode.RootEndpoint> {
48
- #matter: MatterModel;
48
+ #matter?: MatterModel;
49
49
  #interaction?: ClientNodeInteraction;
50
50
  #blockInteractions = false;
51
51
  #cachedPeerAddress?: PeerAddress;
@@ -67,7 +67,7 @@ export class ClientNode extends Node<ClientNode.RootEndpoint> {
67
67
  this.env.set(Node, this);
68
68
  this.env.set(ClientNode, this);
69
69
 
70
- this.#matter = options.matter ?? Matter;
70
+ this.#matter = options.matter;
71
71
  }
72
72
 
73
73
  override readonly nodeType: "client" | "group" = "client";
@@ -77,8 +77,8 @@ export class ClientNode extends Node<ClientNode.RootEndpoint> {
77
77
  *
78
78
  * Matter elements missing from this model will not support all functionality.
79
79
  */
80
- get matter() {
81
- return this.#matter;
80
+ override get matter(): MatterModel {
81
+ return this.#matter ?? this.env.maybeGet(MatterModel) ?? Matter;
82
82
  }
83
83
 
84
84
  override get endpoints(): ClientNodeEndpoints {
package/src/node/Node.ts CHANGED
@@ -25,6 +25,7 @@ import {
25
25
  ImplementationError,
26
26
  Logger,
27
27
  } from "@matter/general";
28
+ import { Matter, MatterModel } from "@matter/model";
28
29
  import { Interactable } from "@matter/protocol";
29
30
  import type { EndpointNumber } from "@matter/types";
30
31
  import { RootEndpoint } from "../endpoints/root.js";
@@ -87,6 +88,14 @@ export abstract class Node<T extends Node.CommonRootEndpoint = Node.CommonRootEn
87
88
  return this.#environment;
88
89
  }
89
90
 
91
+ /**
92
+ * Model of Matter semantics understood by this node. Defaults to the standard model; client nodes may narrow or
93
+ * extend it so remote clusters resolve to real element names.
94
+ */
95
+ get matter(): MatterModel {
96
+ return Matter;
97
+ }
98
+
90
99
  /**
91
100
  * The optimized view that supports local Matter protocol implementation.
92
101
  */
@@ -12,6 +12,7 @@ import { IcdManagementClient } from "#behaviors/icd-management";
12
12
  import { NetworkCommissioningClient } from "#behaviors/network-commissioning";
13
13
  import { PowerSourceClient } from "#behaviors/power-source";
14
14
  import { ThreadNetworkDiagnosticsClient } from "#behaviors/thread-network-diagnostics";
15
+ import { WiFiNetworkDiagnosticsClient } from "#behaviors/wi-fi-network-diagnostics";
15
16
  import { Endpoint } from "#endpoint/Endpoint.js";
16
17
  import { AggregatorEndpoint } from "#endpoints/aggregator";
17
18
  import { Node } from "#node/Node.js";
@@ -50,9 +51,57 @@ export function NodePhysicalProperties(node: Node) {
50
51
 
51
52
  inspectEndpoint(node, properties);
52
53
 
54
+ if (!properties.supportsWifi && !properties.supportsThread && !properties.supportsEthernet) {
55
+ inferNetworkMediumFromDiagnostics(node, properties);
56
+ }
57
+
53
58
  return properties;
54
59
  }
55
60
 
61
+ /**
62
+ * Determine the operational medium of a node that reports no network interfaces via Network Commissioning ("commissioned
63
+ * by other means") from the network diagnostics cluster of the medium it operates on.
64
+ *
65
+ * The mandatory diagnostics attributes are all nullable and null while the interface is not associated, so a populated
66
+ * one distinguishes an operational interface from a cluster that merely exists.
67
+ *
68
+ * Diagnostics describe the node itself, so only the root endpoint is considered.
69
+ */
70
+ function inferNetworkMediumFromDiagnostics(node: Node, properties: PhysicalDeviceProperties) {
71
+ const wifiDiagnosticsType = node.behaviors.typeFor(WiFiNetworkDiagnosticsClient);
72
+ const wifi = wifiDiagnosticsType ? node.maybeStateOf(wifiDiagnosticsType) : undefined;
73
+ if (wifi?.bssid !== undefined && wifi.bssid !== null) {
74
+ properties.supportsWifi = true;
75
+ }
76
+
77
+ const threadDiagnosticsType = node.behaviors.typeFor(ThreadNetworkDiagnosticsClient);
78
+ const thread = threadDiagnosticsType ? node.maybeStateOf(threadDiagnosticsType) : undefined;
79
+ if (
80
+ thread !== undefined &&
81
+ (isPresent(thread.extendedPanId) ||
82
+ isPresent(thread.panId) ||
83
+ isPresent(thread.channel) ||
84
+ isPresent(thread.networkName))
85
+ ) {
86
+ properties.supportsThread = true;
87
+
88
+ // A null extended PAN ID leaves threadActive false. When Thread is the only medium the node reports we trust
89
+ // the remaining details instead, otherwise the node stays unclassified despite being reachable.
90
+ if (
91
+ !properties.supportsWifi &&
92
+ properties.wifiActive === undefined &&
93
+ properties.ethernetActive === undefined
94
+ ) {
95
+ properties.threadActive = true;
96
+ properties.threadChannel ??= thread.channel ?? undefined;
97
+ }
98
+ }
99
+ }
100
+
101
+ function isPresent(value: unknown) {
102
+ return value !== undefined && value !== null;
103
+ }
104
+
56
105
  // Device types are collected node-wide (including bridged endpoints behind an aggregator) so consumers such as the
57
106
  // subscription-interval policy can react to them. Power/network/thread properties describe the physical node itself,
58
107
  // so bridged endpoints (behindAggregator) must not contribute to them.
@@ -32,7 +32,6 @@ import {
32
32
  DeviceClassification,
33
33
  FeatureMap,
34
34
  GeneratedCommandList,
35
- Matter,
36
35
  type FeatureBitmap,
37
36
  } from "@matter/model";
38
37
  import { ReadScope, Val, type Read, type ReadResult } from "@matter/protocol";
@@ -689,6 +688,7 @@ export class ClientStructure {
689
688
  if (this.#commandFactory) {
690
689
  shape.commandFactory = this.#commandFactory;
691
690
  }
691
+ shape.matter = this.#node.matter;
692
692
  const behaviorType = PeerBehavior(shape);
693
693
 
694
694
  if (endpoint.lifecycle.isInstalled) {
@@ -730,7 +730,7 @@ export class ClientStructure {
730
730
  }
731
731
 
732
732
  let isApp = false;
733
- const model = Matter.deviceTypes(dt.deviceType);
733
+ const model = this.#node.matter.deviceTypes(dt.deviceType);
734
734
  if (model !== undefined) {
735
735
  isApp = DeviceClassification.isApplication(model.classification);
736
736
  }
@@ -917,7 +917,7 @@ export class ClientStructure {
917
917
  }
918
918
 
919
919
  // Try to resolve by looking up the cluster model by capitalized behavior name (e.g. "onOff" → "OnOff")
920
- const clusterModel = Matter.clusters(capitalize(behaviorId));
920
+ const clusterModel = this.#node.matter.clusters(capitalize(behaviorId));
921
921
  if (clusterModel) {
922
922
  return this.#clusterFor(endpoint, clusterModel.id as ClusterId);
923
923
  }
@@ -18,6 +18,7 @@ import {
18
18
  FeatureBitmap,
19
19
  FeatureSet,
20
20
  Matter,
21
+ MatterModel,
21
22
  type ValueModel,
22
23
  } from "@matter/model";
23
24
  import { AttributeId, ClusterId, CommandId } from "@matter/types";
@@ -25,7 +26,10 @@ import { ClientCommandMethod } from "./ClientCommandMethod.js";
25
26
 
26
27
  const BIT_BLOCK_SIZE = Math.log2(Number.MAX_SAFE_INTEGER);
27
28
 
28
- const discoveredCaches = new Map<ClusterBehaviorType.CommandFactory, Record<string, ClusterBehavior.Type>>();
29
+ const discoveredCaches = new Map<
30
+ ClusterBehaviorType.CommandFactory,
31
+ WeakMap<MatterModel, Record<string, ClusterBehavior.Type>>
32
+ >();
29
33
  const knownCaches = new Map<ClusterBehaviorType.CommandFactory, WeakMap<ClusterBehavior.Type, ClusterBehavior.Type>>();
30
34
 
31
35
  const isPeer = Symbol("is-peer");
@@ -73,6 +77,12 @@ export namespace PeerBehavior {
73
77
  commands?: CommandId[];
74
78
  generatedCommands?: CommandId[];
75
79
  commandFactory?: ClusterBehaviorType.CommandFactory;
80
+
81
+ /**
82
+ * Model used to resolve standard element names/shapes. Defaults to the global {@link Matter} model; a client
83
+ * node supplies its own so custom or extended clusters resolve to real names.
84
+ */
85
+ matter?: MatterModel;
76
86
  }
77
87
 
78
88
  /**
@@ -86,12 +96,17 @@ export namespace PeerBehavior {
86
96
  }
87
97
 
88
98
  function instrumentDiscoveredShape(shape: PeerBehavior.DiscoveredClusterShape) {
89
- const analysis = DiscoveredShapeAnalysis(shape);
99
+ const matter = shape.matter ?? Matter;
100
+ const analysis = DiscoveredShapeAnalysis(shape, matter);
90
101
  const factory = shape.commandFactory ?? ClientCommandMethod;
91
102
 
92
- let cache = discoveredCaches.get(factory);
103
+ let byModel = discoveredCaches.get(factory);
104
+ if (!byModel) {
105
+ discoveredCaches.set(factory, (byModel = new WeakMap()));
106
+ }
107
+ let cache = byModel.get(matter);
93
108
  if (!cache) {
94
- discoveredCaches.set(factory, (cache = {}));
109
+ byModel.set(matter, (cache = {}));
95
110
  }
96
111
 
97
112
  const fingerprint = createFingerprint(analysis);
@@ -102,7 +117,7 @@ function instrumentDiscoveredShape(shape: PeerBehavior.DiscoveredClusterShape) {
102
117
 
103
118
  // Find a base behavior for the standard cluster, if available
104
119
  let baseType: Behavior.Type | undefined;
105
- const standardSchema = Matter.get(ClusterModel, shape.id);
120
+ const standardSchema = matter.get(ClusterModel, shape.id);
106
121
  if (standardSchema) {
107
122
  // Create a base behavior from the standard schema
108
123
  baseType = ClusterBehaviorType({
@@ -360,8 +375,11 @@ interface DiscoveredShapeAnalysis {
360
375
  /**
361
376
  * Analyze a discovered cluster shape to determine how we should override the behavior and schema.
362
377
  */
363
- function DiscoveredShapeAnalysis(shape: PeerBehavior.DiscoveredClusterShape): DiscoveredShapeAnalysis {
364
- const standardCluster = Matter.clusters(shape.id);
378
+ function DiscoveredShapeAnalysis(
379
+ shape: PeerBehavior.DiscoveredClusterShape,
380
+ matter: MatterModel = Matter,
381
+ ): DiscoveredShapeAnalysis {
382
+ const standardCluster = matter.clusters(shape.id);
365
383
  const schema =
366
384
  standardCluster ??
367
385
  new ClusterModel({ id: shape.id, name: createUnknownName("Cluster", shape.id), revision: shape.revision });