@matter/node 0.15.2-alpha.0-20250703-2e16aba2b → 0.15.2-alpha.0-20250708-b8eb61a5e

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 (76) hide show
  1. package/dist/cjs/behavior/system/commissioning/CommissioningClient.d.ts +35 -11
  2. package/dist/cjs/behavior/system/commissioning/CommissioningClient.d.ts.map +1 -1
  3. package/dist/cjs/behavior/system/commissioning/CommissioningClient.js +67 -10
  4. package/dist/cjs/behavior/system/commissioning/CommissioningClient.js.map +2 -2
  5. package/dist/cjs/behavior/system/controller/discovery/CommissioningDiscovery.d.ts +2 -2
  6. package/dist/cjs/behavior/system/controller/discovery/CommissioningDiscovery.d.ts.map +1 -1
  7. package/dist/cjs/behavior/system/controller/discovery/CommissioningDiscovery.js +3 -1
  8. package/dist/cjs/behavior/system/controller/discovery/CommissioningDiscovery.js.map +1 -1
  9. package/dist/cjs/behavior/system/controller/discovery/Discovery.d.ts +9 -0
  10. package/dist/cjs/behavior/system/controller/discovery/Discovery.d.ts.map +1 -1
  11. package/dist/cjs/behavior/system/controller/discovery/Discovery.js +1 -0
  12. package/dist/cjs/behavior/system/controller/discovery/Discovery.js.map +1 -1
  13. package/dist/cjs/behavior/system/controller/discovery/InstanceDiscovery.d.ts +1 -1
  14. package/dist/cjs/behavior/system/controller/discovery/InstanceDiscovery.d.ts.map +1 -1
  15. package/dist/cjs/behavior/system/controller/discovery/InstanceDiscovery.js.map +1 -1
  16. package/dist/cjs/behavior/system/product-description/ProductDescriptionServer.d.ts.map +1 -1
  17. package/dist/cjs/behavior/system/product-description/ProductDescriptionServer.js +5 -6
  18. package/dist/cjs/behavior/system/product-description/ProductDescriptionServer.js.map +1 -1
  19. package/dist/cjs/endpoint/properties/Behaviors.d.ts.map +1 -1
  20. package/dist/cjs/endpoint/properties/Behaviors.js +8 -3
  21. package/dist/cjs/endpoint/properties/Behaviors.js.map +1 -1
  22. package/dist/cjs/endpoint/properties/EndpointContainer.d.ts +1 -1
  23. package/dist/cjs/endpoint/properties/EndpointContainer.d.ts.map +1 -1
  24. package/dist/cjs/endpoint/properties/EndpointContainer.js +11 -3
  25. package/dist/cjs/endpoint/properties/EndpointContainer.js.map +1 -1
  26. package/dist/cjs/node/ClientNode.d.ts +14 -0
  27. package/dist/cjs/node/ClientNode.d.ts.map +1 -1
  28. package/dist/cjs/node/ClientNode.js +25 -0
  29. package/dist/cjs/node/ClientNode.js.map +1 -1
  30. package/dist/cjs/node/client/ClientNodes.d.ts +1 -1
  31. package/dist/cjs/node/client/ClientNodes.d.ts.map +1 -1
  32. package/dist/cjs/node/client/ClientNodes.js +1 -1
  33. package/dist/cjs/node/client/ClientNodes.js.map +1 -1
  34. package/dist/esm/behavior/system/commissioning/CommissioningClient.d.ts +35 -11
  35. package/dist/esm/behavior/system/commissioning/CommissioningClient.d.ts.map +1 -1
  36. package/dist/esm/behavior/system/commissioning/CommissioningClient.js +70 -11
  37. package/dist/esm/behavior/system/commissioning/CommissioningClient.js.map +1 -1
  38. package/dist/esm/behavior/system/controller/discovery/CommissioningDiscovery.d.ts +2 -2
  39. package/dist/esm/behavior/system/controller/discovery/CommissioningDiscovery.d.ts.map +1 -1
  40. package/dist/esm/behavior/system/controller/discovery/CommissioningDiscovery.js +3 -1
  41. package/dist/esm/behavior/system/controller/discovery/CommissioningDiscovery.js.map +1 -1
  42. package/dist/esm/behavior/system/controller/discovery/Discovery.d.ts +9 -0
  43. package/dist/esm/behavior/system/controller/discovery/Discovery.d.ts.map +1 -1
  44. package/dist/esm/behavior/system/controller/discovery/Discovery.js +1 -0
  45. package/dist/esm/behavior/system/controller/discovery/Discovery.js.map +1 -1
  46. package/dist/esm/behavior/system/controller/discovery/InstanceDiscovery.d.ts +1 -1
  47. package/dist/esm/behavior/system/controller/discovery/InstanceDiscovery.d.ts.map +1 -1
  48. package/dist/esm/behavior/system/controller/discovery/InstanceDiscovery.js.map +1 -1
  49. package/dist/esm/behavior/system/product-description/ProductDescriptionServer.d.ts.map +1 -1
  50. package/dist/esm/behavior/system/product-description/ProductDescriptionServer.js +6 -7
  51. package/dist/esm/behavior/system/product-description/ProductDescriptionServer.js.map +1 -1
  52. package/dist/esm/endpoint/properties/Behaviors.d.ts.map +1 -1
  53. package/dist/esm/endpoint/properties/Behaviors.js +8 -3
  54. package/dist/esm/endpoint/properties/Behaviors.js.map +1 -1
  55. package/dist/esm/endpoint/properties/EndpointContainer.d.ts +1 -1
  56. package/dist/esm/endpoint/properties/EndpointContainer.d.ts.map +1 -1
  57. package/dist/esm/endpoint/properties/EndpointContainer.js +11 -3
  58. package/dist/esm/endpoint/properties/EndpointContainer.js.map +1 -1
  59. package/dist/esm/node/ClientNode.d.ts +14 -0
  60. package/dist/esm/node/ClientNode.d.ts.map +1 -1
  61. package/dist/esm/node/ClientNode.js +25 -0
  62. package/dist/esm/node/ClientNode.js.map +1 -1
  63. package/dist/esm/node/client/ClientNodes.d.ts +1 -1
  64. package/dist/esm/node/client/ClientNodes.d.ts.map +1 -1
  65. package/dist/esm/node/client/ClientNodes.js +1 -1
  66. package/dist/esm/node/client/ClientNodes.js.map +1 -1
  67. package/package.json +7 -7
  68. package/src/behavior/system/commissioning/CommissioningClient.ts +112 -27
  69. package/src/behavior/system/controller/discovery/CommissioningDiscovery.ts +5 -3
  70. package/src/behavior/system/controller/discovery/Discovery.ts +11 -0
  71. package/src/behavior/system/controller/discovery/InstanceDiscovery.ts +1 -1
  72. package/src/behavior/system/product-description/ProductDescriptionServer.ts +6 -7
  73. package/src/endpoint/properties/Behaviors.ts +9 -3
  74. package/src/endpoint/properties/EndpointContainer.ts +12 -4
  75. package/src/node/ClientNode.ts +33 -0
  76. package/src/node/client/ClientNodes.ts +2 -2
