@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.
- package/dist/neutral/api-location-diviner.mjs +1 -1
- package/dist/neutral/api-location-diviner.mjs.map +2 -2
- package/dist/neutral/archivist-abstract.mjs +34 -28
- package/dist/neutral/archivist-abstract.mjs.map +2 -2
- package/dist/neutral/archivist-generic.mjs +5 -3
- package/dist/neutral/archivist-generic.mjs.map +2 -2
- package/dist/neutral/archivist-memory.mjs +6 -5
- package/dist/neutral/archivist-memory.mjs.map +2 -2
- package/dist/neutral/archivist-model.mjs +14 -7
- package/dist/neutral/archivist-model.mjs.map +2 -2
- package/dist/neutral/archivist-view.mjs +5 -3
- package/dist/neutral/archivist-view.mjs.map +2 -2
- package/dist/neutral/archivist-wrapper.mjs +22 -4
- package/dist/neutral/archivist-wrapper.mjs.map +2 -2
- package/dist/neutral/boundwitness-loader.mjs +13 -7
- package/dist/neutral/boundwitness-loader.mjs.map +2 -2
- package/dist/neutral/bridge-abstract.mjs +43 -29
- package/dist/neutral/bridge-abstract.mjs.map +2 -2
- package/dist/neutral/bridge-http.mjs +23 -20
- package/dist/neutral/bridge-http.mjs.map +2 -2
- package/dist/neutral/bridge-model.mjs +4 -2
- package/dist/neutral/bridge-model.mjs.map +2 -2
- package/dist/neutral/bridge-wrapper.mjs +22 -5
- package/dist/neutral/bridge-wrapper.mjs.map +2 -2
- package/dist/neutral/bridge.mjs.map +2 -2
- package/dist/neutral/diviner-abstract.mjs +4 -3
- package/dist/neutral/diviner-abstract.mjs.map +2 -2
- package/dist/neutral/diviner-boundwitness.memory.mjs +4 -5
- package/dist/neutral/diviner-boundwitness.memory.mjs.map +2 -2
- package/dist/neutral/diviner-boundwitness.mjs +4 -5
- package/dist/neutral/diviner-boundwitness.mjs.map +2 -2
- package/dist/neutral/diviner-model.mjs +4 -2
- package/dist/neutral/diviner-model.mjs.map +2 -2
- package/dist/neutral/diviner-payload-generic.mjs +13 -16
- package/dist/neutral/diviner-payload-generic.mjs.map +2 -2
- package/dist/neutral/diviner-wrapper.mjs +22 -4
- package/dist/neutral/diviner-wrapper.mjs.map +2 -2
- package/dist/neutral/manifest-wrapper.mjs +4 -2
- package/dist/neutral/manifest-wrapper.mjs.map +2 -2
- package/dist/neutral/module-abstract.mjs +100 -106
- package/dist/neutral/module-abstract.mjs.map +3 -3
- package/dist/neutral/module-factory-locator.mjs +4 -2
- package/dist/neutral/module-factory-locator.mjs.map +2 -2
- package/dist/neutral/module-model.mjs +18 -1
- package/dist/neutral/module-model.mjs.map +2 -2
- package/dist/neutral/module-resolver.mjs +88 -81
- package/dist/neutral/module-resolver.mjs.map +3 -3
- package/dist/neutral/module-wrapper.mjs +18 -10
- package/dist/neutral/module-wrapper.mjs.map +2 -2
- package/dist/neutral/modules/api-location-diviner/LocationDiviner/LocationDivinerApi.d.ts +5 -3
- package/dist/neutral/modules/api-location-diviner/LocationDiviner/LocationDivinerApi.d.ts.map +1 -1
- package/dist/neutral/modules/api-location-diviner/LocationDiviner/Queries/LocationQueryCreationRequest.d.ts +7 -3
- package/dist/neutral/modules/api-location-diviner/LocationDiviner/Queries/LocationQueryCreationRequest.d.ts.map +1 -1
- package/dist/neutral/modules/api-location-diviner/RemoteDivinerConfig.d.ts +1 -2
- package/dist/neutral/modules/api-location-diviner/RemoteDivinerConfig.d.ts.map +1 -1
- package/dist/neutral/modules/archivist-abstract/AbstractArchivist.d.ts.map +1 -1
- package/dist/neutral/modules/archivist-abstract/payloadAdmission.d.ts.map +1 -1
- package/dist/neutral/modules/archivist-generic/Archivist.d.ts.map +1 -1
- package/dist/neutral/modules/archivist-memory/MemoryDriver.d.ts.map +1 -1
- package/dist/neutral/modules/archivist-model/lib/getBoundWitness.d.ts.map +1 -1
- package/dist/neutral/modules/archivist-model/lib/hydrateBoundWitness.d.ts.map +1 -1
- package/dist/neutral/modules/archivist-model/typeChecks.d.ts.map +1 -1
- package/dist/neutral/modules/archivist-view/ViewArchivist.d.ts.map +1 -1
- package/dist/neutral/modules/archivist-wrapper/ArchivistWrapper.d.ts.map +1 -1
- package/dist/neutral/modules/boundwitness-loader/Loader.d.ts.map +1 -1
- package/dist/neutral/modules/bridge/index.d.ts +3 -0
- package/dist/neutral/modules/bridge/index.d.ts.map +1 -1
- package/dist/neutral/modules/bridge/model.d.ts +1 -0
- package/dist/neutral/modules/bridge/model.d.ts.map +1 -1
- package/dist/neutral/modules/bridge/wrapper.d.ts +1 -0
- package/dist/neutral/modules/bridge/wrapper.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-abstract/AbstractBridge.d.ts +1 -0
- package/dist/neutral/modules/bridge-abstract/AbstractBridge.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-abstract/AbstractBridgeModuleResolver.d.ts +2 -0
- package/dist/neutral/modules/bridge-abstract/AbstractBridgeModuleResolver.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-abstract/AbstractModuleProxy/AbstractModuleProxy.d.ts +2 -0
- package/dist/neutral/modules/bridge-abstract/AbstractModuleProxy/AbstractModuleProxy.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-abstract/AbstractModuleProxy/ModuleProxyResolver.d.ts +2 -0
- package/dist/neutral/modules/bridge-abstract/AbstractModuleProxy/ModuleProxyResolver.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-abstract/index.d.ts +4 -0
- package/dist/neutral/modules/bridge-abstract/index.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-abstract/wrapModuleWithType.d.ts +1 -0
- package/dist/neutral/modules/bridge-abstract/wrapModuleWithType.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-http/HttpBridge.d.ts +2 -0
- package/dist/neutral/modules/bridge-http/HttpBridge.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-http/HttpBridgeConfig.d.ts +8 -0
- package/dist/neutral/modules/bridge-http/HttpBridgeConfig.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-http/HttpBridgeModuleResolver.d.ts +4 -2
- package/dist/neutral/modules/bridge-http/HttpBridgeModuleResolver.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-http/ModuleProxy/ModuleProxy.d.ts +3 -0
- package/dist/neutral/modules/bridge-http/ModuleProxy/ModuleProxy.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-http/ModuleProxy/index.d.ts +1 -0
- package/dist/neutral/modules/bridge-http/ModuleProxy/index.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-http/index.d.ts +2 -0
- package/dist/neutral/modules/bridge-http/index.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-model/Config.d.ts +10 -0
- package/dist/neutral/modules/bridge-model/Config.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-model/EventData.d.ts +1 -0
- package/dist/neutral/modules/bridge-model/EventData.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-model/Events/Exposed.d.ts +2 -0
- package/dist/neutral/modules/bridge-model/Events/Exposed.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-model/Events/QueryFulfillFinished.d.ts +2 -0
- package/dist/neutral/modules/bridge-model/Events/QueryFulfillFinished.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-model/Events/QueryFulfillStarted.d.ts +2 -0
- package/dist/neutral/modules/bridge-model/Events/QueryFulfillStarted.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-model/Events/QuerySendFinished.d.ts +2 -0
- package/dist/neutral/modules/bridge-model/Events/QuerySendFinished.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-model/Events/QuerySendStarted.d.ts +2 -0
- package/dist/neutral/modules/bridge-model/Events/QuerySendStarted.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-model/Events/Unexposed.d.ts +2 -0
- package/dist/neutral/modules/bridge-model/Events/Unexposed.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-model/Instance.d.ts +1 -0
- package/dist/neutral/modules/bridge-model/Instance.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-model/Module.d.ts +1 -0
- package/dist/neutral/modules/bridge-model/Module.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-model/Params.d.ts +1 -0
- package/dist/neutral/modules/bridge-model/Params.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-model/Queries/Connect.d.ts +7 -0
- package/dist/neutral/modules/bridge-model/Queries/Connect.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-model/Queries/Disconnect.d.ts +7 -0
- package/dist/neutral/modules/bridge-model/Queries/Disconnect.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-model/Queries/Expose.d.ts +15 -0
- package/dist/neutral/modules/bridge-model/Queries/Expose.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-model/Queries/Unexpose.d.ts +8 -0
- package/dist/neutral/modules/bridge-model/Queries/Unexpose.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-model/Queries/index.d.ts +2 -0
- package/dist/neutral/modules/bridge-model/Queries/index.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-model/QueryFunctions.d.ts +1 -0
- package/dist/neutral/modules/bridge-model/QueryFunctions.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-model/RawQueryFunctions.d.ts +1 -0
- package/dist/neutral/modules/bridge-model/RawQueryFunctions.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-model/attachable/AttachableInstance.d.ts +3 -0
- package/dist/neutral/modules/bridge-model/attachable/AttachableInstance.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-model/attachable/asAttachableInstance.d.ts +1 -0
- package/dist/neutral/modules/bridge-model/attachable/asAttachableInstance.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-model/attachable/isAttachableInstance.d.ts +2 -0
- package/dist/neutral/modules/bridge-model/attachable/isAttachableInstance.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-model/index.d.ts +1 -0
- package/dist/neutral/modules/bridge-model/index.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-model/typeChecks.d.ts +12 -2
- package/dist/neutral/modules/bridge-model/typeChecks.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-wrapper/BridgeWrapper.d.ts +1 -0
- package/dist/neutral/modules/bridge-wrapper/BridgeWrapper.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-wrapper/index.d.ts +1 -0
- package/dist/neutral/modules/bridge-wrapper/index.d.ts.map +1 -1
- package/dist/neutral/modules/diviner-abstract/AbstractDiviner.d.ts.map +1 -1
- package/dist/neutral/modules/diviner-boundwitness/MemoryBoundWitnessDiviner.d.ts.map +1 -1
- package/dist/neutral/modules/diviner-model/typeChecks.d.ts.map +1 -1
- package/dist/neutral/modules/diviner-payload-generic/Diviner.d.ts.map +1 -1
- package/dist/neutral/modules/diviner-wrapper/DivinerWrapper.d.ts.map +1 -1
- package/dist/neutral/modules/manifest-wrapper/Wrapper.d.ts.map +1 -1
- package/dist/neutral/modules/manifest-wrapper/WrapperEx.d.ts.map +1 -1
- package/dist/neutral/modules/module-abstract/AbstractModule.d.ts +1 -4
- package/dist/neutral/modules/module-abstract/AbstractModule.d.ts.map +1 -1
- package/dist/neutral/modules/module-abstract/AbstractModuleInstance.d.ts.map +1 -1
- package/dist/neutral/modules/module-abstract/Error.d.ts +1 -4
- package/dist/neutral/modules/module-abstract/Error.d.ts.map +1 -1
- package/dist/neutral/modules/module-abstract/QueryValidator/ModuleConfigQueryValidator.d.ts.map +1 -1
- package/dist/neutral/modules/module-factory-locator/ModuleFactoryLocator.d.ts.map +1 -1
- package/dist/neutral/modules/module-factory-locator/standardCreatableFactories.d.ts.map +1 -1
- package/dist/neutral/modules/module-model/QueryableModule/IsQueryableModuleFactory.d.ts.map +1 -1
- package/dist/neutral/modules/module-resolver/CompositeModuleResolver.d.ts.map +1 -1
- package/dist/neutral/modules/module-resolver/ResolveHelper/ResolveHelper.d.ts.map +1 -1
- package/dist/neutral/modules/module-resolver/ResolveHelper/resolveAll.d.ts.map +1 -1
- package/dist/neutral/modules/module-resolver/ResolveHelper/resolveLocalNameToAddress.d.ts.map +1 -1
- package/dist/neutral/modules/module-resolver/ResolveHelper/resolvePathToAddress.d.ts.map +1 -1
- package/dist/neutral/modules/module-resolver/SimpleModuleResolver.d.ts.map +1 -1
- package/dist/neutral/modules/module-wrapper/ModuleWrapper.d.ts +7 -1
- package/dist/neutral/modules/module-wrapper/ModuleWrapper.d.ts.map +1 -1
- package/dist/neutral/modules/modules/index.d.ts +1 -0
- package/dist/neutral/modules/modules/index.d.ts.map +1 -1
- package/dist/neutral/modules/node-abstract/AbstractNode.d.ts.map +1 -1
- package/dist/neutral/modules/node-memory/MemoryNode.d.ts.map +1 -1
- package/dist/neutral/modules/node-memory/NodeHelper/attachToExistingNode.d.ts.map +1 -1
- package/dist/neutral/modules/node-memory/NodeHelper/flatAttachToExistingNode.d.ts.map +1 -1
- package/dist/neutral/modules/node-model/typeChecks.d.ts.map +1 -1
- package/dist/neutral/modules/node-view/ViewNode.d.ts.map +1 -1
- package/dist/neutral/modules/node-wrapper/NodeWrapper.d.ts.map +1 -1
- package/dist/neutral/modules/payloadset-plugin/Resolver.d.ts.map +1 -1
- package/dist/neutral/modules/sentinel-abstract/AbstractSentinel.d.ts.map +1 -1
- package/dist/neutral/modules/sentinel-memory/MemorySentinel.d.ts.map +1 -1
- package/dist/neutral/modules/sentinel-memory/SentinelRunner.d.ts.map +1 -1
- package/dist/neutral/modules/sentinel-model/typeChecks.d.ts.map +1 -1
- package/dist/neutral/modules/sentinel-wrapper/Wrapper.d.ts.map +1 -1
- package/dist/neutral/modules/witness-abstract/AbstractWitness.d.ts.map +1 -1
- package/dist/neutral/modules/witness-model/typeChecks.d.ts.map +1 -1
- package/dist/neutral/modules/witness-wrapper/WitnessWrapper.d.ts.map +1 -1
- package/dist/neutral/modules.mjs.map +2 -2
- package/dist/neutral/node-abstract.mjs +22 -10
- package/dist/neutral/node-abstract.mjs.map +2 -2
- package/dist/neutral/node-memory.mjs +14 -13
- package/dist/neutral/node-memory.mjs.map +2 -2
- package/dist/neutral/node-model.mjs +2 -1
- package/dist/neutral/node-model.mjs.map +2 -2
- package/dist/neutral/node-view.mjs +13 -11
- package/dist/neutral/node-view.mjs.map +2 -2
- package/dist/neutral/node-wrapper.mjs +35 -11
- package/dist/neutral/node-wrapper.mjs.map +2 -2
- package/dist/neutral/payloadset-plugin.mjs +11 -10
- package/dist/neutral/payloadset-plugin.mjs.map +2 -2
- package/dist/neutral/sentinel-abstract.mjs +7 -6
- package/dist/neutral/sentinel-abstract.mjs.map +2 -2
- package/dist/neutral/sentinel-memory.mjs +28 -22
- package/dist/neutral/sentinel-memory.mjs.map +2 -2
- package/dist/neutral/sentinel-model.mjs +4 -2
- package/dist/neutral/sentinel-model.mjs.map +2 -2
- package/dist/neutral/sentinel-wrapper.mjs +22 -4
- package/dist/neutral/sentinel-wrapper.mjs.map +2 -2
- package/dist/neutral/witness-abstract.mjs +4 -3
- package/dist/neutral/witness-abstract.mjs.map +2 -2
- package/dist/neutral/witness-model.mjs +4 -2
- package/dist/neutral/witness-model.mjs.map +2 -2
- package/dist/neutral/witness-wrapper.mjs +22 -4
- package/dist/neutral/witness-wrapper.mjs.map +2 -2
- package/dist/node/modules/api-location-diviner/LocationDiviner/LocationDivinerApi.d.ts +5 -3
- package/dist/node/modules/api-location-diviner/LocationDiviner/LocationDivinerApi.d.ts.map +1 -1
- package/dist/node/modules/api-location-diviner/LocationDiviner/Queries/LocationQueryCreationRequest.d.ts +7 -3
- package/dist/node/modules/api-location-diviner/LocationDiviner/Queries/LocationQueryCreationRequest.d.ts.map +1 -1
- package/dist/node/modules/api-location-diviner/RemoteDivinerConfig.d.ts +1 -2
- package/dist/node/modules/api-location-diviner/RemoteDivinerConfig.d.ts.map +1 -1
- package/dist/node/modules/archivist-abstract/AbstractArchivist.d.ts.map +1 -1
- package/dist/node/modules/archivist-abstract/payloadAdmission.d.ts.map +1 -1
- package/dist/node/modules/archivist-generic/Archivist.d.ts.map +1 -1
- package/dist/node/modules/archivist-memory/MemoryDriver.d.ts.map +1 -1
- package/dist/node/modules/archivist-model/lib/getBoundWitness.d.ts.map +1 -1
- package/dist/node/modules/archivist-model/lib/hydrateBoundWitness.d.ts.map +1 -1
- package/dist/node/modules/archivist-model/typeChecks.d.ts.map +1 -1
- package/dist/node/modules/archivist-view/ViewArchivist.d.ts.map +1 -1
- package/dist/node/modules/archivist-wrapper/ArchivistWrapper.d.ts.map +1 -1
- package/dist/node/modules/boundwitness-loader/Loader.d.ts.map +1 -1
- package/dist/node/modules/bridge/index.d.ts +3 -0
- package/dist/node/modules/bridge/index.d.ts.map +1 -1
- package/dist/node/modules/bridge/model.d.ts +1 -0
- package/dist/node/modules/bridge/model.d.ts.map +1 -1
- package/dist/node/modules/bridge/wrapper.d.ts +1 -0
- package/dist/node/modules/bridge/wrapper.d.ts.map +1 -1
- package/dist/node/modules/bridge-abstract/AbstractBridge.d.ts +1 -0
- package/dist/node/modules/bridge-abstract/AbstractBridge.d.ts.map +1 -1
- package/dist/node/modules/bridge-abstract/AbstractBridgeModuleResolver.d.ts +2 -0
- package/dist/node/modules/bridge-abstract/AbstractBridgeModuleResolver.d.ts.map +1 -1
- package/dist/node/modules/bridge-abstract/AbstractModuleProxy/AbstractModuleProxy.d.ts +2 -0
- package/dist/node/modules/bridge-abstract/AbstractModuleProxy/AbstractModuleProxy.d.ts.map +1 -1
- package/dist/node/modules/bridge-abstract/AbstractModuleProxy/ModuleProxyResolver.d.ts +2 -0
- package/dist/node/modules/bridge-abstract/AbstractModuleProxy/ModuleProxyResolver.d.ts.map +1 -1
- package/dist/node/modules/bridge-abstract/index.d.ts +4 -0
- package/dist/node/modules/bridge-abstract/index.d.ts.map +1 -1
- package/dist/node/modules/bridge-abstract/wrapModuleWithType.d.ts +1 -0
- package/dist/node/modules/bridge-abstract/wrapModuleWithType.d.ts.map +1 -1
- package/dist/node/modules/bridge-http/HttpBridge.d.ts +2 -0
- package/dist/node/modules/bridge-http/HttpBridge.d.ts.map +1 -1
- package/dist/node/modules/bridge-http/HttpBridgeConfig.d.ts +8 -0
- package/dist/node/modules/bridge-http/HttpBridgeConfig.d.ts.map +1 -1
- package/dist/node/modules/bridge-http/HttpBridgeModuleResolver.d.ts +4 -2
- package/dist/node/modules/bridge-http/HttpBridgeModuleResolver.d.ts.map +1 -1
- package/dist/node/modules/bridge-http/ModuleProxy/ModuleProxy.d.ts +3 -0
- package/dist/node/modules/bridge-http/ModuleProxy/ModuleProxy.d.ts.map +1 -1
- package/dist/node/modules/bridge-http/ModuleProxy/index.d.ts +1 -0
- package/dist/node/modules/bridge-http/ModuleProxy/index.d.ts.map +1 -1
- package/dist/node/modules/bridge-http/index.d.ts +2 -0
- package/dist/node/modules/bridge-http/index.d.ts.map +1 -1
- package/dist/node/modules/bridge-model/Config.d.ts +10 -0
- package/dist/node/modules/bridge-model/Config.d.ts.map +1 -1
- package/dist/node/modules/bridge-model/EventData.d.ts +1 -0
- package/dist/node/modules/bridge-model/EventData.d.ts.map +1 -1
- package/dist/node/modules/bridge-model/Events/Exposed.d.ts +2 -0
- package/dist/node/modules/bridge-model/Events/Exposed.d.ts.map +1 -1
- package/dist/node/modules/bridge-model/Events/QueryFulfillFinished.d.ts +2 -0
- package/dist/node/modules/bridge-model/Events/QueryFulfillFinished.d.ts.map +1 -1
- package/dist/node/modules/bridge-model/Events/QueryFulfillStarted.d.ts +2 -0
- package/dist/node/modules/bridge-model/Events/QueryFulfillStarted.d.ts.map +1 -1
- package/dist/node/modules/bridge-model/Events/QuerySendFinished.d.ts +2 -0
- package/dist/node/modules/bridge-model/Events/QuerySendFinished.d.ts.map +1 -1
- package/dist/node/modules/bridge-model/Events/QuerySendStarted.d.ts +2 -0
- package/dist/node/modules/bridge-model/Events/QuerySendStarted.d.ts.map +1 -1
- package/dist/node/modules/bridge-model/Events/Unexposed.d.ts +2 -0
- package/dist/node/modules/bridge-model/Events/Unexposed.d.ts.map +1 -1
- package/dist/node/modules/bridge-model/Instance.d.ts +1 -0
- package/dist/node/modules/bridge-model/Instance.d.ts.map +1 -1
- package/dist/node/modules/bridge-model/Module.d.ts +1 -0
- package/dist/node/modules/bridge-model/Module.d.ts.map +1 -1
- package/dist/node/modules/bridge-model/Params.d.ts +1 -0
- package/dist/node/modules/bridge-model/Params.d.ts.map +1 -1
- package/dist/node/modules/bridge-model/Queries/Connect.d.ts +7 -0
- package/dist/node/modules/bridge-model/Queries/Connect.d.ts.map +1 -1
- package/dist/node/modules/bridge-model/Queries/Disconnect.d.ts +7 -0
- package/dist/node/modules/bridge-model/Queries/Disconnect.d.ts.map +1 -1
- package/dist/node/modules/bridge-model/Queries/Expose.d.ts +15 -0
- package/dist/node/modules/bridge-model/Queries/Expose.d.ts.map +1 -1
- package/dist/node/modules/bridge-model/Queries/Unexpose.d.ts +8 -0
- package/dist/node/modules/bridge-model/Queries/Unexpose.d.ts.map +1 -1
- package/dist/node/modules/bridge-model/Queries/index.d.ts +2 -0
- package/dist/node/modules/bridge-model/Queries/index.d.ts.map +1 -1
- package/dist/node/modules/bridge-model/QueryFunctions.d.ts +1 -0
- package/dist/node/modules/bridge-model/QueryFunctions.d.ts.map +1 -1
- package/dist/node/modules/bridge-model/RawQueryFunctions.d.ts +1 -0
- package/dist/node/modules/bridge-model/RawQueryFunctions.d.ts.map +1 -1
- package/dist/node/modules/bridge-model/attachable/AttachableInstance.d.ts +3 -0
- package/dist/node/modules/bridge-model/attachable/AttachableInstance.d.ts.map +1 -1
- package/dist/node/modules/bridge-model/attachable/asAttachableInstance.d.ts +1 -0
- package/dist/node/modules/bridge-model/attachable/asAttachableInstance.d.ts.map +1 -1
- package/dist/node/modules/bridge-model/attachable/isAttachableInstance.d.ts +2 -0
- package/dist/node/modules/bridge-model/attachable/isAttachableInstance.d.ts.map +1 -1
- package/dist/node/modules/bridge-model/index.d.ts +1 -0
- package/dist/node/modules/bridge-model/index.d.ts.map +1 -1
- package/dist/node/modules/bridge-model/typeChecks.d.ts +12 -2
- package/dist/node/modules/bridge-model/typeChecks.d.ts.map +1 -1
- package/dist/node/modules/bridge-wrapper/BridgeWrapper.d.ts +1 -0
- package/dist/node/modules/bridge-wrapper/BridgeWrapper.d.ts.map +1 -1
- package/dist/node/modules/bridge-wrapper/index.d.ts +1 -0
- package/dist/node/modules/bridge-wrapper/index.d.ts.map +1 -1
- package/dist/node/modules/diviner-abstract/AbstractDiviner.d.ts.map +1 -1
- package/dist/node/modules/diviner-boundwitness/MemoryBoundWitnessDiviner.d.ts.map +1 -1
- package/dist/node/modules/diviner-model/typeChecks.d.ts.map +1 -1
- package/dist/node/modules/diviner-payload-generic/Diviner.d.ts.map +1 -1
- package/dist/node/modules/diviner-wrapper/DivinerWrapper.d.ts.map +1 -1
- package/dist/node/modules/manifest-wrapper/Wrapper.d.ts.map +1 -1
- package/dist/node/modules/manifest-wrapper/WrapperEx.d.ts.map +1 -1
- package/dist/node/modules/module-abstract/AbstractModule.d.ts +1 -4
- package/dist/node/modules/module-abstract/AbstractModule.d.ts.map +1 -1
- package/dist/node/modules/module-abstract/AbstractModuleInstance.d.ts.map +1 -1
- package/dist/node/modules/module-abstract/Error.d.ts +1 -4
- package/dist/node/modules/module-abstract/Error.d.ts.map +1 -1
- package/dist/node/modules/module-abstract/QueryValidator/ModuleConfigQueryValidator.d.ts.map +1 -1
- package/dist/node/modules/module-factory-locator/ModuleFactoryLocator.d.ts.map +1 -1
- package/dist/node/modules/module-factory-locator/standardCreatableFactories.d.ts.map +1 -1
- package/dist/node/modules/module-model/QueryableModule/IsQueryableModuleFactory.d.ts.map +1 -1
- package/dist/node/modules/module-resolver/CompositeModuleResolver.d.ts.map +1 -1
- package/dist/node/modules/module-resolver/ResolveHelper/ResolveHelper.d.ts.map +1 -1
- package/dist/node/modules/module-resolver/ResolveHelper/resolveAll.d.ts.map +1 -1
- package/dist/node/modules/module-resolver/ResolveHelper/resolveLocalNameToAddress.d.ts.map +1 -1
- package/dist/node/modules/module-resolver/ResolveHelper/resolvePathToAddress.d.ts.map +1 -1
- package/dist/node/modules/module-resolver/SimpleModuleResolver.d.ts.map +1 -1
- package/dist/node/modules/module-wrapper/ModuleWrapper.d.ts +7 -1
- package/dist/node/modules/module-wrapper/ModuleWrapper.d.ts.map +1 -1
- package/dist/node/modules/modules/index.d.ts +1 -0
- package/dist/node/modules/modules/index.d.ts.map +1 -1
- package/dist/node/modules/node-abstract/AbstractNode.d.ts.map +1 -1
- package/dist/node/modules/node-memory/MemoryNode.d.ts.map +1 -1
- package/dist/node/modules/node-memory/NodeHelper/attachToExistingNode.d.ts.map +1 -1
- package/dist/node/modules/node-memory/NodeHelper/flatAttachToExistingNode.d.ts.map +1 -1
- package/dist/node/modules/node-model/typeChecks.d.ts.map +1 -1
- package/dist/node/modules/node-view/ViewNode.d.ts.map +1 -1
- package/dist/node/modules/node-wrapper/NodeWrapper.d.ts.map +1 -1
- package/dist/node/modules/payloadset-plugin/Resolver.d.ts.map +1 -1
- package/dist/node/modules/sentinel-abstract/AbstractSentinel.d.ts.map +1 -1
- package/dist/node/modules/sentinel-memory/MemorySentinel.d.ts.map +1 -1
- package/dist/node/modules/sentinel-memory/SentinelRunner.d.ts.map +1 -1
- package/dist/node/modules/sentinel-model/typeChecks.d.ts.map +1 -1
- package/dist/node/modules/sentinel-wrapper/Wrapper.d.ts.map +1 -1
- package/dist/node/modules/witness-abstract/AbstractWitness.d.ts.map +1 -1
- package/dist/node/modules/witness-model/typeChecks.d.ts.map +1 -1
- package/dist/node/modules/witness-wrapper/WitnessWrapper.d.ts.map +1 -1
- 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
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;AAGA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAKP,SAAS,eAAe;AAExB,SAAS,mBAAmB,yBAAyB;AAUrD;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,uBAAuB;;;AChChC;AAAA,EACE;AAAA,EAAc;AAAA,EAAc;AAAA,OACvB;AACP;AAAA,EACE;AAAA,OACK;AACP,YAAY,OAAO;AAGnB,SAAS,0BAA0B;AAE5B,IAAM,+BAET,SAAS,wCAAwC,IAAI;AAGlD,IAAM,4BAOP,SAAO,oBAAoB;AAAA,EAC/B,KAAO,WAAW,SAAO,CAAC;AAAA,EAC1B,QAAU,UAAQ,4BAA4B;AAChD,CAAC;AAIM,IAAM,2BAAwF,aAAa,yBAAyB;AACpI,IAAM,2BAAwF,aAAa,2BAA2B,0BAA0B;AAChK,IAAM,2BAAwF,aAAa,2BAA2B,0BAA0B;;;ADWhK,IAAM,mBAAN,cAIG,kBAC+C;AAAA,EAOvD,IAAa,UAAoB;AAC/B,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG,MAAM;AAAA,IACX;AAAA,EACF;AAAA,EAEA,IAAc,SAA0E;AACtF,WAAO,SAAS,KAAK,OAAO,QAAQ,MAAM,mBAAmB;AAAA,EAC/D;AAAA,EAEA,aAAa,KAAK,UAAqB,SAAsD;AAC3F,UAAM,YAAY,MAAM,
|
|
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
|
|
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
|
|
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 ??=
|
|
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
|
|
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
|
-
}))
|
|
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
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;AAEA,SAAS,yBAAyB;AAElC,SAAS,wBAAwB;AAKjC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAIP,SAAS,uBAAuB;;;ACnBhC;AAAA,EACE;AAAA,EAAc;AAAA,EAAc;AAAA,OACvB;AACP;AAAA,EACE;AAAA,OACK;AACP,YAAY,OAAO;AAGnB,SAAS,0BAA0B;AAE5B,IAAM,8BAET,SAAS,uCAAuC,IAAI;AAGjD,IAAM,2BAOP,SAAO,oBAAoB;AAAA,EAC/B,KAAO,WAAW,SAAO,CAAC;AAAA,EAC1B,QAAU,UAAQ,2BAA2B;AAC/C,CAAC;AAIM,IAAM,0BAAsF,aAAa,wBAAwB;AACjI,IAAM,0BAAsF,aAAa,0BAA0B,yBAAyB;AAC5J,IAAM,0BAAsF,aAAa,0BAA0B,yBAAyB;;;AC7BnK;AAAA,EACE;AAAA,EAAmB;AAAA,EACnB;AAAA,EAAW;AAAA,EACX;AAAA,OACK;AAEP,SAAS,sBAAsB;AAC/B,SAAS,gBAAgB;AAalB,IAAM,eAAN,cAA2B,kBACoC;AAAA,EAC5D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAER,IAAc,QAAyD;AACrE,SAAK,
|
|
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
|
|
204
|
-
var
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
63
|
+
const originArchivist = await this.originArchivistInstance();
|
|
64
|
+
return await originArchivist.get(hashes);
|
|
64
65
|
}
|
|
65
66
|
async nextHandler(options) {
|
|
66
|
-
|
|
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
|
|
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,
|
|
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\
|
|
5
|
-
"mappings": "
|
|
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": ";;;;;;;;;;;;;;;;;AAuBA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAIP,SAAS,4BAA4B,qBAAqB;AAGnD,IAAM,mBAAN,cACG,cACkE;AAAA,EAK1E,MAAM,MAA2C;AAC/C,UAAM,eAAkC,EAAE,QAAQ,wBAAwB;AAC1E,WAAO,MAAM,KAAK,UAAU,YAAY;AAAA,EAC1C;AAAA,EAEA,MAAM,SAAS,SAAuD;AACpE,UAAM,eAAkC,EAAE,QAAQ,wBAAwB;AAC1E,WAAO,MAAM,KAAK,aAAa,cAAc,QAAW,OAAO;AAAA,EACjE;AAAA,EAEA,MAAM,QAAuB;AAC3B,UAAM,eAAoC,EAAE,QAAQ,0BAA0B;AAC9E,UAAM,KAAK,UAAU,YAAY;AAAA,EACnC;AAAA,EAEA,MAAM,WAAW,SAAuD;AACtE,UAAM,eAAoC,EAAE,QAAQ,0BAA0B;AAC9E,WAAO,MAAM,KAAK,aAAa,cAAc,QAAW,OAAO;AAAA,EACjE;AAAA,EAEA,MAAM,SAA6B;AACjC,UAAM,eAAqC,EAAE,QAAQ,2BAA2B;AAChF,WAAO,MAAM,KAAK,UAAU,YAAY;AAAA,EAC1C;AAAA,EAEA,MAAM,YAAY,SAAuD;AACvE,UAAM,eAAqC,EAAE,QAAQ,2BAA2B;AAChF,WAAO,MAAM,KAAK,aAAa,cAAc,QAAW,OAAO;AAAA,EACjE;AAAA,EAEA,MAAM,OAAO,QAAqD;AAChE,UAAM,eAAqC,EAAE,QAAQ,QAAQ,2BAA2B;AACxF,WAAO,MAAM,KAAK,UAAU,YAAY;AAAA,EAC1C;AAAA,EAEA,MAAM,YAAY,QAAgB,SAAuD;AACvF,UAAM,eAAqC,EAAE,QAAQ,QAAQ,2BAA2B;AACxF,WAAO,MAAM,KAAK,aAAa,cAAc,QAAW,OAAO;AAAA,EACjE;AAAA,EAEA,MAAM,IAAI,QAAqD;AAC7D,UAAM,eAAkC,EAAE,QAAQ,QAAQ,wBAAwB;AAClF,WAAO,MAAM,KAAK,UAAU,YAAY;AAAA,EAC1C;AAAA,EAEA,MAAM,SAAS,QAAgB,SAAuD;AACpF,UAAM,eAAkC,EAAE,QAAQ,QAAQ,wBAAwB;AAClF,WAAO,MAAM,KAAK,aAAa,cAAc,QAAW,OAAO;AAAA,EACjE;AAAA,EAEA,MAAM,OAAO,UAA0D;AACrE,UAAM,eAAqC,EAAE,QAAQ,2BAA2B;AAChF,WAAO,MAAM,KAAK,UAAU,cAAc,QAAQ;AAAA,EACpD;AAAA,EAEA,MAAM,YAAY,UAAqB,SAAuD;AAC5F,UAAM,eAAqC,EAAE,QAAQ,2BAA2B;AAChF,WAAO,MAAM,KAAK,aAAa,cAAc,UAAU,OAAO;AAAA,EAChE;AAAA,EAEA,MAAM,KAAK,SAAqE;AAC9E,UAAM,eAAmC,EAAE,GAAG,SAAS,QAAQ,yBAAyB;AACxF,WAAO,MAAM,KAAK,UAAU,YAAY;AAAA,EAC1C;AAAA,EAEA,MAAM,UAAU,SAAgC,SAAuD;AACrG,UAAM,eAAmC,EAAE,QAAQ,0BAA0B,GAAG,QAAQ;AACxF,WAAO,MAAM,KAAK,aAAa,cAAc,QAAW,OAAO;AAAA,EACjE;AAAA,EAEA,MAAM,SAAS,SAAmF;AAChG,UAAM,eAAuC,EAAE,GAAG,SAAS,QAAQ,6BAA6B;AAChG,WAAO,MAAM,KAAK,UAAU,YAAY;AAAA,EAC1C;AAAA,EAEA,MAAM,cAAc,SAAc,SAAuD;AACvF,UAAM,eAAuC,EAAE,QAAQ,8BAA8B,GAAG,QAAQ;AAChG,WAAO,MAAM,KAAK,aAAa,cAAc,QAAW,OAAO;AAAA,EACjE;AACF;AAnFE,cAHW,kBAGc,yBAA4I;AACrK,cAJW,kBAIc,uBAA6I;AACtK,cALW,kBAKc,mBAA4B,CAAC,yBAAyB,GAAG,+CAAM,kBAAe;AAL5F,mBAAN;AAAA,EADN,2BAA2B;AAAA,GACf;",
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
45
|
-
|
|
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;
|