@matter/node 0.15.2-alpha.0-20250717-3607eeac6 → 0.15.2-alpha.0-20250718-7e661c331

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 (170) hide show
  1. package/dist/cjs/behavior/internal/BehaviorBacking.d.ts +2 -2
  2. package/dist/cjs/behavior/internal/BehaviorBacking.d.ts.map +1 -1
  3. package/dist/cjs/behavior/internal/BehaviorBacking.js +6 -1
  4. package/dist/cjs/behavior/internal/BehaviorBacking.js.map +1 -1
  5. package/dist/cjs/behavior/internal/ClientBehaviorBacking.d.ts +1 -6
  6. package/dist/cjs/behavior/internal/ClientBehaviorBacking.d.ts.map +1 -1
  7. package/dist/cjs/behavior/internal/ClientBehaviorBacking.js +0 -5
  8. package/dist/cjs/behavior/internal/ClientBehaviorBacking.js.map +1 -1
  9. package/dist/cjs/behavior/internal/ServerBehaviorBacking.d.ts +0 -3
  10. package/dist/cjs/behavior/internal/ServerBehaviorBacking.d.ts.map +1 -1
  11. package/dist/cjs/behavior/internal/ServerBehaviorBacking.js +0 -15
  12. package/dist/cjs/behavior/internal/ServerBehaviorBacking.js.map +1 -1
  13. package/dist/cjs/behavior/state/managed/Datasource.js +7 -3
  14. package/dist/cjs/behavior/state/managed/Datasource.js.map +1 -1
  15. package/dist/cjs/behavior/supervision/RootSupervisor.d.ts +2 -2
  16. package/dist/cjs/behavior/supervision/RootSupervisor.d.ts.map +1 -1
  17. package/dist/cjs/behavior/supervision/RootSupervisor.js +12 -10
  18. package/dist/cjs/behavior/supervision/RootSupervisor.js.map +1 -1
  19. package/dist/cjs/node/ClientNode.d.ts.map +1 -1
  20. package/dist/cjs/node/ClientNode.js +2 -2
  21. package/dist/cjs/node/ClientNode.js.map +1 -1
  22. package/dist/cjs/node/ServerNode.js +2 -2
  23. package/dist/cjs/node/ServerNode.js.map +1 -1
  24. package/dist/cjs/node/client/ClientEndpointInitializer.d.ts.map +1 -1
  25. package/dist/cjs/node/client/ClientEndpointInitializer.js +5 -4
  26. package/dist/cjs/node/client/ClientEndpointInitializer.js.map +2 -2
  27. package/dist/cjs/node/client/ClientStructure.d.ts +14 -2
  28. package/dist/cjs/node/client/ClientStructure.d.ts.map +1 -1
  29. package/dist/cjs/node/client/ClientStructure.js +21 -3
  30. package/dist/cjs/node/client/ClientStructure.js.map +1 -1
  31. package/dist/cjs/node/server/ServerEndpointInitializer.d.ts.map +1 -1
  32. package/dist/cjs/node/server/ServerEndpointInitializer.js +2 -1
  33. package/dist/cjs/node/server/ServerEndpointInitializer.js.map +1 -1
  34. package/dist/cjs/node/server/ServerEnvironment.d.ts.map +1 -1
  35. package/dist/cjs/node/server/ServerEnvironment.js +0 -2
  36. package/dist/cjs/node/server/ServerEnvironment.js.map +1 -1
  37. package/dist/cjs/storage/EndpointStore.d.ts +4 -4
  38. package/dist/cjs/storage/EndpointStore.d.ts.map +1 -1
  39. package/dist/cjs/storage/EndpointStore.js +9 -7
  40. package/dist/cjs/storage/EndpointStore.js.map +1 -1
  41. package/dist/cjs/storage/client/ClientEndpointStore.d.ts +24 -0
  42. package/dist/cjs/storage/client/ClientEndpointStore.d.ts.map +1 -0
  43. package/dist/cjs/storage/client/ClientEndpointStore.js +67 -0
  44. package/dist/cjs/storage/client/ClientEndpointStore.js.map +6 -0
  45. package/dist/cjs/storage/client/ClientNodeStore.d.ts +13 -3
  46. package/dist/cjs/storage/client/ClientNodeStore.d.ts.map +1 -1
  47. package/dist/cjs/storage/client/ClientNodeStore.js +24 -3
  48. package/dist/cjs/storage/client/ClientNodeStore.js.map +1 -1
  49. package/dist/cjs/storage/client/ClientNodeStores.d.ts +2 -2
  50. package/dist/cjs/storage/client/ClientNodeStores.d.ts.map +1 -1
  51. package/dist/cjs/storage/client/ClientNodeStores.js +1 -1
  52. package/dist/cjs/storage/client/ClientNodeStores.js.map +1 -1
  53. package/dist/cjs/storage/client/DatasourceCache.d.ts +2 -2
  54. package/dist/cjs/storage/client/DatasourceCache.d.ts.map +1 -1
  55. package/dist/cjs/storage/client/DatasourceCache.js +5 -3
  56. package/dist/cjs/storage/client/DatasourceCache.js.map +1 -1
  57. package/dist/cjs/storage/client/RemoteWriteParticipant.d.ts +30 -0
  58. package/dist/cjs/storage/client/RemoteWriteParticipant.d.ts.map +1 -0
  59. package/dist/cjs/storage/client/RemoteWriteParticipant.js +66 -0
  60. package/dist/cjs/storage/client/RemoteWriteParticipant.js.map +6 -0
  61. package/dist/cjs/storage/client/RemoteWriter.d.ts +29 -0
  62. package/dist/cjs/storage/client/RemoteWriter.d.ts.map +1 -0
  63. package/dist/cjs/storage/client/RemoteWriter.js +73 -0
  64. package/dist/cjs/storage/client/RemoteWriter.js.map +6 -0
  65. package/dist/cjs/storage/server/DatasourceStore.d.ts +0 -3
  66. package/dist/cjs/storage/server/DatasourceStore.d.ts.map +1 -1
  67. package/dist/cjs/storage/server/DatasourceStore.js.map +1 -1
  68. package/dist/cjs/storage/server/ServerEndpointStore.d.ts +4 -0
  69. package/dist/cjs/storage/server/ServerEndpointStore.d.ts.map +1 -1
  70. package/dist/cjs/storage/server/ServerEndpointStore.js +8 -0
  71. package/dist/cjs/storage/server/ServerEndpointStore.js.map +1 -1
  72. package/dist/cjs/storage/server/ServerNodeStore.d.ts +3 -2
  73. package/dist/cjs/storage/server/ServerNodeStore.d.ts.map +1 -1
  74. package/dist/cjs/storage/server/ServerNodeStore.js.map +1 -1
  75. package/dist/esm/behavior/internal/BehaviorBacking.d.ts +2 -2
  76. package/dist/esm/behavior/internal/BehaviorBacking.d.ts.map +1 -1
  77. package/dist/esm/behavior/internal/BehaviorBacking.js +6 -1
  78. package/dist/esm/behavior/internal/BehaviorBacking.js.map +1 -1
  79. package/dist/esm/behavior/internal/ClientBehaviorBacking.d.ts +1 -6
  80. package/dist/esm/behavior/internal/ClientBehaviorBacking.d.ts.map +1 -1
  81. package/dist/esm/behavior/internal/ClientBehaviorBacking.js +0 -5
  82. package/dist/esm/behavior/internal/ClientBehaviorBacking.js.map +1 -1
  83. package/dist/esm/behavior/internal/ServerBehaviorBacking.d.ts +0 -3
  84. package/dist/esm/behavior/internal/ServerBehaviorBacking.d.ts.map +1 -1
  85. package/dist/esm/behavior/internal/ServerBehaviorBacking.js +0 -15
  86. package/dist/esm/behavior/internal/ServerBehaviorBacking.js.map +1 -1
  87. package/dist/esm/behavior/state/managed/Datasource.js +7 -3
  88. package/dist/esm/behavior/state/managed/Datasource.js.map +1 -1
  89. package/dist/esm/behavior/supervision/RootSupervisor.d.ts +2 -2
  90. package/dist/esm/behavior/supervision/RootSupervisor.d.ts.map +1 -1
  91. package/dist/esm/behavior/supervision/RootSupervisor.js +12 -10
  92. package/dist/esm/behavior/supervision/RootSupervisor.js.map +1 -1
  93. package/dist/esm/node/ClientNode.d.ts.map +1 -1
  94. package/dist/esm/node/ClientNode.js +2 -2
  95. package/dist/esm/node/ClientNode.js.map +1 -1
  96. package/dist/esm/node/ServerNode.js +2 -2
  97. package/dist/esm/node/ServerNode.js.map +1 -1
  98. package/dist/esm/node/client/ClientEndpointInitializer.d.ts.map +1 -1
  99. package/dist/esm/node/client/ClientEndpointInitializer.js +5 -4
  100. package/dist/esm/node/client/ClientEndpointInitializer.js.map +2 -2
  101. package/dist/esm/node/client/ClientStructure.d.ts +14 -2
  102. package/dist/esm/node/client/ClientStructure.d.ts.map +1 -1
  103. package/dist/esm/node/client/ClientStructure.js +21 -3
  104. package/dist/esm/node/client/ClientStructure.js.map +1 -1
  105. package/dist/esm/node/server/ServerEndpointInitializer.d.ts.map +1 -1
  106. package/dist/esm/node/server/ServerEndpointInitializer.js +2 -1
  107. package/dist/esm/node/server/ServerEndpointInitializer.js.map +1 -1
  108. package/dist/esm/node/server/ServerEnvironment.d.ts.map +1 -1
  109. package/dist/esm/node/server/ServerEnvironment.js +0 -2
  110. package/dist/esm/node/server/ServerEnvironment.js.map +1 -1
  111. package/dist/esm/storage/EndpointStore.d.ts +4 -4
  112. package/dist/esm/storage/EndpointStore.d.ts.map +1 -1
  113. package/dist/esm/storage/EndpointStore.js +9 -7
  114. package/dist/esm/storage/EndpointStore.js.map +1 -1
  115. package/dist/esm/storage/client/ClientEndpointStore.d.ts +24 -0
  116. package/dist/esm/storage/client/ClientEndpointStore.d.ts.map +1 -0
  117. package/dist/esm/storage/client/ClientEndpointStore.js +47 -0
  118. package/dist/esm/storage/client/ClientEndpointStore.js.map +6 -0
  119. package/dist/esm/storage/client/ClientNodeStore.d.ts +13 -3
  120. package/dist/esm/storage/client/ClientNodeStore.d.ts.map +1 -1
  121. package/dist/esm/storage/client/ClientNodeStore.js +24 -3
  122. package/dist/esm/storage/client/ClientNodeStore.js.map +1 -1
  123. package/dist/esm/storage/client/ClientNodeStores.d.ts +2 -2
  124. package/dist/esm/storage/client/ClientNodeStores.d.ts.map +1 -1
  125. package/dist/esm/storage/client/ClientNodeStores.js +1 -1
  126. package/dist/esm/storage/client/ClientNodeStores.js.map +1 -1
  127. package/dist/esm/storage/client/DatasourceCache.d.ts +2 -2
  128. package/dist/esm/storage/client/DatasourceCache.d.ts.map +1 -1
  129. package/dist/esm/storage/client/DatasourceCache.js +5 -3
  130. package/dist/esm/storage/client/DatasourceCache.js.map +1 -1
  131. package/dist/esm/storage/client/RemoteWriteParticipant.d.ts +30 -0
  132. package/dist/esm/storage/client/RemoteWriteParticipant.d.ts.map +1 -0
  133. package/dist/esm/storage/client/RemoteWriteParticipant.js +46 -0
  134. package/dist/esm/storage/client/RemoteWriteParticipant.js.map +6 -0
  135. package/dist/esm/storage/client/RemoteWriter.d.ts +29 -0
  136. package/dist/esm/storage/client/RemoteWriter.d.ts.map +1 -0
  137. package/dist/esm/storage/client/RemoteWriter.js +53 -0
  138. package/dist/esm/storage/client/RemoteWriter.js.map +6 -0
  139. package/dist/esm/storage/server/DatasourceStore.d.ts +0 -3
  140. package/dist/esm/storage/server/DatasourceStore.d.ts.map +1 -1
  141. package/dist/esm/storage/server/DatasourceStore.js.map +1 -1
  142. package/dist/esm/storage/server/ServerEndpointStore.d.ts +4 -0
  143. package/dist/esm/storage/server/ServerEndpointStore.d.ts.map +1 -1
  144. package/dist/esm/storage/server/ServerEndpointStore.js +8 -0
  145. package/dist/esm/storage/server/ServerEndpointStore.js.map +1 -1
  146. package/dist/esm/storage/server/ServerNodeStore.d.ts +3 -2
  147. package/dist/esm/storage/server/ServerNodeStore.d.ts.map +1 -1
  148. package/dist/esm/storage/server/ServerNodeStore.js.map +1 -1
  149. package/package.json +7 -7
  150. package/src/behavior/internal/BehaviorBacking.ts +3 -2
  151. package/src/behavior/internal/ClientBehaviorBacking.ts +0 -15
  152. package/src/behavior/internal/ServerBehaviorBacking.ts +0 -19
  153. package/src/behavior/state/managed/Datasource.ts +10 -3
  154. package/src/behavior/supervision/RootSupervisor.ts +18 -15
  155. package/src/node/ClientNode.ts +4 -2
  156. package/src/node/ServerNode.ts +2 -2
  157. package/src/node/client/ClientEndpointInitializer.ts +7 -3
  158. package/src/node/client/ClientStructure.ts +26 -6
  159. package/src/node/server/ServerEndpointInitializer.ts +3 -1
  160. package/src/node/server/ServerEnvironment.ts +0 -2
  161. package/src/storage/EndpointStore.ts +9 -9
  162. package/src/storage/client/ClientEndpointStore.ts +53 -0
  163. package/src/storage/client/ClientNodeStore.ts +38 -6
  164. package/src/storage/client/ClientNodeStores.ts +3 -4
  165. package/src/storage/client/DatasourceCache.ts +10 -7
  166. package/src/storage/client/RemoteWriteParticipant.ts +62 -0
  167. package/src/storage/client/RemoteWriter.ts +81 -0
  168. package/src/storage/server/DatasourceStore.ts +1 -6
  169. package/src/storage/server/ServerEndpointStore.ts +9 -0
  170. package/src/storage/server/ServerNodeStore.ts +4 -2
