@project-chip/matter.js 0.15.3-alpha.0-20250731-b0f24a28b → 0.16.0-alpha.0-20250802-1af103e3d

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/CommissioningController.d.ts +1 -8
  2. package/dist/cjs/CommissioningController.d.ts.map +1 -1
  3. package/dist/cjs/CommissioningController.js +0 -10
  4. package/dist/cjs/CommissioningController.js.map +1 -1
  5. package/dist/cjs/ControllerStore.d.ts +6 -6
  6. package/dist/cjs/ControllerStore.d.ts.map +1 -1
  7. package/dist/cjs/LegacyControllerStore.d.ts +5 -5
  8. package/dist/cjs/LegacyControllerStore.d.ts.map +1 -1
  9. package/dist/cjs/cluster/server/ClusterServerTypes.d.ts +2 -2
  10. package/dist/cjs/cluster/server/ClusterServerTypes.d.ts.map +1 -1
  11. package/dist/cjs/cluster/server/EventServer.d.ts +8 -8
  12. package/dist/cjs/cluster/server/EventServer.d.ts.map +1 -1
  13. package/dist/cjs/cluster/server/EventServer.js.map +1 -1
  14. package/dist/cjs/device/CachedClientNodeStore.d.ts +2 -1
  15. package/dist/cjs/device/CachedClientNodeStore.d.ts.map +1 -1
  16. package/dist/cjs/device/CachedClientNodeStore.js +9 -1
  17. package/dist/cjs/device/CachedClientNodeStore.js.map +1 -1
  18. package/dist/cjs/device/PairedNode.js +3 -3
  19. package/dist/cjs/device/PairedNode.js.map +1 -1
  20. package/dist/esm/CommissioningController.d.ts +1 -8
  21. package/dist/esm/CommissioningController.d.ts.map +1 -1
  22. package/dist/esm/CommissioningController.js +0 -10
  23. package/dist/esm/CommissioningController.js.map +1 -1
  24. package/dist/esm/ControllerStore.d.ts +6 -6
  25. package/dist/esm/ControllerStore.d.ts.map +1 -1
  26. package/dist/esm/LegacyControllerStore.d.ts +5 -5
  27. package/dist/esm/LegacyControllerStore.d.ts.map +1 -1
  28. package/dist/esm/cluster/server/ClusterServerTypes.d.ts +2 -2
  29. package/dist/esm/cluster/server/ClusterServerTypes.d.ts.map +1 -1
  30. package/dist/esm/cluster/server/EventServer.d.ts +8 -8
  31. package/dist/esm/cluster/server/EventServer.d.ts.map +1 -1
  32. package/dist/esm/cluster/server/EventServer.js +1 -8
  33. package/dist/esm/cluster/server/EventServer.js.map +1 -1
  34. package/dist/esm/device/CachedClientNodeStore.d.ts +2 -1
  35. package/dist/esm/device/CachedClientNodeStore.d.ts.map +1 -1
  36. package/dist/esm/device/CachedClientNodeStore.js +9 -1
  37. package/dist/esm/device/CachedClientNodeStore.js.map +1 -1
  38. package/dist/esm/device/PairedNode.js +3 -3
  39. package/dist/esm/device/PairedNode.js.map +1 -1
  40. package/package.json +8 -8
  41. package/src/CommissioningController.ts +0 -12
  42. package/src/cluster/server/ClusterServerTypes.ts +2 -2
  43. package/src/cluster/server/EventServer.ts +9 -19
  44. package/src/device/CachedClientNodeStore.ts +10 -1
  45. package/src/device/PairedNode.ts +3 -3
@@ -5,16 +5,7 @@
5
5
  */
6
6
 
7
7
  import { Endpoint } from "#device/Endpoint.js";
8
- import {
9
- ImplementationError,
10
- InternalError,
11
- isObject,
12
- MatterAggregateError,
13
- MaybePromise,
14
- Storage,
15
- StorageOperationResult,
16
- Time,
17
- } from "#general";
8
+ import { ImplementationError, InternalError, isObject, MatterAggregateError, MaybePromise, Time } from "#general";
18
9
  import { AccessLevel, ClusterModel, EventModel, MatterModel } from "#model";
19
10
  import { Message, NumberedOccurrence, Occurrence, OccurrenceManager, SecureSession, Session } from "#protocol";
