@matter/node 0.14.1-alpha.0-20250606-a9bcd03f9 → 0.15.0-alpha.0-20250612-ddd428561

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 (66) 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/context/server/OnlineContext.d.ts +2 -1
  8. package/dist/cjs/behavior/context/server/OnlineContext.d.ts.map +1 -1
  9. package/dist/cjs/behavior/context/server/OnlineContext.js +22 -7
  10. package/dist/cjs/behavior/context/server/OnlineContext.js.map +1 -1
  11. package/dist/cjs/behavior/state/managed/Datasource.d.ts +6 -5
  12. package/dist/cjs/behavior/state/managed/Datasource.d.ts.map +1 -1
  13. package/dist/cjs/behavior/state/managed/Datasource.js +25 -14
  14. package/dist/cjs/behavior/state/managed/Datasource.js.map +1 -1
  15. package/dist/cjs/behavior/supervision/ValueSupervisor.d.ts +7 -3
  16. package/dist/cjs/behavior/supervision/ValueSupervisor.d.ts.map +1 -1
  17. package/dist/cjs/behaviors/access-control/AccessControlServer.d.ts +20 -36
  18. package/dist/cjs/behaviors/access-control/AccessControlServer.d.ts.map +1 -1
  19. package/dist/cjs/behaviors/access-control/AccessControlServer.js +153 -87
  20. package/dist/cjs/behaviors/access-control/AccessControlServer.js.map +1 -1
  21. package/dist/cjs/behaviors/operational-credentials/OperationalCredentialsServer.d.ts.map +1 -1
  22. package/dist/cjs/behaviors/operational-credentials/OperationalCredentialsServer.js +8 -19
  23. package/dist/cjs/behaviors/operational-credentials/OperationalCredentialsServer.js.map +2 -2
  24. package/dist/cjs/node/server/InteractionServer.d.ts.map +1 -1
  25. package/dist/cjs/node/server/InteractionServer.js +10 -44
  26. package/dist/cjs/node/server/InteractionServer.js.map +2 -2
  27. package/dist/cjs/node/server/ProtocolService.js +1 -1
  28. package/dist/cjs/node/server/ProtocolService.js.map +1 -1
  29. package/dist/esm/behavior/Events.d.ts +8 -3
  30. package/dist/esm/behavior/Events.d.ts.map +1 -1
  31. package/dist/esm/behavior/Events.js +5 -2
  32. package/dist/esm/behavior/Events.js.map +1 -1
  33. package/dist/esm/behavior/cluster/ClusterBehaviorUtil.js +4 -4
  34. package/dist/esm/behavior/cluster/ClusterBehaviorUtil.js.map +1 -1
  35. package/dist/esm/behavior/context/server/OnlineContext.d.ts +2 -1
  36. package/dist/esm/behavior/context/server/OnlineContext.d.ts.map +1 -1
  37. package/dist/esm/behavior/context/server/OnlineContext.js +29 -9
  38. package/dist/esm/behavior/context/server/OnlineContext.js.map +1 -1
  39. package/dist/esm/behavior/state/managed/Datasource.d.ts +6 -5
  40. package/dist/esm/behavior/state/managed/Datasource.d.ts.map +1 -1
  41. package/dist/esm/behavior/state/managed/Datasource.js +25 -14
  42. package/dist/esm/behavior/state/managed/Datasource.js.map +1 -1
  43. package/dist/esm/behavior/supervision/ValueSupervisor.d.ts +7 -3
  44. package/dist/esm/behavior/supervision/ValueSupervisor.d.ts.map +1 -1
  45. package/dist/esm/behaviors/access-control/AccessControlServer.d.ts +20 -36
  46. package/dist/esm/behaviors/access-control/AccessControlServer.d.ts.map +1 -1
  47. package/dist/esm/behaviors/access-control/AccessControlServer.js +153 -88
  48. package/dist/esm/behaviors/access-control/AccessControlServer.js.map +1 -1
  49. package/dist/esm/behaviors/operational-credentials/OperationalCredentialsServer.d.ts.map +1 -1
  50. package/dist/esm/behaviors/operational-credentials/OperationalCredentialsServer.js +8 -19
  51. package/dist/esm/behaviors/operational-credentials/OperationalCredentialsServer.js.map +1 -1
  52. package/dist/esm/node/server/InteractionServer.d.ts.map +1 -1
  53. package/dist/esm/node/server/InteractionServer.js +10 -44
  54. package/dist/esm/node/server/InteractionServer.js.map +1 -1
  55. package/dist/esm/node/server/ProtocolService.js +1 -1
  56. package/dist/esm/node/server/ProtocolService.js.map +1 -1
  57. package/package.json +7 -7
  58. package/src/behavior/Events.ts +8 -3
  59. package/src/behavior/cluster/ClusterBehaviorUtil.ts +4 -4
  60. package/src/behavior/context/server/OnlineContext.ts +39 -9
  61. package/src/behavior/state/managed/Datasource.ts +37 -20
  62. package/src/behavior/supervision/ValueSupervisor.ts +8 -3
  63. package/src/behaviors/access-control/AccessControlServer.ts +210 -102
  64. package/src/behaviors/operational-credentials/OperationalCredentialsServer.ts +10 -18
  65. package/src/node/server/InteractionServer.ts +10 -63
  66. package/src/node/server/ProtocolService.ts +1 -1
