@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
@@ -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": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAiB,cAAc,aAAa,kBAAkB;AAC9D,SAAS,UAAwB,gBAAgB,qBAAqB,kBAAkB;AACxF;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,OAEG;AAGP,SAAS,gBAAgB;AACzB,SAAS,oBAAoB;AAE7B,SAAS,4BAA4B;AAErC,MAAM,iBAAiB,OAAO,eAAe;AAetC,SAAS,wBAAwB,MAAqB;AACzD,SAAO,IAAK,KAAsE;AACtF;AAKO,SAAS,WAAwC,SAAY,MAAqB,QAAiB;AACtG,MAAI,WAAW,QAAW;AACtB,QAAI,KAAK,QAAQ;AACb,eAAS,KAAK;AAAA,IAClB;AACA,QAAI,CAAC,QAAQ;AACT,eAAS,iBAAiB,OAAO;AAAA,IACrC;AAAA,EACJ;AAEA,WAAS,aAAa,QAAQ,OAAO;AAErC,QAAM,SAAS,qBAAqB,IAAI,SAAS,MAAM,MAAM;AAC7D,MAAI,QAAQ;AACR,WAAO;AAAA,EACX;AAEA,MAAI;AACJ,MAAI,KAAK,KAAK,WAAW,QAAQ,IAAI,GAAG;AACpC,WAAO,KAAK;AAAA,EAChB,OAAO;AACH,WAAO,GAAG,QAAQ,IAAI;AAAA,EAC1B;AAGA,SAAO,OAAO;AAEd,QAAM,WAAW,CAAC;AAClB,QAAM,QAAQ,MAAM,MAAM;AAE1B,QAAM,OAAO,eAAe;AAAA,IACxB;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,kBAAkB;AAAA,MACd,OAAO,mBAAmB,SAAS,OAAO,MAAM,QAAQ;AAAA,MAExD,QAAQ,oBAAoB,SAAS,OAAO,MAAM,QAAQ;AAAA,IAC9D;AAAA,IAEA,mBAAmB;AAAA,MACf,IAAI;AAAA,QACA,OAAO,SAAS,QAAQ,IAAI;AAAA,QAC5B,YAAY;AAAA,MAChB;AAAA,MAEA,SAAS;AAAA,QACL,OAAO;AAAA,QACP,YAAY;AAAA,MAChB;AAAA,MAEA,QAAQ;AAAA,QACJ,OAAO;AAAA,MACX;AAAA,IACJ;AAAA,IAEA,qBAAqB,gCAAgC,SAAS,IAAI;AAAA,EACtE,CAAC;AAED,uBAAqB,IAAI,SAAS,MAAM,QAAQ,IAAI;AAEpD,SAAO;AACX;AAsBA,SAAS,mBACL,SACA,OACA,MACA,UACF;AACE,QAAM,YAAY,KAAK,OAAO;AAC9B,MAAI,cAAc,QAAW;AACzB,UAAM,IAAI,oBAAoB,6CAA6C,KAAK,IAAI,EAAE;AAAA,EAC1F;AAEA,QAAM,cAAc,IAAI,UAAU;AAClC,MAAI,gBAAiB,UAA+B,cAAc;AAGlE,MAAI,mBAAmB;AACvB,MAAI,MAAM,iBAAiB,cAAc;AACrC,UAAM,aAAa,WAAW,UAAU,MAAM,MAAM,YAAY,MAAM,MAAM,iBAAiB;AAC7F,wBAAoB,WAAW;AAC/B,wBAAoB,WAAW;AAAA,EACnC,OAAO;AACH,wBAAoB,IAAI,WAAW;AACnC,wBAAoB,IAAI,WAAW;AAAA,EACvC;AAGA,QAAM,QAAQ,CAAC;AACf,aAAW,UAAU,MAAM,UAAU,MAAM,OAAO,EAAE,aAAa,eAAe,CAAC,GAAG;AAChF,UAAM,OAAO,SAAS,OAAO,IAAI;AACjC,QAAI,MAAM,IAAI,GAAG;AACb,YAAM,IAAI,EAAE,KAAK,MAAoB;AAAA,IACzC,OAAO;AACH,YAAM,IAAI,IAAI,CAAC,MAAoB;AAAA,IACvC;AAAA,EACJ;AAGA,QAAM,WAAW,CAAC;AAClB,aAAW,QAAQ,OAAO;AAGtB,UAAM,QAAQ,MAAM,IAAI;AACxB,QAAI;AAGJ,eAAW,QAAQ,OAAO;AACtB,YAAM,gBAAgB,KAAK,qBAAqB,gBAAgB,mBAAmB,iBAAiB;AAGpG,UAAI,CAAC,eAAe;AAChB;AAAA,MACJ;AAGA,mBAAa;AACb;AAAA,IACJ;AAGA,QAAI,eAAe,QAAW;AAE1B,UAAI,YAAY,IAAI,MAAM,QAAW;AAEjC,YAAI,CAAC,eAAe;AAChB,0BAAgB,CAAC;AAAA,QACrB,WAAW,kBAAmB,UAA+B,cAAc,GAAG;AAC1E,0BAAgB,EAAE,GAAG,cAAc;AAAA,QACvC;AACA,sBAAc,IAAI,IAAI,YAAY,IAAI;AAGtC,iBAAS,IAAI,IAAI;AAAA,MACrB;AAEA;AAAA,IACJ;AAGA,aAAS,IAAI,IAAI;AACjB,UAAM,YAAY,QAAQ,WAAW,IAAI;AAIzC,QAAI,WAAW,OAAO,WAAW,IAAI;AACjC,eAAS,IAAI,IAAI,QAAQ;AACzB;AAAA,IACJ;AAGA,aAAS,IAAI,IAAI;AAAA,MACb;AAAA,MACA,YAAY,IAAI,MAAM,SAAY,gBAAgB,IAAI,IAAI,YAAY,IAAI;AAAA,MAC1E;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAEA,QAAM,YAAY,aAAa;AAAA,IAC3B,MAAM,GAAG,QAAQ,IAAI;AAAA,IACrB,MAAM,KAAK;AAAA,IACX,QAAQ;AAAA,EACZ,CAAC;AAED,MAAI,eAAe;AACf,IAAC,UAA+B,cAAc,IAAI;AAAA,EACtD;AAEA,SAAO;AACX;AAKA,SAAS,oBACL,SACA,OACA,MACA,UACF;AACE,QAAM,sBAAsB,CAAC;AAE7B,QAAM,eAAe,IAAI,KAAK,OAAO;AAErC,QAAM,aAAa,oBAAI,IAAY;AAGnC,QAAM,0BAA0B,oBAAI,IAAI;AACxC,aAAW,SAAS,MAAM,UAAU,MAAM,OAAiB;AAAA,IACvD,aAAa;AAAA,IACb,MAAM,CAAC,WAAW,KAAK;AAAA,EAC3B,CAAC,GAAG;AACA,UAAM,OAAO,SAAS,MAAM,IAAI;AAChC,4BAAwB,IAAI,IAAI;AAChC,QAAI,CAAC,QAAQ,OAAO,IAAI,GAAG,YAAY,aAAa,IAAI,MAAM,QAAW;AACrE,iBAAW,IAAI,IAAI;AACnB,0BAAoB,IAAI,IAAI;AAAA,QACxB;AAAA,QACA;AAAA,QACA,MAAM,QAAQ,UAAU,aAAa;AAAA,MACzC;AAAA,IACJ;AAAA,EACJ;AAGA,aAAW,YAAY,UAAU;AAC7B,UAAM,WAAW,GAAG,QAAQ;AAC5B,UAAM,OAAO,SAAS,QAAQ;AAC9B,QAAI,aAAa,QAAQ,MAAM,QAAW;AACtC,iBAAW,IAAI,QAAQ;AACvB,0BAAoB,QAAQ,IAAI,sBAAsB,UAAU,MAAM,YAAY;AAAA,IACtF;AAEA,UAAM,UAAU,GAAG,QAAQ;AAC3B,QAAI,aAAa,OAAO,MAAM,QAAW;AACrC,iBAAW,IAAI,OAAO;AACtB,0BAAoB,OAAO,IAAI;AAAA,QAC3B;AAAA,QACA;AAAA,QACA,KAAK,QAAQ,UAAU,aAAa;AAAA,MACxC;AAAA,IACJ;AAAA,EACJ;AAIA,SAAO,eAAe;AAAA,IAClB,MAAM,GAAG,QAAQ,IAAI;AAAA,IACrB,MAAM,KAAK;AAAA,IAEX;AAAA,IAEA,aAA+B;AAC3B,MAAC,KAA+C,mBAAmB,IAAI,WAAW;AAClF,MAAC,KAA+C,iBAAiB,IAAI,WAAW;AAChF,MAAC,KAA+C,eAAe,IAAI,WAAW;AAE9E,iBAAW,QAAQ,YAAY;AAC3B,aAAK,SAAS,IAAI;AAAA,MACtB;AAAA,IACJ;AAAA,EACJ,CAAC;AACL;AAWA,SAAS,iBAAiB,SAAsB;AAC5C,MAAI;AAEJ,aAAW,SAAS,OAAO,UAAU;AACjC,QAAI,MAAM,QAAQ,WAAW,WAAW,MAAM,OAAO,QAAQ,IAAI;AAC7D,eAAS;AACT;AAAA,IACJ;AAAA,EACJ;AAEA,MAAI,WAAW,QAAW;AACtB,UAAM,IAAI,oBAAoB,oCAAoC,QAAQ,EAAE,0BAA0B;AAAA,EAC1G;AAEA,SAAO;AACX;AAMA,MAAM,wBAAwB,oBAAI,IAAoC;AAKtE,SAAS,aAAa,QAAgB,SAAsB;AACxD,MAAI,EAAE,kBAAkB,eAAe;AACnC,WAAO;AAAA,EACX;AAGA,QAAM,mBAAmB,IAAI,WAAW,QAAQ,iBAAiB;AACjE,MAAI,IAAI,WAAW,QAAQ,iBAAiB,EAAE,GAAG,OAAO,iBAAiB,GAAG;AACxE,WAAO;AAAA,EACX;AAGA,QAAM,aAAa,CAAC,GAAG,gBAAgB,EAAE,KAAK,EAAE,KAAK,GAAG;AACxD,MAAI,eAAe,sBAAsB,IAAI,MAAM;AACnD,MAAI,iBAAiB,QAAW;AAC5B,mBAAe,CAAC;AAChB,0BAAsB,IAAI,QAAQ,YAAY;AAAA,EAClD,OAAO;AACH,QAAI,cAAc,cAAc;AAC5B,aAAO,aAAa,UAAU;AAAA,IAClC;AAAA,EACJ;AAGA,WAAS,OAAO,MAAM;AACtB,SAAO,oBAAoB;AAG3B,eAAa,UAAU,IAAI;AAE3B,SAAO;AACX;AAEA,SAAS,gCAAgC,SAAsB,MAAqB;AAChF,QAAM,SAAS,CAAC;AAChB,QAAM,WAAW,wBAAwB,IAAI;AAE7C,aAAW,QAAQ,QAAQ,UAAU;AACjC,QAAI,CAAC,SAAS,IAAI,GAAG;AACjB,aAAO,IAAI,IAAI;AAAA,QACX,OAAO,SAAS;AAAA,QAChB,UAAU;AAAA,MACd;AAAA,IACJ;AAAA,EACJ;AAEA,SAAO;AACX;AAEA,SAAS,mBAAmB,OAAc,YAAiB,aAAmC,YAAyB;AACnH,MAAI,eAAe,QAAW;AAC1B,WAAO;AAAA,EACX;AAGA,MAAI,aAAa,UAAU;AACvB;AAAA,EACJ;AAGA,MAAI,aAAa,YAAY,QAAW;AACpC,WAAO,YAAY;AAAA,EACvB;AAGA,MAAI,CAAC,YAAY;AACb;AAAA,EACJ;AAEA,MAAI,WAAW,UAAU;AACrB,WAAO;AAAA,EACX;AAEA,QAAM,mBAAmB,aAAa,OAAO,UAAU;AACvD,MAAI,kBAAkB;AAClB,WAAO;AAAA,EACX;AAIA,QAAM,cAAc,WAAW;AAC/B,MAAI,CAAC,YAAY,aAAa;AAC1B;AAAA,EACJ;AAEA,UAAQ,WAAW,mBAAmB;AAAA,IAClC,KAAK,SAAS;AAAA,IACd,KAAK,SAAS;AAEV,aAAO,CAAC;AAAA,IAEZ,KAAK,SAAS;AAEV,aAAO,CAAC;AAAA,EAChB;AACJ;AAEA,SAAS,sBACL,MACA,QACA,aACF;AACE,SAAO;AAAA,IACH,MAAwB;AACpB,UAAI,KAAK,SAAS,MAAM,IAAI,GAAG;AAC3B,eAAO,KAAK,SAAS,IAAI;AAAA,MAC7B;AAEA,YAAM,QAAQ,IAAI,YAAY,QAAQ,IAAyB;AAC/D,WAAK,SAAS,MAAM,KAAK;AAEzB,aAAO;AAAA,IACX;AAAA,IACA,YAAY;AAAA,EAChB;AACJ;",
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,99 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { createPromise, deepCopy, isObject, Logger, MaybePromise, withTimeout } from "#general";
7
+ import { OccurrenceManager } from "#protocol";
8
+ const logger = Logger.get("FabricScopedDataHandler");
9
+ async function forBehaviors(endpoint, callback) {
10
+ for (const type of Object.values(endpoint.behaviors.supported)) {
11
+ const cluster = type?.cluster;
12
+ if (!cluster) {
13
+ continue;
14
+ }
15
+ const elements = endpoint.behaviors.elementsOf(type);
16
+ if (elements.attributes.size || elements.events.size) {
17
+ await callback(type, cluster, elements);
18
+ }
19
+ }
20
+ }
21
+ async function sanitizeAttributeData(endpoint, type, cluster, supportedAttributes, allowedIndices) {
22
+ const stateUpdatePromises = new Array();
23
+ const stateUpdate = {};
24
+ for (const attributeName of supportedAttributes) {
25
+ const attr = cluster.attributes[attributeName];
26
+ if (attr.fabricScoped) {
27
+ const value = endpoint.stateOf(type)[attributeName];
28
+ if (Array.isArray(value) && value.length > 0) {
29
+ const filtered = deepCopy(value).filter((entry) => allowedIndices.includes(entry.fabricIndex));
30
+ if (filtered.length !== value.length) {
31
+ stateUpdate[attributeName] = filtered;
32
+ }
33
+ }
34
+ }
35
+ }
36
+ if (Object.keys(stateUpdate).length > 0) {
37
+ const { resolver, promise } = createPromise();
38
+ endpoint.eventsOf(type).stateChanged?.on(resolver);
39
+ try {
40
+ await endpoint.setStateOf(type, stateUpdate);
41
+ stateUpdatePromises.push(withTimeout(5e3, promise));
42
+ } catch (error) {
43
+ logger.warn(
44
+ `Could not sanitize fabric-scoped attributes for cluster ${cluster.name} on endpoint ${endpoint.id}`,
45
+ error
46
+ );
47
+ }
48
+ }
49
+ return stateUpdatePromises;
50
+ }
51
+ async function limitNodeDataToAllowedFabrics(node, allowedIndices) {
52
+ const fabricRelevantEvents = /* @__PURE__ */ new Set();
53
+ const stateUpdatePromises = new Array();
54
+ await node.visit(async (endpoint) => {
55
+ await forBehaviors(endpoint, async (type, cluster, elements) => {
56
+ if (elements.attributes.size) {
57
+ stateUpdatePromises.push(
58
+ ...await sanitizeAttributeData(endpoint, type, cluster, elements.attributes, allowedIndices)
59
+ );
60
+ }
61
+ if (elements.events.size) {
62
+ for (const eventName of elements.events) {
63
+ const event = cluster.events[eventName];
64
+ if (event.schema.isFabricScoped) {
65
+ fabricRelevantEvents.add(`${cluster.id}-${event.id}`);
66
+ }
67
+ }
68
+ }
69
+ });
70
+ });
71
+ await Promise.allSettled(stateUpdatePromises);
72
+ if (fabricRelevantEvents.size > 0) {
73
+ const occurrences = node.env.get(OccurrenceManager);
74
+ for await (const event of occurrences.get()) {
75
+ if (fabricRelevantEvents.has(`${event.clusterId}-${event.eventId}`) && isObject(event.payload) && !allowedIndices.includes(event.payload.fabricIndex)) {
76
+ const result = occurrences.remove(event.number);
77
+ if (MaybePromise.is(result)) {
78
+ await result;
79
+ }
80
+ }
81
+ }
82
+ }
83
+ }
84
+ async function limitEndpointAttributeDataToAllowedFabrics(endpoint, allowedIndices) {
85
+ const stateUpdatePromises = new Array();
86
+ await forBehaviors(endpoint, async (type, cluster, elements) => {
87
+ if (elements.attributes.size) {
88
+ stateUpdatePromises.push(
89
+ ...await sanitizeAttributeData(endpoint, type, cluster, elements.attributes, allowedIndices)
90
+ );
91
+ }
92
+ });
93
+ await Promise.allSettled(stateUpdatePromises);
94
+ }
95
+ export {
96
+ limitEndpointAttributeDataToAllowedFabrics,
97
+ limitNodeDataToAllowedFabrics
98
+ };
99
+ //# 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"}
@@ -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.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/behavior/cluster/index.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
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"}
@@ -3,22 +3,29 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { AccessControlServer } from "#behaviors/access-control";
7
- import { Diagnostic, ImplementationError, InternalError, MaybePromise, Transaction } from "#general";
8
- import { AccessControl, SecureSession, Subject } from "#protocol";
6
+ import { AsyncObservable, Diagnostic, ImplementationError, InternalError, Transaction } from "#general";
7
+ import {
8
+ AccessControl,
9
+ FabricAccessControl,
10
+ SecureSession,
11
+ Subject
12
+ } from "#protocol";
9
13
  import { Contextual } from "../Contextual.js";