20
11
  import {
@@ -34,7 +25,7 @@ import {
34
25
  TypeFromSchema,
35
26
  } from "#types";
36
27
 
37
- export type AnyEventServer<T = any, S extends Storage = any> = EventServer<T, S> | FabricSensitiveEventServer<T, S>;
28
+ export type AnyEventServer<T = any> = EventServer<T> | FabricSensitiveEventServer<T>;
38
29
 
39
30
  export function createEventServer<
40
31
  T,
@@ -43,7 +34,6 @@ export function createEventServer<
43
34
  A extends Attributes,
44
35
  C extends Commands,
45
36
  E extends Events,
46
- S extends Storage,
47
37
  >(
48
38
  clusterDef: Cluster<F, SF, A, C, E>,
49
39
  eventDef: Event<T, F>,
@@ -51,7 +41,7 @@ export function createEventServer<
51
41
  schema: TlvSchema<T>,
52
42
  priority: EventPriority,
53
43
  readAcl: AccessLevel | undefined,
54
- ): EventServer<T, S> {
44
+ ): EventServer<T> {
55
45
  let fabricSensitive = false;
56
46
  const clusterFromModel = MatterModel.standard.get(ClusterModel, clusterDef.id);
57
47
  if (clusterFromModel !== undefined) {
@@ -66,7 +56,7 @@ export function createEventServer<
66
56
  return new EventServer(eventDef.id, clusterDef.id, eventName, schema, priority, readAcl);
67
57
  }
68
58
 
69
- export class EventServer<T = any, S extends Storage = any> {
59
+ export class EventServer<T = any> {
70
60
  private eventList = new Array<Occurrence>();
71
61
  private readonly listeners = new Array<(event: NumberedOccurrence) => void>();
72
62
  protected endpoint?: Endpoint;
@@ -111,9 +101,9 @@ export class EventServer<T = any, S extends Storage = any> {
111
101
  if (promises.length > 0) {
112
102
  return MatterAggregateError.allSettled(promises, "Error binding events to the event handlers").then(
113
103
  () => {},
114
- ) as StorageOperationResult<S>;
104
+ );
115
105
  }
116
- return undefined as StorageOperationResult<S>;
106
+ return undefined;
117
107
  }
118
108
 
119
109
  triggerEvent(data: T) {
@@ -135,9 +125,9 @@ export class EventServer<T = any, S extends Storage = any> {
135
125
  const finalEvent = this.eventHandler.add(occurrence);
136
126
  return MaybePromise.then(finalEvent, e => {
137
127
  this.listeners.forEach(listener => listener(e));
138
- }) as StorageOperationResult<S>;
128
+ });
139
129
  }
140
- return undefined as StorageOperationResult<S>;
130
+ return undefined;
141
131
  }
142
132
 
143
133
  addListener(listener: (event: NumberedOccurrence) => void) {
@@ -173,7 +163,7 @@ export class EventServer<T = any, S extends Storage = any> {
173
163
  }
174
164
  }
175
165
 
176
- export class FabricSensitiveEventServer<T, S extends Storage> extends EventServer<T, S> {
166
+ export class FabricSensitiveEventServer<T> extends EventServer<T> {
177
167
  override hasFabricSensitiveData = true;
178
168
 
179
169
  override get(
@@ -25,6 +25,7 @@ export class CachedClientNodeStore extends PeerDataStore {
25
25
  #construction: Construction<CachedClientNodeStore>;
26
26
  #endpointStores = new Map<EndpointNumber, ClientEndpointStore>();
27
27
  #maxEventNumber: EventNumber = EventNumber(0);
28
+ #bdxStore?: StorageContext;
28
29
 
29
30
  get construction() {
30
31
  return this.#construction;
@@ -48,6 +49,14 @@ export class CachedClientNodeStore extends PeerDataStore {
48
49
  });
49
50
  }
50
51
 
52
+ get bdxStore(): StorageContext {
53
+ this.construction.assert("BDX storage context");
54
+ if (this.#bdxStore === undefined) {
55
+ this.#bdxStore = this.#storage.createContext("bdx");
56
+ }
57
+ return this.#bdxStore;
58
+ }
59
+
51
60
  async #loadEndpointStore(partId: string) {
52
61
  const endpointNumber = EndpointNumber(parseInt(partId));
53
62
  const endpointStore = new ClientEndpointStore(this.#storage.createContext(partId));
@@ -181,7 +190,7 @@ export class CachedClientNodeStore extends PeerDataStore {
181
190
  continue;
182
191
  }
183
192
  const endpointData = store.get;
184
- for (const clusterId in endpointData) {
193
+ for (const clusterId of endpointData.keys()) {
185
194
  if (filterClusterIdStr !== undefined && clusterId !== filterClusterIdStr) {
186
195
  continue;
187
196
  }
@@ -702,13 +702,13 @@ export class PairedNode {
702
702
  }
703
703
  }
704
704
  this.#reconnectErrorCount = 0;
705
- this.#setConnectionState(NodeStates.Connected);
705
+ this.#remoteInitializationDone = true;
706
706
  await this.events.initializedFromRemote.emit(this.#nodeDetails.toStorageData());
707
707
  if (!this.#localInitializationDone) {
708
- await this.events.initialized.emit(this.#nodeDetails.toStorageData());
709
708
  this.#localInitializationDone = true;
709
+ await this.events.initialized.emit(this.#nodeDetails.toStorageData());
710
710
  }
711
- this.#remoteInitializationDone = true;
711
+ this.#setConnectionState(NodeStates.Connected);
712
712
  } finally {
713
713
  this.#remoteInitializationInProgress = false;
714
714
  }