@xyo-network/sdk 7.4.1 → 8.0.0

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 (353) hide show
  1. package/dist/neutral/api-location-diviner.mjs +1 -1
  2. package/dist/neutral/api-location-diviner.mjs.map +2 -2
  3. package/dist/neutral/archivist-abstract.mjs +34 -28
  4. package/dist/neutral/archivist-abstract.mjs.map +2 -2
  5. package/dist/neutral/archivist-generic.mjs +5 -3
  6. package/dist/neutral/archivist-generic.mjs.map +2 -2
  7. package/dist/neutral/archivist-memory.mjs +6 -5
  8. package/dist/neutral/archivist-memory.mjs.map +2 -2
  9. package/dist/neutral/archivist-model.mjs +14 -7
  10. package/dist/neutral/archivist-model.mjs.map +2 -2
  11. package/dist/neutral/archivist-view.mjs +5 -3
  12. package/dist/neutral/archivist-view.mjs.map +2 -2
  13. package/dist/neutral/archivist-wrapper.mjs +22 -4
  14. package/dist/neutral/archivist-wrapper.mjs.map +2 -2
  15. package/dist/neutral/boundwitness-loader.mjs +13 -7
  16. package/dist/neutral/boundwitness-loader.mjs.map +2 -2
  17. package/dist/neutral/bridge-abstract.mjs +43 -29
  18. package/dist/neutral/bridge-abstract.mjs.map +2 -2
  19. package/dist/neutral/bridge-http.mjs +23 -20
  20. package/dist/neutral/bridge-http.mjs.map +2 -2
  21. package/dist/neutral/bridge-model.mjs +4 -2
  22. package/dist/neutral/bridge-model.mjs.map +2 -2
  23. package/dist/neutral/bridge-wrapper.mjs +22 -5
  24. package/dist/neutral/bridge-wrapper.mjs.map +2 -2
  25. package/dist/neutral/bridge.mjs.map +2 -2
  26. package/dist/neutral/diviner-abstract.mjs +4 -3
  27. package/dist/neutral/diviner-abstract.mjs.map +2 -2
  28. package/dist/neutral/diviner-boundwitness.memory.mjs +4 -5
  29. package/dist/neutral/diviner-boundwitness.memory.mjs.map +2 -2
  30. package/dist/neutral/diviner-boundwitness.mjs +4 -5
  31. package/dist/neutral/diviner-boundwitness.mjs.map +2 -2
  32. package/dist/neutral/diviner-model.mjs +4 -2
  33. package/dist/neutral/diviner-model.mjs.map +2 -2
  34. package/dist/neutral/diviner-payload-generic.mjs +13 -16
  35. package/dist/neutral/diviner-payload-generic.mjs.map +2 -2
  36. package/dist/neutral/diviner-wrapper.mjs +22 -4
  37. package/dist/neutral/diviner-wrapper.mjs.map +2 -2
  38. package/dist/neutral/manifest-wrapper.mjs +4 -2
  39. package/dist/neutral/manifest-wrapper.mjs.map +2 -2
  40. package/dist/neutral/module-abstract.mjs +100 -106
  41. package/dist/neutral/module-abstract.mjs.map +3 -3
  42. package/dist/neutral/module-factory-locator.mjs +4 -2
  43. package/dist/neutral/module-factory-locator.mjs.map +2 -2
  44. package/dist/neutral/module-model.mjs +18 -1
  45. package/dist/neutral/module-model.mjs.map +2 -2
  46. package/dist/neutral/module-resolver.mjs +88 -81
  47. package/dist/neutral/module-resolver.mjs.map +3 -3
  48. package/dist/neutral/module-wrapper.mjs +18 -10
  49. package/dist/neutral/module-wrapper.mjs.map +2 -2
  50. package/dist/neutral/modules/api-location-diviner/LocationDiviner/LocationDivinerApi.d.ts +5 -3
  51. package/dist/neutral/modules/api-location-diviner/LocationDiviner/LocationDivinerApi.d.ts.map +1 -1
  52. package/dist/neutral/modules/api-location-diviner/LocationDiviner/Queries/LocationQueryCreationRequest.d.ts +7 -3
  53. package/dist/neutral/modules/api-location-diviner/LocationDiviner/Queries/LocationQueryCreationRequest.d.ts.map +1 -1
  54. package/dist/neutral/modules/api-location-diviner/RemoteDivinerConfig.d.ts +1 -2
  55. package/dist/neutral/modules/api-location-diviner/RemoteDivinerConfig.d.ts.map +1 -1
  56. package/dist/neutral/modules/archivist-abstract/AbstractArchivist.d.ts.map +1 -1
  57. package/dist/neutral/modules/archivist-abstract/payloadAdmission.d.ts.map +1 -1
  58. package/dist/neutral/modules/archivist-generic/Archivist.d.ts.map +1 -1
  59. package/dist/neutral/modules/archivist-memory/MemoryDriver.d.ts.map +1 -1
  60. package/dist/neutral/modules/archivist-model/lib/getBoundWitness.d.ts.map +1 -1
  61. package/dist/neutral/modules/archivist-model/lib/hydrateBoundWitness.d.ts.map +1 -1
  62. package/dist/neutral/modules/archivist-model/typeChecks.d.ts.map +1 -1
  63. package/dist/neutral/modules/archivist-view/ViewArchivist.d.ts.map +1 -1
  64. package/dist/neutral/modules/archivist-wrapper/ArchivistWrapper.d.ts.map +1 -1
  65. package/dist/neutral/modules/boundwitness-loader/Loader.d.ts.map +1 -1
  66. package/dist/neutral/modules/bridge/index.d.ts +3 -0
  67. package/dist/neutral/modules/bridge/index.d.ts.map +1 -1
  68. package/dist/neutral/modules/bridge/model.d.ts +1 -0
  69. package/dist/neutral/modules/bridge/model.d.ts.map +1 -1
  70. package/dist/neutral/modules/bridge/wrapper.d.ts +1 -0
  71. package/dist/neutral/modules/bridge/wrapper.d.ts.map +1 -1
  72. package/dist/neutral/modules/bridge-abstract/AbstractBridge.d.ts +1 -0
  73. package/dist/neutral/modules/bridge-abstract/AbstractBridge.d.ts.map +1 -1
  74. package/dist/neutral/modules/bridge-abstract/AbstractBridgeModuleResolver.d.ts +2 -0
  75. package/dist/neutral/modules/bridge-abstract/AbstractBridgeModuleResolver.d.ts.map +1 -1
  76. package/dist/neutral/modules/bridge-abstract/AbstractModuleProxy/AbstractModuleProxy.d.ts +2 -0
  77. package/dist/neutral/modules/bridge-abstract/AbstractModuleProxy/AbstractModuleProxy.d.ts.map +1 -1
  78. package/dist/neutral/modules/bridge-abstract/AbstractModuleProxy/ModuleProxyResolver.d.ts +2 -0
  79. package/dist/neutral/modules/bridge-abstract/AbstractModuleProxy/ModuleProxyResolver.d.ts.map +1 -1
  80. package/dist/neutral/modules/bridge-abstract/index.d.ts +4 -0
  81. package/dist/neutral/modules/bridge-abstract/index.d.ts.map +1 -1
  82. package/dist/neutral/modules/bridge-abstract/wrapModuleWithType.d.ts +1 -0
  83. package/dist/neutral/modules/bridge-abstract/wrapModuleWithType.d.ts.map +1 -1
  84. package/dist/neutral/modules/bridge-http/HttpBridge.d.ts +2 -0
  85. package/dist/neutral/modules/bridge-http/HttpBridge.d.ts.map +1 -1
  86. package/dist/neutral/modules/bridge-http/HttpBridgeConfig.d.ts +8 -0
  87. package/dist/neutral/modules/bridge-http/HttpBridgeConfig.d.ts.map +1 -1
  88. package/dist/neutral/modules/bridge-http/HttpBridgeModuleResolver.d.ts +4 -2
  89. package/dist/neutral/modules/bridge-http/HttpBridgeModuleResolver.d.ts.map +1 -1
  90. package/dist/neutral/modules/bridge-http/ModuleProxy/ModuleProxy.d.ts +3 -0
  91. package/dist/neutral/modules/bridge-http/ModuleProxy/ModuleProxy.d.ts.map +1 -1
  92. package/dist/neutral/modules/bridge-http/ModuleProxy/index.d.ts +1 -0
  93. package/dist/neutral/modules/bridge-http/ModuleProxy/index.d.ts.map +1 -1
  94. package/dist/neutral/modules/bridge-http/index.d.ts +2 -0
  95. package/dist/neutral/modules/bridge-http/index.d.ts.map +1 -1
  96. package/dist/neutral/modules/bridge-model/Config.d.ts +10 -0
  97. package/dist/neutral/modules/bridge-model/Config.d.ts.map +1 -1
  98. package/dist/neutral/modules/bridge-model/EventData.d.ts +1 -0
  99. package/dist/neutral/modules/bridge-model/EventData.d.ts.map +1 -1
  100. package/dist/neutral/modules/bridge-model/Events/Exposed.d.ts +2 -0
  101. package/dist/neutral/modules/bridge-model/Events/Exposed.d.ts.map +1 -1
  102. package/dist/neutral/modules/bridge-model/Events/QueryFulfillFinished.d.ts +2 -0
  103. package/dist/neutral/modules/bridge-model/Events/QueryFulfillFinished.d.ts.map +1 -1
  104. package/dist/neutral/modules/bridge-model/Events/QueryFulfillStarted.d.ts +2 -0
  105. package/dist/neutral/modules/bridge-model/Events/QueryFulfillStarted.d.ts.map +1 -1
  106. package/dist/neutral/modules/bridge-model/Events/QuerySendFinished.d.ts +2 -0
  107. package/dist/neutral/modules/bridge-model/Events/QuerySendFinished.d.ts.map +1 -1
  108. package/dist/neutral/modules/bridge-model/Events/QuerySendStarted.d.ts +2 -0
  109. package/dist/neutral/modules/bridge-model/Events/QuerySendStarted.d.ts.map +1 -1
  110. package/dist/neutral/modules/bridge-model/Events/Unexposed.d.ts +2 -0
  111. package/dist/neutral/modules/bridge-model/Events/Unexposed.d.ts.map +1 -1
  112. package/dist/neutral/modules/bridge-model/Instance.d.ts +1 -0
  113. package/dist/neutral/modules/bridge-model/Instance.d.ts.map +1 -1
  114. package/dist/neutral/modules/bridge-model/Module.d.ts +1 -0
  115. package/dist/neutral/modules/bridge-model/Module.d.ts.map +1 -1
  116. package/dist/neutral/modules/bridge-model/Params.d.ts +1 -0
  117. package/dist/neutral/modules/bridge-model/Params.d.ts.map +1 -1
  118. package/dist/neutral/modules/bridge-model/Queries/Connect.d.ts +7 -0
  119. package/dist/neutral/modules/bridge-model/Queries/Connect.d.ts.map +1 -1
  120. package/dist/neutral/modules/bridge-model/Queries/Disconnect.d.ts +7 -0
  121. package/dist/neutral/modules/bridge-model/Queries/Disconnect.d.ts.map +1 -1
  122. package/dist/neutral/modules/bridge-model/Queries/Expose.d.ts +15 -0
  123. package/dist/neutral/modules/bridge-model/Queries/Expose.d.ts.map +1 -1
  124. package/dist/neutral/modules/bridge-model/Queries/Unexpose.d.ts +8 -0
  125. package/dist/neutral/modules/bridge-model/Queries/Unexpose.d.ts.map +1 -1
  126. package/dist/neutral/modules/bridge-model/Queries/index.d.ts +2 -0
  127. package/dist/neutral/modules/bridge-model/Queries/index.d.ts.map +1 -1
  128. package/dist/neutral/modules/bridge-model/QueryFunctions.d.ts +1 -0
  129. package/dist/neutral/modules/bridge-model/QueryFunctions.d.ts.map +1 -1
  130. package/dist/neutral/modules/bridge-model/RawQueryFunctions.d.ts +1 -0
  131. package/dist/neutral/modules/bridge-model/RawQueryFunctions.d.ts.map +1 -1
  132. package/dist/neutral/modules/bridge-model/attachable/AttachableInstance.d.ts +3 -0
  133. package/dist/neutral/modules/bridge-model/attachable/AttachableInstance.d.ts.map +1 -1
  134. package/dist/neutral/modules/bridge-model/attachable/asAttachableInstance.d.ts +1 -0
  135. package/dist/neutral/modules/bridge-model/attachable/asAttachableInstance.d.ts.map +1 -1
  136. package/dist/neutral/modules/bridge-model/attachable/isAttachableInstance.d.ts +2 -0
  137. package/dist/neutral/modules/bridge-model/attachable/isAttachableInstance.d.ts.map +1 -1
  138. package/dist/neutral/modules/bridge-model/index.d.ts +1 -0
  139. package/dist/neutral/modules/bridge-model/index.d.ts.map +1 -1
  140. package/dist/neutral/modules/bridge-model/typeChecks.d.ts +12 -2
  141. package/dist/neutral/modules/bridge-model/typeChecks.d.ts.map +1 -1
  142. package/dist/neutral/modules/bridge-wrapper/BridgeWrapper.d.ts +1 -0
  143. package/dist/neutral/modules/bridge-wrapper/BridgeWrapper.d.ts.map +1 -1
  144. package/dist/neutral/modules/bridge-wrapper/index.d.ts +1 -0
  145. package/dist/neutral/modules/bridge-wrapper/index.d.ts.map +1 -1
  146. package/dist/neutral/modules/diviner-abstract/AbstractDiviner.d.ts.map +1 -1
  147. package/dist/neutral/modules/diviner-boundwitness/MemoryBoundWitnessDiviner.d.ts.map +1 -1
  148. package/dist/neutral/modules/diviner-model/typeChecks.d.ts.map +1 -1
  149. package/dist/neutral/modules/diviner-payload-generic/Diviner.d.ts.map +1 -1
  150. package/dist/neutral/modules/diviner-wrapper/DivinerWrapper.d.ts.map +1 -1
  151. package/dist/neutral/modules/manifest-wrapper/Wrapper.d.ts.map +1 -1
  152. package/dist/neutral/modules/manifest-wrapper/WrapperEx.d.ts.map +1 -1
  153. package/dist/neutral/modules/module-abstract/AbstractModule.d.ts +1 -4
  154. package/dist/neutral/modules/module-abstract/AbstractModule.d.ts.map +1 -1
  155. package/dist/neutral/modules/module-abstract/AbstractModuleInstance.d.ts.map +1 -1
  156. package/dist/neutral/modules/module-abstract/Error.d.ts +1 -4
  157. package/dist/neutral/modules/module-abstract/Error.d.ts.map +1 -1
  158. package/dist/neutral/modules/module-abstract/QueryValidator/ModuleConfigQueryValidator.d.ts.map +1 -1
  159. package/dist/neutral/modules/module-factory-locator/ModuleFactoryLocator.d.ts.map +1 -1
  160. package/dist/neutral/modules/module-factory-locator/standardCreatableFactories.d.ts.map +1 -1
  161. package/dist/neutral/modules/module-model/QueryableModule/IsQueryableModuleFactory.d.ts.map +1 -1
  162. package/dist/neutral/modules/module-resolver/CompositeModuleResolver.d.ts.map +1 -1
  163. package/dist/neutral/modules/module-resolver/ResolveHelper/ResolveHelper.d.ts.map +1 -1
  164. package/dist/neutral/modules/module-resolver/ResolveHelper/resolveAll.d.ts.map +1 -1
  165. package/dist/neutral/modules/module-resolver/ResolveHelper/resolveLocalNameToAddress.d.ts.map +1 -1
  166. package/dist/neutral/modules/module-resolver/ResolveHelper/resolvePathToAddress.d.ts.map +1 -1
  167. package/dist/neutral/modules/module-resolver/SimpleModuleResolver.d.ts.map +1 -1
  168. package/dist/neutral/modules/module-wrapper/ModuleWrapper.d.ts +7 -1
  169. package/dist/neutral/modules/module-wrapper/ModuleWrapper.d.ts.map +1 -1
  170. package/dist/neutral/modules/modules/index.d.ts +1 -0
  171. package/dist/neutral/modules/modules/index.d.ts.map +1 -1
  172. package/dist/neutral/modules/node-abstract/AbstractNode.d.ts.map +1 -1
  173. package/dist/neutral/modules/node-memory/MemoryNode.d.ts.map +1 -1
  174. package/dist/neutral/modules/node-memory/NodeHelper/attachToExistingNode.d.ts.map +1 -1
  175. package/dist/neutral/modules/node-memory/NodeHelper/flatAttachToExistingNode.d.ts.map +1 -1
  176. package/dist/neutral/modules/node-model/typeChecks.d.ts.map +1 -1
  177. package/dist/neutral/modules/node-view/ViewNode.d.ts.map +1 -1
  178. package/dist/neutral/modules/node-wrapper/NodeWrapper.d.ts.map +1 -1
  179. package/dist/neutral/modules/payloadset-plugin/Resolver.d.ts.map +1 -1
  180. package/dist/neutral/modules/sentinel-abstract/AbstractSentinel.d.ts.map +1 -1
  181. package/dist/neutral/modules/sentinel-memory/MemorySentinel.d.ts.map +1 -1
  182. package/dist/neutral/modules/sentinel-memory/SentinelRunner.d.ts.map +1 -1
  183. package/dist/neutral/modules/sentinel-model/typeChecks.d.ts.map +1 -1
  184. package/dist/neutral/modules/sentinel-wrapper/Wrapper.d.ts.map +1 -1
  185. package/dist/neutral/modules/witness-abstract/AbstractWitness.d.ts.map +1 -1
  186. package/dist/neutral/modules/witness-model/typeChecks.d.ts.map +1 -1
  187. package/dist/neutral/modules/witness-wrapper/WitnessWrapper.d.ts.map +1 -1
  188. package/dist/neutral/modules.mjs.map +2 -2
  189. package/dist/neutral/node-abstract.mjs +22 -10
  190. package/dist/neutral/node-abstract.mjs.map +2 -2
  191. package/dist/neutral/node-memory.mjs +14 -13
  192. package/dist/neutral/node-memory.mjs.map +2 -2
  193. package/dist/neutral/node-model.mjs +2 -1
  194. package/dist/neutral/node-model.mjs.map +2 -2
  195. package/dist/neutral/node-view.mjs +13 -11
  196. package/dist/neutral/node-view.mjs.map +2 -2
  197. package/dist/neutral/node-wrapper.mjs +35 -11
  198. package/dist/neutral/node-wrapper.mjs.map +2 -2
  199. package/dist/neutral/payloadset-plugin.mjs +11 -10
  200. package/dist/neutral/payloadset-plugin.mjs.map +2 -2
  201. package/dist/neutral/sentinel-abstract.mjs +7 -6
  202. package/dist/neutral/sentinel-abstract.mjs.map +2 -2
  203. package/dist/neutral/sentinel-memory.mjs +28 -22
  204. package/dist/neutral/sentinel-memory.mjs.map +2 -2
  205. package/dist/neutral/sentinel-model.mjs +4 -2
  206. package/dist/neutral/sentinel-model.mjs.map +2 -2
  207. package/dist/neutral/sentinel-wrapper.mjs +22 -4
  208. package/dist/neutral/sentinel-wrapper.mjs.map +2 -2
  209. package/dist/neutral/witness-abstract.mjs +4 -3
  210. package/dist/neutral/witness-abstract.mjs.map +2 -2
  211. package/dist/neutral/witness-model.mjs +4 -2
  212. package/dist/neutral/witness-model.mjs.map +2 -2
  213. package/dist/neutral/witness-wrapper.mjs +22 -4
  214. package/dist/neutral/witness-wrapper.mjs.map +2 -2
  215. package/dist/node/modules/api-location-diviner/LocationDiviner/LocationDivinerApi.d.ts +5 -3
  216. package/dist/node/modules/api-location-diviner/LocationDiviner/LocationDivinerApi.d.ts.map +1 -1
  217. package/dist/node/modules/api-location-diviner/LocationDiviner/Queries/LocationQueryCreationRequest.d.ts +7 -3
  218. package/dist/node/modules/api-location-diviner/LocationDiviner/Queries/LocationQueryCreationRequest.d.ts.map +1 -1
  219. package/dist/node/modules/api-location-diviner/RemoteDivinerConfig.d.ts +1 -2
  220. package/dist/node/modules/api-location-diviner/RemoteDivinerConfig.d.ts.map +1 -1
  221. package/dist/node/modules/archivist-abstract/AbstractArchivist.d.ts.map +1 -1
  222. package/dist/node/modules/archivist-abstract/payloadAdmission.d.ts.map +1 -1
  223. package/dist/node/modules/archivist-generic/Archivist.d.ts.map +1 -1
  224. package/dist/node/modules/archivist-memory/MemoryDriver.d.ts.map +1 -1
  225. package/dist/node/modules/archivist-model/lib/getBoundWitness.d.ts.map +1 -1
  226. package/dist/node/modules/archivist-model/lib/hydrateBoundWitness.d.ts.map +1 -1
  227. package/dist/node/modules/archivist-model/typeChecks.d.ts.map +1 -1
  228. package/dist/node/modules/archivist-view/ViewArchivist.d.ts.map +1 -1
  229. package/dist/node/modules/archivist-wrapper/ArchivistWrapper.d.ts.map +1 -1
  230. package/dist/node/modules/boundwitness-loader/Loader.d.ts.map +1 -1
  231. package/dist/node/modules/bridge/index.d.ts +3 -0
  232. package/dist/node/modules/bridge/index.d.ts.map +1 -1
  233. package/dist/node/modules/bridge/model.d.ts +1 -0
  234. package/dist/node/modules/bridge/model.d.ts.map +1 -1
  235. package/dist/node/modules/bridge/wrapper.d.ts +1 -0
  236. package/dist/node/modules/bridge/wrapper.d.ts.map +1 -1
  237. package/dist/node/modules/bridge-abstract/AbstractBridge.d.ts +1 -0
  238. package/dist/node/modules/bridge-abstract/AbstractBridge.d.ts.map +1 -1
  239. package/dist/node/modules/bridge-abstract/AbstractBridgeModuleResolver.d.ts +2 -0
  240. package/dist/node/modules/bridge-abstract/AbstractBridgeModuleResolver.d.ts.map +1 -1
  241. package/dist/node/modules/bridge-abstract/AbstractModuleProxy/AbstractModuleProxy.d.ts +2 -0
  242. package/dist/node/modules/bridge-abstract/AbstractModuleProxy/AbstractModuleProxy.d.ts.map +1 -1
  243. package/dist/node/modules/bridge-abstract/AbstractModuleProxy/ModuleProxyResolver.d.ts +2 -0
  244. package/dist/node/modules/bridge-abstract/AbstractModuleProxy/ModuleProxyResolver.d.ts.map +1 -1
  245. package/dist/node/modules/bridge-abstract/index.d.ts +4 -0
  246. package/dist/node/modules/bridge-abstract/index.d.ts.map +1 -1
  247. package/dist/node/modules/bridge-abstract/wrapModuleWithType.d.ts +1 -0
  248. package/dist/node/modules/bridge-abstract/wrapModuleWithType.d.ts.map +1 -1
  249. package/dist/node/modules/bridge-http/HttpBridge.d.ts +2 -0
  250. package/dist/node/modules/bridge-http/HttpBridge.d.ts.map +1 -1
  251. package/dist/node/modules/bridge-http/HttpBridgeConfig.d.ts +8 -0
  252. package/dist/node/modules/bridge-http/HttpBridgeConfig.d.ts.map +1 -1
  253. package/dist/node/modules/bridge-http/HttpBridgeModuleResolver.d.ts +4 -2
  254. package/dist/node/modules/bridge-http/HttpBridgeModuleResolver.d.ts.map +1 -1
  255. package/dist/node/modules/bridge-http/ModuleProxy/ModuleProxy.d.ts +3 -0
  256. package/dist/node/modules/bridge-http/ModuleProxy/ModuleProxy.d.ts.map +1 -1
  257. package/dist/node/modules/bridge-http/ModuleProxy/index.d.ts +1 -0
  258. package/dist/node/modules/bridge-http/ModuleProxy/index.d.ts.map +1 -1
  259. package/dist/node/modules/bridge-http/index.d.ts +2 -0
  260. package/dist/node/modules/bridge-http/index.d.ts.map +1 -1
  261. package/dist/node/modules/bridge-model/Config.d.ts +10 -0
  262. package/dist/node/modules/bridge-model/Config.d.ts.map +1 -1
  263. package/dist/node/modules/bridge-model/EventData.d.ts +1 -0
  264. package/dist/node/modules/bridge-model/EventData.d.ts.map +1 -1
  265. package/dist/node/modules/bridge-model/Events/Exposed.d.ts +2 -0
  266. package/dist/node/modules/bridge-model/Events/Exposed.d.ts.map +1 -1
  267. package/dist/node/modules/bridge-model/Events/QueryFulfillFinished.d.ts +2 -0
  268. package/dist/node/modules/bridge-model/Events/QueryFulfillFinished.d.ts.map +1 -1
  269. package/dist/node/modules/bridge-model/Events/QueryFulfillStarted.d.ts +2 -0
  270. package/dist/node/modules/bridge-model/Events/QueryFulfillStarted.d.ts.map +1 -1
  271. package/dist/node/modules/bridge-model/Events/QuerySendFinished.d.ts +2 -0
  272. package/dist/node/modules/bridge-model/Events/QuerySendFinished.d.ts.map +1 -1
  273. package/dist/node/modules/bridge-model/Events/QuerySendStarted.d.ts +2 -0
  274. package/dist/node/modules/bridge-model/Events/QuerySendStarted.d.ts.map +1 -1
  275. package/dist/node/modules/bridge-model/Events/Unexposed.d.ts +2 -0
  276. package/dist/node/modules/bridge-model/Events/Unexposed.d.ts.map +1 -1
  277. package/dist/node/modules/bridge-model/Instance.d.ts +1 -0
  278. package/dist/node/modules/bridge-model/Instance.d.ts.map +1 -1
  279. package/dist/node/modules/bridge-model/Module.d.ts +1 -0
  280. package/dist/node/modules/bridge-model/Module.d.ts.map +1 -1
  281. package/dist/node/modules/bridge-model/Params.d.ts +1 -0
  282. package/dist/node/modules/bridge-model/Params.d.ts.map +1 -1
  283. package/dist/node/modules/bridge-model/Queries/Connect.d.ts +7 -0
  284. package/dist/node/modules/bridge-model/Queries/Connect.d.ts.map +1 -1
  285. package/dist/node/modules/bridge-model/Queries/Disconnect.d.ts +7 -0
  286. package/dist/node/modules/bridge-model/Queries/Disconnect.d.ts.map +1 -1
  287. package/dist/node/modules/bridge-model/Queries/Expose.d.ts +15 -0
  288. package/dist/node/modules/bridge-model/Queries/Expose.d.ts.map +1 -1
  289. package/dist/node/modules/bridge-model/Queries/Unexpose.d.ts +8 -0
  290. package/dist/node/modules/bridge-model/Queries/Unexpose.d.ts.map +1 -1
  291. package/dist/node/modules/bridge-model/Queries/index.d.ts +2 -0
  292. package/dist/node/modules/bridge-model/Queries/index.d.ts.map +1 -1
  293. package/dist/node/modules/bridge-model/QueryFunctions.d.ts +1 -0
  294. package/dist/node/modules/bridge-model/QueryFunctions.d.ts.map +1 -1
  295. package/dist/node/modules/bridge-model/RawQueryFunctions.d.ts +1 -0
  296. package/dist/node/modules/bridge-model/RawQueryFunctions.d.ts.map +1 -1
  297. package/dist/node/modules/bridge-model/attachable/AttachableInstance.d.ts +3 -0
  298. package/dist/node/modules/bridge-model/attachable/AttachableInstance.d.ts.map +1 -1
  299. package/dist/node/modules/bridge-model/attachable/asAttachableInstance.d.ts +1 -0
  300. package/dist/node/modules/bridge-model/attachable/asAttachableInstance.d.ts.map +1 -1
  301. package/dist/node/modules/bridge-model/attachable/isAttachableInstance.d.ts +2 -0
  302. package/dist/node/modules/bridge-model/attachable/isAttachableInstance.d.ts.map +1 -1
  303. package/dist/node/modules/bridge-model/index.d.ts +1 -0
  304. package/dist/node/modules/bridge-model/index.d.ts.map +1 -1
  305. package/dist/node/modules/bridge-model/typeChecks.d.ts +12 -2
  306. package/dist/node/modules/bridge-model/typeChecks.d.ts.map +1 -1
  307. package/dist/node/modules/bridge-wrapper/BridgeWrapper.d.ts +1 -0
  308. package/dist/node/modules/bridge-wrapper/BridgeWrapper.d.ts.map +1 -1
  309. package/dist/node/modules/bridge-wrapper/index.d.ts +1 -0
  310. package/dist/node/modules/bridge-wrapper/index.d.ts.map +1 -1
  311. package/dist/node/modules/diviner-abstract/AbstractDiviner.d.ts.map +1 -1
  312. package/dist/node/modules/diviner-boundwitness/MemoryBoundWitnessDiviner.d.ts.map +1 -1
  313. package/dist/node/modules/diviner-model/typeChecks.d.ts.map +1 -1
  314. package/dist/node/modules/diviner-payload-generic/Diviner.d.ts.map +1 -1
  315. package/dist/node/modules/diviner-wrapper/DivinerWrapper.d.ts.map +1 -1
  316. package/dist/node/modules/manifest-wrapper/Wrapper.d.ts.map +1 -1
  317. package/dist/node/modules/manifest-wrapper/WrapperEx.d.ts.map +1 -1
  318. package/dist/node/modules/module-abstract/AbstractModule.d.ts +1 -4
  319. package/dist/node/modules/module-abstract/AbstractModule.d.ts.map +1 -1
  320. package/dist/node/modules/module-abstract/AbstractModuleInstance.d.ts.map +1 -1
  321. package/dist/node/modules/module-abstract/Error.d.ts +1 -4
  322. package/dist/node/modules/module-abstract/Error.d.ts.map +1 -1
  323. package/dist/node/modules/module-abstract/QueryValidator/ModuleConfigQueryValidator.d.ts.map +1 -1
  324. package/dist/node/modules/module-factory-locator/ModuleFactoryLocator.d.ts.map +1 -1
  325. package/dist/node/modules/module-factory-locator/standardCreatableFactories.d.ts.map +1 -1
  326. package/dist/node/modules/module-model/QueryableModule/IsQueryableModuleFactory.d.ts.map +1 -1
  327. package/dist/node/modules/module-resolver/CompositeModuleResolver.d.ts.map +1 -1
  328. package/dist/node/modules/module-resolver/ResolveHelper/ResolveHelper.d.ts.map +1 -1
  329. package/dist/node/modules/module-resolver/ResolveHelper/resolveAll.d.ts.map +1 -1
  330. package/dist/node/modules/module-resolver/ResolveHelper/resolveLocalNameToAddress.d.ts.map +1 -1
  331. package/dist/node/modules/module-resolver/ResolveHelper/resolvePathToAddress.d.ts.map +1 -1
  332. package/dist/node/modules/module-resolver/SimpleModuleResolver.d.ts.map +1 -1
  333. package/dist/node/modules/module-wrapper/ModuleWrapper.d.ts +7 -1
  334. package/dist/node/modules/module-wrapper/ModuleWrapper.d.ts.map +1 -1
  335. package/dist/node/modules/modules/index.d.ts +1 -0
  336. package/dist/node/modules/modules/index.d.ts.map +1 -1
  337. package/dist/node/modules/node-abstract/AbstractNode.d.ts.map +1 -1
  338. package/dist/node/modules/node-memory/MemoryNode.d.ts.map +1 -1
  339. package/dist/node/modules/node-memory/NodeHelper/attachToExistingNode.d.ts.map +1 -1
  340. package/dist/node/modules/node-memory/NodeHelper/flatAttachToExistingNode.d.ts.map +1 -1
  341. package/dist/node/modules/node-model/typeChecks.d.ts.map +1 -1
  342. package/dist/node/modules/node-view/ViewNode.d.ts.map +1 -1
  343. package/dist/node/modules/node-wrapper/NodeWrapper.d.ts.map +1 -1
  344. package/dist/node/modules/payloadset-plugin/Resolver.d.ts.map +1 -1
  345. package/dist/node/modules/sentinel-abstract/AbstractSentinel.d.ts.map +1 -1
  346. package/dist/node/modules/sentinel-memory/MemorySentinel.d.ts.map +1 -1
  347. package/dist/node/modules/sentinel-memory/SentinelRunner.d.ts.map +1 -1
  348. package/dist/node/modules/sentinel-model/typeChecks.d.ts.map +1 -1
  349. package/dist/node/modules/sentinel-wrapper/Wrapper.d.ts.map +1 -1
  350. package/dist/node/modules/witness-abstract/AbstractWitness.d.ts.map +1 -1
  351. package/dist/node/modules/witness-model/typeChecks.d.ts.map +1 -1
  352. package/dist/node/modules/witness-wrapper/WitnessWrapper.d.ts.map +1 -1
  353. package/package.json +13 -13
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/modules/archivist-generic/Archivist.ts", "../../src/modules/archivist-generic/Config.ts"],
4
- "sourcesContent": ["import type {\n BrandedHash, Hash, Promisable, PromisableArray,\n} from '@ariestools/sdk'\nimport {\n assertEx,\n exists,\n fulfilled,\n} from '@ariestools/sdk'\nimport type {\n AccountInstance, BoundWitness,\n Payload, Schema, WithStorageMeta,\n} from '@xyo-network/sdk-protocol'\nimport { Account } from '@xyo-network/sdk-protocol'\n\nimport { AbstractArchivist, StorageClassLabel } from '#archivist-abstract'\nimport type {\n ArchivistDriver,\n ArchivistInsertQuery,\n ArchivistModuleEventData,\n ArchivistNextOptions,\n ArchivistParams,\n ArchivistSnapshotPayload,\n AttachableArchivistInstance,\n} from '#archivist-model'\nimport {\n ArchivistAllQuerySchema,\n ArchivistClearQuerySchema,\n ArchivistCommitQuerySchema,\n ArchivistDeleteQuerySchema,\n ArchivistInsertQuerySchema,\n ArchivistNextQuerySchema,\n} from '#archivist-model'\nimport type { AnyConfigSchema, ModuleInstance } from '#module-model'\nimport { creatableModule } from '#module-model'\n\nimport type { GenericArchivistConfig } from './Config.ts'\nimport { GenericArchivistConfigSchema } from './Config.ts'\n\nexport interface GenericArchivistParams<TConfig extends AnyConfigSchema<GenericArchivistConfig> = AnyConfigSchema<GenericArchivistConfig>>\n extends ArchivistParams<TConfig> {\n driver?: ArchivistDriver<Hash, Payload, WithStorageMeta<Payload>>\n}\n\n@creatableModule()\nexport class GenericArchivist<\n TParams extends GenericArchivistParams<AnyConfigSchema<GenericArchivistConfig>> = GenericArchivistParams,\n TEventData extends ArchivistModuleEventData = ArchivistModuleEventData,\n>\n extends AbstractArchivist<TParams, TEventData>\n implements AttachableArchivistInstance, ModuleInstance {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, GenericArchivistConfigSchema]\n static override readonly defaultConfigSchema: Schema = GenericArchivistConfigSchema\n static override readonly labels: {\n 'network.xyo.storage.class': string\n } = { ...super.labels, [StorageClassLabel]: 'generic' }\n\n override get queries(): Schema[] {\n return [\n ArchivistAllQuerySchema,\n ArchivistDeleteQuerySchema,\n ArchivistClearQuerySchema,\n ArchivistInsertQuerySchema,\n ArchivistCommitQuerySchema,\n ArchivistNextQuerySchema,\n ...super.queries,\n ]\n }\n\n protected get driver(): ArchivistDriver<BrandedHash, Payload, WithStorageMeta<Payload>> {\n return assertEx(this.params.driver, () => 'Driver is not set')\n }\n\n static async from(payloads: Payload[], account?: AccountInstance): Promise<GenericArchivist> {\n const archivist = await GenericArchivist.create({ account: account ?? await Account.random() })\n await archivist.insert(payloads)\n return archivist\n }\n\n protected override allHandler(): Promisable<WithStorageMeta<Payload>[]> {\n return this.driver.all()\n }\n\n protected override clearHandler(): Promisable<void> {\n return this.driver.clear()\n }\n\n protected override async commitHandler(): Promise<BoundWitness[]> {\n const payloads = assertEx(await this.allHandler(), () => 'Nothing to commit')\n const settled = await Promise.allSettled(\n Object.values((await this.parentArchivists()).commit ?? [])?.map(async (parent) => {\n const queryPayload: ArchivistInsertQuery = { schema: ArchivistInsertQuerySchema }\n const query = await this.bindQuery(queryPayload, payloads)\n return (await parent?.query(query[0], query[1]))?.[0]\n }).filter(exists),\n )\n await this.clearHandler()\n return settled.filter(fulfilled).map(result => result.value).filter(exists)\n }\n\n protected override deleteHandler(hashes: Hash[]): Promise<WithStorageMeta<Payload>[]> {\n return this.driver.delete(hashes)\n }\n\n protected override getHandler(hashes: Hash[]): Promisable<WithStorageMeta<Payload>[]> {\n return this.driver.get(hashes)\n }\n\n protected override insertHandler(payloads: WithStorageMeta<Payload>[]): WithStorageMeta<Payload>[] {\n return this.driver.insert(payloads)\n }\n\n protected override nextHandler(options?: ArchivistNextOptions): Promisable<WithStorageMeta<Payload>[]> {\n return this.driver.next(options)\n }\n\n protected override payloadCountHandler(): number {\n return this.driver.count()\n }\n\n protected override snapshotHandler(): PromisableArray<ArchivistSnapshotPayload<WithStorageMeta<Payload>, Hash>> {\n throw new Error('Snapshot is not supported by GenericArchivist')\n }\n}\n", "import type { EmptyObject, WithAdditional } from '@ariestools/sdk'\nimport {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n asSchema, type Payload, type Schema,\n} from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nimport type { ArchivistConfig } from '#archivist-model'\nimport { ArchivistConfigZod } from '#archivist-model'\n\nexport const GenericArchivistConfigSchema: 'network.xyo.archivist.generic.config' & {\n readonly __schema: true\n} = asSchema('network.xyo.archivist.generic.config', true)\nexport type GenericArchivistConfigSchema = typeof GenericArchivistConfigSchema\n\nexport const GenericArchivistConfigZod: z.ZodMiniObject<\n & Omit<(typeof ArchivistConfigZod)['shape'], 'schema'>\n & {\n max: z.ZodMiniOptional<z.ZodMiniNumber<number>>\n schema: z.ZodMiniLiteral<GenericArchivistConfigSchema>\n },\n z.core.$strip\n> = z.extend(ArchivistConfigZod, {\n max: z.optional(z.number()),\n schema: z.literal(GenericArchivistConfigSchema),\n})\n\nexport type GenericArchivistConfigBase = z.infer<typeof GenericArchivistConfigZod>\n\nexport const isGenericArchivistConfig: ReturnType<typeof zodIsFactory<GenericArchivistConfigBase>> = zodIsFactory(GenericArchivistConfigZod)\nexport const asGenericArchivistConfig: ReturnType<typeof zodAsFactory<GenericArchivistConfigBase>> = zodAsFactory(GenericArchivistConfigZod, 'asGenericArchivistConfig')\nexport const toGenericArchivistConfig: ReturnType<typeof zodToFactory<GenericArchivistConfigBase>> = zodToFactory(GenericArchivistConfigZod, 'toGenericArchivistConfig')\n\nexport type GenericArchivistConfig<TConfig extends Payload | EmptyObject | void = void, TSchema extends Schema | void = void> = ArchivistConfig<\n WithAdditional<\n {\n max?: number\n },\n TConfig\n >,\n TSchema extends Schema ? TSchema : GenericArchivistConfigSchema | ArchivistConfig['schema']\n>\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import type {\n BrandedHash, Hash, Promisable, PromisableArray,\n} from '@ariestools/sdk'\nimport {\n assertEx,\n exists,\n fulfilled,\n} from '@ariestools/sdk'\nimport type {\n AccountInstance, BoundWitness,\n Payload, Schema, WithStorageMeta,\n} from '@xyo-network/sdk-protocol'\nimport { Account } from '@xyo-network/sdk-protocol'\n\nimport { AbstractArchivist, StorageClassLabel } from '#archivist-abstract'\nimport type {\n ArchivistDriver,\n ArchivistInsertQuery,\n ArchivistModuleEventData,\n ArchivistNextOptions,\n ArchivistParams,\n ArchivistSnapshotPayload,\n AttachableArchivistInstance,\n} from '#archivist-model'\nimport {\n ArchivistAllQuerySchema,\n ArchivistClearQuerySchema,\n ArchivistCommitQuerySchema,\n ArchivistDeleteQuerySchema,\n ArchivistInsertQuerySchema,\n ArchivistNextQuerySchema,\n} from '#archivist-model'\nimport type { AnyConfigSchema, ModuleInstance } from '#module-model'\nimport { creatableModule } from '#module-model'\n\nimport type { GenericArchivistConfig } from './Config.ts'\nimport { GenericArchivistConfigSchema } from './Config.ts'\n\nexport interface GenericArchivistParams<TConfig extends AnyConfigSchema<GenericArchivistConfig> = AnyConfigSchema<GenericArchivistConfig>>\n extends ArchivistParams<TConfig> {\n driver?: ArchivistDriver<Hash, Payload, WithStorageMeta<Payload>>\n}\n\n@creatableModule()\nexport class GenericArchivist<\n TParams extends GenericArchivistParams<AnyConfigSchema<GenericArchivistConfig>> = GenericArchivistParams,\n TEventData extends ArchivistModuleEventData = ArchivistModuleEventData,\n>\n extends AbstractArchivist<TParams, TEventData>\n implements AttachableArchivistInstance, ModuleInstance {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, GenericArchivistConfigSchema]\n static override readonly defaultConfigSchema: Schema = GenericArchivistConfigSchema\n static override readonly labels: {\n 'network.xyo.storage.class': string\n } = { ...super.labels, [StorageClassLabel]: 'generic' }\n\n override get queries(): Schema[] {\n return [\n ArchivistAllQuerySchema,\n ArchivistDeleteQuerySchema,\n ArchivistClearQuerySchema,\n ArchivistInsertQuerySchema,\n ArchivistCommitQuerySchema,\n ArchivistNextQuerySchema,\n ...super.queries,\n ]\n }\n\n protected get driver(): ArchivistDriver<BrandedHash, Payload, WithStorageMeta<Payload>> {\n return assertEx(this.params.driver, () => 'Driver is not set')\n }\n\n static async from(payloads: Payload[], account?: AccountInstance): Promise<GenericArchivist> {\n const archivist = await this.create({ account: account ?? await Account.random() })\n await archivist.insert(payloads)\n return archivist\n }\n\n protected override allHandler(): Promisable<WithStorageMeta<Payload>[]> {\n return this.driver.all()\n }\n\n protected override clearHandler(): Promisable<void> {\n return this.driver.clear()\n }\n\n protected override async commitHandler(): Promise<BoundWitness[]> {\n const payloads = assertEx(await this.allHandler(), () => 'Nothing to commit')\n const parentArchivists = await this.parentArchivists()\n const settled = await Promise.allSettled(\n Object.values(parentArchivists.commit ?? [])?.map(async (parent) => {\n const queryPayload: ArchivistInsertQuery = { schema: ArchivistInsertQuerySchema }\n const query = await this.bindQuery(queryPayload, payloads)\n const result = await parent?.query(query[0], query[1])\n return result?.[0]\n }).filter(exists),\n )\n await this.clearHandler()\n return settled.filter(fulfilled).map(result => result.value).filter(exists)\n }\n\n protected override deleteHandler(hashes: Hash[]): Promise<WithStorageMeta<Payload>[]> {\n return this.driver.delete(hashes)\n }\n\n protected override getHandler(hashes: Hash[]): Promisable<WithStorageMeta<Payload>[]> {\n return this.driver.get(hashes)\n }\n\n protected override insertHandler(payloads: WithStorageMeta<Payload>[]): WithStorageMeta<Payload>[] {\n return this.driver.insert(payloads)\n }\n\n protected override nextHandler(options?: ArchivistNextOptions): Promisable<WithStorageMeta<Payload>[]> {\n return this.driver.next(options)\n }\n\n protected override payloadCountHandler(): number {\n return this.driver.count()\n }\n\n protected override snapshotHandler(): PromisableArray<ArchivistSnapshotPayload<WithStorageMeta<Payload>, Hash>> {\n throw new Error('Snapshot is not supported by GenericArchivist')\n }\n}\n", "import type { EmptyObject, WithAdditional } from '@ariestools/sdk'\nimport {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n asSchema, type Payload, type Schema,\n} from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nimport type { ArchivistConfig } from '#archivist-model'\nimport { ArchivistConfigZod } from '#archivist-model'\n\nexport const GenericArchivistConfigSchema: 'network.xyo.archivist.generic.config' & {\n readonly __schema: true\n} = asSchema('network.xyo.archivist.generic.config', true)\nexport type GenericArchivistConfigSchema = typeof GenericArchivistConfigSchema\n\nexport const GenericArchivistConfigZod: z.ZodMiniObject<\n & Omit<(typeof ArchivistConfigZod)['shape'], 'schema'>\n & {\n max: z.ZodMiniOptional<z.ZodMiniNumber<number>>\n schema: z.ZodMiniLiteral<GenericArchivistConfigSchema>\n },\n z.core.$strip\n> = z.extend(ArchivistConfigZod, {\n max: z.optional(z.number()),\n schema: z.literal(GenericArchivistConfigSchema),\n})\n\nexport type GenericArchivistConfigBase = z.infer<typeof GenericArchivistConfigZod>\n\nexport const isGenericArchivistConfig: ReturnType<typeof zodIsFactory<GenericArchivistConfigBase>> = zodIsFactory(GenericArchivistConfigZod)\nexport const asGenericArchivistConfig: ReturnType<typeof zodAsFactory<GenericArchivistConfigBase>> = zodAsFactory(GenericArchivistConfigZod, 'asGenericArchivistConfig')\nexport const toGenericArchivistConfig: ReturnType<typeof zodToFactory<GenericArchivistConfigBase>> = zodToFactory(GenericArchivistConfigZod, 'toGenericArchivistConfig')\n\nexport type GenericArchivistConfig<TConfig extends Payload | EmptyObject | void = void, TSchema extends Schema | void = void> = ArchivistConfig<\n WithAdditional<\n {\n max?: number\n },\n TConfig\n >,\n TSchema extends Schema ? TSchema : GenericArchivistConfigSchema | ArchivistConfig['schema']\n>\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -63,7 +63,7 @@ var MemoryDriver = class extends AbstractCreatable {
63
63
  _dataHashIndex;
64
64
  _sortedValues;
65
65
  get cache() {
66
- this._cache = this._cache ?? new LRUCache({
66
+ this._cache ??= new LRUCache({
67
67
  max: this.max,
68
68
  dispose: () => {
69
69
  this._sortedValues = void 0;
@@ -75,14 +75,14 @@ var MemoryDriver = class extends AbstractCreatable {
75
75
  return assertEx(this._config, () => "Driver config is not set");
76
76
  }
77
77
  get dataHashIndex() {
78
- this._dataHashIndex = this._dataHashIndex ?? new LRUCache({ max: this.max });
78
+ this._dataHashIndex ??= new LRUCache({ max: this.max });
79
79
  return this._dataHashIndex;
80
80
  }
81
81
  get max() {
82
82
  return this.config?.max ?? 1e4;
83
83
  }
84
84
  get sortedValues() {
85
- this._sortedValues ??= [...this.cache.values()].filter(exists).toSorted(PayloadBuilder.compareStorageMeta);
85
+ this._sortedValues ??= this.cache.values().filter(exists).toArray().toSorted(PayloadBuilder.compareStorageMeta);
86
86
  return this._sortedValues;
87
87
  }
88
88
  static findIndexFromCursor(payloads, cursor) {
@@ -108,13 +108,14 @@ var MemoryDriver = class extends AbstractCreatable {
108
108
  }
109
109
  async delete(hashes) {
110
110
  this._sortedValues = void 0;
111
- const deletedPayloads = (await Promise.all(this.cache.dump().map(async ([key, item]) => {
111
+ const candidateDeletions = await Promise.all(this.cache.dump().map(async ([key, item]) => {
112
112
  const itemValueDataHash = await PayloadBuilder.dataHash(item.value);
113
113
  if (hashes.includes(key) || hashes.includes(itemValueDataHash)) {
114
114
  this.cache.delete(key);
115
115
  return item.value;
116
116
  }
117
- }))).filter(exists);
117
+ }));
118
+ const deletedPayloads = candidateDeletions.filter(exists);
118
119
  this.rebuildDataHashIndex();
119
120
  return deletedPayloads;
120
121
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/modules/archivist-memory/Archivist.ts", "../../src/modules/archivist-memory/Config.ts", "../../src/modules/archivist-memory/MemoryDriver.ts"],
4
- "sourcesContent": ["import type { Schema } from '@xyo-network/sdk-protocol'\n\nimport { StorageClassLabel } from '#archivist-abstract'\nimport type { GenericArchivistParams } from '#archivist-generic'\nimport { GenericArchivist } from '#archivist-generic'\nimport type {\n ArchivistModuleEventData,\n AttachableArchivistInstance,\n} from '#archivist-model'\nimport {\n ArchivistAllQuerySchema,\n ArchivistClearQuerySchema,\n ArchivistCommitQuerySchema,\n ArchivistDeleteQuerySchema,\n ArchivistInsertQuerySchema,\n ArchivistNextQuerySchema,\n} from '#archivist-model'\nimport type {\n AnyConfigSchema, AttachableModuleInstance, ModuleInstance,\n} from '#module-model'\nimport { creatableModule } from '#module-model'\n\nimport type { MemoryArchivistConfig } from './Config.ts'\nimport { MemoryArchivistConfigSchema } from './Config.ts'\nimport { MemoryDriver } from './MemoryDriver.ts'\n\nexport type MemoryArchivistParams<TConfig extends AnyConfigSchema<MemoryArchivistConfig> = AnyConfigSchema<MemoryArchivistConfig>>\n = GenericArchivistParams<TConfig>\n@creatableModule()\nexport class MemoryArchivist<\n TParams extends MemoryArchivistParams<AnyConfigSchema<MemoryArchivistConfig>> = MemoryArchivistParams,\n TEventData extends ArchivistModuleEventData = ArchivistModuleEventData,\n>\n extends GenericArchivist<TParams, TEventData>\n implements AttachableArchivistInstance, ModuleInstance {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, MemoryArchivistConfigSchema]\n static override readonly defaultConfigSchema: Schema = MemoryArchivistConfigSchema\n static override readonly labels: {\n 'network.xyo.storage.class': string\n } = { ...super.labels, [StorageClassLabel]: 'memory' }\n\n override get queries(): Schema[] {\n return [\n ArchivistAllQuerySchema,\n ArchivistDeleteQuerySchema,\n ArchivistClearQuerySchema,\n ArchivistInsertQuerySchema,\n ArchivistCommitQuerySchema,\n ArchivistNextQuerySchema,\n ...super.queries,\n ]\n }\n\n static override async paramsHandler<T extends AttachableModuleInstance<MemoryArchivistParams, ArchivistModuleEventData>>(\n inParams?: Partial<T['params']>,\n ): Promise<T['params']> {\n const superParams = await super.paramsHandler(inParams)\n return { ...superParams, driver: superParams.driver ?? await MemoryDriver.create(superParams) }\n }\n}\n", "import type { EmptyObject, WithAdditional } from '@ariestools/sdk'\nimport {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n asSchema, type Payload, type Schema,\n} from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nimport type { ArchivistConfig } from '#archivist-model'\nimport { ArchivistConfigZod } from '#archivist-model'\n\nexport const MemoryArchivistConfigSchema: 'network.xyo.archivist.memory.config' & {\n readonly __schema: true\n} = asSchema('network.xyo.archivist.memory.config', true)\nexport type MemoryArchivistConfigSchema = typeof MemoryArchivistConfigSchema\n\nexport const MemoryArchivistConfigZod: z.ZodMiniObject<\n & Omit<(typeof ArchivistConfigZod)['shape'], 'schema'>\n & {\n max: z.ZodMiniOptional<z.ZodMiniNumber<number>>\n schema: z.ZodMiniLiteral<MemoryArchivistConfigSchema>\n },\n z.core.$strip\n> = z.extend(ArchivistConfigZod, {\n max: z.optional(z.number()),\n schema: z.literal(MemoryArchivistConfigSchema),\n})\n\nexport type MemoryArchivistConfigBase = z.infer<typeof MemoryArchivistConfigZod>\n\nexport const isMemoryArchivistConfig: ReturnType<typeof zodIsFactory<MemoryArchivistConfigBase>> = zodIsFactory(MemoryArchivistConfigZod)\nexport const asMemoryArchivistConfig: ReturnType<typeof zodAsFactory<MemoryArchivistConfigBase>> = zodAsFactory(MemoryArchivistConfigZod, 'asMemoryArchivistConfig')\nexport const toMemoryArchivistConfig: ReturnType<typeof zodToFactory<MemoryArchivistConfigBase>> = zodToFactory(MemoryArchivistConfigZod, 'toMemoryArchivistConfig')\n\nexport type MemoryArchivistConfig<TConfig extends Payload | EmptyObject | void = void, TSchema extends Schema | void = void> = ArchivistConfig<\n WithAdditional<\n {\n max?: number\n },\n TConfig\n >,\n TSchema extends Schema ? TSchema : MemoryArchivistConfigSchema | ArchivistConfig['schema']\n>\n", "import type {\n BrandedHash,\n CreatableParams, Hash, Hex, Promisable,\n} from '@ariestools/sdk'\nimport {\n AbstractCreatable, assertEx,\n creatable, exists,\n isDefined,\n} from '@ariestools/sdk'\nimport type { Payload, WithStorageMeta } from '@xyo-network/sdk-protocol'\nimport { PayloadBuilder } from '@xyo-network/sdk-protocol'\nimport { LRUCache } from 'lru-cache'\n\nimport type { ArchivistDriver, ArchivistNextOptions } from '#archivist-model'\n\nexport interface MemoryDriverConfig {\n max?: number\n}\n\nexport interface MemoryDriverParams extends CreatableParams {\n config: MemoryDriverConfig\n}\n\n@creatable()\nexport class MemoryDriver extends AbstractCreatable<MemoryDriverParams>\n implements ArchivistDriver<Hash, Payload, WithStorageMeta<Payload>> {\n private _cache?: LRUCache<Hash, WithStorageMeta<Payload>>\n private _config?: MemoryDriverConfig\n private _dataHashIndex?: LRUCache<Hash, Hash>\n private _sortedValues?: WithStorageMeta<Payload>[]\n\n protected get cache(): LRUCache<BrandedHash, WithStorageMeta<Payload>> {\n this._cache = this._cache ?? new LRUCache<Hash, WithStorageMeta<Payload>>({\n max: this.max,\n dispose: () => { this._sortedValues = undefined },\n })\n return this._cache\n }\n\n protected get config(): MemoryDriverConfig {\n return assertEx(this._config, () => 'Driver config is not set')\n }\n\n protected get dataHashIndex(): LRUCache<BrandedHash, BrandedHash> {\n this._dataHashIndex = this._dataHashIndex ?? new LRUCache<Hash, Hash>({ max: this.max })\n return this._dataHashIndex\n }\n\n protected get max(): number {\n return this.config?.max ?? 10_000\n }\n\n protected get sortedValues(): WithStorageMeta<Payload>[] {\n this._sortedValues ??= [...this.cache.values()].filter(exists).toSorted(PayloadBuilder.compareStorageMeta)\n return this._sortedValues\n }\n\n private static findIndexFromCursor(payloads: WithStorageMeta[], cursor: Hex) {\n const index = payloads.findIndex(({ _sequence }) => _sequence === cursor)\n if (index === -1) {\n return Infinity // move to the end\n }\n return index\n }\n\n all(): Promisable<WithStorageMeta<Payload>[]> {\n return [...this.sortedValues]\n }\n\n clear(): void {\n this.cache.clear()\n this._dataHashIndex = new LRUCache<Hash, Hash>({ max: this.max })\n this._sortedValues = undefined\n }\n\n count(): number {\n return this.cache.size\n }\n\n override createHandler(): Promisable<void> {\n this._config = this.params.config ?? {}\n }\n\n async delete(hashes: Hash[]): Promise<WithStorageMeta[]> {\n this._sortedValues = undefined\n const deletedPayloads: WithStorageMeta<Payload>[] = (await Promise.all(this.cache\n .dump()\n .map(async ([key, item]) => {\n const itemValueDataHash = await PayloadBuilder.dataHash(item.value)\n if (hashes.includes(key) || hashes.includes(itemValueDataHash)) {\n this.cache.delete(key)\n return item.value\n }\n })))\n .filter(exists)\n this.rebuildDataHashIndex()\n return deletedPayloads\n }\n\n get(hashes: Hash[]): Promisable<WithStorageMeta<Payload>[]> {\n return hashes.map((hash) => {\n const exact = this.cache.get(hash)\n if (exact) return exact\n const resolvedHash = this.dataHashIndex.get(hash) ?? hash\n const result = this.cache.get(resolvedHash)\n if (resolvedHash !== hash && !result) {\n throw new Error('Missing referenced payload')\n }\n return result\n }).filter(exists)\n }\n\n insert(payloads: WithStorageMeta<Payload>[]): WithStorageMeta<Payload>[] {\n this._sortedValues = undefined\n const payloadsWithMeta = payloads.toSorted(PayloadBuilder.compareStorageMeta)\n return payloadsWithMeta.map((payload) => {\n return this.insertPayloadIntoCache(payload)\n })\n }\n\n next(options?: ArchivistNextOptions): Promisable<WithStorageMeta<Payload>[]> {\n const {\n limit = 100, cursor, order, open = true,\n } = options ?? {}\n const all = order === 'desc' ? this.sortedValues.toReversed() : this.sortedValues\n const startIndex = isDefined(cursor)\n ? MemoryDriver.findIndexFromCursor(all, cursor) + (open ? 1 : 0)\n : 0\n return all.slice(startIndex, startIndex + limit)\n }\n\n private insertPayloadIntoCache(payload: WithStorageMeta<Payload>): WithStorageMeta<Payload> {\n this.cache.set(payload._hash, payload)\n this.dataHashIndex.set(payload._dataHash, payload._hash)\n return payload\n }\n\n private rebuildDataHashIndex() {\n this._dataHashIndex = new LRUCache<Hash, Hash>({ max: this.max })\n const payloads = this.cache.dump().map(([, item]) => item.value)\n for (const payload of payloads) {\n this.dataHashIndex.set(payload._dataHash, payload._hash)\n }\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import type { Schema } from '@xyo-network/sdk-protocol'\n\nimport { StorageClassLabel } from '#archivist-abstract'\nimport type { GenericArchivistParams } from '#archivist-generic'\nimport { GenericArchivist } from '#archivist-generic'\nimport type {\n ArchivistModuleEventData,\n AttachableArchivistInstance,\n} from '#archivist-model'\nimport {\n ArchivistAllQuerySchema,\n ArchivistClearQuerySchema,\n ArchivistCommitQuerySchema,\n ArchivistDeleteQuerySchema,\n ArchivistInsertQuerySchema,\n ArchivistNextQuerySchema,\n} from '#archivist-model'\nimport type {\n AnyConfigSchema, AttachableModuleInstance, ModuleInstance,\n} from '#module-model'\nimport { creatableModule } from '#module-model'\n\nimport type { MemoryArchivistConfig } from './Config.ts'\nimport { MemoryArchivistConfigSchema } from './Config.ts'\nimport { MemoryDriver } from './MemoryDriver.ts'\n\nexport type MemoryArchivistParams<TConfig extends AnyConfigSchema<MemoryArchivistConfig> = AnyConfigSchema<MemoryArchivistConfig>>\n = GenericArchivistParams<TConfig>\n@creatableModule()\nexport class MemoryArchivist<\n TParams extends MemoryArchivistParams<AnyConfigSchema<MemoryArchivistConfig>> = MemoryArchivistParams,\n TEventData extends ArchivistModuleEventData = ArchivistModuleEventData,\n>\n extends GenericArchivist<TParams, TEventData>\n implements AttachableArchivistInstance, ModuleInstance {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, MemoryArchivistConfigSchema]\n static override readonly defaultConfigSchema: Schema = MemoryArchivistConfigSchema\n static override readonly labels: {\n 'network.xyo.storage.class': string\n } = { ...super.labels, [StorageClassLabel]: 'memory' }\n\n override get queries(): Schema[] {\n return [\n ArchivistAllQuerySchema,\n ArchivistDeleteQuerySchema,\n ArchivistClearQuerySchema,\n ArchivistInsertQuerySchema,\n ArchivistCommitQuerySchema,\n ArchivistNextQuerySchema,\n ...super.queries,\n ]\n }\n\n static override async paramsHandler<T extends AttachableModuleInstance<MemoryArchivistParams, ArchivistModuleEventData>>(\n inParams?: Partial<T['params']>,\n ): Promise<T['params']> {\n const superParams = await super.paramsHandler(inParams)\n return { ...superParams, driver: superParams.driver ?? await MemoryDriver.create(superParams) }\n }\n}\n", "import type { EmptyObject, WithAdditional } from '@ariestools/sdk'\nimport {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n asSchema, type Payload, type Schema,\n} from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nimport type { ArchivistConfig } from '#archivist-model'\nimport { ArchivistConfigZod } from '#archivist-model'\n\nexport const MemoryArchivistConfigSchema: 'network.xyo.archivist.memory.config' & {\n readonly __schema: true\n} = asSchema('network.xyo.archivist.memory.config', true)\nexport type MemoryArchivistConfigSchema = typeof MemoryArchivistConfigSchema\n\nexport const MemoryArchivistConfigZod: z.ZodMiniObject<\n & Omit<(typeof ArchivistConfigZod)['shape'], 'schema'>\n & {\n max: z.ZodMiniOptional<z.ZodMiniNumber<number>>\n schema: z.ZodMiniLiteral<MemoryArchivistConfigSchema>\n },\n z.core.$strip\n> = z.extend(ArchivistConfigZod, {\n max: z.optional(z.number()),\n schema: z.literal(MemoryArchivistConfigSchema),\n})\n\nexport type MemoryArchivistConfigBase = z.infer<typeof MemoryArchivistConfigZod>\n\nexport const isMemoryArchivistConfig: ReturnType<typeof zodIsFactory<MemoryArchivistConfigBase>> = zodIsFactory(MemoryArchivistConfigZod)\nexport const asMemoryArchivistConfig: ReturnType<typeof zodAsFactory<MemoryArchivistConfigBase>> = zodAsFactory(MemoryArchivistConfigZod, 'asMemoryArchivistConfig')\nexport const toMemoryArchivistConfig: ReturnType<typeof zodToFactory<MemoryArchivistConfigBase>> = zodToFactory(MemoryArchivistConfigZod, 'toMemoryArchivistConfig')\n\nexport type MemoryArchivistConfig<TConfig extends Payload | EmptyObject | void = void, TSchema extends Schema | void = void> = ArchivistConfig<\n WithAdditional<\n {\n max?: number\n },\n TConfig\n >,\n TSchema extends Schema ? TSchema : MemoryArchivistConfigSchema | ArchivistConfig['schema']\n>\n", "import type {\n BrandedHash,\n CreatableParams, Hash, Hex, Promisable,\n} from '@ariestools/sdk'\nimport {\n AbstractCreatable, assertEx,\n creatable, exists,\n isDefined,\n} from '@ariestools/sdk'\nimport type { Payload, WithStorageMeta } from '@xyo-network/sdk-protocol'\nimport { PayloadBuilder } from '@xyo-network/sdk-protocol'\nimport { LRUCache } from 'lru-cache'\n\nimport type { ArchivistDriver, ArchivistNextOptions } from '#archivist-model'\n\nexport interface MemoryDriverConfig {\n max?: number\n}\n\nexport interface MemoryDriverParams extends CreatableParams {\n config: MemoryDriverConfig\n}\n\n@creatable()\nexport class MemoryDriver extends AbstractCreatable<MemoryDriverParams>\n implements ArchivistDriver<Hash, Payload, WithStorageMeta<Payload>> {\n private _cache?: LRUCache<Hash, WithStorageMeta<Payload>>\n private _config?: MemoryDriverConfig\n private _dataHashIndex?: LRUCache<Hash, Hash>\n private _sortedValues?: WithStorageMeta<Payload>[]\n\n protected get cache(): LRUCache<BrandedHash, WithStorageMeta<Payload>> {\n this._cache ??= new LRUCache<Hash, WithStorageMeta<Payload>>({\n max: this.max,\n dispose: () => { this._sortedValues = undefined },\n })\n return this._cache\n }\n\n protected get config(): MemoryDriverConfig {\n return assertEx(this._config, () => 'Driver config is not set')\n }\n\n protected get dataHashIndex(): LRUCache<BrandedHash, BrandedHash> {\n this._dataHashIndex ??= new LRUCache<Hash, Hash>({ max: this.max })\n return this._dataHashIndex\n }\n\n protected get max(): number {\n return this.config?.max ?? 10_000\n }\n\n protected get sortedValues(): WithStorageMeta<Payload>[] {\n this._sortedValues ??= this.cache.values().filter(exists).toArray().toSorted(PayloadBuilder.compareStorageMeta)\n return this._sortedValues\n }\n\n private static findIndexFromCursor(payloads: WithStorageMeta[], cursor: Hex) {\n const index = payloads.findIndex(({ _sequence }) => _sequence === cursor)\n if (index === -1) {\n return Infinity // move to the end\n }\n return index\n }\n\n all(): Promisable<WithStorageMeta<Payload>[]> {\n return [...this.sortedValues]\n }\n\n clear(): void {\n this.cache.clear()\n this._dataHashIndex = new LRUCache<Hash, Hash>({ max: this.max })\n this._sortedValues = undefined\n }\n\n count(): number {\n return this.cache.size\n }\n\n override createHandler(): Promisable<void> {\n this._config = this.params.config ?? {}\n }\n\n async delete(hashes: Hash[]): Promise<WithStorageMeta[]> {\n this._sortedValues = undefined\n const candidateDeletions = await Promise.all(this.cache\n .dump()\n .map(async ([key, item]) => {\n const itemValueDataHash = await PayloadBuilder.dataHash(item.value)\n if (hashes.includes(key) || hashes.includes(itemValueDataHash)) {\n this.cache.delete(key)\n return item.value\n }\n }))\n const deletedPayloads: WithStorageMeta<Payload>[] = candidateDeletions\n .filter(exists)\n this.rebuildDataHashIndex()\n return deletedPayloads\n }\n\n get(hashes: Hash[]): Promisable<WithStorageMeta<Payload>[]> {\n return hashes.map((hash) => {\n const exact = this.cache.get(hash)\n if (exact) return exact\n const resolvedHash = this.dataHashIndex.get(hash) ?? hash\n const result = this.cache.get(resolvedHash)\n if (resolvedHash !== hash && !result) {\n throw new Error('Missing referenced payload')\n }\n return result\n }).filter(exists)\n }\n\n insert(payloads: WithStorageMeta<Payload>[]): WithStorageMeta<Payload>[] {\n this._sortedValues = undefined\n const payloadsWithMeta = payloads.toSorted(PayloadBuilder.compareStorageMeta)\n return payloadsWithMeta.map((payload) => {\n return this.insertPayloadIntoCache(payload)\n })\n }\n\n next(options?: ArchivistNextOptions): Promisable<WithStorageMeta<Payload>[]> {\n const {\n limit = 100, cursor, order, open = true,\n } = options ?? {}\n const all = order === 'desc' ? this.sortedValues.toReversed() : this.sortedValues\n const startIndex = isDefined(cursor)\n ? MemoryDriver.findIndexFromCursor(all, cursor) + (open ? 1 : 0)\n : 0\n return all.slice(startIndex, startIndex + limit)\n }\n\n private insertPayloadIntoCache(payload: WithStorageMeta<Payload>): WithStorageMeta<Payload> {\n this.cache.set(payload._hash, payload)\n this.dataHashIndex.set(payload._dataHash, payload._hash)\n return payload\n }\n\n private rebuildDataHashIndex() {\n this._dataHashIndex = new LRUCache<Hash, Hash>({ max: this.max })\n const payloads = this.cache.dump().map(([, item]) => item.value)\n for (const payload of payloads) {\n this.dataHashIndex.set(payload._dataHash, payload._hash)\n }\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -200,8 +200,10 @@ var asArchivistSnapshotQuery = zodAsFactory10(ArchivistSnapshotQueryZod, "asArch
200
200
  var toArchivistSnapshotQuery = zodToFactory10(ArchivistSnapshotQueryZod, "toArchivistSnapshotQuery");
201
201
 
202
202
  // src/modules/archivist-model/typeChecks.ts
203
- var isArchivistInstance = new IsInstanceFactory().create({ get: "function" }, [isModuleInstance]);
204
- var isArchivistModule = new IsQueryableModuleFactory().create([ArchivistGetQuerySchema]);
203
+ var isInstanceFactory = new IsInstanceFactory();
204
+ var isArchivistInstance = isInstanceFactory.create({ get: "function" }, [isModuleInstance]);
205
+ var isQueryableModuleFactory = new IsQueryableModuleFactory();
206
+ var isArchivistModule = isQueryableModuleFactory.create([ArchivistGetQuerySchema]);
205
207
  var asArchivistModule = AsObjectFactory.create(isArchivistModule);
206
208
  var asArchivistInstance = AsObjectFactory.create(isArchivistInstance);
207
209
  var withArchivistModule = WithFactory.create(isArchivistModule);
@@ -249,7 +251,7 @@ var toArchivistConfig = zodToFactory11(ArchivistConfigZod, "toArchivistConfig");
249
251
  var IndexSeparator = "-";
250
252
  var buildStandardIndexName = (index) => {
251
253
  const { key, unique } = index;
252
- const prefix = unique ? "UX" : "IX";
254
+ const prefix = unique === true ? "UX" : "IX";
253
255
  const indexKeys = Object.keys(key);
254
256
  return `${prefix}_${indexKeys.join(IndexSeparator)}`;
255
257
  };
@@ -261,11 +263,13 @@ import {
261
263
  isStorageMeta
262
264
  } from "@xyo-network/sdk-protocol";
263
265
  var tryGetTypedBoundWitnessWithStorageMeta = async (archivist, hash, identity) => {
264
- const payload = (await archivist.get([hash])).at(0);
266
+ const payloads = await archivist.get([hash]);
267
+ const payload = payloads.at(0);
265
268
  return identity(payload) ? payload : void 0;
266
269
  };
267
270
  var getTypedBoundWitnessWithStorageMeta = async (archivist, hash, identity) => {
268
- const payload = assertEx((await archivist.get([hash])).at(0), () => `failed to locate bound witness: ${hash}`);
271
+ const payloads = await archivist.get([hash]);
272
+ const payload = assertEx(payloads.at(0), () => `failed to locate bound witness: ${hash}`);
269
273
  return assertEx(identity(payload) ? payload : void 0, () => `located payload failed identity check: ${hash}`);
270
274
  };
271
275
  var getBoundWitnessWithStorageMeta = (archivist, hash) => {
@@ -277,11 +281,14 @@ import { exists, isHash } from "@ariestools/sdk";
277
281
  import { isBoundWitness as isBoundWitness2, isStorageMeta as isStorageMeta2 } from "@xyo-network/sdk-protocol";
278
282
  var tryHydrateTypedBoundWitness = async (archivist, hashOrBw, identity) => {
279
283
  const bw = isHash(hashOrBw) ? await tryGetTypedBoundWitnessWithStorageMeta(archivist, hashOrBw, identity) : hashOrBw;
280
- return bw ? [bw, (await archivist.get(bw?.payload_hashes)).filter(exists)] : void 0;
284
+ if (bw === void 0) return void 0;
285
+ const found = await archivist.get(bw?.payload_hashes);
286
+ return [bw, found.filter(exists)];
281
287
  };
282
288
  var hydrateTypedBoundWitness = async (archivist, hashOrBw, identity) => {
283
289
  const bw = isHash(hashOrBw) ? await getTypedBoundWitnessWithStorageMeta(archivist, hashOrBw, identity) : hashOrBw;
284
- const payloads = (await archivist.get(bw?.payload_hashes)).filter(exists);
290
+ const found = await archivist.get(bw?.payload_hashes);
291
+ const payloads = found.filter(exists);
285
292
  if (payloads.length !== bw.payload_hashes.length) {
286
293
  throw new Error(`missing payloads for ${bw._hash}`);
287
294
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/modules/archivist-model/ArchivistSnapshot.ts", "../../src/modules/archivist-model/ArchivistStats.ts", "../../src/modules/archivist-model/attachable/asAttachableInstance.ts", "../../src/modules/archivist-model/attachable/isAttachableInstance.ts", "../../src/modules/archivist-model/typeChecks.ts", "../../src/modules/archivist-model/Queries/All.ts", "../../src/modules/archivist-model/Queries/Clear.ts", "../../src/modules/archivist-model/Queries/Commit.ts", "../../src/modules/archivist-model/Queries/Delete.ts", "../../src/modules/archivist-model/Queries/Get.ts", "../../src/modules/archivist-model/Queries/Insert.ts", "../../src/modules/archivist-model/Queries/Next.ts", "../../src/modules/archivist-model/Queries/Snapshot.ts", "../../src/modules/archivist-model/attachable/AttachableInstance.ts", "../../src/modules/archivist-model/Config.ts", "../../src/modules/archivist-model/IndexDescription.ts", "../../src/modules/archivist-model/lib/getBoundWitness.ts", "../../src/modules/archivist-model/lib/hydrateBoundWitness.ts"],
4
- "sourcesContent": ["import type { Hash } from '@ariestools/sdk'\nimport {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport type { Payload, PayloadHashMap } from '@xyo-network/sdk-protocol'\nimport { asSchema, PayloadZodOfSchema } from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nexport const ArchivistSnapshotPayloadSchema: 'network.xyo.archivist.snapshot' & {\n readonly __schema: true\n} = asSchema('network.xyo.archivist.snapshot', true)\nexport type ArchivistSnapshotPayloadSchema = typeof ArchivistSnapshotPayloadSchema\n\nexport const ArchivistSnapshotPayloadZod: z.ZodMiniIntersection<\n z.ZodMiniObject<{ schema: z.ZodMiniLiteral<ArchivistSnapshotPayloadSchema> }, z.core.$strip>,\n z.ZodMiniCustom<PayloadHashMap, PayloadHashMap>\n> = z.intersection(PayloadZodOfSchema(ArchivistSnapshotPayloadSchema), z.custom<PayloadHashMap>())\n\nexport type ArchivistSnapshotPayload<TPayload extends Payload = Payload, TId extends string | number | symbol = Hash>\n = Payload<PayloadHashMap<TPayload, TId>, ArchivistSnapshotPayloadSchema>\n\nconst isArchivistSnapshotPayloadInternal = zodIsFactory(ArchivistSnapshotPayloadZod)\n\nexport const isArchivistSnapshotPayload = <\n TPayload extends Payload = Payload,\n TId extends string | number | symbol = Hash,\n TInput = unknown,\n>(payload?: TInput): payload is ArchivistSnapshotPayload<TPayload, TId> & TInput => isArchivistSnapshotPayloadInternal(payload)\n\nexport const asArchivistSnapshotPayload: ReturnType<typeof zodAsFactory<ArchivistSnapshotPayload>>\n = zodAsFactory(ArchivistSnapshotPayloadZod, 'asArchivistSnapshotPayload')\nexport const toArchivistSnapshotPayload: ReturnType<typeof zodToFactory<ArchivistSnapshotPayload>>\n = zodToFactory(ArchivistSnapshotPayloadZod, 'toArchivistSnapshotPayload')\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { asSchema, PayloadZodOfSchema } from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nexport const ArchivistStatsPayloadSchema: 'network.xyo.archivist.stats' & {\n readonly __schema: true\n} = asSchema('network.xyo.archivist.stats', true)\nexport type ArchivistStatsPayloadSchema = typeof ArchivistStatsPayloadSchema\n\nexport const ArchivistStatsPayloadZod: z.ZodMiniObject<{\n payloadCount: z.ZodMiniNumber<number>\n schema: z.ZodMiniLiteral<ArchivistStatsPayloadSchema>\n}, z.core.$strip> = z.extend(PayloadZodOfSchema(ArchivistStatsPayloadSchema), { payloadCount: z.number() })\n\nexport type ArchivistStatsPayload = z.infer<typeof ArchivistStatsPayloadZod>\n\nexport const isArchivistStatsPayload: ReturnType<typeof zodIsFactory<ArchivistStatsPayload>> = zodIsFactory(ArchivistStatsPayloadZod)\nexport const asArchivistStatsPayload: ReturnType<typeof zodAsFactory<ArchivistStatsPayload>> = zodAsFactory(ArchivistStatsPayloadZod, 'asArchivistStatsPayload')\nexport const toArchivistStatsPayload: ReturnType<typeof zodToFactory<ArchivistStatsPayload>> = zodToFactory(ArchivistStatsPayloadZod, 'toArchivistStatsPayload')\n", "import { AsObjectFactory } from '@ariestools/sdk'\n\nimport { isAttachableArchivistInstance } from './isAttachableInstance.ts'\n\nexport const asAttachableArchivistInstance = AsObjectFactory.create(isAttachableArchivistInstance)\n", "import type { ObjectTypeShape, TypeCheck } from '@ariestools/sdk'\nimport { IsObjectFactory } from '@ariestools/sdk'\n\nimport { isAttachableModuleInstance } from '#module-model'\n\nimport { isArchivistInstance } from '../typeChecks.ts'\nimport type { AttachableArchivistInstance } from './AttachableInstance.ts'\n\nexport const requiredAttachableArchivistInstanceFunctions: ObjectTypeShape = {}\n\n// we do not use IsInstanceFactory here to prevent a cycle\nconst factory = new IsObjectFactory<AttachableArchivistInstance>()\n\nexport const isAttachableArchivistInstance: TypeCheck<AttachableArchivistInstance> = factory.create(requiredAttachableArchivistInstanceFunctions, [\n isArchivistInstance,\n isAttachableModuleInstance,\n])\n", "import type { TypeCheck } from '@ariestools/sdk'\nimport { AsObjectFactory } from '@ariestools/sdk'\n\nimport {\n IsInstanceFactory, isModuleInstance, IsQueryableModuleFactory, WithFactory,\n} from '#module-model'\n\nimport type { ArchivistInstance } from './Instance.ts'\nimport type { ArchivistModuleInstance } from './ModuleInstance.ts'\nimport { ArchivistGetQuerySchema } from './Queries/index.ts'\n\nexport const isArchivistInstance: TypeCheck<ArchivistInstance> = new IsInstanceFactory<ArchivistInstance>().create({ get: 'function' }, [isModuleInstance])\nexport const isArchivistModule: TypeCheck<ArchivistModuleInstance> = new IsQueryableModuleFactory<ArchivistModuleInstance>().create([ArchivistGetQuerySchema])\n\nexport const asArchivistModule = AsObjectFactory.create(isArchivistModule)\nexport const asArchivistInstance = AsObjectFactory.create(isArchivistInstance)\n\n/** @deprecated use narrowing instead [ if(is) ] */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport const withArchivistModule = WithFactory.create(isArchivistModule)\n/** @deprecated use narrowing instead [ if(is) ] */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport const withArchivistInstance = WithFactory.create(isArchivistInstance)\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n asSchema, PayloadZodOfSchema, QueryFieldsZod,\n} from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nexport const ArchivistAllQuerySchema: 'network.xyo.query.archivist.all' & {\n readonly __schema: true\n} = asSchema('network.xyo.query.archivist.all', true)\nexport type ArchivistAllQuerySchema = typeof ArchivistAllQuerySchema\n\nexport const ArchivistAllQueryZod: z.ZodMiniObject<\n & { schema: z.ZodMiniLiteral<ArchivistAllQuerySchema> }\n & (typeof QueryFieldsZod)['shape'],\n z.core.$strip\n> = z.extend(PayloadZodOfSchema(ArchivistAllQuerySchema), { ...QueryFieldsZod.shape })\n\nexport type ArchivistAllQuery = z.infer<typeof ArchivistAllQueryZod>\n\nexport const isArchivistAllQuery: ReturnType<typeof zodIsFactory<ArchivistAllQuery>> = zodIsFactory(ArchivistAllQueryZod)\nexport const asArchivistAllQuery: ReturnType<typeof zodAsFactory<ArchivistAllQuery>> = zodAsFactory(ArchivistAllQueryZod, 'asArchivistAllQuery')\nexport const toArchivistAllQuery: ReturnType<typeof zodToFactory<ArchivistAllQuery>> = zodToFactory(ArchivistAllQueryZod, 'toArchivistAllQuery')\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n asSchema, PayloadZodOfSchema, QueryFieldsZod,\n} from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nexport const ArchivistClearQuerySchema: 'network.xyo.query.archivist.clear' & {\n readonly __schema: true\n} = asSchema('network.xyo.query.archivist.clear', true)\nexport type ArchivistClearQuerySchema = typeof ArchivistClearQuerySchema\n\nexport const ArchivistClearQueryZod: z.ZodMiniObject<\n & { schema: z.ZodMiniLiteral<ArchivistClearQuerySchema> }\n & (typeof QueryFieldsZod)['shape'],\n z.core.$strip\n> = z.extend(PayloadZodOfSchema(ArchivistClearQuerySchema), { ...QueryFieldsZod.shape })\n\nexport type ArchivistClearQuery = z.infer<typeof ArchivistClearQueryZod>\n\nexport const isArchivistClearQuery: ReturnType<typeof zodIsFactory<ArchivistClearQuery>> = zodIsFactory(ArchivistClearQueryZod)\nexport const asArchivistClearQuery: ReturnType<typeof zodAsFactory<ArchivistClearQuery>> = zodAsFactory(ArchivistClearQueryZod, 'asArchivistClearQuery')\nexport const toArchivistClearQuery: ReturnType<typeof zodToFactory<ArchivistClearQuery>> = zodToFactory(ArchivistClearQueryZod, 'toArchivistClearQuery')\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n asSchema, PayloadZodOfSchema, QueryFieldsZod,\n} from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nexport const ArchivistCommitQuerySchema: 'network.xyo.query.archivist.commit' & {\n readonly __schema: true\n} = asSchema('network.xyo.query.archivist.commit', true)\nexport type ArchivistCommitQuerySchema = typeof ArchivistCommitQuerySchema\n\nexport const ArchivistCommitQueryZod: z.ZodMiniObject<\n & { schema: z.ZodMiniLiteral<ArchivistCommitQuerySchema> }\n & (typeof QueryFieldsZod)['shape'],\n z.core.$strip\n> = z.extend(PayloadZodOfSchema(ArchivistCommitQuerySchema), { ...QueryFieldsZod.shape })\n\nexport type ArchivistCommitQuery = z.infer<typeof ArchivistCommitQueryZod>\n\nexport const isArchivistCommitQuery: ReturnType<typeof zodIsFactory<ArchivistCommitQuery>> = zodIsFactory(ArchivistCommitQueryZod)\nexport const asArchivistCommitQuery: ReturnType<typeof zodAsFactory<ArchivistCommitQuery>> = zodAsFactory(ArchivistCommitQueryZod, 'asArchivistCommitQuery')\nexport const toArchivistCommitQuery: ReturnType<typeof zodToFactory<ArchivistCommitQuery>> = zodToFactory(ArchivistCommitQueryZod, 'toArchivistCommitQuery')\n", "import type { Hash } from '@ariestools/sdk'\nimport {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n asSchema, PayloadZodOfSchema, QueryFieldsZod,\n} from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nexport const ArchivistDeleteQuerySchema: 'network.xyo.query.archivist.delete' & {\n readonly __schema: true\n} = asSchema('network.xyo.query.archivist.delete', true)\nexport type ArchivistDeleteQuerySchema = typeof ArchivistDeleteQuerySchema\n\nexport const ArchivistDeleteQueryZod: z.ZodMiniObject<\n & { schema: z.ZodMiniLiteral<ArchivistDeleteQuerySchema> }\n & (typeof QueryFieldsZod)['shape']\n & { hashes: z.ZodMiniArray<z.ZodMiniCustom<Hash, Hash>> },\n z.core.$strip\n> = z.extend(PayloadZodOfSchema(ArchivistDeleteQuerySchema), {\n ...QueryFieldsZod.shape,\n hashes: z.array(z.custom<Hash>()),\n})\n\nexport type ArchivistDeleteQuery = z.infer<typeof ArchivistDeleteQueryZod>\n\nexport const isArchivistDeleteQuery: ReturnType<typeof zodIsFactory<ArchivistDeleteQuery>> = zodIsFactory(ArchivistDeleteQueryZod)\nexport const asArchivistDeleteQuery: ReturnType<typeof zodAsFactory<ArchivistDeleteQuery>> = zodAsFactory(ArchivistDeleteQueryZod, 'asArchivistDeleteQuery')\nexport const toArchivistDeleteQuery: ReturnType<typeof zodToFactory<ArchivistDeleteQuery>> = zodToFactory(ArchivistDeleteQueryZod, 'toArchivistDeleteQuery')\n", "import type { Hash } from '@ariestools/sdk'\nimport {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n asSchema, PayloadZodOfSchema, QueryFieldsZod,\n} from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nexport const ArchivistGetQuerySchema: 'network.xyo.query.archivist.get' & {\n readonly __schema: true\n} = asSchema('network.xyo.query.archivist.get', true)\nexport type ArchivistGetQuerySchema = typeof ArchivistGetQuerySchema\n\nexport const ArchivistGetQueryZod: z.ZodMiniObject<\n & { schema: z.ZodMiniLiteral<ArchivistGetQuerySchema> }\n & (typeof QueryFieldsZod)['shape']\n & { hashes: z.ZodMiniArray<z.ZodMiniCustom<Hash, Hash>> },\n z.core.$strip\n> = z.extend(PayloadZodOfSchema(ArchivistGetQuerySchema), {\n ...QueryFieldsZod.shape,\n hashes: z.array(z.custom<Hash>()),\n})\n\nexport type ArchivistGetQuery = z.infer<typeof ArchivistGetQueryZod>\n\nexport const isArchivistGetQuery: ReturnType<typeof zodIsFactory<ArchivistGetQuery>> = zodIsFactory(ArchivistGetQueryZod)\nexport const asArchivistGetQuery: ReturnType<typeof zodAsFactory<ArchivistGetQuery>> = zodAsFactory(ArchivistGetQueryZod, 'asArchivistGetQuery')\nexport const toArchivistGetQuery: ReturnType<typeof zodToFactory<ArchivistGetQuery>> = zodToFactory(ArchivistGetQueryZod, 'toArchivistGetQuery')\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n asSchema, PayloadZodOfSchema, QueryFieldsZod,\n} from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nexport const ArchivistInsertQuerySchema: 'network.xyo.query.archivist.insert' & {\n readonly __schema: true\n} = asSchema('network.xyo.query.archivist.insert', true)\nexport type ArchivistInsertQuerySchema = typeof ArchivistInsertQuerySchema\n\nexport const ArchivistInsertQueryZod: z.ZodMiniObject<\n & { schema: z.ZodMiniLiteral<ArchivistInsertQuerySchema> }\n & (typeof QueryFieldsZod)['shape'],\n z.core.$strip\n> = z.extend(PayloadZodOfSchema(ArchivistInsertQuerySchema), { ...QueryFieldsZod.shape })\n\nexport type ArchivistInsertQuery = z.infer<typeof ArchivistInsertQueryZod>\n\nexport const isArchivistInsertQuery: ReturnType<typeof zodIsFactory<ArchivistInsertQuery>> = zodIsFactory(ArchivistInsertQueryZod)\nexport const asArchivistInsertQuery: ReturnType<typeof zodAsFactory<ArchivistInsertQuery>> = zodAsFactory(ArchivistInsertQueryZod, 'asArchivistInsertQuery')\nexport const toArchivistInsertQuery: ReturnType<typeof zodToFactory<ArchivistInsertQuery>> = zodToFactory(ArchivistInsertQueryZod, 'toArchivistInsertQuery')\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport type { Sequence } from '@xyo-network/sdk-protocol'\nimport {\n asSchema, PayloadZodOfSchema, QueryFieldsZod,\n} from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nexport const ArchivistNextQuerySchema: 'network.xyo.query.archivist.next' & {\n readonly __schema: true\n} = asSchema('network.xyo.query.archivist.next', true)\nexport type ArchivistNextQuerySchema = typeof ArchivistNextQuerySchema\n\nexport const ArchivistNextQueryZod: z.ZodMiniObject<\n & { schema: z.ZodMiniLiteral<ArchivistNextQuerySchema> }\n & (typeof QueryFieldsZod)['shape']\n & {\n cursor: z.ZodMiniOptional<z.ZodMiniCustom<Sequence, Sequence>>\n limit: z.ZodMiniOptional<z.ZodMiniNumber<number>>\n open: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>\n order: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniLiteral<'asc'>, z.ZodMiniLiteral<'desc'>]>>\n },\n z.core.$strip\n> = z.extend(PayloadZodOfSchema(ArchivistNextQuerySchema), {\n ...QueryFieldsZod.shape,\n cursor: z.optional(z.custom<Sequence>()),\n limit: z.optional(z.number()),\n open: z.optional(z.boolean()),\n order: z.optional(z.union([z.literal('asc'), z.literal('desc')])),\n})\n\nexport type ArchivistNextQuery = z.infer<typeof ArchivistNextQueryZod>\n\nexport const isArchivistNextQuery: ReturnType<typeof zodIsFactory<ArchivistNextQuery>> = zodIsFactory(ArchivistNextQueryZod)\nexport const asArchivistNextQuery: ReturnType<typeof zodAsFactory<ArchivistNextQuery>> = zodAsFactory(ArchivistNextQueryZod, 'asArchivistNextQuery')\nexport const toArchivistNextQuery: ReturnType<typeof zodToFactory<ArchivistNextQuery>> = zodToFactory(ArchivistNextQueryZod, 'toArchivistNextQuery')\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n asSchema, PayloadZodOfSchema, QueryFieldsZod,\n} from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nexport const ArchivistSnapshotQuerySchema: 'network.xyo.query.archivist.snapshot' & {\n readonly __schema: true\n} = asSchema('network.xyo.query.archivist.snapshot', true)\nexport type ArchivistSnapshotQuerySchema = typeof ArchivistSnapshotQuerySchema\n\nexport const ArchivistSnapshotQueryZod: z.ZodMiniObject<\n & { schema: z.ZodMiniLiteral<ArchivistSnapshotQuerySchema> }\n & (typeof QueryFieldsZod)['shape'],\n z.core.$strip\n> = z.extend(PayloadZodOfSchema(ArchivistSnapshotQuerySchema), { ...QueryFieldsZod.shape })\n\nexport type ArchivistSnapshotQuery = z.infer<typeof ArchivistSnapshotQueryZod>\n\nexport const isArchivistSnapshotQuery: ReturnType<typeof zodIsFactory<ArchivistSnapshotQuery>> = zodIsFactory(ArchivistSnapshotQueryZod)\nexport const asArchivistSnapshotQuery: ReturnType<typeof zodAsFactory<ArchivistSnapshotQuery>> = zodAsFactory(ArchivistSnapshotQueryZod, 'asArchivistSnapshotQuery')\nexport const toArchivistSnapshotQuery: ReturnType<typeof zodToFactory<ArchivistSnapshotQuery>> = zodToFactory(ArchivistSnapshotQueryZod, 'toArchivistSnapshotQuery')\n", "import type { TypeCheck } from '@ariestools/sdk'\nimport { IsObjectFactory } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk-protocol'\n\nimport type { AttachableModuleInstance } from '#module-model'\n\nimport type { ArchivistModuleEventData } from '../EventData.ts'\nimport type { ArchivistInstance, ArchivistParams } from '../Instance.ts'\nimport type { ArchivistModuleInstance } from '../ModuleInstance.ts'\n\nexport interface AttachableArchivistInstance<\n TParams extends ArchivistParams = ArchivistParams,\n TEventData extends ArchivistModuleEventData = ArchivistModuleEventData,\n TPayload extends Payload = Payload,\n> extends ArchivistModuleInstance<TParams, TEventData>,\n AttachableModuleInstance<TParams, TEventData>,\n ArchivistInstance<TParams, TEventData, TPayload> {}\n\nexport type AttachableArchivistInstanceTypeCheck<T extends AttachableArchivistInstance = AttachableArchivistInstance> = TypeCheck<T>\n\nexport class IsAttachableArchivistInstanceFactory<T extends AttachableArchivistInstance = AttachableArchivistInstance> extends IsObjectFactory<T> {}\n", "import type { EmptyObject, WithAdditional } from '@ariestools/sdk'\nimport {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport type {\n Payload,\n Schema,\n} from '@xyo-network/sdk-protocol'\nimport { asSchema } from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nimport type { ModuleConfig, ModuleIdentifier } from '#module-model'\nimport { ModuleConfigZod } from '#module-model'\n\nimport type { IndexDescription } from './IndexDescription.ts'\n\nexport interface ArchivistParents {\n commit?: ModuleIdentifier[]\n read?: ModuleIdentifier[]\n write?: ModuleIdentifier[]\n}\n\nexport interface ArchivistStorage {\n /** The indexes to create on the object store */\n indexes?: IndexDescription[]\n}\n\nexport interface ArchivistGetCache {\n enabled?: boolean\n maxEntries?: number\n}\n\nexport const ArchivistConfigSchema: 'network.xyo.archivist.config' & {\n readonly __schema: true\n} = asSchema('network.xyo.archivist.config', true)\nexport type ArchivistConfigSchema = typeof ArchivistConfigSchema\n\nexport const ArchivistConfigZod: z.ZodMiniObject<\n & Omit<(typeof ModuleConfigZod)['shape'], 'schema'>\n & {\n getCache: z.ZodMiniOptional<z.ZodMiniCustom<ArchivistGetCache, ArchivistGetCache>>\n parents: z.ZodMiniOptional<z.ZodMiniCustom<ArchivistParents, ArchivistParents>>\n requireAllParents: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>\n schema: z.ZodMiniLiteral<ArchivistConfigSchema>\n storage: z.ZodMiniOptional<z.ZodMiniCustom<ArchivistStorage, ArchivistStorage>>\n storeParentReads: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>\n },\n z.core.$strip\n> = z.extend(ModuleConfigZod, {\n getCache: z.optional(z.custom<ArchivistGetCache>()),\n parents: z.optional(z.custom<ArchivistParents>()),\n requireAllParents: z.optional(z.boolean()),\n schema: z.literal(ArchivistConfigSchema),\n storage: z.optional(z.custom<ArchivistStorage>()),\n storeParentReads: z.optional(z.boolean()),\n})\n\nexport type ArchivistConfigBase = z.infer<typeof ArchivistConfigZod>\n\nexport const isArchivistConfig: ReturnType<typeof zodIsFactory<ArchivistConfigBase>> = zodIsFactory(ArchivistConfigZod)\nexport const asArchivistConfig: ReturnType<typeof zodAsFactory<ArchivistConfigBase>> = zodAsFactory(ArchivistConfigZod, 'asArchivistConfig')\nexport const toArchivistConfig: ReturnType<typeof zodToFactory<ArchivistConfigBase>> = zodToFactory(ArchivistConfigZod, 'toArchivistConfig')\n\nexport type ArchivistConfig<TConfig extends Payload | EmptyObject | void = void, TSchema extends Schema | void = void> = ModuleConfig<\n WithAdditional<\n {\n /** @field caching configuration for get calls */\n getCache?: ArchivistGetCache\n /** @field address of one or more parent archivists to read from */\n parents?: ArchivistParents\n /** @field fail if some parents can not be resolved (true if unspecified) */\n requireAllParents?: boolean\n schema: TConfig extends Payload ? TConfig['schema'] : ArchivistConfigSchema\n /** @field storage configuration */\n storage?: ArchivistStorage\n /** @field should child store all reads from parents? */\n storeParentReads?: boolean\n },\n TConfig\n >,\n TSchema\n>\n", "/**\n * The index direction (1 for ascending, -1 for descending)\n */\nexport type IndexDirection = -1 | 1\n\n/**\n * Description of index(es) to be created on a store\n */\nexport interface IndexDescription {\n /**\n * The key(s) to index\n */\n key: Record<string, IndexDirection>\n /**\n * Is the indexed value an array\n */\n multiEntry?: boolean\n /**\n * The name of the index\n */\n name?: string\n /**\n * If true, the index must enforce uniqueness on the key\n */\n unique?: boolean\n}\n\nexport const IndexSeparator = '-'\n\n/**\n * Given an index description, this will build the index\n * name in standard form\n * @param index The index description\n * @returns The index name in standard form\n */\nexport const buildStandardIndexName = (index: IndexDescription) => {\n const { key, unique } = index\n const prefix = unique ? 'UX' : 'IX'\n const indexKeys = Object.keys(key)\n return `${prefix}_${indexKeys.join(IndexSeparator)}`\n}\n", "import type { Hash, IdentityFunction } from '@ariestools/sdk'\nimport { assertEx } from '@ariestools/sdk'\nimport {\n type BoundWitness, isBoundWitness, isStorageMeta, type WithStorageMeta,\n} from '@xyo-network/sdk-protocol'\n\nimport type { ReadArchivist } from '../PayloadArchivist.ts'\n\nexport const tryGetTypedBoundWitnessWithStorageMeta = async <T extends BoundWitness>(archivist: ReadArchivist, hash: Hash,\n identity: IdentityFunction<WithStorageMeta<T>>): Promise<WithStorageMeta<T> | undefined> => {\n const payload = (await archivist.get([hash])).at(0)\n return identity(payload) ? payload : undefined\n}\n\nexport const getTypedBoundWitnessWithStorageMeta = async <T extends BoundWitness>(archivist: ReadArchivist, hash: Hash,\n identity: IdentityFunction<WithStorageMeta<T>>): Promise<WithStorageMeta<T>> => {\n const payload = assertEx((await archivist.get([hash])).at(0), () => `failed to locate bound witness: ${hash}`)\n return assertEx(identity(payload) ? payload : undefined, () => `located payload failed identity check: ${hash}`)\n}\n\nexport const getBoundWitnessWithStorageMeta = (archivist: ReadArchivist, hash: Hash): Promise<WithStorageMeta<BoundWitness>> => {\n return getTypedBoundWitnessWithStorageMeta<BoundWitness>(archivist, hash, x => isStorageMeta(x) && isBoundWitness(x))\n}\n", "import type { Hash, IdentityFunction } from '@ariestools/sdk'\nimport { exists, isHash } from '@ariestools/sdk'\nimport type { BoundWitness, WithStorageMeta } from '@xyo-network/sdk-protocol'\nimport { isBoundWitness, isStorageMeta } from '@xyo-network/sdk-protocol'\n\nimport type { ReadArchivist } from '../PayloadArchivist.ts'\nimport { getTypedBoundWitnessWithStorageMeta, tryGetTypedBoundWitnessWithStorageMeta } from './getBoundWitness.ts'\nimport type { HydratedBoundWitness } from './HydratedBoundWitness.ts'\n\nexport const tryHydrateTypedBoundWitness = async <T extends BoundWitness>(archivist: ReadArchivist, hashOrBw: Hash | WithStorageMeta<T>,\n identity: IdentityFunction<WithStorageMeta<T>>): Promise<HydratedBoundWitness<T> | undefined> => {\n const bw = isHash(hashOrBw) ? await tryGetTypedBoundWitnessWithStorageMeta(archivist, hashOrBw, identity) : hashOrBw\n return bw ? [bw, (await archivist.get(bw?.payload_hashes)).filter(exists)] : undefined\n}\n\nexport const hydrateTypedBoundWitness = async <T extends BoundWitness>(archivist: ReadArchivist, hashOrBw: Hash | WithStorageMeta<T>,\n identity: IdentityFunction<WithStorageMeta<T>>): Promise<HydratedBoundWitness<T>> => {\n const bw = isHash(hashOrBw) ? await getTypedBoundWitnessWithStorageMeta(archivist, hashOrBw, identity) : hashOrBw\n const payloads = (await archivist.get(bw?.payload_hashes)).filter(exists)\n if (payloads.length !== bw.payload_hashes.length) {\n throw new Error(`missing payloads for ${bw._hash}`)\n }\n return [bw, payloads]\n}\n\nexport const hydrateBoundWitness = (\n archivist: ReadArchivist,\n hashOrBw: Hash | WithStorageMeta<BoundWitness>,\n): Promise<HydratedBoundWitness<BoundWitness>> => {\n const idFunction: IdentityFunction<WithStorageMeta<BoundWitness>> = x => isBoundWitness(x) && isStorageMeta(x)\n return hydrateTypedBoundWitness<BoundWitness>(archivist, hashOrBw, idFunction)\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import type { Hash } from '@ariestools/sdk'\nimport {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport type { Payload, PayloadHashMap } from '@xyo-network/sdk-protocol'\nimport { asSchema, PayloadZodOfSchema } from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nexport const ArchivistSnapshotPayloadSchema: 'network.xyo.archivist.snapshot' & {\n readonly __schema: true\n} = asSchema('network.xyo.archivist.snapshot', true)\nexport type ArchivistSnapshotPayloadSchema = typeof ArchivistSnapshotPayloadSchema\n\nexport const ArchivistSnapshotPayloadZod: z.ZodMiniIntersection<\n z.ZodMiniObject<{ schema: z.ZodMiniLiteral<ArchivistSnapshotPayloadSchema> }, z.core.$strip>,\n z.ZodMiniCustom<PayloadHashMap, PayloadHashMap>\n> = z.intersection(PayloadZodOfSchema(ArchivistSnapshotPayloadSchema), z.custom<PayloadHashMap>())\n\nexport type ArchivistSnapshotPayload<TPayload extends Payload = Payload, TId extends string | number | symbol = Hash>\n = Payload<PayloadHashMap<TPayload, TId>, ArchivistSnapshotPayloadSchema>\n\nconst isArchivistSnapshotPayloadInternal = zodIsFactory(ArchivistSnapshotPayloadZod)\n\nexport const isArchivistSnapshotPayload = <\n TPayload extends Payload = Payload,\n TId extends string | number | symbol = Hash,\n TInput = unknown,\n>(payload?: TInput): payload is ArchivistSnapshotPayload<TPayload, TId> & TInput => isArchivistSnapshotPayloadInternal(payload)\n\nexport const asArchivistSnapshotPayload: ReturnType<typeof zodAsFactory<ArchivistSnapshotPayload>>\n = zodAsFactory(ArchivistSnapshotPayloadZod, 'asArchivistSnapshotPayload')\nexport const toArchivistSnapshotPayload: ReturnType<typeof zodToFactory<ArchivistSnapshotPayload>>\n = zodToFactory(ArchivistSnapshotPayloadZod, 'toArchivistSnapshotPayload')\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { asSchema, PayloadZodOfSchema } from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nexport const ArchivistStatsPayloadSchema: 'network.xyo.archivist.stats' & {\n readonly __schema: true\n} = asSchema('network.xyo.archivist.stats', true)\nexport type ArchivistStatsPayloadSchema = typeof ArchivistStatsPayloadSchema\n\nexport const ArchivistStatsPayloadZod: z.ZodMiniObject<{\n payloadCount: z.ZodMiniNumber<number>\n schema: z.ZodMiniLiteral<ArchivistStatsPayloadSchema>\n}, z.core.$strip> = z.extend(PayloadZodOfSchema(ArchivistStatsPayloadSchema), { payloadCount: z.number() })\n\nexport type ArchivistStatsPayload = z.infer<typeof ArchivistStatsPayloadZod>\n\nexport const isArchivistStatsPayload: ReturnType<typeof zodIsFactory<ArchivistStatsPayload>> = zodIsFactory(ArchivistStatsPayloadZod)\nexport const asArchivistStatsPayload: ReturnType<typeof zodAsFactory<ArchivistStatsPayload>> = zodAsFactory(ArchivistStatsPayloadZod, 'asArchivistStatsPayload')\nexport const toArchivistStatsPayload: ReturnType<typeof zodToFactory<ArchivistStatsPayload>> = zodToFactory(ArchivistStatsPayloadZod, 'toArchivistStatsPayload')\n", "import { AsObjectFactory } from '@ariestools/sdk'\n\nimport { isAttachableArchivistInstance } from './isAttachableInstance.ts'\n\nexport const asAttachableArchivistInstance = AsObjectFactory.create(isAttachableArchivistInstance)\n", "import type { ObjectTypeShape, TypeCheck } from '@ariestools/sdk'\nimport { IsObjectFactory } from '@ariestools/sdk'\n\nimport { isAttachableModuleInstance } from '#module-model'\n\nimport { isArchivistInstance } from '../typeChecks.ts'\nimport type { AttachableArchivistInstance } from './AttachableInstance.ts'\n\nexport const requiredAttachableArchivistInstanceFunctions: ObjectTypeShape = {}\n\n// we do not use IsInstanceFactory here to prevent a cycle\nconst factory = new IsObjectFactory<AttachableArchivistInstance>()\n\nexport const isAttachableArchivistInstance: TypeCheck<AttachableArchivistInstance> = factory.create(requiredAttachableArchivistInstanceFunctions, [\n isArchivistInstance,\n isAttachableModuleInstance,\n])\n", "import type { TypeCheck } from '@ariestools/sdk'\nimport { AsObjectFactory } from '@ariestools/sdk'\n\nimport {\n IsInstanceFactory, isModuleInstance, IsQueryableModuleFactory, WithFactory,\n} from '#module-model'\n\nimport type { ArchivistInstance } from './Instance.ts'\nimport type { ArchivistModuleInstance } from './ModuleInstance.ts'\nimport { ArchivistGetQuerySchema } from './Queries/index.ts'\n\nconst isInstanceFactory = new IsInstanceFactory<ArchivistInstance>()\nexport const isArchivistInstance: TypeCheck<ArchivistInstance> = isInstanceFactory.create({ get: 'function' }, [isModuleInstance])\nconst isQueryableModuleFactory = new IsQueryableModuleFactory<ArchivistModuleInstance>()\nexport const isArchivistModule: TypeCheck<ArchivistModuleInstance> = isQueryableModuleFactory.create([ArchivistGetQuerySchema])\n\nexport const asArchivistModule = AsObjectFactory.create(isArchivistModule)\nexport const asArchivistInstance = AsObjectFactory.create(isArchivistInstance)\n\n/** @deprecated use narrowing instead [ if(is) ] */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport const withArchivistModule = WithFactory.create(isArchivistModule)\n/** @deprecated use narrowing instead [ if(is) ] */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport const withArchivistInstance = WithFactory.create(isArchivistInstance)\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n asSchema, PayloadZodOfSchema, QueryFieldsZod,\n} from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nexport const ArchivistAllQuerySchema: 'network.xyo.query.archivist.all' & {\n readonly __schema: true\n} = asSchema('network.xyo.query.archivist.all', true)\nexport type ArchivistAllQuerySchema = typeof ArchivistAllQuerySchema\n\nexport const ArchivistAllQueryZod: z.ZodMiniObject<\n & { schema: z.ZodMiniLiteral<ArchivistAllQuerySchema> }\n & (typeof QueryFieldsZod)['shape'],\n z.core.$strip\n> = z.extend(PayloadZodOfSchema(ArchivistAllQuerySchema), { ...QueryFieldsZod.shape })\n\nexport type ArchivistAllQuery = z.infer<typeof ArchivistAllQueryZod>\n\nexport const isArchivistAllQuery: ReturnType<typeof zodIsFactory<ArchivistAllQuery>> = zodIsFactory(ArchivistAllQueryZod)\nexport const asArchivistAllQuery: ReturnType<typeof zodAsFactory<ArchivistAllQuery>> = zodAsFactory(ArchivistAllQueryZod, 'asArchivistAllQuery')\nexport const toArchivistAllQuery: ReturnType<typeof zodToFactory<ArchivistAllQuery>> = zodToFactory(ArchivistAllQueryZod, 'toArchivistAllQuery')\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n asSchema, PayloadZodOfSchema, QueryFieldsZod,\n} from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nexport const ArchivistClearQuerySchema: 'network.xyo.query.archivist.clear' & {\n readonly __schema: true\n} = asSchema('network.xyo.query.archivist.clear', true)\nexport type ArchivistClearQuerySchema = typeof ArchivistClearQuerySchema\n\nexport const ArchivistClearQueryZod: z.ZodMiniObject<\n & { schema: z.ZodMiniLiteral<ArchivistClearQuerySchema> }\n & (typeof QueryFieldsZod)['shape'],\n z.core.$strip\n> = z.extend(PayloadZodOfSchema(ArchivistClearQuerySchema), { ...QueryFieldsZod.shape })\n\nexport type ArchivistClearQuery = z.infer<typeof ArchivistClearQueryZod>\n\nexport const isArchivistClearQuery: ReturnType<typeof zodIsFactory<ArchivistClearQuery>> = zodIsFactory(ArchivistClearQueryZod)\nexport const asArchivistClearQuery: ReturnType<typeof zodAsFactory<ArchivistClearQuery>> = zodAsFactory(ArchivistClearQueryZod, 'asArchivistClearQuery')\nexport const toArchivistClearQuery: ReturnType<typeof zodToFactory<ArchivistClearQuery>> = zodToFactory(ArchivistClearQueryZod, 'toArchivistClearQuery')\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n asSchema, PayloadZodOfSchema, QueryFieldsZod,\n} from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nexport const ArchivistCommitQuerySchema: 'network.xyo.query.archivist.commit' & {\n readonly __schema: true\n} = asSchema('network.xyo.query.archivist.commit', true)\nexport type ArchivistCommitQuerySchema = typeof ArchivistCommitQuerySchema\n\nexport const ArchivistCommitQueryZod: z.ZodMiniObject<\n & { schema: z.ZodMiniLiteral<ArchivistCommitQuerySchema> }\n & (typeof QueryFieldsZod)['shape'],\n z.core.$strip\n> = z.extend(PayloadZodOfSchema(ArchivistCommitQuerySchema), { ...QueryFieldsZod.shape })\n\nexport type ArchivistCommitQuery = z.infer<typeof ArchivistCommitQueryZod>\n\nexport const isArchivistCommitQuery: ReturnType<typeof zodIsFactory<ArchivistCommitQuery>> = zodIsFactory(ArchivistCommitQueryZod)\nexport const asArchivistCommitQuery: ReturnType<typeof zodAsFactory<ArchivistCommitQuery>> = zodAsFactory(ArchivistCommitQueryZod, 'asArchivistCommitQuery')\nexport const toArchivistCommitQuery: ReturnType<typeof zodToFactory<ArchivistCommitQuery>> = zodToFactory(ArchivistCommitQueryZod, 'toArchivistCommitQuery')\n", "import type { Hash } from '@ariestools/sdk'\nimport {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n asSchema, PayloadZodOfSchema, QueryFieldsZod,\n} from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nexport const ArchivistDeleteQuerySchema: 'network.xyo.query.archivist.delete' & {\n readonly __schema: true\n} = asSchema('network.xyo.query.archivist.delete', true)\nexport type ArchivistDeleteQuerySchema = typeof ArchivistDeleteQuerySchema\n\nexport const ArchivistDeleteQueryZod: z.ZodMiniObject<\n & { schema: z.ZodMiniLiteral<ArchivistDeleteQuerySchema> }\n & (typeof QueryFieldsZod)['shape']\n & { hashes: z.ZodMiniArray<z.ZodMiniCustom<Hash, Hash>> },\n z.core.$strip\n> = z.extend(PayloadZodOfSchema(ArchivistDeleteQuerySchema), {\n ...QueryFieldsZod.shape,\n hashes: z.array(z.custom<Hash>()),\n})\n\nexport type ArchivistDeleteQuery = z.infer<typeof ArchivistDeleteQueryZod>\n\nexport const isArchivistDeleteQuery: ReturnType<typeof zodIsFactory<ArchivistDeleteQuery>> = zodIsFactory(ArchivistDeleteQueryZod)\nexport const asArchivistDeleteQuery: ReturnType<typeof zodAsFactory<ArchivistDeleteQuery>> = zodAsFactory(ArchivistDeleteQueryZod, 'asArchivistDeleteQuery')\nexport const toArchivistDeleteQuery: ReturnType<typeof zodToFactory<ArchivistDeleteQuery>> = zodToFactory(ArchivistDeleteQueryZod, 'toArchivistDeleteQuery')\n", "import type { Hash } from '@ariestools/sdk'\nimport {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n asSchema, PayloadZodOfSchema, QueryFieldsZod,\n} from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nexport const ArchivistGetQuerySchema: 'network.xyo.query.archivist.get' & {\n readonly __schema: true\n} = asSchema('network.xyo.query.archivist.get', true)\nexport type ArchivistGetQuerySchema = typeof ArchivistGetQuerySchema\n\nexport const ArchivistGetQueryZod: z.ZodMiniObject<\n & { schema: z.ZodMiniLiteral<ArchivistGetQuerySchema> }\n & (typeof QueryFieldsZod)['shape']\n & { hashes: z.ZodMiniArray<z.ZodMiniCustom<Hash, Hash>> },\n z.core.$strip\n> = z.extend(PayloadZodOfSchema(ArchivistGetQuerySchema), {\n ...QueryFieldsZod.shape,\n hashes: z.array(z.custom<Hash>()),\n})\n\nexport type ArchivistGetQuery = z.infer<typeof ArchivistGetQueryZod>\n\nexport const isArchivistGetQuery: ReturnType<typeof zodIsFactory<ArchivistGetQuery>> = zodIsFactory(ArchivistGetQueryZod)\nexport const asArchivistGetQuery: ReturnType<typeof zodAsFactory<ArchivistGetQuery>> = zodAsFactory(ArchivistGetQueryZod, 'asArchivistGetQuery')\nexport const toArchivistGetQuery: ReturnType<typeof zodToFactory<ArchivistGetQuery>> = zodToFactory(ArchivistGetQueryZod, 'toArchivistGetQuery')\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n asSchema, PayloadZodOfSchema, QueryFieldsZod,\n} from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nexport const ArchivistInsertQuerySchema: 'network.xyo.query.archivist.insert' & {\n readonly __schema: true\n} = asSchema('network.xyo.query.archivist.insert', true)\nexport type ArchivistInsertQuerySchema = typeof ArchivistInsertQuerySchema\n\nexport const ArchivistInsertQueryZod: z.ZodMiniObject<\n & { schema: z.ZodMiniLiteral<ArchivistInsertQuerySchema> }\n & (typeof QueryFieldsZod)['shape'],\n z.core.$strip\n> = z.extend(PayloadZodOfSchema(ArchivistInsertQuerySchema), { ...QueryFieldsZod.shape })\n\nexport type ArchivistInsertQuery = z.infer<typeof ArchivistInsertQueryZod>\n\nexport const isArchivistInsertQuery: ReturnType<typeof zodIsFactory<ArchivistInsertQuery>> = zodIsFactory(ArchivistInsertQueryZod)\nexport const asArchivistInsertQuery: ReturnType<typeof zodAsFactory<ArchivistInsertQuery>> = zodAsFactory(ArchivistInsertQueryZod, 'asArchivistInsertQuery')\nexport const toArchivistInsertQuery: ReturnType<typeof zodToFactory<ArchivistInsertQuery>> = zodToFactory(ArchivistInsertQueryZod, 'toArchivistInsertQuery')\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport type { Sequence } from '@xyo-network/sdk-protocol'\nimport {\n asSchema, PayloadZodOfSchema, QueryFieldsZod,\n} from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nexport const ArchivistNextQuerySchema: 'network.xyo.query.archivist.next' & {\n readonly __schema: true\n} = asSchema('network.xyo.query.archivist.next', true)\nexport type ArchivistNextQuerySchema = typeof ArchivistNextQuerySchema\n\nexport const ArchivistNextQueryZod: z.ZodMiniObject<\n & { schema: z.ZodMiniLiteral<ArchivistNextQuerySchema> }\n & (typeof QueryFieldsZod)['shape']\n & {\n cursor: z.ZodMiniOptional<z.ZodMiniCustom<Sequence, Sequence>>\n limit: z.ZodMiniOptional<z.ZodMiniNumber<number>>\n open: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>\n order: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniLiteral<'asc'>, z.ZodMiniLiteral<'desc'>]>>\n },\n z.core.$strip\n> = z.extend(PayloadZodOfSchema(ArchivistNextQuerySchema), {\n ...QueryFieldsZod.shape,\n cursor: z.optional(z.custom<Sequence>()),\n limit: z.optional(z.number()),\n open: z.optional(z.boolean()),\n order: z.optional(z.union([z.literal('asc'), z.literal('desc')])),\n})\n\nexport type ArchivistNextQuery = z.infer<typeof ArchivistNextQueryZod>\n\nexport const isArchivistNextQuery: ReturnType<typeof zodIsFactory<ArchivistNextQuery>> = zodIsFactory(ArchivistNextQueryZod)\nexport const asArchivistNextQuery: ReturnType<typeof zodAsFactory<ArchivistNextQuery>> = zodAsFactory(ArchivistNextQueryZod, 'asArchivistNextQuery')\nexport const toArchivistNextQuery: ReturnType<typeof zodToFactory<ArchivistNextQuery>> = zodToFactory(ArchivistNextQueryZod, 'toArchivistNextQuery')\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n asSchema, PayloadZodOfSchema, QueryFieldsZod,\n} from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nexport const ArchivistSnapshotQuerySchema: 'network.xyo.query.archivist.snapshot' & {\n readonly __schema: true\n} = asSchema('network.xyo.query.archivist.snapshot', true)\nexport type ArchivistSnapshotQuerySchema = typeof ArchivistSnapshotQuerySchema\n\nexport const ArchivistSnapshotQueryZod: z.ZodMiniObject<\n & { schema: z.ZodMiniLiteral<ArchivistSnapshotQuerySchema> }\n & (typeof QueryFieldsZod)['shape'],\n z.core.$strip\n> = z.extend(PayloadZodOfSchema(ArchivistSnapshotQuerySchema), { ...QueryFieldsZod.shape })\n\nexport type ArchivistSnapshotQuery = z.infer<typeof ArchivistSnapshotQueryZod>\n\nexport const isArchivistSnapshotQuery: ReturnType<typeof zodIsFactory<ArchivistSnapshotQuery>> = zodIsFactory(ArchivistSnapshotQueryZod)\nexport const asArchivistSnapshotQuery: ReturnType<typeof zodAsFactory<ArchivistSnapshotQuery>> = zodAsFactory(ArchivistSnapshotQueryZod, 'asArchivistSnapshotQuery')\nexport const toArchivistSnapshotQuery: ReturnType<typeof zodToFactory<ArchivistSnapshotQuery>> = zodToFactory(ArchivistSnapshotQueryZod, 'toArchivistSnapshotQuery')\n", "import type { TypeCheck } from '@ariestools/sdk'\nimport { IsObjectFactory } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk-protocol'\n\nimport type { AttachableModuleInstance } from '#module-model'\n\nimport type { ArchivistModuleEventData } from '../EventData.ts'\nimport type { ArchivistInstance, ArchivistParams } from '../Instance.ts'\nimport type { ArchivistModuleInstance } from '../ModuleInstance.ts'\n\nexport interface AttachableArchivistInstance<\n TParams extends ArchivistParams = ArchivistParams,\n TEventData extends ArchivistModuleEventData = ArchivistModuleEventData,\n TPayload extends Payload = Payload,\n> extends ArchivistModuleInstance<TParams, TEventData>,\n AttachableModuleInstance<TParams, TEventData>,\n ArchivistInstance<TParams, TEventData, TPayload> {}\n\nexport type AttachableArchivistInstanceTypeCheck<T extends AttachableArchivistInstance = AttachableArchivistInstance> = TypeCheck<T>\n\nexport class IsAttachableArchivistInstanceFactory<T extends AttachableArchivistInstance = AttachableArchivistInstance> extends IsObjectFactory<T> {}\n", "import type { EmptyObject, WithAdditional } from '@ariestools/sdk'\nimport {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport type {\n Payload,\n Schema,\n} from '@xyo-network/sdk-protocol'\nimport { asSchema } from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nimport type { ModuleConfig, ModuleIdentifier } from '#module-model'\nimport { ModuleConfigZod } from '#module-model'\n\nimport type { IndexDescription } from './IndexDescription.ts'\n\nexport interface ArchivistParents {\n commit?: ModuleIdentifier[]\n read?: ModuleIdentifier[]\n write?: ModuleIdentifier[]\n}\n\nexport interface ArchivistStorage {\n /** The indexes to create on the object store */\n indexes?: IndexDescription[]\n}\n\nexport interface ArchivistGetCache {\n enabled?: boolean\n maxEntries?: number\n}\n\nexport const ArchivistConfigSchema: 'network.xyo.archivist.config' & {\n readonly __schema: true\n} = asSchema('network.xyo.archivist.config', true)\nexport type ArchivistConfigSchema = typeof ArchivistConfigSchema\n\nexport const ArchivistConfigZod: z.ZodMiniObject<\n & Omit<(typeof ModuleConfigZod)['shape'], 'schema'>\n & {\n getCache: z.ZodMiniOptional<z.ZodMiniCustom<ArchivistGetCache, ArchivistGetCache>>\n parents: z.ZodMiniOptional<z.ZodMiniCustom<ArchivistParents, ArchivistParents>>\n requireAllParents: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>\n schema: z.ZodMiniLiteral<ArchivistConfigSchema>\n storage: z.ZodMiniOptional<z.ZodMiniCustom<ArchivistStorage, ArchivistStorage>>\n storeParentReads: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>\n },\n z.core.$strip\n> = z.extend(ModuleConfigZod, {\n getCache: z.optional(z.custom<ArchivistGetCache>()),\n parents: z.optional(z.custom<ArchivistParents>()),\n requireAllParents: z.optional(z.boolean()),\n schema: z.literal(ArchivistConfigSchema),\n storage: z.optional(z.custom<ArchivistStorage>()),\n storeParentReads: z.optional(z.boolean()),\n})\n\nexport type ArchivistConfigBase = z.infer<typeof ArchivistConfigZod>\n\nexport const isArchivistConfig: ReturnType<typeof zodIsFactory<ArchivistConfigBase>> = zodIsFactory(ArchivistConfigZod)\nexport const asArchivistConfig: ReturnType<typeof zodAsFactory<ArchivistConfigBase>> = zodAsFactory(ArchivistConfigZod, 'asArchivistConfig')\nexport const toArchivistConfig: ReturnType<typeof zodToFactory<ArchivistConfigBase>> = zodToFactory(ArchivistConfigZod, 'toArchivistConfig')\n\nexport type ArchivistConfig<TConfig extends Payload | EmptyObject | void = void, TSchema extends Schema | void = void> = ModuleConfig<\n WithAdditional<\n {\n /** @field caching configuration for get calls */\n getCache?: ArchivistGetCache\n /** @field address of one or more parent archivists to read from */\n parents?: ArchivistParents\n /** @field fail if some parents can not be resolved (true if unspecified) */\n requireAllParents?: boolean\n schema: TConfig extends Payload ? TConfig['schema'] : ArchivistConfigSchema\n /** @field storage configuration */\n storage?: ArchivistStorage\n /** @field should child store all reads from parents? */\n storeParentReads?: boolean\n },\n TConfig\n >,\n TSchema\n>\n", "/**\n * The index direction (1 for ascending, -1 for descending)\n */\nexport type IndexDirection = -1 | 1\n\n/**\n * Description of index(es) to be created on a store\n */\nexport interface IndexDescription {\n /**\n * The key(s) to index\n */\n key: Record<string, IndexDirection>\n /**\n * Is the indexed value an array\n */\n multiEntry?: boolean\n /**\n * The name of the index\n */\n name?: string\n /**\n * If true, the index must enforce uniqueness on the key\n */\n unique?: boolean\n}\n\nexport const IndexSeparator = '-'\n\n/**\n * Given an index description, this will build the index\n * name in standard form\n * @param index The index description\n * @returns The index name in standard form\n */\nexport const buildStandardIndexName = (index: IndexDescription) => {\n const { key, unique } = index\n const prefix = unique === true ? 'UX' : 'IX'\n const indexKeys = Object.keys(key)\n return `${prefix}_${indexKeys.join(IndexSeparator)}`\n}\n", "import type { Hash, IdentityFunction } from '@ariestools/sdk'\nimport { assertEx } from '@ariestools/sdk'\nimport {\n type BoundWitness, isBoundWitness, isStorageMeta, type WithStorageMeta,\n} from '@xyo-network/sdk-protocol'\n\nimport type { ReadArchivist } from '../PayloadArchivist.ts'\n\nexport const tryGetTypedBoundWitnessWithStorageMeta = async <T extends BoundWitness>(archivist: ReadArchivist, hash: Hash,\n identity: IdentityFunction<WithStorageMeta<T>>): Promise<WithStorageMeta<T> | undefined> => {\n const payloads = await archivist.get([hash])\n const payload = payloads.at(0)\n return identity(payload) ? payload : undefined\n}\n\nexport const getTypedBoundWitnessWithStorageMeta = async <T extends BoundWitness>(archivist: ReadArchivist, hash: Hash,\n identity: IdentityFunction<WithStorageMeta<T>>): Promise<WithStorageMeta<T>> => {\n const payloads = await archivist.get([hash])\n const payload = assertEx(payloads.at(0), () => `failed to locate bound witness: ${hash}`)\n return assertEx(identity(payload) ? payload : undefined, () => `located payload failed identity check: ${hash}`)\n}\n\nexport const getBoundWitnessWithStorageMeta = (archivist: ReadArchivist, hash: Hash): Promise<WithStorageMeta<BoundWitness>> => {\n return getTypedBoundWitnessWithStorageMeta<BoundWitness>(archivist, hash, x => isStorageMeta(x) && isBoundWitness(x))\n}\n", "import type { Hash, IdentityFunction } from '@ariestools/sdk'\nimport { exists, isHash } from '@ariestools/sdk'\nimport type { BoundWitness, WithStorageMeta } from '@xyo-network/sdk-protocol'\nimport { isBoundWitness, isStorageMeta } from '@xyo-network/sdk-protocol'\n\nimport type { ReadArchivist } from '../PayloadArchivist.ts'\nimport { getTypedBoundWitnessWithStorageMeta, tryGetTypedBoundWitnessWithStorageMeta } from './getBoundWitness.ts'\nimport type { HydratedBoundWitness } from './HydratedBoundWitness.ts'\n\nexport const tryHydrateTypedBoundWitness = async <T extends BoundWitness>(archivist: ReadArchivist, hashOrBw: Hash | WithStorageMeta<T>,\n identity: IdentityFunction<WithStorageMeta<T>>): Promise<HydratedBoundWitness<T> | undefined> => {\n const bw = isHash(hashOrBw) ? await tryGetTypedBoundWitnessWithStorageMeta(archivist, hashOrBw, identity) : hashOrBw\n if (bw === undefined) return undefined\n const found = await archivist.get(bw?.payload_hashes)\n return [bw, found.filter(exists)]\n}\n\nexport const hydrateTypedBoundWitness = async <T extends BoundWitness>(archivist: ReadArchivist, hashOrBw: Hash | WithStorageMeta<T>,\n identity: IdentityFunction<WithStorageMeta<T>>): Promise<HydratedBoundWitness<T>> => {\n const bw = isHash(hashOrBw) ? await getTypedBoundWitnessWithStorageMeta(archivist, hashOrBw, identity) : hashOrBw\n const found = await archivist.get(bw?.payload_hashes)\n const payloads = found.filter(exists)\n if (payloads.length !== bw.payload_hashes.length) {\n throw new Error(`missing payloads for ${bw._hash}`)\n }\n return [bw, payloads]\n}\n\nexport const hydrateBoundWitness = (\n archivist: ReadArchivist,\n hashOrBw: Hash | WithStorageMeta<BoundWitness>,\n): Promise<HydratedBoundWitness<BoundWitness>> => {\n const idFunction: IdentityFunction<WithStorageMeta<BoundWitness>> = x => isBoundWitness(x) && isStorageMeta(x)\n return hydrateTypedBoundWitness<BoundWitness>(archivist, hashOrBw, idFunction)\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "PayloadZodOfSchema", "z", "AsObjectFactory", "zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "PayloadZodOfSchema", "z", "zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "PayloadZodOfSchema", "QueryFieldsZod", "z", "zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "PayloadZodOfSchema", "QueryFieldsZod", "z", "zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "PayloadZodOfSchema", "QueryFieldsZod", "z", "zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "PayloadZodOfSchema", "QueryFieldsZod", "z", "zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "PayloadZodOfSchema", "QueryFieldsZod", "z", "zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "PayloadZodOfSchema", "QueryFieldsZod", "z", "zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "PayloadZodOfSchema", "QueryFieldsZod", "z", "AsObjectFactory", "IsObjectFactory", "zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "z", "isBoundWitness", "isStorageMeta", "isBoundWitness", "isStorageMeta"]
7
7
  }
@@ -52,7 +52,7 @@ var ViewArchivist = class extends AbstractArchivist {
52
52
  return [ArchivistGetQuerySchema, ArchivistAllQuerySchema, ArchivistNextQuerySchema, ...super.queries];
53
53
  }
54
54
  async originArchivistInstance() {
55
- this._originArchivistInstance = this._originArchivistInstance ?? assertEx(await this.resolve(this.originArchivist, { identity: isArchivistInstance, required: true }));
55
+ this._originArchivistInstance ??= assertEx(await this.resolve(this.originArchivist, { identity: isArchivistInstance, required: true }));
56
56
  return this._originArchivistInstance;
57
57
  }
58
58
  /** @deprecated use next instead */
@@ -60,10 +60,12 @@ var ViewArchivist = class extends AbstractArchivist {
60
60
  throw new Error("allHandler is deprecated, use nextHandler instead");
61
61
  }
62
62
  async getHandler(hashes) {
63
- return await (await this.originArchivistInstance()).get(hashes);
63
+ const originArchivist = await this.originArchivistInstance();
64
+ return await originArchivist.get(hashes);
64
65
  }
65
66
  async nextHandler(options) {
66
- return await (await this.originArchivistInstance()).next?.(options) ?? [];
67
+ const originArchivist = await this.originArchivistInstance();
68
+ return await originArchivist.next?.(options) ?? [];
67
69
  }
68
70
  };
69
71
  __publicField(ViewArchivist, "configSchemas", [...__superGet(ViewArchivist, ViewArchivist, "configSchemas"), ViewArchivistConfigSchema]);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/modules/archivist-view/ViewArchivist.ts"],
4
- "sourcesContent": ["import type { Hash, Promisable } from '@ariestools/sdk'\nimport {\n assertEx,\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport type {\n Payload, Schema, WithStorageMeta,\n} from '@xyo-network/sdk-protocol'\nimport { asSchema } from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nimport { AbstractArchivist, StorageClassLabel } from '#archivist-abstract'\nimport type {\n ArchivistConfig,\n ArchivistInstance,\n ArchivistModuleEventData,\n ArchivistNextOptions,\n ArchivistParams,\n} from '#archivist-model'\nimport {\n ArchivistAllQuerySchema,\n ArchivistConfigZod,\n ArchivistGetQuerySchema,\n ArchivistNextQuerySchema,\n isArchivistInstance,\n} from '#archivist-model'\nimport type {\n AnyConfigSchema,\n ModuleIdentifier,\n ModuleInstance,\n} from '#module-model'\nimport {\n labeledCreatableModule,\n ModuleLimitationViewLabel,\n} from '#module-model'\n\nexport const ViewArchivistConfigSchema: 'network.xyo.archivist.view.config' & {\n readonly __schema: true\n} = asSchema('network.xyo.archivist.view.config', true)\nexport type ViewArchivistConfigSchema = typeof ViewArchivistConfigSchema\n\nexport const ViewArchivistConfigZod: z.ZodMiniObject<\n & Omit<(typeof ArchivistConfigZod)['shape'], 'schema'>\n & {\n originArchivist: z.ZodMiniOptional<z.ZodMiniCustom<ModuleIdentifier, ModuleIdentifier>>\n schema: z.ZodMiniLiteral<ViewArchivistConfigSchema>\n },\n z.core.$strip\n> = z.extend(ArchivistConfigZod, {\n originArchivist: z.optional(z.custom<ModuleIdentifier>()),\n schema: z.literal(ViewArchivistConfigSchema),\n})\n\nexport type ViewArchivistConfigBase = z.infer<typeof ViewArchivistConfigZod>\n\nexport const isViewArchivistConfig: ReturnType<typeof zodIsFactory<ViewArchivistConfigBase>> = zodIsFactory(ViewArchivistConfigZod)\nexport const asViewArchivistConfig: ReturnType<typeof zodAsFactory<ViewArchivistConfigBase>> = zodAsFactory(ViewArchivistConfigZod, 'asViewArchivistConfig')\nexport const toViewArchivistConfig: ReturnType<typeof zodToFactory<ViewArchivistConfigBase>> = zodToFactory(ViewArchivistConfigZod, 'toViewArchivistConfig')\n\nexport type ViewArchivistConfig = ArchivistConfig<\n {\n originArchivist?: ModuleIdentifier\n },\n ViewArchivistConfigSchema\n>\n\nexport type ViewArchivistParams<TConfig extends AnyConfigSchema<ViewArchivistConfig> = AnyConfigSchema<ViewArchivistConfig>> = ArchivistParams<TConfig>\n\n@labeledCreatableModule()\nexport class ViewArchivist<\n TParams extends ViewArchivistParams<AnyConfigSchema<ViewArchivistConfig>> = ViewArchivistParams,\n TEventData extends ArchivistModuleEventData = ArchivistModuleEventData,\n>\n extends AbstractArchivist<TParams, TEventData>\n implements ArchivistInstance, ModuleInstance {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, ViewArchivistConfigSchema]\n static override readonly defaultConfigSchema: Schema = ViewArchivistConfigSchema\n static override readonly labels: {\n 'ModuleLimitationLabelName': string\n 'network.xyo.storage.class': string\n } = { ...ModuleLimitationViewLabel, [StorageClassLabel]: 'proxy' }\n\n private _originArchivistInstance?: ArchivistInstance\n\n get originArchivist(): string|(Lowercase<string> & {\n readonly __hex: true\n } & {\n readonly __address: true\n }) {\n return assertEx(this.config.originArchivist, () => 'originArchivist not configured')\n }\n\n override get queries(): Schema[] {\n return [ArchivistGetQuerySchema, ArchivistAllQuerySchema, ArchivistNextQuerySchema, ...super.queries]\n }\n\n async originArchivistInstance(): Promise<ArchivistInstance<ArchivistParams<AnyConfigSchema<ArchivistConfig>>, ArchivistModuleEventData, Payload>> {\n this._originArchivistInstance\n = this._originArchivistInstance ?? assertEx(await this.resolve(this.originArchivist, { identity: isArchivistInstance, required: true }))\n return this._originArchivistInstance\n }\n\n /** @deprecated use next instead */\n protected override allHandler(): Promisable<WithStorageMeta<Payload>[]> {\n throw new Error('allHandler is deprecated, use nextHandler instead')\n }\n\n protected override async getHandler(hashes: Hash[]): Promise<WithStorageMeta<Payload>[]> {\n return await (await this.originArchivistInstance()).get(hashes)\n }\n\n protected override async nextHandler(options?: ArchivistNextOptions): Promise<WithStorageMeta<Payload>[]> {\n return (await (await this.originArchivistInstance()).next?.(options)) ?? []\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AACA;AAAA,EACE;AAAA,EACA;AAAA,EAAc;AAAA,EAAc;AAAA,OACvB;AAIP,SAAS,gBAAgB;AACzB,YAAY,OAAO;AAEnB,SAAS,mBAAmB,yBAAyB;AAQrD;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAMP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEA,IAAM,4BAET,SAAS,qCAAqC,IAAI;AAG/C,IAAM,yBAOP,SAAO,oBAAoB;AAAA,EAC/B,iBAAmB,WAAW,SAAyB,CAAC;AAAA,EACxD,QAAU,UAAQ,yBAAyB;AAC7C,CAAC;AAIM,IAAM,wBAAkF,aAAa,sBAAsB;AAC3H,IAAM,wBAAkF,aAAa,wBAAwB,uBAAuB;AACpJ,IAAM,wBAAkF,aAAa,wBAAwB,uBAAuB;AAYpJ,IAAM,gBAAN,cAIG,kBACqC;AAAA,EAQrC;AAAA,EAER,IAAI,kBAID;AACD,WAAO,SAAS,KAAK,OAAO,iBAAiB,MAAM,gCAAgC;AAAA,EACrF;AAAA,EAEA,IAAa,UAAoB;AAC/B,WAAO,CAAC,yBAAyB,yBAAyB,0BAA0B,GAAG,MAAM,OAAO;AAAA,EACtG;AAAA,EAEA,MAAM,0BAA4I;AAChJ,SAAK,2BACD,KAAK,4BAA4B,SAAS,MAAM,KAAK,QAAQ,KAAK,iBAAiB,EAAE,UAAU,qBAAqB,UAAU,KAAK,CAAC,CAAC;AACzI,WAAO,KAAK;AAAA,EACd;AAAA;AAAA,EAGmB,aAAqD;AACtE,UAAM,IAAI,MAAM,mDAAmD;AAAA,EACrE;AAAA,EAEA,MAAyB,WAAW,QAAqD;AACvF,WAAO,OAAO,MAAM,KAAK,wBAAwB,GAAG,IAAI,MAAM;AAAA,EAChE;AAAA,EAEA,MAAyB,YAAY,SAAqE;AACxG,WAAQ,OAAO,MAAM,KAAK,wBAAwB,GAAG,OAAO,OAAO,KAAM,CAAC;AAAA,EAC5E;AACF;AAvCE,cANW,eAMc,iBAA0B,CAAC,GAAG,yCAAM,kBAAe,yBAAyB;AACrG,cAPW,eAOc,uBAA8B;AACvD,cARW,eAQc,UAGrB,EAAE,GAAG,2BAA2B,CAAC,iBAAiB,GAAG,QAAQ;AAXtD,gBAAN;AAAA,EADN,uBAAuB;AAAA,GACX;",
4
+ "sourcesContent": ["import type { Hash, Promisable } from '@ariestools/sdk'\nimport {\n assertEx,\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport type {\n Payload, Schema, WithStorageMeta,\n} from '@xyo-network/sdk-protocol'\nimport { asSchema } from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nimport { AbstractArchivist, StorageClassLabel } from '#archivist-abstract'\nimport type {\n ArchivistConfig,\n ArchivistInstance,\n ArchivistModuleEventData,\n ArchivistNextOptions,\n ArchivistParams,\n} from '#archivist-model'\nimport {\n ArchivistAllQuerySchema,\n ArchivistConfigZod,\n ArchivistGetQuerySchema,\n ArchivistNextQuerySchema,\n isArchivistInstance,\n} from '#archivist-model'\nimport type {\n AnyConfigSchema,\n ModuleIdentifier,\n ModuleInstance,\n} from '#module-model'\nimport {\n labeledCreatableModule,\n ModuleLimitationViewLabel,\n} from '#module-model'\n\nexport const ViewArchivistConfigSchema: 'network.xyo.archivist.view.config' & {\n readonly __schema: true\n} = asSchema('network.xyo.archivist.view.config', true)\nexport type ViewArchivistConfigSchema = typeof ViewArchivistConfigSchema\n\nexport const ViewArchivistConfigZod: z.ZodMiniObject<\n & Omit<(typeof ArchivistConfigZod)['shape'], 'schema'>\n & {\n originArchivist: z.ZodMiniOptional<z.ZodMiniCustom<ModuleIdentifier, ModuleIdentifier>>\n schema: z.ZodMiniLiteral<ViewArchivistConfigSchema>\n },\n z.core.$strip\n> = z.extend(ArchivistConfigZod, {\n originArchivist: z.optional(z.custom<ModuleIdentifier>()),\n schema: z.literal(ViewArchivistConfigSchema),\n})\n\nexport type ViewArchivistConfigBase = z.infer<typeof ViewArchivistConfigZod>\n\nexport const isViewArchivistConfig: ReturnType<typeof zodIsFactory<ViewArchivistConfigBase>> = zodIsFactory(ViewArchivistConfigZod)\nexport const asViewArchivistConfig: ReturnType<typeof zodAsFactory<ViewArchivistConfigBase>> = zodAsFactory(ViewArchivistConfigZod, 'asViewArchivistConfig')\nexport const toViewArchivistConfig: ReturnType<typeof zodToFactory<ViewArchivistConfigBase>> = zodToFactory(ViewArchivistConfigZod, 'toViewArchivistConfig')\n\nexport type ViewArchivistConfig = ArchivistConfig<\n {\n originArchivist?: ModuleIdentifier\n },\n ViewArchivistConfigSchema\n>\n\nexport type ViewArchivistParams<TConfig extends AnyConfigSchema<ViewArchivistConfig> = AnyConfigSchema<ViewArchivistConfig>> = ArchivistParams<TConfig>\n\n@labeledCreatableModule()\nexport class ViewArchivist<\n TParams extends ViewArchivistParams<AnyConfigSchema<ViewArchivistConfig>> = ViewArchivistParams,\n TEventData extends ArchivistModuleEventData = ArchivistModuleEventData,\n>\n extends AbstractArchivist<TParams, TEventData>\n implements ArchivistInstance, ModuleInstance {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, ViewArchivistConfigSchema]\n static override readonly defaultConfigSchema: Schema = ViewArchivistConfigSchema\n static override readonly labels: {\n 'ModuleLimitationLabelName': string\n 'network.xyo.storage.class': string\n } = { ...ModuleLimitationViewLabel, [StorageClassLabel]: 'proxy' }\n\n private _originArchivistInstance?: ArchivistInstance\n\n get originArchivist(): string|(Lowercase<string> & {\n readonly __hex: true\n } & {\n readonly __address: true\n }) {\n return assertEx(this.config.originArchivist, () => 'originArchivist not configured')\n }\n\n override get queries(): Schema[] {\n return [ArchivistGetQuerySchema, ArchivistAllQuerySchema, ArchivistNextQuerySchema, ...super.queries]\n }\n\n async originArchivistInstance(): Promise<ArchivistInstance<ArchivistParams<AnyConfigSchema<ArchivistConfig>>, ArchivistModuleEventData, Payload>> {\n this._originArchivistInstance\n ??= assertEx(await this.resolve(this.originArchivist, { identity: isArchivistInstance, required: true }))\n return this._originArchivistInstance\n }\n\n /** @deprecated use next instead */\n protected override allHandler(): Promisable<WithStorageMeta<Payload>[]> {\n throw new Error('allHandler is deprecated, use nextHandler instead')\n }\n\n protected override async getHandler(hashes: Hash[]): Promise<WithStorageMeta<Payload>[]> {\n const originArchivist = await this.originArchivistInstance()\n return await originArchivist.get(hashes)\n }\n\n protected override async nextHandler(options?: ArchivistNextOptions): Promise<WithStorageMeta<Payload>[]> {\n const originArchivist = await this.originArchivistInstance()\n return (await originArchivist.next?.(options)) ?? []\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AACA;AAAA,EACE;AAAA,EACA;AAAA,EAAc;AAAA,EAAc;AAAA,OACvB;AAIP,SAAS,gBAAgB;AACzB,YAAY,OAAO;AAEnB,SAAS,mBAAmB,yBAAyB;AAQrD;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAMP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEA,IAAM,4BAET,SAAS,qCAAqC,IAAI;AAG/C,IAAM,yBAOP,SAAO,oBAAoB;AAAA,EAC/B,iBAAmB,WAAW,SAAyB,CAAC;AAAA,EACxD,QAAU,UAAQ,yBAAyB;AAC7C,CAAC;AAIM,IAAM,wBAAkF,aAAa,sBAAsB;AAC3H,IAAM,wBAAkF,aAAa,wBAAwB,uBAAuB;AACpJ,IAAM,wBAAkF,aAAa,wBAAwB,uBAAuB;AAYpJ,IAAM,gBAAN,cAIG,kBACqC;AAAA,EAQrC;AAAA,EAER,IAAI,kBAID;AACD,WAAO,SAAS,KAAK,OAAO,iBAAiB,MAAM,gCAAgC;AAAA,EACrF;AAAA,EAEA,IAAa,UAAoB;AAC/B,WAAO,CAAC,yBAAyB,yBAAyB,0BAA0B,GAAG,MAAM,OAAO;AAAA,EACtG;AAAA,EAEA,MAAM,0BAA4I;AAChJ,SAAK,6BACC,SAAS,MAAM,KAAK,QAAQ,KAAK,iBAAiB,EAAE,UAAU,qBAAqB,UAAU,KAAK,CAAC,CAAC;AAC1G,WAAO,KAAK;AAAA,EACd;AAAA;AAAA,EAGmB,aAAqD;AACtE,UAAM,IAAI,MAAM,mDAAmD;AAAA,EACrE;AAAA,EAEA,MAAyB,WAAW,QAAqD;AACvF,UAAM,kBAAkB,MAAM,KAAK,wBAAwB;AAC3D,WAAO,MAAM,gBAAgB,IAAI,MAAM;AAAA,EACzC;AAAA,EAEA,MAAyB,YAAY,SAAqE;AACxG,UAAM,kBAAkB,MAAM,KAAK,wBAAwB;AAC3D,WAAQ,MAAM,gBAAgB,OAAO,OAAO,KAAM,CAAC;AAAA,EACrD;AACF;AAzCE,cANW,eAMc,iBAA0B,CAAC,GAAG,yCAAM,kBAAe,yBAAyB;AACrG,cAPW,eAOc,uBAA8B;AACvD,cARW,eAQc,UAGrB,EAAE,GAAG,2BAA2B,CAAC,iBAAiB,GAAG,QAAQ;AAXtD,gBAAN;AAAA,EADN,uBAAuB;AAAA,GACX;",
6
6
  "names": []
7
7
  }
@@ -1,3 +1,19 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getProtoOf = Object.getPrototypeOf;
4
+ var __reflectGet = Reflect.get;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __decorateClass = (decorators, target, key, kind) => {
7
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
8
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
9
+ if (decorator = decorators[i])
10
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
11
+ if (kind && result) __defProp(target, key, result);
12
+ return result;
13
+ };
14
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
15
+ var __superGet = (cls, obj, key) => __reflectGet(__getProtoOf(cls), key, obj);
16
+
1
17
  // src/modules/archivist-wrapper/ArchivistWrapper.ts
2
18
  import {
3
19
  ArchivistAllQuerySchema,
@@ -12,11 +28,7 @@ import {
12
28
  isArchivistModule
13
29
  } from "#archivist-model";
14
30
  import { constructableModuleWrapper, ModuleWrapper } from "#module-wrapper";
15
- constructableModuleWrapper();
16
31
  var ArchivistWrapper = class extends ModuleWrapper {
17
- static instanceIdentityCheck = isArchivistInstance;
18
- static moduleIdentityCheck = isArchivistModule;
19
- static requiredQueries = [ArchivistGetQuerySchema, ...super.requiredQueries];
20
32
  async all() {
21
33
  const queryPayload = { schema: ArchivistAllQuerySchema };
22
34
  return await this.sendQuery(queryPayload);
@@ -82,6 +94,12 @@ var ArchivistWrapper = class extends ModuleWrapper {
82
94
  return await this.sendQueryRaw(queryPayload, void 0, account);
83
95
  }
84
96
  };
97
+ __publicField(ArchivistWrapper, "instanceIdentityCheck", isArchivistInstance);
98
+ __publicField(ArchivistWrapper, "moduleIdentityCheck", isArchivistModule);
99
+ __publicField(ArchivistWrapper, "requiredQueries", [ArchivistGetQuerySchema, ...__superGet(ArchivistWrapper, ArchivistWrapper, "requiredQueries")]);
100
+ ArchivistWrapper = __decorateClass([
101
+ constructableModuleWrapper()
102
+ ], ArchivistWrapper);
85
103
  export {
86
104
  ArchivistWrapper
87
105
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/modules/archivist-wrapper/ArchivistWrapper.ts"],
4
- "sourcesContent": ["import type { Hash, TypeCheck } from '@ariestools/sdk'\nimport type {\n AccountInstance, Payload, WithStorageMeta,\n} from '@xyo-network/sdk-protocol'\n\nimport type {\n ArchivistAllQuery,\n ArchivistClearQuery,\n ArchivistCommitQuery,\n ArchivistConfig,\n ArchivistDeleteQuery,\n ArchivistGetQuery,\n ArchivistInsertQuery,\n ArchivistInstance,\n ArchivistModuleEventData,\n ArchivistModuleInstance,\n ArchivistNextOptions,\n ArchivistNextQuery,\n ArchivistParams,\n ArchivistSnapshotPayload,\n ArchivistSnapshotQuery,\n AttachableArchivistInstance,\n} from '#archivist-model'\nimport {\n ArchivistAllQuerySchema,\n ArchivistClearQuerySchema,\n ArchivistCommitQuerySchema,\n ArchivistDeleteQuerySchema,\n ArchivistGetQuerySchema,\n ArchivistInsertQuerySchema,\n ArchivistNextQuerySchema,\n ArchivistSnapshotQuerySchema,\n isArchivistInstance,\n isArchivistModule,\n} from '#archivist-model'\nimport type {\n AnyConfigSchema, ModuleQueryResult, QueryableModuleParams,\n} from '#module-model'\nimport { constructableModuleWrapper, ModuleWrapper } from '#module-wrapper'\n\nconstructableModuleWrapper()\nexport class ArchivistWrapper<TWrappedModule extends ArchivistModuleInstance = ArchivistModuleInstance>\n extends ModuleWrapper<TWrappedModule>\n implements AttachableArchivistInstance<ArchivistModuleInstance['params']> {\n static override readonly instanceIdentityCheck: TypeCheck<ArchivistInstance<ArchivistParams<AnyConfigSchema<ArchivistConfig>>, ArchivistModuleEventData, Payload>> = isArchivistInstance\n static override readonly moduleIdentityCheck: TypeCheck<ArchivistModuleInstance<QueryableModuleParams<AnyConfigSchema<ArchivistConfig>>, ArchivistModuleEventData>> = isArchivistModule\n static override readonly requiredQueries: string[] = [ArchivistGetQuerySchema, ...super.requiredQueries]\n\n async all(): Promise<WithStorageMeta<Payload>[]> {\n const queryPayload: ArchivistAllQuery = { schema: ArchivistAllQuerySchema }\n return await this.sendQuery(queryPayload)\n }\n\n async allQuery(account?: AccountInstance): Promise<ModuleQueryResult> {\n const queryPayload: ArchivistAllQuery = { schema: ArchivistAllQuerySchema }\n return await this.sendQueryRaw(queryPayload, undefined, account)\n }\n\n async clear(): Promise<void> {\n const queryPayload: ArchivistClearQuery = { schema: ArchivistClearQuerySchema }\n await this.sendQuery(queryPayload)\n }\n\n async clearQuery(account?: AccountInstance): Promise<ModuleQueryResult> {\n const queryPayload: ArchivistClearQuery = { schema: ArchivistClearQuerySchema }\n return await this.sendQueryRaw(queryPayload, undefined, account)\n }\n\n async commit(): Promise<Payload[]> {\n const queryPayload: ArchivistCommitQuery = { schema: ArchivistCommitQuerySchema }\n return await this.sendQuery(queryPayload)\n }\n\n async commitQuery(account?: AccountInstance): Promise<ModuleQueryResult> {\n const queryPayload: ArchivistCommitQuery = { schema: ArchivistCommitQuerySchema }\n return await this.sendQueryRaw(queryPayload, undefined, account)\n }\n\n async delete(hashes: Hash[]): Promise<WithStorageMeta<Payload>[]> {\n const queryPayload: ArchivistDeleteQuery = { hashes, schema: ArchivistDeleteQuerySchema }\n return await this.sendQuery(queryPayload)\n }\n\n async deleteQuery(hashes: Hash[], account?: AccountInstance): Promise<ModuleQueryResult> {\n const queryPayload: ArchivistDeleteQuery = { hashes, schema: ArchivistDeleteQuerySchema }\n return await this.sendQueryRaw(queryPayload, undefined, account)\n }\n\n async get(hashes: Hash[]): Promise<WithStorageMeta<Payload>[]> {\n const queryPayload: ArchivistGetQuery = { hashes, schema: ArchivistGetQuerySchema }\n return await this.sendQuery(queryPayload)\n }\n\n async getQuery(hashes: Hash[], account?: AccountInstance): Promise<ModuleQueryResult> {\n const queryPayload: ArchivistGetQuery = { hashes, schema: ArchivistGetQuerySchema }\n return await this.sendQueryRaw(queryPayload, undefined, account)\n }\n\n async insert(payloads: Payload[]): Promise<WithStorageMeta<Payload>[]> {\n const queryPayload: ArchivistInsertQuery = { schema: ArchivistInsertQuerySchema }\n return await this.sendQuery(queryPayload, payloads)\n }\n\n async insertQuery(payloads: Payload[], account?: AccountInstance): Promise<ModuleQueryResult> {\n const queryPayload: ArchivistInsertQuery = { schema: ArchivistInsertQuerySchema }\n return await this.sendQueryRaw(queryPayload, payloads, account)\n }\n\n async next(options?: ArchivistNextOptions): Promise<WithStorageMeta<Payload>[]> {\n const queryPayload: ArchivistNextQuery = { ...options, schema: ArchivistNextQuerySchema }\n return await this.sendQuery(queryPayload)\n }\n\n async nextQuery(options?: ArchivistNextOptions, account?: AccountInstance): Promise<ModuleQueryResult> {\n const queryPayload: ArchivistNextQuery = { schema: ArchivistNextQuerySchema, ...options }\n return await this.sendQueryRaw(queryPayload, undefined, account)\n }\n\n async snapshot(options?: {}): Promise<ArchivistSnapshotPayload<WithStorageMeta<Payload>, Hash>[]> {\n const queryPayload: ArchivistSnapshotQuery = { ...options, schema: ArchivistSnapshotQuerySchema }\n return await this.sendQuery(queryPayload)\n }\n\n async snapshotQuery(options?: {}, account?: AccountInstance): Promise<ModuleQueryResult> {\n const queryPayload: ArchivistSnapshotQuery = { schema: ArchivistSnapshotQuerySchema, ...options }\n return await this.sendQueryRaw(queryPayload, undefined, account)\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import type { Hash, TypeCheck } from '@ariestools/sdk'\nimport type {\n AccountInstance, Payload, WithStorageMeta,\n} from '@xyo-network/sdk-protocol'\n\nimport type {\n ArchivistAllQuery,\n ArchivistClearQuery,\n ArchivistCommitQuery,\n ArchivistConfig,\n ArchivistDeleteQuery,\n ArchivistGetQuery,\n ArchivistInsertQuery,\n ArchivistInstance,\n ArchivistModuleEventData,\n ArchivistModuleInstance,\n ArchivistNextOptions,\n ArchivistNextQuery,\n ArchivistParams,\n ArchivistSnapshotPayload,\n ArchivistSnapshotQuery,\n AttachableArchivistInstance,\n} from '#archivist-model'\nimport {\n ArchivistAllQuerySchema,\n ArchivistClearQuerySchema,\n ArchivistCommitQuerySchema,\n ArchivistDeleteQuerySchema,\n ArchivistGetQuerySchema,\n ArchivistInsertQuerySchema,\n ArchivistNextQuerySchema,\n ArchivistSnapshotQuerySchema,\n isArchivistInstance,\n isArchivistModule,\n} from '#archivist-model'\nimport type {\n AnyConfigSchema, ModuleQueryResult, QueryableModuleParams,\n} from '#module-model'\nimport { constructableModuleWrapper, ModuleWrapper } from '#module-wrapper'\n\n@constructableModuleWrapper()\nexport class ArchivistWrapper<TWrappedModule extends ArchivistModuleInstance = ArchivistModuleInstance>\n extends ModuleWrapper<TWrappedModule>\n implements AttachableArchivistInstance<ArchivistModuleInstance['params']> {\n static override readonly instanceIdentityCheck: TypeCheck<ArchivistInstance<ArchivistParams<AnyConfigSchema<ArchivistConfig>>, ArchivistModuleEventData, Payload>> = isArchivistInstance\n static override readonly moduleIdentityCheck: TypeCheck<ArchivistModuleInstance<QueryableModuleParams<AnyConfigSchema<ArchivistConfig>>, ArchivistModuleEventData>> = isArchivistModule\n static override readonly requiredQueries: string[] = [ArchivistGetQuerySchema, ...super.requiredQueries]\n\n async all(): Promise<WithStorageMeta<Payload>[]> {\n const queryPayload: ArchivistAllQuery = { schema: ArchivistAllQuerySchema }\n return await this.sendQuery(queryPayload)\n }\n\n async allQuery(account?: AccountInstance): Promise<ModuleQueryResult> {\n const queryPayload: ArchivistAllQuery = { schema: ArchivistAllQuerySchema }\n return await this.sendQueryRaw(queryPayload, undefined, account)\n }\n\n async clear(): Promise<void> {\n const queryPayload: ArchivistClearQuery = { schema: ArchivistClearQuerySchema }\n await this.sendQuery(queryPayload)\n }\n\n async clearQuery(account?: AccountInstance): Promise<ModuleQueryResult> {\n const queryPayload: ArchivistClearQuery = { schema: ArchivistClearQuerySchema }\n return await this.sendQueryRaw(queryPayload, undefined, account)\n }\n\n async commit(): Promise<Payload[]> {\n const queryPayload: ArchivistCommitQuery = { schema: ArchivistCommitQuerySchema }\n return await this.sendQuery(queryPayload)\n }\n\n async commitQuery(account?: AccountInstance): Promise<ModuleQueryResult> {\n const queryPayload: ArchivistCommitQuery = { schema: ArchivistCommitQuerySchema }\n return await this.sendQueryRaw(queryPayload, undefined, account)\n }\n\n async delete(hashes: Hash[]): Promise<WithStorageMeta<Payload>[]> {\n const queryPayload: ArchivistDeleteQuery = { hashes, schema: ArchivistDeleteQuerySchema }\n return await this.sendQuery(queryPayload)\n }\n\n async deleteQuery(hashes: Hash[], account?: AccountInstance): Promise<ModuleQueryResult> {\n const queryPayload: ArchivistDeleteQuery = { hashes, schema: ArchivistDeleteQuerySchema }\n return await this.sendQueryRaw(queryPayload, undefined, account)\n }\n\n async get(hashes: Hash[]): Promise<WithStorageMeta<Payload>[]> {\n const queryPayload: ArchivistGetQuery = { hashes, schema: ArchivistGetQuerySchema }\n return await this.sendQuery(queryPayload)\n }\n\n async getQuery(hashes: Hash[], account?: AccountInstance): Promise<ModuleQueryResult> {\n const queryPayload: ArchivistGetQuery = { hashes, schema: ArchivistGetQuerySchema }\n return await this.sendQueryRaw(queryPayload, undefined, account)\n }\n\n async insert(payloads: Payload[]): Promise<WithStorageMeta<Payload>[]> {\n const queryPayload: ArchivistInsertQuery = { schema: ArchivistInsertQuerySchema }\n return await this.sendQuery(queryPayload, payloads)\n }\n\n async insertQuery(payloads: Payload[], account?: AccountInstance): Promise<ModuleQueryResult> {\n const queryPayload: ArchivistInsertQuery = { schema: ArchivistInsertQuerySchema }\n return await this.sendQueryRaw(queryPayload, payloads, account)\n }\n\n async next(options?: ArchivistNextOptions): Promise<WithStorageMeta<Payload>[]> {\n const queryPayload: ArchivistNextQuery = { ...options, schema: ArchivistNextQuerySchema }\n return await this.sendQuery(queryPayload)\n }\n\n async nextQuery(options?: ArchivistNextOptions, account?: AccountInstance): Promise<ModuleQueryResult> {\n const queryPayload: ArchivistNextQuery = { schema: ArchivistNextQuerySchema, ...options }\n return await this.sendQueryRaw(queryPayload, undefined, account)\n }\n\n async snapshot(options?: {}): Promise<ArchivistSnapshotPayload<WithStorageMeta<Payload>, Hash>[]> {\n const queryPayload: ArchivistSnapshotQuery = { ...options, schema: ArchivistSnapshotQuerySchema }\n return await this.sendQuery(queryPayload)\n }\n\n async snapshotQuery(options?: {}, account?: AccountInstance): Promise<ModuleQueryResult> {\n const queryPayload: ArchivistSnapshotQuery = { schema: ArchivistSnapshotQuerySchema, ...options }\n return await this.sendQueryRaw(queryPayload, undefined, account)\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -12,37 +12,43 @@ var BoundWitnessLoader = class extends Base {
12
12
  _createCacheMutex = new Mutex();
13
13
  async load(hash) {
14
14
  if (Array.isArray(hash)) {
15
- return (await Promise.all(hash.map((h) => this.load(h)))).flat();
15
+ const loaded = await Promise.all(hash.map((h) => this.load(h)));
16
+ return loaded.flat();
16
17
  }
17
18
  const bw = asBoundWitness(await this.getPayload(hash));
18
19
  if (bw) {
19
- const payloads = (await Promise.all(bw.payload_hashes.map((hash2) => this.getPayload(hash2)))).filter(exists);
20
+ const fetched = await Promise.all(bw.payload_hashes.map((hash2) => this.getPayload(hash2)));
21
+ const payloads = fetched.filter(exists);
20
22
  return [bw, ...payloads];
21
23
  }
22
24
  return [];
23
25
  }
24
26
  async getCache() {
25
27
  return await this._createCacheMutex.runExclusive(async () => {
26
- this._cache = this._cache ?? this.params.cache ?? await MemoryArchivist.create({ account: "random" });
28
+ this._cache ??= this.params.cache ?? await MemoryArchivist.create({ account: "random" });
27
29
  if (this.params.workingSet.payloads) await this._cache.insert(this.params.workingSet.payloads);
28
30
  return this._cache;
29
31
  });
30
32
  }
31
33
  async getPayload(hash) {
32
34
  const cache = await this.getCache();
33
- const payloadFromCache = (await cache.get([hash])).at(0);
35
+ const cached = await cache.get([hash]);
36
+ const payloadFromCache = cached.at(0);
34
37
  if (isAnyPayload(payloadFromCache)) {
35
38
  return payloadFromCache;
36
39
  }
37
- for (const archivist of this.params.workingSet.archivists ?? []) {
40
+ const workingSetArchivists = this.params.workingSet.archivists ?? [];
41
+ for (const archivist of workingSetArchivists) {
38
42
  const payloadFromArchivist = await archivist.get([hash]);
39
43
  if (isAnyPayload(payloadFromArchivist)) {
40
44
  await cache.insert([payloadFromArchivist]);
41
45
  return payloadFromArchivist;
42
46
  }
43
47
  }
44
- for (const huriEndpoint of this.params.workingSet.huriEndpoints ?? []) {
45
- const payloadFromHuri = await new Huri(hash, { archivistUri: huriEndpoint }).fetch();
48
+ const huriEndpoints = this.params.workingSet.huriEndpoints ?? [];
49
+ for (const huriEndpoint of huriEndpoints) {
50
+ const huri = new Huri(hash, { archivistUri: huriEndpoint });
51
+ const payloadFromHuri = await huri.fetch();
46
52
  if (isAnyPayload(payloadFromHuri)) {
47
53
  await cache.insert([payloadFromHuri]);
48
54
  return payloadFromHuri;