@matter/node 0.16.0-alpha.0-20251031-0f308af69 → 0.16.0-alpha.0-20251101-70c8d51d7

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 (123) hide show
  1. package/dist/cjs/behavior/state/managed/Datasource.js +13 -13
  2. package/dist/cjs/behavior/state/managed/Datasource.js.map +2 -2
  3. package/dist/cjs/behavior/state/managed/values/ListManager.js +2 -2
  4. package/dist/cjs/behavior/state/managed/values/ListManager.js.map +1 -1
  5. package/dist/cjs/behavior/state/managed/values/ValuePatcher.js +10 -3
  6. package/dist/cjs/behavior/state/managed/values/ValuePatcher.js.map +1 -1
  7. package/dist/cjs/behavior/supervision/ValueSupervisor.d.ts +4 -0
  8. package/dist/cjs/behavior/supervision/ValueSupervisor.d.ts.map +1 -1
  9. package/dist/cjs/behavior/system/commissioning/CommissioningClient.d.ts +3 -3
  10. package/dist/cjs/behavior/system/commissioning/CommissioningClient.d.ts.map +1 -1
  11. package/dist/cjs/behavior/system/network/ClientNetworkRuntime.d.ts +0 -1
  12. package/dist/cjs/behavior/system/network/ClientNetworkRuntime.d.ts.map +1 -1
  13. package/dist/cjs/behavior/system/network/ClientNetworkRuntime.js +3 -4
  14. package/dist/cjs/behavior/system/network/ClientNetworkRuntime.js.map +1 -1
  15. package/dist/cjs/behavior/system/network/NetworkClient.d.ts +8 -13
  16. package/dist/cjs/behavior/system/network/NetworkClient.d.ts.map +1 -1
  17. package/dist/cjs/behavior/system/network/NetworkClient.js +20 -35
  18. package/dist/cjs/behavior/system/network/NetworkClient.js.map +1 -1
  19. package/dist/cjs/behavior/system/network/NetworkRuntime.d.ts +1 -1
  20. package/dist/cjs/behavior/system/network/NetworkRuntime.d.ts.map +1 -1
  21. package/dist/cjs/behavior/system/network/NetworkRuntime.js +5 -1
  22. package/dist/cjs/behavior/system/network/NetworkRuntime.js.map +1 -1
  23. package/dist/cjs/behavior/system/network/ServerNetworkRuntime.d.ts +0 -1
  24. package/dist/cjs/behavior/system/network/ServerNetworkRuntime.d.ts.map +1 -1
  25. package/dist/cjs/behavior/system/network/ServerNetworkRuntime.js +4 -4
  26. package/dist/cjs/behavior/system/network/ServerNetworkRuntime.js.map +1 -1
  27. package/dist/cjs/behavior/system/remote/RemoteInterface.d.ts.map +1 -1
  28. package/dist/cjs/behavior/system/remote/RemoteInterface.js +3 -3
  29. package/dist/cjs/behavior/system/remote/RemoteInterface.js.map +1 -1
  30. package/dist/cjs/behavior/system/subscriptions/SubscriptionsServer.js +1 -1
  31. package/dist/cjs/behavior/system/subscriptions/SubscriptionsServer.js.map +1 -1
  32. package/dist/cjs/behaviors/color-control/ColorConversionUtils.js +2 -2
  33. package/dist/cjs/behaviors/color-control/ColorConversionUtils.js.map +1 -1
  34. package/dist/cjs/behaviors/thermostat/AtomicWriteHandler.js +1 -1
  35. package/dist/cjs/behaviors/thermostat/AtomicWriteHandler.js.map +1 -1
  36. package/dist/cjs/behaviors/thermostat/ThermostatServer.js +1 -1
  37. package/dist/cjs/behaviors/thermostat/ThermostatServer.js.map +1 -1
  38. package/dist/cjs/node/client/ClientEventEmitter.d.ts.map +1 -1
  39. package/dist/cjs/node/client/ClientEventEmitter.js +11 -10
  40. package/dist/cjs/node/client/ClientEventEmitter.js.map +2 -2
  41. package/dist/cjs/node/client/ClientNodeInteraction.d.ts +8 -5
  42. package/dist/cjs/node/client/ClientNodeInteraction.d.ts.map +1 -1
  43. package/dist/cjs/node/client/ClientNodeInteraction.js +9 -13
  44. package/dist/cjs/node/client/ClientNodeInteraction.js.map +1 -1
  45. package/dist/cjs/node/integration/ChangeNotificationService.js +1 -1
  46. package/dist/cjs/node/integration/ChangeNotificationService.js.map +1 -1
  47. package/dist/cjs/node/server/InteractionServer.js +1 -1
  48. package/dist/cjs/node/server/OnlineServerInteraction.d.ts +0 -1
  49. package/dist/cjs/node/server/OnlineServerInteraction.d.ts.map +1 -1
  50. package/dist/cjs/node/server/OnlineServerInteraction.js +0 -3
  51. package/dist/cjs/node/server/OnlineServerInteraction.js.map +1 -1
  52. package/dist/esm/behavior/state/managed/Datasource.js +13 -13
  53. package/dist/esm/behavior/state/managed/Datasource.js.map +2 -2
  54. package/dist/esm/behavior/state/managed/values/ListManager.js +2 -2
  55. package/dist/esm/behavior/state/managed/values/ListManager.js.map +1 -1
  56. package/dist/esm/behavior/state/managed/values/ValuePatcher.js +10 -3
  57. package/dist/esm/behavior/state/managed/values/ValuePatcher.js.map +1 -1
  58. package/dist/esm/behavior/supervision/ValueSupervisor.d.ts +4 -0
  59. package/dist/esm/behavior/supervision/ValueSupervisor.d.ts.map +1 -1
  60. package/dist/esm/behavior/system/commissioning/CommissioningClient.d.ts +3 -3
  61. package/dist/esm/behavior/system/commissioning/CommissioningClient.d.ts.map +1 -1
  62. package/dist/esm/behavior/system/network/ClientNetworkRuntime.d.ts +0 -1
  63. package/dist/esm/behavior/system/network/ClientNetworkRuntime.d.ts.map +1 -1
  64. package/dist/esm/behavior/system/network/ClientNetworkRuntime.js +3 -4
  65. package/dist/esm/behavior/system/network/ClientNetworkRuntime.js.map +1 -1
  66. package/dist/esm/behavior/system/network/NetworkClient.d.ts +8 -13
  67. package/dist/esm/behavior/system/network/NetworkClient.d.ts.map +1 -1
  68. package/dist/esm/behavior/system/network/NetworkClient.js +21 -36
  69. package/dist/esm/behavior/system/network/NetworkClient.js.map +1 -1
  70. package/dist/esm/behavior/system/network/NetworkRuntime.d.ts +1 -1
  71. package/dist/esm/behavior/system/network/NetworkRuntime.d.ts.map +1 -1
  72. package/dist/esm/behavior/system/network/NetworkRuntime.js +6 -2
  73. package/dist/esm/behavior/system/network/NetworkRuntime.js.map +1 -1
  74. package/dist/esm/behavior/system/network/ServerNetworkRuntime.d.ts +0 -1
  75. package/dist/esm/behavior/system/network/ServerNetworkRuntime.d.ts.map +1 -1
  76. package/dist/esm/behavior/system/network/ServerNetworkRuntime.js +4 -4
  77. package/dist/esm/behavior/system/network/ServerNetworkRuntime.js.map +1 -1
  78. package/dist/esm/behavior/system/remote/RemoteInterface.d.ts.map +1 -1
  79. package/dist/esm/behavior/system/remote/RemoteInterface.js +4 -4
  80. package/dist/esm/behavior/system/remote/RemoteInterface.js.map +1 -1
  81. package/dist/esm/behavior/system/subscriptions/SubscriptionsServer.js +1 -1
  82. package/dist/esm/behavior/system/subscriptions/SubscriptionsServer.js.map +1 -1
  83. package/dist/esm/behaviors/color-control/ColorConversionUtils.js +2 -2
  84. package/dist/esm/behaviors/color-control/ColorConversionUtils.js.map +1 -1
  85. package/dist/esm/behaviors/thermostat/AtomicWriteHandler.js +1 -1
  86. package/dist/esm/behaviors/thermostat/AtomicWriteHandler.js.map +1 -1
  87. package/dist/esm/behaviors/thermostat/ThermostatServer.js +1 -1
  88. package/dist/esm/behaviors/thermostat/ThermostatServer.js.map +1 -1
  89. package/dist/esm/node/client/ClientEventEmitter.d.ts.map +1 -1
  90. package/dist/esm/node/client/ClientEventEmitter.js +12 -11
  91. package/dist/esm/node/client/ClientEventEmitter.js.map +2 -2
  92. package/dist/esm/node/client/ClientNodeInteraction.d.ts +8 -5
  93. package/dist/esm/node/client/ClientNodeInteraction.d.ts.map +1 -1
  94. package/dist/esm/node/client/ClientNodeInteraction.js +9 -13
  95. package/dist/esm/node/client/ClientNodeInteraction.js.map +1 -1
  96. package/dist/esm/node/integration/ChangeNotificationService.js +1 -1
  97. package/dist/esm/node/integration/ChangeNotificationService.js.map +1 -1
  98. package/dist/esm/node/server/InteractionServer.js +1 -1
  99. package/dist/esm/node/server/OnlineServerInteraction.d.ts +0 -1
  100. package/dist/esm/node/server/OnlineServerInteraction.d.ts.map +1 -1
  101. package/dist/esm/node/server/OnlineServerInteraction.js +0 -3
  102. package/dist/esm/node/server/OnlineServerInteraction.js.map +1 -1
  103. package/package.json +7 -7
  104. package/src/behavior/Transitions.ts +1 -1
  105. package/src/behavior/state/managed/Datasource.ts +17 -14
  106. package/src/behavior/state/managed/values/ListManager.ts +2 -2
  107. package/src/behavior/state/managed/values/ValuePatcher.ts +15 -6
  108. package/src/behavior/supervision/ValueSupervisor.ts +5 -0
  109. package/src/behavior/system/commissioning/CommissioningClient.ts +3 -3
  110. package/src/behavior/system/network/ClientNetworkRuntime.ts +5 -5
  111. package/src/behavior/system/network/NetworkClient.ts +25 -43
  112. package/src/behavior/system/network/NetworkRuntime.ts +7 -4
  113. package/src/behavior/system/network/ServerNetworkRuntime.ts +5 -6
  114. package/src/behavior/system/remote/RemoteInterface.ts +4 -4
  115. package/src/behavior/system/subscriptions/SubscriptionsServer.ts +1 -1
  116. package/src/behaviors/color-control/ColorConversionUtils.ts +2 -2
  117. package/src/behaviors/thermostat/AtomicWriteHandler.ts +1 -1
  118. package/src/behaviors/thermostat/ThermostatServer.ts +1 -1
  119. package/src/node/client/ClientEventEmitter.ts +12 -11
  120. package/src/node/client/ClientNodeInteraction.ts +13 -17
  121. package/src/node/integration/ChangeNotificationService.ts +1 -1
  122. package/src/node/server/InteractionServer.ts +1 -1
  123. package/src/node/server/OnlineServerInteraction.ts +0 -4