@@ -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
  }
@@ -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": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAUO;AACP,mBAA4B;AAE5B,sBAAqD;AAnBrD;AAAA;AAAA;AAAA;AAAA;AAwBA,MAAM,SAAS,sBAAO,IAAI,YAAY;AAEtC,MAAM,eAAe;AAErB,MAAM,UAAU,OAAO,SAAS;AAEhC,MAAM,SAAS,2BAAY,KAAK,gBAAgB,IAAI;AAiD7C,SAAS,WAAkD,SAA+C;AAC7G,QAAM,YAAY,UAAU,OAAO;AAEnC,MAAI;AAEJ,SAAO;AAAA,IACH,WAAW;AACP,aAAO,UAAU,SAAS,KAAK,SAAS;AAAA,IAC5C;AAAA,IAEA,UAAU,SAAkC;AACxC,UAAI,MAAM,UAAU,UAAU,IAAI,OAAO;AACzC,UAAI,CAAC,KAAK;AACN,cAAM,gBAAgB,MAAM,WAAW,OAAO;AAAA,MAClD;AACA,aAAO,IAAI;AAAA,IACf;AAAA,IAEA,IAAI,UAAU;AACV,aAAO,UAAU;AAAA,IACrB;AAAA,IAEA,IAAI,WAAW;AACX,aAAO,UAAU;AAAA,IACrB;AAAA,IAEA,IAAI,UAAU;AACV,aAAO,UAAU,OAAO,OAAO;AAAA,IACnC;AAAA,IAEA,IAAI,SAAS;AACT,aAAO,UAAU;AAAA,IACrB;AAAA,IAEA,SAAS,SAAkC,QAAqB;AAC5D,YAAM,WAAW,UAAU,WAAW;AACtC,UAAI,CAAC,UAAU;AACX;AAAA,MACJ;AACA,eAAS,UAAU,UAAU,QAAQ,SAAS,EAAE,MAAM,UAAU,SAAS,KAAK,CAAC;AAAA,IACnF;AAAA,IAEA,IAAI,OAAO;AACP,UAAI,CAAC,cAAc;AACf,cAAM,UAAmC;AAAA,UACrC,SAAS;AAAA,UACT,YAAY,oBAAiC;AACzC,mBAAO,uBAAuB,yBAAY,OACpC,8BAAc,UAAU,UACxB,8BAAc,UAAU;AAAA,UAClC;AAAA,UACA,aAAa;AAAA,QACjB;AACA,uBAAe,gBAAgB,MAAM,WAAW,OAAO,EAAE;AAAA,MAC7D;AACA,aAAO;AAAA,IACX;AAAA,EACJ;AACJ;AAqHA,SAAS,UAAU,SAAwC;AACvD,QAAM,SAAS,IAAI,QAAQ,KAAK;AAEhC,MAAI,eAAe,QAAQ,OAAO;AAElC,MAAI;AACJ,MAAI,QAAQ,WAAW,WAAW,SAAS,QAAQ;AAC/C,kBAAc,CAAC,GAAG,QAAQ,WAAW,iBAAiB,EAAE,KAAK,GAAG;AAChE,UAAM,oBAAoB,eAAe,YAAY;AACrD,QAAI,sBAAsB,UAAa,sBAAsB,aAAa;AACtE,aAAO;AAAA,QACH,iCAAiC,QAAQ,SAAS,IAAI,mCAAmC,iBAAiB,SAAS,WAAW;AAAA,MAClI;AACA,qBAAe;AAAA,IACnB;AAAA,EACJ;AAEA,QAAM,gBAAgB;AAAA,IAClB,GAAG,QAAQ;AAAA,IACX,GAAG;AAAA,EACP;AAEA,MAAI,gBAAgB,eAAe;AAC/B,WAAO,cAAc,YAAY;AAAA,EACrC;AAEA,aAAW,OAAO,eAAe;AAC7B,WAAO,GAAG,IAAI,cAAc,GAAG;AAAA,EACnC;AAGA,SAAO,OAAO,QAAQ,QAAQ;AAE9B,QAAM,SAAU,QAAQ,UAAU,CAAC;AACnC,SAAO,OAAO,IAAI,IAAI,0BAAW;AAEjC,SAAO;AAAA,IACH,GAAG;AAAA,IACH;AAAA,IACA,SAAS,sBAAO,gBAAgB;AAAA,IAChC;AAAA,IACA;AAAA,IAEA,oBAAoB,SAAmC;AACnD,eAAS,oBAAoB,OAAY;AACrC,eAAO,MAAM,YAAY,QAAQ,SAAS,IAAI,cAAc,KAAK;AAAA,MACrE;AAEA,UAAI,QAAQ,QAAQ,gBAAgB,YAAY;AAC5C,YAAI;AACA,gBAAM,SAAS,QAAQ,QAAQ,gBAAgB,KAAK,OAAO;AAC3D,cAAI,4BAAa,GAAG,MAAM,GAAG;AACzB,mBAAO,4BAAa,KAAK,QAAQ,QAAW,mBAAmB;AAAA,UACnE;AAAA,QACJ,SAAS,GAAG;AACR,8BAAoB,CAAC;AAAA,QACzB;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AACJ;AAOA,SAAS,gBAAgB,UAAgC,WAAsB,SAAkC;AAC7G,MAAI,SAAS,UAAU;AACvB,MAAI;AACJ,MAAI;AACJ,MAAI,UAAU;AAEd,QAAM,cAAc;AAAA,IAChB,WAAW;AACP,aAAO,UAAU,SAAS,KAAK,SAAS;AAAA,IAC5C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAEA,QAAM,cAAc,QAAQ;AAG5B,OAAK,YAAY,SAAS,MAAM;AAC5B,QAAI,WAAW,UAAU,QAAQ;AAC7B,UAAI;AACA,iBAAS;AAAA,MACb,SAAS,GAAG;AACR,eAAO;AAAA,UACH,gCAAgC,UAAU,SAAS,IAAI,+BAA+B,YAAY,GAAG;AAAA,UACrG;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ,CAAC;AAED,QAAM,SAAS,UAAU,WAAW;AACpC,QAAM,mBAAmB,UAAU,WAAW;AAG9C,QAAM,YAAuC;AAAA,IACzC,IAAI,WAAW;AACX,aAAO,UAAU;AAAA,IACrB;AAAA,IAEA,IAAI,QAAQ;AACR,UAAI,SAAS;AACT,cAAM,IAAI,sCAAsB,KAAK,QAAQ;AAAA,MACjD;AAEA,aAAO;AAAA,IACX;AAAA,IAEA,IAAI,MAAM,QAAQ;AACd,YAAM,IAAI,6BAAc,iCAAiC,UAAU,WAAW,OAAO,IAAI,EAAE;AAAA,IAC/F;AAAA,IAEA,IAAI,UAAU;AACV,aAAO;AAAA,IACX;AAAA,IAEA,IAAI,WAAW;AACX,aAAO,UAAU;AAAA,IACrB;AAAA,IAEA,IAAI,SAAS,MAA8B;AACvC,YAAM,IAAI,mCAAoB,sCAAsC;AAAA,IACxE;AAAA,IAEA,IAAI,YAAY;AACZ,aAAO,UAAU;AAAA,IACrB;AAAA,IAEA,OAAO,SAAS;AACZ,UAAI,SAAS;AACT,cAAM,IAAI,sCAAsB,KAAK,QAAQ;AAAA,MACjD;AAGA,iBAAW;AAGX,kBAAY,UAAU;AAGtB,UAAI,WAAW,UAAU,QAAQ;AAC7B,cAAM,MAAM;AACZ,iBAAS,IAAI,UAAU,KAAK;AAC5B,mBAAW,SAAS,QAAQ;AACxB,iBAAO,KAAK,IAAI,IAAI,KAAK;AAAA,QAC7B;AAGA,uBAAe;AAAA,MACnB;AAGA,cAAQ;AAGR,qBAAe;AAAA,IACnB;AAAA,IAEA,UAAU;AACN,YAAM,IAAI,6BAAc,qCAAqC,UAAU,WAAW,OAAO,IAAI,EAAE;AAAA,IACnG;AAAA,EACJ;AAEA,YAAU,WAAW,MAAM,OAAO,QAAQ;AAG1C,QAAM,UAA0B;AAAA,IAC5B,SAAS,UAAU,WAAW,OAAO,WAAW,OAAO;AAAA,IAEvD,SAAS,WAAuB;AAC5B,UAAI,WAAW,WAAW;AACtB,iBAAS,UAAU;AACnB,uBAAe;AAAA,MACnB;AAAA,IACJ;AAAA,EACJ;AAEA,MAAI,QAAQ,YAAY,cAAc,YAAY;AAC9C,QAAI,CAAC,UAAU,UAAU;AACrB,gBAAU,WAAW,oBAAI,IAAI;AAAA,IACjC;AACA,cAAU,SAAS,IAAI,SAAS,OAAO;AAAA,EAC3C;AAGA,OAAK,YAAY,QAAQ,MAAM;AAC3B,QAAI;AACA,gBAAU,UAAU,OAAO,OAAO;AAClC,gBAAU;AACV,qBAAe;AAAA,IACnB,SAAS,GAAG;AACR,aAAO;AAAA,QACH,gCAAgC,UAAU,SAAS,IAAI,4BAA4B,YAAY,GAAG;AAAA,QAClG;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ,CAAC;AAED,SAAO;AAEP,WAAS,aAAa;AAElB,gBAAY,iBAAiB,QAAQ;AAGrC,gBAAY,gBAAgB,WAAW;AAGvC,gBAAY,UAAU;AAEtB,QACI,CAAC,QAAQ,sBACT,QAAQ,uBACR,CAAC,QAAQ,oBAAoB,aAAa,UAAU,mBAAmB,GACzE;AACE,cAAQ,qBAAqB;AAC7B,UAAI,UAAU,QAAQ,kBAAkB,YAAY;AAChD,kBAAU,QAAQ,kBAAkB,KAAK,OAAO;AAAA,MACpD;AACA,cAAQ,oBAAoB,GAAG,UAAU,mBAAmB;AAAA,IAChE;AAAA,EACJ;AAGA,WAAS,iBAAiB;AACtB,UAAM,UAAU,UAAU;AAC1B,QAAI,SAAS;AACT,iBAAW,OAAO,SAAS;AACvB,gBAAQ,GAAG,EAAE,QAAQ;AAAA,MACzB;AAAA,IACJ;AAAA,EACJ;AAGA,WAAS,mBAAmB;AAExB,cAAU;AACV,QAAI,UAAU,UAAU,YAAa;AACjC,gBAAU,UAAU;AAAA,IACxB;AAAA,EACJ;AAIA,WAAS,uBAAuB,MAAoE;AAChG,QAAI;AACJ,QAAI,mBAAmB,QAAQ,iBAAiB;AAC5C,iBAAW,gBAAgB,IAAI;AAAA,IACnC,OAAO;AACH,iBAAW,UAAU,OAAO,IAAI;AAAA,IACpC;AAEA,UAAM,WAAW,OAAO,IAAI;AAC5B,YAAI,4BAAY,UAAU,QAAQ,GAAG;AACjC;AAAA,IACJ;AAEA,QAAI,CAAC,iBAAiB;AAClB,wBAAkB,CAAC;AAAA,IACvB;AACA,oBAAgB,IAAI,QAAI,yBAAS,QAAQ;AAIzC,WAAO,EAAE,UAAU,QAAQ,QAAQ,IAAI,GAAG,SAAS;AAAA,EACvD;AAQA,WAAS,YAAY;AAEjB,UAAM,EAAE,OAAO,IAAI;AACnB,QAAI,CAAC,QAAQ;AACT,aAAO;AAAA,IACX;AAGA,QAAI,iBAAiB;AAGrB,UAAM,cAAc,OAAO,KAAK,MAAM,EAAE,OAAO,QAAQ,EAAE;AAGzD,aAAS,UAAiC;AACtC,aAAO,MAAM;AACT,cAAM,IAAI,YAAY,KAAK;AAC3B,YAAI,EAAE,MAAM;AACR,iBAAO;AAAA,QACX;AAEA,cAAM,OAAO,EAAE;AAIf,cAAM,QAAQ,SAAS,GAAG,IAAI,WAAW;AACzC,YAAI,CAAC,OAAO,YAAY;AACpB;AAAA,QACJ;AAEA,cAAM,SAAS,uBAAuB,IAAI;AAC1C,YAAI,QAAQ;AAER,2BAAiB;AAGjB,gBAAM,SAAS,MAAM,KAAK,OAAO,UAAU,OAAO,UAAU,OAAO;AAInE,cAAI,4BAAa,GAAG,MAAM,GAAG;AACzB,mBAAO,OAAO,KAAK,OAAO;AAAA,UAC9B;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAEA,WAAO,QAAQ;AAAA,EACnB;AAIA,WAAS,2BAA2B;AAChC,cAAU;AAEV,QAAI,UAAU,WAAW,QAAQ;AAC7B,aAAO;AAAA,IACX;AAEA,eAAW,QAAQ,QAAQ;AACvB,YAAM,SAAS,OAAO,IAAI;AAC1B,YAAM,SAAS,UAAU,OAAO,IAAI;AACpC,UAAI,WAAW,UAAU,KAAC,4BAAY,QAAQ,MAAM,GAAG;AACnD,YAAI,CAAC,SAAS;AACV,oBAAU,EAAE,eAAe,CAAC,GAAG,YAAY,oBAAI,IAAI,EAAE;AAAA,QACzD;AACA,gBAAQ,WAAW,IAAI,IAAI;AAE3B,YAAI,iBAAiB,IAAI,IAAI,GAAG;AAC5B,cAAI,QAAQ,eAAe,QAAW;AAClC,oBAAQ,aAAa,CAAC;AAAA,UAC1B;AACA,kBAAQ,WAAW,IAAI,IAAI,OAAO,IAAI;AAAA,QAC1C;AAEA,cAAM,QAAQ,UAAU,SAAS,GAAG,IAAI,UAAU;AAClD,YAAI,OAAO,YAAY;AACnB,kBAAQ,cAAc,KAAK;AAAA,YACvB;AAAA,YACA,QAAQ,CAAC,OAAO,IAAI,GAAG,UAAU,OAAO,IAAI,GAAG,OAAO;AAAA,UAC1D,CAAC;AAAA,QACL;AAAA,MACJ;AAAA,IACJ;AAGA,QAAI,SAAS;AAET,uBAAiB;AAEjB,UAAI,UAAU,OAAO,cAAc,YAAY;AAC3C,gBAAQ,cAAc,KAAK;AAAA,UACvB,OAAO,UAAU,OAAO;AAAA,UACxB,QAAQ,CAAC,OAAO;AAAA,QACpB,CAAC;AAAA,MACL;AAAA,IACJ;AAAA,EACJ;AAKA,WAAS,UAAU;AACf,6BAAyB;AAGzB,UAAM,aAAa,SAAS;AAC5B,QAAI,CAAC,YAAY;AACb;AAAA,IACJ;AAEA,QAAI,UAAU,gBAAgB,QAAW;AACrC,iBAAW,YAAY,IAAI,UAAU;AAAA,IACzC;AAEA,WAAO,UAAU,OAAO,IAAI,QAAQ,aAAa,UAAU;AAAA,EAC/D;AAKA,WAAS,UAAU;AACf,QAAI,CAAC,SAAS;AACV;AAAA,IACJ;AAEA,UAAM,YAAY,UAAU;AAC5B,cAAU,SAAS;AACnB,QAAI,UAAU,UAAU;AACpB,iBAAWA,YAAW,UAAU,SAAS,OAAO,GAAG;AAC/C,QAAAA,SAAQ,SAAS,SAAS;AAAA,MAC9B;AAAA,IACJ;AAAA,EACJ;AAKA,WAAS,aAAa;AAClB,QAAI,CAAC,SAAS;AACV;AAAA,IACJ;AAGA,UAAM,WAAW,QAAQ,cAAc,OAAO,QAAQ,EAAE;AAExD,aAAS,cAAkC;AACvC,aAAO,MAAM;AACT,cAAM,IAAI,SAAS,KAAK;AACxB,YAAI,EAAE,MAAM;AACR;AAAA,QACJ;AAEA,cAAM,EAAE,OAAO,OAAO,IAAI,EAAE;AAC5B,cAAM,SAAS,MAAM,KAAK,GAAG,MAAM;AACnC,YAAI,4BAAa,GAAG,MAAM,GAAG;AACzB,iBAAO,QAAQ,QAAQ,MAAM,EAAE,KAAK,WAAW;AAAA,QACnD;AAAA,MACJ;AAAA,IACJ;AAEA,UAAM,kBAAkB,UAAU,OAAO,OAAO,GAAG;AAAA,MAC/C,MAAM,KAAK,QAAQ,WAAW,OAAO,CAAC;AAAA,MACtC,UAAU;AAAA,IACd;AAEA,QAAI,4BAAa,GAAG,eAAe,GAAG;AAClC,aAAO,gBAAgB,KAAK,WAAW;AAAA,IAC3C;AAEA,WAAO,YAAY;AAAA,EACvB;AAKA,WAAS,WAAW;AAChB,KAAC,EAAE,OAAO,IAAI;AACd,mBAAe;AAAA,EACnB;AACJ;",
5
5
  "names": ["context"]
