@matter/node 0.14.1-alpha.0-20250607-a93593303 → 0.15.0-alpha.0-20250613-a55f991d4

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 (108) hide show
  1. package/dist/cjs/behavior/Events.d.ts +8 -3
  2. package/dist/cjs/behavior/Events.d.ts.map +1 -1
  3. package/dist/cjs/behavior/Events.js +5 -1
  4. package/dist/cjs/behavior/Events.js.map +1 -1
  5. package/dist/cjs/behavior/cluster/ClusterBehaviorUtil.js +3 -3
  6. package/dist/cjs/behavior/cluster/ClusterBehaviorUtil.js.map +1 -1
  7. package/dist/cjs/behavior/cluster/FabricScopedDataHandler.d.ts +16 -0
  8. package/dist/cjs/behavior/cluster/FabricScopedDataHandler.d.ts.map +1 -0
  9. package/dist/cjs/behavior/cluster/FabricScopedDataHandler.js +119 -0
  10. package/dist/cjs/behavior/cluster/FabricScopedDataHandler.js.map +6 -0
  11. package/dist/cjs/behavior/cluster/index.d.ts +1 -0
  12. package/dist/cjs/behavior/cluster/index.d.ts.map +1 -1
  13. package/dist/cjs/behavior/cluster/index.js +1 -0
  14. package/dist/cjs/behavior/cluster/index.js.map +1 -1
  15. package/dist/cjs/behavior/context/server/OnlineContext.d.ts +2 -1
  16. package/dist/cjs/behavior/context/server/OnlineContext.d.ts.map +1 -1
  17. package/dist/cjs/behavior/context/server/OnlineContext.js +22 -7
  18. package/dist/cjs/behavior/context/server/OnlineContext.js.map +1 -1
  19. package/dist/cjs/behavior/state/managed/Datasource.d.ts +6 -5
  20. package/dist/cjs/behavior/state/managed/Datasource.d.ts.map +1 -1
  21. package/dist/cjs/behavior/state/managed/Datasource.js +25 -14
  22. package/dist/cjs/behavior/state/managed/Datasource.js.map +1 -1
  23. package/dist/cjs/behavior/supervision/ValueSupervisor.d.ts +7 -3
  24. package/dist/cjs/behavior/supervision/ValueSupervisor.d.ts.map +1 -1
  25. package/dist/cjs/behaviors/access-control/AccessControlServer.d.ts +20 -36
  26. package/dist/cjs/behaviors/access-control/AccessControlServer.d.ts.map +1 -1
  27. package/dist/cjs/behaviors/access-control/AccessControlServer.js +153 -87
  28. package/dist/cjs/behaviors/access-control/AccessControlServer.js.map +1 -1
  29. package/dist/cjs/behaviors/operational-credentials/OperationalCredentialsServer.d.ts.map +1 -1
  30. package/dist/cjs/behaviors/operational-credentials/OperationalCredentialsServer.js +8 -19
  31. package/dist/cjs/behaviors/operational-credentials/OperationalCredentialsServer.js.map +2 -2
  32. package/dist/cjs/endpoint/properties/Behaviors.d.ts.map +1 -1
  33. package/dist/cjs/endpoint/properties/Behaviors.js +10 -0
  34. package/dist/cjs/endpoint/properties/Behaviors.js.map +1 -1
  35. package/dist/cjs/node/ServerNode.d.ts +2 -2
  36. package/dist/cjs/node/ServerNode.d.ts.map +1 -1
  37. package/dist/cjs/node/ServerNode.js +2 -2
  38. package/dist/cjs/node/server/InteractionServer.d.ts.map +1 -1
  39. package/dist/cjs/node/server/InteractionServer.js +10 -44
  40. package/dist/cjs/node/server/InteractionServer.js.map +2 -2
  41. package/dist/cjs/node/server/ProtocolService.js +1 -1
  42. package/dist/cjs/node/server/ProtocolService.js.map +1 -1
  43. package/dist/cjs/node/server/ServerEnvironment.d.ts +3 -0
  44. package/dist/cjs/node/server/ServerEnvironment.d.ts.map +1 -1
  45. package/dist/cjs/node/server/ServerEnvironment.js +12 -2
  46. package/dist/cjs/node/server/ServerEnvironment.js.map +1 -1
  47. package/dist/esm/behavior/Events.d.ts +8 -3
  48. package/dist/esm/behavior/Events.d.ts.map +1 -1
  49. package/dist/esm/behavior/Events.js +5 -2
  50. package/dist/esm/behavior/Events.js.map +1 -1
  51. package/dist/esm/behavior/cluster/ClusterBehaviorUtil.js +4 -4
  52. package/dist/esm/behavior/cluster/ClusterBehaviorUtil.js.map +1 -1
  53. package/dist/esm/behavior/cluster/FabricScopedDataHandler.d.ts +16 -0
  54. package/dist/esm/behavior/cluster/FabricScopedDataHandler.d.ts.map +1 -0
  55. package/dist/esm/behavior/cluster/FabricScopedDataHandler.js +99 -0
  56. package/dist/esm/behavior/cluster/FabricScopedDataHandler.js.map +6 -0
  57. package/dist/esm/behavior/cluster/index.d.ts +1 -0
  58. package/dist/esm/behavior/cluster/index.d.ts.map +1 -1
  59. package/dist/esm/behavior/cluster/index.js +1 -0
  60. package/dist/esm/behavior/cluster/index.js.map +1 -1
  61. package/dist/esm/behavior/context/server/OnlineContext.d.ts +2 -1
  62. package/dist/esm/behavior/context/server/OnlineContext.d.ts.map +1 -1
  63. package/dist/esm/behavior/context/server/OnlineContext.js +29 -9
  64. package/dist/esm/behavior/context/server/OnlineContext.js.map +1 -1
  65. package/dist/esm/behavior/state/managed/Datasource.d.ts +6 -5
  66. package/dist/esm/behavior/state/managed/Datasource.d.ts.map +1 -1
  67. package/dist/esm/behavior/state/managed/Datasource.js +25 -14
  68. package/dist/esm/behavior/state/managed/Datasource.js.map +1 -1
  69. package/dist/esm/behavior/supervision/ValueSupervisor.d.ts +7 -3
  70. package/dist/esm/behavior/supervision/ValueSupervisor.d.ts.map +1 -1
  71. package/dist/esm/behaviors/access-control/AccessControlServer.d.ts +20 -36
  72. package/dist/esm/behaviors/access-control/AccessControlServer.d.ts.map +1 -1
  73. package/dist/esm/behaviors/access-control/AccessControlServer.js +153 -88
  74. package/dist/esm/behaviors/access-control/AccessControlServer.js.map +1 -1
  75. package/dist/esm/behaviors/operational-credentials/OperationalCredentialsServer.d.ts.map +1 -1
  76. package/dist/esm/behaviors/operational-credentials/OperationalCredentialsServer.js +8 -19
  77. package/dist/esm/behaviors/operational-credentials/OperationalCredentialsServer.js.map +1 -1
  78. package/dist/esm/endpoint/properties/Behaviors.d.ts.map +1 -1
  79. package/dist/esm/endpoint/properties/Behaviors.js +10 -0
  80. package/dist/esm/endpoint/properties/Behaviors.js.map +1 -1
  81. package/dist/esm/node/ServerNode.d.ts +2 -2
  82. package/dist/esm/node/ServerNode.d.ts.map +1 -1
  83. package/dist/esm/node/ServerNode.js +3 -3
  84. package/dist/esm/node/ServerNode.js.map +1 -1
  85. package/dist/esm/node/server/InteractionServer.d.ts.map +1 -1
  86. package/dist/esm/node/server/InteractionServer.js +10 -44
  87. package/dist/esm/node/server/InteractionServer.js.map +1 -1
  88. package/dist/esm/node/server/ProtocolService.js +1 -1
  89. package/dist/esm/node/server/ProtocolService.js.map +1 -1
  90. package/dist/esm/node/server/ServerEnvironment.d.ts +3 -0
  91. package/dist/esm/node/server/ServerEnvironment.d.ts.map +1 -1
  92. package/dist/esm/node/server/ServerEnvironment.js +12 -2
  93. package/dist/esm/node/server/ServerEnvironment.js.map +1 -1
  94. package/package.json +7 -7
  95. package/src/behavior/Events.ts +8 -3
  96. package/src/behavior/cluster/ClusterBehaviorUtil.ts +4 -4
  97. package/src/behavior/cluster/FabricScopedDataHandler.ts +142 -0
  98. package/src/behavior/cluster/index.ts +1 -0
  99. package/src/behavior/context/server/OnlineContext.ts +39 -9
  100. package/src/behavior/state/managed/Datasource.ts +37 -20
  101. package/src/behavior/supervision/ValueSupervisor.ts +8 -3
  102. package/src/behaviors/access-control/AccessControlServer.ts +210 -102
  103. package/src/behaviors/operational-credentials/OperationalCredentialsServer.ts +10 -18
  104. package/src/endpoint/properties/Behaviors.ts +12 -1
  105. package/src/node/ServerNode.ts +3 -3
  106. package/src/node/server/InteractionServer.ts +10 -63
  107. package/src/node/server/ProtocolService.ts +1 -1
  108. package/src/node/server/ServerEnvironment.ts +16 -2