@@ -70,13 +70,21 @@ class ClientStructure {
70
70
  }
71
71
  }
72
72
  /**
73
- * Obtain the store for a behavior.
73
+ * Obtain the store for a remote cluster.
74
74
  */
75
- storeFor(endpoint, type) {
75
+ storeForRemote(endpoint, type) {
76
76
  const endpointStructure = this.#endpointFor(endpoint.number);
77
77
  const clusterStructure = this.#clusterFor(endpointStructure, type.cluster.id);
78
78
  return clusterStructure.store;
79
79
  }
80
+ /**
81
+ *
82
+ * @param request
83
+ * @returns
84
+ */
85
+ storeForLocal(endpoint, type) {
86
+ return this.#nodeStore.storeForEndpoint(endpoint).createStoreForLocalBehavior(type.id);
87
+ }
80
88
  /**
81
89
  * Inject version filters into a Read or Subscribe request.
82
90
  */
@@ -145,6 +153,16 @@ class ClientStructure {
145
153
  await this.#updateCluster(currentUpdates);
146
154
  }
147
155
  }
156
+ /**
157
+ * Obtain the {@link ClusterType} for an endpoint number and cluster ID.
158
+ */
159
+ clusterFor(endpoint, cluster) {
160
+ const ep = this.#endpointFor(endpoint);
161
+ if (!ep) {
162
+ return;
163
+ }
164
+ return this.#clusterFor(ep, cluster)?.behavior?.cluster;
165
+ }
148
166
  /**
149
167
  * Apply new attribute values for specific endpoint/cluster.
150
168
  *
@@ -261,7 +279,7 @@ class ClientStructure {
261
279
  }
262
280
  cluster = {
263
281
  id,
264
- store: this.#nodeStore.storeForEndpoint(endpoint.endpoint).createStoreForBehavior(id.toString(), import_DatasourceCache.DatasourceCache)
282
+ store: this.#nodeStore.storeForEndpoint(endpoint.endpoint).createStoreForBehavior(id.toString())
265
283
  };
266
284
  endpoint.clusters[id] = cluster;
267
285
  return cluster;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/node/client/ClientStructure.ts"],
4
- "mappings": "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",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,wBAA2B;AAC3B,wBAAkC;AAClC,sBAAyB;AACzB,0BAA6B;AAC7B,mBAAoG;AAEpG,sBAAsD;AACtD,6BAAgC;AAChC,qBAAgC;AAEhC,4BAA+B;AAlB/B;AAAA;AAAA;AAAA;AAAA;AAoBA,MAAM,2BAA2B,oCAAkB,WAAW,eAAe;AAC7E,MAAM,sBAAsB,oCAAkB,WAAW,WAAW;AACpE,MAAM,qBAAqB,oCAAkB,WAAW,UAAU;AAK3D,MAAM,gBAAgB;AAAA,EACzB;AAAA,EACA,aAAwD,CAAC;AAAA,EAEzD,YAAY,MAAkB;AAC1B,SAAK,aAAa,KAAK,IAAI,IAAI,8BAAe;AAC9C,SAAK,WAAW,KAAK,MAAM,IAAI;AAAA,MAC3B,UAAU;AAAA,MACV,UAAU,CAAC;AAAA,IACf;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,YAAY;AACR,eAAW,SAAS,KAAK,WAAW,gBAAgB;AAChD,YAAM,KAAK,MAAM;AAGjB,YAAM,SAAS,OAAO,SAAS,EAAE;AACjC,UAAI,OAAO,MAAM,MAAM,GAAG;AACtB;AAAA,MACJ;AAEA,YAAM,WAAW,KAAK,aAAa,MAAwB;AAG3D,iBAAW,SAAS,MAAM,gBAAgB;AACtC,cAAMA,MAAK,OAAO,SAAS,KAAK;AAChC,YAAI,OAAO,MAAMA,GAAE,GAAG;AAClB;AAAA,QACJ;AAEA,cAAM,UAAU,KAAK,YAAY,UAAUA,GAAE;AAC7C,aAAK,mBAAmB,UAAU,OAAO;AAAA,MAC7C;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,eAAe,UAAoB,MAA4B;AAC3D,UAAM,oBAAoB,KAAK,aAAa,SAAS,MAAM;AAC3D,UAAM,mBAAmB,KAAK,YAAY,mBAAmB,KAAK,QAAQ,EAAE;AAE5E,WAAO,iBAAiB;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,cAAc,UAAoB,MAAqB;AACnD,WAAO,KAAK,WAAW,iBAAiB,QAAQ,EAAE,4BAA4B,KAAK,EAAE;AAAA,EACzF;AAAA;AAAA;AAAA;AAAA,EAKA,qBAAqC,SAAe;AAChD,UAAM,YAAQ,2BAAU,OAAO;AAC/B,QAAI,SAAS;AAEb,eAAW;AAAA,MACP,UAAU,EAAE,QAAQ,WAAW;AAAA,MAC/B;AAAA,IACJ,KAAK,OAAO,OAAO,KAAK,UAAU,GAAG;AACjC,iBAAW;AAAA,QACP,IAAI;AAAA,QACJ,OAAO,EAAE,QAAQ;AAAA,MACrB,KAAK,OAAO,OAAO,QAAQ,GAAG;AAC1B,YAAI,CAAC,MAAM,WAAW,YAAY,SAAS,GAAG;AAC1C;AAAA,QACJ;AAEA,YAAI,YAAY,6BAAW,iBAAiB;AACxC;AAAA,QACJ;AAEA,YAAI,WAAW,SAAS;AACpB,mBAAS,EAAE,GAAG,QAAQ;AAAA,QAC1B;AAEA,YAAI,OAAO,uBAAuB,QAAW;AACzC,iBAAO,qBAAqB,CAAC;AAAA,QACjC;AAEA,eAAO,mBAAmB,KAAK,EAAE,MAAM,EAAE,YAAY,UAAU,GAAG,aAAa,QAAQ,CAAC;AAAA,MAC5F;AAAA,IACJ;AAEA,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,OAAO,SAAe,SAAqB;AAC9C,UAAM,YAAQ,2BAAU,OAAO;AAE/B,QAAI;AAEJ,qBAAiB,SAAS,SAAS;AAC/B,iBAAW,UAAU,OAAO;AACxB,YAAI,OAAO,SAAS,cAAc;AAC9B;AAAA,QACJ;AAEA,cAAM,EAAE,YAAY,WAAW,YAAY,IAAI,OAAO;AAItD,YACI,mBACC,eAAe,eAAe,cAAc,eAAe,cAAc,YAC5E;AACE,gBAAM,KAAK,eAAe,cAAc;AACxC,2BAAiB;AAAA,QACrB;AAEA,YAAI,mBAAmB,QAAW;AAE9B,2BAAiB;AAAA,YACb;AAAA,YACA;AAAA,YACA,QAAQ;AAAA,cACJ,CAAC,WAAW,GAAG,OAAO;AAAA,YAC1B;AAAA,UACJ;AAGA,cAAI,MAAM,WAAW,YAAY,SAAS,GAAG;AACzC,2BAAe,OAAO,uCAAgB,WAAW,IAAI,OAAO;AAAA,UAChE;AAAA,QACJ,OAAO;AAEH,yBAAe,OAAO,WAAW,IAAI,OAAO;AAAA,QAChD;AAAA,MACJ;AAEA,YAAM;AAAA,IACV;AAEA,QAAI,gBAAgB;AAChB,YAAM,KAAK,eAAe,cAAc;AAAA,IAC5C;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,WAAW,UAA0B,SAAoB;AACrD,UAAM,KAAK,KAAK,aAAa,QAAQ;AACrC,QAAI,CAAC,IAAI;AACL;AAAA,IACJ;AAEA,WAAO,KAAK,YAAY,IAAI,OAAO,GAAG,UAAU;AAAA,EACpD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,eAAe,OAAyB;AAC1C,UAAM,WAAW,KAAK,aAAa,MAAM,UAAU;AACnD,UAAM,UAAU,KAAK,YAAY,UAAU,MAAM,SAAS;AAC1D,UAAM,QAAQ,MAAM,YAAY,MAAM,MAAM;AAC5C,SAAK,mBAAmB,UAAU,OAAO;AAAA,EAC7C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,mBAAmB,UAA6B,SAA2B;AACvE,UAAM,QAAQ,QAAQ,MAAM,iBAAiB,CAAC;AAG9C,QAAI,QAAQ,aAAa,QAAW;AAChC,YAAM;AAAA,QACF,CAAC,6BAAgB,EAAE,GAAG;AAAA,QACtB,CAAC,wBAAW,EAAE,GAAG;AAAA,QACjB,CAAC,2BAAc,EAAE,GAAG;AAAA,QACpB,CAAC,iCAAoB,EAAE,GAAG;AAAA,MAC9B,IAAI;AAEJ,UAAI,OAAO,oBAAoB,UAAU;AACrC,gBAAQ,WAAW;AAAA,MACvB;AAEA,UAAI,OAAO,aAAa,YAAY,aAAa,QAAQ,CAAC,MAAM,QAAQ,QAAQ,GAAG;AAC/E,gBAAQ,WAAW;AAAA,MACvB;AAEA,UAAI,MAAM,QAAQ,aAAa,GAAG;AAC9B,gBAAQ,aAAa,cAAc,OAAO,UAAQ,OAAO,SAAS,QAAQ;AAAA,MAC9E;AAEA,UAAI,MAAM,QAAQ,WAAW,GAAG;AAC5B,gBAAQ,WAAW,YAAY,OAAO,SAAO,OAAO,QAAQ,QAAQ;AAAA,MACxE;AAEA,UACI,QAAQ,aAAa,UACrB,QAAQ,aAAa,UACrB,QAAQ,eAAe,UACvB,QAAQ,aAAa,QACvB;AACE,gBAAQ,eAAW,sCAAe,OAAsC;AACxE,iBAAS,SAAS,UAAU,QAAQ,QAAQ,QAAQ;AAAA,MACxD;AAAA,IACJ;AAGA,QAAI,QAAQ,OAAO,oCAAkB,IAAI;AACrC,WAAK,uBAAuB,UAAU,KAAK;AAAA,IAC/C;AAAA,EACJ;AAAA,EAEA,uBAAuB,UAA6B,OAAgC;AAChF,UAAM,iBAAiB,MAAM,wBAAwB;AACrD,QAAI,MAAM,QAAQ,cAAc,KAAK,iBAAiB,CAAC,GAAG;AACtD,YAAM,CAAC,EAAE,YAAY,SAAS,CAAC,IAAI;AACnC,UAAI,OAAO,eAAe,UAAU;AAChC,iBAAS,SAAS,KAAK,aAAa;AAAA,MACxC;AACA,UAAI,OAAO,aAAa,UAAU;AAC9B,iBAAS,SAAS,KAAK,iBAAiB;AAAA,MAC5C;AAAA,IACJ;AAEA,UAAM,aAAa,MAAM,mBAAmB;AAC5C,QAAI,MAAM,QAAQ,UAAU,GAAG;AAC3B,iBAAW,WAAW,YAAY;AAC9B,YAAI,OAAO,YAAY,UAAU;AAC7B,eAAK,YAAY,UAAU,OAAoB;AAAA,QACnD;AAAA,MACJ;AAAA,IACJ;AAEA,UAAM,YAAY,MAAM,kBAAkB;AAC1C,QAAI,MAAM,QAAQ,SAAS,GAAG;AAC1B,iBAAW,UAAU,WAAW;AAC5B,YAAI,OAAO,WAAW,UAAU;AAC5B;AAAA,QACJ;AAEA,cAAM,OAAO,KAAK,aAAa,MAAwB;AAEvD,YAAI,sBAAsB;AAC1B,iBAAS,QAAQ,KAAK,SAAS,OAAO,OAAO,QAAQ,MAAM,OAAO;AAC9D,cAAI,UAAU,SAAS,UAAU;AAC7B,kCAAsB;AACtB;AAAA,UACJ;AAAA,QACJ;AAEA,YAAI,qBAAqB;AACrB;AAAA,QACJ;AAEA,aAAK,SAAS,QAAQ,SAAS;AAAA,MACnC;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,aAAa,QAAwB;AACjC,QAAI,WAAW,KAAK,WAAW,MAAM;AACrC,QAAI,UAAU;AACV,aAAO;AAAA,IACX;AAEA,eAAW;AAAA,MACP,UAAU,IAAI,yBAAS;AAAA,QACnB,IAAI,KAAK,MAAM;AAAA,QACf;AAAA,QACA,UAAM,kCAAa;AAAA,UACf,MAAM;AAAA,UACN,YAAY;AAAA,UACZ,gBAAgB;AAAA,QACpB,CAAC;AAAA,MACL,CAAC;AAAA,MACD,UAAU,CAAC;AAAA,IACf;AACA,SAAK,WAAW,MAAM,IAAI;AAE1B,WAAO;AAAA,EACX;AAAA,EAEA,YAAY,UAA6B,IAAe;AACpD,QAAI,UAAU,SAAS,SAAS,EAAE;AAClC,QAAI,SAAS;AACT,aAAO;AAAA,IACX;AAEA,cAAU;AAAA,MACN;AAAA,MACA,OAAO,KAAK,WAAW,iBAAiB,SAAS,QAAQ,EAAE,uBAAuB,GAAG,SAAS,CAAC;AAAA,IACnG;AACA,aAAS,SAAS,EAAE,IAAI;AAExB,WAAO;AAAA,EACX;AACJ;",
5
5
  "names": ["id"]
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ServerEndpointInitializer.d.ts","sourceRoot":"","sources":["../../../../src/node/server/ServerEndpointInitializer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAExE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EAAE,WAAW,EAAyB,MAAM,UAAU,CAAC;AAM9D,qBAAa,yBAA0B,SAAQ,mBAAmB;;gBAGlD,WAAW,EAAE,WAAW;IAK3B,oBAAoB,CAAC,QAAQ,EAAE,QAAQ;IAa1C,eAAe,CAAC,QAAQ,EAAE,QAAQ;IAQlC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ;IAQ7C;;;;;OAKG;IACH,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,eAAe;CA6C1E"}
1
+ {"version":3,"file":"ServerEndpointInitializer.d.ts","sourceRoot":"","sources":["../../../../src/node/server/ServerEndpointInitializer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAExE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EAAE,WAAW,EAAyB,MAAM,UAAU,CAAC;AAM9D,qBAAa,yBAA0B,SAAQ,mBAAmB;;gBAGlD,WAAW,EAAE,WAAW;IAK3B,oBAAoB,CAAC,QAAQ,EAAE,QAAQ;IAa1C,eAAe,CAAC,QAAQ,EAAE,QAAQ;IAQlC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ;IAQ7C;;;;;OAKG;IACH,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,eAAe;CA+C1E"}
@@ -67,7 +67,8 @@ class ServerEndpointInitializer extends import_EndpointInitializer.EndpointIniti
67
67
  * initializes.
68
68
  */