6
6
  }
@@ -3,8 +3,8 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import type { Transaction } from "#general";
7
- import { AsyncObservable } from "#general";
6
+ import { ActionContext } from "#behavior/context/ActionContext.js";
7
+ import type { AsyncObservable, Transaction } from "#general";
8
8
  import { DataModelPath, Schema } from "#model";
9
9
  import type { AccessControl, Val } from "#protocol";
10
10
  import type { ValidationLocation } from "../state/validation/location.js";
@@ -73,7 +73,11 @@ export declare namespace ValueSupervisor {
73
73
  /**
74
74
  * If present the session is associated with an online interaction. Emits when the interaction ends.
75
75
  */
76
- interactionComplete?: AsyncObservable<[]>;
76
+ interactionComplete?: AsyncObservable<[session?: ActionContext]>;
77
+ /**
78
+ * Set to true when the interaction has started and the interactionBegin event was emitted for this session
79
+ */
80
+ interactionStarted?: boolean;
77
81
  /**
78
82
  * If true, structs initialize without named properties which are more expensive to install. This is useful
79
83
  * when implementing the Matter protocol where ID is the only value necessary.
@@ -1 +1 @@
1
- {"version":3,"file":"ValueSupervisor.d.ts","sourceRoot":"","sources":["../../../../src/behavior/supervision/ValueSupervisor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,eAAe;IAC5B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,QAAQ,GAAG,SAAS,CAAC;IAExD;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;IAExC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC;IAEtC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC;CACvC;AAED,yBAAiB,eAAe,CAAC;IAC7B;;OAEG;IACH,UAAiB,OAAQ,SAAQ,aAAa,CAAC,OAAO;QAClD;;WAEG;QACH,WAAW,EAAE,WAAW,CAAC;QAEzB;;;WAGG;QACH,aAAa,CAAC,EAAE,OAAO,CAAC;QAExB;;WAEG;QACH,mBAAmB,CAAC,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC;QAE1C;;;WAGG;QACH,QAAQ,CAAC,EAAE,OAAO,CAAC;KACtB;IAED,KAAY,QAAQ,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAE5F,KAAY,MAAM,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,KAAK,GAAG,CAAC;IAEzE,KAAY,KAAK,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,aAAa,KAAK,GAAG,CAAC;IAElG,KAAY,IAAI,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;CAC1C"}
1
+ {"version":3,"file":"ValueSupervisor.d.ts","sourceRoot":"","sources":["../../../../src/behavior/supervision/ValueSupervisor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,eAAe;IAC5B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,QAAQ,GAAG,SAAS,CAAC;IAExD;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;IAExC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC;IAEtC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC;CACvC;AAED,yBAAiB,eAAe,CAAC;IAC7B;;OAEG;IACH,UAAiB,OAAQ,SAAQ,aAAa,CAAC,OAAO;QAClD;;WAEG;QACH,WAAW,EAAE,WAAW,CAAC;QAEzB;;;WAGG;QACH,aAAa,CAAC,EAAE,OAAO,CAAC;QAExB;;WAEG;QACH,mBAAmB,CAAC,EAAE,eAAe,CAAC,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;QAEjE;;WAEG;QACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAE7B;;;WAGG;QACH,QAAQ,CAAC,EAAE,OAAO,CAAC;KACtB;IAED,KAAY,QAAQ,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAE5F,KAAY,MAAM,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,KAAK,GAAG,CAAC;IAEzE,KAAY,KAAK,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,aAAa,KAAK,GAAG,CAAC;IAElG,KAAY,IAAI,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;CAC1C"}
@@ -3,12 +3,10 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { ActionContext } from "#behavior/context/ActionContext.js";
7
6
  import { AccessControl as AccessControlTypes } from "#clusters/access-control";
8
7
  import { MaybePromise } from "#general";
9
- import { AccessLevel } from "#model";
10
- import { AccessControl, AccessControlManager, AclEndpointContext, IncomingSubjectDescriptor } from "#protocol";
11
- import { ClusterId } from "#types";
8
+ import { AclEndpointContext, AclEntry, AclList, Fabric, IncomingSubjectDescriptor, MessageExchange } from "#protocol";
9
+ import { ClusterId, FabricIndex, SubjectId } from "#types";
12
10
  declare const AccessControlServer_base: import("../../index.js").ClusterBehavior.Type<import("#types").ClusterComposer.WithFeatures<AccessControlTypes.Cluster, readonly ["Extension"]>, import("../../index.js").ClusterBehavior.Type<AccessControlTypes.Cluster, import("../../index.js").ClusterBehavior.Type<import("#types").ClusterType.Of<{
13
11
  readonly id: 0;
14
12
  readonly revision: 0;
@@ -19,17 +17,15 @@ declare const AccessControlServer_base: import("../../index.js").ClusterBehavior
19
17
  }>, typeof import("../../index.js").ClusterBehavior, import("./AccessControlInterface.js").AccessControlInterface>, import("./AccessControlInterface.js").AccessControlInterface>, import("./AccessControlInterface.js").AccessControlInterface>;
20
18
  /**
21
19
  * This is the default server implementation of AccessControlBehavior.
20
+ *
21
+ * When custom extensions are used, the `extensionEntryValidator` and `extensionEntryAccessCheck` methods can be
22
+ * overridden to implement custom validation and access checks for the extension entries.
22
23
  */
23
24
  export declare class AccessControlServer extends AccessControlServer_base {
24
25
  #private;
25
26
  internal: AccessControlServer.Internal;
26
27
  initialize(): MaybePromise;
27
- /**
28
- * Implements the access control check for the given context, location and endpoint and is called by the
29
- * InteractionServer. The method returns the list of granted Access privileges for the given context, location and
30
- * endpoint.
31
- */
32
- accessLevelsFor(context: ActionContext, location: AccessControl.Location, endpoint?: AclEndpointContext): AccessLevel[];
28
+ addDefaultCaseAcl(fabric: Fabric, subjects: SubjectId[]): void;
33
29
  /**
34
30
  * This method allows to implement the validation of manufacturer specific ACL extensions when an extension entry is
35
31
  * added or changed. The default implementation checks whether the extension is a valid TLV and possible to decode.
@@ -45,36 +41,24 @@ export declare class AccessControlServer extends AccessControlServer_base {
45
41
  * The default implementation always returns true. Override this method in your own behavior to implement custom
46
42
  * validation.
47
43
  */
48
- protected extensionEntryAccessCheck(_aclList: AccessControlTypes.AccessControlEntry[], _aclEntry: AccessControlTypes.AccessControlEntry, _subjectDesc: IncomingSubjectDescriptor, _endpoint: AclEndpointContext, _clusterId: ClusterId): boolean;
49
- /**
50
- * The AccessControlManager instance that is used to manage the ACL for this behavior.
51
- */
52
- get aclManager(): AccessControlManager;
53
- resetDelayedAccessControlList(): void;
54
- /**
55
- * If set to true, the ACL will not be updated immediately when it changes, but only when the `aclUpdateDelayed`
56
- * property is set to false again.
57
- * This is a hack to prevent the ACL from updating while we are in the middle of a write transaction and will be
58
- * removed again once we somehow handle relevant sub transactions.
59
- */
60
- get aclUpdateDelayed(): boolean;
61
- /**
62
- * If set to true, the ACL will not be updated immediately when it changes, but only when the `aclUpdateDelayed`
63
- * property is set to false again.
64
- * This is a hack to prevent the ACL from updating while we are in the middle of a write transaction and will be
65
- * removed again once we somehow handle relevant sub transactions.
66
- */
67
- set aclUpdateDelayed(value: boolean);
44
+ protected extensionEntryAccessCheck(_aclList: AclList, _aclEntry: AclEntry, _subjectDesc: IncomingSubjectDescriptor, _endpoint: AclEndpointContext, _clusterId: ClusterId): boolean;
68
45
  }
69
46
  export declare namespace AccessControlServer {
70
47
  class Internal {
71
- /** AccessControlManager instance that is used to manage the ACL checks for this device. */
72
- aclManager?: AccessControlManager;
73
- /** If set to true ACL updates are delayed while in a write transaction. More details see getter/setter above. */
74
- aclUpdateDelayed: boolean;
75
- /** Latest delayed data of acl */
76
- delayedAclData?: AccessControlTypes.AccessControlEntry[];
48
+ /** Is the cluster logic initialized? Used to block events before full initialization. */
49
+ initialized: boolean;
50
+ /**
51
+ * When an online and potentially chunked ACL writing happens, we will delay the update and store the exchange
52
+ * used for the writing. With this we also verify that concurrent writes are blocked and will not mix the data.
53
+ */
54
+ aclUpdateDelayed: Map<FabricIndex, MessageExchange | undefined>;
55
+ /** Latest delayed data of acl attribute */
56
+ delayedAclData: Map<FabricIndex, AccessControlTypes.AccessControlEntry[]>;
77
57
  }
58
+ const ExtensionInterface: {
59
+ extensionEntryValidator: (extension: AccessControlTypes.AccessControlExtension) => void;
60
+ extensionEntryAccessCheck: (aclList: AclList, aclEntry: AclEntry, subjectDesc: IncomingSubjectDescriptor, endpoint: AclEndpointContext, clusterId: ClusterId) => boolean;
61
+ };
78
62
  }
79
63
  export {};
80
64
  //# sourceMappingURL=AccessControlServer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AccessControlServer.d.ts","sourceRoot":"","sources":["../../../../src/behaviors/access-control/AccessControlServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAmC,YAAY,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EACH,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAElB,yBAAyB,EAG5B,MAAM,WAAW,CAAC;AACnB,OAAO,EAEH,SAAS,EASZ,MAAM,QAAQ,CAAC;;;;;;;;;AAKhB;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,wBAAuC;;IACpE,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,CAAC;IAEtC,UAAU,IAAI,YAAY;IA6SnC;;;;OAIG;IACH,eAAe,CACX,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAChC,QAAQ,CAAC,EAAE,kBAAkB,GAC9B,WAAW,EAAE;IAoBhB;;;;;;;OAOG;IACH,SAAS,CAAC,uBAAuB,CAAC,SAAS,EAAE,kBAAkB,CAAC,sBAAsB;IActF;;;;;OAKG;IACH,SAAS,CAAC,yBAAyB,CAC/B,QAAQ,EAAE,kBAAkB,CAAC,kBAAkB,EAAE,EACjD,SAAS,EAAE,kBAAkB,CAAC,kBAAkB,EAChD,YAAY,EAAE,yBAAyB,EACvC,SAAS,EAAE,kBAAkB,EAC7B,UAAU,EAAE,SAAS;IAKzB;;OAEG;IACH,IAAI,UAAU,yBAKb;IAYD,6BAA6B;IAK7B;;;;;OAKG;IACH,IAAI,gBAAgB,IAUQ,OAAO,CARlC;IAED;;;;;OAKG;IACH,IAAI,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAQlC;CAWJ;AAED,yBAAiB,mBAAmB,CAAC;IACjC,MAAa,QAAQ;QACjB,2FAA2F;QAC3F,UAAU,CAAC,EAAE,oBAAoB,CAAC;QAElC,iHAAiH;QACjH,gBAAgB,UAAS;QAEzB,iCAAiC;QACjC,cAAc,CAAC,EAAE,kBAAkB,CAAC,kBAAkB,EAAE,CAAC;KAC5D;CACJ"}
1
+ {"version":3,"file":"AccessControlServer.d.ts","sourceRoot":"","sources":["../../../../src/behaviors/access-control/AccessControlServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAmC,YAAY,EAAE,MAAM,UAAU,CAAC;AAEzE,OAAO,EAEH,kBAAkB,EAClB,QAAQ,EACR,OAAO,EACP,MAAM,EAEN,yBAAyB,EACzB,eAAe,EAGlB,MAAM,WAAW,CAAC;AACnB,OAAO,EAEH,SAAS,EAGT,WAAW,EAKX,SAAS,EAGZ,MAAM,QAAQ,CAAC;;;;;;;;;AAKhB;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,wBAAuC;;IACpE,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,CAAC;IAEtC,UAAU,IAAI,YAAY;IA4DnC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE;IA4RvD;;;;;;;OAOG;IACH,SAAS,CAAC,uBAAuB,CAAC,SAAS,EAAE,kBAAkB,CAAC,sBAAsB;IActF;;;;;OAKG;IACH,SAAS,CAAC,yBAAyB,CAC/B,QAAQ,EAAE,OAAO,EACjB,SAAS,EAAE,QAAQ,EACnB,YAAY,EAAE,yBAAyB,EACvC,SAAS,EAAE,kBAAkB,EAC7B,UAAU,EAAE,SAAS;CA0I5B;AAED,yBAAiB,mBAAmB,CAAC;IACjC,MAAa,QAAQ;QACjB,yFAAyF;QACzF,WAAW,UAAS;QAEpB;;;WAGG;QACH,gBAAgB,gDAAuD;QAEvE,2CAA2C;QAC3C,cAAc,4DAAmE;KACpF;IAEc,MAAM,kBAAkB,EAAE;QACrC,uBAAuB,EAAE,CAAC,SAAS,EAAE,kBAAkB,CAAC,sBAAsB,KAAK,IAAI,CAAC;QACxF,yBAAyB,EAAE,CACvB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,yBAAyB,EACtC,QAAQ,EAAE,kBAAkB,EAC5B,SAAS,EAAE,SAAS,KACnB,OAAO,CAAC;KAChB,CAAC;CACL"}