10
14
  import { ContextAgents } from "./ContextAgents.js";
15
+ const exchangeCompleteEvents = /* @__PURE__ */ new WeakMap();
11
16
  function OnlineContext(options) {
12
17
  let fabric;
13
18
  let subject;
14
19
  let nodeProtocol;
15
20
  let accessLevelCache;
21
+ let aclManager;
16
22
  const { exchange, message } = options;
17
23
  const session = exchange?.session;
18
24
  if (session) {
19
25
  SecureSession.assert(session);
20
26
  fabric = session.fabric?.fabricIndex;
21
27
  subject = session.subjectFor(message);
28
+ aclManager = session?.fabric?.acl ?? new FabricAccessControl();
22
29
  } else {
23
30
  fabric = options.fabric;
24
31
  if (options.subject !== void 0) {
@@ -26,6 +33,7 @@ function OnlineContext(options) {
26
33
  } else {
27
34
  throw new ImplementationError("OnlineContext requires an authorized subject");
28
35
  }
36
+ aclManager = options.aclManager ?? new FabricAccessControl();
29
37
  }
30
38
  const via = Diagnostic.via(
31
39
  `online#${message?.packetHeader?.messageId?.toString(16) ?? "?"}@${subject.id.toString(16)}`
@@ -99,6 +107,22 @@ function OnlineContext(options) {
99
107
  SecureSession.assert(session);
100
108
  }
101
109
  let agents;
110
+ let interactionComplete;
111
+ if (exchange !== void 0) {
112
+ interactionComplete = exchangeCompleteEvents.get(exchange);
113
+ if (interactionComplete === void 0) {
114
+ interactionComplete = new AsyncObservable();
115
+ exchangeCompleteEvents.set(exchange, interactionComplete);
116
+ }
117
+ const notifyInteractionComplete = () => {
118
+ exchange.closing.off(notifyInteractionComplete);
119
+ exchangeCompleteEvents.delete(exchange);
120
+ if (context.interactionComplete?.isObserved) {
121
+ context.interactionComplete.emit(context);
122
+ }
123
+ };
124
+ exchange.closing.on(notifyInteractionComplete);
125
+ }
102
126
  const context = {
103
127
  ...options,
104
128
  session,
@@ -106,7 +130,7 @@ function OnlineContext(options) {
106
130
  subject,
107
131
  fabric,
108
132
  transaction,
109
- interactionComplete: exchange?.closed,
133
+ interactionComplete,
110
134
  ...methods,
111
135
  // TODO - Matter 1.4 - add support for ARLs
112
136
  authorityAt(desiredAccessLevel, location) {
@@ -120,11 +144,7 @@ function OnlineContext(options) {
120
144
  if (options.node === void 0) {
121
145
  throw new InternalError("OnlineContext initialized without node");
122
146
  }
123
- const accessControl = options.node.act((agent) => agent.get(AccessControlServer));
124
- if (MaybePromise.is(accessControl)) {
125
- throw new InternalError("AccessControlServer should already be initialized.");
126
- }
127
- const accessLevels = accessControl.accessLevelsFor(context, location, aclEndpointContextFor(location));
147
+ const accessLevels = aclManager.accessLevelsFor(context, location, aclEndpointContextFor(location));
128
148
  if (accessLevelCache === void 0) {
129
149
  accessLevelCache = /* @__PURE__ */ new Map();
130
150
  }
@@ -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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"}
@@ -18,7 +18,7 @@ import { AccessLevel } from "#model";
18
18
  import { AccessControl, ExpiredReferenceError } from "#protocol";
19
19
  const logger = Logger.get("Datasource");
20
20
  const FEATURES_KEY = "__features__";
21
- const stateChanged = Symbol("stateChanged");
21
+ const changed = Symbol("changed");
22
22
  const viewTx = Transaction.open("offline-view", "ro");
23
23
  function Datasource(options) {
24
24
  const internals = configure(options);
@@ -40,8 +40,8 @@ function Datasource(options) {
40
40
  get location() {
41
41
  return internals.location;
42
42
  },
43
- get stateChanged() {
44
- return internals.events[stateChanged];
43
+ get changed() {
44
+ return internals.events[changed];
45
45
  },
46
46
  get events() {
47
47
  return internals.events;
@@ -94,24 +94,26 @@ function configure(options) {
94
94
  }
95
95
  Object.freeze(options.location);
96
96
  const events = options.events ?? {};
97
- events[stateChanged] = new Observable();
97
+ events[changed] = new Observable();
98
98
  return {
99
99
  ...options,
100
100
  events,
101
101
  version: Crypto.getRandomUInt32(),
102
102
  values,
103
103
  featuresKey,
104
- interactionObserver() {
104
+ interactionObserver(session) {
105
105
  function handleObserverError(error) {
106
106
  logger.error(`Error in ${options.location.path} observer:`, error);
107
107
  }
108
- try {
109
- const result = options.events?.interactionEnd?.emit();
110
- if (MaybePromise.is(result)) {
111
- return MaybePromise.then(result, void 0, handleObserverError);
108
+ if (options.events?.interactionEnd?.isObserved) {
109
+ try {
110
+ const result = options.events?.interactionEnd?.emit(session);
111
+ if (MaybePromise.is(result)) {
112
+ return MaybePromise.then(result, void 0, handleObserverError);
113
+ }
114
+ } catch (e) {
115
+ handleObserverError(e);
112
116
  }
113
- } catch (e) {
114
- handleObserverError(e);
115
117
  }
116
118
  }
117
119
  };
@@ -225,8 +227,11 @@ function createReference(resource, internals, session) {
225
227
  transaction.addResourcesSync(resource);
226
228
  transaction.addParticipants(participant);
227
229
  transaction.beginSync();
228
- if (session.interactionComplete && !session.interactionComplete.isObservedBy(internals.interactionObserver)) {
229
- internals.events?.interactionBegin?.emit();
230
+ if (!session.interactionStarted && session.interactionComplete && !session.interactionComplete.isObservedBy(internals.interactionObserver)) {
231
+ session.interactionStarted = true;
232
+ if (internals.events?.interactionBegin?.isObserved) {
233
+ internals.events?.interactionBegin?.emit(session);
234
+ }
230
235
  session.interactionComplete.on(internals.interactionObserver);
231
236
  }
232
237
  }
@@ -321,6 +326,12 @@ function createReference(resource, internals, session) {
321
326
  }
322
327
  if (changes) {
323
328
  incrementVersion();
329
+ if (internals.events.stateChanged?.isObserved) {
330
+ changes.notifications.push({
331
+ event: internals.events.stateChanged,
332
+ params: [session]
333
+ });
334
+ }
324
335
  }
325
336
  }
326
337
  function commit1() {
@@ -364,7 +375,7 @@ function createReference(resource, internals, session) {
364
375
  }
365
376
  }
366
377
  }
367
- const changeSetResult = internals.events[stateChanged]?.emit(
378
+ const changeSetResult = internals.events[changed]?.emit(
368
379
  Array.from(changes.changeList.values()),
369
380
  internals.version
370
381
  );
@@ -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
  }
@@ -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"}