@matter/node 0.16.0-alpha.0-20250820-24939dd26 → 0.16.0-alpha.0-20250821-dd03e1003

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 (141) hide show
  1. package/dist/cjs/behavior/Events.d.ts +5 -0
  2. package/dist/cjs/behavior/Events.d.ts.map +1 -1
  3. package/dist/cjs/behavior/Events.js +7 -4
  4. package/dist/cjs/behavior/Events.js.map +1 -1
  5. package/dist/cjs/behavior/Transitions.d.ts.map +1 -1
  6. package/dist/cjs/behavior/Transitions.js +2 -2
  7. package/dist/cjs/behavior/Transitions.js.map +1 -1
  8. package/dist/cjs/behavior/context/ActionContext.d.ts +0 -7
  9. package/dist/cjs/behavior/context/ActionContext.d.ts.map +1 -1
  10. package/dist/cjs/behavior/context/server/ContextAgents.d.ts +4 -5
  11. package/dist/cjs/behavior/context/server/ContextAgents.d.ts.map +1 -1
  12. package/dist/cjs/behavior/context/server/ContextAgents.js +9 -0
  13. package/dist/cjs/behavior/context/server/ContextAgents.js.map +1 -1
  14. package/dist/cjs/behavior/context/server/OfflineContext.d.ts.map +1 -1
  15. package/dist/cjs/behavior/context/server/OfflineContext.js +0 -8
  16. package/dist/cjs/behavior/context/server/OfflineContext.js.map +1 -1
  17. package/dist/cjs/behavior/context/server/OnlineContext.d.ts.map +1 -1
  18. package/dist/cjs/behavior/context/server/OnlineContext.js +0 -8
  19. package/dist/cjs/behavior/context/server/OnlineContext.js.map +1 -1
  20. package/dist/cjs/behavior/internal/Reactors.js +1 -1
  21. package/dist/cjs/behavior/internal/Reactors.js.map +1 -1
  22. package/dist/cjs/behavior/system/network/NetworkClient.d.ts.map +1 -1
  23. package/dist/cjs/behavior/system/network/NetworkClient.js +1 -0
  24. package/dist/cjs/behavior/system/network/NetworkClient.js.map +1 -1
  25. package/dist/cjs/behavior/system/parts/PartsBehavior.js +1 -1
  26. package/dist/cjs/behavior/system/parts/PartsBehavior.js.map +1 -1
  27. package/dist/cjs/behavior/system/product-description/ProductDescriptionServer.js +1 -1
  28. package/dist/cjs/behavior/system/product-description/ProductDescriptionServer.js.map +1 -1
  29. package/dist/cjs/behaviors/general-commissioning/ServerNodeFailsafeContext.js +1 -1
  30. package/dist/cjs/behaviors/general-commissioning/ServerNodeFailsafeContext.js.map +1 -1
  31. package/dist/cjs/behaviors/groups/GroupsServer.js +4 -4
  32. package/dist/cjs/behaviors/groups/GroupsServer.js.map +1 -1
  33. package/dist/cjs/endpoint/Agent.js +1 -1
  34. package/dist/cjs/endpoint/Agent.js.map +1 -1
  35. package/dist/cjs/endpoint/Endpoint.d.ts +9 -0
  36. package/dist/cjs/endpoint/Endpoint.d.ts.map +1 -1
  37. package/dist/cjs/endpoint/Endpoint.js +12 -1
  38. package/dist/cjs/endpoint/Endpoint.js.map +1 -1
  39. package/dist/cjs/endpoint/properties/Behaviors.js +3 -3
  40. package/dist/cjs/endpoint/properties/Behaviors.js.map +1 -1
  41. package/dist/cjs/endpoint/properties/Commands.js +1 -1
  42. package/dist/cjs/endpoint/properties/Commands.js.map +1 -1
  43. package/dist/cjs/node/ClientNode.d.ts.map +1 -1
  44. package/dist/cjs/node/ClientNode.js +2 -0
  45. package/dist/cjs/node/ClientNode.js.map +1 -1
  46. package/dist/cjs/node/client/ClientBehavior.js +11 -4
  47. package/dist/cjs/node/client/ClientBehavior.js.map +1 -1
  48. package/dist/cjs/node/client/ClientEventEmitter.d.ts +19 -0
  49. package/dist/cjs/node/client/ClientEventEmitter.d.ts.map +1 -0
  50. package/dist/cjs/node/client/ClientEventEmitter.js +97 -0
  51. package/dist/cjs/node/client/ClientEventEmitter.js.map +6 -0
  52. package/dist/cjs/node/client/ClientStructure.d.ts +7 -3
  53. package/dist/cjs/node/client/ClientStructure.d.ts.map +1 -1
  54. package/dist/cjs/node/client/ClientStructure.js +42 -22
  55. package/dist/cjs/node/client/ClientStructure.js.map +1 -1
  56. package/dist/cjs/node/server/IdentityService.js +1 -1
  57. package/dist/cjs/node/server/IdentityService.js.map +1 -1
  58. package/dist/cjs/node/server/ProtocolService.js +1 -1
  59. package/dist/cjs/node/server/ProtocolService.js.map +1 -1
  60. package/dist/esm/behavior/Events.d.ts +5 -0
  61. package/dist/esm/behavior/Events.d.ts.map +1 -1
  62. package/dist/esm/behavior/Events.js +8 -4
  63. package/dist/esm/behavior/Events.js.map +1 -1
  64. package/dist/esm/behavior/Transitions.d.ts.map +1 -1
  65. package/dist/esm/behavior/Transitions.js +2 -2
  66. package/dist/esm/behavior/Transitions.js.map +1 -1
  67. package/dist/esm/behavior/context/ActionContext.d.ts +0 -7
  68. package/dist/esm/behavior/context/ActionContext.d.ts.map +1 -1
  69. package/dist/esm/behavior/context/server/ContextAgents.d.ts +4 -5
  70. package/dist/esm/behavior/context/server/ContextAgents.d.ts.map +1 -1
  71. package/dist/esm/behavior/context/server/ContextAgents.js +9 -0
  72. package/dist/esm/behavior/context/server/ContextAgents.js.map +1 -1
  73. package/dist/esm/behavior/context/server/OfflineContext.d.ts.map +1 -1
  74. package/dist/esm/behavior/context/server/OfflineContext.js +0 -8
  75. package/dist/esm/behavior/context/server/OfflineContext.js.map +1 -1
  76. package/dist/esm/behavior/context/server/OnlineContext.d.ts.map +1 -1
  77. package/dist/esm/behavior/context/server/OnlineContext.js +0 -8
  78. package/dist/esm/behavior/context/server/OnlineContext.js.map +1 -1
  79. package/dist/esm/behavior/internal/Reactors.js +1 -1
  80. package/dist/esm/behavior/internal/Reactors.js.map +1 -1
  81. package/dist/esm/behavior/system/network/NetworkClient.d.ts.map +1 -1
  82. package/dist/esm/behavior/system/network/NetworkClient.js +1 -0
  83. package/dist/esm/behavior/system/network/NetworkClient.js.map +1 -1
  84. package/dist/esm/behavior/system/parts/PartsBehavior.js +1 -1
  85. package/dist/esm/behavior/system/parts/PartsBehavior.js.map +1 -1
  86. package/dist/esm/behavior/system/product-description/ProductDescriptionServer.js +1 -1
  87. package/dist/esm/behavior/system/product-description/ProductDescriptionServer.js.map +1 -1
  88. package/dist/esm/behaviors/general-commissioning/ServerNodeFailsafeContext.js +1 -1
  89. package/dist/esm/behaviors/general-commissioning/ServerNodeFailsafeContext.js.map +1 -1
  90. package/dist/esm/behaviors/groups/GroupsServer.js +4 -4
  91. package/dist/esm/behaviors/groups/GroupsServer.js.map +1 -1
  92. package/dist/esm/endpoint/Agent.js +1 -1
  93. package/dist/esm/endpoint/Agent.js.map +1 -1
  94. package/dist/esm/endpoint/Endpoint.d.ts +9 -0
  95. package/dist/esm/endpoint/Endpoint.d.ts.map +1 -1
  96. package/dist/esm/endpoint/Endpoint.js +12 -1
  97. package/dist/esm/endpoint/Endpoint.js.map +1 -1
  98. package/dist/esm/endpoint/properties/Behaviors.js +3 -3
  99. package/dist/esm/endpoint/properties/Behaviors.js.map +1 -1
  100. package/dist/esm/endpoint/properties/Commands.js +1 -1
  101. package/dist/esm/endpoint/properties/Commands.js.map +1 -1
  102. package/dist/esm/node/ClientNode.d.ts.map +1 -1
  103. package/dist/esm/node/ClientNode.js +2 -0
  104. package/dist/esm/node/ClientNode.js.map +1 -1
  105. package/dist/esm/node/client/ClientBehavior.js +11 -4
  106. package/dist/esm/node/client/ClientBehavior.js.map +1 -1
  107. package/dist/esm/node/client/ClientEventEmitter.d.ts +19 -0
  108. package/dist/esm/node/client/ClientEventEmitter.d.ts.map +1 -0
  109. package/dist/esm/node/client/ClientEventEmitter.js +77 -0
  110. package/dist/esm/node/client/ClientEventEmitter.js.map +6 -0
  111. package/dist/esm/node/client/ClientStructure.d.ts +7 -3
  112. package/dist/esm/node/client/ClientStructure.d.ts.map +1 -1
  113. package/dist/esm/node/client/ClientStructure.js +42 -22
  114. package/dist/esm/node/client/ClientStructure.js.map +1 -1
  115. package/dist/esm/node/server/IdentityService.js +1 -1
  116. package/dist/esm/node/server/IdentityService.js.map +1 -1
  117. package/dist/esm/node/server/ProtocolService.js +1 -1
  118. package/dist/esm/node/server/ProtocolService.js.map +1 -1
  119. package/package.json +7 -7
  120. package/src/behavior/Events.ts +19 -6
  121. package/src/behavior/Transitions.ts +7 -6
  122. package/src/behavior/context/ActionContext.ts +0 -6
  123. package/src/behavior/context/server/ContextAgents.ts +17 -1
  124. package/src/behavior/context/server/OfflineContext.ts +0 -11
  125. package/src/behavior/context/server/OnlineContext.ts +0 -12
  126. package/src/behavior/internal/Reactors.ts +1 -1
  127. package/src/behavior/system/network/NetworkClient.ts +1 -0
  128. package/src/behavior/system/parts/PartsBehavior.ts +1 -1
  129. package/src/behavior/system/product-description/ProductDescriptionServer.ts +1 -1
  130. package/src/behaviors/general-commissioning/ServerNodeFailsafeContext.ts +1 -1
  131. package/src/behaviors/groups/GroupsServer.ts +4 -4
  132. package/src/endpoint/Agent.ts +1 -1
  133. package/src/endpoint/Endpoint.ts +14 -1
  134. package/src/endpoint/properties/Behaviors.ts +3 -3
  135. package/src/endpoint/properties/Commands.ts +1 -1
  136. package/src/node/ClientNode.ts +4 -1
  137. package/src/node/client/ClientBehavior.ts +12 -5
  138. package/src/node/client/ClientEventEmitter.ts +115 -0
  139. package/src/node/client/ClientStructure.ts +58 -34
  140. package/src/node/server/IdentityService.ts +1 -1
  141. package/src/node/server/ProtocolService.ts +1 -1
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { ClientNode } from "#node/ClientNode.js";
7
+ import { ReadResult } from "#protocol";
8
+ import { ClientStructure } from "./ClientStructure.js";
9
+ /**
10
+ * Event handler for Matter events transmitted by a peer.
11
+ *
12
+ * TODO - set priority on context when split for server vs. client
13
+ * TODO - record latest event number for each subscription shape (or just wildcard?)
14
+ */
15
+ export interface ClientEventEmitter {
16
+ (event: ReadResult.EventValue): void;
17
+ }
18
+ export declare function ClientEventEmitter(node: ClientNode, structure: ClientStructure): (occurrence: ReadResult.EventValue) => void;
19
+ //# sourceMappingURL=ClientEventEmitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClientEventEmitter.d.ts","sourceRoot":"","sources":["../../../../src/node/client/ClientEventEmitter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAIvD;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IAC/B,CAAC,KAAK,EAAE,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;CACxC;AAeD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,gBAGtC,UAAU,CAAC,UAAU,UAqC7D"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { camelize, Logger } from "#general";
7
+ import { ClusterModel, EventModel } from "#model";
8
+ const logger = Logger.get("ClientEventEmitter");
9
+ const nameCache = /* @__PURE__ */ new WeakMap();
10
+ const warnedForUnknown = /* @__PURE__ */ new Set();
11
+ function ClientEventEmitter(node, structure) {
12
+ return emitClientEvent;
13
+ function emitClientEvent(occurrence) {
14
+ const names = getNames(node.matter, occurrence);
15
+ if (!names) {
16
+ return;
17
+ }
18
+ const event = getEvent(occurrence.path.endpointId, names.cluster, names.event);
19
+ if (event) {
20
+ node.act((agent) => {
21
+ event.emit(occurrence.value, agent.context);
22
+ });
23
+ }
24
+ }
25
+ function getEvent(endpointId, clusterName, eventName) {
26
+ const endpoint = structure.endpointFor(endpointId);
27
+ if (endpoint === void 0) {
28
+ logger.error(`Received event for unsupported endpoint #${endpointId}`);
29
+ return;
30
+ }
31
+ const events = endpoint.events[clusterName];
32
+ if (events === void 0) {
33
+ logger.error(`Received event ${eventName} for unsupported cluster ${clusterName} on ${endpoint}`);
34
+ return;
35
+ }
36
+ const event = events[eventName];
37
+ if (event === void 0) {
38
+ logger.error(`Received unsupported event ${eventName} for cluster ${clusterName} on ${endpoint}`);
39
+ return;
40
+ }
41
+ return event;
42
+ }
43
+ }
44
+ function getNames(matter, { path: { clusterId, eventId } }) {
45
+ let matterCache = nameCache.get(matter);
46
+ if (matterCache === void 0) {
47
+ matterCache = {};
48
+ nameCache.set(matter, matterCache);
49
+ }
50
+ const key = `${clusterId}-${eventId}`;
51
+ if (key in matterCache) {
52
+ return matterCache[key];
53
+ }
54
+ const cluster = matter.get(ClusterModel, clusterId);
55
+ if (cluster === void 0) {
56
+ if (!warnedForUnknown.has(clusterId)) {
57
+ logger.warn(`Ignoring events for unknown cluster #${clusterId}`);
58
+ warnedForUnknown.add(clusterId);
59
+ matterCache[key] = void 0;
60
+ }
61
+ return;
62
+ }
63
+ const event = cluster.get(EventModel, eventId);
64
+ if (event === void 0) {
65
+ if (!warnedForUnknown.has(key)) {
66
+ logger.warn(`Ignoring unknown event #${eventId} for ${cluster.name} cluster`);
67
+ warnedForUnknown.add(key);
68
+ matterCache[key] = void 0;
69
+ }
70
+ return;
71
+ }
72
+ return matterCache[key] = { cluster: camelize(cluster.name), event: camelize(event.name) };
73
+ }
74
+ export {
75
+ ClientEventEmitter
76
+ };
77
+ //# sourceMappingURL=ClientEventEmitter.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/node/client/ClientEventEmitter.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,UAAU,cAAc;AACjC,SAAS,cAAc,kBAA+B;AAMtD,MAAM,SAAS,OAAO,IAAI,oBAAoB;AAe9C,MAAM,YAAY,oBAAI,QAGpB;AAKF,MAAM,mBAAmB,oBAAI,IAA2C;AAEjE,SAAS,mBAAmB,MAAkB,WAA4B;AAC7E,SAAO;AAEP,WAAS,gBAAgB,YAAmC;AACxD,UAAM,QAAQ,SAAS,KAAK,QAAQ,UAAU;AAC9C,QAAI,CAAC,OAAO;AACR;AAAA,IACJ;AAEA,UAAM,QAAQ,SAAS,WAAW,KAAK,YAAY,MAAM,SAAS,MAAM,KAAK;AAC7E,QAAI,OAAO;AACP,WAAK,IAAI,WAAS;AAGd,cAAM,KAAK,WAAW,OAAO,MAAM,OAAO;AAAA,MAC9C,CAAC;AAAA,IACL;AAAA,EACJ;AAEA,WAAS,SAAS,YAA4B,aAAqB,WAAmB;AAClF,UAAM,WAAW,UAAU,YAAY,UAAU;AACjD,QAAI,aAAa,QAAW;AACxB,aAAO,MAAM,4CAA4C,UAAU,EAAE;AACrE;AAAA,IACJ;AAEA,UAAM,SAAU,SAAS,OAAwC,WAAW;AAC5E,QAAI,WAAW,QAAW;AACtB,aAAO,MAAM,kBAAkB,SAAS,4BAA4B,WAAW,OAAO,QAAQ,EAAE;AAChG;AAAA,IACJ;AAEA,UAAM,QAAQ,OAAO,SAAS;AAC9B,QAAI,UAAU,QAAW;AACrB,aAAO,MAAM,8BAA8B,SAAS,gBAAgB,WAAW,OAAO,QAAQ,EAAE;AAChG;AAAA,IACJ;AAEA,WAAO;AAAA,EACX;AACJ;AAEA,SAAS,SAAS,QAAqB,EAAE,MAAM,EAAE,WAAW,QAAQ,EAAE,GAA0B;AAC5F,MAAI,cAAc,UAAU,IAAI,MAAM;AACtC,MAAI,gBAAgB,QAAW;AAC3B,kBAAc,CAAC;AACf,cAAU,IAAI,QAAQ,WAAW;AAAA,EACrC;AAEA,QAAM,MAAM,GAAG,SAAS,IAAI,OAAO;AACnC,MAAI,OAAO,aAAa;AACpB,WAAO,YAAY,GAAG;AAAA,EAC1B;AAEA,QAAM,UAAU,OAAO,IAAI,cAAc,SAAS;AAClD,MAAI,YAAY,QAAW;AACvB,QAAI,CAAC,iBAAiB,IAAI,SAAS,GAAG;AAClC,aAAO,KAAK,wCAAwC,SAAS,EAAE;AAC/D,uBAAiB,IAAI,SAAS;AAC9B,kBAAY,GAAG,IAAI;AAAA,IACvB;AACA;AAAA,EACJ;AAEA,QAAM,QAAQ,QAAQ,IAAI,YAAY,OAAO;AAC7C,MAAI,UAAU,QAAW;AACrB,QAAI,CAAC,iBAAiB,IAAI,GAAG,GAAG;AAC5B,aAAO,KAAK,2BAA2B,OAAO,QAAQ,QAAQ,IAAI,UAAU;AAC5E,uBAAiB,IAAI,GAAG;AACxB,kBAAY,GAAG,IAAI;AAAA,IACvB;AACA;AAAA,EACJ;AAEA,SAAQ,YAAY,GAAG,IAAI,EAAE,SAAS,SAAS,QAAQ,IAAI,GAAG,OAAO,SAAS,MAAM,IAAI,EAAE;AAC9F;",
5
+ "names": []
6
+ }
@@ -25,9 +25,9 @@ export declare class ClientStructure {
25
25
  */
26
26
  storeForRemote(endpoint: Endpoint, type: ClusterBehavior.Type): Datasource.ExternallyMutableStore;
27
27
  /**
28
+ * Obtain the store for a non-cluster behavior.
28
29
  *
29
- * @param request
30
- * @returns
30
+ * The data for these behaviors is managed locally and not synced from the peer.
31
31
  */
32
32
  storeForLocal(endpoint: Endpoint, type: Behavior.Type): Datasource.Store;
33
33
  /**
@@ -39,8 +39,12 @@ export declare class ClientStructure {
39
39
  */
40
40
  mutate(request: Read, changes: ReadResult): AsyncGenerator<ReadResult.Chunk, void, unknown>;
41
41
  /**
42
- * Obtain the {@link ClusterType} for an endpoint number and cluster ID.
42
+ * Obtain the {@link ClusterType} for an {@link EndpointNumber} and {@link ClusterId}.
43
43
  */
44
44
  clusterFor(endpoint: EndpointNumber, cluster: ClusterId): ClusterType | undefined;
45
+ /**
46
+ * Obtain the {@link Endpoint} for a {@link EndpointNumber}.
47
+ */
48
+ endpointFor(endpoint: EndpointNumber): Endpoint | undefined;
45
49
  }