69
69
  createBacking(endpoint, type) {
70
- return new import_ServerBehaviorBacking.ServerBehaviorBacking(endpoint, type, endpoint.behaviors.optionsFor(type));
70
+ const store = this.#store.storeForEndpoint(endpoint).createStoreForBehavior(type.id);
71
+ return new import_ServerBehaviorBacking.ServerBehaviorBacking(endpoint, type, store, endpoint.behaviors.optionsFor(type));
71
72
  }
72
73
  /**
73
74
  * Select an ID for an endpoint automatically based on available metadata.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/node/server/ServerEndpointInitializer.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,mCAAsC;AACtC,sBAAyB;AACzB,iCAAoC;AACpC,qBAAmD;AACnD,6BAAgC;AAChC,8BAAiC;AAbjC;AAAA;AAAA;AAAA;AAAA;AAeA,MAAM,SAAS,sBAAO,IAAI,cAAc;AAEjC,MAAM,kCAAkC,+CAAoB;AAAA,EAC/D;AAAA,EAEA,YAAY,aAA0B;AAClC,UAAM;AACN,SAAK,SAAS,YAAY,IAAI,sCAAe;AAAA,EACjD;AAAA,EAES,qBAAqB,UAAoB;AAC9C,QAAI,CAAC,SAAS,UAAU,OAAO;AAC3B,eAAS,KAAK,KAAK,cAAc,QAAQ;AAAA,IAC7C;AAEA,SAAK,OAAO,eAAe,aAAa,QAAQ;AAGhD,QAAI,EAAE,yCAAiB,MAAM,SAAS,UAAU,YAAY;AACxD,eAAS,UAAU,OAAO,wCAAgB;AAAA,IAC9C;AAAA,EACJ;AAAA,EAEA,MAAM,gBAAgB,UAAoB;AACtC,QAAI,CAAC,SAAS,UAAU,OAAO;AAC3B;AAAA,IACJ;AAEA,UAAM,KAAK,OAAO,eAAe,sBAAsB,QAAQ;AAAA,EACnE;AAAA,EAEA,MAAM,qBAAqB,UAAoB;AAC3C,QAAI,CAAC,SAAS,UAAU,SAAS,SAAS,WAAW,GAAG;AACpD;AAAA,IACJ;AAEA,SAAK,OAAO,eAAe,2BAA2B,QAAQ;AAAA,EAClE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,cAAc,UAAoB,MAAsC;AACpE,WAAO,IAAI,mDAAsB,UAAU,MAAM,SAAS,UAAU,WAAW,IAAI,CAAC;AAAA,EACxF;AAAA;AAAA;AAAA;AAAA,EAKA,cAAc,UAAoB;AAC9B,UAAM,YACF,SAAS,UAAU,UAAU,oBAAoB,SAAS,UAAU,UAAU;AAClF,QAAI,WAAW;AACX,YAAM,WAAW;AAAA,QACb,GAAG,IAAI,UAAU,MAAM;AAAA,QACvB,GAAG,SAAS,UAAU,YAAY,SAAS;AAAA,MAC/C;AAEA,UAAIA,MAAM,SAAoC;AAC9C,UAAIA,KAAI;AACJ,eAAOA;AAAA,MACX;AAEA,MAAAA,MAAM,SAAoC;AAC1C,UAAIA,KAAI;AACJ,eAAOA;AAAA,MACX;AAAA,IACJ;AAEA,QAAI,EAAE,SAAS,iBAAiB,2BAAW;AACvC,YAAM,IAAI,6BAAc,2DAA2D;AAAA,IACvF;AACA,QAAI,CAAC,SAAS,MAAM,UAAU,OAAO;AACjC,YAAM,IAAI,6BAAc,2DAA2D;AAAA,IACvF;AAEA,UAAM,QAAQ,SAAS,MAAM,MAAM,QAAQ,QAAQ;AACnD,QAAI,UAAU,IAAI;AACd,YAAM,IAAI,6BAAc,wEAAwE;AAAA,IACpG;AAGA,UAAM,KAAK,OAAO,KAAK;AACvB,WAAO,KAAK,wBAAwB,EAAE,iBAAiB,SAAS,KAAK,oCAAoC;AAEzG,WAAO;AAAA,EACX;AACJ;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,mCAAsC;AACtC,sBAAyB;AACzB,iCAAoC;AACpC,qBAAmD;AACnD,6BAAgC;AAChC,8BAAiC;AAbjC;AAAA;AAAA;AAAA;AAAA;AAeA,MAAM,SAAS,sBAAO,IAAI,cAAc;AAEjC,MAAM,kCAAkC,+CAAoB;AAAA,EAC/D;AAAA,EAEA,YAAY,aAA0B;AAClC,UAAM;AACN,SAAK,SAAS,YAAY,IAAI,sCAAe;AAAA,EACjD;AAAA,EAES,qBAAqB,UAAoB;AAC9C,QAAI,CAAC,SAAS,UAAU,OAAO;AAC3B,eAAS,KAAK,KAAK,cAAc,QAAQ;AAAA,IAC7C;AAEA,SAAK,OAAO,eAAe,aAAa,QAAQ;AAGhD,QAAI,EAAE,yCAAiB,MAAM,SAAS,UAAU,YAAY;AACxD,eAAS,UAAU,OAAO,wCAAgB;AAAA,IAC9C;AAAA,EACJ;AAAA,EAEA,MAAM,gBAAgB,UAAoB;AACtC,QAAI,CAAC,SAAS,UAAU,OAAO;AAC3B;AAAA,IACJ;AAEA,UAAM,KAAK,OAAO,eAAe,sBAAsB,QAAQ;AAAA,EACnE;AAAA,EAEA,MAAM,qBAAqB,UAAoB;AAC3C,QAAI,CAAC,SAAS,UAAU,SAAS,SAAS,WAAW,GAAG;AACpD;AAAA,IACJ;AAEA,SAAK,OAAO,eAAe,2BAA2B,QAAQ;AAAA,EAClE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,cAAc,UAAoB,MAAsC;AACpE,UAAM,QAAQ,KAAK,OAAO,iBAAiB,QAAQ,EAAE,uBAAuB,KAAK,EAAE;AAEnF,WAAO,IAAI,mDAAsB,UAAU,MAAM,OAAO,SAAS,UAAU,WAAW,IAAI,CAAC;AAAA,EAC/F;AAAA;AAAA;AAAA;AAAA,EAKA,cAAc,UAAoB;AAC9B,UAAM,YACF,SAAS,UAAU,UAAU,oBAAoB,SAAS,UAAU,UAAU;AAClF,QAAI,WAAW;AACX,YAAM,WAAW;AAAA,QACb,GAAG,IAAI,UAAU,MAAM;AAAA,QACvB,GAAG,SAAS,UAAU,YAAY,SAAS;AAAA,MAC/C;AAEA,UAAIA,MAAM,SAAoC;AAC9C,UAAIA,KAAI;AACJ,eAAOA;AAAA,MACX;AAEA,MAAAA,MAAM,SAAoC;AAC1C,UAAIA,KAAI;AACJ,eAAOA;AAAA,MACX;AAAA,IACJ;AAEA,QAAI,EAAE,SAAS,iBAAiB,2BAAW;AACvC,YAAM,IAAI,6BAAc,2DAA2D;AAAA,IACvF;AACA,QAAI,CAAC,SAAS,MAAM,UAAU,OAAO;AACjC,YAAM,IAAI,6BAAc,2DAA2D;AAAA,IACvF;AAEA,UAAM,QAAQ,SAAS,MAAM,MAAM,QAAQ,QAAQ;AACnD,QAAI,UAAU,IAAI;AACd,YAAM,IAAI,6BAAc,wEAAwE;AAAA,IACpG;AAGA,UAAM,KAAK,OAAO,KAAK;AACvB,WAAO,KAAK,wBAAwB,EAAE,iBAAiB,SAAS,KAAK,oCAAoC;AAEzG,WAAO;AAAA,EACX;AACJ;",
5
5
  "names": ["id"]
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ServerEnvironment.d.ts","sourceRoot":"","sources":["../../../../src/node/server/ServerEnvironment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAU,UAAU,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAMtD;;GAEG;AACH,yBAAiB,iBAAiB,CAAC;IAC/B,sGAAsG;IAC/F,MAAM,yBAAyB,yBAAe,CAAC;IAEtD,SAAsB,UAAU,CAAC,IAAI,EAAE,UAAU,iBAwBhD;IAED,SAAsB,KAAK,CAAC,IAAI,EAAE,UAAU,iBAM3C;CACJ"}
1
+ {"version":3,"file":"ServerEnvironment.d.ts","sourceRoot":"","sources":["../../../../src/node/server/ServerEnvironment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAU,UAAU,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAKtD;;GAEG;AACH,yBAAiB,iBAAiB,CAAC;IAC/B,sGAAsG;IAC/F,MAAM,yBAAyB,yBAAe,CAAC;IAEtD,SAAsB,UAAU,CAAC,IAAI,EAAE,UAAU,iBAuBhD;IAED,SAAsB,KAAK,CAAC,IAAI,EAAE,UAAU,iBAM3C;CACJ"}
@@ -26,7 +26,6 @@ var import_EndpointInitializer = require("#endpoint/properties/EndpointInitializ
26
26
  var import_general = require("#general");
27
27
  var import_ServerEndpointInitializer = require("#node/server/ServerEndpointInitializer.js");
28
28
  var import_protocol = require("#protocol");
29
- var import_NodeStore = require("#storage/NodeStore.js");
30
29
  var import_ServerNodeStore = require("#storage/server/ServerNodeStore.js");
31
30
  var import_IdentityService = require("./IdentityService.js");
32
31
  /**
@@ -40,7 +39,6 @@ var ServerEnvironment;
40
39
  async function initialize(node) {
41
40
  const { env } = node;
42
41
  const store = await import_ServerNodeStore.ServerNodeStore.create(env, node.id);
43
- env.set(import_NodeStore.NodeStore, store);
44
42
  env.set(import_ServerNodeStore.ServerNodeStore, store);
45
43
  env.set(import_EndpointInitializer.EndpointInitializer, new import_ServerEndpointInitializer.ServerEndpointInitializer(env));
46
44
  env.set(import_IdentityService.IdentityService, new import_IdentityService.IdentityService(node));
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/node/server/ServerEnvironment.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qCAA8C;AAC9C,iCAAoC;AACpC,qBAAmC;AACnC,uCAA0C;AAE1C,sBAA8C;AAC9C,uBAA0B;AAC1B,6BAAgC;AAChC,6BAAgC;AAdhC;AAAA;AAAA;AAAA;AAAA;AAmBO,IAAU;AAAA,CAAV,CAAUA,uBAAV;AAEI,EAAMA,mBAAA,gCAA4B,2BAAW;AAEpD,iBAAsB,WAAW,MAAkB;AAC/C,UAAM,EAAE,IAAI,IAAI;AAGhB,UAAM,QAAQ,MAAM,uCAAgB,OAAO,KAAK,KAAK,EAAE;AACvD,QAAI,IAAI,4BAAW,KAAK;AACxB,QAAI,IAAI,wCAAiB,KAAK;AAC9B,QAAI,IAAI,gDAAqB,IAAI,2DAA0B,GAAG,CAAC;AAC/D,QAAI,IAAI,wCAAiB,IAAI,uCAAgB,IAAI,CAAC;AAGlD,UAAM,UAAU,MAAM,IAAI,KAAK,6BAAa;AAE5C,YAAQ,OAAO,QAAQ,GAAG,YAAY;AAClC,YAAM,gBAAgB,QAAQ,QAAQ,IAAI,YAAU,OAAO,WAAW;AACtE,UAAI,cAAc,SAAS,GAAG;AAC1B,kBAAM,8DAA8B,MAAM,aAAa;AAAA,MAC3D;AACA,MAAAA,mBAAA,0BAA0B,KAAK;AAAA,IACnC,CAAC;AAED,UAAM,IAAI,KAAK,8BAAc;AAE7B,QAAI,IAAI,qBAAM,EAAE,YAAY,KAAK,EAAE;AAAA,EACvC;AAxBA,EAAAA,mBAAsB;AA0BtB,iBAAsB,MAAM,MAAkB;AAC1C,UAAM,EAAE,IAAI,IAAI;AAEhB,QAAI,MAAM,6BAAa;AACvB,UAAM,IAAI,MAAM,8BAAc;AAC9B,UAAM,IAAI,MAAM,sCAAe;AAAA,EACnC;AANA,EAAAA,mBAAsB;AAAA,GA9BT;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qCAA8C;AAC9C,iCAAoC;AACpC,qBAAmC;AACnC,uCAA0C;AAE1C,sBAA8C;AAC9C,6BAAgC;AAChC,6BAAgC;AAbhC;AAAA;AAAA;AAAA;AAAA;AAkBO,IAAU;AAAA,CAAV,CAAUA,uBAAV;AAEI,EAAMA,mBAAA,gCAA4B,2BAAW;AAEpD,iBAAsB,WAAW,MAAkB;AAC/C,UAAM,EAAE,IAAI,IAAI;AAGhB,UAAM,QAAQ,MAAM,uCAAgB,OAAO,KAAK,KAAK,EAAE;AACvD,QAAI,IAAI,wCAAiB,KAAK;AAC9B,QAAI,IAAI,gDAAqB,IAAI,2DAA0B,GAAG,CAAC;AAC/D,QAAI,IAAI,wCAAiB,IAAI,uCAAgB,IAAI,CAAC;AAGlD,UAAM,UAAU,MAAM,IAAI,KAAK,6BAAa;AAE5C,YAAQ,OAAO,QAAQ,GAAG,YAAY;AAClC,YAAM,gBAAgB,QAAQ,QAAQ,IAAI,YAAU,OAAO,WAAW;AACtE,UAAI,cAAc,SAAS,GAAG;AAC1B,kBAAM,8DAA8B,MAAM,aAAa;AAAA,MAC3D;AACA,MAAAA,mBAAA,0BAA0B,KAAK;AAAA,IACnC,CAAC;AAED,UAAM,IAAI,KAAK,8BAAc;AAE7B,QAAI,IAAI,qBAAM,EAAE,YAAY,KAAK,EAAE;AAAA,EACvC;AAvBA,EAAAA,mBAAsB;AAyBtB,iBAAsB,MAAM,MAAkB;AAC1C,UAAM,EAAE,IAAI,IAAI;AAEhB,QAAI,MAAM,6BAAa;AACvB,UAAM,IAAI,MAAM,8BAAc;AAC9B,UAAM,IAAI,MAAM,sCAAe;AAAA,EACnC;AANA,EAAAA,mBAAsB;AAAA,GA7BT;",
5
5
  "names": ["ServerEnvironment"]
6
6
  }
@@ -5,22 +5,22 @@
5
5
  */