@@ -10,11 +10,11 @@ import type { ClientNode } from "#node/ClientNode.js";
10
10
  import {
11
11
  ClientInteraction,
12
12
  ClientInvoke,
13
+ ClientSubscribe,
13
14
  DecodedInvokeResult,
14
15
  Interactable,
15
16
  Read,
16
17
  ReadResult,
17
- Subscribe,
18
18
  SubscribeResult,
19
19
  Write,
20
20
  WriteResult,
@@ -45,13 +45,19 @@ export class ClientNodeInteraction implements Interactable<ActionContext> {
45
45
  }
46
46
 
47
47
  /**
48
- * Subscribe to chosen attributes remotely from the node. Data are automatically updated in the storage and not
49
- * returned. The subscription response message with the subscription id and the maxInterval is returned.
48
+ * Subscribe to remote events and attributes as defined by {@link request}.
49
+ *
50
+ * matter.js updates local state
51
+ *
52
+ * By default matter.js subscribes to all attributes and events of the peer and updates {@link ClientNode} state
53
+ * automatically. So you normally do not need to subscribe manually.
50
54
  */
51
- async subscribe(request: Subscribe, context?: ActionContext): SubscribeResult {
52
- const intermediateRequest: Subscribe = {
55
+ async subscribe(request: ClientSubscribe, context?: ActionContext): SubscribeResult {
56
+ const intermediateRequest: ClientSubscribe = {
53
57
  ...this.structure.injectVersionFilters(request),
54
58
 
59
+ sustain: request.sustain === undefined ? true : request.sustain,
60
+
55
61
  updated: async data => {
56
62
  const result = this.structure.mutate(request, data);
57
63
  if (request.updated) {
@@ -61,20 +67,10 @@ export class ClientNodeInteraction implements Interactable<ActionContext> {
61
67
  }
62
68
  },
63
69
 
64
- closed(cause) {
65
- // TODO - log cause?
66
- request.closed?.(cause);
67
- },
70
+ closed: request.closed?.bind(request),
68
71
  };
69
- const interaction = await this.#connect();
70
- return interaction.subscribe(intermediateRequest, context);
71
- }
72
72
 
73
- cancelSubscription(id: number): void {
74
- if (!this.#node.lifecycle.isOnline) {
75
- return;
76
- }
77
- this.#node.env.get(ClientInteraction).cancelSubscription(id);
73
+ return (await this.#connect()).subscribe(intermediateRequest, context);
78
74
  }
79
75
 
80
76
  /**
@@ -71,7 +71,7 @@ export class ChangeNotificationService {
71
71
  kind: "delete",
72
72
  endpoint,
73
73
  });
74
- if (endpoint == node) {
74
+ if (endpoint === node) {
75
75
  observers.close();
76
76
  this.#observers.delete(node);
77
77
  }
@@ -518,7 +518,7 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
518
518
  );
519
519
  } catch (error) {
520
520
  logger.error(
521
- `Subscription ${subscriptionId} for Session ${session.id}: Error while sending initial data reports`,
521
+ `Subscription ${subscriptionId} for Session ${session.id}: Error while sending initial data reports:`,
522
522
  error instanceof MatterError ? error.message : error,
523
523
  );
524
524
  if (error instanceof StatusResponseError && !(error instanceof ReceivedStatusResponseError)) {
@@ -35,10 +35,6 @@ export class OnlineServerInteraction implements Interactable<RemoteActorContext.
35
35
  throw new NotImplementedError("subscribe not implemented");
36
36
  }
37
37
 
38
- cancelSubscription(_id: number): void {
39
- throw new NotImplementedError("cancelSubscription not implemented");
40
- }
41
-
42
38
  async write<T extends Write>(request: T, context: RemoteActorContext.Options): WriteResult<T> {
43
39
  return RemoteActorContext(context).act(session => this.#interaction.write(request, session));
44
40
  }