@@ -21,10 +21,18 @@ export class EndpointContainer<T extends Endpoint = Endpoint>
21
21
  this.#owner = endpoint;
22
22
  }
23
23
 
24
- get(id: string) {
25
- for (const child of this) {
26
- if (child.maybeId === id) {
27
- return child;
24
+ get(id: string | number) {
25
+ if (typeof id === "number") {
26
+ for (const child of this) {
27
+ if (child.maybeNumber === id) {
28
+ return child;
29
+ }
30
+ }
31
+ } else {
32
+ for (const child of this) {
33
+ if (child.maybeId === id) {
34
+ return child;
35
+ }
28
36
  }
29
37
  }
30
38
  }
@@ -77,10 +77,43 @@ export class ClientNode extends Node<ClientNode.RootEndpoint> {
77
77
  super.owner = owner;
78
78
  }
79
79
 
80
+ /**
81
+ * Add this node to a fabric.
82
+ */
80
83
  async commission(options: CommissioningClient.CommissioningOptions) {
81
84
  await this.act("commission", agent => agent.commissioning.commission(options));
82
85
  }
83
86
 
87
+ /**
88
+ * Remove this node from the fabric (if commissioned) and locally.
89
+ */
90
+ override async delete() {
91
+ if (this.lifecycle.isCommissioned) {
92
+ this.statusUpdate("decommissioning");
93
+
94
+ await this.act("decommission", agent => agent.commissioning.decommission());
95
+ }
96
+
97
+ await super.delete();
98
+ }
99
+
100
+ /**
101
+ * Force-remove the node without first decommissioning.
102
+ *
103
+ * If the node is still available you should use {@link delete} to remove it from the fabric.
104
+ */
105
+ override async erase() {
106
+ await this.lifecycle.mutex.produce(this.eraseWithMutex.bind(this));
107
+ }
108
+
109
+ protected async eraseWithMutex() {
110
+ // First ensure we're offline
111
+ await this.cancelWithMutex();
112
+
113
+ // Then reset
114
+ await this.resetWithMutex();
115
+ }
116
+
84
117
  protected createRuntime(): NetworkRuntime {
85
118
  return new ClientNetworkRuntime(this);
86
119
  }
@@ -87,8 +87,8 @@ export class ClientNodes extends EndpointContainer<ClientNode> {
87
87
  return new CommissioningDiscovery(this.owner, options);
88
88
  }
89
89
 
90
- override get(id: string | PeerAddress) {
91
- if (typeof id !== "string") {
90
+ override get(id: number | string | PeerAddress) {
91
+ if (typeof id !== "string" && typeof id !== "number") {
92
92
  const address = PeerAddress(id);
93
93
  for (const node of this) {
94
94
  const nodeAddress = node.state.commissioning.peerAddress;