@xyo-network/sdk 7.4.0 → 7.4.2
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.map +2 -2
- package/dist/neutral/archivist-abstract.mjs +196 -110
- package/dist/neutral/archivist-abstract.mjs.map +4 -4
- package/dist/neutral/archivist-generic.mjs +1 -1
- package/dist/neutral/archivist-generic.mjs.map +2 -2
- package/dist/neutral/archivist-memory.mjs +3 -1
- package/dist/neutral/archivist-memory.mjs.map +2 -2
- package/dist/neutral/archivist-model.mjs +4 -2
- package/dist/neutral/archivist-model.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 +2 -1
- package/dist/neutral/boundwitness-loader.mjs.map +2 -2
- package/dist/neutral/bridge-abstract.mjs +4 -3
- package/dist/neutral/bridge-abstract.mjs.map +2 -2
- package/dist/neutral/bridge-http.mjs +4 -5
- 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 +18 -3
- package/dist/neutral/bridge-wrapper.mjs.map +2 -2
- package/dist/neutral/bridge.mjs.map +2 -2
- package/dist/neutral/diviner-abstract.mjs +2 -1
- package/dist/neutral/diviner-abstract.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 +1 -2
- 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/module-abstract.mjs +57 -60
- package/dist/neutral/module-abstract.mjs.map +2 -2
- package/dist/neutral/module-factory-locator.mjs +4 -2
- package/dist/neutral/module-factory-locator.mjs.map +2 -2
- package/dist/neutral/module-resolver.mjs +30 -31
- package/dist/neutral/module-resolver.mjs.map +2 -2
- package/dist/neutral/module-wrapper.mjs +7 -4
- 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 +20 -1
- package/dist/neutral/modules/archivist-abstract/AbstractArchivist.d.ts.map +1 -1
- package/dist/neutral/modules/archivist-abstract/index.d.ts +1 -0
- package/dist/neutral/modules/archivist-abstract/index.d.ts.map +1 -1
- package/dist/neutral/modules/archivist-abstract/payloadAdmission.d.ts +13 -0
- package/dist/neutral/modules/archivist-abstract/payloadAdmission.d.ts.map +1 -0
- package/dist/neutral/modules/archivist-memory/MemoryDriver.d.ts.map +1 -1
- package/dist/neutral/modules/archivist-model/typeChecks.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-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/module-abstract/AbstractModule.d.ts +1 -3
- 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-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-resolver/ResolveHelper/ResolveHelper.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/NodeHelper/attachToExistingNode.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/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-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 +14 -6
- package/dist/neutral/node-abstract.mjs.map +2 -2
- package/dist/neutral/node-memory.mjs +8 -9
- 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 +11 -10
- package/dist/neutral/node-view.mjs.map +2 -2
- package/dist/neutral/node-wrapper.mjs +19 -4
- package/dist/neutral/node-wrapper.mjs.map +2 -2
- package/dist/neutral/sentinel-abstract.mjs +4 -4
- package/dist/neutral/sentinel-abstract.mjs.map +2 -2
- package/dist/neutral/sentinel-memory.mjs +17 -16
- 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-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 +20 -1
- package/dist/node/modules/archivist-abstract/AbstractArchivist.d.ts.map +1 -1
- package/dist/node/modules/archivist-abstract/index.d.ts +1 -0
- package/dist/node/modules/archivist-abstract/index.d.ts.map +1 -1
- package/dist/node/modules/archivist-abstract/payloadAdmission.d.ts +13 -0
- package/dist/node/modules/archivist-abstract/payloadAdmission.d.ts.map +1 -0
- package/dist/node/modules/archivist-memory/MemoryDriver.d.ts.map +1 -1
- package/dist/node/modules/archivist-model/typeChecks.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-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/module-abstract/AbstractModule.d.ts +1 -3
- 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-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-resolver/ResolveHelper/ResolveHelper.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/NodeHelper/attachToExistingNode.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/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-model/typeChecks.d.ts.map +1 -1
- package/dist/node/modules/witness-wrapper/WitnessWrapper.d.ts.map +1 -1
- package/package.json +11 -12
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/modules/api-location-diviner/LocationDiviner/LocationDivinerApi.ts", "../../src/modules/api-location-diviner/LocationDiviner/Queries/LocationHeatmapQuery/LocationHeatmapQuery.ts", "../../src/modules/api-location-diviner/LocationDiviner/Witnesses/CurrentLocationWitness.ts", "../../src/modules/api-location-diviner/LocationDiviner/Witnesses/LocationWitness.ts", "../../src/modules/api-location-diviner/LocationDiviner/Queries/LocationQuadkeyHeatmapQuery/LocationQuadkeyHeatmapQuery.ts", "../../src/modules/api-location-diviner/LocationDiviner/Queries/LocationQuerySchema.ts", "../../src/modules/api-location-diviner/LocationDiviner/Queries/LocationTimeRangeQuery/LocationTimeRangeQuery.ts", "../../src/modules/api-location-diviner/RemoteDivinerConfig.ts", "../../src/modules/api-location-diviner/RemoteDivinerError.ts"],
|
|
4
|
-
"sourcesContent": ["import { assertEx, fetchJsonClient } from '@ariestools/sdk'\nimport type { ApiConfig, ApiEnvelope } from '@xyo-network/sdk-protocol'\n\nimport type { GetLocationQueryResponse } from './models.ts'\nimport type { LocationQueryCreationResponse, SupportedLocationQueryCreationRequest } from './Queries/index.ts'\n\nclass LocationDivinerApi {\n config: ApiConfig\n constructor(config: ApiConfig) {\n this.config = config\n }\n\n async getLocationQuery(hash: string): Promise<GetLocationQueryResponse> {\n const response = await fetchJsonClient.get<ApiEnvelope<GetLocationQueryResponse>>(`${this.config.apiDomain}/location/query/${hash}`)\n return assertEx(response.data?.data, () => 'LocationDivinerApi.getLocationQuery: missing response data')\n }\n\n async postLocationQuery(request: SupportedLocationQueryCreationRequest): Promise<LocationQueryCreationResponse> {\n const response = await fetchJsonClient.post<ApiEnvelope<LocationQueryCreationResponse>>(`${this.config.apiDomain}/location/query`, { ...request })\n return assertEx(response.data?.data, () => 'LocationDivinerApi.postLocationQuery: missing response data')\n }\n}\n\nexport { LocationDivinerApi }\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { asSchema } from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nimport { LocationWitnessSchema } from '../../Witnesses/index.ts'\n\nexport const LocationHeatmapQuerySchema: 'network.xyo.location.heatmap.query' & {\n readonly __schema: true\n} = asSchema('network.xyo.location.heatmap.query', true)\nexport type LocationHeatmapQuerySchema = typeof LocationHeatmapQuerySchema\n\nexport const LocationHeatmapAnswerSchema: 'network.xyo.location.heatmap.answer' & {\n readonly __schema: true\n} = asSchema('network.xyo.location.heatmap.answer', true)\nexport type LocationHeatmapAnswerSchema = typeof LocationHeatmapAnswerSchema\n\nexport const LocationHeatmapQueryZod: z.ZodMiniObject<{\n schema: z.ZodMiniLiteral<LocationWitnessSchema>\n startTime: z.ZodMiniOptional<z.ZodMiniString<string>>\n stopTime: z.ZodMiniOptional<z.ZodMiniString<string>>\n}, z.core.$strip> = z.object({\n schema: z.literal(LocationWitnessSchema),\n startTime: z.optional(z.string()),\n stopTime: z.optional(z.string()),\n})\n\nexport type LocationHeatmapQuery = z.infer<typeof LocationHeatmapQueryZod>\n\nexport const isLocationHeatmapQuery: ReturnType<typeof zodIsFactory<LocationHeatmapQuery>> = zodIsFactory(LocationHeatmapQueryZod)\nexport const asLocationHeatmapQuery: ReturnType<typeof zodAsFactory<LocationHeatmapQuery>> = zodAsFactory(LocationHeatmapQueryZod, 'asLocationHeatmapQuery')\nexport const toLocationHeatmapQuery: ReturnType<typeof zodToFactory<LocationHeatmapQuery>> = zodToFactory(LocationHeatmapQueryZod, 'toLocationHeatmapQuery')\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 CurrentLocationWitnessSchema: 'co.coinapp.currentlocationwitness' & {\n readonly __schema: true\n} = asSchema('co.coinapp.currentlocationwitness', true)\nexport type CurrentLocationWitnessSchema = typeof CurrentLocationWitnessSchema\n\nexport const CurrentLocationWitnessPayloadZod: z.ZodMiniObject<{\n altitudeMeters: z.ZodMiniNumber<number>\n directionDegrees: z.ZodMiniNumber<number>\n latitude: z.ZodMiniNumber<number>\n longitude: z.ZodMiniNumber<number>\n quadkey: z.ZodMiniString<string>\n schema: z.ZodMiniLiteral<CurrentLocationWitnessSchema>\n speedKph: z.ZodMiniNumber<number>\n}, z.core.$strip> = z.extend(PayloadZodOfSchema(CurrentLocationWitnessSchema), {\n altitudeMeters: z.number(),\n directionDegrees: z.number(),\n latitude: z.number(),\n longitude: z.number(),\n quadkey: z.string(),\n speedKph: z.number(),\n})\n\nexport type CurrentLocationWitnessPayload = z.infer<typeof CurrentLocationWitnessPayloadZod>\n\nexport const isCurrentLocationWitnessPayload: ReturnType<typeof zodIsFactory<CurrentLocationWitnessPayload>>\n = zodIsFactory(CurrentLocationWitnessPayloadZod)\nexport const asCurrentLocationWitnessPayload: ReturnType<typeof zodAsFactory<CurrentLocationWitnessPayload>>\n = zodAsFactory(CurrentLocationWitnessPayloadZod, 'asCurrentLocationWitnessPayload')\nexport const toCurrentLocationWitnessPayload: ReturnType<typeof zodToFactory<CurrentLocationWitnessPayload>>\n = zodToFactory(CurrentLocationWitnessPayloadZod, 'toCurrentLocationWitnessPayload')\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 LocationWitnessSchema: 'network.xyo.location' & {\n readonly __schema: true\n} = asSchema('network.xyo.location', true)\nexport type LocationWitnessSchema = typeof LocationWitnessSchema\n\nexport interface Coordinates {\n accuracy: number | null\n altitude: number | null\n altitudeAccuracy: number | null\n heading: number | null\n latitude: number\n longitude: number\n speed: number | null\n}\nexport interface CurrentLocation {\n coords: Coordinates\n timestamp: number\n}\n\nexport const LocationWitnessPayloadZod: z.ZodMiniObject<{\n currentLocation: z.ZodMiniCustom<CurrentLocation, CurrentLocation>\n schema: z.ZodMiniLiteral<LocationWitnessSchema>\n}, z.core.$strip> = z.extend(PayloadZodOfSchema(LocationWitnessSchema), { currentLocation: z.custom<CurrentLocation>() })\n\nexport type LocationWitnessPayload = z.infer<typeof LocationWitnessPayloadZod>\n\nexport const isLocationWitnessPayload: ReturnType<typeof zodIsFactory<LocationWitnessPayload>> = zodIsFactory(LocationWitnessPayloadZod)\nexport const asLocationWitnessPayload: ReturnType<typeof zodAsFactory<LocationWitnessPayload>> = zodAsFactory(LocationWitnessPayloadZod, 'asLocationWitnessPayload')\nexport const toLocationWitnessPayload: ReturnType<typeof zodToFactory<LocationWitnessPayload>> = zodToFactory(LocationWitnessPayloadZod, 'toLocationWitnessPayload')\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { asSchema } from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nimport { LocationWitnessSchema } from '../../Witnesses/index.ts'\n\nexport const LocationQuadkeyHeatmapQuerySchema: 'network.xyo.location.heatmap.quadkey.query' & {\n readonly __schema: true\n} = asSchema('network.xyo.location.heatmap.quadkey.query', true)\nexport type LocationQuadkeyHeatmapQuerySchema = typeof LocationQuadkeyHeatmapQuerySchema\n\nexport const LocationQuadkeyHeatmapAnswerSchema: 'network.xyo.location.heatmap.quadkey.answer' & {\n readonly __schema: true\n} = asSchema('network.xyo.location.heatmap.quadkey.answer', true)\nexport type LocationQuadkeyHeatmapAnswerSchema = typeof LocationQuadkeyHeatmapAnswerSchema\n\nexport const LocationQuadkeyHeatmapQueryZod: z.ZodMiniObject<{\n schema: z.ZodMiniLiteral<LocationWitnessSchema>\n startTime: z.ZodMiniOptional<z.ZodMiniString<string>>\n stopTime: z.ZodMiniOptional<z.ZodMiniString<string>>\n}, z.core.$strip> = z.object({\n schema: z.literal(LocationWitnessSchema),\n startTime: z.optional(z.string()),\n stopTime: z.optional(z.string()),\n})\n\nexport type LocationQuadkeyHeatmapQuery = z.infer<typeof LocationQuadkeyHeatmapQueryZod>\n\nexport const isLocationQuadkeyHeatmapQuery: ReturnType<typeof zodIsFactory<LocationQuadkeyHeatmapQuery>>\n = zodIsFactory(LocationQuadkeyHeatmapQueryZod)\nexport const asLocationQuadkeyHeatmapQuery: ReturnType<typeof zodAsFactory<LocationQuadkeyHeatmapQuery>>\n = zodAsFactory(LocationQuadkeyHeatmapQueryZod, 'asLocationQuadkeyHeatmapQuery')\nexport const toLocationQuadkeyHeatmapQuery: ReturnType<typeof zodToFactory<LocationQuadkeyHeatmapQuery>>\n = zodToFactory(LocationQuadkeyHeatmapQueryZod, 'toLocationQuadkeyHeatmapQuery')\n", "import type { Schema } from '@xyo-network/sdk-protocol'\n\nimport type { LocationHeatmapQuerySchema } from './LocationHeatmapQuery/index.ts'\nimport type { LocationQuadkeyHeatmapQuerySchema } from './LocationQuadkeyHeatmapQuery/index.ts'\nimport type { LocationTimeRangeQuerySchema } from './LocationTimeRangeQuery/index.ts'\n\nexport type LocationQuerySchema = LocationQuadkeyHeatmapQuerySchema | LocationHeatmapQuerySchema | LocationTimeRangeQuerySchema\n\nconst locationQuerySchemas: Record<string, true> = {\n 'network.xyo.location.heatmap.quadkey.query': true,\n 'network.xyo.location.heatmap.query': true,\n 'network.xyo.location.range.query': true,\n}\n\nexport const isSupportedLocationQuerySchema = (schema: Schema): schema is LocationQuerySchema => {\n return locationQuerySchemas[schema as LocationQuerySchema] || false\n}\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { asSchema } from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nimport { LocationWitnessSchema } from '../../Witnesses/index.ts'\n\nexport const LocationTimeRangeQuerySchema: 'network.xyo.location.range.query' & {\n readonly __schema: true\n} = asSchema('network.xyo.location.range.query', true)\nexport type LocationTimeRangeQuerySchema = typeof LocationTimeRangeQuerySchema\n\nexport const LocationTimeRangeAnswerSchema: 'network.xyo.location.range.answer' & {\n readonly __schema: true\n} = asSchema('network.xyo.location.range.answer', true)\nexport type LocationTimeRangeAnswerSchema = typeof LocationTimeRangeAnswerSchema\n\nexport const LocationTimeRangeQueryZod: z.ZodMiniObject<{\n schema: z.ZodMiniLiteral<LocationWitnessSchema>\n startTime: z.ZodMiniOptional<z.ZodMiniString<string>>\n stopTime: z.ZodMiniOptional<z.ZodMiniString<string>>\n}, z.core.$strip> = z.object({\n schema: z.literal(LocationWitnessSchema),\n startTime: z.optional(z.string()),\n // TODO: Bounding rectangle, etc.\n stopTime: z.optional(z.string()),\n})\n\nexport type LocationTimeRangeQuery = z.infer<typeof LocationTimeRangeQueryZod>\n\nexport const isLocationTimeRangeQuery: ReturnType<typeof zodIsFactory<LocationTimeRangeQuery>> = zodIsFactory(LocationTimeRangeQueryZod)\nexport const asLocationTimeRangeQuery: ReturnType<typeof zodAsFactory<LocationTimeRangeQuery>> = zodAsFactory(LocationTimeRangeQueryZod, 'asLocationTimeRangeQuery')\nexport const toLocationTimeRangeQuery: ReturnType<typeof zodToFactory<LocationTimeRangeQuery>> = zodToFactory(LocationTimeRangeQueryZod, 'toLocationTimeRangeQuery')\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport type { ArchivistApi } from '@xyo-network/sdk-protocol'\nimport { asSchema } from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nimport { DivinerConfigZod } from '#diviner-model'\n\nexport const RemoteDivinerConfigSchema: 'network.xyo.diviner.remote.config' & {\n readonly __schema: true\n} = asSchema('network.xyo.diviner.remote.config', true)\nexport type RemoteDivinerConfigSchema = typeof RemoteDivinerConfigSchema\n\nexport const RemoteDivinerConfigZod: z.ZodMiniObject<\n Omit<(typeof DivinerConfigZod)['shape'], 'schema'> & {\n /** @deprecated use in params instead */\n api: z.ZodMiniOptional<z.ZodMiniCustom<ArchivistApi, ArchivistApi>>\n archive: z.ZodMiniOptional<z.ZodMiniString<string>>\n schema: z.ZodMiniLiteral<RemoteDivinerConfigSchema>\n },\n z.core.$strip\n> = z.extend(DivinerConfigZod, {\n /** @deprecated use in params instead */\n api: z.optional(z.custom<ArchivistApi>()),\n archive: z.optional(z.string()),\n schema: z.literal(RemoteDivinerConfigSchema),\n})\n\nexport type RemoteDivinerConfig = z.infer<typeof RemoteDivinerConfigZod>\n\nexport const isRemoteDivinerConfig: ReturnType<typeof zodIsFactory<RemoteDivinerConfig>> = zodIsFactory(RemoteDivinerConfigZod)\nexport const asRemoteDivinerConfig: ReturnType<typeof zodAsFactory<RemoteDivinerConfig>> = zodAsFactory(RemoteDivinerConfigZod, 'asRemoteDivinerConfig')\nexport const toRemoteDivinerConfig: ReturnType<typeof zodToFactory<RemoteDivinerConfig>> = zodToFactory(RemoteDivinerConfigZod, 'toRemoteDivinerConfig')\n", "import { isString } from '@ariestools/sdk'\n\nexport class RemoteDivinerError extends Error {\n isRemoteDivinerError = true\n constructor(action: string, error: Error['cause'], message?: string) {\n const messageString = isString(message) ? ` (${message})` : ''\n super(`Remote Diviner [${action}] failed${messageString}`, { cause: error })\n }\n\n static isRemoteDivinerError(error: unknown): RemoteDivinerError | undefined {\n return (error as RemoteDivinerError).isRemoteDivinerError ? (error as RemoteDivinerError) : undefined\n }\n}\n"],
|
|
5
|
-
"mappings": ";AAAA,SAAS,UAAU,uBAAuB;
|
|
4
|
+
"sourcesContent": ["import { assertEx, fetchJsonClient } from '@ariestools/sdk'\n\nimport type { GetLocationQueryResponse } from './models.ts'\nimport type { LocationQueryCreationResponse, SupportedLocationQueryCreationRequest } from './Queries/index.ts'\n\ninterface LocationDivinerApiConfig {\n apiDomain: string\n}\n\ninterface JsonDataEnvelope<T> {\n data?: T\n}\n\nclass LocationDivinerApi {\n config: LocationDivinerApiConfig\n constructor(config: LocationDivinerApiConfig) {\n this.config = config\n }\n\n async getLocationQuery(hash: string): Promise<GetLocationQueryResponse> {\n const response = await fetchJsonClient.get<JsonDataEnvelope<GetLocationQueryResponse>>(`${this.config.apiDomain}/location/query/${hash}`)\n return assertEx(response.data?.data, () => 'LocationDivinerApi.getLocationQuery: missing response data')\n }\n\n async postLocationQuery(request: SupportedLocationQueryCreationRequest): Promise<LocationQueryCreationResponse> {\n const response = await fetchJsonClient.post<JsonDataEnvelope<LocationQueryCreationResponse>>(`${this.config.apiDomain}/location/query`, { ...request })\n return assertEx(response.data?.data, () => 'LocationDivinerApi.postLocationQuery: missing response data')\n }\n}\n\nexport { LocationDivinerApi }\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { asSchema } from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nimport { LocationWitnessSchema } from '../../Witnesses/index.ts'\n\nexport const LocationHeatmapQuerySchema: 'network.xyo.location.heatmap.query' & {\n readonly __schema: true\n} = asSchema('network.xyo.location.heatmap.query', true)\nexport type LocationHeatmapQuerySchema = typeof LocationHeatmapQuerySchema\n\nexport const LocationHeatmapAnswerSchema: 'network.xyo.location.heatmap.answer' & {\n readonly __schema: true\n} = asSchema('network.xyo.location.heatmap.answer', true)\nexport type LocationHeatmapAnswerSchema = typeof LocationHeatmapAnswerSchema\n\nexport const LocationHeatmapQueryZod: z.ZodMiniObject<{\n schema: z.ZodMiniLiteral<LocationWitnessSchema>\n startTime: z.ZodMiniOptional<z.ZodMiniString<string>>\n stopTime: z.ZodMiniOptional<z.ZodMiniString<string>>\n}, z.core.$strip> = z.object({\n schema: z.literal(LocationWitnessSchema),\n startTime: z.optional(z.string()),\n stopTime: z.optional(z.string()),\n})\n\nexport type LocationHeatmapQuery = z.infer<typeof LocationHeatmapQueryZod>\n\nexport const isLocationHeatmapQuery: ReturnType<typeof zodIsFactory<LocationHeatmapQuery>> = zodIsFactory(LocationHeatmapQueryZod)\nexport const asLocationHeatmapQuery: ReturnType<typeof zodAsFactory<LocationHeatmapQuery>> = zodAsFactory(LocationHeatmapQueryZod, 'asLocationHeatmapQuery')\nexport const toLocationHeatmapQuery: ReturnType<typeof zodToFactory<LocationHeatmapQuery>> = zodToFactory(LocationHeatmapQueryZod, 'toLocationHeatmapQuery')\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 CurrentLocationWitnessSchema: 'co.coinapp.currentlocationwitness' & {\n readonly __schema: true\n} = asSchema('co.coinapp.currentlocationwitness', true)\nexport type CurrentLocationWitnessSchema = typeof CurrentLocationWitnessSchema\n\nexport const CurrentLocationWitnessPayloadZod: z.ZodMiniObject<{\n altitudeMeters: z.ZodMiniNumber<number>\n directionDegrees: z.ZodMiniNumber<number>\n latitude: z.ZodMiniNumber<number>\n longitude: z.ZodMiniNumber<number>\n quadkey: z.ZodMiniString<string>\n schema: z.ZodMiniLiteral<CurrentLocationWitnessSchema>\n speedKph: z.ZodMiniNumber<number>\n}, z.core.$strip> = z.extend(PayloadZodOfSchema(CurrentLocationWitnessSchema), {\n altitudeMeters: z.number(),\n directionDegrees: z.number(),\n latitude: z.number(),\n longitude: z.number(),\n quadkey: z.string(),\n speedKph: z.number(),\n})\n\nexport type CurrentLocationWitnessPayload = z.infer<typeof CurrentLocationWitnessPayloadZod>\n\nexport const isCurrentLocationWitnessPayload: ReturnType<typeof zodIsFactory<CurrentLocationWitnessPayload>>\n = zodIsFactory(CurrentLocationWitnessPayloadZod)\nexport const asCurrentLocationWitnessPayload: ReturnType<typeof zodAsFactory<CurrentLocationWitnessPayload>>\n = zodAsFactory(CurrentLocationWitnessPayloadZod, 'asCurrentLocationWitnessPayload')\nexport const toCurrentLocationWitnessPayload: ReturnType<typeof zodToFactory<CurrentLocationWitnessPayload>>\n = zodToFactory(CurrentLocationWitnessPayloadZod, 'toCurrentLocationWitnessPayload')\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 LocationWitnessSchema: 'network.xyo.location' & {\n readonly __schema: true\n} = asSchema('network.xyo.location', true)\nexport type LocationWitnessSchema = typeof LocationWitnessSchema\n\nexport interface Coordinates {\n accuracy: number | null\n altitude: number | null\n altitudeAccuracy: number | null\n heading: number | null\n latitude: number\n longitude: number\n speed: number | null\n}\nexport interface CurrentLocation {\n coords: Coordinates\n timestamp: number\n}\n\nexport const LocationWitnessPayloadZod: z.ZodMiniObject<{\n currentLocation: z.ZodMiniCustom<CurrentLocation, CurrentLocation>\n schema: z.ZodMiniLiteral<LocationWitnessSchema>\n}, z.core.$strip> = z.extend(PayloadZodOfSchema(LocationWitnessSchema), { currentLocation: z.custom<CurrentLocation>() })\n\nexport type LocationWitnessPayload = z.infer<typeof LocationWitnessPayloadZod>\n\nexport const isLocationWitnessPayload: ReturnType<typeof zodIsFactory<LocationWitnessPayload>> = zodIsFactory(LocationWitnessPayloadZod)\nexport const asLocationWitnessPayload: ReturnType<typeof zodAsFactory<LocationWitnessPayload>> = zodAsFactory(LocationWitnessPayloadZod, 'asLocationWitnessPayload')\nexport const toLocationWitnessPayload: ReturnType<typeof zodToFactory<LocationWitnessPayload>> = zodToFactory(LocationWitnessPayloadZod, 'toLocationWitnessPayload')\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { asSchema } from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nimport { LocationWitnessSchema } from '../../Witnesses/index.ts'\n\nexport const LocationQuadkeyHeatmapQuerySchema: 'network.xyo.location.heatmap.quadkey.query' & {\n readonly __schema: true\n} = asSchema('network.xyo.location.heatmap.quadkey.query', true)\nexport type LocationQuadkeyHeatmapQuerySchema = typeof LocationQuadkeyHeatmapQuerySchema\n\nexport const LocationQuadkeyHeatmapAnswerSchema: 'network.xyo.location.heatmap.quadkey.answer' & {\n readonly __schema: true\n} = asSchema('network.xyo.location.heatmap.quadkey.answer', true)\nexport type LocationQuadkeyHeatmapAnswerSchema = typeof LocationQuadkeyHeatmapAnswerSchema\n\nexport const LocationQuadkeyHeatmapQueryZod: z.ZodMiniObject<{\n schema: z.ZodMiniLiteral<LocationWitnessSchema>\n startTime: z.ZodMiniOptional<z.ZodMiniString<string>>\n stopTime: z.ZodMiniOptional<z.ZodMiniString<string>>\n}, z.core.$strip> = z.object({\n schema: z.literal(LocationWitnessSchema),\n startTime: z.optional(z.string()),\n stopTime: z.optional(z.string()),\n})\n\nexport type LocationQuadkeyHeatmapQuery = z.infer<typeof LocationQuadkeyHeatmapQueryZod>\n\nexport const isLocationQuadkeyHeatmapQuery: ReturnType<typeof zodIsFactory<LocationQuadkeyHeatmapQuery>>\n = zodIsFactory(LocationQuadkeyHeatmapQueryZod)\nexport const asLocationQuadkeyHeatmapQuery: ReturnType<typeof zodAsFactory<LocationQuadkeyHeatmapQuery>>\n = zodAsFactory(LocationQuadkeyHeatmapQueryZod, 'asLocationQuadkeyHeatmapQuery')\nexport const toLocationQuadkeyHeatmapQuery: ReturnType<typeof zodToFactory<LocationQuadkeyHeatmapQuery>>\n = zodToFactory(LocationQuadkeyHeatmapQueryZod, 'toLocationQuadkeyHeatmapQuery')\n", "import type { Schema } from '@xyo-network/sdk-protocol'\n\nimport type { LocationHeatmapQuerySchema } from './LocationHeatmapQuery/index.ts'\nimport type { LocationQuadkeyHeatmapQuerySchema } from './LocationQuadkeyHeatmapQuery/index.ts'\nimport type { LocationTimeRangeQuerySchema } from './LocationTimeRangeQuery/index.ts'\n\nexport type LocationQuerySchema = LocationQuadkeyHeatmapQuerySchema | LocationHeatmapQuerySchema | LocationTimeRangeQuerySchema\n\nconst locationQuerySchemas: Record<string, true> = {\n 'network.xyo.location.heatmap.quadkey.query': true,\n 'network.xyo.location.heatmap.query': true,\n 'network.xyo.location.range.query': true,\n}\n\nexport const isSupportedLocationQuerySchema = (schema: Schema): schema is LocationQuerySchema => {\n return locationQuerySchemas[schema as LocationQuerySchema] || false\n}\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { asSchema } from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nimport { LocationWitnessSchema } from '../../Witnesses/index.ts'\n\nexport const LocationTimeRangeQuerySchema: 'network.xyo.location.range.query' & {\n readonly __schema: true\n} = asSchema('network.xyo.location.range.query', true)\nexport type LocationTimeRangeQuerySchema = typeof LocationTimeRangeQuerySchema\n\nexport const LocationTimeRangeAnswerSchema: 'network.xyo.location.range.answer' & {\n readonly __schema: true\n} = asSchema('network.xyo.location.range.answer', true)\nexport type LocationTimeRangeAnswerSchema = typeof LocationTimeRangeAnswerSchema\n\nexport const LocationTimeRangeQueryZod: z.ZodMiniObject<{\n schema: z.ZodMiniLiteral<LocationWitnessSchema>\n startTime: z.ZodMiniOptional<z.ZodMiniString<string>>\n stopTime: z.ZodMiniOptional<z.ZodMiniString<string>>\n}, z.core.$strip> = z.object({\n schema: z.literal(LocationWitnessSchema),\n startTime: z.optional(z.string()),\n // TODO: Bounding rectangle, etc.\n stopTime: z.optional(z.string()),\n})\n\nexport type LocationTimeRangeQuery = z.infer<typeof LocationTimeRangeQueryZod>\n\nexport const isLocationTimeRangeQuery: ReturnType<typeof zodIsFactory<LocationTimeRangeQuery>> = zodIsFactory(LocationTimeRangeQueryZod)\nexport const asLocationTimeRangeQuery: ReturnType<typeof zodAsFactory<LocationTimeRangeQuery>> = zodAsFactory(LocationTimeRangeQueryZod, 'asLocationTimeRangeQuery')\nexport const toLocationTimeRangeQuery: ReturnType<typeof zodToFactory<LocationTimeRangeQuery>> = zodToFactory(LocationTimeRangeQueryZod, 'toLocationTimeRangeQuery')\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { asSchema } from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nimport { DivinerConfigZod } from '#diviner-model'\n\nexport const RemoteDivinerConfigSchema: 'network.xyo.diviner.remote.config' & {\n readonly __schema: true\n} = asSchema('network.xyo.diviner.remote.config', true)\nexport type RemoteDivinerConfigSchema = typeof RemoteDivinerConfigSchema\n\nexport const RemoteDivinerConfigZod: z.ZodMiniObject<\n Omit<(typeof DivinerConfigZod)['shape'], 'schema'> & {\n /** @deprecated use in params instead */\n api: z.ZodMiniOptional<z.ZodMiniCustom<object, object>>\n archive: z.ZodMiniOptional<z.ZodMiniString<string>>\n schema: z.ZodMiniLiteral<RemoteDivinerConfigSchema>\n },\n z.core.$strip\n> = z.extend(DivinerConfigZod, {\n /** @deprecated use in params instead */\n api: z.optional(z.custom<object>()),\n archive: z.optional(z.string()),\n schema: z.literal(RemoteDivinerConfigSchema),\n})\n\nexport type RemoteDivinerConfig = z.infer<typeof RemoteDivinerConfigZod>\n\nexport const isRemoteDivinerConfig: ReturnType<typeof zodIsFactory<RemoteDivinerConfig>> = zodIsFactory(RemoteDivinerConfigZod)\nexport const asRemoteDivinerConfig: ReturnType<typeof zodAsFactory<RemoteDivinerConfig>> = zodAsFactory(RemoteDivinerConfigZod, 'asRemoteDivinerConfig')\nexport const toRemoteDivinerConfig: ReturnType<typeof zodToFactory<RemoteDivinerConfig>> = zodToFactory(RemoteDivinerConfigZod, 'toRemoteDivinerConfig')\n", "import { isString } from '@ariestools/sdk'\n\nexport class RemoteDivinerError extends Error {\n isRemoteDivinerError = true\n constructor(action: string, error: Error['cause'], message?: string) {\n const messageString = isString(message) ? ` (${message})` : ''\n super(`Remote Diviner [${action}] failed${messageString}`, { cause: error })\n }\n\n static isRemoteDivinerError(error: unknown): RemoteDivinerError | undefined {\n return (error as RemoteDivinerError).isRemoteDivinerError ? (error as RemoteDivinerError) : undefined\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "z", "zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "PayloadZodOfSchema", "z", "asSchema", "zodIsFactory", "zodAsFactory", "zodToFactory", "zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "z", "asSchema", "zodIsFactory", "zodAsFactory", "zodToFactory", "zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "z", "asSchema", "zodIsFactory", "zodAsFactory", "zodToFactory", "zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "z"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
// src/modules/archivist-abstract/AbstractArchivist.ts
|
|
2
2
|
import {
|
|
3
3
|
assertEx,
|
|
4
|
-
difference,
|
|
5
4
|
exists,
|
|
6
5
|
isNull,
|
|
7
6
|
isUndefined
|
|
@@ -40,6 +39,8 @@ var AbstractArchivist = class _AbstractArchivist extends AbstractModuleInstance
|
|
|
40
39
|
_parentArchivists;
|
|
41
40
|
_payloadCountGauge;
|
|
42
41
|
_payloadCountMeter;
|
|
42
|
+
activeCacheMutations = 0;
|
|
43
|
+
cacheGeneration = 0;
|
|
43
44
|
// do not override this! It is meant to get the this.defaultNextLimitSetting and work if it is overridden
|
|
44
45
|
static get defaultNextLimit() {
|
|
45
46
|
return this.defaultNextLimitSetting;
|
|
@@ -102,9 +103,7 @@ var AbstractArchivist = class _AbstractArchivist extends AbstractModuleInstance
|
|
|
102
103
|
await this.globalReentrancyMutex?.acquire();
|
|
103
104
|
return await this.busy(async () => {
|
|
104
105
|
await this.startedAsync("throw");
|
|
105
|
-
await this.
|
|
106
|
-
this.reportPayloadCount();
|
|
107
|
-
await this.emit("cleared", { mod: this });
|
|
106
|
+
await this.clearWithConfig();
|
|
108
107
|
});
|
|
109
108
|
} finally {
|
|
110
109
|
this.globalReentrancyMutex?.release();
|
|
@@ -188,6 +187,7 @@ var AbstractArchivist = class _AbstractArchivist extends AbstractModuleInstance
|
|
|
188
187
|
async insert(payloads) {
|
|
189
188
|
this._noOverride("insert");
|
|
190
189
|
this.isSupportedQuery(ArchivistInsertQuerySchema, "insert");
|
|
190
|
+
const snapshot = this.snapshotPayloads(payloads);
|
|
191
191
|
return await this.spanAsync(`${this.id}|insert`, async () => {
|
|
192
192
|
if (this.reentrancy?.scope === "global" && this.reentrancy.action === "skip" && this.globalReentrancyMutex?.isLocked()) {
|
|
193
193
|
return [];
|
|
@@ -196,7 +196,7 @@ var AbstractArchivist = class _AbstractArchivist extends AbstractModuleInstance
|
|
|
196
196
|
await this.globalReentrancyMutex?.acquire();
|
|
197
197
|
return await this.busy(async () => {
|
|
198
198
|
await this.startedAsync("throw");
|
|
199
|
-
return await this.insertWithConfig(
|
|
199
|
+
return await this.insertWithConfig(snapshot);
|
|
200
200
|
});
|
|
201
201
|
} finally {
|
|
202
202
|
this.globalReentrancyMutex?.release();
|
|
@@ -206,7 +206,7 @@ var AbstractArchivist = class _AbstractArchivist extends AbstractModuleInstance
|
|
|
206
206
|
async insertQuery(payloads, account) {
|
|
207
207
|
this._noOverride("insertQuery");
|
|
208
208
|
const queryPayload = { schema: ArchivistInsertQuerySchema };
|
|
209
|
-
return await this.sendQueryRaw(queryPayload, payloads, account);
|
|
209
|
+
return await this.sendQueryRaw(queryPayload, this.snapshotPayloads(payloads), account);
|
|
210
210
|
}
|
|
211
211
|
async next(options) {
|
|
212
212
|
this._noOverride("next");
|
|
@@ -261,6 +261,13 @@ var AbstractArchivist = class _AbstractArchivist extends AbstractModuleInstance
|
|
|
261
261
|
clearHandler() {
|
|
262
262
|
throw new Error(NOT_IMPLEMENTED);
|
|
263
263
|
}
|
|
264
|
+
async clearWithConfig(config) {
|
|
265
|
+
await this.withCacheMutation(async () => {
|
|
266
|
+
await this.withStorageMutation(async () => await this.clearHandler());
|
|
267
|
+
this.reportPayloadCount();
|
|
268
|
+
if (config?.emitEvents ?? true) await this.emit("cleared", { mod: this });
|
|
269
|
+
});
|
|
270
|
+
}
|
|
264
271
|
commitHandler() {
|
|
265
272
|
throw new Error(NOT_IMPLEMENTED);
|
|
266
273
|
}
|
|
@@ -268,18 +275,20 @@ var AbstractArchivist = class _AbstractArchivist extends AbstractModuleInstance
|
|
|
268
275
|
throw new Error(NOT_IMPLEMENTED);
|
|
269
276
|
}
|
|
270
277
|
async deleteWithConfig(hashes, config) {
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
278
|
+
return await this.withCacheMutation(async () => {
|
|
279
|
+
const emitEvents = config?.emitEvents ?? true;
|
|
280
|
+
const payloads = await this.withStorageMutation(async () => await this.deleteHandler(hashes));
|
|
281
|
+
const hashesDeleted = payloads.map((p) => p._hash);
|
|
282
|
+
if (emitEvents) {
|
|
283
|
+
await this.emit("deleted", {
|
|
284
|
+
hashes: hashesDeleted,
|
|
285
|
+
payloads,
|
|
286
|
+
mod: this
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
this.reportPayloadCount();
|
|
290
|
+
return payloads;
|
|
291
|
+
});
|
|
283
292
|
}
|
|
284
293
|
generateStats() {
|
|
285
294
|
return {
|
|
@@ -287,18 +296,18 @@ var AbstractArchivist = class _AbstractArchivist extends AbstractModuleInstance
|
|
|
287
296
|
schema: ArchivistStatsPayloadSchema
|
|
288
297
|
};
|
|
289
298
|
}
|
|
299
|
+
/**
|
|
300
|
+
* Inspect local stored roots without consulting public projections, caches or
|
|
301
|
+
* parents. Backends whose getHandler synthesizes views must override this hook
|
|
302
|
+
* to read their primary record keys directly.
|
|
303
|
+
*/
|
|
304
|
+
async getExistingLocalPayloads(hashes) {
|
|
305
|
+
return await this.exactRepresentations(await this.getHandler(hashes), hashes);
|
|
306
|
+
}
|
|
290
307
|
async getFromParent(hashes, archivist) {
|
|
291
|
-
const
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
console.warn(`Parent returned payload with hash not asked for: ${hash}`);
|
|
295
|
-
}
|
|
296
|
-
return askedFor;
|
|
297
|
-
});
|
|
298
|
-
const foundHashes = new Set(foundPairs.map(([, hash]) => hash));
|
|
299
|
-
const foundPayloads = foundPairs.map(([payload]) => payload);
|
|
300
|
-
const notfound = hashes.filter((hash) => !foundHashes.has(hash));
|
|
301
|
-
return [foundPayloads, notfound];
|
|
308
|
+
const foundPayloads = await this.requestedRepresentations(await archivist.get(hashes), hashes);
|
|
309
|
+
const foundHashes = new Set(foundPayloads.map((payload) => payload._hash));
|
|
310
|
+
return [foundPayloads, hashes.filter((hash) => !foundHashes.has(hash))];
|
|
302
311
|
}
|
|
303
312
|
async getFromParents(hashes) {
|
|
304
313
|
const parents = Object.values((await this.parentArchivists())?.read ?? {});
|
|
@@ -319,58 +328,25 @@ var AbstractArchivist = class _AbstractArchivist extends AbstractModuleInstance
|
|
|
319
328
|
getHandler(_hashes) {
|
|
320
329
|
throw new Error(NOT_IMPLEMENTED);
|
|
321
330
|
}
|
|
322
|
-
// eslint-disable-next-line max-statements
|
|
323
331
|
async getWithConfig(hashes, _config) {
|
|
324
|
-
const requestedHashes = new Set(hashes);
|
|
325
|
-
const
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
const
|
|
333
|
-
|
|
334
|
-
const foundPayloads = [];
|
|
335
|
-
const foundHashes = /* @__PURE__ */ new Set();
|
|
336
|
-
for (const payload of gotten) {
|
|
337
|
-
const map = {
|
|
338
|
-
[payload._hash]: payload,
|
|
339
|
-
[payload._dataHash]: payload
|
|
340
|
-
};
|
|
341
|
-
for (const [key, payload2] of Object.entries(map)) {
|
|
342
|
-
let requestedPayloadFound = false;
|
|
343
|
-
const hash = key;
|
|
344
|
-
if (requestedHashes.has(hash) && !foundHashes.has(hash)) {
|
|
345
|
-
requestedPayloadFound = true;
|
|
346
|
-
foundHashes.add(hash);
|
|
347
|
-
}
|
|
348
|
-
if (requestedPayloadFound) foundPayloads.push(payload2);
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
const notFoundHashes = [...difference(requestedHashes, foundHashes)];
|
|
352
|
-
const [parentFoundPayloads] = await this.getFromParents(notFoundHashes);
|
|
353
|
-
if (this.storeParentReads) {
|
|
332
|
+
const requestedHashes = [...new Set(hashes)];
|
|
333
|
+
const generation = this.cacheGeneration;
|
|
334
|
+
const cache = this.activeCacheMutations === 0 ? this._getCache : void 0;
|
|
335
|
+
const fromCache = await this.requestedRepresentations(requestedHashes.map((hash) => cache?.get(hash)).filter(exists), requestedHashes);
|
|
336
|
+
const cachedHashes = new Set(fromCache.map((payload) => payload._hash));
|
|
337
|
+
const remainingHashes = requestedHashes.filter((hash) => !cachedHashes.has(hash));
|
|
338
|
+
const fromGet = await this.requestedRepresentations(await this.getHandler(remainingHashes), remainingHashes);
|
|
339
|
+
const foundHashes = new Set([...fromCache, ...fromGet].map((payload) => payload._hash));
|
|
340
|
+
const [parentFoundPayloads] = await this.getFromParents(requestedHashes.filter((hash) => !foundHashes.has(hash)));
|
|
341
|
+
if (this.storeParentReads && parentFoundPayloads.length > 0) {
|
|
354
342
|
await this.insertWithConfig(parentFoundPayloads);
|
|
355
343
|
}
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
PayloadBuilder.omitPrivateStorageMeta([
|
|
359
|
-
...foundPayloads,
|
|
360
|
-
...parentFoundPayloads
|
|
361
|
-
]).toSorted(PayloadBuilder.compareStorageMeta)
|
|
362
|
-
);
|
|
363
|
-
if (cache !== void 0) {
|
|
364
|
-
for (const payload of fromGet) {
|
|
365
|
-
cache.set(payload._hash, payload);
|
|
366
|
-
cache.set(payload._dataHash, payload);
|
|
367
|
-
}
|
|
368
|
-
for (const payload of parentFoundPayloads) {
|
|
369
|
-
cache.set(payload._hash, payload);
|
|
370
|
-
cache.set(payload._dataHash, payload);
|
|
371
|
-
}
|
|
344
|
+
if (this.activeCacheMutations === 0 && generation === this.cacheGeneration) {
|
|
345
|
+
for (const payload of [...fromGet, ...parentFoundPayloads]) cache?.set(payload._hash, payload);
|
|
372
346
|
}
|
|
373
|
-
return
|
|
347
|
+
return PayloadBuilder.omitPrivateStorageMeta(
|
|
348
|
+
[...fromCache, ...fromGet, ...parentFoundPayloads].toSorted(PayloadBuilder.compareStorageMeta)
|
|
349
|
+
);
|
|
374
350
|
}
|
|
375
351
|
insertHandler(_payloads) {
|
|
376
352
|
throw new Error(NOT_IMPLEMENTED);
|
|
@@ -388,27 +364,38 @@ var AbstractArchivist = class _AbstractArchivist extends AbstractModuleInstance
|
|
|
388
364
|
return result;
|
|
389
365
|
}
|
|
390
366
|
async insertWithConfig(payloads, config) {
|
|
391
|
-
const
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
367
|
+
const sanitizedPayloads = this.snapshotPayloads(payloads);
|
|
368
|
+
return await this.withCacheMutation(async () => {
|
|
369
|
+
const emitEvents = config?.emitEvents ?? true;
|
|
370
|
+
const writeToParents = config?.writeToParents ?? true;
|
|
371
|
+
await this.validateInsertPayloads(sanitizedPayloads);
|
|
372
|
+
const withStorageMeta = await PayloadBuilder.addStorageMeta(sanitizedPayloads);
|
|
373
|
+
const hashes = [...new Set(withStorageMeta.map((payload) => payload._hash))];
|
|
374
|
+
const { existingPayloads, insertedPayloads } = await this.withStorageMutation(async () => {
|
|
375
|
+
const existingPayloads2 = await this.getExistingLocalPayloads(hashes);
|
|
376
|
+
await this.repairExistingPayloads(existingPayloads2);
|
|
377
|
+
const existingHashes = new Set(existingPayloads2.map((payload) => payload._hash));
|
|
378
|
+
const payloadsToInsert = withStorageMeta.filter((payload) => {
|
|
379
|
+
if (existingHashes.has(payload._hash)) return false;
|
|
380
|
+
existingHashes.add(payload._hash);
|
|
381
|
+
return true;
|
|
382
|
+
});
|
|
383
|
+
return { existingPayloads: existingPayloads2, insertedPayloads: await this.insertHandler(payloadsToInsert) };
|
|
408
384
|
});
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
385
|
+
if (writeToParents) {
|
|
386
|
+
await this.writeToParents([...existingPayloads, ...insertedPayloads]);
|
|
387
|
+
}
|
|
388
|
+
if (emitEvents) {
|
|
389
|
+
await this.emit("inserted", {
|
|
390
|
+
mod: this,
|
|
391
|
+
payloads: insertedPayloads,
|
|
392
|
+
outPayloads: insertedPayloads,
|
|
393
|
+
inPayloads: payloads
|
|
394
|
+
});
|
|
395
|
+
}
|
|
396
|
+
this.reportPayloadCount();
|
|
397
|
+
return PayloadBuilder.omitPrivateStorageMeta(insertedPayloads);
|
|
398
|
+
});
|
|
412
399
|
}
|
|
413
400
|
nextHandler(_options) {
|
|
414
401
|
throw new Error(NOT_IMPLEMENTED);
|
|
@@ -433,7 +420,7 @@ var AbstractArchivist = class _AbstractArchivist extends AbstractModuleInstance
|
|
|
433
420
|
// eslint-disable-next-line max-statements
|
|
434
421
|
async queryHandler(query, payloads, queryConfig) {
|
|
435
422
|
const sanitizedQuery = PayloadBuilder.omitStorageMeta(query);
|
|
436
|
-
const sanitizedPayloads =
|
|
423
|
+
const sanitizedPayloads = this.snapshotPayloads(payloads);
|
|
437
424
|
const wrappedQuery = QueryBoundWitnessWrapper.parseQuery(sanitizedQuery, sanitizedPayloads);
|
|
438
425
|
const queryPayload = await wrappedQuery.getQuery();
|
|
439
426
|
assertEx(await this.queryable(sanitizedQuery, sanitizedPayloads, queryConfig));
|
|
@@ -444,7 +431,7 @@ var AbstractArchivist = class _AbstractArchivist extends AbstractModuleInstance
|
|
|
444
431
|
break;
|
|
445
432
|
}
|
|
446
433
|
case ArchivistClearQuerySchema: {
|
|
447
|
-
await this.
|
|
434
|
+
await this.clearWithConfig();
|
|
448
435
|
break;
|
|
449
436
|
}
|
|
450
437
|
case ArchivistCommitQuerySchema: {
|
|
@@ -487,6 +474,10 @@ var AbstractArchivist = class _AbstractArchivist extends AbstractModuleInstance
|
|
|
487
474
|
}
|
|
488
475
|
return PayloadBuilder.omitPrivateStorageMeta(resultPayloads);
|
|
489
476
|
}
|
|
477
|
+
/** Restore derived indexes for a stored root without rewriting its body. */
|
|
478
|
+
repairExistingPayloads(_payloads) {
|
|
479
|
+
return void 0;
|
|
480
|
+
}
|
|
490
481
|
reportPayloadCount() {
|
|
491
482
|
this._noOverride("reportPayloadCount");
|
|
492
483
|
const gauge = this.payloadCountGauge;
|
|
@@ -513,8 +504,27 @@ var AbstractArchivist = class _AbstractArchivist extends AbstractModuleInstance
|
|
|
513
504
|
async stateHandler() {
|
|
514
505
|
return [...await super.stateHandler(), await this.generateStats()];
|
|
515
506
|
}
|
|
507
|
+
/** Enforce backend admission before lookup, repair, insertion or parent writes. */
|
|
508
|
+
validateInsertPayloads(_payloads) {
|
|
509
|
+
return void 0;
|
|
510
|
+
}
|
|
511
|
+
/** Serialize local storage changes without holding a lock across callbacks or parents. */
|
|
512
|
+
async withStorageMutation(operation) {
|
|
513
|
+
return await operation();
|
|
514
|
+
}
|
|
516
515
|
async writeToParent(parent, payloads) {
|
|
517
|
-
|
|
516
|
+
if (payloads.length === 0) return [];
|
|
517
|
+
const sanitized = PayloadBuilder.omitStorageMeta(payloads);
|
|
518
|
+
const hashes = [...new Set(await Promise.all(sanitized.map((payload) => PayloadBuilder.hash(payload))))];
|
|
519
|
+
const inserted = await this.exactRepresentations(await parent.insert(sanitized), hashes);
|
|
520
|
+
const insertedHashes = new Set(inserted.map((payload) => payload._hash));
|
|
521
|
+
const missing = hashes.filter((hash) => !insertedHashes.has(hash));
|
|
522
|
+
const existing = missing.length > 0 ? await this.exactRepresentations(await parent.get(missing), missing) : [];
|
|
523
|
+
const acknowledged = new Set([...inserted, ...existing].map((payload) => payload._hash));
|
|
524
|
+
if (hashes.some((hash) => !acknowledged.has(hash))) {
|
|
525
|
+
throw new Error("Write parent did not acknowledge all requested payloads");
|
|
526
|
+
}
|
|
527
|
+
return [...inserted, ...existing];
|
|
518
528
|
}
|
|
519
529
|
async writeToParents(payloads) {
|
|
520
530
|
const parents = await this.parentArchivists();
|
|
@@ -524,16 +534,30 @@ var AbstractArchivist = class _AbstractArchivist extends AbstractModuleInstance
|
|
|
524
534
|
})
|
|
525
535
|
)).filter(exists).flat();
|
|
526
536
|
}
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
537
|
+
async exactRepresentations(payloads, hashes) {
|
|
538
|
+
const requested = new Set(hashes);
|
|
539
|
+
const found = /* @__PURE__ */ new Map();
|
|
540
|
+
for (const payload of payloads) {
|
|
541
|
+
await this.verifyPayloadIdentity(payload);
|
|
542
|
+
if (requested.has(payload._hash)) found.set(payload._hash, payload);
|
|
543
|
+
}
|
|
544
|
+
return found.values().toArray();
|
|
545
|
+
}
|
|
546
|
+
async requestedRepresentations(payloads, hashes) {
|
|
547
|
+
const requested = new Set(hashes);
|
|
548
|
+
const result = /* @__PURE__ */ new Map();
|
|
549
|
+
const sorted = payloads.toSorted(PayloadBuilder.compareStorageMeta);
|
|
550
|
+
for (const payload of sorted) {
|
|
551
|
+
await this.verifyPayloadIdentity(payload);
|
|
552
|
+
if (requested.has(payload._hash) && !result.has(payload._hash)) result.set(payload._hash, payload);
|
|
553
|
+
}
|
|
554
|
+
for (const payload of sorted) {
|
|
555
|
+
if (requested.has(payload._dataHash) && !result.has(payload._dataHash)) {
|
|
556
|
+
const dataOnly = PayloadBuilder.omitClientMeta(payload);
|
|
557
|
+
result.set(payload._dataHash, { ...dataOnly, _hash: payload._dataHash });
|
|
535
558
|
}
|
|
536
|
-
}
|
|
559
|
+
}
|
|
560
|
+
return result.values().toArray();
|
|
537
561
|
}
|
|
538
562
|
async resolveArchivists(archivists = [], archivistInstances) {
|
|
539
563
|
const archivistModules = (await Promise.all(archivists.map((archivist) => this.resolve(archivist)))).filter(exists).filter(duplicateModules);
|
|
@@ -553,9 +577,71 @@ var AbstractArchivist = class _AbstractArchivist extends AbstractModuleInstance
|
|
|
553
577
|
return prev;
|
|
554
578
|
}, archivistInstancesMap);
|
|
555
579
|
}
|
|
580
|
+
snapshotPayloads(payloads) {
|
|
581
|
+
return JSON.parse(JSON.stringify(PayloadBuilder.omitStorageMeta(payloads)));
|
|
582
|
+
}
|
|
583
|
+
async verifyPayloadIdentity(payload) {
|
|
584
|
+
const canonicalPayload = PayloadBuilder.omitStorageMeta(payload);
|
|
585
|
+
const [hash, dataHash] = await Promise.all([
|
|
586
|
+
PayloadBuilder.hash(canonicalPayload),
|
|
587
|
+
PayloadBuilder.dataHash(canonicalPayload)
|
|
588
|
+
]);
|
|
589
|
+
if (hash !== payload._hash || dataHash !== payload._dataHash) {
|
|
590
|
+
throw new Error("Archivist returned payload with invalid hash metadata");
|
|
591
|
+
}
|
|
592
|
+
}
|
|
593
|
+
async withCacheMutation(operation) {
|
|
594
|
+
this.activeCacheMutations++;
|
|
595
|
+
this.cacheGeneration++;
|
|
596
|
+
this._getCache?.clear();
|
|
597
|
+
try {
|
|
598
|
+
return await operation();
|
|
599
|
+
} finally {
|
|
600
|
+
this.activeCacheMutations--;
|
|
601
|
+
this.cacheGeneration++;
|
|
602
|
+
this._getCache?.clear();
|
|
603
|
+
}
|
|
604
|
+
}
|
|
556
605
|
};
|
|
606
|
+
|
|
607
|
+
// src/modules/archivist-abstract/payloadAdmission.ts
|
|
608
|
+
import { PayloadBuilder as PayloadBuilder2 } from "@xyo-network/sdk-protocol";
|
|
609
|
+
function validByteLimit(value) {
|
|
610
|
+
return Number.isSafeInteger(value) && value > 0;
|
|
611
|
+
}
|
|
612
|
+
function validatePayloadAdmissionPolicy(policy) {
|
|
613
|
+
if (!policy || !Array.isArray(policy.allowedSchemas) || policy.allowedSchemas.some((schema) => typeof schema !== "string" || schema.length === 0 || schema.trim() !== schema) || !validByteLimit(policy.maxPayloadBytes)) {
|
|
614
|
+
throw new TypeError("Invalid payload admission policy");
|
|
615
|
+
}
|
|
616
|
+
if (policy.schemaMaxPayloadBytes !== void 0) {
|
|
617
|
+
if (policy.schemaMaxPayloadBytes === null || typeof policy.schemaMaxPayloadBytes !== "object" || Array.isArray(policy.schemaMaxPayloadBytes)) {
|
|
618
|
+
throw new TypeError("Invalid schema payload byte limits");
|
|
619
|
+
}
|
|
620
|
+
for (const [schema, limit] of Object.entries(policy.schemaMaxPayloadBytes)) {
|
|
621
|
+
if (!policy.allowedSchemas.includes(schema) || !validByteLimit(limit)) {
|
|
622
|
+
throw new TypeError("Invalid schema payload byte limits");
|
|
623
|
+
}
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
}
|
|
627
|
+
function validatePayloadAdmission(payloads, policy) {
|
|
628
|
+
validatePayloadAdmissionPolicy(policy);
|
|
629
|
+
const allowed = new Set(policy.allowedSchemas);
|
|
630
|
+
for (const payload of payloads) {
|
|
631
|
+
if (!allowed.has(payload.schema)) throw new Error("Payload schema is not admitted by this archivist");
|
|
632
|
+
const schemaLimit = policy.schemaMaxPayloadBytes && Object.hasOwn(policy.schemaMaxPayloadBytes, payload.schema) ? policy.schemaMaxPayloadBytes[payload.schema] : policy.maxPayloadBytes;
|
|
633
|
+
const limit = Math.min(policy.maxPayloadBytes, schemaLimit);
|
|
634
|
+
const json = JSON.stringify(PayloadBuilder2.omitStorageMeta(payload));
|
|
635
|
+
const textEncoder = new TextEncoder();
|
|
636
|
+
if (textEncoder.encode(json).byteLength > limit) {
|
|
637
|
+
throw new Error("Payload exceeds this archivist byte limit");
|
|
638
|
+
}
|
|
639
|
+
}
|
|
640
|
+
}
|
|
557
641
|
export {
|
|
558
642
|
AbstractArchivist,
|
|
559
|
-
StorageClassLabel
|
|
643
|
+
StorageClassLabel,
|
|
644
|
+
validatePayloadAdmission,
|
|
645
|
+
validatePayloadAdmissionPolicy
|
|
560
646
|
};
|
|
561
647
|
//# sourceMappingURL=archivist-abstract.mjs.map
|