@@ -3,8 +3,9 @@
3
3
  * Copyright 2022-2025 Project CHIP Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { ValueSupervisor } from "#behavior/supervision/ValueSupervisor.js";
6
7
  import type { Endpoint } from "#endpoint/Endpoint.js";
7
- import { AsyncObservable, BasicObservable, EventEmitter, Observable, ObserverErrorHandler, ObserverPromiseHandler, QuietObservable } from "#general";
8
+ import { BasicObservable, EventEmitter, MaybePromise, Observable, ObserverErrorHandler, ObserverPromiseHandler, QuietObservable } from "#general";
8
9
  import { type ValueModel } from "#model";
9
10
  import type { Behavior } from "./Behavior.js";
10
11
  /**
@@ -16,11 +17,15 @@ export declare class Events extends EventEmitter {
16
17
  /**
17
18
  * Emitted when state associated with this behavior is first mutated by a specific interaction.
18
19
  */
19
- interactionBegin: Observable<[], void>;
20
+ interactionBegin: Observable<[context?: ValueSupervisor.Session | undefined], MaybePromise>;
20
21
  /**
21
22
  * Emitted when a mutating interaction completes.
22
23
  */
23
- interactionEnd: AsyncObservable<[], void>;
24
+ interactionEnd: Observable<[context?: ValueSupervisor.Session | undefined], MaybePromise>;
25
+ /**
26
+ * Emitted when the state of this behavior changes at the end after all concrete $Changed events were emitted.
27
+ */
28
+ stateChanged: Observable<[context?: ValueSupervisor.Session | undefined], MaybePromise>;
24
29
  get endpoint(): Endpoint<import("../index.js").EndpointType.Empty> | undefined;
