@matter-server/ws-client 0.3.1 → 0.3.2

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.
@@ -22,7 +22,7 @@ class MatterClient {
22
22
  this.url = url;
23
23
  this.url = url;
24
24
  this.connection = new Connection(this.url, wsFactory);
25
- this.serverBaseAddress = this.url.split("://")[1].split(":")[0] || "";
25
+ this.serverBaseAddress = this.url.split("://")[1].split(":")[0] ?? "";
26
26
  }
27
27
  connection;
28
28
  nodes = {};
@@ -15,6 +15,13 @@ export interface MatterNodeData {
15
15
  [key: string]: unknown;
16
16
  };
17
17
  attribute_subscriptions: Array<[number | null, number | null, number | null]>;
18
+ /**
19
+ * Matter specification version of the node (e.g., "1.2.0", "1.3.0", "1.4.0").
20
+ * Determined from the SpecificationVersion attribute (0x15) if available,
21
+ * otherwise estimated from DataModelRevision (0x0) on BasicInformation cluster.
22
+ * Optional - not available in Python Matter Server.
23
+ */
24
+ matter_version?: string;
18
25
  }
19
26
  export declare class MatterNode {
20
27
  data: MatterNodeData;
@@ -28,6 +35,11 @@ export declare class MatterNode {
28
35
  [key: string]: unknown;
29
36
  };
30
37
  attribute_subscriptions: Array<[number | null, number | null, number | null]>;
38
+ /**
39
+ * Matter specification version of the node (e.g., "1.2.0", "1.3.0", "1.4.0").
40
+ * Optional - not available in Python Matter Server.
41
+ */
42
+ matter_version?: string;
31
43
  constructor(data: MatterNodeData);
32
44
  get nodeLabel(): string;
33
45
  get vendorName(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/models/node.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,gCAAgC;AAChC,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACvC,uBAAuB,EAAE,KAAK,CAAC,CAAC,MAAM,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;CACjF;AAED,qBAAa,UAAU;IAUA,IAAI,EAAE,cAAc;IATvC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACvC,uBAAuB,EAAE,KAAK,CAAC,CAAC,MAAM,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;gBAE3D,IAAI,EAAE,cAAc;IAWvC,IAAI,SAAS,IAAI,MAAM,CAKtB;IAED,IAAI,UAAU,IAAI,MAAM,CAGvB;IAED,IAAI,WAAW,IAAI,MAAM,CAGxB;IAED,IAAI,YAAY,IAAI,MAAM,CAGzB;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAGpC;IAED,IAAI,mBAAmB,IAAI,MAAM,GAAG,SAAS,CAG5C;IAED,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,UAAU;CAGpD"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/models/node.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,gCAAgC;AAChC,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACvC,uBAAuB,EAAE,KAAK,CAAC,CAAC,MAAM,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAC9E;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,UAAU;IAeA,IAAI,EAAE,cAAc;IAdvC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACvC,uBAAuB,EAAE,KAAK,CAAC,CAAC,MAAM,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAC9E;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;gBAEL,IAAI,EAAE,cAAc;IAYvC,IAAI,SAAS,IAAI,MAAM,CAKtB;IAED,IAAI,UAAU,IAAI,MAAM,CAGvB;IAED,IAAI,WAAW,IAAI,MAAM,CAGxB;IAED,IAAI,YAAY,IAAI,MAAM,CAGzB;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAGpC;IAED,IAAI,mBAAmB,IAAI,MAAM,GAAG,SAAS,CAG5C;IAED,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,UAAU;CAGpD"}
@@ -14,6 +14,7 @@ class MatterNode {
14
14
  this.is_bridge = data.is_bridge;
15
15
  this.attributes = data.attributes;
16
16
  this.attribute_subscriptions = data.attribute_subscriptions;
17
+ this.matter_version = data.matter_version;
17
18
  }
18
19
  node_id;
19
20
  date_commissioned;
@@ -23,6 +24,11 @@ class MatterNode {
23
24
  is_bridge;
24
25
  attributes;
25
26
  attribute_subscriptions;
27
+ /**
28
+ * Matter specification version of the node (e.g., "1.2.0", "1.3.0", "1.4.0").
29
+ * Optional - not available in Python Matter Server.
30
+ */
31
+ matter_version;
26
32
  get nodeLabel() {
27
33
  const label = this.attributes["0/40/5"];
28
34
  if (typeof label !== "string") return "";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/models/node.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAkBO,MAAM,WAAW;AAAA,EAUpB,YAAmB,MAAsB;AAAtB;AACf,SAAK,UAAU,KAAK;AACpB,SAAK,oBAAoB,KAAK;AAC9B,SAAK,iBAAiB,KAAK;AAC3B,SAAK,oBAAoB,KAAK;AAC9B,SAAK,YAAY,KAAK;AACtB,SAAK,YAAY,KAAK;AACtB,SAAK,aAAa,KAAK;AACvB,SAAK,0BAA0B,KAAK;AAAA,EACxC;AAAA,EAlBA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAaA,IAAI,YAAoB;AACpB,UAAM,QAAQ,KAAK,WAAW,QAAQ;AACtC,QAAI,OAAO,UAAU,SAAU,QAAO;AACtC,QAAI,MAAM,SAAS,MAAc,EAAG,QAAO;AAC3C,WAAO,MAAM,KAAK;AAAA,EACtB;AAAA,EAEA,IAAI,aAAqB;AACrB,UAAM,QAAQ,KAAK,WAAW,QAAQ;AACtC,WAAO,OAAO,UAAU,WAAW,QAAQ;AAAA,EAC/C;AAAA,EAEA,IAAI,cAAsB;AACtB,UAAM,QAAQ,KAAK,WAAW,QAAQ;AACtC,WAAO,OAAO,UAAU,WAAW,QAAQ;AAAA,EAC/C;AAAA,EAEA,IAAI,eAAuB;AACvB,UAAM,QAAQ,KAAK,WAAW,SAAS;AACvC,WAAO,OAAO,UAAU,WAAW,QAAQ;AAAA,EAC/C;AAAA,EAEA,IAAI,cAAkC;AAClC,UAAM,QAAQ,KAAK,WAAW,QAAQ;AACtC,WAAO,OAAO,UAAU,WAAW,QAAQ;AAAA,EAC/C;AAAA,EAEA,IAAI,sBAA0C;AAC1C,UAAM,QAAQ,KAAK,WAAW,QAAQ;AACtC,WAAO,OAAO,UAAU,WAAW,QAAQ;AAAA,EAC/C;AAAA,EAEA,OAAO,MAA2C;AAC9C,WAAO,IAAI,WAAW,EAAE,GAAG,KAAK,MAAM,GAAG,KAAK,CAAC;AAAA,EACnD;AACJ;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAyBO,MAAM,WAAW;AAAA,EAepB,YAAmB,MAAsB;AAAtB;AACf,SAAK,UAAU,KAAK;AACpB,SAAK,oBAAoB,KAAK;AAC9B,SAAK,iBAAiB,KAAK;AAC3B,SAAK,oBAAoB,KAAK;AAC9B,SAAK,YAAY,KAAK;AACtB,SAAK,YAAY,KAAK;AACtB,SAAK,aAAa,KAAK;AACvB,SAAK,0BAA0B,KAAK;AACpC,SAAK,iBAAiB,KAAK;AAAA,EAC/B;AAAA,EAxBA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA,EAcA,IAAI,YAAoB;AACpB,UAAM,QAAQ,KAAK,WAAW,QAAQ;AACtC,QAAI,OAAO,UAAU,SAAU,QAAO;AACtC,QAAI,MAAM,SAAS,MAAc,EAAG,QAAO;AAC3C,WAAO,MAAM,KAAK;AAAA,EACtB;AAAA,EAEA,IAAI,aAAqB;AACrB,UAAM,QAAQ,KAAK,WAAW,QAAQ;AACtC,WAAO,OAAO,UAAU,WAAW,QAAQ;AAAA,EAC/C;AAAA,EAEA,IAAI,cAAsB;AACtB,UAAM,QAAQ,KAAK,WAAW,QAAQ;AACtC,WAAO,OAAO,UAAU,WAAW,QAAQ;AAAA,EAC/C;AAAA,EAEA,IAAI,eAAuB;AACvB,UAAM,QAAQ,KAAK,WAAW,SAAS;AACvC,WAAO,OAAO,UAAU,WAAW,QAAQ;AAAA,EAC/C;AAAA,EAEA,IAAI,cAAkC;AAClC,UAAM,QAAQ,KAAK,WAAW,QAAQ;AACtC,WAAO,OAAO,UAAU,WAAW,QAAQ;AAAA,EAC/C;AAAA,EAEA,IAAI,sBAA0C;AAC1C,UAAM,QAAQ,KAAK,WAAW,QAAQ;AACtC,WAAO,OAAO,UAAU,WAAW,QAAQ;AAAA,EAC/C;AAAA,EAEA,OAAO,MAA2C;AAC9C,WAAO,IAAI,WAAW,EAAE,GAAG,KAAK,MAAM,GAAG,KAAK,CAAC;AAAA,EACnD;AACJ;",
5
5
  "names": []
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter-server/ws-client",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "type": "module",
5
5
  "description": "WebSocket client library for Matter server",
6
6
  "bugs": {
@@ -26,7 +26,7 @@
26
26
  "devDependencies": {
27
27
  "@types/node": "^25.0.10",
28
28
  "@types/ws": "^8.18.1",
29
- "@matter/testing": "0.16.8-alpha.0-20260128-0ff06da17",
29
+ "@matter/testing": "0.16.8-alpha.0-20260130-2554cb6e2",
30
30
  "ws": "^8.19.0"
31
31
  },
32
32
  "files": [
package/src/client.ts CHANGED
@@ -68,7 +68,7 @@ export class MatterClient {
68
68
  ) {
69
69
  this.url = url;
70
70
  this.connection = new Connection(this.url, wsFactory);
71
- this.serverBaseAddress = this.url.split("://")[1].split(":")[0] || "";
71
+ this.serverBaseAddress = this.url.split("://")[1].split(":")[0] ?? "";
72
72
  }
73
73
 
74
74
  get serverInfo() {
@@ -14,6 +14,13 @@ export interface MatterNodeData {
14
14
  is_bridge: boolean;
15
15
  attributes: { [key: string]: unknown };
16
16
  attribute_subscriptions: Array<[number | null, number | null, number | null]>;
17
+ /**
18
+ * Matter specification version of the node (e.g., "1.2.0", "1.3.0", "1.4.0").
19
+ * Determined from the SpecificationVersion attribute (0x15) if available,
20
+ * otherwise estimated from DataModelRevision (0x0) on BasicInformation cluster.
21
+ * Optional - not available in Python Matter Server.
22
+ */
23
+ matter_version?: string;
17
24
  }
18
25
 
19
26
  export class MatterNode {
@@ -25,6 +32,11 @@ export class MatterNode {
25
32
  is_bridge: boolean;
26
33
  attributes: { [key: string]: unknown };
27
34
  attribute_subscriptions: Array<[number | null, number | null, number | null]>;
35
+ /**
36
+ * Matter specification version of the node (e.g., "1.2.0", "1.3.0", "1.4.0").
37
+ * Optional - not available in Python Matter Server.
38
+ */
39
+ matter_version?: string;
28
40
 
29
41
  constructor(public data: MatterNodeData) {
30
42
  this.node_id = data.node_id;
@@ -35,6 +47,7 @@ export class MatterNode {
35
47
  this.is_bridge = data.is_bridge;
36
48
  this.attributes = data.attributes;
37
49
  this.attribute_subscriptions = data.attribute_subscriptions;
50
+ this.matter_version = data.matter_version;
38
51
  }
39
52
 
40
53
  get nodeLabel(): string {