46
50
  //# sourceMappingURL=ClientStructure.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClientStructure.d.ts","sourceRoot":"","sources":["../../../../src/node/client/ClientStructure.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAEnE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAa,KAAK,IAAI,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAGlE,OAAO,KAAK,EAAe,SAAS,EAAE,WAAW,EAA2B,cAAc,EAAE,MAAM,QAAQ,CAAC;AAO3G;;GAEG;AACH,qBAAa,eAAe;;gBAIZ,IAAI,EAAE,UAAU;IAQ5B;;OAEG;IACH,SAAS;IAyBT;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI;IAO7D;;;;OAIG;IACH,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI;IAIrD;;OAEG;IACH,oBAAoB,CAAC,CAAC,SAAS,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC;IAmCnD;;OAEG;IACI,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU;IAmDhD;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS;CA8J1D"}
1
+ {"version":3,"file":"ClientStructure.d.ts","sourceRoot":"","sources":["../../../../src/node/client/ClientStructure.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAEnE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAa,KAAK,IAAI,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAGlE,OAAO,KAAK,EAAe,SAAS,EAAE,WAAW,EAA2B,cAAc,EAAE,MAAM,QAAQ,CAAC;AAQ3G;;GAEG;AACH,qBAAa,eAAe;;gBAKZ,IAAI,EAAE,UAAU;IAS5B;;OAEG;IACH,SAAS;IAyBT;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI;IAO7D;;;;OAIG;IACH,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI;IAIrD;;OAEG;IACH,oBAAoB,CAAC,CAAC,SAAS,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC;IAmCnD;;OAEG;IACI,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU;IAiEhD;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS;IASvD;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,cAAc,GAAG,QAAQ,GAAG,SAAS;CAyJ9D"}
@@ -12,18 +12,21 @@ import { ReadScope } from "#protocol";
12
12
  import { DatasourceCache } from "#storage/client/DatasourceCache.js";
13
13
  import { ClientNodeStore } from "#storage/index.js";
14
14
  import { ClientBehavior } from "./ClientBehavior.js";
15
+ import { ClientEventEmitter } from "./ClientEventEmitter.js";
15
16
  const DEVICE_TYPE_LIST_ATTR_ID = DescriptorCluster.attributes.deviceTypeList.id;
16
17
  const SERVER_LIST_ATTR_ID = DescriptorCluster.attributes.serverList.id;
17
18
  const PARTS_LIST_ATTR_ID = DescriptorCluster.attributes.partsList.id;
18
19
  class ClientStructure {
19
20
  #nodeStore;
20
21
  #endpoints = {};
22
+ #emitEvent;
21
23
  constructor(node) {
22
24
  this.#nodeStore = node.env.get(ClientNodeStore);
23
25
  this.#endpoints[node.number] = {
24
26
  endpoint: node,
25
27
  clusters: {}
26
28
  };
29
+ this.#emitEvent = ClientEventEmitter(node, this);
27
30
  }
28
31
  /**
29
32
  * Load initial structure from cache.
@@ -55,9 +58,9 @@ class ClientStructure {
55
58
  return clusterStructure.store;
56
59
  }
57
60
  /**
61
+ * Obtain the store for a non-cluster behavior.
58
62
  *
59
- * @param request
60
- * @returns
63
+ * The data for these behaviors is managed locally and not synced from the peer.
61
64
  */
62
65
  storeForLocal(endpoint, type) {
63
66
  return this.#nodeStore.storeForEndpoint(endpoint).createStoreForLocalBehavior(type.id);
@@ -101,28 +104,17 @@ class ClientStructure {
101
104
  let currentUpdates;
102
105
  for await (const chunk of changes) {
103
106
  for (const change of chunk) {
107
+ switch (change.kind) {
108
+ case "attr-value":
109
+ currentUpdates = await this.#mutateAttribute(change, scope, currentUpdates);
110
+ break;
111
+ case "event-value":
112
+ this.#emitEvent(change);
113
+ break;
114
+ }
104
115
  if (change.kind !== "attr-value") {
105
116
  continue;
106
117
  }
107
- const { endpointId, clusterId, attributeId } = change.path;
108
- if (currentUpdates && (currentUpdates.endpointId !== endpointId || currentUpdates.clusterId !== clusterId)) {
109
- await this.#updateCluster(currentUpdates);
110
- currentUpdates = void 0;
111
- }
112
- if (currentUpdates === void 0) {
113
- currentUpdates = {
114
- endpointId,
115
- clusterId,
116
- values: {
117
- [attributeId]: change.value
118
- }
119
- };
120
- if (scope.isWildcard(endpointId, clusterId)) {
121
- currentUpdates.values[DatasourceCache.VERSION_KEY] = change.version;
122
- }
123
- } else {
124
- currentUpdates.values[attributeId] = change.value;
125
- }
126
118
  }
127
119
  yield chunk;
128
120
  }
@@ -130,8 +122,30 @@ class ClientStructure {
130
122
  await this.#updateCluster(currentUpdates);
131
123
  }
132
124
  }
125
+ async #mutateAttribute(change, scope, currentUpdates) {
126
+ const { endpointId, clusterId, attributeId } = change.path;
127
+ if (currentUpdates && (currentUpdates.endpointId !== endpointId || currentUpdates.clusterId !== clusterId)) {
128
+ await this.#updateCluster(currentUpdates);
129
+ currentUpdates = void 0;
130
+ }
131
+ if (currentUpdates === void 0) {
132
+ currentUpdates = {
133
+ endpointId,
134
+ clusterId,
135
+ values: {
136
+ [attributeId]: change.value
137
+ }
138
+ };
139
+ if (scope.isWildcard(endpointId, clusterId)) {
140
+ currentUpdates.values[DatasourceCache.VERSION_KEY] = change.version;
141
+ }
142
+ } else {
143
+ currentUpdates.values[attributeId] = change.value;
144
+ }
145
+ return currentUpdates;
146
+ }
133
147
  /**
134
- * Obtain the {@link ClusterType} for an endpoint number and cluster ID.
148
+ * Obtain the {@link ClusterType} for an {@link EndpointNumber} and {@link ClusterId}.
135
149
  */
136
150
  clusterFor(endpoint, cluster) {
137
151
  const ep = this.#endpointFor(endpoint);
@@ -140,6 +154,12 @@ class ClientStructure {
140
154
  }
141
155
  return this.#clusterFor(ep, cluster)?.behavior?.cluster;
142
156
  }
157
+ /**
158
+ * Obtain the {@link Endpoint} for a {@link EndpointNumber}.
159
+ */
160
+ endpointFor(endpoint) {
161
+ return this.#endpoints[endpoint]?.endpoint;
162
+ }
143
163
  /**
144
164
  * Apply new attribute values for specific endpoint/cluster.
145
165
  *
@@ -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"]
6
6
  }
@@ -29,7 +29,7 @@ class IdentityService {
29
29
  other = this.#node;
30
30
  } else {
31
31
  if (this.#partsById === void 0) {
32
- this.#partsById = OfflineContext.ReadOnly.agentFor(this.#node).get(IndexBehavior).partsById;
32
+ this.#partsById = this.#node.agentFor(OfflineContext.ReadOnly).get(IndexBehavior).partsById;
33
33
  }
34
34
  other = this.#partsById?.[number];
35
35
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/node/server/IdentityService.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,sBAAsB;AAC/B,SAAS,qBAAqB;AAE9B,SAAS,qBAAqB,qBAAqB;AAQ5C,MAAM,8BAA8B,oBAAoB;AAAC;AAKzD,MAAM,gBAAgB;AAAA,EACzB;AAAA,EACA;AAAA,EAEA,YAAY,MAAgB;AACxB,SAAK,QAAQ;AAAA,EACjB;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,kBAAkB;AAClB,WAAO,KAAK,MAAM,SAAS;AAAA,EAC/B;AAAA;AAAA;AAAA;AAAA,EAKA,sBAAsB,QAAgB,UAAoB;AACtD,QAAI;AACJ,QAAI,KAAK,MAAM,UAAU,aAAa,KAAK,MAAM,WAAW,QAAQ;AAChE,cAAQ,KAAK;AAAA,IACjB,OAAO;AACH,UAAI,KAAK,eAAe,QAAW;AAC/B,aAAK,aAAa,eAAe,SAAS,SAAS,KAAK,KAAK,EAAE,IAAI,aAAa,EAAE;AAAA,MACtF;AACA,cAAQ,KAAK,aAAa,MAAM;AAAA,IACpC;AACA,QAAI,SAAS,UAAU,UAAU;AAC7B,UAAI;AACJ,UAAI,MAAM,UAAU,OAAO;AACvB,gBAAQ,YAAY,MAAM,EAAE;AAAA,MAChC,OAAO;AACH,gBAAQ;AAAA,MACZ;AACA,YAAM,IAAI,sBAAsB,mBAAmB,MAAM,2BAA2B,KAAK,EAAE;AAAA,IAC/F;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,kBAAkB,OAAmB,cAA2B,SAA+B;AAC3F,UAAM,IAAI,cAAc,8CAA8C;AAAA,EAC1E;AAAA;AAAA;AAAA;AAAA,EAKA,mBAAmB,UAAuB;AAAA,EAAC;AAC/C;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,sBAAsB;AAC/B,SAAS,qBAAqB;AAE9B,SAAS,qBAAqB,qBAAqB;AAQ5C,MAAM,8BAA8B,oBAAoB;AAAC;AAKzD,MAAM,gBAAgB;AAAA,EACzB;AAAA,EACA;AAAA,EAEA,YAAY,MAAgB;AACxB,SAAK,QAAQ;AAAA,EACjB;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,kBAAkB;AAClB,WAAO,KAAK,MAAM,SAAS;AAAA,EAC/B;AAAA;AAAA;AAAA;AAAA,EAKA,sBAAsB,QAAgB,UAAoB;AACtD,QAAI;AACJ,QAAI,KAAK,MAAM,UAAU,aAAa,KAAK,MAAM,WAAW,QAAQ;AAChE,cAAQ,KAAK;AAAA,IACjB,OAAO;AACH,UAAI,KAAK,eAAe,QAAW;AAC/B,aAAK,aAAa,KAAK,MAAM,SAAS,eAAe,QAAQ,EAAE,IAAI,aAAa,EAAE;AAAA,MACtF;AACA,cAAQ,KAAK,aAAa,MAAM;AAAA,IACpC;AACA,QAAI,SAAS,UAAU,UAAU;AAC7B,UAAI;AACJ,UAAI,MAAM,UAAU,OAAO;AACvB,gBAAQ,YAAY,MAAM,EAAE;AAAA,MAChC,OAAO;AACH,gBAAQ;AAAA,MACZ;AACA,YAAM,IAAI,sBAAsB,mBAAmB,MAAM,2BAA2B,KAAK,EAAE;AAAA,IAC/F;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,kBAAkB,OAAmB,cAA2B,SAA+B;AAC3F,UAAM,IAAI,cAAc,8CAA8C;AAAA,EAC1E;AAAA;AAAA;AAAA;AAAA,EAKA,mBAAmB,UAAuB;AAAA,EAAC;AAC/C;",
5
5
  "names": []
6
6
  }
@@ -441,7 +441,7 @@ function invokeCommand(backing, command, request, session) {
441
441
  session.transaction.via,
442
442
  requestDiagnostic
443
443
  );
444
- const agent = context.agentFor(endpoint);
444
+ const agent = endpoint.agentFor(context);
445
445
  const behavior = agent.get(backing.type);
446
446
  let isAsync = false;
447
447
  let activity;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/node/server/ProtocolService.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AACP,SAAS,qBAAqB,eAAe,YAAY,sBAAsB,cAAc;AAa7F,SAA4B,eAAe,yBAA8B;AACzE;AAAA,EAYI,qBAAqB;AAAA,OAClB;AAEP,MAAM,SAAS,OAAO,IAAI,iBAAiB;AAcpC,MAAM,gBAAgB;AAAA,EAChB;AAAA,EAET,YAAY,MAAY;AACpB,SAAK,SAAS,IAAI,UAAU,IAAI;AAAA,EACpC;AAAA,EAEA,WAAW,SAA0B;AACjC,UAAM,EAAE,OAAO,IAAI,QAAQ;AAC3B,QAAI,QAAQ,QAAQ,WAAW,WAAW,OAAO,OAAO,QAAW;AAC/D;AAAA,IACJ;AAEA,SAAK,OAAO,SAAS,QAAQ,QAAQ,EAAE,WAAW,OAAO;AAAA,EAC7D;AAAA,EAEA,cAAc,SAA0B;AACpC,QAAI,KAAK,OAAO,YAAY,QAAQ,QAAQ,GAAG;AAC3C,WAAK,OAAO,SAAS,QAAQ,QAAQ,EAAE,cAAc,OAAO;AAAA,IAChE;AAAA,EACJ;AAAA,EAEA,IAAI,WAAW;AACX,WAAO,KAAK,OAAO;AAAA,EACvB;AACJ;AAEA,MAAM,oBAAoB;AAAA,EACtB,cAAc,KAAK,sBAAsB,qBAAqB;AAAA,EAC9D,sBAAsB,KAAK,sBAAsB,6BAA6B;AAAA,EAC9E,mBAAmB,KAAK,sBAAsB,0BAA0B;AAAA,EACxE,kBAAkB,KAAK,sBAAsB,yBAAyB;AAAA,EACtE,oBAAoB,KAAK,sBAAsB,2BAA2B;AAAA,EAC1E,qBAAqB,KAAK,sBAAsB,4BAA4B;AAAA,EAC5E,8BAA8B,KAAK,sBAAsB,qCAAqC;AAAA,EAC9F,yBAAyB,KAAK,sBAAsB,gCAAgC;AACxF;AAEA,MAAM,UAAU;AAAA,EACH;AAAA,EACA,aAAa,oBAAI,IAAsB;AAAA,EACvC,kBAAkB,CAAC;AAAA,EACnB,0BAA0B,oBAAI,IAGrC;AAAA,EAEF,YAAY,MAAY;AACpB,QAAI;AACJ,QAAI;AAEJ,SAAK,WAAW;AAAA,MACZ,QAAQ;AAAA,MAER,UAAU,OAAoB;AAC1B,YAAI,CAAC,SAAS;AACV,oBAAU,KAAK,IAAI,IAAI,aAAa;AAAA,QACxC;AACA,eAAO,QAAQ,YAAY,KAAK,GAAG;AAAA,MACvC;AAAA,MAEA,IAAI,eAAe;AACf,YAAI,iBAAiB,QAAW;AAC5B,yBAAe,KAAK,IAAI,IAAI,iBAAiB;AAAA,QACjD;AACA,eAAO;AAAA,MACX;AAAA,MAEA,CAAC,OAAO,QAAQ,GAAG,KAAK,WAAW,OAAO,QAAQ,EAAE,KAAK,KAAK,UAAU;AAAA,MAExE,cAAc,IAAI,WAEhB;AAAA,MAEF,WAAW;AACP,eAAO,cAAc,KAAK,EAAE;AAAA,MAChC;AAAA,MAEA,UAAU;AACN,eAAO,KAAK,SAAS;AAAA,MACzB;AAAA,MAEA,YAAY,MAA+C;AACvD,eAAO,mBAAmB,MAAM,IAAI;AAAA,MACxC;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,SAAS,UAAoB;AACzB,UAAM,EAAE,OAAO,IAAI;AACnB,QAAI,QAAQ,KAAK,gBAAgB,MAAM;AACvC,QAAI,UAAU,QAAW;AACrB,aAAO;AAAA,IACX;AAEA,YAAQ,IAAI,cAAc,MAAM,QAAQ;AACxC,SAAK,SAAS,MAAM,IAAI,MAAM;AAC9B,SAAK,WAAW,IAAI,MAAM,QAAQ;AAClC,SAAK,gBAAgB,MAAM,IAAI;AAC/B,UAAM,WAAW,CAAC,WAAsB,SAAwB,YAAoB;AAChF,WAAK,SAAS,aAAa,KAAK,QAAQ,WAAW,SAAS,OAAO;AAAA,IACvE;AACA,UAAM,aAAa,GAAG,QAAQ;AAC9B,SAAK,wBAAwB,IAAI,QAAQ,QAAQ;AAEjD,WAAO;AAAA,EACX;AAAA,EAEA,YAAY,UAAoB;AAC5B,WAAO,SAAS,UAAU,KAAK;AAAA,EACnC;AAAA,EAEA,eAAe,UAA4B;AACvC,UAAM,WAAW,KAAK,wBAAwB,IAAI,SAAS,EAAE;AAC7D,QAAI,UAAU;AACV,WAAK,gBAAgB,SAAS,EAAE,EAAE,aAAa,IAAI,QAAQ;AAC3D,WAAK,wBAAwB,OAAO,SAAS,EAAE;AAAA,IACnD;AACA,WAAO,KAAK,SAAS,SAAS,EAAE;AAChC,SAAK,WAAW,OAAO,QAAQ;AAC/B,WAAO,KAAK,gBAAgB,SAAS,EAAE;AAAA,EAC3C;AACJ;AAEA,MAAM,cAAc;AAAA,EACP;AAAA,EACA;AAAA,EACA,kBAAkB,oBAAI,IAAe;AAAA,EACrC,YAAY,oBAAI,IAA+B;AAAA,EAC/C,yBAAyB,oBAAI,IAAkE;AAAA,EAC/F,eAAe,IAAI,WAA4E;AAAA,EAExG,YAAY,MAAiB,UAAoB;AAC7C,SAAK,QAAQ;AACb,UAAM,SAAS,SAAS;AACxB,SAAK,WAAW;AAAA,MACZ,IAAI;AAAA,MACJ,mBAAmB,WAAW,IAAI,kBAAkB,eAAe;AAAA,MACnE,MAAM,SAAS;AAAA,MACf,MAAM,SAAS,KAAK;AAAA,MACpB,aAAa,CAAC;AAAA,MAEd,WAAW;AACP,eAAO,kBAAkB,KAAK,EAAE;AAAA,MACpC;AAAA,MAEA,UAAU;AACN,eAAO,KAAK,SAAS;AAAA,MACzB;AAAA,MAEA,CAAC,OAAO,QAAQ,GAAG,KAAK,UAAU,OAAO,QAAQ,EAAE,KAAK,KAAK,SAAS;AAAA,IAC1E;AAAA,EACJ;AAAA,EAEA,WAAW,SAA0B;AACjC,UAAM,OAAO,sBAAsB,OAAO;AAC1C,QAAI,CAAC,MAAM;AACP;AAAA,IACJ;AAEA,UAAM,UAAU,IAAI,aAAa,MAAM,OAAO;AAG9C,QAAI,QAAQ,KAAK,OAAO,cAAc;AAClC,WAAK,mBAAmB,QAAQ,SAAS,MAAM,WAAW,cAAc;AACxE,MAAC,QAAQ,OAAwC,uBAAuB;AAAA,QACpE,KAAK,mBAAmB,KAAK,IAAI;AAAA,MACrC;AAAA,IACJ;AAEA,SAAK,SAAS,QAAQ,KAAK,EAAE,IAAI;AACjC,SAAK,gBAAgB,IAAI,QAAQ,KAAK,EAAE;AACxC,SAAK,UAAU,IAAI,OAAO;AAE1B,UAAM,gBAAgB,CAAC,SAAwB,YAC3C,KAAK,aAAa,KAAK,QAAQ,KAAK,IAAI,SAAS,OAAO;AAC5D,YAAQ,aAAa,GAAG,aAAa;AACrC,SAAK,uBAAuB,IAAI,QAAQ,KAAK,IAAI,aAAa;AAG9D,UAAM,QAAQ,CAAC,GAAG,QAAQ,KAAK,UAAU,EACpC,OAAO,UAAQ,KAAK,OAAO,YAAY,CAAC,KAAK,kBAAkB,CAAC,KAAK,OAAO,EAC5E,IAAI,UAAQ,KAAK,EAAE;AACxB,QAAI,MAAM,QAAQ;AACd,WAAK,aAAa,KAAK,QAAQ,KAAK,IAAI,OAAO,QAAQ,OAAO;AAAA,IAClE;AAAA,EACJ;AAAA,EAEA,cAAc,SAA0B;AACpC,UAAM,EAAE,OAAO,IAAI,QAAQ;AAC3B,QAAI,WAAW,QAAW;AACtB;AAAA,IACJ;AAEA,UAAM,EAAE,KAAK,GAAG,IAAI;AACpB,QAAI,QAAQ,WAAW,WAAW,OAAO,QAAW;AAChD;AAAA,IACJ;AAEA,UAAM,gBAAgB,KAAK,uBAAuB,IAAI,EAAe;AACrE,UAAM,WAAW,KAAK,SAAS,EAAE;AACjC,QAAI,UAAU;AACV,UAAI,eAAe;AACf,iBAAS,aAAa,IAAI,aAAa;AAAA,MAC3C;AACA,eAAS,OAAO,OAAO,EAAE;AACzB,WAAK,UAAU,OAAO,QAAQ;AAC9B,aAAO,KAAK,SAAS,EAAE;AAAA,IAC3B;AACA,SAAK,uBAAuB,OAAO,EAAe;AAElD,SAAK,gBAAgB,OAAO,EAAe;AAE3C,QAAI,CAAC,KAAK,gBAAgB,MAAM;AAC5B,WAAK,MAAM,eAAe,KAAK,QAAQ;AAAA,IAC3C;AAAA,EACJ;AAAA,EAEA,mBAAmB,gBAA0D;AACzE,SAAK,SAAS,cAAc,eAAe,IAAI,QAAM,GAAG,UAAU;AAAA,EACtE;AACJ;AAEA,MAAM,aAAkD;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA,gBAAgB,IAAI,WAAsD;AAAA,EAC1E,oBAAoB,IAAI,cAAc;AAAA,EACtC,WAAoD,CAAC;AAAA,EAE9D,YAAY,MAA2B,SAA0B;AAC7D,SAAK,OAAO;AACZ,SAAK,cAAc,QAAQ;AAC3B,SAAK,cAAc,QAAQ,SAAS;AAEpC,UAAM,uBAAuB,QAAQ,KAAK,WAAW;AAErD,eAAW,QAAQ,KAAK,YAAY;AAChC,2BAAqB,IAAI,KAAK,MAAM,KAAK,EAAE;AAC3C,UAAI,KAAK,SAAS;AACd,aAAK,kBAAkB;AAAA,UAClB,KAAK,YAAY,OAAO,GAAG,KAAK,IAAI,UAAU,EAA4B;AAAA,UAC3E,MAAM,KAAK,aAAa,KAAK,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO;AAAA,QACxD;AAAA,MACJ;AAAA,IACJ;AAGA,SAAK,kBAAkB,GAAG,KAAK,YAAY,SAAS,CAAC,SAAmB,YAAoB;AACxF,YAAM,OAAO,QACR,IAAI,UAAQ,qBAAqB,IAAI,IAAI,CAAC,EAC1C;AAAA,QACG,CAAC,OACG,OAAO,UAAa,CAAC,KAAK,WAAW,EAAE,GAAG,kBAAkB,CAAC,KAAK,WAAW,EAAE,GAAG;AAAA,MAC1F;AACJ,UAAI,KAAK,QAAQ;AACb,aAAK,aAAa,KAAK,MAAM,OAAO;AAAA,MACxC;AAAA,IACJ,CAAC;AAED,eAAW,OAAO,KAAK,UAAU;AAC7B,WAAK,SAAS,IAAI,EAAE,IAAI,CAAC,MAAM,YAAY,cAAc,SAAS,KAAK,MAAM,OAAO;AAAA,IACxF;AAAA,EACJ;AAAA,EAEA,IAAI,UAAU;AACV,WAAO,KAAK,YAAY;AAAA,EAC5B;AAAA,EAEA,IAAI,WAAW;AACX,WAAO,KAAK,YAAY;AAAA,EAC5B;AAAA,EAEA,UAAU,SAAiD;AACvD,WAAO,KAAK,YAAY,UAAU,OAAkC;AAAA,EACxE;AAAA,EAEA,IAAI,eAAe;AACf,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,MAAM,aAAa,SAA0D;AACzE,QAAI,QAAQ,gBAAgB,QAAW;AACnC,YAAM,IAAI,oBAAoB,2DAA2D;AAAA,IAC7F;AACA,UAAM,QAAQ,YAAY,aAAa,KAAK,WAAW;AACvD,UAAM,QAAQ,YAAY,MAAM;AAChC,WAAO,KAAK,YAAY,UAAU,OAAkC;AAAA,EACxE;AAAA,EAEA,WAAW;AACP,WAAO,iBAAiB,KAAK,WAAW,IAAI,KAAK,KAAK,EAAE;AAAA,EAC5D;AAAA,EAEA,UAAU;AACN,WAAO,KAAK,SAAS;AAAA,EACzB;AAAA,EAEA,CAAC,OAAO,OAAO,IAAI;AACf,SAAK,kBAAkB,MAAM;AAAA,EACjC;AACJ;AAEA,MAAM,gBAAgB,oBAAI,QAAqE;AAE/F,SAAS,sBAAsB,SAA2D;AACtF,QAAM,WAAW,QAAQ;AAEzB,QAAM,EAAE,SAAS,OAAO,IAAI;AAC5B,MAAI,YAAY,UAAa,QAAQ,OAAO,QAAW;AACnD;AAAA,EACJ;AAEA,QAAM,oBAAoB,QAAQ,SAAS,UAAU,WAAW,QAAQ;AACxE,QAAM,kCAAkC,oBAAI,IAAiB;AAC7D,QAAM,8BAA8B,oBAAI,IAAa;AACrD,QAAM,gCAAgC,oBAAI,IAAe;AAGzD,QAAM,UAAU,CAAC;AACjB,aAAW,QAAQ,OAAO,OAAO,QAAQ,UAAU,GAAG;AAClD,YAAQ,KAAK,EAAE,IAAI;AAAA,EACvB;AACA,MAAI,oBAAoB,OAAO,iBAAiB,cAAc,kBAAkB,0BAA0B;AAC1G,MAAI,OAAO,KAAK,YAAY;AACxB,yBAAqB,kBAAkB;AAAA,EAC3C;AACA,QAAM,WAAW,MAA6B;AAC9C,QAAM,aAAwD;AAAA,IAC1D,CAAC,OAAO,QAAQ,GAAG,SAAS,OAAO,QAAQ,EAAE,KAAK,QAAQ;AAAA,EAC9D;AAGA,QAAM,WAAW,CAAC;AAClB,aAAW,MAAM,OAAO,OAAO,QAAQ,MAAM,GAAG;AAC5C,aAAS,GAAG,EAAE,IAAI;AAAA,EACtB;AACA,QAAM,YAAY,MAAyB;AAC3C,QAAM,SAAgD;AAAA,IAClD,CAAC,OAAO,QAAQ,GAAG,UAAU,OAAO,QAAQ,EAAE,KAAK,SAAS;AAAA,EAChE;AAGA,QAAM,SAAS,CAAC;AAChB,aAAW,OAAO,OAAO,OAAO,QAAQ,QAAQ,GAAG;AAC/C,WAAO,IAAI,SAAS,IAAI;AAAA,EAC5B;AACA,QAAM,cAAc,MAA2B;AAC/C,QAAM,WAAoD;AAAA,IACtD,CAAC,OAAO,QAAQ,GAAG,YAAY,OAAO,QAAQ,EAAE,KAAK,WAAW;AAAA,EACpE;AAIA,aAAW,UAAU,SAAS,WAAW,UAAU,QAAQ;AAAA,IACvD,MAAM,CAAC,WAAW,WAAW,WAAW,OAAO,WAAW,OAAO;AAAA,EACrE,CAAC,GAAG;AACA,UAAM,EAAE,IAAI,KAAK,kBAAkB,QAAQ,IAAI;AAE/C,QAAI,OAAO,QAAW;AAClB;AAAA,IACJ;AAEA,UAAM,OAAO,SAAS,OAAO,IAAI;AACjC,YAAQ,KAAK;AAAA,MACT,KAAK,aAAa;AACd,YAAI,CAAC,OAAO,qBAAqB,eAAe,CAAC,kBAAkB,WAAW,IAAI,IAAI,GAAG;AACrF;AAAA,QACJ;AAEA,cAAM,MAAM,QAAQ,EAAE,GAAG;AACzB,YAAI,QAAQ,QAAW;AACnB;AAAA,QACJ;AAEA,YAAIA;AACJ,gBAAQ,IAAI;AAAA,UACR,KAAK,qBAAqB;AAAA,UAC1B,KAAK,oBAAoB;AACrB,YAAAA,qBAAoB,kBAAkB,uBAAuB,kBAAkB;AAC/E;AAAA,UAEJ,KAAK,cAAc;AACf,YAAAA,qBACI,kBAAkB,uBAAuB,kBAAkB;AAC/D;AAAA,UAEJ;AACI,YAAAA,qBAAoB;AACpB;AAAA,QACR;AAEA,YAAI,KAAK,YAAY;AACjB,UAAAA,sBAAqB,kBAAkB;AAAA,QAC3C;AACA,YAAI,QAAQ,OAAO;AACf,UAAAA,sBAAqB,kBAAkB;AAAA,QAC3C;AACA,YAAI,QAAQ,gBAAgB;AACxB,UAAAA,sBAAqB,kBAAkB;AAAA,QAC3C;AAEA,cAAM;AAAA,UACF,QAAQ,EAAE,OAAO;AAAA,QACrB,IAAI,SAAS,WAAW,IAAI,MAAM;AAClC,cAAM;AAAA,UACF;AAAA,UACA,kBAAkB,EAAE,QAAQ;AAAA,QAChC,IAAI;AAEJ,cAAM,OAA8B;AAAA,UAChC;AAAA,UACA;AAAA,UACA,mBAAAA;AAAA,UACA;AAAA,UACA;AAAA,QACJ;AACA,YAAI,gBAAgB;AAChB,eAAK,iBAAiB;AAAA,QAC1B;AACA,YAAI,SAAS;AACT,eAAK,UAAU;AAAA,QACnB;AACA,iBAAS,KAAK,IAAI;AAClB,mBAAW,EAAE,IAAI;AACjB,YAAI,CAAC,OAAO,qBAAqB,aAAa;AAC1C,0CAAgC,IAAI,EAAiB;AAAA,QACzD;AACA;AAAA,MACJ;AAAA,MACA,KAAK,SAAS;AACV,YAAI,CAAC,OAAO,qBAAqB,eAAe,CAAC,kBAAkB,OAAO,IAAI,IAAI,GAAG;AACjF;AAAA,QACJ;AAEA,cAAM,MAAM,SAAS,EAAE,GAAG;AAC1B,YAAI,QAAQ,QAAW;AACnB;AAAA,QACJ;AAEA,cAAM;AAAA,UACF,QAAQ,EAAE,OAAO;AAAA,QACrB,IAAI,SAAS,WAAW,IAAI,MAAM;AAElC,cAAM,QAAQ,EAAE,IAAmB,KAAK,QAAQ,KAAK;AACrD,kBAAU,KAAK,KAAK;AACpB,eAAO,EAAE,IAAI;AACb,YAAI,CAAC,OAAO,qBAAqB,aAAa;AAC1C,sCAA4B,IAAI,EAAa;AAAA,QACjD;AACA;AAAA,MACJ;AAAA,MACA,KAAK,WAAW;AACZ,YACK,CAAC,OAAO,qBAAqB,eAAe,CAAC,kBAAkB,SAAS,IAAI,IAAI,KACjF,CAAC,OAAO,WACV;AACE;AAAA,QACJ;AAEA,cAAM,MAAM,OAAO,EAAE;AACrB,YAAI,QAAQ,QAAW;AACnB;AAAA,QACJ;AACA,cAAM,EAAE,eAAe,YAAY,gBAAgB,aAAa,WAAW,IAAI;AAE/E,cAAM;AAAA,UACF,QAAQ,EAAE,OAAO;AAAA,QACrB,IAAI,SAAS,WAAW,IAAI,MAAM;AAElC,cAAM,UAAU,EAAE,IAAqB,YAAY,YAAY,aAAa,QAAQ,KAAK;AACzF,oBAAY,KAAK,OAAO;AACxB,iBAAS,EAAE,IAAI;AACf,YAAI,CAAC,OAAO,qBAAqB,aAAa;AAC1C,wCAA8B,IAAI,EAAe;AAAA,QACrD;AACA;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAEA,QAAM,mBAAmB,KAAK,CAAC,GAAG,gCAAgC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,MAAM,CAAC,GAAG,4BAA4B,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,MAAM,CAAC,GAAG,8BAA8B,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC;AAC9N,QAAM,gBAAgB,cAAc,IAAI,QAAQ,GAAG,IAAI,gBAAgB;AACvE,MAAI,eAAe;AACf,WAAO;AAAA,EACX;AAEA,QAAM,aAAkC;AAAA,IACpC,IAAI,OAAO;AAAA,IACX,MAAM,OAAO;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AACA,QAAM,eAAe,cAAc,IAAI,QAAQ,KAAK,oBAAI,IAAI;AAC5D,eAAa,IAAI,kBAAkB,UAAU;AAC7C,gBAAc,IAAI,UAAU,YAAY;AAExC,SAAO;AACX;AAKA,SAAS,cACL,SACA,SACA,SACA,SACoC;AACpC,MAAI,QAAQ,gBAAgB,QAAW;AACnC,UAAM,IAAI,oBAAoB,2DAA2D;AAAA,EAC7F;AAEA,MAAI;AACJ,MAAI,SAAS,OAAO,GAAG;AACnB,wBAAoB,WAAW,KAAK,OAAO;AAAA,EAC/C,WAAW,YAAY,QAAW;AAC9B,wBAAoB;AAAA,EACxB,OAAO;AACH,wBAAoB,WAAW,KAAK,cAAc;AAAA,EACtD;AAEA,QAAM,EAAE,MAAM,SAAS,IAAI;AAC3B,QAAM,UAAU;AAEhB,SAAO;AAAA,IACH;AAAA,IACA,WAAW,OAAO,GAAG,KAAK,SAAS,CAAC,IAAI,QAAQ,IAAI,EAAE;AAAA,IACtD,QAAQ,YAAY;AAAA,IACpB;AAAA,EACJ;AAEA,QAAM,QAAQ,QAAQ,SAAS,QAAQ;AACvC,QAAM,WAAW,MAAM,IAAI,QAAQ,IAAI;AAEvC,MAAI,UAAU;AACd,MAAI;AACJ,MAAI;AACJ,QAAM,EAAE,KAAK,IAAI;AACjB,MAAI;AACA,eAAW,QAAQ,UAAU,MAAM,UAAU,IAAI,EAAE;AAEnD,UAAM,SAAU,SAAkE,SAAS,IAAI,CAAC,EAAE;AAAA,MAC9F;AAAA,IACJ;AAGA,QAAK,SAAS,YAAqC,cAAc;AAC7D,YAAM,KAAK,QAAQ;AACnB,UAAI,YAAY,SAAS,SAAS,QAAQ,GAAG;AAEzC,kBAAU,eAAe,cAAc;AACnC,gBAAM,GAAG,aAAa,QAAQ;AAC9B,gBAAM,GAAG,MAAM;AACf,iBAAO,OAAO,OAAO;AAAA,QACzB,GAAG;AAAA,MACP,OAAO;AAEH,WAAG,iBAAiB,QAAQ;AAC5B,WAAG,UAAU;AACb,iBAAS,OAAO,OAAO;AAAA,MAC3B;AAAA,IACJ,OAAO;AAEH,eAAS,OAAO,OAAO;AAAA,IAC3B;AAEA,QAAI,aAAa,GAAG,MAAM,GAAG;AACzB,gBAAU;AACV,eAAS,QAAQ,QAAQ,MAAM,EAC1B,KAAK,CAAAC,YAAU;AACZ,YAAI,SAASA,OAAM,GAAG;AAClB,iBAAO;AAAA,YACH;AAAA,YACA,WAAW,OAAO,GAAG,KAAK,SAAS,CAAC,IAAI,QAAQ,IAAI,EAAE;AAAA,YACtD,QAAQ,YAAa;AAAA,YACrB,WAAW,KAAKA,OAAM;AAAA,UAC1B;AAAA,QACJ;AACA,eAAOA;AAAA,MACX,CAAC,EACA,QAAQ,MAAM,WAAW,OAAO,OAAO,EAAE,CAAC;AAAA,IACnD,OAAO;AACH,UAAI,SAAS,MAAM,GAAG;AAClB,eAAO;AAAA,UACH;AAAA,UACA,WAAW,OAAO,GAAG,KAAK,SAAS,CAAC,IAAI,QAAQ,IAAI,EAAE;AAAA,UACtD,QAAQ,YAAY;AAAA,UACpB,WAAW,KAAK,MAAM;AAAA,QAC1B;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ,UAAE;AACE,QAAI,CAAC,SAAS;AACV,iBAAW,OAAO,OAAO,EAAE;AAAA,IAC/B;AAAA,EACJ;AAEA,SAAO;AACX;AAEA,SAAS,gBAAgB,MAAc,OAAoC;AACvE,MAAI,UAAU,QAAW;AACrB,WAAO;AAAA,EACX;AACA,SAAO,GAAG,IAAI,MAAM,MAAM,SAAS,EAAE,CAAC;AAC1C;AAMA,SAAS,mBAAmB,MAAoB,MAA+C;AAC3F,QAAM,EAAE,YAAY,UAAU,IAAI;AAClC,QAAM,iBAAiB,cAAc,QAAQ,KAAK,WAAW,MAAM;AACnE,QAAM,kBAAkB,eAAe,QAAQ,KAAK,cAAc,OAAO,UAAU;AACnF,QAAM,aAAa,GAAG,eAAe,GAAG,cAAc;AAEtD,QAAM,YACF,iBAAiB,OACX,KAAK,cACL,aAAa,OACX,KAAK,UACL,eAAe,OACb,KAAK,YACL;AAEd,MAAI,eAAe,QAAW;AAC1B,WAAO,KAAK,gBAAgB,IAAI,SAAS,CAAC,IAAI,gBAAgB,IAAI,SAAS,CAAC,GAAG,UAAU;AAAA,EAC7F;AAEA,QAAM,WAAW,KAAK,UAAU;AAChC,MAAI,aAAa,QAAW;AACxB,WAAO,GAAG,gBAAgB,KAAK,UAAU,CAAC,IAAI,gBAAgB,IAAI,SAAS,CAAC,IAAI,gBAAgB,IAAI,SAAS,CAAC,GAAG,UAAU;AAAA,EAC/H;AACA,QAAM,eAAe,gBAAgB,SAAS,MAAM,UAAU;AAE9D,MAAI,cAAc,QAAW;AACzB,WAAO,GAAG,YAAY,MAAM,gBAAgB,IAAI,SAAS,CAAC,GAAG,UAAU;AAAA,EAC3E;AAEA,QAAM,UAAU,SAAS,SAAS;AAClC,MAAI,YAAY,QAAW;AACvB,WAAO,GAAG,YAAY,IAAI,gBAAgB,KAAK,SAAS,CAAC,IAAI,gBAAgB,IAAI,SAAS,CAAC,GAAG,UAAU;AAAA,EAC5G;AACA,QAAM,cAAc,gBAAgB,QAAQ,KAAK,MAAM,SAAS;AAEhE,MAAI,cAAc,QAAW;AACzB,QAAI,aAAa,MAAM;AACnB,YAAM,QAAQ,QAAQ,KAAK,OAAO,SAAS;AAC3C,aAAO,GAAG,YAAY,IAAI,WAAW,IAAI,gBAAgB,OAAO,QAAQ,KAAK,SAAS,CAAC,GAAG,UAAU;AAAA,IACxG,WAAW,iBAAiB,MAAM;AAC9B,YAAM,YAAY,QAAQ,KAAK,WAAW,SAAS;AACnD,aAAO,GAAG,YAAY,IAAI,WAAW,IAAI,gBAAgB,WAAW,QAAQ,KAAK,SAAS,CAAC,GAAG,UAAU;AAAA,IAC5G,WAAW,eAAe,MAAM;AAC5B,YAAM,UAAU,QAAQ,KAAK,SAAS,SAAS;AAC/C,aAAO,GAAG,YAAY,IAAI,WAAW,IAAI,gBAAgB,SAAS,QAAQ,KAAK,SAAS,CAAC,GAAG,UAAU;AAAA,IAC1G,OAAO;AACH,YAAM,IAAI,oBAAoB,cAAc;AAAA,IAChD;AAAA,EACJ,OAAO;AACH,WAAO,GAAG,YAAY,IAAI,WAAW,KAAK,UAAU;AAAA,EACxD;AACJ;",
4
+ "mappings": "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",
5
5
  "names": ["wildcardPathFlags", "result"]
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/node",
3
- "version": "0.16.0-alpha.0-20250820-24939dd26",
3
+ "version": "0.16.0-alpha.0-20250821-dd03e1003",
4
4
  "description": "API for building Matter nodes",
5
5
  "keywords": [
6
6
  "iot",
@@ -42,14 +42,14 @@
42
42
  "#*": "./src/*"
43
43
  },
44
44
  "dependencies": {
45
- "@matter/general": "0.16.0-alpha.0-20250820-24939dd26",
46
- "@matter/model": "0.16.0-alpha.0-20250820-24939dd26",
47
- "@matter/types": "0.16.0-alpha.0-20250820-24939dd26",
48
- "@matter/protocol": "0.16.0-alpha.0-20250820-24939dd26"
45
+ "@matter/general": "0.16.0-alpha.0-20250821-dd03e1003",
46
+ "@matter/model": "0.16.0-alpha.0-20250821-dd03e1003",
47
+ "@matter/types": "0.16.0-alpha.0-20250821-dd03e1003",
48
+ "@matter/protocol": "0.16.0-alpha.0-20250821-dd03e1003"
49
49
  },
50
50
  "devDependencies": {
51
- "@matter/tools": "0.16.0-alpha.0-20250820-24939dd26",
52
- "@matter/testing": "0.16.0-alpha.0-20250820-24939dd26"
51
+ "@matter/tools": "0.16.0-alpha.0-20250821-dd03e1003",
52
+ "@matter/testing": "0.16.0-alpha.0-20250821-dd03e1003"
53
53
  },
54
54
  "files": [
55
55
  "dist/**/*",
@@ -12,6 +12,7 @@ import {
12
12
  camelize,
13
13
  EventEmitter,
14
14
  ImplementationError,
15
+ InternalError,
15
16
  Logger,
16
17
  MaybePromise,
17
18
  Observable,
@@ -23,7 +24,7 @@ import {
23
24
  } from "#general";
24
25
  import { ElementTag, EventElement, EventModel, type AttributeElement, type ValueModel } from "#model";
25
26
  import { Occurrence, OccurrenceManager } from "@matter/protocol";
26
- import { ClusterId, EventId, EventPriority } from "@matter/types";
27
+ import { ClusterId, EventId, Priority } from "@matter/types";
27
28
  import type { Behavior } from "./Behavior.js";
28
29
  import { NodeActivity } from "./context/NodeActivity.js";
29
30
 
@@ -71,6 +72,12 @@ export class Events extends EventEmitter {
71
72
 
72
73
  export namespace Events {
73
74
  export interface Context {}
75
+
76
+ /**
77
+ * Generic type for {@link Endpoint#events}.
78
+ */
79
+ export interface Generic<T extends Observable = Observable>
80
+ extends Record<string, undefined | Record<string, undefined | T>> {}
74
81
  }
75
82
 
76
83
  /**
@@ -168,17 +175,23 @@ export class OnlineEvent<T extends any[] = any[], S extends ValueModel = ValueMo
168
175
  eventId: EventId(this.schema.id),
169
176
  clusterId: ClusterId(this.owner.behavior.schema!.id!),
170
177
  endpointId: this.owner.endpoint.number,
171
- priority: EventElement.PriorityId[eventSchema.priority] as unknown as EventPriority,
178
+ priority: EventElement.PriorityId[eventSchema.priority] as unknown as Priority,
172
179
  };
173
- this.#connectWithOccuranceManager();
180
+ this.#connectWithOccurenceManager();
174
181
  }
175
182
  }
176
183
 
177
- #connectWithOccuranceManager() {
184
+ #connectWithOccurenceManager() {
178
185
  if (this.owner.endpoint === undefined) {
179
- throw new ImplementationError("Event is not assigned to an endpoint");
186
+ throw new InternalError("Events initialized with no assigned endpoint");
180
187
  }
181
- const occurrenceManager = this.owner.endpoint.env.get(OccurrenceManager);
188
+
189
+ // Obtain occurrence manager. Events on client nodes will not have one
190
+ const occurrenceManager = this.owner.endpoint.env.maybeGet(OccurrenceManager);
191
+ if (occurrenceManager === undefined) {
192
+ return;
193
+ }
194
+
182
195
  const trigger = (payload?: any) => {
183
196
  const maybePromise = occurrenceManager.add({
184
197
  ...this.#baseOccurrence!,
@@ -24,6 +24,7 @@ import {
24
24
  import { Behavior } from "./Behavior.js";
25
25
  import { ClusterEvents } from "./cluster/ClusterEvents.js";
26
26
  import { OfflineContext } from "./context/server/OfflineContext.js";
27
+ import { Events } from "./Events.js";
27
28
  import { BehaviorBacking } from "./internal/BehaviorBacking.js";
28
29
 
29
30
  const logger = Logger.get("Transition");
@@ -297,9 +298,9 @@ export class Transitions<B extends Behavior> {
297
298
 
298
299
  this.stop(state.name);
299
300
 
300
- const event = (
301
- this.#endpoint.events as Record<string, Record<string, ClusterEvents.ChangedObservable<any>>>
302
- )[this.#config.type.id][`${name}$Changed`];
301
+ const event = (this.#endpoint.events as Events.Generic<ClusterEvents.ChangedObservable<any>>)[
302
+ this.#config.type.id
303
+ ]?.[`${name}$Changed`];
303
304
 
304
305
  // Per specification, quieter events always emit at end of transition. This will need an option in the
305
306
  // property configuration if this is ever not the case
@@ -621,9 +622,9 @@ export class Transitions<B extends Behavior> {
621
622
 
622
623
  this.#instrumentedProperties.add(name);
623
624
 
624
- const event = (
625
- this.#endpoint.events as Record<string, Record<string, ClusterEvents.ChangedObservable<any> | undefined>>
626
- )[this.#config.type.id][`${name}$Changed`];
625
+ const event = (this.#endpoint.events as Events.Generic<ClusterEvents.ChangedObservable<any>>)[
626
+ this.#config.type.id
627
+ ]?.[`${name}$Changed`];
627
628
  if (!event) {
628
629
  return;
629
630
  }
@@ -6,7 +6,6 @@
6
6
 
7
7
  import type { Agent } from "#endpoint/Agent.js";
8
8
  import type { Endpoint } from "#endpoint/Endpoint.js";
9
- import type { EndpointType } from "#endpoint/type/EndpointType.js";
10
9
  import type { AccessLevel } from "#model";
11
10
  import type { Message, SecureSession } from "#protocol";
12
11
  import { MessageExchange } from "#protocol";
@@ -62,9 +61,4 @@ export interface ActionContext extends ValueSupervisor.Session {
62
61
  * The priority of actions in this context.
63
62
  */
64
63
  priority?: Priority;
65
-
66
- /**
67
- * Obtain an agent for interacting with an endpoint in this context.
68
- */
69
- agentFor<const T extends EndpointType>(endpoint: Endpoint<T>): Agent.Instance<T>;
70
64
  }
@@ -12,9 +12,25 @@ import type { ActionContext } from "../ActionContext.js";
12
12
  /**
13
13
  * Internal helper for managing agents associated with a session.
14
14
  */
15
- export interface ContextAgents extends ReturnType<typeof ContextAgents> {}
15
+ export interface ContextAgents {
16
+ [Symbol.toStringTag]: "ContextAgents";
17
+ agentFor<const T extends EndpointType>(endpoint: Endpoint<T>): Agent.Instance<T>;
18
+ }
19
+
20
+ const contextAgents = new WeakMap<ActionContext, ContextAgents>();
16
21
 
17
22
  export function ContextAgents(context: ActionContext) {
23
+ let instance = contextAgents.get(context);
24
+
25
+ if (instance === undefined) {
26
+ instance = create(context);
27
+ contextAgents.set(context, instance);
28
+ }
29
+
30
+ return instance;
31
+ }
32
+
33
+ function create(context: ActionContext): ContextAgents {
18
34
  const agents = new Map<Endpoint, Agent>();
19
35
 
20
36
  return {
@@ -5,15 +5,12 @@
5
5
  */
6
6
 
7
7
  import type { Agent } from "#endpoint/Agent.js";
8
- import type { Endpoint } from "#endpoint/Endpoint.js";
9
- import type { EndpointType } from "#endpoint/type/EndpointType.js";
10
8
  import { Diagnostic, InternalError, MaybePromise, Transaction } from "#general";
11
9
  import { AccessLevel } from "#model";
12
10
  import { AccessControl } from "#protocol";
13
11
  import type { ActionContext } from "../ActionContext.js";
14
12
  import { Contextual } from "../Contextual.js";
15
13
  import type { NodeActivity } from "../NodeActivity.js";
16
- import { ContextAgents } from "./ContextAgents.js";
17
14
 
18
15
  export let nextInternalId = 1;
19
16
 
@@ -70,7 +67,6 @@ export const OfflineContext = {
70
67
 
71
68
  try {
72
69
  frame = options?.activity?.begin(via);
73
- let agents: undefined | ContextAgents;
74
70
 
75
71
  transaction = Transaction.open(via, options?.isolation);
76
72
 
@@ -94,13 +90,6 @@ export const OfflineContext = {
94
90
  : AccessControl.Authority.Unauthorized;
95
91
  },
96
92
 
97
- agentFor<const T extends EndpointType>(endpoint: Endpoint<T>): Agent.Instance<T> {
98
- if (!agents) {
99
- agents = ContextAgents(context);
100
- }
101
- return agents?.agentFor(endpoint);
102
- },
103
-
104
93
  get [Contextual.context]() {
105
94
  return this;
106
95
  },
@@ -4,9 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- import { Agent } from "#endpoint/Agent.js";
8
- import { Endpoint } from "#endpoint/Endpoint.js";
9
- import { EndpointType } from "#endpoint/type/EndpointType.js";
10
7
  import { AsyncObservable, Diagnostic, ImplementationError, InternalError, MaybePromise, Transaction } from "#general";
11
8
  import { AccessLevel } from "#model";
12
9
  import type { Node } from "#node/Node.js";
@@ -23,7 +20,6 @@ import { FabricIndex, NodeId } from "#types";
23
20
  import { ActionContext } from "../ActionContext.js";
24
21
  import { Contextual } from "../Contextual.js";
25
22
  import { NodeActivity } from "../NodeActivity.js";
26
- import { ContextAgents } from "./ContextAgents.js";
27
23
 
28
24
  /**
29
25
  * Caches completion events per exchange. Uses if multiple OnlineContext instances are created for an exchange.
@@ -150,7 +146,6 @@ export function OnlineContext(options: OnlineContext.Options) {
150
146
  if (session) {
151
147
  SecureSession.assert(session);
152
148
  }
153
- let agents: undefined | ContextAgents;
154
149
  let interactionComplete: AsyncObservable<[session?: ActionContext | undefined]> | undefined;
155
150
  if (exchange !== undefined) {
156
151
  interactionComplete = exchangeCompleteEvents.get(exchange);
@@ -211,13 +206,6 @@ export function OnlineContext(options: OnlineContext.Options) {
211
206
  : AccessControl.Authority.Unauthorized;
212
207
  },
213
208
 
214
- agentFor<T extends EndpointType>(endpoint: Endpoint<T>): Agent.Instance<T> {
215
- if (!agents) {
216
- agents = ContextAgents(context);
217
- }
218
- return agents.agentFor(endpoint);
219
- },
220
-
221
209
  get [Contextual.context](): ActionContext {
222
210
  return this;
223
211
  },
@@ -411,7 +411,7 @@ class ReactorBacking<T extends any[], R> {
411
411
  * Bind the reactor to a behavior instance once locks are held.
412
412
  */
413
413
  #bindReactor(context: ActionContext, backing: BehaviorBacking): Reactor<T, Awaited<R>> {
414
- const agent = context.agentFor(this.#endpoint);
414
+ const agent = this.#endpoint.agentFor(context);
415
415
 
416
416
  // Do not use Agent.get because it will throw during initialization
417
417
  const behavior = backing.createBehavior(agent, backing.type);