6
6
  import { StorageContext } from "#general";
7
7
  import { Val } from "#protocol";
8
- import { DatasourceStore } from "./server/DatasourceStore.js";
9
8
  /**
10
9
  * Persistence for state values associated with a specific endpoint.
11
10
  */
12
11
  export declare class EndpointStore {
13
12
  #private;
14
- protected initialValues: Record<string, Val.Struct>;
13
+ protected initialValues: Map<string, Val.Struct>;
15
14
  constructor(storage: StorageContext);
16
15
  /**
17
16
  * Retrieve the primary key used to identify this store.
18
17
  */
19
18
  get id(): string;
20
19
  /**
21
- * Create a {@link Datasource.Store} for a behavior.
20
+ * Extract initial values for a behavior. Derivatives invoke this when instantiating a store. The values are then
21
+ * owned by the store.
22
22
  */
23
- createStoreForBehavior<T extends DatasourceStore.Type>(behaviorId: string, factory: T): ReturnType<T>;
23
+ protected consumeInitialValues(behaviorId: string): Val.Struct | undefined;
24
24
  /**
25
25
  * Patch values. Keyed by {@link Behavior.id} then property name.
26
26
  *
@@ -1 +1 @@
1
- {"version":3,"file":"EndpointStore.d.ts","sourceRoot":"","sources":["../../../src/storage/EndpointStore.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAyB,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D;;GAEG;AACH,qBAAa,aAAa;;IACtB,SAAS,CAAC,aAAa,EAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;gBAM/C,OAAO,EAAE,cAAc;IAInC;;OAEG;IACH,IAAI,EAAE,WAEL;IAED;;OAEG;IACH,sBAAsB,CAAC,CAAC,SAAS,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IASrG;;;;OAIG;IACG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC;IAkCxD;;OAEG;IACH,QAAQ;IAIR;;OAEG;IACH,IAAI,cAAc,gBAEjB;IAED;;OAEG;IACG,IAAI;IAgBV;;OAEG;IACH,KAAK;IAIL,SAAS,KAAK,OAAO,wBAEpB;CACJ"}
1
+ {"version":3,"file":"EndpointStore.d.ts","sourceRoot":"","sources":["../../../src/storage/EndpointStore.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAyB,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC;;GAEG;AACH,qBAAa,aAAa;;IACtB,SAAS,CAAC,aAAa,0BAAiC;gBAM5C,OAAO,EAAE,cAAc;IAInC;;OAEG;IACH,IAAI,EAAE,WAEL;IAED;;;OAGG;IACH,SAAS,CAAC,oBAAoB,CAAC,UAAU,EAAE,MAAM;IAQjD;;;;OAIG;IACG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC;IAkCxD;;OAEG;IACH,QAAQ;IAIR;;OAEG;IACH,IAAI,cAAc,gBAEjB;IAED;;OAEG;IACG,IAAI;IAiBV;;OAEG;IACH,KAAK;IAIL,SAAS,KAAK,OAAO,wBAEpB;CACJ"}
@@ -27,7 +27,7 @@ module.exports = __toCommonJS(EndpointStore_exports);
27
27
  * SPDX-License-Identifier: Apache-2.0
28
28
  */
29
29
  class EndpointStore {
30
- initialValues = {};
30
+ initialValues = /* @__PURE__ */ new Map();
31
31
  #storage;
32
32
  #knownBehaviors = /* @__PURE__ */ new Set();
33
33
  constructor(storage) {
@@ -40,14 +40,15 @@ class EndpointStore {
40
40
  return this.storage.thisContexts[this.storage.thisContexts.length - 1];
41
41
  }
42
42
  /**
43
- * Create a {@link Datasource.Store} for a behavior.
43
+ * Extract initial values for a behavior. Derivatives invoke this when instantiating a store. The values are then
44
+ * owned by the store.
44
45
  */
45
- createStoreForBehavior(behaviorId, factory) {
46
- const initialValues = this.initialValues[behaviorId];
46
+ consumeInitialValues(behaviorId) {
47
+ const initialValues = this.initialValues.get(behaviorId);
47
48
  if (initialValues !== void 0) {
48
- delete this.initialValues[behaviorId];
49
+ this.initialValues.delete(behaviorId);
49
50
  }
50
- return factory(this, behaviorId, initialValues);
51
+ return initialValues;
51
52
  }
52
53
  /**
53
54
  * Patch values. Keyed by {@link Behavior.id} then property name.
@@ -102,7 +103,8 @@ class EndpointStore {
102
103
  async load() {
103
104
  this.#knownBehaviors = new Set(await this.storage.contexts());
104
105
  for (const behaviorId of this.#knownBehaviors) {
105
- const behaviorValues = this.initialValues[behaviorId] = {};
106
+ const behaviorValues = {};
107
+ this.initialValues.set(behaviorId, behaviorValues);
106
108
  const behaviorStorage = this.storage.createContext(behaviorId);
107
109
  const storedValues = await behaviorStorage.values();
108
110
  for (const [key, value] of Object.entries(storedValues)) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/storage/EndpointStore.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAcO,MAAM,cAAc;AAAA,EACb,gBAAgB,CAAC;AAAA,EAE3B;AAAA,EAEA,kBAAkB,oBAAI,IAAY;AAAA,EAElC,YAAY,SAAyB;AACjC,SAAK,WAAW;AAAA,EACpB;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,KAAK;AACL,WAAO,KAAK,QAAQ,aAAa,KAAK,QAAQ,aAAa,SAAS,CAAC;AAAA,EACzE;AAAA;AAAA;AAAA;AAAA,EAKA,uBAAuD,YAAoB,SAA2B;AAClG,UAAM,gBAAgB,KAAK,cAAc,UAAU;AACnD,QAAI,kBAAkB,QAAW;AAC7B,aAAO,KAAK,cAAc,UAAU;AAAA,IACxC;AAEA,WAAO,QAAQ,MAAM,YAAY,aAAa;AAAA,EAClD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,IAAI,QAAgD;AACtD,eAAW,cAAc,QAAQ;AAC7B,YAAM,iBAAiB,OAAO,UAAU;AACxC,YAAM,kBAAkB,KAAK,QAAQ,cAAc,UAAU;AAE7D,UAAI,mBAAmB,QAAW;AAC9B,YAAI,KAAK,eAAe,IAAI,UAAU,GAAG;AACrC,gBAAM,gBAAgB,SAAS;AAC/B,eAAK,eAAe,OAAO,UAAU;AAAA,QACzC;AACA;AAAA,MACJ;AAEA,UAAI,CAAC,KAAK,eAAe,IAAI,UAAU,GAAG;AACtC,aAAK,eAAe,IAAI,UAAU;AAAA,MACtC;AAEA,YAAM,SAAS,CAAC;AAChB,UAAI,aAAa;AACjB,iBAAW,OAAO,gBAAgB;AAC9B,cAAM,QAAQ,eAAe,GAAG;AAChC,YAAI,UAAU,QAAW;AACrB,gBAAM,gBAAgB,OAAO,GAAG;AAAA,QACpC,OAAO;AACH,iBAAO,GAAG,IAAI;AACd;AAAA,QACJ;AAAA,MACJ;AACA,UAAI,aAAa,GAAG;AAChB,cAAM,gBAAgB,IAAI,MAAM;AAAA,MACpC;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,WAAW;AACP,WAAO,WAAW,KAAK,SAAS,aAAa,KAAK,GAAG,CAAC;AAAA,EAC1D;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,iBAAiB;AACjB,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,OAAO;AACT,SAAK,kBAAkB,IAAI,IAAI,MAAM,KAAK,QAAQ,SAAS,CAAC;AAE5D,eAAW,cAAc,KAAK,iBAAiB;AAC3C,YAAM,iBAAkB,KAAK,cAAc,UAAU,IAAI,CAAC;AAC1D,YAAM,kBAAkB,KAAK,QAAQ,cAAc,UAAU;AAE7D,YAAM,eAAe,MAAM,gBAAgB,OAAO;AAClD,iBAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,YAAY,GAAG;AACrD,YAAI,UAAU,QAAW;AACrB,yBAAe,GAAG,IAAI;AAAA,QAC1B;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ;AACJ,WAAO,KAAK,QAAQ,SAAS;AAAA,EACjC;AAAA,EAEA,IAAc,UAAU;AACpB,WAAO,KAAK;AAAA,EAChB;AACJ;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAaO,MAAM,cAAc;AAAA,EACb,gBAAgB,oBAAI,IAAwB;AAAA,EAEtD;AAAA,EAEA,kBAAkB,oBAAI,IAAY;AAAA,EAElC,YAAY,SAAyB;AACjC,SAAK,WAAW;AAAA,EACpB;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,KAAK;AACL,WAAO,KAAK,QAAQ,aAAa,KAAK,QAAQ,aAAa,SAAS,CAAC;AAAA,EACzE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMU,qBAAqB,YAAoB;AAC/C,UAAM,gBAAgB,KAAK,cAAc,IAAI,UAAU;AACvD,QAAI,kBAAkB,QAAW;AAC7B,WAAK,cAAc,OAAO,UAAU;AAAA,IACxC;AACA,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,IAAI,QAAgD;AACtD,eAAW,cAAc,QAAQ;AAC7B,YAAM,iBAAiB,OAAO,UAAU;AACxC,YAAM,kBAAkB,KAAK,QAAQ,cAAc,UAAU;AAE7D,UAAI,mBAAmB,QAAW;AAC9B,YAAI,KAAK,eAAe,IAAI,UAAU,GAAG;AACrC,gBAAM,gBAAgB,SAAS;AAC/B,eAAK,eAAe,OAAO,UAAU;AAAA,QACzC;AACA;AAAA,MACJ;AAEA,UAAI,CAAC,KAAK,eAAe,IAAI,UAAU,GAAG;AACtC,aAAK,eAAe,IAAI,UAAU;AAAA,MACtC;AAEA,YAAM,SAAS,CAAC;AAChB,UAAI,aAAa;AACjB,iBAAW,OAAO,gBAAgB;AAC9B,cAAM,QAAQ,eAAe,GAAG;AAChC,YAAI,UAAU,QAAW;AACrB,gBAAM,gBAAgB,OAAO,GAAG;AAAA,QACpC,OAAO;AACH,iBAAO,GAAG,IAAI;AACd;AAAA,QACJ;AAAA,MACJ;AACA,UAAI,aAAa,GAAG;AAChB,cAAM,gBAAgB,IAAI,MAAM;AAAA,MACpC;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,WAAW;AACP,WAAO,WAAW,KAAK,SAAS,aAAa,KAAK,GAAG,CAAC;AAAA,EAC1D;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,iBAAiB;AACjB,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,OAAO;AACT,SAAK,kBAAkB,IAAI,IAAI,MAAM,KAAK,QAAQ,SAAS,CAAC;AAE5D,eAAW,cAAc,KAAK,iBAAiB;AAC3C,YAAM,iBAAiB,CAAC;AACxB,WAAK,cAAc,IAAI,YAAY,cAAc;AACjD,YAAM,kBAAkB,KAAK,QAAQ,cAAc,UAAU;AAE7D,YAAM,eAAe,MAAM,gBAAgB,OAAO;AAClD,iBAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,YAAY,GAAG;AACrD,YAAI,UAAU,QAAW;AACrB,yBAAe,GAAG,IAAI;AAAA,QAC1B;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ;AACJ,WAAO,KAAK,QAAQ,SAAS;AAAA,EACjC;AAAA,EAEA,IAAc,UAAU;AACpB,WAAO,KAAK;AAAA,EAChB;AACJ;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { StorageContext, Transaction } from "#general";
7
+ import { EndpointStore } from "#storage/EndpointStore.js";
8
+ import type { EndpointNumber } from "#types";
9
+ import type { ClientNodeStore } from "./ClientNodeStore.js";
10
+ export declare class ClientEndpointStore extends EndpointStore {
11
+ #private;
12
+ constructor(owner: ClientNodeStore, number: EndpointNumber, storage: StorageContext);
13
+ get number(): EndpointNumber;
14
+ participantFor(transaction: Transaction): import("#general").Participant;
15
+ /**
16
+ * Create a {@link Datasource.ExternallyMutableStore} for a behavior.
17
+ */
18
+ createStoreForBehavior(behaviorId: string): import("../../behavior/state/managed/Datasource.js").Datasource.ExternallyMutableStore;
19
+ /**
20
+ * Create a {@link Datasource.Store} for a behavior that does not track a remote cluster.
21
+ */
22
+ createStoreForLocalBehavior(behaviorId: string): import("../../behavior/state/managed/Datasource.js").Datasource.Store;
23
+ }
24
+ //# sourceMappingURL=ClientEndpointStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClientEndpointStore.d.ts","sourceRoot":"","sources":["../../../../src/storage/client/ClientEndpointStore.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAI5D,qBAAa,mBAAoB,SAAQ,aAAa;;gBAItC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc;IAMnF,IAAI,MAAM,mBAET;IAED,cAAc,CAAC,WAAW,EAAE,WAAW;IASvC;;OAEG;IACH,sBAAsB,CAAC,UAAU,EAAE,MAAM;IAKzC;;OAEG;IACH,2BAA2B,CAAC,UAAU,EAAE,MAAM;CAIjD"}
@@ -0,0 +1,67 @@
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 ClientEndpointStore_exports = {};
20
+ __export(ClientEndpointStore_exports, {
21
+ ClientEndpointStore: () => ClientEndpointStore
22
+ });
23
+ module.exports = __toCommonJS(ClientEndpointStore_exports);
24
+ var import_EndpointStore = require("#storage/EndpointStore.js");
25
+ var import_DatasourceStore = require("#storage/server/DatasourceStore.js");
26
+ var import_DatasourceCache = require("./DatasourceCache.js");
27
+ var import_RemoteWriteParticipant = require("./RemoteWriteParticipant.js");
28
+ /**
29
+ * @license
30
+ * Copyright 2022-2025 Matter.js Authors
31
+ * SPDX-License-Identifier: Apache-2.0
32
+ */
33
+ class ClientEndpointStore extends import_EndpointStore.EndpointStore {
34
+ #owner;
35
+ #number;
36
+ constructor(owner, number, storage) {
37
+ super(storage);
38
+ this.#owner = owner;
39
+ this.#number = number;
40
+ }
41
+ get number() {
42
+ return this.#number;
43
+ }
44
+ participantFor(transaction) {
45
+ let participant = transaction.getParticipant(this.#owner);
46
+ if (participant === void 0) {
47
+ participant = new import_RemoteWriteParticipant.RemoteWriteParticipant(this.#owner);
48
+ transaction.addParticipants(participant);
49
+ }
50
+ return participant;
51
+ }
52
+ /**
53
+ * Create a {@link Datasource.ExternallyMutableStore} for a behavior.
54
+ */
55
+ createStoreForBehavior(behaviorId) {
56
+ const initialValues = this.consumeInitialValues(behaviorId);
57
+ return (0, import_DatasourceCache.DatasourceCache)(this, behaviorId, initialValues);
58
+ }
59
+ /**
60
+ * Create a {@link Datasource.Store} for a behavior that does not track a remote cluster.
61
+ */
62
+ createStoreForLocalBehavior(behaviorId) {
63
+ const initialValues = this.consumeInitialValues(behaviorId);
64
+ return (0, import_DatasourceStore.DatasourceStore)(this, behaviorId, initialValues);
65
+ }
66
+ }
67
+ //# sourceMappingURL=ClientEndpointStore.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/storage/client/ClientEndpointStore.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,2BAA8B;AAC9B,6BAAgC;AAGhC,6BAAgC;AAChC,oCAAuC;AAZvC;AAAA;AAAA;AAAA;AAAA;AAcO,MAAM,4BAA4B,mCAAc;AAAA,EACnD;AAAA,EACA;AAAA,EAEA,YAAY,OAAwB,QAAwB,SAAyB;AACjF,UAAM,OAAO;AACb,SAAK,SAAS;AACd,SAAK,UAAU;AAAA,EACnB;AAAA,EAEA,IAAI,SAAS;AACT,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,eAAe,aAA0B;AACrC,QAAI,cAAc,YAAY,eAAe,KAAK,MAAM;AACxD,QAAI,gBAAgB,QAAW;AAC3B,oBAAc,IAAI,qDAAuB,KAAK,MAAM;AACpD,kBAAY,gBAAgB,WAAW;AAAA,IAC3C;AACA,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAKA,uBAAuB,YAAoB;AACvC,UAAM,gBAAgB,KAAK,qBAAqB,UAAU;AAC1D,eAAO,wCAAgB,MAAM,YAAY,aAAa;AAAA,EAC1D;AAAA;AAAA;AAAA;AAAA,EAKA,4BAA4B,YAAoB;AAC5C,UAAM,gBAAgB,KAAK,qBAAqB,UAAU;AAC1D,eAAO,wCAAgB,MAAM,YAAY,aAAa;AAAA,EAC1D;AACJ;",
5
+ "names": []
6
+ }
@@ -4,13 +4,23 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { Endpoint } from "#endpoint/Endpoint.js";
7
- import { EndpointStore } from "#storage/EndpointStore.js";
7
+ import { StorageContextFactory } from "#general";
8
8
  import { NodeStore } from "../NodeStore.js";
9
+ import { ClientEndpointStore } from "./ClientEndpointStore.js";
10
+ import type { RemoteWriter } from "./RemoteWriter.js";
11
+ /**
12
+ * {@link ClientNode} persistence.
13
+ */
9
14
  export declare class ClientNodeStore extends NodeStore {
10
15
  #private;
11
- get endpointStores(): MapIterator<EndpointStore>;
16
+ constructor(id: string, storage: StorageContextFactory);
17
+ toString(): string;
18
+ get id(): string;
19
+ get write(): RemoteWriter;
20
+ set write(write: RemoteWriter);
21
+ get endpointStores(): MapIterator<ClientEndpointStore>;
12
22
  erase(): void | Promise<void> | undefined;
13
- storeForEndpoint(endpoint: Endpoint): EndpointStore;
23
+ storeForEndpoint(endpoint: Endpoint): ClientEndpointStore;
14
24
  protected load(): Promise<void>;
15
25
  }
16
26
  //# sourceMappingURL=ClientNodeStore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClientNodeStore.d.ts","sourceRoot":"","sources":["../../../../src/storage/client/ClientNodeStore.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,qBAAa,eAAgB,SAAQ,SAAS;;IAI1C,IAAI,cAAc,+BAEjB;IAEQ,KAAK;IAKL,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,aAAa;cAgBnC,IAAI;CAahC"}
1
+ {"version":3,"file":"ClientNodeStore.d.ts","sourceRoot":"","sources":["../../../../src/storage/client/ClientNodeStore.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAiC,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAGhF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS;;gBAM9B,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB;IAK7C,QAAQ;IAIjB,IAAI,EAAE,WAEL;IAED,IAAI,KAAK,IAQQ,YAAY,CAF5B;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,YAAY,EAE5B;IAED,IAAI,cAAc,qCAEjB;IAEQ,KAAK;IAKL,gBAAgB,CAAC,QAAQ,EAAE,QAAQ;cAgBnB,IAAI;CAahC"}
@@ -22,16 +22,37 @@ __export(ClientNodeStore_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(ClientNodeStore_exports);
24
24
  var import_general = require("#general");
25
- var import_EndpointStore = require("#storage/EndpointStore.js");
26
25
  var import_NodeStore = require("../NodeStore.js");
26
+ var import_ClientEndpointStore = require("./ClientEndpointStore.js");
27
27
  /**
28
28
  * @license
29
29
  * Copyright 2022-2025 Matter.js Authors
30
30
  * SPDX-License-Identifier: Apache-2.0
31
31
  */
32
32
  class ClientNodeStore extends import_NodeStore.NodeStore {
33
+ #id;
33
34
  #storage;
34
35
  #stores = /* @__PURE__ */ new Map();
36
+ #write;
37
+ constructor(id, storage) {
38
+ super(storage);
39
+ this.#id = id;
40
+ }
41
+ toString() {
42
+ return `client-node-store#${this.#id}`;
43
+ }
44
+ get id() {
45
+ return this.#id;
46
+ }
47
+ get write() {
48
+ if (this.#write === void 0) {
49
+ throw new import_general.InternalError("Write attempt on ClientNodeStore without writer installed");
50
+ }
51
+ return this.#write;
52
+ }
53
+ set write(write) {
54
+ this.#write = write;
55
+ }
35
56
  get endpointStores() {
36
57
  return this.#stores.values();
37
58
  }
@@ -46,7 +67,7 @@ class ClientNodeStore extends import_NodeStore.NodeStore {
46
67
  }
47
68
  let store = this.#stores.get(number);
48
69
  if (store === void 0) {
49
- store = new import_EndpointStore.EndpointStore(this.#storage.createContext(number.toString()));
70
+ store = new import_ClientEndpointStore.ClientEndpointStore(this, number, this.#storage.createContext(number.toString()));
50
71
  this.#stores.set(number, store);
51
72
  }
52
73
  return store;
@@ -58,7 +79,7 @@ class ClientNodeStore extends import_NodeStore.NodeStore {
58
79
  if (Number.isNaN(number)) {
59
80
  continue;
60
81
  }
61
- const store = new import_EndpointStore.EndpointStore(this.#storage.createContext(id));
82
+ const store = new import_ClientEndpointStore.ClientEndpointStore(this, number, this.#storage.createContext(id));
62
83
  await store.load();
63
84
  this.#stores.set(number, store);
64
85
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/storage/client/ClientNodeStore.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,qBAA8C;AAC9C,2BAA8B;AAE9B,uBAA0B;AAV1B;AAAA;AAAA;AAAA;AAAA;AAYO,MAAM,wBAAwB,2BAAU;AAAA,EAC3C;AAAA,EACA,UAAU,oBAAI,IAAmC;AAAA,EAEjD,IAAI,iBAAiB;AACjB,WAAO,KAAK,QAAQ,OAAO;AAAA,EAC/B;AAAA,EAES,QAAQ;AACb,SAAK,UAAU,oBAAI,IAAI;AACvB,WAAO,KAAK,UAAU,SAAS;AAAA,EACnC;AAAA,EAES,iBAAiB,UAAmC;AACzD,UAAM,EAAE,OAAO,IAAI;AAEnB,QAAI,KAAK,aAAa,QAAW;AAC7B,YAAM,IAAI,6BAAc,oBAAoB,KAAK,SAAS,CAAC,cAAc,MAAM,uBAAuB;AAAA,IAC1G;AAEA,QAAI,QAAQ,KAAK,QAAQ,IAAI,MAAM;AACnC,QAAI,UAAU,QAAW;AACrB,cAAQ,IAAI,mCAAc,KAAK,SAAS,cAAc,OAAO,SAAS,CAAC,CAAC;AACxE,WAAK,QAAQ,IAAI,QAAQ,KAAK;AAAA,IAClC;AAEA,WAAO;AAAA,EACX;AAAA,EAEA,MAAyB,OAAO;AAC5B,SAAK,WAAW,KAAK,eAAe,cAAc,WAAW;AAC7D,eAAW,MAAM,MAAM,KAAK,SAAS,SAAS,GAAG;AAC7C,YAAM,SAAS,OAAO,SAAS,EAAE;AACjC,UAAI,OAAO,MAAM,MAAM,GAAG;AACtB;AAAA,MACJ;AAEA,YAAM,QAAQ,IAAI,mCAAc,KAAK,SAAS,cAAc,EAAE,CAAC;AAC/D,YAAM,MAAM,KAAK;AACjB,WAAK,QAAQ,IAAI,QAAQ,KAAK;AAAA,IAClC;AAAA,EACJ;AACJ;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,qBAAqE;AAGrE,uBAA0B;AAC1B,iCAAoC;AAXpC;AAAA;AAAA;AAAA;AAAA;AAiBO,MAAM,wBAAwB,2BAAU;AAAA,EAC3C;AAAA,EACA;AAAA,EACA,UAAU,oBAAI,IAAyC;AAAA,EACvD;AAAA,EAEA,YAAY,IAAY,SAAgC;AACpD,UAAM,OAAO;AACb,SAAK,MAAM;AAAA,EACf;AAAA,EAES,WAAW;AAChB,WAAO,qBAAqB,KAAK,GAAG;AAAA,EACxC;AAAA,EAEA,IAAI,KAAK;AACL,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,QAAQ;AACR,QAAI,KAAK,WAAW,QAAW;AAC3B,YAAM,IAAI,6BAAc,2DAA2D;AAAA,IACvF;AAEA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,MAAM,OAAqB;AAC3B,SAAK,SAAS;AAAA,EAClB;AAAA,EAEA,IAAI,iBAAiB;AACjB,WAAO,KAAK,QAAQ,OAAO;AAAA,EAC/B;AAAA,EAES,QAAQ;AACb,SAAK,UAAU,oBAAI,IAAI;AACvB,WAAO,KAAK,UAAU,SAAS;AAAA,EACnC;AAAA,EAES,iBAAiB,UAAoB;AAC1C,UAAM,EAAE,OAAO,IAAI;AAEnB,QAAI,KAAK,aAAa,QAAW;AAC7B,YAAM,IAAI,6BAAc,oBAAoB,KAAK,SAAS,CAAC,cAAc,MAAM,uBAAuB;AAAA,IAC1G;AAEA,QAAI,QAAQ,KAAK,QAAQ,IAAI,MAAM;AACnC,QAAI,UAAU,QAAW;AACrB,cAAQ,IAAI,+CAAoB,MAAM,QAAQ,KAAK,SAAS,cAAc,OAAO,SAAS,CAAC,CAAC;AAC5F,WAAK,QAAQ,IAAI,QAAQ,KAAK;AAAA,IAClC;AAEA,WAAO;AAAA,EACX;AAAA,EAEA,MAAyB,OAAO;AAC5B,SAAK,WAAW,KAAK,eAAe,cAAc,WAAW;AAC7D,eAAW,MAAM,MAAM,KAAK,SAAS,SAAS,GAAG;AAC7C,YAAM,SAAS,OAAO,SAAS,EAAE;AACjC,UAAI,OAAO,MAAM,MAAM,GAAG;AACtB;AAAA,MACJ;AAEA,YAAM,QAAQ,IAAI,+CAAoB,MAAM,QAAQ,KAAK,SAAS,cAAc,EAAE,CAAC;AACnF,YAAM,MAAM,KAAK;AACjB,WAAK,QAAQ,IAAI,QAAQ,KAAK;AAAA,IAClC;AAAA,EACJ;AACJ;",
5
5
  "names": []
6
6
  }
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { Construction, StorageContext } from "#general";
7
7
  import type { ClientNode } from "#node/ClientNode.js";
8
- import { NodeStore } from "../NodeStore.js";
8
+ import { ClientNodeStore } from "./ClientNodeStore.js";
9
9
  /**
10
10
  * Manages {@link ClientNodeStore}s for a {@link Node}.
11
11
  */
@@ -26,7 +26,7 @@ export declare class ClientNodeStores {
26
26
  *
27
27
  * These stores are cached internally by ID.
28
28
  */
29
- storeForNode(node: ClientNode): NodeStore;
29
+ storeForNode(node: ClientNode): ClientNodeStore;
30
30
  /**
31
31
  * List all nodes present.
32
32
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ClientNodeStores.d.ts","sourceRoot":"","sources":["../../../../src/storage/client/ClientNodeStores.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAwB,cAAc,EAAE,MAAM,UAAU,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAK5C;;GAEG;AACH,qBAAa,gBAAgB;;IAMzB,IAAI,YAAY,mCAEf;gBAEW,OAAO,EAAE,cAAc;IAM7B,CAAC,YAAY,CAAC,SAAS,CAAC;IAwB9B;;;;;OAKG;IACH,UAAU;IAMV;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS;IAWzC;;OAEG;IACH,IAAI,QAAQ,aAIX;IAEK,KAAK;CAUd"}
1
+ {"version":3,"file":"ClientNodeStores.d.ts","sourceRoot":"","sources":["../../../../src/storage/client/ClientNodeStores.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAwB,cAAc,EAAE,MAAM,UAAU,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAIvD;;GAEG;AACH,qBAAa,gBAAgB;;IAMzB,IAAI,YAAY,mCAEf;gBAEW,OAAO,EAAE,cAAc;IAM7B,CAAC,YAAY,CAAC,SAAS,CAAC;IAwB9B;;;;;OAKG;IACH,UAAU;IAMV;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe;IAW/C;;OAEG;IACH,IAAI,QAAQ,aAIX;IAEK,KAAK;CAUd"}
@@ -95,7 +95,7 @@ class ClientNodeStores {
95
95
  await this.construction;
96
96
  }
97
97
  #createNodeStore(id) {
98
- const store = new import_ClientNodeStore.ClientNodeStore(this.#storage.createContext(id));
98
+ const store = new import_ClientNodeStore.ClientNodeStore(id, this.#storage.createContext(id));
99
99
  store.construction.start();
100
100
  this.#stores[id] = store;
101
101
  return store;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/storage/client/ClientNodeStores.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAmE;AAInE,6BAAgC;AAVhC;AAAA;AAAA;AAAA;AAAA;AAYA,MAAM,mBAAmB;AAKlB,MAAM,iBAAiB;AAAA,EAC1B;AAAA,EACA,UAAU,CAAC;AAAA,EACX;AAAA,EACA,mBAAmB;AAAA,EAEnB,IAAI,eAAe;AACf,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,YAAY,SAAyB;AACjC,SAAK,WAAW;AAChB,SAAK,oBAAgB,6BAAa,IAAI;AACtC,SAAK,cAAc,MAAM;AAAA,EAC7B;AAAA,EAEA,OAAO,4BAAa,SAAS,IAAI;AAC7B,UAAM,WAAW,MAAM,KAAK,SAAS,SAAS;AAE9C,eAAW,MAAM,UAAU;AACvB,UAAI,CAAC,GAAG,WAAW,gBAAgB,GAAG;AAClC;AAAA,MACJ;AAEA,YAAM,MAAM,OAAO,SAAS,GAAG,MAAM,iBAAiB,MAAM,CAAC;AAC7D,UAAI,CAAC,OAAO,MAAM,GAAG,GAAG;AACpB,YAAI,KAAK,oBAAoB,KAAK;AAC9B,eAAK,mBAAmB,MAAM;AAAA,QAClC;AAAA,MACJ;AAEA,WAAK,iBAAiB,EAAE;AAAA,IAC5B;AAEA,UAAM,oCAAqB;AAAA,MACvB,OAAO,OAAO,KAAK,OAAO,EAAE,IAAI,WAAS,MAAM,aAAa,KAAK;AAAA,MACjE;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,aAAa;AACT,SAAK,cAAc,OAAO;AAE1B,WAAO,GAAG,gBAAgB,GAAG,KAAK,kBAAkB;AAAA,EACxD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,aAAa,MAA6B;AACtC,SAAK,cAAc,OAAO;AAE1B,UAAM,QAAQ,KAAK,QAAQ,KAAK,EAAE;AAClC,QAAI,OAAO;AACP,aAAO;AAAA,IACX;AAEA,WAAO,KAAK,iBAAiB,KAAK,EAAE;AAAA,EACxC;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,WAAW;AACX,SAAK,cAAc,OAAO;AAE1B,WAAO,OAAO,KAAK,KAAK,OAAO;AAAA,EACnC;AAAA,EAEA,MAAM,QAAQ;AACV,UAAM,KAAK;AAAA,EACf;AAAA,EAEA,iBAAiB,IAAY;AACzB,UAAM,QAAQ,IAAI,uCAAgB,KAAK,SAAS,cAAc,EAAE,CAAC;AACjE,UAAM,aAAa,MAAM;AACzB,SAAK,QAAQ,EAAE,IAAI;AACnB,WAAO;AAAA,EACX;AACJ;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAmE;AAGnE,6BAAgC;AAThC;AAAA;AAAA;AAAA;AAAA;AAWA,MAAM,mBAAmB;AAKlB,MAAM,iBAAiB;AAAA,EAC1B;AAAA,EACA,UAAU,CAAC;AAAA,EACX;AAAA,EACA,mBAAmB;AAAA,EAEnB,IAAI,eAAe;AACf,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,YAAY,SAAyB;AACjC,SAAK,WAAW;AAChB,SAAK,oBAAgB,6BAAa,IAAI;AACtC,SAAK,cAAc,MAAM;AAAA,EAC7B;AAAA,EAEA,OAAO,4BAAa,SAAS,IAAI;AAC7B,UAAM,WAAW,MAAM,KAAK,SAAS,SAAS;AAE9C,eAAW,MAAM,UAAU;AACvB,UAAI,CAAC,GAAG,WAAW,gBAAgB,GAAG;AAClC;AAAA,MACJ;AAEA,YAAM,MAAM,OAAO,SAAS,GAAG,MAAM,iBAAiB,MAAM,CAAC;AAC7D,UAAI,CAAC,OAAO,MAAM,GAAG,GAAG;AACpB,YAAI,KAAK,oBAAoB,KAAK;AAC9B,eAAK,mBAAmB,MAAM;AAAA,QAClC;AAAA,MACJ;AAEA,WAAK,iBAAiB,EAAE;AAAA,IAC5B;AAEA,UAAM,oCAAqB;AAAA,MACvB,OAAO,OAAO,KAAK,OAAO,EAAE,IAAI,WAAS,MAAM,aAAa,KAAK;AAAA,MACjE;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,aAAa;AACT,SAAK,cAAc,OAAO;AAE1B,WAAO,GAAG,gBAAgB,GAAG,KAAK,kBAAkB;AAAA,EACxD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,aAAa,MAAmC;AAC5C,SAAK,cAAc,OAAO;AAE1B,UAAM,QAAQ,KAAK,QAAQ,KAAK,EAAE;AAClC,QAAI,OAAO;AACP,aAAO;AAAA,IACX;AAEA,WAAO,KAAK,iBAAiB,KAAK,EAAE;AAAA,EACxC;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,WAAW;AACX,SAAK,cAAc,OAAO;AAE1B,WAAO,OAAO,KAAK,KAAK,OAAO;AAAA,EACnC;AAAA,EAEA,MAAM,QAAQ;AACV,UAAM,KAAK;AAAA,EACf;AAAA,EAEA,iBAAiB,IAAY;AACzB,UAAM,QAAQ,IAAI,uCAAgB,IAAI,KAAK,SAAS,cAAc,EAAE,CAAC;AACrE,UAAM,aAAa,MAAM;AACzB,SAAK,QAAQ,EAAE,IAAI;AACnB,WAAO;AAAA,EACX;AACJ;",
5
5
  "names": []
6
6
  }
@@ -5,13 +5,13 @@
5
5
  */
6
6
  import { Datasource } from "#behavior/state/managed/Datasource.js";
7
7
  import { Val } from "#protocol";
8
- import { EndpointStore } from "#storage/EndpointStore.js";
8
+ import type { ClientEndpointStore } from "./ClientEndpointStore.js";
9
9
  /**
10
10
  * Factory function for the default implementation of {@link Datasource.ExternallyMutableStore}.
11
11
  *
12
12
  * This implements storage for attribute values for a single cluster loaded from remote nodes.
13
13
  */
14
- export declare function DatasourceCache(store: EndpointStore, behaviorId: string, initialValues: Val.Struct | undefined): Datasource.ExternallyMutableStore;
14
+ export declare function DatasourceCache(store: ClientEndpointStore, behaviorId: string, initialValues: Val.Struct | undefined): Datasource.ExternallyMutableStore;
15
15
  export declare namespace DatasourceCache {
16
16
  /**
17
17
  * Standard key for storing the version.
@@ -1 +1 @@
1
- {"version":3,"file":"DatasourceCache.d.ts","sourceRoot":"","sources":["../../../../src/storage/client/DatasourceCache.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAEnE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG1D;;;;GAIG;AACH,wBAAgB,eAAe,CAC3B,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,GAAG,CAAC,MAAM,GAAG,SAAS,GACtC,UAAU,CAAC,sBAAsB,CAoCnC;AAID,yBAAiB,eAAe,CAAC;IAC7B;;;;OAIG;IACI,MAAM,WAAW,gBAAgB,CAAC;CAC5C"}
1
+ {"version":3,"file":"DatasourceCache.d.ts","sourceRoot":"","sources":["../../../../src/storage/client/DatasourceCache.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAEnE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGpE;;;;GAIG;AACH,wBAAgB,eAAe,CAC3B,KAAK,EAAE,mBAAmB,EAC1B,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,GAAG,CAAC,MAAM,GAAG,SAAS,GACtC,UAAU,CAAC,sBAAsB,CAyCnC;AAED,yBAAiB,eAAe,CAAC;IAC7B;;;;OAIG;IACI,MAAM,WAAW,gBAAgB,CAAC;CAC5C"}
@@ -23,7 +23,6 @@ __export(DatasourceCache_exports, {
23
23
  module.exports = __toCommonJS(DatasourceCache_exports);
24
24
  var import_Datasource = require("#behavior/state/managed/Datasource.js");
25
25
  var import_general = require("#general");
26
- var import_DatasourceStore = require("../server/DatasourceStore.js");
27
26
  /**
28
27
  * @license
29
28
  * Copyright 2022-2025 Matter.js Authors
@@ -35,7 +34,11 @@ function DatasourceCache(store, behaviorId, initialValues) {
35
34
  version = import_Datasource.Datasource.UNKNOWN_VERSION;
36
35
  }
37
36
  return {
38
- ...(0, import_DatasourceStore.DatasourceStore)(store, behaviorId, initialValues),
37
+ initialValues,
38
+ async set(transaction, values) {
39
+ const participant = store.participantFor(transaction);
40
+ participant.set(store.number, behaviorId, values);
41
+ },
39
42
  async externalSet(values) {
40
43
  if (typeof values[DatasourceCache.VERSION_KEY] === "number") {
41
44
  version = values[DatasourceCache.VERSION_KEY];
@@ -59,7 +62,6 @@ function DatasourceCache(store, behaviorId, initialValues) {
59
62
  }
60
63
  };
61
64
  }
62
- DatasourceCache;
63
65
  ((DatasourceCache2) => {
64
66
  DatasourceCache2.VERSION_KEY = "__version__";
65
67
  })(DatasourceCache || (DatasourceCache = {}));
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/storage/client/DatasourceCache.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,wBAA2B;AAC3B,qBAA8B;AAG9B,6BAAgC;AAVhC;AAAA;AAAA;AAAA;AAAA;AAiBO,SAAS,gBACZ,OACA,YACA,eACiC;AACjC,MAAI,UAAU,gBAAgB,gBAAgB,WAAW;AACzD,MAAI,OAAO,YAAY,UAAU;AAC7B,cAAU,6BAAW;AAAA,EACzB;AAEA,SAAO;AAAA,IACH,OAAG,wCAAgB,OAAO,YAAY,aAAa;AAAA,IAEnD,MAAM,YAAY,QAAoB;AAClC,UAAI,OAAO,OAAO,gBAAgB,WAAW,MAAM,UAAU;AACzD,kBAAU,OAAO,gBAAgB,WAAW;AAAA,MAChD;AAEA,YAAM,MAAM,IAAI,EAAE,CAAC,UAAU,GAAG,OAAO,CAAC;AAExC,UAAI,KAAK,wBAAwB;AAC7B,cAAM,KAAK,uBAAuB,MAAM;AAAA,MAC5C,OAAO;AACH,YAAI,CAAC,KAAK,eAAe;AACrB,eAAK,gBAAgB,CAAC;AAAA,QAC1B;AACA,eAAO,OAAO,KAAK,eAAe,MAAM;AAAA,MAC5C;AAAA,IACJ;AAAA,IAEA,wBAAwB;AAAA,IAExB,IAAI,UAAU;AACV,aAAO;AAAA,IACX;AAAA,IAEA,IAAI,QAAQ,UAAkB;AAC1B,YAAM,IAAI,6BAAc,gDAAgD;AAAA,IAC5E;AAAA,EACJ;AACJ;AAEA;AAAA,CAEO,CAAUA,qBAAV;AAMI,EAAMA,iBAAA,cAAc;AAAA,GANd;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,wBAA2B;AAC3B,qBAA2C;AAP3C;AAAA;AAAA;AAAA;AAAA;AAiBO,SAAS,gBACZ,OACA,YACA,eACiC;AACjC,MAAI,UAAU,gBAAgB,gBAAgB,WAAW;AACzD,MAAI,OAAO,YAAY,UAAU;AAC7B,cAAU,6BAAW;AAAA,EACzB;AAEA,SAAO;AAAA,IACH;AAAA,IAEA,MAAM,IAAI,aAA0B,QAAoB;AACpD,YAAM,cAAc,MAAM,eAAe,WAAW;AACpD,kBAAY,IAAI,MAAM,QAAQ,YAAY,MAAM;AAAA,IACpD;AAAA,IAEA,MAAM,YAAY,QAAoB;AAClC,UAAI,OAAO,OAAO,gBAAgB,WAAW,MAAM,UAAU;AACzD,kBAAU,OAAO,gBAAgB,WAAW;AAAA,MAChD;AAEA,YAAM,MAAM,IAAI,EAAE,CAAC,UAAU,GAAG,OAAO,CAAC;AAExC,UAAI,KAAK,wBAAwB;AAC7B,cAAM,KAAK,uBAAuB,MAAM;AAAA,MAC5C,OAAO;AACH,YAAI,CAAC,KAAK,eAAe;AACrB,eAAK,gBAAgB,CAAC;AAAA,QAC1B;AACA,eAAO,OAAO,KAAK,eAAe,MAAM;AAAA,MAC5C;AAAA,IACJ;AAAA,IAEA,wBAAwB;AAAA,IAExB,IAAI,UAAU;AACV,aAAO;AAAA,IACX;AAAA,IAEA,IAAI,QAAQ,UAAkB;AAC1B,YAAM,IAAI,6BAAc,gDAAgD;AAAA,IAC5E;AAAA,EACJ;AACJ;AAAA,CAEO,CAAUA,qBAAV;AAMI,EAAMA,iBAAA,cAAc;AAAA,GANd;",
5
5
  "names": ["DatasourceCache"]
6
6
  }
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Transaction } from "#general";
7
+ import { Val } from "#protocol";
8
+ import { EndpointNumber } from "#types";
9
+ import type { ClientNodeStore } from "./ClientNodeStore.js";
10
+ /**
11
+ * A transaction participant that persists changes to a remote node.
12
+ *
13
+ * There is one of these for node/transaction pair. All attributes in a transaction commit with a single interaction.
14
+ */
15
+ export declare class RemoteWriteParticipant implements Transaction.Participant {
16
+ #private;
17
+ /**
18
+ * There is one participant for each transaction/client node pair. We therefore use the store as the role.
19
+ */
20
+ get role(): ClientNodeStore;
21
+ /**
22
+ * Add an attribute update to the write request.
23
+ */
24
+ set(endpointNumber: EndpointNumber, behaviorId: string, values: Val.Struct): void;
25
+ commit2(): Promise<void>;
26
+ rollback(): void;
27
+ toString(): string;
28
+ constructor(store: ClientNodeStore);
29
+ }
30
+ //# sourceMappingURL=RemoteWriteParticipant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RemoteWriteParticipant.d.ts","sourceRoot":"","sources":["../../../../src/storage/client/RemoteWriteParticipant.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D;;;;GAIG;AACH,qBAAa,sBAAuB,YAAW,WAAW,CAAC,WAAW;;IAIlE;;OAEG;IACH,IAAI,IAAI,oBAEP;IAED;;OAEG;IACH,GAAG,CAAC,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM;IAQpE,OAAO;IAWb,QAAQ;IAIR,QAAQ;gBAII,KAAK,EAAE,eAAe;CAGrC"}