25
30
  get behavior(): Behavior.Type | undefined;
26
31
  toString(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"Events.d.ts","sourceRoot":"","sources":["../../../src/behavior/Events.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAEH,eAAe,EACf,eAAe,EAEf,YAAY,EAIZ,UAAU,EACV,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EAGlB,MAAM,UAAU,CAAC;AAClB,OAAO,EAA+D,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AAGtG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAK9C;;GAEG;AACH,qBAAa,MAAO,SAAQ,YAAY;;IAIpC,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI;IAKtD;;OAEG;IACH,gBAAgB,uBAAoB;IAEpC;;OAEG;IACH,cAAc,4BAAyB;IAEvC,IAAI,QAAQ,mEAEX;IAED,IAAI,QAAQ,8BAEX;IAEQ,QAAQ;CAGpB;AAED,yBAAiB,MAAM,CAAC;IACpB,UAAiB,OAAO;KAAG;CAC9B;AAED;;GAEG;AACH,qBAAa,YAAY,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,eAAe,CAAC,CAAC,CAAC;;gBAKxG,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,oBAAoB,EACnC,cAAc,CAAC,EAAE,sBAAsB;IAQ3C;;OAEG;IACH,IAAI,MAAM,MAET;IAED,SAAS,KAAK,KAAK,WAElB;CACJ;AAED;;;;GAIG;AACH,qBAAa,YAAY,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;gBAC7F,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM;CAavC;AAED;;;;;GAKG;AACH,qBAAa,WAAW,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;;IACxG,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAS;gBAIxB,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM;IA0DpC;;;;;OAKG;IACH,IAAI,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,CAE1B;IAED;;;;;;;OAOG;IACH,IAAI,KAAK,IAAI,eAAe,CAAC,CAAC,CAAC,CAE9B;IAEQ,QAAQ;IAQR,CAAC,MAAM,CAAC,OAAO,CAAC;CAM5B;AAED;;;;GAIG;AACH,qBAAa,UAAU,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;;IACzG,SAAkB,SAAS,QAAQ;gBAIvB,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC;IAe/E,IAAa,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,CAEnC;IAED,IAAa,KAAK,IAAI,eAAe,CAAC,CAAC,CAAC,CAEvC;IAEQ,CAAC,MAAM,CAAC,OAAO,CAAC;CAI5B"}
1
+ {"version":3,"file":"Events.d.ts","sourceRoot":"","sources":["../../../src/behavior/Events.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAEH,eAAe,EAEf,YAAY,EAGZ,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EAGlB,MAAM,UAAU,CAAC;AAClB,OAAO,EAA+D,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AAGtG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAK9C;;GAEG;AACH,qBAAa,MAAO,SAAQ,YAAY;;IAIpC,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI;IAKtD;;OAEG;IACH,gBAAgB,4EAAmE;IAEnF;;OAEG;IACH,cAAc,4EAAmE;IAEjF;;OAEG;IACH,YAAY,4EAAmE;IAE/E,IAAI,QAAQ,mEAEX;IAED,IAAI,QAAQ,8BAEX;IAEQ,QAAQ;CAGpB;AAED,yBAAiB,MAAM,CAAC;IACpB,UAAiB,OAAO;KAAG;CAC9B;AAED;;GAEG;AACH,qBAAa,YAAY,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,eAAe,CAAC,CAAC,CAAC;;gBAKxG,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,oBAAoB,EACnC,cAAc,CAAC,EAAE,sBAAsB;IAQ3C;;OAEG;IACH,IAAI,MAAM,MAET;IAED,SAAS,KAAK,KAAK,WAElB;CACJ;AAED;;;;GAIG;AACH,qBAAa,YAAY,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;gBAC7F,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM;CAavC;AAED;;;;;GAKG;AACH,qBAAa,WAAW,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;;IACxG,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAS;gBAIxB,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM;IA0DpC;;;;;OAKG;IACH,IAAI,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,CAE1B;IAED;;;;;;;OAOG;IACH,IAAI,KAAK,IAAI,eAAe,CAAC,CAAC,CAAC,CAE9B;IAEQ,QAAQ;IAQR,CAAC,MAAM,CAAC,OAAO,CAAC;CAM5B;AAED;;;;GAIG;AACH,qBAAa,UAAU,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;;IACzG,SAAkB,SAAS,QAAQ;gBAIvB,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC;IAe/E,IAAa,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,CAEnC;IAED,IAAa,KAAK,IAAI,eAAe,CAAC,CAAC,CAAC,CAEvC;IAEQ,CAAC,MAAM,CAAC,OAAO,CAAC;CAI5B"}
@@ -95,7 +95,11 @@ class Events extends import_general.EventEmitter {
95
95
  /**
96
96
  * Emitted when a mutating interaction completes.
97
97
  */
98
- interactionEnd = (0, import_general.AsyncObservable)();
98
+ interactionEnd = (0, import_general.Observable)();
99
+ /**
100
+ * Emitted when the state of this behavior changes at the end after all concrete $Changed events were emitted.
101
+ */
102
+ stateChanged = (0, import_general.Observable)();
99
103
  get endpoint() {
100
104
  return this.#endpoint;
101
105
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/behavior/Events.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -202,9 +202,9 @@ function createDerivedEvents(cluster, scope, base, newProps) {
202
202
  base: base.Events,
203
203
  instanceDescriptors,
204
204
  initialize() {
205
- this.interactionBegin = new import_general.AsyncObservable();
206
- this.interactionEnd = new import_general.AsyncObservable();
207
- this.datasourceChanged = new import_general.Observable();
205
+ this.interactionBegin = new import_general.Observable();
206
+ this.interactionEnd = new import_general.Observable();
207
+ this.stateChanged = new import_general.Observable();
208
208
  for (const name of eventNames) {
209
209
  this.addEvent(name);
210
210
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/behavior/cluster/ClusterBehaviorUtil.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Endpoint } from "#endpoint/Endpoint.js";
7
+ import { ServerNode } from "#node/ServerNode.js";
8
+ import { FabricIndex } from "#types";
9
+ /**
10
+ * Sanitize Fabric scoped data and events to a list of allowed fabrics.
11
+ * The logic walks through all endpoints and removes relevant fabric-scoped attribute values for the relevant fabric
12
+ * from the state. After all state changes are processed, it removes all occurrences of fabric-scoped events.
13
+ */
14
+ export declare function limitNodeDataToAllowedFabrics(node: ServerNode, allowedIndices: FabricIndex[]): Promise<void>;
15
+ export declare function limitEndpointAttributeDataToAllowedFabrics(endpoint: Endpoint, allowedIndices: FabricIndex[]): Promise<void>;
16
+ //# sourceMappingURL=FabricScopedDataHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FabricScopedDataHandler.d.ts","sourceRoot":"","sources":["../../../../src/behavior/cluster/FabricScopedDataHandler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGjD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAe,WAAW,EAAgB,MAAM,QAAQ,CAAC;AAoEhE;;;;GAIG;AACH,wBAAsB,6BAA6B,CAAC,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,iBA0ClG;AAED,wBAAsB,0CAA0C,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,iBAYjH"}
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var FabricScopedDataHandler_exports = {};
20
+ __export(FabricScopedDataHandler_exports, {
21
+ limitEndpointAttributeDataToAllowedFabrics: () => limitEndpointAttributeDataToAllowedFabrics,
22
+ limitNodeDataToAllowedFabrics: () => limitNodeDataToAllowedFabrics
23
+ });
24
+ module.exports = __toCommonJS(FabricScopedDataHandler_exports);
25
+ var import_general = require("#general");
26
+ var import_protocol = require("#protocol");
27
+ /**
28
+ * @license
29
+ * Copyright 2022-2025 Matter.js Authors
30
+ * SPDX-License-Identifier: Apache-2.0
31
+ */
32
+ const logger = import_general.Logger.get("FabricScopedDataHandler");
33
+ async function forBehaviors(endpoint, callback) {
34
+ for (const type of Object.values(endpoint.behaviors.supported)) {
35
+ const cluster = type?.cluster;
36
+ if (!cluster) {
37
+ continue;
38
+ }
39
+ const elements = endpoint.behaviors.elementsOf(type);
40
+ if (elements.attributes.size || elements.events.size) {
41
+ await callback(type, cluster, elements);
42
+ }
43
+ }
44
+ }
45
+ async function sanitizeAttributeData(endpoint, type, cluster, supportedAttributes, allowedIndices) {
46
+ const stateUpdatePromises = new Array();
47
+ const stateUpdate = {};
48
+ for (const attributeName of supportedAttributes) {
49
+ const attr = cluster.attributes[attributeName];
50
+ if (attr.fabricScoped) {
51
+ const value = endpoint.stateOf(type)[attributeName];
52
+ if (Array.isArray(value) && value.length > 0) {
53
+ const filtered = (0, import_general.deepCopy)(value).filter((entry) => allowedIndices.includes(entry.fabricIndex));
54
+ if (filtered.length !== value.length) {
55
+ stateUpdate[attributeName] = filtered;
56
+ }
57
+ }
58
+ }
59
+ }
60
+ if (Object.keys(stateUpdate).length > 0) {
61
+ const { resolver, promise } = (0, import_general.createPromise)();
62
+ endpoint.eventsOf(type).stateChanged?.on(resolver);
63
+ try {
64
+ await endpoint.setStateOf(type, stateUpdate);
65
+ stateUpdatePromises.push((0, import_general.withTimeout)(5e3, promise));
66
+ } catch (error) {
67
+ logger.warn(
68
+ `Could not sanitize fabric-scoped attributes for cluster ${cluster.name} on endpoint ${endpoint.id}`,
69
+ error
70
+ );
71
+ }
72
+ }
73
+ return stateUpdatePromises;
74
+ }
75
+ async function limitNodeDataToAllowedFabrics(node, allowedIndices) {
76
+ const fabricRelevantEvents = /* @__PURE__ */ new Set();
77
+ const stateUpdatePromises = new Array();
78
+ await node.visit(async (endpoint) => {
79
+ await forBehaviors(endpoint, async (type, cluster, elements) => {
80
+ if (elements.attributes.size) {
81
+ stateUpdatePromises.push(
82
+ ...await sanitizeAttributeData(endpoint, type, cluster, elements.attributes, allowedIndices)
83
+ );
84
+ }
85
+ if (elements.events.size) {
86
+ for (const eventName of elements.events) {
87
+ const event = cluster.events[eventName];
88
+ if (event.schema.isFabricScoped) {
89
+ fabricRelevantEvents.add(`${cluster.id}-${event.id}`);
90
+ }
91
+ }
92
+ }
93
+ });
94
+ });
95
+ await Promise.allSettled(stateUpdatePromises);
96
+ if (fabricRelevantEvents.size > 0) {
97
+ const occurrences = node.env.get(import_protocol.OccurrenceManager);
98
+ for await (const event of occurrences.get()) {
99
+ if (fabricRelevantEvents.has(`${event.clusterId}-${event.eventId}`) && (0, import_general.isObject)(event.payload) && !allowedIndices.includes(event.payload.fabricIndex)) {
100
+ const result = occurrences.remove(event.number);
101
+ if (import_general.MaybePromise.is(result)) {
102
+ await result;
103
+ }
104
+ }
105
+ }
106
+ }
107
+ }
108
+ async function limitEndpointAttributeDataToAllowedFabrics(endpoint, allowedIndices) {
109
+ const stateUpdatePromises = new Array();
110
+ await forBehaviors(endpoint, async (type, cluster, elements) => {
111
+ if (elements.attributes.size) {
112
+ stateUpdatePromises.push(
113
+ ...await sanitizeAttributeData(endpoint, type, cluster, elements.attributes, allowedIndices)
114
+ );
115
+ }
116
+ });
117
+ await Promise.allSettled(stateUpdatePromises);
118
+ }
119
+ //# sourceMappingURL=FabricScopedDataHandler.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/behavior/cluster/FabricScopedDataHandler.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -8,5 +8,6 @@ export * from "./ClusterBehaviorUtil.js";
8
8
  export * from "./ClusterEvents.js";
9
9
  export * from "./ClusterInterface.js";
10
10
  export * from "./ClusterState.js";
11
+ export * from "./FabricScopedDataHandler.js";
11
12
  export * from "./ValidatedElements.js";
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/behavior/cluster/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/behavior/cluster/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC"}
@@ -20,6 +20,7 @@ __reExport(cluster_exports, require("./ClusterBehaviorUtil.js"), module.exports)
20
20
  __reExport(cluster_exports, require("./ClusterEvents.js"), module.exports);
21
21
  __reExport(cluster_exports, require("./ClusterInterface.js"), module.exports);
22
22
  __reExport(cluster_exports, require("./ClusterState.js"), module.exports);
23
+ __reExport(cluster_exports, require("./FabricScopedDataHandler.js"), module.exports);
23
24
  __reExport(cluster_exports, require("./ValidatedElements.js"), module.exports);
24
25
  /**
25
26
  * @license
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/behavior/cluster/index.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,4BAAc,iCANd;AAOA,4BAAc,qCAPd;AAQA,4BAAc,+BARd;AASA,4BAAc,kCATd;AAUA,4BAAc,8BAVd;AAWA,4BAAc,mCAXd;AAAA;AAAA;AAAA;AAAA;AAAA;",
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,4BAAc,iCANd;AAOA,4BAAc,qCAPd;AAQA,4BAAc,+BARd;AASA,4BAAc,kCATd;AAUA,4BAAc,8BAVd;AAWA,4BAAc,yCAXd;AAYA,4BAAc,mCAZd;AAAA;AAAA;AAAA;AAAA;AAAA;",
5
5
  "names": []
6
6
  }
@@ -6,7 +6,7 @@
6
6
  import { MaybePromise, Transaction } from "#general";
7
7
  import type { Node } from "#node/Node.js";
8
8
  import type { Message } from "#protocol";
9
- import { MessageExchange } from "#protocol";
9
+ import { FabricAccessControl, MessageExchange } from "#protocol";
10
10
  import { FabricIndex, NodeId } from "#types";
11
11
  import { ActionContext } from "../ActionContext.js";
12
12
  import { NodeActivity } from "../NodeActivity.js";
@@ -44,6 +44,7 @@ export declare namespace OnlineContext {
44
44
  timed?: boolean;
45
45
  fabricFiltered?: boolean;
46
46
  message?: Message;
47
+ aclManager?: FabricAccessControl;
47
48
  } & ({
48
49
  exchange: MessageExchange;
49
50
  fabric?: undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"OnlineContext.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/context/server/OnlineContext.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAkD,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAErG,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAgB,MAAM,WAAW,CAAC;AACvD,OAAO,EAAqC,eAAe,EAA0B,MAAM,WAAW,CAAC;AACvG,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO;IA4BpD;;;;OAIG;QACC,CAAC,SAAS,CAAC,OAAO,EAAE,aAAa,KAAK,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;IAa3E;;;;;OAKG;YACK,aAAa,GAAG,WAAW,CAAC,YAAY;IAkBhD;;;;;OAKG;qBAMO,aAAa,CAAC,QAAQ;;EA6HvC;AAED,yBAAiB,aAAa,CAAC;IAC3B,KAAY,OAAO,GAAG;QAClB,IAAI,EAAE,IAAI,CAAC;QACX,QAAQ,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC;QACjC,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,OAAO,CAAC,EAAE,OAAO,CAAC;KACrB,GAAG,CACE;QAAE,QAAQ,EAAE,eAAe,CAAC;QAAC,MAAM,CAAC,EAAE,SAAS,CAAC;QAAC,OAAO,CAAC,EAAE,SAAS,CAAA;KAAE,GACtE;QAAE,QAAQ,CAAC,EAAE,SAAS,CAAC;QAAC,MAAM,EAAE,WAAW,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CACnE,CAAC;IAEF,UAAiB,QAAS,SAAQ,aAAa;QAC3C,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;KAC5B;CACJ"}
1
+ {"version":3,"file":"OnlineContext.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/context/server/OnlineContext.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAmE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEtH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAgB,MAAM,WAAW,CAAC;AACvD,OAAO,EAGH,mBAAmB,EACnB,eAAe,EAGlB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AASlD;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO;IAgCpD;;;;OAIG;QACC,CAAC,SAAS,CAAC,OAAO,EAAE,aAAa,KAAK,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;IAa3E;;;;;OAKG;YACK,aAAa,GAAG,WAAW,CAAC,YAAY;IAkBhD;;;;;OAKG;qBAMO,aAAa,CAAC,QAAQ;;EA0IvC;AAED,yBAAiB,aAAa,CAAC;IAC3B,KAAY,OAAO,GAAG;QAClB,IAAI,EAAE,IAAI,CAAC;QACX,QAAQ,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC;QACjC,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,UAAU,CAAC,EAAE,mBAAmB,CAAC;KACpC,GAAG,CACE;QAAE,QAAQ,EAAE,eAAe,CAAC;QAAC,MAAM,CAAC,EAAE,SAAS,CAAC;QAAC,OAAO,CAAC,EAAE,SAAS,CAAA;KAAE,GACtE;QAAE,QAAQ,CAAC,EAAE,SAAS,CAAC;QAAC,MAAM,EAAE,WAAW,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CACnE,CAAC;IAEF,UAAiB,QAAS,SAAQ,aAAa;QAC3C,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;KAC5B;CACJ"}
@@ -21,7 +21,6 @@ __export(OnlineContext_exports, {
21
21
  OnlineContext: () => OnlineContext
22
22
  });
23
23
  module.exports = __toCommonJS(OnlineContext_exports);
24
- var import_access_control = require("#behaviors/access-control");
25
24
  var import_general = require("#general");
26
25
  var import_protocol = require("#protocol");
27
26
  var import_Contextual = require("../Contextual.js");
@@ -31,17 +30,20 @@ var import_ContextAgents = require("./ContextAgents.js");
31
30
  * Copyright 2022-2025 Matter.js Authors
32
31
  * SPDX-License-Identifier: Apache-2.0
33
32
  */
33
+ const exchangeCompleteEvents = /* @__PURE__ */ new WeakMap();
34
34
  function OnlineContext(options) {
35
35
  let fabric;
36
36
  let subject;
37
37
  let nodeProtocol;
38
38
  let accessLevelCache;
39
+ let aclManager;
39
40
  const { exchange, message } = options;
40
41
  const session = exchange?.session;
41
42
  if (session) {
42
43
  import_protocol.SecureSession.assert(session);
43
44
  fabric = session.fabric?.fabricIndex;
44
45
  subject = session.subjectFor(message);
46
+ aclManager = session?.fabric?.acl ?? new import_protocol.FabricAccessControl();
45
47
  } else {
46
48
  fabric = options.fabric;
47
49
  if (options.subject !== void 0) {
@@ -49,6 +51,7 @@ function OnlineContext(options) {
49
51
  } else {
50
52
  throw new import_general.ImplementationError("OnlineContext requires an authorized subject");
51
53
  }
54
+ aclManager = options.aclManager ?? new import_protocol.FabricAccessControl();
52
55
  }
53
56
  const via = import_general.Diagnostic.via(
54
57
  `online#${message?.packetHeader?.messageId?.toString(16) ?? "?"}@${subject.id.toString(16)}`
@@ -122,6 +125,22 @@ function OnlineContext(options) {
122
125
  import_protocol.SecureSession.assert(session);
123
126
  }
124
127
  let agents;
128
+ let interactionComplete;
129
+ if (exchange !== void 0) {
130
+ interactionComplete = exchangeCompleteEvents.get(exchange);
131
+ if (interactionComplete === void 0) {
132
+ interactionComplete = new import_general.AsyncObservable();
133
+ exchangeCompleteEvents.set(exchange, interactionComplete);
134
+ }
135
+ const notifyInteractionComplete = () => {
136
+ exchange.closing.off(notifyInteractionComplete);
137
+ exchangeCompleteEvents.delete(exchange);
138
+ if (context.interactionComplete?.isObserved) {
139
+ context.interactionComplete.emit(context);
140
+ }
141
+ };
142
+ exchange.closing.on(notifyInteractionComplete);
143
+ }
125
144
  const context = {
126
145
  ...options,
127
146
  session,
@@ -129,7 +148,7 @@ function OnlineContext(options) {
129
148
  subject,
130
149
  fabric,
131
150
  transaction,
132
- interactionComplete: exchange?.closed,
151
+ interactionComplete,
133
152
  ...methods,
134
153
  // TODO - Matter 1.4 - add support for ARLs
135
154
  authorityAt(desiredAccessLevel, location) {
@@ -143,11 +162,7 @@ function OnlineContext(options) {
143
162
  if (options.node === void 0) {
144
163
  throw new import_general.InternalError("OnlineContext initialized without node");
145
164
  }
146
- const accessControl = options.node.act((agent) => agent.get(import_access_control.AccessControlServer));
147
- if (import_general.MaybePromise.is(accessControl)) {
148
- throw new import_general.InternalError("AccessControlServer should already be initialized.");
149
- }
150
- const accessLevels = accessControl.accessLevelsFor(context, location, aclEndpointContextFor(location));
165
+ const accessLevels = aclManager.accessLevelsFor(context, location, aclEndpointContextFor(location));
151
166
  if (accessLevelCache === void 0) {
152
167
  accessLevelCache = /* @__PURE__ */ new Map();
153
168
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/behavior/context/server/OnlineContext.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -9,7 +9,7 @@ import { AccessControl } from "#protocol";
9
9
  import { RootSupervisor } from "../../supervision/RootSupervisor.js";
10
10
  import { ValueSupervisor } from "../../supervision/ValueSupervisor.js";
11
11
  import { StateType } from "../StateType.js";
12
- declare const stateChanged: unique symbol;
12
+ declare const changed: unique symbol;
13
13
  /**
14
14
  * Datasource manages the canonical root of a state tree. The "state" property of a Behavior is a reference to a
15
15
  * Datasource.
@@ -41,7 +41,7 @@ export interface Datasource<T extends StateType = StateType> extends Transaction
41
41
  /**
42
42
  * Event that gets emitted when the state changes.
43
43
  */
44
- stateChanged: Observable<[changes: string[], version: number], MaybePromise>;
44
+ changed: Observable<[changes: string[], version: number], MaybePromise>;
45
45
  /**
46
46
  * Events registered for this Datasource
47
47
  */
@@ -56,13 +56,14 @@ export declare namespace Datasource {
56
56
  * Datasource events.
57
57
  */
58
58
  type Events = {
59
- interactionBegin?: Observable<[]>;
60
- interactionEnd?: Observable<[], MaybePromise>;
59
+ interactionBegin?: Observable<[context?: ValueSupervisor.Session], MaybePromise>;
60
+ interactionEnd?: Observable<[context?: ValueSupervisor.Session], MaybePromise>;
61
+ stateChanged?: Observable<[context?: ValueSupervisor.Session], MaybePromise>;
61
62
  } & {
62
63
  [K in `${string}$Changing` | `${string}$Changed`]: Observable<Parameters<ValueObserver>, MaybePromise>;
63
64
  };
64
65
  type InternalEvents = Events & {
65
- [stateChanged]: Observable<[changes: string[], version: number], MaybePromise>;
66
+ [changed]: Observable<[changes: string[], version: number], MaybePromise>;
66
67
  };
67
68
  /**
68
69
  * Datasource configuration options.
@@ -1 +1 @@
1
- {"version":3,"file":"Datasource.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/state/managed/Datasource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Datasource.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/state/managed/Datasource.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@ var import_protocol = require("#protocol");
31
31
  */
32
32
  const logger = import_general.Logger.get("Datasource");
33
33
  const FEATURES_KEY = "__features__";
34
- const stateChanged = Symbol("stateChanged");
34
+ const changed = Symbol("changed");
35
35
  const viewTx = import_general.Transaction.open("offline-view", "ro");
36
36
  function Datasource(options) {
37
37
  const internals = configure(options);
@@ -53,8 +53,8 @@ function Datasource(options) {
53
53
  get location() {
54
54
  return internals.location;
55
55
  },
56
- get stateChanged() {
57
- return internals.events[stateChanged];
56
+ get changed() {
57
+ return internals.events[changed];
58
58
  },
59
59
  get events() {
60
60
  return internals.events;
@@ -107,24 +107,26 @@ function configure(options) {
107
107
  }
108
108
  Object.freeze(options.location);
109
109
  const events = options.events ?? {};
110
- events[stateChanged] = new import_general.Observable();
110
+ events[changed] = new import_general.Observable();
111
111
  return {
112
112
  ...options,
113
113
  events,
114
114
  version: import_general.Crypto.getRandomUInt32(),
115
115
  values,
116
116
  featuresKey,
117
- interactionObserver() {
117
+ interactionObserver(session) {
118
118
  function handleObserverError(error) {
119
119
  logger.error(`Error in ${options.location.path} observer:`, error);
120
120
  }
121
- try {
122
- const result = options.events?.interactionEnd?.emit();
123
- if (import_general.MaybePromise.is(result)) {
124
- return import_general.MaybePromise.then(result, void 0, handleObserverError);
121
+ if (options.events?.interactionEnd?.isObserved) {
122
+ try {
123
+ const result = options.events?.interactionEnd?.emit(session);
124
+ if (import_general.MaybePromise.is(result)) {
125
+ return import_general.MaybePromise.then(result, void 0, handleObserverError);
126
+ }
127
+ } catch (e) {
128
+ handleObserverError(e);
125
129
  }
126
- } catch (e) {
127
- handleObserverError(e);
128
130
  }
129
131
  }
130
132
  };
@@ -238,8 +240,11 @@ function createReference(resource, internals, session) {
238
240
  transaction.addResourcesSync(resource);
239
241
  transaction.addParticipants(participant);
240
242
  transaction.beginSync();
241
- if (session.interactionComplete && !session.interactionComplete.isObservedBy(internals.interactionObserver)) {
242
- internals.events?.interactionBegin?.emit();
243
+ if (!session.interactionStarted && session.interactionComplete && !session.interactionComplete.isObservedBy(internals.interactionObserver)) {
244
+ session.interactionStarted = true;
245
+ if (internals.events?.interactionBegin?.isObserved) {
246
+ internals.events?.interactionBegin?.emit(session);
247
+ }
243
248
  session.interactionComplete.on(internals.interactionObserver);
244
249
  }
245
250
  }
@@ -334,6 +339,12 @@ function createReference(resource, internals, session) {
334
339
  }
335
340
  if (changes) {
336
341
  incrementVersion();
342
+ if (internals.events.stateChanged?.isObserved) {
343
+ changes.notifications.push({
344
+ event: internals.events.stateChanged,
345
+ params: [session]
346
+ });
347
+ }
337
348
  }
338
349
  }
339
350
  function commit1() {
@@ -377,7 +388,7 @@ function createReference(resource, internals, session) {
377
388
  }
378
389
  }
379
390
  }
380
- const changeSetResult = internals.events[stateChanged]?.emit(
391
+ const changeSetResult = internals.events[changed]?.emit(
381
392
  Array.from(changes.changeList.values()),
382
393
  internals.version
383
394
  );
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/behavior/state/managed/Datasource.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["context"]
6
6
  }