diff --git a/.depcheckrc b/.depcheckrc index 8adceb40dc..a0369f1122 100644 --- a/.depcheckrc +++ b/.depcheckrc @@ -13,10 +13,6 @@ ignores: [ "eslint-plugin-sonarjs", "eslint-plugin-workspaces", "prettier", - "jest-docblock", - "jest-environment-jsdom", - "jest-runner-groups", - "jest-runner", "reflect-metadata", "supertest", "ts-node", diff --git a/.npmignore b/.npmignore index d6750ea63d..95388b173b 100644 --- a/.npmignore +++ b/.npmignore @@ -4,7 +4,6 @@ .example.env tsconfig* .tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/.vscode/launch.json b/.vscode/launch.json index 1f261ecc85..ff71166a5d 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -1,22 +1,6 @@ { "version": "0.2.0", "configurations": [ - { - "name": "Jest", - "type": "node", - "request": "launch", - "program": "${workspaceRoot}/node_modules/jest/bin/jest.js", - "args": [ - "--forceExit", - "--runInBand", - "--testTimeout=120000", - "packages/protocol/packages/boundwitness/packages/validator/src/lib/addresses/spec/addressesContainsAll.spec.ts" - ], - "console": "integratedTerminal", - "internalConsoleOptions": "neverOpen", - "cwd": "${workspaceFolder}", - "envFile": "${workspaceFolder}/.env" - }, { "name": "Vite", "request": "launch", @@ -26,7 +10,8 @@ "--run", "--inspect-brk", "--no-file-parallelism", - "packages/protocol/packages/boundwitness/packages/builder/src/spec/Builder.sequence.spec.ts" + "--testTimeout=120000", + "packages/modules/packages/bridge/packages/pub-sub/src/spec/PubSubBridge.adhoc.spec.ts" ], "sourceMaps": true, "resolveSourceMapLocations": [ diff --git a/.vscode/settings.json b/.vscode/settings.json index cfe10cda80..afe9bb9992 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -115,6 +115,7 @@ "SRTM", "systeminformation", "testdata", + "thunked", "transferables", "treeshake", "tsup", diff --git a/.yarn/versions/0029cc47.yml b/.yarn/versions/0029cc47.yml new file mode 100644 index 0000000000..2e6cf64087 --- /dev/null +++ b/.yarn/versions/0029cc47.yml @@ -0,0 +1,189 @@ +releases: + "@xyo-network/abstract-witness": minor + "@xyo-network/account": minor + "@xyo-network/account-model": minor + "@xyo-network/address-payload-plugin": minor + "@xyo-network/api": minor + "@xyo-network/api-models": minor + "@xyo-network/archivist": minor + "@xyo-network/archivist-abstract": minor + "@xyo-network/archivist-cookie": minor + "@xyo-network/archivist-firebase": minor + "@xyo-network/archivist-indexeddb": minor + "@xyo-network/archivist-memory": minor + "@xyo-network/archivist-model": minor + "@xyo-network/archivist-storage": minor + "@xyo-network/archivist-view": minor + "@xyo-network/archivist-wrapper": minor + "@xyo-network/bip39": minor + "@xyo-network/boundwitness": minor + "@xyo-network/boundwitness-builder": minor + "@xyo-network/boundwitness-loader": minor + "@xyo-network/boundwitness-model": minor + "@xyo-network/boundwitness-validator": minor + "@xyo-network/boundwitness-wrapper": minor + "@xyo-network/bridge": minor + "@xyo-network/bridge-abstract": minor + "@xyo-network/bridge-http": minor + "@xyo-network/bridge-model": minor + "@xyo-network/bridge-module-resolver": minor + "@xyo-network/bridge-pub-sub": minor + "@xyo-network/bridge-websocket": minor + "@xyo-network/bridge-worker": minor + "@xyo-network/bridge-wrapper": minor + "@xyo-network/config-payload-plugin": minor + "@xyo-network/core": minor + "@xyo-network/core-payload-plugins": minor + "@xyo-network/data": minor + "@xyo-network/diviner": minor + "@xyo-network/diviner-abstract": minor + "@xyo-network/diviner-address-chain": minor + "@xyo-network/diviner-address-chain-abstract": minor + "@xyo-network/diviner-address-chain-memory": minor + "@xyo-network/diviner-address-chain-model": minor + "@xyo-network/diviner-address-history": minor + "@xyo-network/diviner-address-history-model": minor + "@xyo-network/diviner-address-space": minor + "@xyo-network/diviner-address-space-abstract": minor + "@xyo-network/diviner-address-space-memory": minor + "@xyo-network/diviner-address-space-model": minor + "@xyo-network/diviner-archivist": minor + "@xyo-network/diviner-boundwitness": minor + "@xyo-network/diviner-boundwitness-abstract": minor + "@xyo-network/diviner-boundwitness-indexeddb": minor + "@xyo-network/diviner-boundwitness-memory": minor + "@xyo-network/diviner-boundwitness-model": minor + "@xyo-network/diviner-boundwitness-stats": minor + "@xyo-network/diviner-boundwitness-stats-abstract": minor + "@xyo-network/diviner-boundwitness-stats-memory": minor + "@xyo-network/diviner-boundwitness-stats-model": minor + "@xyo-network/diviner-coin": minor + "@xyo-network/diviner-coin-user-locations": minor + "@xyo-network/diviner-coin-user-locations-abstract": minor + "@xyo-network/diviner-coin-user-locations-model": minor + "@xyo-network/diviner-distinct": minor + "@xyo-network/diviner-distinct-model": minor + "@xyo-network/diviner-forecasting": minor + "@xyo-network/diviner-forecasting-abstract": minor + "@xyo-network/diviner-forecasting-memory": minor + "@xyo-network/diviner-forecasting-method-arima": minor + "@xyo-network/diviner-forecasting-model": minor + "@xyo-network/diviner-hash-lease": minor + "@xyo-network/diviner-huri": minor + "@xyo-network/diviner-identity": minor + "@xyo-network/diviner-indexeddb": minor + "@xyo-network/diviner-indexing": minor + "@xyo-network/diviner-indexing-memory": minor + "@xyo-network/diviner-indexing-model": minor + "@xyo-network/diviner-jsonpatch": minor + "@xyo-network/diviner-jsonpatch-memory": minor + "@xyo-network/diviner-jsonpatch-model": minor + "@xyo-network/diviner-jsonpath": minor + "@xyo-network/diviner-jsonpath-aggregate": minor + "@xyo-network/diviner-jsonpath-aggregate-memory": minor + "@xyo-network/diviner-jsonpath-aggregate-model": minor + "@xyo-network/diviner-jsonpath-memory": minor + "@xyo-network/diviner-jsonpath-model": minor + "@xyo-network/diviner-model": minor + "@xyo-network/diviner-models": minor + "@xyo-network/diviner-payload": minor + "@xyo-network/diviner-payload-abstract": minor + "@xyo-network/diviner-payload-generic": minor + "@xyo-network/diviner-payload-indexeddb": minor + "@xyo-network/diviner-payload-memory": minor + "@xyo-network/diviner-payload-model": minor + "@xyo-network/diviner-payload-pointer": minor + "@xyo-network/diviner-payload-pointer-memory": minor + "@xyo-network/diviner-payload-pointer-model": minor + "@xyo-network/diviner-payload-stats": minor + "@xyo-network/diviner-payload-stats-abstract": minor + "@xyo-network/diviner-payload-stats-memory": minor + "@xyo-network/diviner-payload-stats-model": minor + "@xyo-network/diviner-range": minor + "@xyo-network/diviner-range-model": minor + "@xyo-network/diviner-schema-list": minor + "@xyo-network/diviner-schema-list-abstract": minor + "@xyo-network/diviner-schema-list-memory": minor + "@xyo-network/diviner-schema-list-model": minor + "@xyo-network/diviner-schema-stats": minor + "@xyo-network/diviner-schema-stats-abstract": minor + "@xyo-network/diviner-schema-stats-memory": minor + "@xyo-network/diviner-schema-stats-model": minor + "@xyo-network/diviner-stateful": minor + "@xyo-network/diviner-temporal-indexing": minor + "@xyo-network/diviner-temporal-indexing-memory": minor + "@xyo-network/diviner-temporal-indexing-model": minor + "@xyo-network/diviner-transform": minor + "@xyo-network/diviner-transform-abstract": minor + "@xyo-network/diviner-transform-memory": minor + "@xyo-network/diviner-transform-model": minor + "@xyo-network/diviner-wrapper": minor + "@xyo-network/dns": minor + "@xyo-network/domain-payload-plugin": minor + "@xyo-network/filesystem-archivist": minor + "@xyo-network/hash": minor + "@xyo-network/huri": minor + "@xyo-network/id-payload-plugin": minor + "@xyo-network/key-model": minor + "@xyo-network/manifest": minor + "@xyo-network/manifest-model": minor + "@xyo-network/manifest-wrapper": minor + "@xyo-network/metamask-connector": minor + "@xyo-network/module": minor + "@xyo-network/module-abstract": minor + "@xyo-network/module-event-emitter": minor + "@xyo-network/module-events": minor + "@xyo-network/module-factory-locator": minor + "@xyo-network/module-model": minor + "@xyo-network/module-resolver": minor + "@xyo-network/module-wrapper": minor + "@xyo-network/modules": minor + "@xyo-network/network": minor + "@xyo-network/node": minor + "@xyo-network/node-abstract": minor + "@xyo-network/node-memory": minor + "@xyo-network/node-model": minor + "@xyo-network/node-view": minor + "@xyo-network/node-wrapper": minor + "@xyo-network/object": minor + "@xyo-network/payload": minor + "@xyo-network/payload-builder": minor + "@xyo-network/payload-model": minor + "@xyo-network/payload-plugin": minor + "@xyo-network/payload-utils": minor + "@xyo-network/payload-validator": minor + "@xyo-network/payload-wrapper": minor + "@xyo-network/payloadset-plugin": minor + "@xyo-network/previous-hash-store": minor + "@xyo-network/previous-hash-store-indexeddb": minor + "@xyo-network/previous-hash-store-model": minor + "@xyo-network/previous-hash-store-storage": minor + "@xyo-network/protocol": minor + "@xyo-network/quadkey": minor + "@xyo-network/query-payload-plugin": minor + "@xyo-network/schema-cache": minor + "@xyo-network/schema-name-validator": minor + "@xyo-network/schema-payload-plugin": minor + "@xyo-network/sdk-js": minor + "@xyo-network/sdk-utils": minor + "@xyo-network/sentinel": minor + "@xyo-network/sentinel-abstract": minor + "@xyo-network/sentinel-memory": minor + "@xyo-network/sentinel-model": minor + "@xyo-network/sentinel-wrapper": minor + "@xyo-network/shared": minor + "@xyo-network/typeof": minor + "@xyo-network/value-payload-plugin": minor + "@xyo-network/wallet-model": minor + "@xyo-network/wasm": minor + "@xyo-network/witness": minor + "@xyo-network/witness-adhoc": minor + "@xyo-network/witness-blockchain": minor + "@xyo-network/witness-blockchain-abstract": minor + "@xyo-network/witness-environment": minor + "@xyo-network/witness-evm": minor + "@xyo-network/witness-evm-abstract": minor + "@xyo-network/witness-model": minor + "@xyo-network/witness-timestamp": minor + "@xyo-network/witness-wrapper": minor + "@xyo-network/witnesses": minor diff --git a/.yarn/versions/10c924ff.yml b/.yarn/versions/10c924ff.yml new file mode 100644 index 0000000000..2e6cf64087 --- /dev/null +++ b/.yarn/versions/10c924ff.yml @@ -0,0 +1,189 @@ +releases: + "@xyo-network/abstract-witness": minor + "@xyo-network/account": minor + "@xyo-network/account-model": minor + "@xyo-network/address-payload-plugin": minor + "@xyo-network/api": minor + "@xyo-network/api-models": minor + "@xyo-network/archivist": minor + "@xyo-network/archivist-abstract": minor + "@xyo-network/archivist-cookie": minor + "@xyo-network/archivist-firebase": minor + "@xyo-network/archivist-indexeddb": minor + "@xyo-network/archivist-memory": minor + "@xyo-network/archivist-model": minor + "@xyo-network/archivist-storage": minor + "@xyo-network/archivist-view": minor + "@xyo-network/archivist-wrapper": minor + "@xyo-network/bip39": minor + "@xyo-network/boundwitness": minor + "@xyo-network/boundwitness-builder": minor + "@xyo-network/boundwitness-loader": minor + "@xyo-network/boundwitness-model": minor + "@xyo-network/boundwitness-validator": minor + "@xyo-network/boundwitness-wrapper": minor + "@xyo-network/bridge": minor + "@xyo-network/bridge-abstract": minor + "@xyo-network/bridge-http": minor + "@xyo-network/bridge-model": minor + "@xyo-network/bridge-module-resolver": minor + "@xyo-network/bridge-pub-sub": minor + "@xyo-network/bridge-websocket": minor + "@xyo-network/bridge-worker": minor + "@xyo-network/bridge-wrapper": minor + "@xyo-network/config-payload-plugin": minor + "@xyo-network/core": minor + "@xyo-network/core-payload-plugins": minor + "@xyo-network/data": minor + "@xyo-network/diviner": minor + "@xyo-network/diviner-abstract": minor + "@xyo-network/diviner-address-chain": minor + "@xyo-network/diviner-address-chain-abstract": minor + "@xyo-network/diviner-address-chain-memory": minor + "@xyo-network/diviner-address-chain-model": minor + "@xyo-network/diviner-address-history": minor + "@xyo-network/diviner-address-history-model": minor + "@xyo-network/diviner-address-space": minor + "@xyo-network/diviner-address-space-abstract": minor + "@xyo-network/diviner-address-space-memory": minor + "@xyo-network/diviner-address-space-model": minor + "@xyo-network/diviner-archivist": minor + "@xyo-network/diviner-boundwitness": minor + "@xyo-network/diviner-boundwitness-abstract": minor + "@xyo-network/diviner-boundwitness-indexeddb": minor + "@xyo-network/diviner-boundwitness-memory": minor + "@xyo-network/diviner-boundwitness-model": minor + "@xyo-network/diviner-boundwitness-stats": minor + "@xyo-network/diviner-boundwitness-stats-abstract": minor + "@xyo-network/diviner-boundwitness-stats-memory": minor + "@xyo-network/diviner-boundwitness-stats-model": minor + "@xyo-network/diviner-coin": minor + "@xyo-network/diviner-coin-user-locations": minor + "@xyo-network/diviner-coin-user-locations-abstract": minor + "@xyo-network/diviner-coin-user-locations-model": minor + "@xyo-network/diviner-distinct": minor + "@xyo-network/diviner-distinct-model": minor + "@xyo-network/diviner-forecasting": minor + "@xyo-network/diviner-forecasting-abstract": minor + "@xyo-network/diviner-forecasting-memory": minor + "@xyo-network/diviner-forecasting-method-arima": minor + "@xyo-network/diviner-forecasting-model": minor + "@xyo-network/diviner-hash-lease": minor + "@xyo-network/diviner-huri": minor + "@xyo-network/diviner-identity": minor + "@xyo-network/diviner-indexeddb": minor + "@xyo-network/diviner-indexing": minor + "@xyo-network/diviner-indexing-memory": minor + "@xyo-network/diviner-indexing-model": minor + "@xyo-network/diviner-jsonpatch": minor + "@xyo-network/diviner-jsonpatch-memory": minor + "@xyo-network/diviner-jsonpatch-model": minor + "@xyo-network/diviner-jsonpath": minor + "@xyo-network/diviner-jsonpath-aggregate": minor + "@xyo-network/diviner-jsonpath-aggregate-memory": minor + "@xyo-network/diviner-jsonpath-aggregate-model": minor + "@xyo-network/diviner-jsonpath-memory": minor + "@xyo-network/diviner-jsonpath-model": minor + "@xyo-network/diviner-model": minor + "@xyo-network/diviner-models": minor + "@xyo-network/diviner-payload": minor + "@xyo-network/diviner-payload-abstract": minor + "@xyo-network/diviner-payload-generic": minor + "@xyo-network/diviner-payload-indexeddb": minor + "@xyo-network/diviner-payload-memory": minor + "@xyo-network/diviner-payload-model": minor + "@xyo-network/diviner-payload-pointer": minor + "@xyo-network/diviner-payload-pointer-memory": minor + "@xyo-network/diviner-payload-pointer-model": minor + "@xyo-network/diviner-payload-stats": minor + "@xyo-network/diviner-payload-stats-abstract": minor + "@xyo-network/diviner-payload-stats-memory": minor + "@xyo-network/diviner-payload-stats-model": minor + "@xyo-network/diviner-range": minor + "@xyo-network/diviner-range-model": minor + "@xyo-network/diviner-schema-list": minor + "@xyo-network/diviner-schema-list-abstract": minor + "@xyo-network/diviner-schema-list-memory": minor + "@xyo-network/diviner-schema-list-model": minor + "@xyo-network/diviner-schema-stats": minor + "@xyo-network/diviner-schema-stats-abstract": minor + "@xyo-network/diviner-schema-stats-memory": minor + "@xyo-network/diviner-schema-stats-model": minor + "@xyo-network/diviner-stateful": minor + "@xyo-network/diviner-temporal-indexing": minor + "@xyo-network/diviner-temporal-indexing-memory": minor + "@xyo-network/diviner-temporal-indexing-model": minor + "@xyo-network/diviner-transform": minor + "@xyo-network/diviner-transform-abstract": minor + "@xyo-network/diviner-transform-memory": minor + "@xyo-network/diviner-transform-model": minor + "@xyo-network/diviner-wrapper": minor + "@xyo-network/dns": minor + "@xyo-network/domain-payload-plugin": minor + "@xyo-network/filesystem-archivist": minor + "@xyo-network/hash": minor + "@xyo-network/huri": minor + "@xyo-network/id-payload-plugin": minor + "@xyo-network/key-model": minor + "@xyo-network/manifest": minor + "@xyo-network/manifest-model": minor + "@xyo-network/manifest-wrapper": minor + "@xyo-network/metamask-connector": minor + "@xyo-network/module": minor + "@xyo-network/module-abstract": minor + "@xyo-network/module-event-emitter": minor + "@xyo-network/module-events": minor + "@xyo-network/module-factory-locator": minor + "@xyo-network/module-model": minor + "@xyo-network/module-resolver": minor + "@xyo-network/module-wrapper": minor + "@xyo-network/modules": minor + "@xyo-network/network": minor + "@xyo-network/node": minor + "@xyo-network/node-abstract": minor + "@xyo-network/node-memory": minor + "@xyo-network/node-model": minor + "@xyo-network/node-view": minor + "@xyo-network/node-wrapper": minor + "@xyo-network/object": minor + "@xyo-network/payload": minor + "@xyo-network/payload-builder": minor + "@xyo-network/payload-model": minor + "@xyo-network/payload-plugin": minor + "@xyo-network/payload-utils": minor + "@xyo-network/payload-validator": minor + "@xyo-network/payload-wrapper": minor + "@xyo-network/payloadset-plugin": minor + "@xyo-network/previous-hash-store": minor + "@xyo-network/previous-hash-store-indexeddb": minor + "@xyo-network/previous-hash-store-model": minor + "@xyo-network/previous-hash-store-storage": minor + "@xyo-network/protocol": minor + "@xyo-network/quadkey": minor + "@xyo-network/query-payload-plugin": minor + "@xyo-network/schema-cache": minor + "@xyo-network/schema-name-validator": minor + "@xyo-network/schema-payload-plugin": minor + "@xyo-network/sdk-js": minor + "@xyo-network/sdk-utils": minor + "@xyo-network/sentinel": minor + "@xyo-network/sentinel-abstract": minor + "@xyo-network/sentinel-memory": minor + "@xyo-network/sentinel-model": minor + "@xyo-network/sentinel-wrapper": minor + "@xyo-network/shared": minor + "@xyo-network/typeof": minor + "@xyo-network/value-payload-plugin": minor + "@xyo-network/wallet-model": minor + "@xyo-network/wasm": minor + "@xyo-network/witness": minor + "@xyo-network/witness-adhoc": minor + "@xyo-network/witness-blockchain": minor + "@xyo-network/witness-blockchain-abstract": minor + "@xyo-network/witness-environment": minor + "@xyo-network/witness-evm": minor + "@xyo-network/witness-evm-abstract": minor + "@xyo-network/witness-model": minor + "@xyo-network/witness-timestamp": minor + "@xyo-network/witness-wrapper": minor + "@xyo-network/witnesses": minor diff --git a/.yarn/versions/15ced524.yml b/.yarn/versions/15ced524.yml new file mode 100644 index 0000000000..2e6cf64087 --- /dev/null +++ b/.yarn/versions/15ced524.yml @@ -0,0 +1,189 @@ +releases: + "@xyo-network/abstract-witness": minor + "@xyo-network/account": minor + "@xyo-network/account-model": minor + "@xyo-network/address-payload-plugin": minor + "@xyo-network/api": minor + "@xyo-network/api-models": minor + "@xyo-network/archivist": minor + "@xyo-network/archivist-abstract": minor + "@xyo-network/archivist-cookie": minor + "@xyo-network/archivist-firebase": minor + "@xyo-network/archivist-indexeddb": minor + "@xyo-network/archivist-memory": minor + "@xyo-network/archivist-model": minor + "@xyo-network/archivist-storage": minor + "@xyo-network/archivist-view": minor + "@xyo-network/archivist-wrapper": minor + "@xyo-network/bip39": minor + "@xyo-network/boundwitness": minor + "@xyo-network/boundwitness-builder": minor + "@xyo-network/boundwitness-loader": minor + "@xyo-network/boundwitness-model": minor + "@xyo-network/boundwitness-validator": minor + "@xyo-network/boundwitness-wrapper": minor + "@xyo-network/bridge": minor + "@xyo-network/bridge-abstract": minor + "@xyo-network/bridge-http": minor + "@xyo-network/bridge-model": minor + "@xyo-network/bridge-module-resolver": minor + "@xyo-network/bridge-pub-sub": minor + "@xyo-network/bridge-websocket": minor + "@xyo-network/bridge-worker": minor + "@xyo-network/bridge-wrapper": minor + "@xyo-network/config-payload-plugin": minor + "@xyo-network/core": minor + "@xyo-network/core-payload-plugins": minor + "@xyo-network/data": minor + "@xyo-network/diviner": minor + "@xyo-network/diviner-abstract": minor + "@xyo-network/diviner-address-chain": minor + "@xyo-network/diviner-address-chain-abstract": minor + "@xyo-network/diviner-address-chain-memory": minor + "@xyo-network/diviner-address-chain-model": minor + "@xyo-network/diviner-address-history": minor + "@xyo-network/diviner-address-history-model": minor + "@xyo-network/diviner-address-space": minor + "@xyo-network/diviner-address-space-abstract": minor + "@xyo-network/diviner-address-space-memory": minor + "@xyo-network/diviner-address-space-model": minor + "@xyo-network/diviner-archivist": minor + "@xyo-network/diviner-boundwitness": minor + "@xyo-network/diviner-boundwitness-abstract": minor + "@xyo-network/diviner-boundwitness-indexeddb": minor + "@xyo-network/diviner-boundwitness-memory": minor + "@xyo-network/diviner-boundwitness-model": minor + "@xyo-network/diviner-boundwitness-stats": minor + "@xyo-network/diviner-boundwitness-stats-abstract": minor + "@xyo-network/diviner-boundwitness-stats-memory": minor + "@xyo-network/diviner-boundwitness-stats-model": minor + "@xyo-network/diviner-coin": minor + "@xyo-network/diviner-coin-user-locations": minor + "@xyo-network/diviner-coin-user-locations-abstract": minor + "@xyo-network/diviner-coin-user-locations-model": minor + "@xyo-network/diviner-distinct": minor + "@xyo-network/diviner-distinct-model": minor + "@xyo-network/diviner-forecasting": minor + "@xyo-network/diviner-forecasting-abstract": minor + "@xyo-network/diviner-forecasting-memory": minor + "@xyo-network/diviner-forecasting-method-arima": minor + "@xyo-network/diviner-forecasting-model": minor + "@xyo-network/diviner-hash-lease": minor + "@xyo-network/diviner-huri": minor + "@xyo-network/diviner-identity": minor + "@xyo-network/diviner-indexeddb": minor + "@xyo-network/diviner-indexing": minor + "@xyo-network/diviner-indexing-memory": minor + "@xyo-network/diviner-indexing-model": minor + "@xyo-network/diviner-jsonpatch": minor + "@xyo-network/diviner-jsonpatch-memory": minor + "@xyo-network/diviner-jsonpatch-model": minor + "@xyo-network/diviner-jsonpath": minor + "@xyo-network/diviner-jsonpath-aggregate": minor + "@xyo-network/diviner-jsonpath-aggregate-memory": minor + "@xyo-network/diviner-jsonpath-aggregate-model": minor + "@xyo-network/diviner-jsonpath-memory": minor + "@xyo-network/diviner-jsonpath-model": minor + "@xyo-network/diviner-model": minor + "@xyo-network/diviner-models": minor + "@xyo-network/diviner-payload": minor + "@xyo-network/diviner-payload-abstract": minor + "@xyo-network/diviner-payload-generic": minor + "@xyo-network/diviner-payload-indexeddb": minor + "@xyo-network/diviner-payload-memory": minor + "@xyo-network/diviner-payload-model": minor + "@xyo-network/diviner-payload-pointer": minor + "@xyo-network/diviner-payload-pointer-memory": minor + "@xyo-network/diviner-payload-pointer-model": minor + "@xyo-network/diviner-payload-stats": minor + "@xyo-network/diviner-payload-stats-abstract": minor + "@xyo-network/diviner-payload-stats-memory": minor + "@xyo-network/diviner-payload-stats-model": minor + "@xyo-network/diviner-range": minor + "@xyo-network/diviner-range-model": minor + "@xyo-network/diviner-schema-list": minor + "@xyo-network/diviner-schema-list-abstract": minor + "@xyo-network/diviner-schema-list-memory": minor + "@xyo-network/diviner-schema-list-model": minor + "@xyo-network/diviner-schema-stats": minor + "@xyo-network/diviner-schema-stats-abstract": minor + "@xyo-network/diviner-schema-stats-memory": minor + "@xyo-network/diviner-schema-stats-model": minor + "@xyo-network/diviner-stateful": minor + "@xyo-network/diviner-temporal-indexing": minor + "@xyo-network/diviner-temporal-indexing-memory": minor + "@xyo-network/diviner-temporal-indexing-model": minor + "@xyo-network/diviner-transform": minor + "@xyo-network/diviner-transform-abstract": minor + "@xyo-network/diviner-transform-memory": minor + "@xyo-network/diviner-transform-model": minor + "@xyo-network/diviner-wrapper": minor + "@xyo-network/dns": minor + "@xyo-network/domain-payload-plugin": minor + "@xyo-network/filesystem-archivist": minor + "@xyo-network/hash": minor + "@xyo-network/huri": minor + "@xyo-network/id-payload-plugin": minor + "@xyo-network/key-model": minor + "@xyo-network/manifest": minor + "@xyo-network/manifest-model": minor + "@xyo-network/manifest-wrapper": minor + "@xyo-network/metamask-connector": minor + "@xyo-network/module": minor + "@xyo-network/module-abstract": minor + "@xyo-network/module-event-emitter": minor + "@xyo-network/module-events": minor + "@xyo-network/module-factory-locator": minor + "@xyo-network/module-model": minor + "@xyo-network/module-resolver": minor + "@xyo-network/module-wrapper": minor + "@xyo-network/modules": minor + "@xyo-network/network": minor + "@xyo-network/node": minor + "@xyo-network/node-abstract": minor + "@xyo-network/node-memory": minor + "@xyo-network/node-model": minor + "@xyo-network/node-view": minor + "@xyo-network/node-wrapper": minor + "@xyo-network/object": minor + "@xyo-network/payload": minor + "@xyo-network/payload-builder": minor + "@xyo-network/payload-model": minor + "@xyo-network/payload-plugin": minor + "@xyo-network/payload-utils": minor + "@xyo-network/payload-validator": minor + "@xyo-network/payload-wrapper": minor + "@xyo-network/payloadset-plugin": minor + "@xyo-network/previous-hash-store": minor + "@xyo-network/previous-hash-store-indexeddb": minor + "@xyo-network/previous-hash-store-model": minor + "@xyo-network/previous-hash-store-storage": minor + "@xyo-network/protocol": minor + "@xyo-network/quadkey": minor + "@xyo-network/query-payload-plugin": minor + "@xyo-network/schema-cache": minor + "@xyo-network/schema-name-validator": minor + "@xyo-network/schema-payload-plugin": minor + "@xyo-network/sdk-js": minor + "@xyo-network/sdk-utils": minor + "@xyo-network/sentinel": minor + "@xyo-network/sentinel-abstract": minor + "@xyo-network/sentinel-memory": minor + "@xyo-network/sentinel-model": minor + "@xyo-network/sentinel-wrapper": minor + "@xyo-network/shared": minor + "@xyo-network/typeof": minor + "@xyo-network/value-payload-plugin": minor + "@xyo-network/wallet-model": minor + "@xyo-network/wasm": minor + "@xyo-network/witness": minor + "@xyo-network/witness-adhoc": minor + "@xyo-network/witness-blockchain": minor + "@xyo-network/witness-blockchain-abstract": minor + "@xyo-network/witness-environment": minor + "@xyo-network/witness-evm": minor + "@xyo-network/witness-evm-abstract": minor + "@xyo-network/witness-model": minor + "@xyo-network/witness-timestamp": minor + "@xyo-network/witness-wrapper": minor + "@xyo-network/witnesses": minor diff --git a/.yarn/versions/33f57667.yml b/.yarn/versions/33f57667.yml new file mode 100644 index 0000000000..2e6cf64087 --- /dev/null +++ b/.yarn/versions/33f57667.yml @@ -0,0 +1,189 @@ +releases: + "@xyo-network/abstract-witness": minor + "@xyo-network/account": minor + "@xyo-network/account-model": minor + "@xyo-network/address-payload-plugin": minor + "@xyo-network/api": minor + "@xyo-network/api-models": minor + "@xyo-network/archivist": minor + "@xyo-network/archivist-abstract": minor + "@xyo-network/archivist-cookie": minor + "@xyo-network/archivist-firebase": minor + "@xyo-network/archivist-indexeddb": minor + "@xyo-network/archivist-memory": minor + "@xyo-network/archivist-model": minor + "@xyo-network/archivist-storage": minor + "@xyo-network/archivist-view": minor + "@xyo-network/archivist-wrapper": minor + "@xyo-network/bip39": minor + "@xyo-network/boundwitness": minor + "@xyo-network/boundwitness-builder": minor + "@xyo-network/boundwitness-loader": minor + "@xyo-network/boundwitness-model": minor + "@xyo-network/boundwitness-validator": minor + "@xyo-network/boundwitness-wrapper": minor + "@xyo-network/bridge": minor + "@xyo-network/bridge-abstract": minor + "@xyo-network/bridge-http": minor + "@xyo-network/bridge-model": minor + "@xyo-network/bridge-module-resolver": minor + "@xyo-network/bridge-pub-sub": minor + "@xyo-network/bridge-websocket": minor + "@xyo-network/bridge-worker": minor + "@xyo-network/bridge-wrapper": minor + "@xyo-network/config-payload-plugin": minor + "@xyo-network/core": minor + "@xyo-network/core-payload-plugins": minor + "@xyo-network/data": minor + "@xyo-network/diviner": minor + "@xyo-network/diviner-abstract": minor + "@xyo-network/diviner-address-chain": minor + "@xyo-network/diviner-address-chain-abstract": minor + "@xyo-network/diviner-address-chain-memory": minor + "@xyo-network/diviner-address-chain-model": minor + "@xyo-network/diviner-address-history": minor + "@xyo-network/diviner-address-history-model": minor + "@xyo-network/diviner-address-space": minor + "@xyo-network/diviner-address-space-abstract": minor + "@xyo-network/diviner-address-space-memory": minor + "@xyo-network/diviner-address-space-model": minor + "@xyo-network/diviner-archivist": minor + "@xyo-network/diviner-boundwitness": minor + "@xyo-network/diviner-boundwitness-abstract": minor + "@xyo-network/diviner-boundwitness-indexeddb": minor + "@xyo-network/diviner-boundwitness-memory": minor + "@xyo-network/diviner-boundwitness-model": minor + "@xyo-network/diviner-boundwitness-stats": minor + "@xyo-network/diviner-boundwitness-stats-abstract": minor + "@xyo-network/diviner-boundwitness-stats-memory": minor + "@xyo-network/diviner-boundwitness-stats-model": minor + "@xyo-network/diviner-coin": minor + "@xyo-network/diviner-coin-user-locations": minor + "@xyo-network/diviner-coin-user-locations-abstract": minor + "@xyo-network/diviner-coin-user-locations-model": minor + "@xyo-network/diviner-distinct": minor + "@xyo-network/diviner-distinct-model": minor + "@xyo-network/diviner-forecasting": minor + "@xyo-network/diviner-forecasting-abstract": minor + "@xyo-network/diviner-forecasting-memory": minor + "@xyo-network/diviner-forecasting-method-arima": minor + "@xyo-network/diviner-forecasting-model": minor + "@xyo-network/diviner-hash-lease": minor + "@xyo-network/diviner-huri": minor + "@xyo-network/diviner-identity": minor + "@xyo-network/diviner-indexeddb": minor + "@xyo-network/diviner-indexing": minor + "@xyo-network/diviner-indexing-memory": minor + "@xyo-network/diviner-indexing-model": minor + "@xyo-network/diviner-jsonpatch": minor + "@xyo-network/diviner-jsonpatch-memory": minor + "@xyo-network/diviner-jsonpatch-model": minor + "@xyo-network/diviner-jsonpath": minor + "@xyo-network/diviner-jsonpath-aggregate": minor + "@xyo-network/diviner-jsonpath-aggregate-memory": minor + "@xyo-network/diviner-jsonpath-aggregate-model": minor + "@xyo-network/diviner-jsonpath-memory": minor + "@xyo-network/diviner-jsonpath-model": minor + "@xyo-network/diviner-model": minor + "@xyo-network/diviner-models": minor + "@xyo-network/diviner-payload": minor + "@xyo-network/diviner-payload-abstract": minor + "@xyo-network/diviner-payload-generic": minor + "@xyo-network/diviner-payload-indexeddb": minor + "@xyo-network/diviner-payload-memory": minor + "@xyo-network/diviner-payload-model": minor + "@xyo-network/diviner-payload-pointer": minor + "@xyo-network/diviner-payload-pointer-memory": minor + "@xyo-network/diviner-payload-pointer-model": minor + "@xyo-network/diviner-payload-stats": minor + "@xyo-network/diviner-payload-stats-abstract": minor + "@xyo-network/diviner-payload-stats-memory": minor + "@xyo-network/diviner-payload-stats-model": minor + "@xyo-network/diviner-range": minor + "@xyo-network/diviner-range-model": minor + "@xyo-network/diviner-schema-list": minor + "@xyo-network/diviner-schema-list-abstract": minor + "@xyo-network/diviner-schema-list-memory": minor + "@xyo-network/diviner-schema-list-model": minor + "@xyo-network/diviner-schema-stats": minor + "@xyo-network/diviner-schema-stats-abstract": minor + "@xyo-network/diviner-schema-stats-memory": minor + "@xyo-network/diviner-schema-stats-model": minor + "@xyo-network/diviner-stateful": minor + "@xyo-network/diviner-temporal-indexing": minor + "@xyo-network/diviner-temporal-indexing-memory": minor + "@xyo-network/diviner-temporal-indexing-model": minor + "@xyo-network/diviner-transform": minor + "@xyo-network/diviner-transform-abstract": minor + "@xyo-network/diviner-transform-memory": minor + "@xyo-network/diviner-transform-model": minor + "@xyo-network/diviner-wrapper": minor + "@xyo-network/dns": minor + "@xyo-network/domain-payload-plugin": minor + "@xyo-network/filesystem-archivist": minor + "@xyo-network/hash": minor + "@xyo-network/huri": minor + "@xyo-network/id-payload-plugin": minor + "@xyo-network/key-model": minor + "@xyo-network/manifest": minor + "@xyo-network/manifest-model": minor + "@xyo-network/manifest-wrapper": minor + "@xyo-network/metamask-connector": minor + "@xyo-network/module": minor + "@xyo-network/module-abstract": minor + "@xyo-network/module-event-emitter": minor + "@xyo-network/module-events": minor + "@xyo-network/module-factory-locator": minor + "@xyo-network/module-model": minor + "@xyo-network/module-resolver": minor + "@xyo-network/module-wrapper": minor + "@xyo-network/modules": minor + "@xyo-network/network": minor + "@xyo-network/node": minor + "@xyo-network/node-abstract": minor + "@xyo-network/node-memory": minor + "@xyo-network/node-model": minor + "@xyo-network/node-view": minor + "@xyo-network/node-wrapper": minor + "@xyo-network/object": minor + "@xyo-network/payload": minor + "@xyo-network/payload-builder": minor + "@xyo-network/payload-model": minor + "@xyo-network/payload-plugin": minor + "@xyo-network/payload-utils": minor + "@xyo-network/payload-validator": minor + "@xyo-network/payload-wrapper": minor + "@xyo-network/payloadset-plugin": minor + "@xyo-network/previous-hash-store": minor + "@xyo-network/previous-hash-store-indexeddb": minor + "@xyo-network/previous-hash-store-model": minor + "@xyo-network/previous-hash-store-storage": minor + "@xyo-network/protocol": minor + "@xyo-network/quadkey": minor + "@xyo-network/query-payload-plugin": minor + "@xyo-network/schema-cache": minor + "@xyo-network/schema-name-validator": minor + "@xyo-network/schema-payload-plugin": minor + "@xyo-network/sdk-js": minor + "@xyo-network/sdk-utils": minor + "@xyo-network/sentinel": minor + "@xyo-network/sentinel-abstract": minor + "@xyo-network/sentinel-memory": minor + "@xyo-network/sentinel-model": minor + "@xyo-network/sentinel-wrapper": minor + "@xyo-network/shared": minor + "@xyo-network/typeof": minor + "@xyo-network/value-payload-plugin": minor + "@xyo-network/wallet-model": minor + "@xyo-network/wasm": minor + "@xyo-network/witness": minor + "@xyo-network/witness-adhoc": minor + "@xyo-network/witness-blockchain": minor + "@xyo-network/witness-blockchain-abstract": minor + "@xyo-network/witness-environment": minor + "@xyo-network/witness-evm": minor + "@xyo-network/witness-evm-abstract": minor + "@xyo-network/witness-model": minor + "@xyo-network/witness-timestamp": minor + "@xyo-network/witness-wrapper": minor + "@xyo-network/witnesses": minor diff --git a/.yarn/versions/3b7ff535.yml b/.yarn/versions/3b7ff535.yml new file mode 100644 index 0000000000..2e6cf64087 --- /dev/null +++ b/.yarn/versions/3b7ff535.yml @@ -0,0 +1,189 @@ +releases: + "@xyo-network/abstract-witness": minor + "@xyo-network/account": minor + "@xyo-network/account-model": minor + "@xyo-network/address-payload-plugin": minor + "@xyo-network/api": minor + "@xyo-network/api-models": minor + "@xyo-network/archivist": minor + "@xyo-network/archivist-abstract": minor + "@xyo-network/archivist-cookie": minor + "@xyo-network/archivist-firebase": minor + "@xyo-network/archivist-indexeddb": minor + "@xyo-network/archivist-memory": minor + "@xyo-network/archivist-model": minor + "@xyo-network/archivist-storage": minor + "@xyo-network/archivist-view": minor + "@xyo-network/archivist-wrapper": minor + "@xyo-network/bip39": minor + "@xyo-network/boundwitness": minor + "@xyo-network/boundwitness-builder": minor + "@xyo-network/boundwitness-loader": minor + "@xyo-network/boundwitness-model": minor + "@xyo-network/boundwitness-validator": minor + "@xyo-network/boundwitness-wrapper": minor + "@xyo-network/bridge": minor + "@xyo-network/bridge-abstract": minor + "@xyo-network/bridge-http": minor + "@xyo-network/bridge-model": minor + "@xyo-network/bridge-module-resolver": minor + "@xyo-network/bridge-pub-sub": minor + "@xyo-network/bridge-websocket": minor + "@xyo-network/bridge-worker": minor + "@xyo-network/bridge-wrapper": minor + "@xyo-network/config-payload-plugin": minor + "@xyo-network/core": minor + "@xyo-network/core-payload-plugins": minor + "@xyo-network/data": minor + "@xyo-network/diviner": minor + "@xyo-network/diviner-abstract": minor + "@xyo-network/diviner-address-chain": minor + "@xyo-network/diviner-address-chain-abstract": minor + "@xyo-network/diviner-address-chain-memory": minor + "@xyo-network/diviner-address-chain-model": minor + "@xyo-network/diviner-address-history": minor + "@xyo-network/diviner-address-history-model": minor + "@xyo-network/diviner-address-space": minor + "@xyo-network/diviner-address-space-abstract": minor + "@xyo-network/diviner-address-space-memory": minor + "@xyo-network/diviner-address-space-model": minor + "@xyo-network/diviner-archivist": minor + "@xyo-network/diviner-boundwitness": minor + "@xyo-network/diviner-boundwitness-abstract": minor + "@xyo-network/diviner-boundwitness-indexeddb": minor + "@xyo-network/diviner-boundwitness-memory": minor + "@xyo-network/diviner-boundwitness-model": minor + "@xyo-network/diviner-boundwitness-stats": minor + "@xyo-network/diviner-boundwitness-stats-abstract": minor + "@xyo-network/diviner-boundwitness-stats-memory": minor + "@xyo-network/diviner-boundwitness-stats-model": minor + "@xyo-network/diviner-coin": minor + "@xyo-network/diviner-coin-user-locations": minor + "@xyo-network/diviner-coin-user-locations-abstract": minor + "@xyo-network/diviner-coin-user-locations-model": minor + "@xyo-network/diviner-distinct": minor + "@xyo-network/diviner-distinct-model": minor + "@xyo-network/diviner-forecasting": minor + "@xyo-network/diviner-forecasting-abstract": minor + "@xyo-network/diviner-forecasting-memory": minor + "@xyo-network/diviner-forecasting-method-arima": minor + "@xyo-network/diviner-forecasting-model": minor + "@xyo-network/diviner-hash-lease": minor + "@xyo-network/diviner-huri": minor + "@xyo-network/diviner-identity": minor + "@xyo-network/diviner-indexeddb": minor + "@xyo-network/diviner-indexing": minor + "@xyo-network/diviner-indexing-memory": minor + "@xyo-network/diviner-indexing-model": minor + "@xyo-network/diviner-jsonpatch": minor + "@xyo-network/diviner-jsonpatch-memory": minor + "@xyo-network/diviner-jsonpatch-model": minor + "@xyo-network/diviner-jsonpath": minor + "@xyo-network/diviner-jsonpath-aggregate": minor + "@xyo-network/diviner-jsonpath-aggregate-memory": minor + "@xyo-network/diviner-jsonpath-aggregate-model": minor + "@xyo-network/diviner-jsonpath-memory": minor + "@xyo-network/diviner-jsonpath-model": minor + "@xyo-network/diviner-model": minor + "@xyo-network/diviner-models": minor + "@xyo-network/diviner-payload": minor + "@xyo-network/diviner-payload-abstract": minor + "@xyo-network/diviner-payload-generic": minor + "@xyo-network/diviner-payload-indexeddb": minor + "@xyo-network/diviner-payload-memory": minor + "@xyo-network/diviner-payload-model": minor + "@xyo-network/diviner-payload-pointer": minor + "@xyo-network/diviner-payload-pointer-memory": minor + "@xyo-network/diviner-payload-pointer-model": minor + "@xyo-network/diviner-payload-stats": minor + "@xyo-network/diviner-payload-stats-abstract": minor + "@xyo-network/diviner-payload-stats-memory": minor + "@xyo-network/diviner-payload-stats-model": minor + "@xyo-network/diviner-range": minor + "@xyo-network/diviner-range-model": minor + "@xyo-network/diviner-schema-list": minor + "@xyo-network/diviner-schema-list-abstract": minor + "@xyo-network/diviner-schema-list-memory": minor + "@xyo-network/diviner-schema-list-model": minor + "@xyo-network/diviner-schema-stats": minor + "@xyo-network/diviner-schema-stats-abstract": minor + "@xyo-network/diviner-schema-stats-memory": minor + "@xyo-network/diviner-schema-stats-model": minor + "@xyo-network/diviner-stateful": minor + "@xyo-network/diviner-temporal-indexing": minor + "@xyo-network/diviner-temporal-indexing-memory": minor + "@xyo-network/diviner-temporal-indexing-model": minor + "@xyo-network/diviner-transform": minor + "@xyo-network/diviner-transform-abstract": minor + "@xyo-network/diviner-transform-memory": minor + "@xyo-network/diviner-transform-model": minor + "@xyo-network/diviner-wrapper": minor + "@xyo-network/dns": minor + "@xyo-network/domain-payload-plugin": minor + "@xyo-network/filesystem-archivist": minor + "@xyo-network/hash": minor + "@xyo-network/huri": minor + "@xyo-network/id-payload-plugin": minor + "@xyo-network/key-model": minor + "@xyo-network/manifest": minor + "@xyo-network/manifest-model": minor + "@xyo-network/manifest-wrapper": minor + "@xyo-network/metamask-connector": minor + "@xyo-network/module": minor + "@xyo-network/module-abstract": minor + "@xyo-network/module-event-emitter": minor + "@xyo-network/module-events": minor + "@xyo-network/module-factory-locator": minor + "@xyo-network/module-model": minor + "@xyo-network/module-resolver": minor + "@xyo-network/module-wrapper": minor + "@xyo-network/modules": minor + "@xyo-network/network": minor + "@xyo-network/node": minor + "@xyo-network/node-abstract": minor + "@xyo-network/node-memory": minor + "@xyo-network/node-model": minor + "@xyo-network/node-view": minor + "@xyo-network/node-wrapper": minor + "@xyo-network/object": minor + "@xyo-network/payload": minor + "@xyo-network/payload-builder": minor + "@xyo-network/payload-model": minor + "@xyo-network/payload-plugin": minor + "@xyo-network/payload-utils": minor + "@xyo-network/payload-validator": minor + "@xyo-network/payload-wrapper": minor + "@xyo-network/payloadset-plugin": minor + "@xyo-network/previous-hash-store": minor + "@xyo-network/previous-hash-store-indexeddb": minor + "@xyo-network/previous-hash-store-model": minor + "@xyo-network/previous-hash-store-storage": minor + "@xyo-network/protocol": minor + "@xyo-network/quadkey": minor + "@xyo-network/query-payload-plugin": minor + "@xyo-network/schema-cache": minor + "@xyo-network/schema-name-validator": minor + "@xyo-network/schema-payload-plugin": minor + "@xyo-network/sdk-js": minor + "@xyo-network/sdk-utils": minor + "@xyo-network/sentinel": minor + "@xyo-network/sentinel-abstract": minor + "@xyo-network/sentinel-memory": minor + "@xyo-network/sentinel-model": minor + "@xyo-network/sentinel-wrapper": minor + "@xyo-network/shared": minor + "@xyo-network/typeof": minor + "@xyo-network/value-payload-plugin": minor + "@xyo-network/wallet-model": minor + "@xyo-network/wasm": minor + "@xyo-network/witness": minor + "@xyo-network/witness-adhoc": minor + "@xyo-network/witness-blockchain": minor + "@xyo-network/witness-blockchain-abstract": minor + "@xyo-network/witness-environment": minor + "@xyo-network/witness-evm": minor + "@xyo-network/witness-evm-abstract": minor + "@xyo-network/witness-model": minor + "@xyo-network/witness-timestamp": minor + "@xyo-network/witness-wrapper": minor + "@xyo-network/witnesses": minor diff --git a/.yarn/versions/4ad6d7b9.yml b/.yarn/versions/4ad6d7b9.yml new file mode 100644 index 0000000000..2e6cf64087 --- /dev/null +++ b/.yarn/versions/4ad6d7b9.yml @@ -0,0 +1,189 @@ +releases: + "@xyo-network/abstract-witness": minor + "@xyo-network/account": minor + "@xyo-network/account-model": minor + "@xyo-network/address-payload-plugin": minor + "@xyo-network/api": minor + "@xyo-network/api-models": minor + "@xyo-network/archivist": minor + "@xyo-network/archivist-abstract": minor + "@xyo-network/archivist-cookie": minor + "@xyo-network/archivist-firebase": minor + "@xyo-network/archivist-indexeddb": minor + "@xyo-network/archivist-memory": minor + "@xyo-network/archivist-model": minor + "@xyo-network/archivist-storage": minor + "@xyo-network/archivist-view": minor + "@xyo-network/archivist-wrapper": minor + "@xyo-network/bip39": minor + "@xyo-network/boundwitness": minor + "@xyo-network/boundwitness-builder": minor + "@xyo-network/boundwitness-loader": minor + "@xyo-network/boundwitness-model": minor + "@xyo-network/boundwitness-validator": minor + "@xyo-network/boundwitness-wrapper": minor + "@xyo-network/bridge": minor + "@xyo-network/bridge-abstract": minor + "@xyo-network/bridge-http": minor + "@xyo-network/bridge-model": minor + "@xyo-network/bridge-module-resolver": minor + "@xyo-network/bridge-pub-sub": minor + "@xyo-network/bridge-websocket": minor + "@xyo-network/bridge-worker": minor + "@xyo-network/bridge-wrapper": minor + "@xyo-network/config-payload-plugin": minor + "@xyo-network/core": minor + "@xyo-network/core-payload-plugins": minor + "@xyo-network/data": minor + "@xyo-network/diviner": minor + "@xyo-network/diviner-abstract": minor + "@xyo-network/diviner-address-chain": minor + "@xyo-network/diviner-address-chain-abstract": minor + "@xyo-network/diviner-address-chain-memory": minor + "@xyo-network/diviner-address-chain-model": minor + "@xyo-network/diviner-address-history": minor + "@xyo-network/diviner-address-history-model": minor + "@xyo-network/diviner-address-space": minor + "@xyo-network/diviner-address-space-abstract": minor + "@xyo-network/diviner-address-space-memory": minor + "@xyo-network/diviner-address-space-model": minor + "@xyo-network/diviner-archivist": minor + "@xyo-network/diviner-boundwitness": minor + "@xyo-network/diviner-boundwitness-abstract": minor + "@xyo-network/diviner-boundwitness-indexeddb": minor + "@xyo-network/diviner-boundwitness-memory": minor + "@xyo-network/diviner-boundwitness-model": minor + "@xyo-network/diviner-boundwitness-stats": minor + "@xyo-network/diviner-boundwitness-stats-abstract": minor + "@xyo-network/diviner-boundwitness-stats-memory": minor + "@xyo-network/diviner-boundwitness-stats-model": minor + "@xyo-network/diviner-coin": minor + "@xyo-network/diviner-coin-user-locations": minor + "@xyo-network/diviner-coin-user-locations-abstract": minor + "@xyo-network/diviner-coin-user-locations-model": minor + "@xyo-network/diviner-distinct": minor + "@xyo-network/diviner-distinct-model": minor + "@xyo-network/diviner-forecasting": minor + "@xyo-network/diviner-forecasting-abstract": minor + "@xyo-network/diviner-forecasting-memory": minor + "@xyo-network/diviner-forecasting-method-arima": minor + "@xyo-network/diviner-forecasting-model": minor + "@xyo-network/diviner-hash-lease": minor + "@xyo-network/diviner-huri": minor + "@xyo-network/diviner-identity": minor + "@xyo-network/diviner-indexeddb": minor + "@xyo-network/diviner-indexing": minor + "@xyo-network/diviner-indexing-memory": minor + "@xyo-network/diviner-indexing-model": minor + "@xyo-network/diviner-jsonpatch": minor + "@xyo-network/diviner-jsonpatch-memory": minor + "@xyo-network/diviner-jsonpatch-model": minor + "@xyo-network/diviner-jsonpath": minor + "@xyo-network/diviner-jsonpath-aggregate": minor + "@xyo-network/diviner-jsonpath-aggregate-memory": minor + "@xyo-network/diviner-jsonpath-aggregate-model": minor + "@xyo-network/diviner-jsonpath-memory": minor + "@xyo-network/diviner-jsonpath-model": minor + "@xyo-network/diviner-model": minor + "@xyo-network/diviner-models": minor + "@xyo-network/diviner-payload": minor + "@xyo-network/diviner-payload-abstract": minor + "@xyo-network/diviner-payload-generic": minor + "@xyo-network/diviner-payload-indexeddb": minor + "@xyo-network/diviner-payload-memory": minor + "@xyo-network/diviner-payload-model": minor + "@xyo-network/diviner-payload-pointer": minor + "@xyo-network/diviner-payload-pointer-memory": minor + "@xyo-network/diviner-payload-pointer-model": minor + "@xyo-network/diviner-payload-stats": minor + "@xyo-network/diviner-payload-stats-abstract": minor + "@xyo-network/diviner-payload-stats-memory": minor + "@xyo-network/diviner-payload-stats-model": minor + "@xyo-network/diviner-range": minor + "@xyo-network/diviner-range-model": minor + "@xyo-network/diviner-schema-list": minor + "@xyo-network/diviner-schema-list-abstract": minor + "@xyo-network/diviner-schema-list-memory": minor + "@xyo-network/diviner-schema-list-model": minor + "@xyo-network/diviner-schema-stats": minor + "@xyo-network/diviner-schema-stats-abstract": minor + "@xyo-network/diviner-schema-stats-memory": minor + "@xyo-network/diviner-schema-stats-model": minor + "@xyo-network/diviner-stateful": minor + "@xyo-network/diviner-temporal-indexing": minor + "@xyo-network/diviner-temporal-indexing-memory": minor + "@xyo-network/diviner-temporal-indexing-model": minor + "@xyo-network/diviner-transform": minor + "@xyo-network/diviner-transform-abstract": minor + "@xyo-network/diviner-transform-memory": minor + "@xyo-network/diviner-transform-model": minor + "@xyo-network/diviner-wrapper": minor + "@xyo-network/dns": minor + "@xyo-network/domain-payload-plugin": minor + "@xyo-network/filesystem-archivist": minor + "@xyo-network/hash": minor + "@xyo-network/huri": minor + "@xyo-network/id-payload-plugin": minor + "@xyo-network/key-model": minor + "@xyo-network/manifest": minor + "@xyo-network/manifest-model": minor + "@xyo-network/manifest-wrapper": minor + "@xyo-network/metamask-connector": minor + "@xyo-network/module": minor + "@xyo-network/module-abstract": minor + "@xyo-network/module-event-emitter": minor + "@xyo-network/module-events": minor + "@xyo-network/module-factory-locator": minor + "@xyo-network/module-model": minor + "@xyo-network/module-resolver": minor + "@xyo-network/module-wrapper": minor + "@xyo-network/modules": minor + "@xyo-network/network": minor + "@xyo-network/node": minor + "@xyo-network/node-abstract": minor + "@xyo-network/node-memory": minor + "@xyo-network/node-model": minor + "@xyo-network/node-view": minor + "@xyo-network/node-wrapper": minor + "@xyo-network/object": minor + "@xyo-network/payload": minor + "@xyo-network/payload-builder": minor + "@xyo-network/payload-model": minor + "@xyo-network/payload-plugin": minor + "@xyo-network/payload-utils": minor + "@xyo-network/payload-validator": minor + "@xyo-network/payload-wrapper": minor + "@xyo-network/payloadset-plugin": minor + "@xyo-network/previous-hash-store": minor + "@xyo-network/previous-hash-store-indexeddb": minor + "@xyo-network/previous-hash-store-model": minor + "@xyo-network/previous-hash-store-storage": minor + "@xyo-network/protocol": minor + "@xyo-network/quadkey": minor + "@xyo-network/query-payload-plugin": minor + "@xyo-network/schema-cache": minor + "@xyo-network/schema-name-validator": minor + "@xyo-network/schema-payload-plugin": minor + "@xyo-network/sdk-js": minor + "@xyo-network/sdk-utils": minor + "@xyo-network/sentinel": minor + "@xyo-network/sentinel-abstract": minor + "@xyo-network/sentinel-memory": minor + "@xyo-network/sentinel-model": minor + "@xyo-network/sentinel-wrapper": minor + "@xyo-network/shared": minor + "@xyo-network/typeof": minor + "@xyo-network/value-payload-plugin": minor + "@xyo-network/wallet-model": minor + "@xyo-network/wasm": minor + "@xyo-network/witness": minor + "@xyo-network/witness-adhoc": minor + "@xyo-network/witness-blockchain": minor + "@xyo-network/witness-blockchain-abstract": minor + "@xyo-network/witness-environment": minor + "@xyo-network/witness-evm": minor + "@xyo-network/witness-evm-abstract": minor + "@xyo-network/witness-model": minor + "@xyo-network/witness-timestamp": minor + "@xyo-network/witness-wrapper": minor + "@xyo-network/witnesses": minor diff --git a/.yarn/versions/4d2432e7.yml b/.yarn/versions/4d2432e7.yml new file mode 100644 index 0000000000..2e6cf64087 --- /dev/null +++ b/.yarn/versions/4d2432e7.yml @@ -0,0 +1,189 @@ +releases: + "@xyo-network/abstract-witness": minor + "@xyo-network/account": minor + "@xyo-network/account-model": minor + "@xyo-network/address-payload-plugin": minor + "@xyo-network/api": minor + "@xyo-network/api-models": minor + "@xyo-network/archivist": minor + "@xyo-network/archivist-abstract": minor + "@xyo-network/archivist-cookie": minor + "@xyo-network/archivist-firebase": minor + "@xyo-network/archivist-indexeddb": minor + "@xyo-network/archivist-memory": minor + "@xyo-network/archivist-model": minor + "@xyo-network/archivist-storage": minor + "@xyo-network/archivist-view": minor + "@xyo-network/archivist-wrapper": minor + "@xyo-network/bip39": minor + "@xyo-network/boundwitness": minor + "@xyo-network/boundwitness-builder": minor + "@xyo-network/boundwitness-loader": minor + "@xyo-network/boundwitness-model": minor + "@xyo-network/boundwitness-validator": minor + "@xyo-network/boundwitness-wrapper": minor + "@xyo-network/bridge": minor + "@xyo-network/bridge-abstract": minor + "@xyo-network/bridge-http": minor + "@xyo-network/bridge-model": minor + "@xyo-network/bridge-module-resolver": minor + "@xyo-network/bridge-pub-sub": minor + "@xyo-network/bridge-websocket": minor + "@xyo-network/bridge-worker": minor + "@xyo-network/bridge-wrapper": minor + "@xyo-network/config-payload-plugin": minor + "@xyo-network/core": minor + "@xyo-network/core-payload-plugins": minor + "@xyo-network/data": minor + "@xyo-network/diviner": minor + "@xyo-network/diviner-abstract": minor + "@xyo-network/diviner-address-chain": minor + "@xyo-network/diviner-address-chain-abstract": minor + "@xyo-network/diviner-address-chain-memory": minor + "@xyo-network/diviner-address-chain-model": minor + "@xyo-network/diviner-address-history": minor + "@xyo-network/diviner-address-history-model": minor + "@xyo-network/diviner-address-space": minor + "@xyo-network/diviner-address-space-abstract": minor + "@xyo-network/diviner-address-space-memory": minor + "@xyo-network/diviner-address-space-model": minor + "@xyo-network/diviner-archivist": minor + "@xyo-network/diviner-boundwitness": minor + "@xyo-network/diviner-boundwitness-abstract": minor + "@xyo-network/diviner-boundwitness-indexeddb": minor + "@xyo-network/diviner-boundwitness-memory": minor + "@xyo-network/diviner-boundwitness-model": minor + "@xyo-network/diviner-boundwitness-stats": minor + "@xyo-network/diviner-boundwitness-stats-abstract": minor + "@xyo-network/diviner-boundwitness-stats-memory": minor + "@xyo-network/diviner-boundwitness-stats-model": minor + "@xyo-network/diviner-coin": minor + "@xyo-network/diviner-coin-user-locations": minor + "@xyo-network/diviner-coin-user-locations-abstract": minor + "@xyo-network/diviner-coin-user-locations-model": minor + "@xyo-network/diviner-distinct": minor + "@xyo-network/diviner-distinct-model": minor + "@xyo-network/diviner-forecasting": minor + "@xyo-network/diviner-forecasting-abstract": minor + "@xyo-network/diviner-forecasting-memory": minor + "@xyo-network/diviner-forecasting-method-arima": minor + "@xyo-network/diviner-forecasting-model": minor + "@xyo-network/diviner-hash-lease": minor + "@xyo-network/diviner-huri": minor + "@xyo-network/diviner-identity": minor + "@xyo-network/diviner-indexeddb": minor + "@xyo-network/diviner-indexing": minor + "@xyo-network/diviner-indexing-memory": minor + "@xyo-network/diviner-indexing-model": minor + "@xyo-network/diviner-jsonpatch": minor + "@xyo-network/diviner-jsonpatch-memory": minor + "@xyo-network/diviner-jsonpatch-model": minor + "@xyo-network/diviner-jsonpath": minor + "@xyo-network/diviner-jsonpath-aggregate": minor + "@xyo-network/diviner-jsonpath-aggregate-memory": minor + "@xyo-network/diviner-jsonpath-aggregate-model": minor + "@xyo-network/diviner-jsonpath-memory": minor + "@xyo-network/diviner-jsonpath-model": minor + "@xyo-network/diviner-model": minor + "@xyo-network/diviner-models": minor + "@xyo-network/diviner-payload": minor + "@xyo-network/diviner-payload-abstract": minor + "@xyo-network/diviner-payload-generic": minor + "@xyo-network/diviner-payload-indexeddb": minor + "@xyo-network/diviner-payload-memory": minor + "@xyo-network/diviner-payload-model": minor + "@xyo-network/diviner-payload-pointer": minor + "@xyo-network/diviner-payload-pointer-memory": minor + "@xyo-network/diviner-payload-pointer-model": minor + "@xyo-network/diviner-payload-stats": minor + "@xyo-network/diviner-payload-stats-abstract": minor + "@xyo-network/diviner-payload-stats-memory": minor + "@xyo-network/diviner-payload-stats-model": minor + "@xyo-network/diviner-range": minor + "@xyo-network/diviner-range-model": minor + "@xyo-network/diviner-schema-list": minor + "@xyo-network/diviner-schema-list-abstract": minor + "@xyo-network/diviner-schema-list-memory": minor + "@xyo-network/diviner-schema-list-model": minor + "@xyo-network/diviner-schema-stats": minor + "@xyo-network/diviner-schema-stats-abstract": minor + "@xyo-network/diviner-schema-stats-memory": minor + "@xyo-network/diviner-schema-stats-model": minor + "@xyo-network/diviner-stateful": minor + "@xyo-network/diviner-temporal-indexing": minor + "@xyo-network/diviner-temporal-indexing-memory": minor + "@xyo-network/diviner-temporal-indexing-model": minor + "@xyo-network/diviner-transform": minor + "@xyo-network/diviner-transform-abstract": minor + "@xyo-network/diviner-transform-memory": minor + "@xyo-network/diviner-transform-model": minor + "@xyo-network/diviner-wrapper": minor + "@xyo-network/dns": minor + "@xyo-network/domain-payload-plugin": minor + "@xyo-network/filesystem-archivist": minor + "@xyo-network/hash": minor + "@xyo-network/huri": minor + "@xyo-network/id-payload-plugin": minor + "@xyo-network/key-model": minor + "@xyo-network/manifest": minor + "@xyo-network/manifest-model": minor + "@xyo-network/manifest-wrapper": minor + "@xyo-network/metamask-connector": minor + "@xyo-network/module": minor + "@xyo-network/module-abstract": minor + "@xyo-network/module-event-emitter": minor + "@xyo-network/module-events": minor + "@xyo-network/module-factory-locator": minor + "@xyo-network/module-model": minor + "@xyo-network/module-resolver": minor + "@xyo-network/module-wrapper": minor + "@xyo-network/modules": minor + "@xyo-network/network": minor + "@xyo-network/node": minor + "@xyo-network/node-abstract": minor + "@xyo-network/node-memory": minor + "@xyo-network/node-model": minor + "@xyo-network/node-view": minor + "@xyo-network/node-wrapper": minor + "@xyo-network/object": minor + "@xyo-network/payload": minor + "@xyo-network/payload-builder": minor + "@xyo-network/payload-model": minor + "@xyo-network/payload-plugin": minor + "@xyo-network/payload-utils": minor + "@xyo-network/payload-validator": minor + "@xyo-network/payload-wrapper": minor + "@xyo-network/payloadset-plugin": minor + "@xyo-network/previous-hash-store": minor + "@xyo-network/previous-hash-store-indexeddb": minor + "@xyo-network/previous-hash-store-model": minor + "@xyo-network/previous-hash-store-storage": minor + "@xyo-network/protocol": minor + "@xyo-network/quadkey": minor + "@xyo-network/query-payload-plugin": minor + "@xyo-network/schema-cache": minor + "@xyo-network/schema-name-validator": minor + "@xyo-network/schema-payload-plugin": minor + "@xyo-network/sdk-js": minor + "@xyo-network/sdk-utils": minor + "@xyo-network/sentinel": minor + "@xyo-network/sentinel-abstract": minor + "@xyo-network/sentinel-memory": minor + "@xyo-network/sentinel-model": minor + "@xyo-network/sentinel-wrapper": minor + "@xyo-network/shared": minor + "@xyo-network/typeof": minor + "@xyo-network/value-payload-plugin": minor + "@xyo-network/wallet-model": minor + "@xyo-network/wasm": minor + "@xyo-network/witness": minor + "@xyo-network/witness-adhoc": minor + "@xyo-network/witness-blockchain": minor + "@xyo-network/witness-blockchain-abstract": minor + "@xyo-network/witness-environment": minor + "@xyo-network/witness-evm": minor + "@xyo-network/witness-evm-abstract": minor + "@xyo-network/witness-model": minor + "@xyo-network/witness-timestamp": minor + "@xyo-network/witness-wrapper": minor + "@xyo-network/witnesses": minor diff --git a/.yarn/versions/4e612fc3.yml b/.yarn/versions/4e612fc3.yml new file mode 100644 index 0000000000..2e6cf64087 --- /dev/null +++ b/.yarn/versions/4e612fc3.yml @@ -0,0 +1,189 @@ +releases: + "@xyo-network/abstract-witness": minor + "@xyo-network/account": minor + "@xyo-network/account-model": minor + "@xyo-network/address-payload-plugin": minor + "@xyo-network/api": minor + "@xyo-network/api-models": minor + "@xyo-network/archivist": minor + "@xyo-network/archivist-abstract": minor + "@xyo-network/archivist-cookie": minor + "@xyo-network/archivist-firebase": minor + "@xyo-network/archivist-indexeddb": minor + "@xyo-network/archivist-memory": minor + "@xyo-network/archivist-model": minor + "@xyo-network/archivist-storage": minor + "@xyo-network/archivist-view": minor + "@xyo-network/archivist-wrapper": minor + "@xyo-network/bip39": minor + "@xyo-network/boundwitness": minor + "@xyo-network/boundwitness-builder": minor + "@xyo-network/boundwitness-loader": minor + "@xyo-network/boundwitness-model": minor + "@xyo-network/boundwitness-validator": minor + "@xyo-network/boundwitness-wrapper": minor + "@xyo-network/bridge": minor + "@xyo-network/bridge-abstract": minor + "@xyo-network/bridge-http": minor + "@xyo-network/bridge-model": minor + "@xyo-network/bridge-module-resolver": minor + "@xyo-network/bridge-pub-sub": minor + "@xyo-network/bridge-websocket": minor + "@xyo-network/bridge-worker": minor + "@xyo-network/bridge-wrapper": minor + "@xyo-network/config-payload-plugin": minor + "@xyo-network/core": minor + "@xyo-network/core-payload-plugins": minor + "@xyo-network/data": minor + "@xyo-network/diviner": minor + "@xyo-network/diviner-abstract": minor + "@xyo-network/diviner-address-chain": minor + "@xyo-network/diviner-address-chain-abstract": minor + "@xyo-network/diviner-address-chain-memory": minor + "@xyo-network/diviner-address-chain-model": minor + "@xyo-network/diviner-address-history": minor + "@xyo-network/diviner-address-history-model": minor + "@xyo-network/diviner-address-space": minor + "@xyo-network/diviner-address-space-abstract": minor + "@xyo-network/diviner-address-space-memory": minor + "@xyo-network/diviner-address-space-model": minor + "@xyo-network/diviner-archivist": minor + "@xyo-network/diviner-boundwitness": minor + "@xyo-network/diviner-boundwitness-abstract": minor + "@xyo-network/diviner-boundwitness-indexeddb": minor + "@xyo-network/diviner-boundwitness-memory": minor + "@xyo-network/diviner-boundwitness-model": minor + "@xyo-network/diviner-boundwitness-stats": minor + "@xyo-network/diviner-boundwitness-stats-abstract": minor + "@xyo-network/diviner-boundwitness-stats-memory": minor + "@xyo-network/diviner-boundwitness-stats-model": minor + "@xyo-network/diviner-coin": minor + "@xyo-network/diviner-coin-user-locations": minor + "@xyo-network/diviner-coin-user-locations-abstract": minor + "@xyo-network/diviner-coin-user-locations-model": minor + "@xyo-network/diviner-distinct": minor + "@xyo-network/diviner-distinct-model": minor + "@xyo-network/diviner-forecasting": minor + "@xyo-network/diviner-forecasting-abstract": minor + "@xyo-network/diviner-forecasting-memory": minor + "@xyo-network/diviner-forecasting-method-arima": minor + "@xyo-network/diviner-forecasting-model": minor + "@xyo-network/diviner-hash-lease": minor + "@xyo-network/diviner-huri": minor + "@xyo-network/diviner-identity": minor + "@xyo-network/diviner-indexeddb": minor + "@xyo-network/diviner-indexing": minor + "@xyo-network/diviner-indexing-memory": minor + "@xyo-network/diviner-indexing-model": minor + "@xyo-network/diviner-jsonpatch": minor + "@xyo-network/diviner-jsonpatch-memory": minor + "@xyo-network/diviner-jsonpatch-model": minor + "@xyo-network/diviner-jsonpath": minor + "@xyo-network/diviner-jsonpath-aggregate": minor + "@xyo-network/diviner-jsonpath-aggregate-memory": minor + "@xyo-network/diviner-jsonpath-aggregate-model": minor + "@xyo-network/diviner-jsonpath-memory": minor + "@xyo-network/diviner-jsonpath-model": minor + "@xyo-network/diviner-model": minor + "@xyo-network/diviner-models": minor + "@xyo-network/diviner-payload": minor + "@xyo-network/diviner-payload-abstract": minor + "@xyo-network/diviner-payload-generic": minor + "@xyo-network/diviner-payload-indexeddb": minor + "@xyo-network/diviner-payload-memory": minor + "@xyo-network/diviner-payload-model": minor + "@xyo-network/diviner-payload-pointer": minor + "@xyo-network/diviner-payload-pointer-memory": minor + "@xyo-network/diviner-payload-pointer-model": minor + "@xyo-network/diviner-payload-stats": minor + "@xyo-network/diviner-payload-stats-abstract": minor + "@xyo-network/diviner-payload-stats-memory": minor + "@xyo-network/diviner-payload-stats-model": minor + "@xyo-network/diviner-range": minor + "@xyo-network/diviner-range-model": minor + "@xyo-network/diviner-schema-list": minor + "@xyo-network/diviner-schema-list-abstract": minor + "@xyo-network/diviner-schema-list-memory": minor + "@xyo-network/diviner-schema-list-model": minor + "@xyo-network/diviner-schema-stats": minor + "@xyo-network/diviner-schema-stats-abstract": minor + "@xyo-network/diviner-schema-stats-memory": minor + "@xyo-network/diviner-schema-stats-model": minor + "@xyo-network/diviner-stateful": minor + "@xyo-network/diviner-temporal-indexing": minor + "@xyo-network/diviner-temporal-indexing-memory": minor + "@xyo-network/diviner-temporal-indexing-model": minor + "@xyo-network/diviner-transform": minor + "@xyo-network/diviner-transform-abstract": minor + "@xyo-network/diviner-transform-memory": minor + "@xyo-network/diviner-transform-model": minor + "@xyo-network/diviner-wrapper": minor + "@xyo-network/dns": minor + "@xyo-network/domain-payload-plugin": minor + "@xyo-network/filesystem-archivist": minor + "@xyo-network/hash": minor + "@xyo-network/huri": minor + "@xyo-network/id-payload-plugin": minor + "@xyo-network/key-model": minor + "@xyo-network/manifest": minor + "@xyo-network/manifest-model": minor + "@xyo-network/manifest-wrapper": minor + "@xyo-network/metamask-connector": minor + "@xyo-network/module": minor + "@xyo-network/module-abstract": minor + "@xyo-network/module-event-emitter": minor + "@xyo-network/module-events": minor + "@xyo-network/module-factory-locator": minor + "@xyo-network/module-model": minor + "@xyo-network/module-resolver": minor + "@xyo-network/module-wrapper": minor + "@xyo-network/modules": minor + "@xyo-network/network": minor + "@xyo-network/node": minor + "@xyo-network/node-abstract": minor + "@xyo-network/node-memory": minor + "@xyo-network/node-model": minor + "@xyo-network/node-view": minor + "@xyo-network/node-wrapper": minor + "@xyo-network/object": minor + "@xyo-network/payload": minor + "@xyo-network/payload-builder": minor + "@xyo-network/payload-model": minor + "@xyo-network/payload-plugin": minor + "@xyo-network/payload-utils": minor + "@xyo-network/payload-validator": minor + "@xyo-network/payload-wrapper": minor + "@xyo-network/payloadset-plugin": minor + "@xyo-network/previous-hash-store": minor + "@xyo-network/previous-hash-store-indexeddb": minor + "@xyo-network/previous-hash-store-model": minor + "@xyo-network/previous-hash-store-storage": minor + "@xyo-network/protocol": minor + "@xyo-network/quadkey": minor + "@xyo-network/query-payload-plugin": minor + "@xyo-network/schema-cache": minor + "@xyo-network/schema-name-validator": minor + "@xyo-network/schema-payload-plugin": minor + "@xyo-network/sdk-js": minor + "@xyo-network/sdk-utils": minor + "@xyo-network/sentinel": minor + "@xyo-network/sentinel-abstract": minor + "@xyo-network/sentinel-memory": minor + "@xyo-network/sentinel-model": minor + "@xyo-network/sentinel-wrapper": minor + "@xyo-network/shared": minor + "@xyo-network/typeof": minor + "@xyo-network/value-payload-plugin": minor + "@xyo-network/wallet-model": minor + "@xyo-network/wasm": minor + "@xyo-network/witness": minor + "@xyo-network/witness-adhoc": minor + "@xyo-network/witness-blockchain": minor + "@xyo-network/witness-blockchain-abstract": minor + "@xyo-network/witness-environment": minor + "@xyo-network/witness-evm": minor + "@xyo-network/witness-evm-abstract": minor + "@xyo-network/witness-model": minor + "@xyo-network/witness-timestamp": minor + "@xyo-network/witness-wrapper": minor + "@xyo-network/witnesses": minor diff --git a/.yarn/versions/65ee6b26.yml b/.yarn/versions/65ee6b26.yml new file mode 100644 index 0000000000..2e6cf64087 --- /dev/null +++ b/.yarn/versions/65ee6b26.yml @@ -0,0 +1,189 @@ +releases: + "@xyo-network/abstract-witness": minor + "@xyo-network/account": minor + "@xyo-network/account-model": minor + "@xyo-network/address-payload-plugin": minor + "@xyo-network/api": minor + "@xyo-network/api-models": minor + "@xyo-network/archivist": minor + "@xyo-network/archivist-abstract": minor + "@xyo-network/archivist-cookie": minor + "@xyo-network/archivist-firebase": minor + "@xyo-network/archivist-indexeddb": minor + "@xyo-network/archivist-memory": minor + "@xyo-network/archivist-model": minor + "@xyo-network/archivist-storage": minor + "@xyo-network/archivist-view": minor + "@xyo-network/archivist-wrapper": minor + "@xyo-network/bip39": minor + "@xyo-network/boundwitness": minor + "@xyo-network/boundwitness-builder": minor + "@xyo-network/boundwitness-loader": minor + "@xyo-network/boundwitness-model": minor + "@xyo-network/boundwitness-validator": minor + "@xyo-network/boundwitness-wrapper": minor + "@xyo-network/bridge": minor + "@xyo-network/bridge-abstract": minor + "@xyo-network/bridge-http": minor + "@xyo-network/bridge-model": minor + "@xyo-network/bridge-module-resolver": minor + "@xyo-network/bridge-pub-sub": minor + "@xyo-network/bridge-websocket": minor + "@xyo-network/bridge-worker": minor + "@xyo-network/bridge-wrapper": minor + "@xyo-network/config-payload-plugin": minor + "@xyo-network/core": minor + "@xyo-network/core-payload-plugins": minor + "@xyo-network/data": minor + "@xyo-network/diviner": minor + "@xyo-network/diviner-abstract": minor + "@xyo-network/diviner-address-chain": minor + "@xyo-network/diviner-address-chain-abstract": minor + "@xyo-network/diviner-address-chain-memory": minor + "@xyo-network/diviner-address-chain-model": minor + "@xyo-network/diviner-address-history": minor + "@xyo-network/diviner-address-history-model": minor + "@xyo-network/diviner-address-space": minor + "@xyo-network/diviner-address-space-abstract": minor + "@xyo-network/diviner-address-space-memory": minor + "@xyo-network/diviner-address-space-model": minor + "@xyo-network/diviner-archivist": minor + "@xyo-network/diviner-boundwitness": minor + "@xyo-network/diviner-boundwitness-abstract": minor + "@xyo-network/diviner-boundwitness-indexeddb": minor + "@xyo-network/diviner-boundwitness-memory": minor + "@xyo-network/diviner-boundwitness-model": minor + "@xyo-network/diviner-boundwitness-stats": minor + "@xyo-network/diviner-boundwitness-stats-abstract": minor + "@xyo-network/diviner-boundwitness-stats-memory": minor + "@xyo-network/diviner-boundwitness-stats-model": minor + "@xyo-network/diviner-coin": minor + "@xyo-network/diviner-coin-user-locations": minor + "@xyo-network/diviner-coin-user-locations-abstract": minor + "@xyo-network/diviner-coin-user-locations-model": minor + "@xyo-network/diviner-distinct": minor + "@xyo-network/diviner-distinct-model": minor + "@xyo-network/diviner-forecasting": minor + "@xyo-network/diviner-forecasting-abstract": minor + "@xyo-network/diviner-forecasting-memory": minor + "@xyo-network/diviner-forecasting-method-arima": minor + "@xyo-network/diviner-forecasting-model": minor + "@xyo-network/diviner-hash-lease": minor + "@xyo-network/diviner-huri": minor + "@xyo-network/diviner-identity": minor + "@xyo-network/diviner-indexeddb": minor + "@xyo-network/diviner-indexing": minor + "@xyo-network/diviner-indexing-memory": minor + "@xyo-network/diviner-indexing-model": minor + "@xyo-network/diviner-jsonpatch": minor + "@xyo-network/diviner-jsonpatch-memory": minor + "@xyo-network/diviner-jsonpatch-model": minor + "@xyo-network/diviner-jsonpath": minor + "@xyo-network/diviner-jsonpath-aggregate": minor + "@xyo-network/diviner-jsonpath-aggregate-memory": minor + "@xyo-network/diviner-jsonpath-aggregate-model": minor + "@xyo-network/diviner-jsonpath-memory": minor + "@xyo-network/diviner-jsonpath-model": minor + "@xyo-network/diviner-model": minor + "@xyo-network/diviner-models": minor + "@xyo-network/diviner-payload": minor + "@xyo-network/diviner-payload-abstract": minor + "@xyo-network/diviner-payload-generic": minor + "@xyo-network/diviner-payload-indexeddb": minor + "@xyo-network/diviner-payload-memory": minor + "@xyo-network/diviner-payload-model": minor + "@xyo-network/diviner-payload-pointer": minor + "@xyo-network/diviner-payload-pointer-memory": minor + "@xyo-network/diviner-payload-pointer-model": minor + "@xyo-network/diviner-payload-stats": minor + "@xyo-network/diviner-payload-stats-abstract": minor + "@xyo-network/diviner-payload-stats-memory": minor + "@xyo-network/diviner-payload-stats-model": minor + "@xyo-network/diviner-range": minor + "@xyo-network/diviner-range-model": minor + "@xyo-network/diviner-schema-list": minor + "@xyo-network/diviner-schema-list-abstract": minor + "@xyo-network/diviner-schema-list-memory": minor + "@xyo-network/diviner-schema-list-model": minor + "@xyo-network/diviner-schema-stats": minor + "@xyo-network/diviner-schema-stats-abstract": minor + "@xyo-network/diviner-schema-stats-memory": minor + "@xyo-network/diviner-schema-stats-model": minor + "@xyo-network/diviner-stateful": minor + "@xyo-network/diviner-temporal-indexing": minor + "@xyo-network/diviner-temporal-indexing-memory": minor + "@xyo-network/diviner-temporal-indexing-model": minor + "@xyo-network/diviner-transform": minor + "@xyo-network/diviner-transform-abstract": minor + "@xyo-network/diviner-transform-memory": minor + "@xyo-network/diviner-transform-model": minor + "@xyo-network/diviner-wrapper": minor + "@xyo-network/dns": minor + "@xyo-network/domain-payload-plugin": minor + "@xyo-network/filesystem-archivist": minor + "@xyo-network/hash": minor + "@xyo-network/huri": minor + "@xyo-network/id-payload-plugin": minor + "@xyo-network/key-model": minor + "@xyo-network/manifest": minor + "@xyo-network/manifest-model": minor + "@xyo-network/manifest-wrapper": minor + "@xyo-network/metamask-connector": minor + "@xyo-network/module": minor + "@xyo-network/module-abstract": minor + "@xyo-network/module-event-emitter": minor + "@xyo-network/module-events": minor + "@xyo-network/module-factory-locator": minor + "@xyo-network/module-model": minor + "@xyo-network/module-resolver": minor + "@xyo-network/module-wrapper": minor + "@xyo-network/modules": minor + "@xyo-network/network": minor + "@xyo-network/node": minor + "@xyo-network/node-abstract": minor + "@xyo-network/node-memory": minor + "@xyo-network/node-model": minor + "@xyo-network/node-view": minor + "@xyo-network/node-wrapper": minor + "@xyo-network/object": minor + "@xyo-network/payload": minor + "@xyo-network/payload-builder": minor + "@xyo-network/payload-model": minor + "@xyo-network/payload-plugin": minor + "@xyo-network/payload-utils": minor + "@xyo-network/payload-validator": minor + "@xyo-network/payload-wrapper": minor + "@xyo-network/payloadset-plugin": minor + "@xyo-network/previous-hash-store": minor + "@xyo-network/previous-hash-store-indexeddb": minor + "@xyo-network/previous-hash-store-model": minor + "@xyo-network/previous-hash-store-storage": minor + "@xyo-network/protocol": minor + "@xyo-network/quadkey": minor + "@xyo-network/query-payload-plugin": minor + "@xyo-network/schema-cache": minor + "@xyo-network/schema-name-validator": minor + "@xyo-network/schema-payload-plugin": minor + "@xyo-network/sdk-js": minor + "@xyo-network/sdk-utils": minor + "@xyo-network/sentinel": minor + "@xyo-network/sentinel-abstract": minor + "@xyo-network/sentinel-memory": minor + "@xyo-network/sentinel-model": minor + "@xyo-network/sentinel-wrapper": minor + "@xyo-network/shared": minor + "@xyo-network/typeof": minor + "@xyo-network/value-payload-plugin": minor + "@xyo-network/wallet-model": minor + "@xyo-network/wasm": minor + "@xyo-network/witness": minor + "@xyo-network/witness-adhoc": minor + "@xyo-network/witness-blockchain": minor + "@xyo-network/witness-blockchain-abstract": minor + "@xyo-network/witness-environment": minor + "@xyo-network/witness-evm": minor + "@xyo-network/witness-evm-abstract": minor + "@xyo-network/witness-model": minor + "@xyo-network/witness-timestamp": minor + "@xyo-network/witness-wrapper": minor + "@xyo-network/witnesses": minor diff --git a/.yarn/versions/711aaee5.yml b/.yarn/versions/711aaee5.yml new file mode 100644 index 0000000000..2e6cf64087 --- /dev/null +++ b/.yarn/versions/711aaee5.yml @@ -0,0 +1,189 @@ +releases: + "@xyo-network/abstract-witness": minor + "@xyo-network/account": minor + "@xyo-network/account-model": minor + "@xyo-network/address-payload-plugin": minor + "@xyo-network/api": minor + "@xyo-network/api-models": minor + "@xyo-network/archivist": minor + "@xyo-network/archivist-abstract": minor + "@xyo-network/archivist-cookie": minor + "@xyo-network/archivist-firebase": minor + "@xyo-network/archivist-indexeddb": minor + "@xyo-network/archivist-memory": minor + "@xyo-network/archivist-model": minor + "@xyo-network/archivist-storage": minor + "@xyo-network/archivist-view": minor + "@xyo-network/archivist-wrapper": minor + "@xyo-network/bip39": minor + "@xyo-network/boundwitness": minor + "@xyo-network/boundwitness-builder": minor + "@xyo-network/boundwitness-loader": minor + "@xyo-network/boundwitness-model": minor + "@xyo-network/boundwitness-validator": minor + "@xyo-network/boundwitness-wrapper": minor + "@xyo-network/bridge": minor + "@xyo-network/bridge-abstract": minor + "@xyo-network/bridge-http": minor + "@xyo-network/bridge-model": minor + "@xyo-network/bridge-module-resolver": minor + "@xyo-network/bridge-pub-sub": minor + "@xyo-network/bridge-websocket": minor + "@xyo-network/bridge-worker": minor + "@xyo-network/bridge-wrapper": minor + "@xyo-network/config-payload-plugin": minor + "@xyo-network/core": minor + "@xyo-network/core-payload-plugins": minor + "@xyo-network/data": minor + "@xyo-network/diviner": minor + "@xyo-network/diviner-abstract": minor + "@xyo-network/diviner-address-chain": minor + "@xyo-network/diviner-address-chain-abstract": minor + "@xyo-network/diviner-address-chain-memory": minor + "@xyo-network/diviner-address-chain-model": minor + "@xyo-network/diviner-address-history": minor + "@xyo-network/diviner-address-history-model": minor + "@xyo-network/diviner-address-space": minor + "@xyo-network/diviner-address-space-abstract": minor + "@xyo-network/diviner-address-space-memory": minor + "@xyo-network/diviner-address-space-model": minor + "@xyo-network/diviner-archivist": minor + "@xyo-network/diviner-boundwitness": minor + "@xyo-network/diviner-boundwitness-abstract": minor + "@xyo-network/diviner-boundwitness-indexeddb": minor + "@xyo-network/diviner-boundwitness-memory": minor + "@xyo-network/diviner-boundwitness-model": minor + "@xyo-network/diviner-boundwitness-stats": minor + "@xyo-network/diviner-boundwitness-stats-abstract": minor + "@xyo-network/diviner-boundwitness-stats-memory": minor + "@xyo-network/diviner-boundwitness-stats-model": minor + "@xyo-network/diviner-coin": minor + "@xyo-network/diviner-coin-user-locations": minor + "@xyo-network/diviner-coin-user-locations-abstract": minor + "@xyo-network/diviner-coin-user-locations-model": minor + "@xyo-network/diviner-distinct": minor + "@xyo-network/diviner-distinct-model": minor + "@xyo-network/diviner-forecasting": minor + "@xyo-network/diviner-forecasting-abstract": minor + "@xyo-network/diviner-forecasting-memory": minor + "@xyo-network/diviner-forecasting-method-arima": minor + "@xyo-network/diviner-forecasting-model": minor + "@xyo-network/diviner-hash-lease": minor + "@xyo-network/diviner-huri": minor + "@xyo-network/diviner-identity": minor + "@xyo-network/diviner-indexeddb": minor + "@xyo-network/diviner-indexing": minor + "@xyo-network/diviner-indexing-memory": minor + "@xyo-network/diviner-indexing-model": minor + "@xyo-network/diviner-jsonpatch": minor + "@xyo-network/diviner-jsonpatch-memory": minor + "@xyo-network/diviner-jsonpatch-model": minor + "@xyo-network/diviner-jsonpath": minor + "@xyo-network/diviner-jsonpath-aggregate": minor + "@xyo-network/diviner-jsonpath-aggregate-memory": minor + "@xyo-network/diviner-jsonpath-aggregate-model": minor + "@xyo-network/diviner-jsonpath-memory": minor + "@xyo-network/diviner-jsonpath-model": minor + "@xyo-network/diviner-model": minor + "@xyo-network/diviner-models": minor + "@xyo-network/diviner-payload": minor + "@xyo-network/diviner-payload-abstract": minor + "@xyo-network/diviner-payload-generic": minor + "@xyo-network/diviner-payload-indexeddb": minor + "@xyo-network/diviner-payload-memory": minor + "@xyo-network/diviner-payload-model": minor + "@xyo-network/diviner-payload-pointer": minor + "@xyo-network/diviner-payload-pointer-memory": minor + "@xyo-network/diviner-payload-pointer-model": minor + "@xyo-network/diviner-payload-stats": minor + "@xyo-network/diviner-payload-stats-abstract": minor + "@xyo-network/diviner-payload-stats-memory": minor + "@xyo-network/diviner-payload-stats-model": minor + "@xyo-network/diviner-range": minor + "@xyo-network/diviner-range-model": minor + "@xyo-network/diviner-schema-list": minor + "@xyo-network/diviner-schema-list-abstract": minor + "@xyo-network/diviner-schema-list-memory": minor + "@xyo-network/diviner-schema-list-model": minor + "@xyo-network/diviner-schema-stats": minor + "@xyo-network/diviner-schema-stats-abstract": minor + "@xyo-network/diviner-schema-stats-memory": minor + "@xyo-network/diviner-schema-stats-model": minor + "@xyo-network/diviner-stateful": minor + "@xyo-network/diviner-temporal-indexing": minor + "@xyo-network/diviner-temporal-indexing-memory": minor + "@xyo-network/diviner-temporal-indexing-model": minor + "@xyo-network/diviner-transform": minor + "@xyo-network/diviner-transform-abstract": minor + "@xyo-network/diviner-transform-memory": minor + "@xyo-network/diviner-transform-model": minor + "@xyo-network/diviner-wrapper": minor + "@xyo-network/dns": minor + "@xyo-network/domain-payload-plugin": minor + "@xyo-network/filesystem-archivist": minor + "@xyo-network/hash": minor + "@xyo-network/huri": minor + "@xyo-network/id-payload-plugin": minor + "@xyo-network/key-model": minor + "@xyo-network/manifest": minor + "@xyo-network/manifest-model": minor + "@xyo-network/manifest-wrapper": minor + "@xyo-network/metamask-connector": minor + "@xyo-network/module": minor + "@xyo-network/module-abstract": minor + "@xyo-network/module-event-emitter": minor + "@xyo-network/module-events": minor + "@xyo-network/module-factory-locator": minor + "@xyo-network/module-model": minor + "@xyo-network/module-resolver": minor + "@xyo-network/module-wrapper": minor + "@xyo-network/modules": minor + "@xyo-network/network": minor + "@xyo-network/node": minor + "@xyo-network/node-abstract": minor + "@xyo-network/node-memory": minor + "@xyo-network/node-model": minor + "@xyo-network/node-view": minor + "@xyo-network/node-wrapper": minor + "@xyo-network/object": minor + "@xyo-network/payload": minor + "@xyo-network/payload-builder": minor + "@xyo-network/payload-model": minor + "@xyo-network/payload-plugin": minor + "@xyo-network/payload-utils": minor + "@xyo-network/payload-validator": minor + "@xyo-network/payload-wrapper": minor + "@xyo-network/payloadset-plugin": minor + "@xyo-network/previous-hash-store": minor + "@xyo-network/previous-hash-store-indexeddb": minor + "@xyo-network/previous-hash-store-model": minor + "@xyo-network/previous-hash-store-storage": minor + "@xyo-network/protocol": minor + "@xyo-network/quadkey": minor + "@xyo-network/query-payload-plugin": minor + "@xyo-network/schema-cache": minor + "@xyo-network/schema-name-validator": minor + "@xyo-network/schema-payload-plugin": minor + "@xyo-network/sdk-js": minor + "@xyo-network/sdk-utils": minor + "@xyo-network/sentinel": minor + "@xyo-network/sentinel-abstract": minor + "@xyo-network/sentinel-memory": minor + "@xyo-network/sentinel-model": minor + "@xyo-network/sentinel-wrapper": minor + "@xyo-network/shared": minor + "@xyo-network/typeof": minor + "@xyo-network/value-payload-plugin": minor + "@xyo-network/wallet-model": minor + "@xyo-network/wasm": minor + "@xyo-network/witness": minor + "@xyo-network/witness-adhoc": minor + "@xyo-network/witness-blockchain": minor + "@xyo-network/witness-blockchain-abstract": minor + "@xyo-network/witness-environment": minor + "@xyo-network/witness-evm": minor + "@xyo-network/witness-evm-abstract": minor + "@xyo-network/witness-model": minor + "@xyo-network/witness-timestamp": minor + "@xyo-network/witness-wrapper": minor + "@xyo-network/witnesses": minor diff --git a/.yarn/versions/94deb11f.yml b/.yarn/versions/94deb11f.yml new file mode 100644 index 0000000000..2e6cf64087 --- /dev/null +++ b/.yarn/versions/94deb11f.yml @@ -0,0 +1,189 @@ +releases: + "@xyo-network/abstract-witness": minor + "@xyo-network/account": minor + "@xyo-network/account-model": minor + "@xyo-network/address-payload-plugin": minor + "@xyo-network/api": minor + "@xyo-network/api-models": minor + "@xyo-network/archivist": minor + "@xyo-network/archivist-abstract": minor + "@xyo-network/archivist-cookie": minor + "@xyo-network/archivist-firebase": minor + "@xyo-network/archivist-indexeddb": minor + "@xyo-network/archivist-memory": minor + "@xyo-network/archivist-model": minor + "@xyo-network/archivist-storage": minor + "@xyo-network/archivist-view": minor + "@xyo-network/archivist-wrapper": minor + "@xyo-network/bip39": minor + "@xyo-network/boundwitness": minor + "@xyo-network/boundwitness-builder": minor + "@xyo-network/boundwitness-loader": minor + "@xyo-network/boundwitness-model": minor + "@xyo-network/boundwitness-validator": minor + "@xyo-network/boundwitness-wrapper": minor + "@xyo-network/bridge": minor + "@xyo-network/bridge-abstract": minor + "@xyo-network/bridge-http": minor + "@xyo-network/bridge-model": minor + "@xyo-network/bridge-module-resolver": minor + "@xyo-network/bridge-pub-sub": minor + "@xyo-network/bridge-websocket": minor + "@xyo-network/bridge-worker": minor + "@xyo-network/bridge-wrapper": minor + "@xyo-network/config-payload-plugin": minor + "@xyo-network/core": minor + "@xyo-network/core-payload-plugins": minor + "@xyo-network/data": minor + "@xyo-network/diviner": minor + "@xyo-network/diviner-abstract": minor + "@xyo-network/diviner-address-chain": minor + "@xyo-network/diviner-address-chain-abstract": minor + "@xyo-network/diviner-address-chain-memory": minor + "@xyo-network/diviner-address-chain-model": minor + "@xyo-network/diviner-address-history": minor + "@xyo-network/diviner-address-history-model": minor + "@xyo-network/diviner-address-space": minor + "@xyo-network/diviner-address-space-abstract": minor + "@xyo-network/diviner-address-space-memory": minor + "@xyo-network/diviner-address-space-model": minor + "@xyo-network/diviner-archivist": minor + "@xyo-network/diviner-boundwitness": minor + "@xyo-network/diviner-boundwitness-abstract": minor + "@xyo-network/diviner-boundwitness-indexeddb": minor + "@xyo-network/diviner-boundwitness-memory": minor + "@xyo-network/diviner-boundwitness-model": minor + "@xyo-network/diviner-boundwitness-stats": minor + "@xyo-network/diviner-boundwitness-stats-abstract": minor + "@xyo-network/diviner-boundwitness-stats-memory": minor + "@xyo-network/diviner-boundwitness-stats-model": minor + "@xyo-network/diviner-coin": minor + "@xyo-network/diviner-coin-user-locations": minor + "@xyo-network/diviner-coin-user-locations-abstract": minor + "@xyo-network/diviner-coin-user-locations-model": minor + "@xyo-network/diviner-distinct": minor + "@xyo-network/diviner-distinct-model": minor + "@xyo-network/diviner-forecasting": minor + "@xyo-network/diviner-forecasting-abstract": minor + "@xyo-network/diviner-forecasting-memory": minor + "@xyo-network/diviner-forecasting-method-arima": minor + "@xyo-network/diviner-forecasting-model": minor + "@xyo-network/diviner-hash-lease": minor + "@xyo-network/diviner-huri": minor + "@xyo-network/diviner-identity": minor + "@xyo-network/diviner-indexeddb": minor + "@xyo-network/diviner-indexing": minor + "@xyo-network/diviner-indexing-memory": minor + "@xyo-network/diviner-indexing-model": minor + "@xyo-network/diviner-jsonpatch": minor + "@xyo-network/diviner-jsonpatch-memory": minor + "@xyo-network/diviner-jsonpatch-model": minor + "@xyo-network/diviner-jsonpath": minor + "@xyo-network/diviner-jsonpath-aggregate": minor + "@xyo-network/diviner-jsonpath-aggregate-memory": minor + "@xyo-network/diviner-jsonpath-aggregate-model": minor + "@xyo-network/diviner-jsonpath-memory": minor + "@xyo-network/diviner-jsonpath-model": minor + "@xyo-network/diviner-model": minor + "@xyo-network/diviner-models": minor + "@xyo-network/diviner-payload": minor + "@xyo-network/diviner-payload-abstract": minor + "@xyo-network/diviner-payload-generic": minor + "@xyo-network/diviner-payload-indexeddb": minor + "@xyo-network/diviner-payload-memory": minor + "@xyo-network/diviner-payload-model": minor + "@xyo-network/diviner-payload-pointer": minor + "@xyo-network/diviner-payload-pointer-memory": minor + "@xyo-network/diviner-payload-pointer-model": minor + "@xyo-network/diviner-payload-stats": minor + "@xyo-network/diviner-payload-stats-abstract": minor + "@xyo-network/diviner-payload-stats-memory": minor + "@xyo-network/diviner-payload-stats-model": minor + "@xyo-network/diviner-range": minor + "@xyo-network/diviner-range-model": minor + "@xyo-network/diviner-schema-list": minor + "@xyo-network/diviner-schema-list-abstract": minor + "@xyo-network/diviner-schema-list-memory": minor + "@xyo-network/diviner-schema-list-model": minor + "@xyo-network/diviner-schema-stats": minor + "@xyo-network/diviner-schema-stats-abstract": minor + "@xyo-network/diviner-schema-stats-memory": minor + "@xyo-network/diviner-schema-stats-model": minor + "@xyo-network/diviner-stateful": minor + "@xyo-network/diviner-temporal-indexing": minor + "@xyo-network/diviner-temporal-indexing-memory": minor + "@xyo-network/diviner-temporal-indexing-model": minor + "@xyo-network/diviner-transform": minor + "@xyo-network/diviner-transform-abstract": minor + "@xyo-network/diviner-transform-memory": minor + "@xyo-network/diviner-transform-model": minor + "@xyo-network/diviner-wrapper": minor + "@xyo-network/dns": minor + "@xyo-network/domain-payload-plugin": minor + "@xyo-network/filesystem-archivist": minor + "@xyo-network/hash": minor + "@xyo-network/huri": minor + "@xyo-network/id-payload-plugin": minor + "@xyo-network/key-model": minor + "@xyo-network/manifest": minor + "@xyo-network/manifest-model": minor + "@xyo-network/manifest-wrapper": minor + "@xyo-network/metamask-connector": minor + "@xyo-network/module": minor + "@xyo-network/module-abstract": minor + "@xyo-network/module-event-emitter": minor + "@xyo-network/module-events": minor + "@xyo-network/module-factory-locator": minor + "@xyo-network/module-model": minor + "@xyo-network/module-resolver": minor + "@xyo-network/module-wrapper": minor + "@xyo-network/modules": minor + "@xyo-network/network": minor + "@xyo-network/node": minor + "@xyo-network/node-abstract": minor + "@xyo-network/node-memory": minor + "@xyo-network/node-model": minor + "@xyo-network/node-view": minor + "@xyo-network/node-wrapper": minor + "@xyo-network/object": minor + "@xyo-network/payload": minor + "@xyo-network/payload-builder": minor + "@xyo-network/payload-model": minor + "@xyo-network/payload-plugin": minor + "@xyo-network/payload-utils": minor + "@xyo-network/payload-validator": minor + "@xyo-network/payload-wrapper": minor + "@xyo-network/payloadset-plugin": minor + "@xyo-network/previous-hash-store": minor + "@xyo-network/previous-hash-store-indexeddb": minor + "@xyo-network/previous-hash-store-model": minor + "@xyo-network/previous-hash-store-storage": minor + "@xyo-network/protocol": minor + "@xyo-network/quadkey": minor + "@xyo-network/query-payload-plugin": minor + "@xyo-network/schema-cache": minor + "@xyo-network/schema-name-validator": minor + "@xyo-network/schema-payload-plugin": minor + "@xyo-network/sdk-js": minor + "@xyo-network/sdk-utils": minor + "@xyo-network/sentinel": minor + "@xyo-network/sentinel-abstract": minor + "@xyo-network/sentinel-memory": minor + "@xyo-network/sentinel-model": minor + "@xyo-network/sentinel-wrapper": minor + "@xyo-network/shared": minor + "@xyo-network/typeof": minor + "@xyo-network/value-payload-plugin": minor + "@xyo-network/wallet-model": minor + "@xyo-network/wasm": minor + "@xyo-network/witness": minor + "@xyo-network/witness-adhoc": minor + "@xyo-network/witness-blockchain": minor + "@xyo-network/witness-blockchain-abstract": minor + "@xyo-network/witness-environment": minor + "@xyo-network/witness-evm": minor + "@xyo-network/witness-evm-abstract": minor + "@xyo-network/witness-model": minor + "@xyo-network/witness-timestamp": minor + "@xyo-network/witness-wrapper": minor + "@xyo-network/witnesses": minor diff --git a/.yarn/versions/a115056a.yml b/.yarn/versions/a115056a.yml new file mode 100644 index 0000000000..2e6cf64087 --- /dev/null +++ b/.yarn/versions/a115056a.yml @@ -0,0 +1,189 @@ +releases: + "@xyo-network/abstract-witness": minor + "@xyo-network/account": minor + "@xyo-network/account-model": minor + "@xyo-network/address-payload-plugin": minor + "@xyo-network/api": minor + "@xyo-network/api-models": minor + "@xyo-network/archivist": minor + "@xyo-network/archivist-abstract": minor + "@xyo-network/archivist-cookie": minor + "@xyo-network/archivist-firebase": minor + "@xyo-network/archivist-indexeddb": minor + "@xyo-network/archivist-memory": minor + "@xyo-network/archivist-model": minor + "@xyo-network/archivist-storage": minor + "@xyo-network/archivist-view": minor + "@xyo-network/archivist-wrapper": minor + "@xyo-network/bip39": minor + "@xyo-network/boundwitness": minor + "@xyo-network/boundwitness-builder": minor + "@xyo-network/boundwitness-loader": minor + "@xyo-network/boundwitness-model": minor + "@xyo-network/boundwitness-validator": minor + "@xyo-network/boundwitness-wrapper": minor + "@xyo-network/bridge": minor + "@xyo-network/bridge-abstract": minor + "@xyo-network/bridge-http": minor + "@xyo-network/bridge-model": minor + "@xyo-network/bridge-module-resolver": minor + "@xyo-network/bridge-pub-sub": minor + "@xyo-network/bridge-websocket": minor + "@xyo-network/bridge-worker": minor + "@xyo-network/bridge-wrapper": minor + "@xyo-network/config-payload-plugin": minor + "@xyo-network/core": minor + "@xyo-network/core-payload-plugins": minor + "@xyo-network/data": minor + "@xyo-network/diviner": minor + "@xyo-network/diviner-abstract": minor + "@xyo-network/diviner-address-chain": minor + "@xyo-network/diviner-address-chain-abstract": minor + "@xyo-network/diviner-address-chain-memory": minor + "@xyo-network/diviner-address-chain-model": minor + "@xyo-network/diviner-address-history": minor + "@xyo-network/diviner-address-history-model": minor + "@xyo-network/diviner-address-space": minor + "@xyo-network/diviner-address-space-abstract": minor + "@xyo-network/diviner-address-space-memory": minor + "@xyo-network/diviner-address-space-model": minor + "@xyo-network/diviner-archivist": minor + "@xyo-network/diviner-boundwitness": minor + "@xyo-network/diviner-boundwitness-abstract": minor + "@xyo-network/diviner-boundwitness-indexeddb": minor + "@xyo-network/diviner-boundwitness-memory": minor + "@xyo-network/diviner-boundwitness-model": minor + "@xyo-network/diviner-boundwitness-stats": minor + "@xyo-network/diviner-boundwitness-stats-abstract": minor + "@xyo-network/diviner-boundwitness-stats-memory": minor + "@xyo-network/diviner-boundwitness-stats-model": minor + "@xyo-network/diviner-coin": minor + "@xyo-network/diviner-coin-user-locations": minor + "@xyo-network/diviner-coin-user-locations-abstract": minor + "@xyo-network/diviner-coin-user-locations-model": minor + "@xyo-network/diviner-distinct": minor + "@xyo-network/diviner-distinct-model": minor + "@xyo-network/diviner-forecasting": minor + "@xyo-network/diviner-forecasting-abstract": minor + "@xyo-network/diviner-forecasting-memory": minor + "@xyo-network/diviner-forecasting-method-arima": minor + "@xyo-network/diviner-forecasting-model": minor + "@xyo-network/diviner-hash-lease": minor + "@xyo-network/diviner-huri": minor + "@xyo-network/diviner-identity": minor + "@xyo-network/diviner-indexeddb": minor + "@xyo-network/diviner-indexing": minor + "@xyo-network/diviner-indexing-memory": minor + "@xyo-network/diviner-indexing-model": minor + "@xyo-network/diviner-jsonpatch": minor + "@xyo-network/diviner-jsonpatch-memory": minor + "@xyo-network/diviner-jsonpatch-model": minor + "@xyo-network/diviner-jsonpath": minor + "@xyo-network/diviner-jsonpath-aggregate": minor + "@xyo-network/diviner-jsonpath-aggregate-memory": minor + "@xyo-network/diviner-jsonpath-aggregate-model": minor + "@xyo-network/diviner-jsonpath-memory": minor + "@xyo-network/diviner-jsonpath-model": minor + "@xyo-network/diviner-model": minor + "@xyo-network/diviner-models": minor + "@xyo-network/diviner-payload": minor + "@xyo-network/diviner-payload-abstract": minor + "@xyo-network/diviner-payload-generic": minor + "@xyo-network/diviner-payload-indexeddb": minor + "@xyo-network/diviner-payload-memory": minor + "@xyo-network/diviner-payload-model": minor + "@xyo-network/diviner-payload-pointer": minor + "@xyo-network/diviner-payload-pointer-memory": minor + "@xyo-network/diviner-payload-pointer-model": minor + "@xyo-network/diviner-payload-stats": minor + "@xyo-network/diviner-payload-stats-abstract": minor + "@xyo-network/diviner-payload-stats-memory": minor + "@xyo-network/diviner-payload-stats-model": minor + "@xyo-network/diviner-range": minor + "@xyo-network/diviner-range-model": minor + "@xyo-network/diviner-schema-list": minor + "@xyo-network/diviner-schema-list-abstract": minor + "@xyo-network/diviner-schema-list-memory": minor + "@xyo-network/diviner-schema-list-model": minor + "@xyo-network/diviner-schema-stats": minor + "@xyo-network/diviner-schema-stats-abstract": minor + "@xyo-network/diviner-schema-stats-memory": minor + "@xyo-network/diviner-schema-stats-model": minor + "@xyo-network/diviner-stateful": minor + "@xyo-network/diviner-temporal-indexing": minor + "@xyo-network/diviner-temporal-indexing-memory": minor + "@xyo-network/diviner-temporal-indexing-model": minor + "@xyo-network/diviner-transform": minor + "@xyo-network/diviner-transform-abstract": minor + "@xyo-network/diviner-transform-memory": minor + "@xyo-network/diviner-transform-model": minor + "@xyo-network/diviner-wrapper": minor + "@xyo-network/dns": minor + "@xyo-network/domain-payload-plugin": minor + "@xyo-network/filesystem-archivist": minor + "@xyo-network/hash": minor + "@xyo-network/huri": minor + "@xyo-network/id-payload-plugin": minor + "@xyo-network/key-model": minor + "@xyo-network/manifest": minor + "@xyo-network/manifest-model": minor + "@xyo-network/manifest-wrapper": minor + "@xyo-network/metamask-connector": minor + "@xyo-network/module": minor + "@xyo-network/module-abstract": minor + "@xyo-network/module-event-emitter": minor + "@xyo-network/module-events": minor + "@xyo-network/module-factory-locator": minor + "@xyo-network/module-model": minor + "@xyo-network/module-resolver": minor + "@xyo-network/module-wrapper": minor + "@xyo-network/modules": minor + "@xyo-network/network": minor + "@xyo-network/node": minor + "@xyo-network/node-abstract": minor + "@xyo-network/node-memory": minor + "@xyo-network/node-model": minor + "@xyo-network/node-view": minor + "@xyo-network/node-wrapper": minor + "@xyo-network/object": minor + "@xyo-network/payload": minor + "@xyo-network/payload-builder": minor + "@xyo-network/payload-model": minor + "@xyo-network/payload-plugin": minor + "@xyo-network/payload-utils": minor + "@xyo-network/payload-validator": minor + "@xyo-network/payload-wrapper": minor + "@xyo-network/payloadset-plugin": minor + "@xyo-network/previous-hash-store": minor + "@xyo-network/previous-hash-store-indexeddb": minor + "@xyo-network/previous-hash-store-model": minor + "@xyo-network/previous-hash-store-storage": minor + "@xyo-network/protocol": minor + "@xyo-network/quadkey": minor + "@xyo-network/query-payload-plugin": minor + "@xyo-network/schema-cache": minor + "@xyo-network/schema-name-validator": minor + "@xyo-network/schema-payload-plugin": minor + "@xyo-network/sdk-js": minor + "@xyo-network/sdk-utils": minor + "@xyo-network/sentinel": minor + "@xyo-network/sentinel-abstract": minor + "@xyo-network/sentinel-memory": minor + "@xyo-network/sentinel-model": minor + "@xyo-network/sentinel-wrapper": minor + "@xyo-network/shared": minor + "@xyo-network/typeof": minor + "@xyo-network/value-payload-plugin": minor + "@xyo-network/wallet-model": minor + "@xyo-network/wasm": minor + "@xyo-network/witness": minor + "@xyo-network/witness-adhoc": minor + "@xyo-network/witness-blockchain": minor + "@xyo-network/witness-blockchain-abstract": minor + "@xyo-network/witness-environment": minor + "@xyo-network/witness-evm": minor + "@xyo-network/witness-evm-abstract": minor + "@xyo-network/witness-model": minor + "@xyo-network/witness-timestamp": minor + "@xyo-network/witness-wrapper": minor + "@xyo-network/witnesses": minor diff --git a/.yarn/versions/aa3b79da.yml b/.yarn/versions/aa3b79da.yml new file mode 100644 index 0000000000..2e6cf64087 --- /dev/null +++ b/.yarn/versions/aa3b79da.yml @@ -0,0 +1,189 @@ +releases: + "@xyo-network/abstract-witness": minor + "@xyo-network/account": minor + "@xyo-network/account-model": minor + "@xyo-network/address-payload-plugin": minor + "@xyo-network/api": minor + "@xyo-network/api-models": minor + "@xyo-network/archivist": minor + "@xyo-network/archivist-abstract": minor + "@xyo-network/archivist-cookie": minor + "@xyo-network/archivist-firebase": minor + "@xyo-network/archivist-indexeddb": minor + "@xyo-network/archivist-memory": minor + "@xyo-network/archivist-model": minor + "@xyo-network/archivist-storage": minor + "@xyo-network/archivist-view": minor + "@xyo-network/archivist-wrapper": minor + "@xyo-network/bip39": minor + "@xyo-network/boundwitness": minor + "@xyo-network/boundwitness-builder": minor + "@xyo-network/boundwitness-loader": minor + "@xyo-network/boundwitness-model": minor + "@xyo-network/boundwitness-validator": minor + "@xyo-network/boundwitness-wrapper": minor + "@xyo-network/bridge": minor + "@xyo-network/bridge-abstract": minor + "@xyo-network/bridge-http": minor + "@xyo-network/bridge-model": minor + "@xyo-network/bridge-module-resolver": minor + "@xyo-network/bridge-pub-sub": minor + "@xyo-network/bridge-websocket": minor + "@xyo-network/bridge-worker": minor + "@xyo-network/bridge-wrapper": minor + "@xyo-network/config-payload-plugin": minor + "@xyo-network/core": minor + "@xyo-network/core-payload-plugins": minor + "@xyo-network/data": minor + "@xyo-network/diviner": minor + "@xyo-network/diviner-abstract": minor + "@xyo-network/diviner-address-chain": minor + "@xyo-network/diviner-address-chain-abstract": minor + "@xyo-network/diviner-address-chain-memory": minor + "@xyo-network/diviner-address-chain-model": minor + "@xyo-network/diviner-address-history": minor + "@xyo-network/diviner-address-history-model": minor + "@xyo-network/diviner-address-space": minor + "@xyo-network/diviner-address-space-abstract": minor + "@xyo-network/diviner-address-space-memory": minor + "@xyo-network/diviner-address-space-model": minor + "@xyo-network/diviner-archivist": minor + "@xyo-network/diviner-boundwitness": minor + "@xyo-network/diviner-boundwitness-abstract": minor + "@xyo-network/diviner-boundwitness-indexeddb": minor + "@xyo-network/diviner-boundwitness-memory": minor + "@xyo-network/diviner-boundwitness-model": minor + "@xyo-network/diviner-boundwitness-stats": minor + "@xyo-network/diviner-boundwitness-stats-abstract": minor + "@xyo-network/diviner-boundwitness-stats-memory": minor + "@xyo-network/diviner-boundwitness-stats-model": minor + "@xyo-network/diviner-coin": minor + "@xyo-network/diviner-coin-user-locations": minor + "@xyo-network/diviner-coin-user-locations-abstract": minor + "@xyo-network/diviner-coin-user-locations-model": minor + "@xyo-network/diviner-distinct": minor + "@xyo-network/diviner-distinct-model": minor + "@xyo-network/diviner-forecasting": minor + "@xyo-network/diviner-forecasting-abstract": minor + "@xyo-network/diviner-forecasting-memory": minor + "@xyo-network/diviner-forecasting-method-arima": minor + "@xyo-network/diviner-forecasting-model": minor + "@xyo-network/diviner-hash-lease": minor + "@xyo-network/diviner-huri": minor + "@xyo-network/diviner-identity": minor + "@xyo-network/diviner-indexeddb": minor + "@xyo-network/diviner-indexing": minor + "@xyo-network/diviner-indexing-memory": minor + "@xyo-network/diviner-indexing-model": minor + "@xyo-network/diviner-jsonpatch": minor + "@xyo-network/diviner-jsonpatch-memory": minor + "@xyo-network/diviner-jsonpatch-model": minor + "@xyo-network/diviner-jsonpath": minor + "@xyo-network/diviner-jsonpath-aggregate": minor + "@xyo-network/diviner-jsonpath-aggregate-memory": minor + "@xyo-network/diviner-jsonpath-aggregate-model": minor + "@xyo-network/diviner-jsonpath-memory": minor + "@xyo-network/diviner-jsonpath-model": minor + "@xyo-network/diviner-model": minor + "@xyo-network/diviner-models": minor + "@xyo-network/diviner-payload": minor + "@xyo-network/diviner-payload-abstract": minor + "@xyo-network/diviner-payload-generic": minor + "@xyo-network/diviner-payload-indexeddb": minor + "@xyo-network/diviner-payload-memory": minor + "@xyo-network/diviner-payload-model": minor + "@xyo-network/diviner-payload-pointer": minor + "@xyo-network/diviner-payload-pointer-memory": minor + "@xyo-network/diviner-payload-pointer-model": minor + "@xyo-network/diviner-payload-stats": minor + "@xyo-network/diviner-payload-stats-abstract": minor + "@xyo-network/diviner-payload-stats-memory": minor + "@xyo-network/diviner-payload-stats-model": minor + "@xyo-network/diviner-range": minor + "@xyo-network/diviner-range-model": minor + "@xyo-network/diviner-schema-list": minor + "@xyo-network/diviner-schema-list-abstract": minor + "@xyo-network/diviner-schema-list-memory": minor + "@xyo-network/diviner-schema-list-model": minor + "@xyo-network/diviner-schema-stats": minor + "@xyo-network/diviner-schema-stats-abstract": minor + "@xyo-network/diviner-schema-stats-memory": minor + "@xyo-network/diviner-schema-stats-model": minor + "@xyo-network/diviner-stateful": minor + "@xyo-network/diviner-temporal-indexing": minor + "@xyo-network/diviner-temporal-indexing-memory": minor + "@xyo-network/diviner-temporal-indexing-model": minor + "@xyo-network/diviner-transform": minor + "@xyo-network/diviner-transform-abstract": minor + "@xyo-network/diviner-transform-memory": minor + "@xyo-network/diviner-transform-model": minor + "@xyo-network/diviner-wrapper": minor + "@xyo-network/dns": minor + "@xyo-network/domain-payload-plugin": minor + "@xyo-network/filesystem-archivist": minor + "@xyo-network/hash": minor + "@xyo-network/huri": minor + "@xyo-network/id-payload-plugin": minor + "@xyo-network/key-model": minor + "@xyo-network/manifest": minor + "@xyo-network/manifest-model": minor + "@xyo-network/manifest-wrapper": minor + "@xyo-network/metamask-connector": minor + "@xyo-network/module": minor + "@xyo-network/module-abstract": minor + "@xyo-network/module-event-emitter": minor + "@xyo-network/module-events": minor + "@xyo-network/module-factory-locator": minor + "@xyo-network/module-model": minor + "@xyo-network/module-resolver": minor + "@xyo-network/module-wrapper": minor + "@xyo-network/modules": minor + "@xyo-network/network": minor + "@xyo-network/node": minor + "@xyo-network/node-abstract": minor + "@xyo-network/node-memory": minor + "@xyo-network/node-model": minor + "@xyo-network/node-view": minor + "@xyo-network/node-wrapper": minor + "@xyo-network/object": minor + "@xyo-network/payload": minor + "@xyo-network/payload-builder": minor + "@xyo-network/payload-model": minor + "@xyo-network/payload-plugin": minor + "@xyo-network/payload-utils": minor + "@xyo-network/payload-validator": minor + "@xyo-network/payload-wrapper": minor + "@xyo-network/payloadset-plugin": minor + "@xyo-network/previous-hash-store": minor + "@xyo-network/previous-hash-store-indexeddb": minor + "@xyo-network/previous-hash-store-model": minor + "@xyo-network/previous-hash-store-storage": minor + "@xyo-network/protocol": minor + "@xyo-network/quadkey": minor + "@xyo-network/query-payload-plugin": minor + "@xyo-network/schema-cache": minor + "@xyo-network/schema-name-validator": minor + "@xyo-network/schema-payload-plugin": minor + "@xyo-network/sdk-js": minor + "@xyo-network/sdk-utils": minor + "@xyo-network/sentinel": minor + "@xyo-network/sentinel-abstract": minor + "@xyo-network/sentinel-memory": minor + "@xyo-network/sentinel-model": minor + "@xyo-network/sentinel-wrapper": minor + "@xyo-network/shared": minor + "@xyo-network/typeof": minor + "@xyo-network/value-payload-plugin": minor + "@xyo-network/wallet-model": minor + "@xyo-network/wasm": minor + "@xyo-network/witness": minor + "@xyo-network/witness-adhoc": minor + "@xyo-network/witness-blockchain": minor + "@xyo-network/witness-blockchain-abstract": minor + "@xyo-network/witness-environment": minor + "@xyo-network/witness-evm": minor + "@xyo-network/witness-evm-abstract": minor + "@xyo-network/witness-model": minor + "@xyo-network/witness-timestamp": minor + "@xyo-network/witness-wrapper": minor + "@xyo-network/witnesses": minor diff --git a/.yarn/versions/acbcdc08.yml b/.yarn/versions/acbcdc08.yml new file mode 100644 index 0000000000..2e6cf64087 --- /dev/null +++ b/.yarn/versions/acbcdc08.yml @@ -0,0 +1,189 @@ +releases: + "@xyo-network/abstract-witness": minor + "@xyo-network/account": minor + "@xyo-network/account-model": minor + "@xyo-network/address-payload-plugin": minor + "@xyo-network/api": minor + "@xyo-network/api-models": minor + "@xyo-network/archivist": minor + "@xyo-network/archivist-abstract": minor + "@xyo-network/archivist-cookie": minor + "@xyo-network/archivist-firebase": minor + "@xyo-network/archivist-indexeddb": minor + "@xyo-network/archivist-memory": minor + "@xyo-network/archivist-model": minor + "@xyo-network/archivist-storage": minor + "@xyo-network/archivist-view": minor + "@xyo-network/archivist-wrapper": minor + "@xyo-network/bip39": minor + "@xyo-network/boundwitness": minor + "@xyo-network/boundwitness-builder": minor + "@xyo-network/boundwitness-loader": minor + "@xyo-network/boundwitness-model": minor + "@xyo-network/boundwitness-validator": minor + "@xyo-network/boundwitness-wrapper": minor + "@xyo-network/bridge": minor + "@xyo-network/bridge-abstract": minor + "@xyo-network/bridge-http": minor + "@xyo-network/bridge-model": minor + "@xyo-network/bridge-module-resolver": minor + "@xyo-network/bridge-pub-sub": minor + "@xyo-network/bridge-websocket": minor + "@xyo-network/bridge-worker": minor + "@xyo-network/bridge-wrapper": minor + "@xyo-network/config-payload-plugin": minor + "@xyo-network/core": minor + "@xyo-network/core-payload-plugins": minor + "@xyo-network/data": minor + "@xyo-network/diviner": minor + "@xyo-network/diviner-abstract": minor + "@xyo-network/diviner-address-chain": minor + "@xyo-network/diviner-address-chain-abstract": minor + "@xyo-network/diviner-address-chain-memory": minor + "@xyo-network/diviner-address-chain-model": minor + "@xyo-network/diviner-address-history": minor + "@xyo-network/diviner-address-history-model": minor + "@xyo-network/diviner-address-space": minor + "@xyo-network/diviner-address-space-abstract": minor + "@xyo-network/diviner-address-space-memory": minor + "@xyo-network/diviner-address-space-model": minor + "@xyo-network/diviner-archivist": minor + "@xyo-network/diviner-boundwitness": minor + "@xyo-network/diviner-boundwitness-abstract": minor + "@xyo-network/diviner-boundwitness-indexeddb": minor + "@xyo-network/diviner-boundwitness-memory": minor + "@xyo-network/diviner-boundwitness-model": minor + "@xyo-network/diviner-boundwitness-stats": minor + "@xyo-network/diviner-boundwitness-stats-abstract": minor + "@xyo-network/diviner-boundwitness-stats-memory": minor + "@xyo-network/diviner-boundwitness-stats-model": minor + "@xyo-network/diviner-coin": minor + "@xyo-network/diviner-coin-user-locations": minor + "@xyo-network/diviner-coin-user-locations-abstract": minor + "@xyo-network/diviner-coin-user-locations-model": minor + "@xyo-network/diviner-distinct": minor + "@xyo-network/diviner-distinct-model": minor + "@xyo-network/diviner-forecasting": minor + "@xyo-network/diviner-forecasting-abstract": minor + "@xyo-network/diviner-forecasting-memory": minor + "@xyo-network/diviner-forecasting-method-arima": minor + "@xyo-network/diviner-forecasting-model": minor + "@xyo-network/diviner-hash-lease": minor + "@xyo-network/diviner-huri": minor + "@xyo-network/diviner-identity": minor + "@xyo-network/diviner-indexeddb": minor + "@xyo-network/diviner-indexing": minor + "@xyo-network/diviner-indexing-memory": minor + "@xyo-network/diviner-indexing-model": minor + "@xyo-network/diviner-jsonpatch": minor + "@xyo-network/diviner-jsonpatch-memory": minor + "@xyo-network/diviner-jsonpatch-model": minor + "@xyo-network/diviner-jsonpath": minor + "@xyo-network/diviner-jsonpath-aggregate": minor + "@xyo-network/diviner-jsonpath-aggregate-memory": minor + "@xyo-network/diviner-jsonpath-aggregate-model": minor + "@xyo-network/diviner-jsonpath-memory": minor + "@xyo-network/diviner-jsonpath-model": minor + "@xyo-network/diviner-model": minor + "@xyo-network/diviner-models": minor + "@xyo-network/diviner-payload": minor + "@xyo-network/diviner-payload-abstract": minor + "@xyo-network/diviner-payload-generic": minor + "@xyo-network/diviner-payload-indexeddb": minor + "@xyo-network/diviner-payload-memory": minor + "@xyo-network/diviner-payload-model": minor + "@xyo-network/diviner-payload-pointer": minor + "@xyo-network/diviner-payload-pointer-memory": minor + "@xyo-network/diviner-payload-pointer-model": minor + "@xyo-network/diviner-payload-stats": minor + "@xyo-network/diviner-payload-stats-abstract": minor + "@xyo-network/diviner-payload-stats-memory": minor + "@xyo-network/diviner-payload-stats-model": minor + "@xyo-network/diviner-range": minor + "@xyo-network/diviner-range-model": minor + "@xyo-network/diviner-schema-list": minor + "@xyo-network/diviner-schema-list-abstract": minor + "@xyo-network/diviner-schema-list-memory": minor + "@xyo-network/diviner-schema-list-model": minor + "@xyo-network/diviner-schema-stats": minor + "@xyo-network/diviner-schema-stats-abstract": minor + "@xyo-network/diviner-schema-stats-memory": minor + "@xyo-network/diviner-schema-stats-model": minor + "@xyo-network/diviner-stateful": minor + "@xyo-network/diviner-temporal-indexing": minor + "@xyo-network/diviner-temporal-indexing-memory": minor + "@xyo-network/diviner-temporal-indexing-model": minor + "@xyo-network/diviner-transform": minor + "@xyo-network/diviner-transform-abstract": minor + "@xyo-network/diviner-transform-memory": minor + "@xyo-network/diviner-transform-model": minor + "@xyo-network/diviner-wrapper": minor + "@xyo-network/dns": minor + "@xyo-network/domain-payload-plugin": minor + "@xyo-network/filesystem-archivist": minor + "@xyo-network/hash": minor + "@xyo-network/huri": minor + "@xyo-network/id-payload-plugin": minor + "@xyo-network/key-model": minor + "@xyo-network/manifest": minor + "@xyo-network/manifest-model": minor + "@xyo-network/manifest-wrapper": minor + "@xyo-network/metamask-connector": minor + "@xyo-network/module": minor + "@xyo-network/module-abstract": minor + "@xyo-network/module-event-emitter": minor + "@xyo-network/module-events": minor + "@xyo-network/module-factory-locator": minor + "@xyo-network/module-model": minor + "@xyo-network/module-resolver": minor + "@xyo-network/module-wrapper": minor + "@xyo-network/modules": minor + "@xyo-network/network": minor + "@xyo-network/node": minor + "@xyo-network/node-abstract": minor + "@xyo-network/node-memory": minor + "@xyo-network/node-model": minor + "@xyo-network/node-view": minor + "@xyo-network/node-wrapper": minor + "@xyo-network/object": minor + "@xyo-network/payload": minor + "@xyo-network/payload-builder": minor + "@xyo-network/payload-model": minor + "@xyo-network/payload-plugin": minor + "@xyo-network/payload-utils": minor + "@xyo-network/payload-validator": minor + "@xyo-network/payload-wrapper": minor + "@xyo-network/payloadset-plugin": minor + "@xyo-network/previous-hash-store": minor + "@xyo-network/previous-hash-store-indexeddb": minor + "@xyo-network/previous-hash-store-model": minor + "@xyo-network/previous-hash-store-storage": minor + "@xyo-network/protocol": minor + "@xyo-network/quadkey": minor + "@xyo-network/query-payload-plugin": minor + "@xyo-network/schema-cache": minor + "@xyo-network/schema-name-validator": minor + "@xyo-network/schema-payload-plugin": minor + "@xyo-network/sdk-js": minor + "@xyo-network/sdk-utils": minor + "@xyo-network/sentinel": minor + "@xyo-network/sentinel-abstract": minor + "@xyo-network/sentinel-memory": minor + "@xyo-network/sentinel-model": minor + "@xyo-network/sentinel-wrapper": minor + "@xyo-network/shared": minor + "@xyo-network/typeof": minor + "@xyo-network/value-payload-plugin": minor + "@xyo-network/wallet-model": minor + "@xyo-network/wasm": minor + "@xyo-network/witness": minor + "@xyo-network/witness-adhoc": minor + "@xyo-network/witness-blockchain": minor + "@xyo-network/witness-blockchain-abstract": minor + "@xyo-network/witness-environment": minor + "@xyo-network/witness-evm": minor + "@xyo-network/witness-evm-abstract": minor + "@xyo-network/witness-model": minor + "@xyo-network/witness-timestamp": minor + "@xyo-network/witness-wrapper": minor + "@xyo-network/witnesses": minor diff --git a/.yarn/versions/b4b7cace.yml b/.yarn/versions/b4b7cace.yml new file mode 100644 index 0000000000..2e6cf64087 --- /dev/null +++ b/.yarn/versions/b4b7cace.yml @@ -0,0 +1,189 @@ +releases: + "@xyo-network/abstract-witness": minor + "@xyo-network/account": minor + "@xyo-network/account-model": minor + "@xyo-network/address-payload-plugin": minor + "@xyo-network/api": minor + "@xyo-network/api-models": minor + "@xyo-network/archivist": minor + "@xyo-network/archivist-abstract": minor + "@xyo-network/archivist-cookie": minor + "@xyo-network/archivist-firebase": minor + "@xyo-network/archivist-indexeddb": minor + "@xyo-network/archivist-memory": minor + "@xyo-network/archivist-model": minor + "@xyo-network/archivist-storage": minor + "@xyo-network/archivist-view": minor + "@xyo-network/archivist-wrapper": minor + "@xyo-network/bip39": minor + "@xyo-network/boundwitness": minor + "@xyo-network/boundwitness-builder": minor + "@xyo-network/boundwitness-loader": minor + "@xyo-network/boundwitness-model": minor + "@xyo-network/boundwitness-validator": minor + "@xyo-network/boundwitness-wrapper": minor + "@xyo-network/bridge": minor + "@xyo-network/bridge-abstract": minor + "@xyo-network/bridge-http": minor + "@xyo-network/bridge-model": minor + "@xyo-network/bridge-module-resolver": minor + "@xyo-network/bridge-pub-sub": minor + "@xyo-network/bridge-websocket": minor + "@xyo-network/bridge-worker": minor + "@xyo-network/bridge-wrapper": minor + "@xyo-network/config-payload-plugin": minor + "@xyo-network/core": minor + "@xyo-network/core-payload-plugins": minor + "@xyo-network/data": minor + "@xyo-network/diviner": minor + "@xyo-network/diviner-abstract": minor + "@xyo-network/diviner-address-chain": minor + "@xyo-network/diviner-address-chain-abstract": minor + "@xyo-network/diviner-address-chain-memory": minor + "@xyo-network/diviner-address-chain-model": minor + "@xyo-network/diviner-address-history": minor + "@xyo-network/diviner-address-history-model": minor + "@xyo-network/diviner-address-space": minor + "@xyo-network/diviner-address-space-abstract": minor + "@xyo-network/diviner-address-space-memory": minor + "@xyo-network/diviner-address-space-model": minor + "@xyo-network/diviner-archivist": minor + "@xyo-network/diviner-boundwitness": minor + "@xyo-network/diviner-boundwitness-abstract": minor + "@xyo-network/diviner-boundwitness-indexeddb": minor + "@xyo-network/diviner-boundwitness-memory": minor + "@xyo-network/diviner-boundwitness-model": minor + "@xyo-network/diviner-boundwitness-stats": minor + "@xyo-network/diviner-boundwitness-stats-abstract": minor + "@xyo-network/diviner-boundwitness-stats-memory": minor + "@xyo-network/diviner-boundwitness-stats-model": minor + "@xyo-network/diviner-coin": minor + "@xyo-network/diviner-coin-user-locations": minor + "@xyo-network/diviner-coin-user-locations-abstract": minor + "@xyo-network/diviner-coin-user-locations-model": minor + "@xyo-network/diviner-distinct": minor + "@xyo-network/diviner-distinct-model": minor + "@xyo-network/diviner-forecasting": minor + "@xyo-network/diviner-forecasting-abstract": minor + "@xyo-network/diviner-forecasting-memory": minor + "@xyo-network/diviner-forecasting-method-arima": minor + "@xyo-network/diviner-forecasting-model": minor + "@xyo-network/diviner-hash-lease": minor + "@xyo-network/diviner-huri": minor + "@xyo-network/diviner-identity": minor + "@xyo-network/diviner-indexeddb": minor + "@xyo-network/diviner-indexing": minor + "@xyo-network/diviner-indexing-memory": minor + "@xyo-network/diviner-indexing-model": minor + "@xyo-network/diviner-jsonpatch": minor + "@xyo-network/diviner-jsonpatch-memory": minor + "@xyo-network/diviner-jsonpatch-model": minor + "@xyo-network/diviner-jsonpath": minor + "@xyo-network/diviner-jsonpath-aggregate": minor + "@xyo-network/diviner-jsonpath-aggregate-memory": minor + "@xyo-network/diviner-jsonpath-aggregate-model": minor + "@xyo-network/diviner-jsonpath-memory": minor + "@xyo-network/diviner-jsonpath-model": minor + "@xyo-network/diviner-model": minor + "@xyo-network/diviner-models": minor + "@xyo-network/diviner-payload": minor + "@xyo-network/diviner-payload-abstract": minor + "@xyo-network/diviner-payload-generic": minor + "@xyo-network/diviner-payload-indexeddb": minor + "@xyo-network/diviner-payload-memory": minor + "@xyo-network/diviner-payload-model": minor + "@xyo-network/diviner-payload-pointer": minor + "@xyo-network/diviner-payload-pointer-memory": minor + "@xyo-network/diviner-payload-pointer-model": minor + "@xyo-network/diviner-payload-stats": minor + "@xyo-network/diviner-payload-stats-abstract": minor + "@xyo-network/diviner-payload-stats-memory": minor + "@xyo-network/diviner-payload-stats-model": minor + "@xyo-network/diviner-range": minor + "@xyo-network/diviner-range-model": minor + "@xyo-network/diviner-schema-list": minor + "@xyo-network/diviner-schema-list-abstract": minor + "@xyo-network/diviner-schema-list-memory": minor + "@xyo-network/diviner-schema-list-model": minor + "@xyo-network/diviner-schema-stats": minor + "@xyo-network/diviner-schema-stats-abstract": minor + "@xyo-network/diviner-schema-stats-memory": minor + "@xyo-network/diviner-schema-stats-model": minor + "@xyo-network/diviner-stateful": minor + "@xyo-network/diviner-temporal-indexing": minor + "@xyo-network/diviner-temporal-indexing-memory": minor + "@xyo-network/diviner-temporal-indexing-model": minor + "@xyo-network/diviner-transform": minor + "@xyo-network/diviner-transform-abstract": minor + "@xyo-network/diviner-transform-memory": minor + "@xyo-network/diviner-transform-model": minor + "@xyo-network/diviner-wrapper": minor + "@xyo-network/dns": minor + "@xyo-network/domain-payload-plugin": minor + "@xyo-network/filesystem-archivist": minor + "@xyo-network/hash": minor + "@xyo-network/huri": minor + "@xyo-network/id-payload-plugin": minor + "@xyo-network/key-model": minor + "@xyo-network/manifest": minor + "@xyo-network/manifest-model": minor + "@xyo-network/manifest-wrapper": minor + "@xyo-network/metamask-connector": minor + "@xyo-network/module": minor + "@xyo-network/module-abstract": minor + "@xyo-network/module-event-emitter": minor + "@xyo-network/module-events": minor + "@xyo-network/module-factory-locator": minor + "@xyo-network/module-model": minor + "@xyo-network/module-resolver": minor + "@xyo-network/module-wrapper": minor + "@xyo-network/modules": minor + "@xyo-network/network": minor + "@xyo-network/node": minor + "@xyo-network/node-abstract": minor + "@xyo-network/node-memory": minor + "@xyo-network/node-model": minor + "@xyo-network/node-view": minor + "@xyo-network/node-wrapper": minor + "@xyo-network/object": minor + "@xyo-network/payload": minor + "@xyo-network/payload-builder": minor + "@xyo-network/payload-model": minor + "@xyo-network/payload-plugin": minor + "@xyo-network/payload-utils": minor + "@xyo-network/payload-validator": minor + "@xyo-network/payload-wrapper": minor + "@xyo-network/payloadset-plugin": minor + "@xyo-network/previous-hash-store": minor + "@xyo-network/previous-hash-store-indexeddb": minor + "@xyo-network/previous-hash-store-model": minor + "@xyo-network/previous-hash-store-storage": minor + "@xyo-network/protocol": minor + "@xyo-network/quadkey": minor + "@xyo-network/query-payload-plugin": minor + "@xyo-network/schema-cache": minor + "@xyo-network/schema-name-validator": minor + "@xyo-network/schema-payload-plugin": minor + "@xyo-network/sdk-js": minor + "@xyo-network/sdk-utils": minor + "@xyo-network/sentinel": minor + "@xyo-network/sentinel-abstract": minor + "@xyo-network/sentinel-memory": minor + "@xyo-network/sentinel-model": minor + "@xyo-network/sentinel-wrapper": minor + "@xyo-network/shared": minor + "@xyo-network/typeof": minor + "@xyo-network/value-payload-plugin": minor + "@xyo-network/wallet-model": minor + "@xyo-network/wasm": minor + "@xyo-network/witness": minor + "@xyo-network/witness-adhoc": minor + "@xyo-network/witness-blockchain": minor + "@xyo-network/witness-blockchain-abstract": minor + "@xyo-network/witness-environment": minor + "@xyo-network/witness-evm": minor + "@xyo-network/witness-evm-abstract": minor + "@xyo-network/witness-model": minor + "@xyo-network/witness-timestamp": minor + "@xyo-network/witness-wrapper": minor + "@xyo-network/witnesses": minor diff --git a/.yarn/versions/b7a18226.yml b/.yarn/versions/b7a18226.yml new file mode 100644 index 0000000000..2e6cf64087 --- /dev/null +++ b/.yarn/versions/b7a18226.yml @@ -0,0 +1,189 @@ +releases: + "@xyo-network/abstract-witness": minor + "@xyo-network/account": minor + "@xyo-network/account-model": minor + "@xyo-network/address-payload-plugin": minor + "@xyo-network/api": minor + "@xyo-network/api-models": minor + "@xyo-network/archivist": minor + "@xyo-network/archivist-abstract": minor + "@xyo-network/archivist-cookie": minor + "@xyo-network/archivist-firebase": minor + "@xyo-network/archivist-indexeddb": minor + "@xyo-network/archivist-memory": minor + "@xyo-network/archivist-model": minor + "@xyo-network/archivist-storage": minor + "@xyo-network/archivist-view": minor + "@xyo-network/archivist-wrapper": minor + "@xyo-network/bip39": minor + "@xyo-network/boundwitness": minor + "@xyo-network/boundwitness-builder": minor + "@xyo-network/boundwitness-loader": minor + "@xyo-network/boundwitness-model": minor + "@xyo-network/boundwitness-validator": minor + "@xyo-network/boundwitness-wrapper": minor + "@xyo-network/bridge": minor + "@xyo-network/bridge-abstract": minor + "@xyo-network/bridge-http": minor + "@xyo-network/bridge-model": minor + "@xyo-network/bridge-module-resolver": minor + "@xyo-network/bridge-pub-sub": minor + "@xyo-network/bridge-websocket": minor + "@xyo-network/bridge-worker": minor + "@xyo-network/bridge-wrapper": minor + "@xyo-network/config-payload-plugin": minor + "@xyo-network/core": minor + "@xyo-network/core-payload-plugins": minor + "@xyo-network/data": minor + "@xyo-network/diviner": minor + "@xyo-network/diviner-abstract": minor + "@xyo-network/diviner-address-chain": minor + "@xyo-network/diviner-address-chain-abstract": minor + "@xyo-network/diviner-address-chain-memory": minor + "@xyo-network/diviner-address-chain-model": minor + "@xyo-network/diviner-address-history": minor + "@xyo-network/diviner-address-history-model": minor + "@xyo-network/diviner-address-space": minor + "@xyo-network/diviner-address-space-abstract": minor + "@xyo-network/diviner-address-space-memory": minor + "@xyo-network/diviner-address-space-model": minor + "@xyo-network/diviner-archivist": minor + "@xyo-network/diviner-boundwitness": minor + "@xyo-network/diviner-boundwitness-abstract": minor + "@xyo-network/diviner-boundwitness-indexeddb": minor + "@xyo-network/diviner-boundwitness-memory": minor + "@xyo-network/diviner-boundwitness-model": minor + "@xyo-network/diviner-boundwitness-stats": minor + "@xyo-network/diviner-boundwitness-stats-abstract": minor + "@xyo-network/diviner-boundwitness-stats-memory": minor + "@xyo-network/diviner-boundwitness-stats-model": minor + "@xyo-network/diviner-coin": minor + "@xyo-network/diviner-coin-user-locations": minor + "@xyo-network/diviner-coin-user-locations-abstract": minor + "@xyo-network/diviner-coin-user-locations-model": minor + "@xyo-network/diviner-distinct": minor + "@xyo-network/diviner-distinct-model": minor + "@xyo-network/diviner-forecasting": minor + "@xyo-network/diviner-forecasting-abstract": minor + "@xyo-network/diviner-forecasting-memory": minor + "@xyo-network/diviner-forecasting-method-arima": minor + "@xyo-network/diviner-forecasting-model": minor + "@xyo-network/diviner-hash-lease": minor + "@xyo-network/diviner-huri": minor + "@xyo-network/diviner-identity": minor + "@xyo-network/diviner-indexeddb": minor + "@xyo-network/diviner-indexing": minor + "@xyo-network/diviner-indexing-memory": minor + "@xyo-network/diviner-indexing-model": minor + "@xyo-network/diviner-jsonpatch": minor + "@xyo-network/diviner-jsonpatch-memory": minor + "@xyo-network/diviner-jsonpatch-model": minor + "@xyo-network/diviner-jsonpath": minor + "@xyo-network/diviner-jsonpath-aggregate": minor + "@xyo-network/diviner-jsonpath-aggregate-memory": minor + "@xyo-network/diviner-jsonpath-aggregate-model": minor + "@xyo-network/diviner-jsonpath-memory": minor + "@xyo-network/diviner-jsonpath-model": minor + "@xyo-network/diviner-model": minor + "@xyo-network/diviner-models": minor + "@xyo-network/diviner-payload": minor + "@xyo-network/diviner-payload-abstract": minor + "@xyo-network/diviner-payload-generic": minor + "@xyo-network/diviner-payload-indexeddb": minor + "@xyo-network/diviner-payload-memory": minor + "@xyo-network/diviner-payload-model": minor + "@xyo-network/diviner-payload-pointer": minor + "@xyo-network/diviner-payload-pointer-memory": minor + "@xyo-network/diviner-payload-pointer-model": minor + "@xyo-network/diviner-payload-stats": minor + "@xyo-network/diviner-payload-stats-abstract": minor + "@xyo-network/diviner-payload-stats-memory": minor + "@xyo-network/diviner-payload-stats-model": minor + "@xyo-network/diviner-range": minor + "@xyo-network/diviner-range-model": minor + "@xyo-network/diviner-schema-list": minor + "@xyo-network/diviner-schema-list-abstract": minor + "@xyo-network/diviner-schema-list-memory": minor + "@xyo-network/diviner-schema-list-model": minor + "@xyo-network/diviner-schema-stats": minor + "@xyo-network/diviner-schema-stats-abstract": minor + "@xyo-network/diviner-schema-stats-memory": minor + "@xyo-network/diviner-schema-stats-model": minor + "@xyo-network/diviner-stateful": minor + "@xyo-network/diviner-temporal-indexing": minor + "@xyo-network/diviner-temporal-indexing-memory": minor + "@xyo-network/diviner-temporal-indexing-model": minor + "@xyo-network/diviner-transform": minor + "@xyo-network/diviner-transform-abstract": minor + "@xyo-network/diviner-transform-memory": minor + "@xyo-network/diviner-transform-model": minor + "@xyo-network/diviner-wrapper": minor + "@xyo-network/dns": minor + "@xyo-network/domain-payload-plugin": minor + "@xyo-network/filesystem-archivist": minor + "@xyo-network/hash": minor + "@xyo-network/huri": minor + "@xyo-network/id-payload-plugin": minor + "@xyo-network/key-model": minor + "@xyo-network/manifest": minor + "@xyo-network/manifest-model": minor + "@xyo-network/manifest-wrapper": minor + "@xyo-network/metamask-connector": minor + "@xyo-network/module": minor + "@xyo-network/module-abstract": minor + "@xyo-network/module-event-emitter": minor + "@xyo-network/module-events": minor + "@xyo-network/module-factory-locator": minor + "@xyo-network/module-model": minor + "@xyo-network/module-resolver": minor + "@xyo-network/module-wrapper": minor + "@xyo-network/modules": minor + "@xyo-network/network": minor + "@xyo-network/node": minor + "@xyo-network/node-abstract": minor + "@xyo-network/node-memory": minor + "@xyo-network/node-model": minor + "@xyo-network/node-view": minor + "@xyo-network/node-wrapper": minor + "@xyo-network/object": minor + "@xyo-network/payload": minor + "@xyo-network/payload-builder": minor + "@xyo-network/payload-model": minor + "@xyo-network/payload-plugin": minor + "@xyo-network/payload-utils": minor + "@xyo-network/payload-validator": minor + "@xyo-network/payload-wrapper": minor + "@xyo-network/payloadset-plugin": minor + "@xyo-network/previous-hash-store": minor + "@xyo-network/previous-hash-store-indexeddb": minor + "@xyo-network/previous-hash-store-model": minor + "@xyo-network/previous-hash-store-storage": minor + "@xyo-network/protocol": minor + "@xyo-network/quadkey": minor + "@xyo-network/query-payload-plugin": minor + "@xyo-network/schema-cache": minor + "@xyo-network/schema-name-validator": minor + "@xyo-network/schema-payload-plugin": minor + "@xyo-network/sdk-js": minor + "@xyo-network/sdk-utils": minor + "@xyo-network/sentinel": minor + "@xyo-network/sentinel-abstract": minor + "@xyo-network/sentinel-memory": minor + "@xyo-network/sentinel-model": minor + "@xyo-network/sentinel-wrapper": minor + "@xyo-network/shared": minor + "@xyo-network/typeof": minor + "@xyo-network/value-payload-plugin": minor + "@xyo-network/wallet-model": minor + "@xyo-network/wasm": minor + "@xyo-network/witness": minor + "@xyo-network/witness-adhoc": minor + "@xyo-network/witness-blockchain": minor + "@xyo-network/witness-blockchain-abstract": minor + "@xyo-network/witness-environment": minor + "@xyo-network/witness-evm": minor + "@xyo-network/witness-evm-abstract": minor + "@xyo-network/witness-model": minor + "@xyo-network/witness-timestamp": minor + "@xyo-network/witness-wrapper": minor + "@xyo-network/witnesses": minor diff --git a/.yarn/versions/be71c441.yml b/.yarn/versions/be71c441.yml new file mode 100644 index 0000000000..2e6cf64087 --- /dev/null +++ b/.yarn/versions/be71c441.yml @@ -0,0 +1,189 @@ +releases: + "@xyo-network/abstract-witness": minor + "@xyo-network/account": minor + "@xyo-network/account-model": minor + "@xyo-network/address-payload-plugin": minor + "@xyo-network/api": minor + "@xyo-network/api-models": minor + "@xyo-network/archivist": minor + "@xyo-network/archivist-abstract": minor + "@xyo-network/archivist-cookie": minor + "@xyo-network/archivist-firebase": minor + "@xyo-network/archivist-indexeddb": minor + "@xyo-network/archivist-memory": minor + "@xyo-network/archivist-model": minor + "@xyo-network/archivist-storage": minor + "@xyo-network/archivist-view": minor + "@xyo-network/archivist-wrapper": minor + "@xyo-network/bip39": minor + "@xyo-network/boundwitness": minor + "@xyo-network/boundwitness-builder": minor + "@xyo-network/boundwitness-loader": minor + "@xyo-network/boundwitness-model": minor + "@xyo-network/boundwitness-validator": minor + "@xyo-network/boundwitness-wrapper": minor + "@xyo-network/bridge": minor + "@xyo-network/bridge-abstract": minor + "@xyo-network/bridge-http": minor + "@xyo-network/bridge-model": minor + "@xyo-network/bridge-module-resolver": minor + "@xyo-network/bridge-pub-sub": minor + "@xyo-network/bridge-websocket": minor + "@xyo-network/bridge-worker": minor + "@xyo-network/bridge-wrapper": minor + "@xyo-network/config-payload-plugin": minor + "@xyo-network/core": minor + "@xyo-network/core-payload-plugins": minor + "@xyo-network/data": minor + "@xyo-network/diviner": minor + "@xyo-network/diviner-abstract": minor + "@xyo-network/diviner-address-chain": minor + "@xyo-network/diviner-address-chain-abstract": minor + "@xyo-network/diviner-address-chain-memory": minor + "@xyo-network/diviner-address-chain-model": minor + "@xyo-network/diviner-address-history": minor + "@xyo-network/diviner-address-history-model": minor + "@xyo-network/diviner-address-space": minor + "@xyo-network/diviner-address-space-abstract": minor + "@xyo-network/diviner-address-space-memory": minor + "@xyo-network/diviner-address-space-model": minor + "@xyo-network/diviner-archivist": minor + "@xyo-network/diviner-boundwitness": minor + "@xyo-network/diviner-boundwitness-abstract": minor + "@xyo-network/diviner-boundwitness-indexeddb": minor + "@xyo-network/diviner-boundwitness-memory": minor + "@xyo-network/diviner-boundwitness-model": minor + "@xyo-network/diviner-boundwitness-stats": minor + "@xyo-network/diviner-boundwitness-stats-abstract": minor + "@xyo-network/diviner-boundwitness-stats-memory": minor + "@xyo-network/diviner-boundwitness-stats-model": minor + "@xyo-network/diviner-coin": minor + "@xyo-network/diviner-coin-user-locations": minor + "@xyo-network/diviner-coin-user-locations-abstract": minor + "@xyo-network/diviner-coin-user-locations-model": minor + "@xyo-network/diviner-distinct": minor + "@xyo-network/diviner-distinct-model": minor + "@xyo-network/diviner-forecasting": minor + "@xyo-network/diviner-forecasting-abstract": minor + "@xyo-network/diviner-forecasting-memory": minor + "@xyo-network/diviner-forecasting-method-arima": minor + "@xyo-network/diviner-forecasting-model": minor + "@xyo-network/diviner-hash-lease": minor + "@xyo-network/diviner-huri": minor + "@xyo-network/diviner-identity": minor + "@xyo-network/diviner-indexeddb": minor + "@xyo-network/diviner-indexing": minor + "@xyo-network/diviner-indexing-memory": minor + "@xyo-network/diviner-indexing-model": minor + "@xyo-network/diviner-jsonpatch": minor + "@xyo-network/diviner-jsonpatch-memory": minor + "@xyo-network/diviner-jsonpatch-model": minor + "@xyo-network/diviner-jsonpath": minor + "@xyo-network/diviner-jsonpath-aggregate": minor + "@xyo-network/diviner-jsonpath-aggregate-memory": minor + "@xyo-network/diviner-jsonpath-aggregate-model": minor + "@xyo-network/diviner-jsonpath-memory": minor + "@xyo-network/diviner-jsonpath-model": minor + "@xyo-network/diviner-model": minor + "@xyo-network/diviner-models": minor + "@xyo-network/diviner-payload": minor + "@xyo-network/diviner-payload-abstract": minor + "@xyo-network/diviner-payload-generic": minor + "@xyo-network/diviner-payload-indexeddb": minor + "@xyo-network/diviner-payload-memory": minor + "@xyo-network/diviner-payload-model": minor + "@xyo-network/diviner-payload-pointer": minor + "@xyo-network/diviner-payload-pointer-memory": minor + "@xyo-network/diviner-payload-pointer-model": minor + "@xyo-network/diviner-payload-stats": minor + "@xyo-network/diviner-payload-stats-abstract": minor + "@xyo-network/diviner-payload-stats-memory": minor + "@xyo-network/diviner-payload-stats-model": minor + "@xyo-network/diviner-range": minor + "@xyo-network/diviner-range-model": minor + "@xyo-network/diviner-schema-list": minor + "@xyo-network/diviner-schema-list-abstract": minor + "@xyo-network/diviner-schema-list-memory": minor + "@xyo-network/diviner-schema-list-model": minor + "@xyo-network/diviner-schema-stats": minor + "@xyo-network/diviner-schema-stats-abstract": minor + "@xyo-network/diviner-schema-stats-memory": minor + "@xyo-network/diviner-schema-stats-model": minor + "@xyo-network/diviner-stateful": minor + "@xyo-network/diviner-temporal-indexing": minor + "@xyo-network/diviner-temporal-indexing-memory": minor + "@xyo-network/diviner-temporal-indexing-model": minor + "@xyo-network/diviner-transform": minor + "@xyo-network/diviner-transform-abstract": minor + "@xyo-network/diviner-transform-memory": minor + "@xyo-network/diviner-transform-model": minor + "@xyo-network/diviner-wrapper": minor + "@xyo-network/dns": minor + "@xyo-network/domain-payload-plugin": minor + "@xyo-network/filesystem-archivist": minor + "@xyo-network/hash": minor + "@xyo-network/huri": minor + "@xyo-network/id-payload-plugin": minor + "@xyo-network/key-model": minor + "@xyo-network/manifest": minor + "@xyo-network/manifest-model": minor + "@xyo-network/manifest-wrapper": minor + "@xyo-network/metamask-connector": minor + "@xyo-network/module": minor + "@xyo-network/module-abstract": minor + "@xyo-network/module-event-emitter": minor + "@xyo-network/module-events": minor + "@xyo-network/module-factory-locator": minor + "@xyo-network/module-model": minor + "@xyo-network/module-resolver": minor + "@xyo-network/module-wrapper": minor + "@xyo-network/modules": minor + "@xyo-network/network": minor + "@xyo-network/node": minor + "@xyo-network/node-abstract": minor + "@xyo-network/node-memory": minor + "@xyo-network/node-model": minor + "@xyo-network/node-view": minor + "@xyo-network/node-wrapper": minor + "@xyo-network/object": minor + "@xyo-network/payload": minor + "@xyo-network/payload-builder": minor + "@xyo-network/payload-model": minor + "@xyo-network/payload-plugin": minor + "@xyo-network/payload-utils": minor + "@xyo-network/payload-validator": minor + "@xyo-network/payload-wrapper": minor + "@xyo-network/payloadset-plugin": minor + "@xyo-network/previous-hash-store": minor + "@xyo-network/previous-hash-store-indexeddb": minor + "@xyo-network/previous-hash-store-model": minor + "@xyo-network/previous-hash-store-storage": minor + "@xyo-network/protocol": minor + "@xyo-network/quadkey": minor + "@xyo-network/query-payload-plugin": minor + "@xyo-network/schema-cache": minor + "@xyo-network/schema-name-validator": minor + "@xyo-network/schema-payload-plugin": minor + "@xyo-network/sdk-js": minor + "@xyo-network/sdk-utils": minor + "@xyo-network/sentinel": minor + "@xyo-network/sentinel-abstract": minor + "@xyo-network/sentinel-memory": minor + "@xyo-network/sentinel-model": minor + "@xyo-network/sentinel-wrapper": minor + "@xyo-network/shared": minor + "@xyo-network/typeof": minor + "@xyo-network/value-payload-plugin": minor + "@xyo-network/wallet-model": minor + "@xyo-network/wasm": minor + "@xyo-network/witness": minor + "@xyo-network/witness-adhoc": minor + "@xyo-network/witness-blockchain": minor + "@xyo-network/witness-blockchain-abstract": minor + "@xyo-network/witness-environment": minor + "@xyo-network/witness-evm": minor + "@xyo-network/witness-evm-abstract": minor + "@xyo-network/witness-model": minor + "@xyo-network/witness-timestamp": minor + "@xyo-network/witness-wrapper": minor + "@xyo-network/witnesses": minor diff --git a/.yarn/versions/d271ddec.yml b/.yarn/versions/d271ddec.yml new file mode 100644 index 0000000000..2e6cf64087 --- /dev/null +++ b/.yarn/versions/d271ddec.yml @@ -0,0 +1,189 @@ +releases: + "@xyo-network/abstract-witness": minor + "@xyo-network/account": minor + "@xyo-network/account-model": minor + "@xyo-network/address-payload-plugin": minor + "@xyo-network/api": minor + "@xyo-network/api-models": minor + "@xyo-network/archivist": minor + "@xyo-network/archivist-abstract": minor + "@xyo-network/archivist-cookie": minor + "@xyo-network/archivist-firebase": minor + "@xyo-network/archivist-indexeddb": minor + "@xyo-network/archivist-memory": minor + "@xyo-network/archivist-model": minor + "@xyo-network/archivist-storage": minor + "@xyo-network/archivist-view": minor + "@xyo-network/archivist-wrapper": minor + "@xyo-network/bip39": minor + "@xyo-network/boundwitness": minor + "@xyo-network/boundwitness-builder": minor + "@xyo-network/boundwitness-loader": minor + "@xyo-network/boundwitness-model": minor + "@xyo-network/boundwitness-validator": minor + "@xyo-network/boundwitness-wrapper": minor + "@xyo-network/bridge": minor + "@xyo-network/bridge-abstract": minor + "@xyo-network/bridge-http": minor + "@xyo-network/bridge-model": minor + "@xyo-network/bridge-module-resolver": minor + "@xyo-network/bridge-pub-sub": minor + "@xyo-network/bridge-websocket": minor + "@xyo-network/bridge-worker": minor + "@xyo-network/bridge-wrapper": minor + "@xyo-network/config-payload-plugin": minor + "@xyo-network/core": minor + "@xyo-network/core-payload-plugins": minor + "@xyo-network/data": minor + "@xyo-network/diviner": minor + "@xyo-network/diviner-abstract": minor + "@xyo-network/diviner-address-chain": minor + "@xyo-network/diviner-address-chain-abstract": minor + "@xyo-network/diviner-address-chain-memory": minor + "@xyo-network/diviner-address-chain-model": minor + "@xyo-network/diviner-address-history": minor + "@xyo-network/diviner-address-history-model": minor + "@xyo-network/diviner-address-space": minor + "@xyo-network/diviner-address-space-abstract": minor + "@xyo-network/diviner-address-space-memory": minor + "@xyo-network/diviner-address-space-model": minor + "@xyo-network/diviner-archivist": minor + "@xyo-network/diviner-boundwitness": minor + "@xyo-network/diviner-boundwitness-abstract": minor + "@xyo-network/diviner-boundwitness-indexeddb": minor + "@xyo-network/diviner-boundwitness-memory": minor + "@xyo-network/diviner-boundwitness-model": minor + "@xyo-network/diviner-boundwitness-stats": minor + "@xyo-network/diviner-boundwitness-stats-abstract": minor + "@xyo-network/diviner-boundwitness-stats-memory": minor + "@xyo-network/diviner-boundwitness-stats-model": minor + "@xyo-network/diviner-coin": minor + "@xyo-network/diviner-coin-user-locations": minor + "@xyo-network/diviner-coin-user-locations-abstract": minor + "@xyo-network/diviner-coin-user-locations-model": minor + "@xyo-network/diviner-distinct": minor + "@xyo-network/diviner-distinct-model": minor + "@xyo-network/diviner-forecasting": minor + "@xyo-network/diviner-forecasting-abstract": minor + "@xyo-network/diviner-forecasting-memory": minor + "@xyo-network/diviner-forecasting-method-arima": minor + "@xyo-network/diviner-forecasting-model": minor + "@xyo-network/diviner-hash-lease": minor + "@xyo-network/diviner-huri": minor + "@xyo-network/diviner-identity": minor + "@xyo-network/diviner-indexeddb": minor + "@xyo-network/diviner-indexing": minor + "@xyo-network/diviner-indexing-memory": minor + "@xyo-network/diviner-indexing-model": minor + "@xyo-network/diviner-jsonpatch": minor + "@xyo-network/diviner-jsonpatch-memory": minor + "@xyo-network/diviner-jsonpatch-model": minor + "@xyo-network/diviner-jsonpath": minor + "@xyo-network/diviner-jsonpath-aggregate": minor + "@xyo-network/diviner-jsonpath-aggregate-memory": minor + "@xyo-network/diviner-jsonpath-aggregate-model": minor + "@xyo-network/diviner-jsonpath-memory": minor + "@xyo-network/diviner-jsonpath-model": minor + "@xyo-network/diviner-model": minor + "@xyo-network/diviner-models": minor + "@xyo-network/diviner-payload": minor + "@xyo-network/diviner-payload-abstract": minor + "@xyo-network/diviner-payload-generic": minor + "@xyo-network/diviner-payload-indexeddb": minor + "@xyo-network/diviner-payload-memory": minor + "@xyo-network/diviner-payload-model": minor + "@xyo-network/diviner-payload-pointer": minor + "@xyo-network/diviner-payload-pointer-memory": minor + "@xyo-network/diviner-payload-pointer-model": minor + "@xyo-network/diviner-payload-stats": minor + "@xyo-network/diviner-payload-stats-abstract": minor + "@xyo-network/diviner-payload-stats-memory": minor + "@xyo-network/diviner-payload-stats-model": minor + "@xyo-network/diviner-range": minor + "@xyo-network/diviner-range-model": minor + "@xyo-network/diviner-schema-list": minor + "@xyo-network/diviner-schema-list-abstract": minor + "@xyo-network/diviner-schema-list-memory": minor + "@xyo-network/diviner-schema-list-model": minor + "@xyo-network/diviner-schema-stats": minor + "@xyo-network/diviner-schema-stats-abstract": minor + "@xyo-network/diviner-schema-stats-memory": minor + "@xyo-network/diviner-schema-stats-model": minor + "@xyo-network/diviner-stateful": minor + "@xyo-network/diviner-temporal-indexing": minor + "@xyo-network/diviner-temporal-indexing-memory": minor + "@xyo-network/diviner-temporal-indexing-model": minor + "@xyo-network/diviner-transform": minor + "@xyo-network/diviner-transform-abstract": minor + "@xyo-network/diviner-transform-memory": minor + "@xyo-network/diviner-transform-model": minor + "@xyo-network/diviner-wrapper": minor + "@xyo-network/dns": minor + "@xyo-network/domain-payload-plugin": minor + "@xyo-network/filesystem-archivist": minor + "@xyo-network/hash": minor + "@xyo-network/huri": minor + "@xyo-network/id-payload-plugin": minor + "@xyo-network/key-model": minor + "@xyo-network/manifest": minor + "@xyo-network/manifest-model": minor + "@xyo-network/manifest-wrapper": minor + "@xyo-network/metamask-connector": minor + "@xyo-network/module": minor + "@xyo-network/module-abstract": minor + "@xyo-network/module-event-emitter": minor + "@xyo-network/module-events": minor + "@xyo-network/module-factory-locator": minor + "@xyo-network/module-model": minor + "@xyo-network/module-resolver": minor + "@xyo-network/module-wrapper": minor + "@xyo-network/modules": minor + "@xyo-network/network": minor + "@xyo-network/node": minor + "@xyo-network/node-abstract": minor + "@xyo-network/node-memory": minor + "@xyo-network/node-model": minor + "@xyo-network/node-view": minor + "@xyo-network/node-wrapper": minor + "@xyo-network/object": minor + "@xyo-network/payload": minor + "@xyo-network/payload-builder": minor + "@xyo-network/payload-model": minor + "@xyo-network/payload-plugin": minor + "@xyo-network/payload-utils": minor + "@xyo-network/payload-validator": minor + "@xyo-network/payload-wrapper": minor + "@xyo-network/payloadset-plugin": minor + "@xyo-network/previous-hash-store": minor + "@xyo-network/previous-hash-store-indexeddb": minor + "@xyo-network/previous-hash-store-model": minor + "@xyo-network/previous-hash-store-storage": minor + "@xyo-network/protocol": minor + "@xyo-network/quadkey": minor + "@xyo-network/query-payload-plugin": minor + "@xyo-network/schema-cache": minor + "@xyo-network/schema-name-validator": minor + "@xyo-network/schema-payload-plugin": minor + "@xyo-network/sdk-js": minor + "@xyo-network/sdk-utils": minor + "@xyo-network/sentinel": minor + "@xyo-network/sentinel-abstract": minor + "@xyo-network/sentinel-memory": minor + "@xyo-network/sentinel-model": minor + "@xyo-network/sentinel-wrapper": minor + "@xyo-network/shared": minor + "@xyo-network/typeof": minor + "@xyo-network/value-payload-plugin": minor + "@xyo-network/wallet-model": minor + "@xyo-network/wasm": minor + "@xyo-network/witness": minor + "@xyo-network/witness-adhoc": minor + "@xyo-network/witness-blockchain": minor + "@xyo-network/witness-blockchain-abstract": minor + "@xyo-network/witness-environment": minor + "@xyo-network/witness-evm": minor + "@xyo-network/witness-evm-abstract": minor + "@xyo-network/witness-model": minor + "@xyo-network/witness-timestamp": minor + "@xyo-network/witness-wrapper": minor + "@xyo-network/witnesses": minor diff --git a/.yarn/versions/d80a2671.yml b/.yarn/versions/d80a2671.yml new file mode 100644 index 0000000000..2e6cf64087 --- /dev/null +++ b/.yarn/versions/d80a2671.yml @@ -0,0 +1,189 @@ +releases: + "@xyo-network/abstract-witness": minor + "@xyo-network/account": minor + "@xyo-network/account-model": minor + "@xyo-network/address-payload-plugin": minor + "@xyo-network/api": minor + "@xyo-network/api-models": minor + "@xyo-network/archivist": minor + "@xyo-network/archivist-abstract": minor + "@xyo-network/archivist-cookie": minor + "@xyo-network/archivist-firebase": minor + "@xyo-network/archivist-indexeddb": minor + "@xyo-network/archivist-memory": minor + "@xyo-network/archivist-model": minor + "@xyo-network/archivist-storage": minor + "@xyo-network/archivist-view": minor + "@xyo-network/archivist-wrapper": minor + "@xyo-network/bip39": minor + "@xyo-network/boundwitness": minor + "@xyo-network/boundwitness-builder": minor + "@xyo-network/boundwitness-loader": minor + "@xyo-network/boundwitness-model": minor + "@xyo-network/boundwitness-validator": minor + "@xyo-network/boundwitness-wrapper": minor + "@xyo-network/bridge": minor + "@xyo-network/bridge-abstract": minor + "@xyo-network/bridge-http": minor + "@xyo-network/bridge-model": minor + "@xyo-network/bridge-module-resolver": minor + "@xyo-network/bridge-pub-sub": minor + "@xyo-network/bridge-websocket": minor + "@xyo-network/bridge-worker": minor + "@xyo-network/bridge-wrapper": minor + "@xyo-network/config-payload-plugin": minor + "@xyo-network/core": minor + "@xyo-network/core-payload-plugins": minor + "@xyo-network/data": minor + "@xyo-network/diviner": minor + "@xyo-network/diviner-abstract": minor + "@xyo-network/diviner-address-chain": minor + "@xyo-network/diviner-address-chain-abstract": minor + "@xyo-network/diviner-address-chain-memory": minor + "@xyo-network/diviner-address-chain-model": minor + "@xyo-network/diviner-address-history": minor + "@xyo-network/diviner-address-history-model": minor + "@xyo-network/diviner-address-space": minor + "@xyo-network/diviner-address-space-abstract": minor + "@xyo-network/diviner-address-space-memory": minor + "@xyo-network/diviner-address-space-model": minor + "@xyo-network/diviner-archivist": minor + "@xyo-network/diviner-boundwitness": minor + "@xyo-network/diviner-boundwitness-abstract": minor + "@xyo-network/diviner-boundwitness-indexeddb": minor + "@xyo-network/diviner-boundwitness-memory": minor + "@xyo-network/diviner-boundwitness-model": minor + "@xyo-network/diviner-boundwitness-stats": minor + "@xyo-network/diviner-boundwitness-stats-abstract": minor + "@xyo-network/diviner-boundwitness-stats-memory": minor + "@xyo-network/diviner-boundwitness-stats-model": minor + "@xyo-network/diviner-coin": minor + "@xyo-network/diviner-coin-user-locations": minor + "@xyo-network/diviner-coin-user-locations-abstract": minor + "@xyo-network/diviner-coin-user-locations-model": minor + "@xyo-network/diviner-distinct": minor + "@xyo-network/diviner-distinct-model": minor + "@xyo-network/diviner-forecasting": minor + "@xyo-network/diviner-forecasting-abstract": minor + "@xyo-network/diviner-forecasting-memory": minor + "@xyo-network/diviner-forecasting-method-arima": minor + "@xyo-network/diviner-forecasting-model": minor + "@xyo-network/diviner-hash-lease": minor + "@xyo-network/diviner-huri": minor + "@xyo-network/diviner-identity": minor + "@xyo-network/diviner-indexeddb": minor + "@xyo-network/diviner-indexing": minor + "@xyo-network/diviner-indexing-memory": minor + "@xyo-network/diviner-indexing-model": minor + "@xyo-network/diviner-jsonpatch": minor + "@xyo-network/diviner-jsonpatch-memory": minor + "@xyo-network/diviner-jsonpatch-model": minor + "@xyo-network/diviner-jsonpath": minor + "@xyo-network/diviner-jsonpath-aggregate": minor + "@xyo-network/diviner-jsonpath-aggregate-memory": minor + "@xyo-network/diviner-jsonpath-aggregate-model": minor + "@xyo-network/diviner-jsonpath-memory": minor + "@xyo-network/diviner-jsonpath-model": minor + "@xyo-network/diviner-model": minor + "@xyo-network/diviner-models": minor + "@xyo-network/diviner-payload": minor + "@xyo-network/diviner-payload-abstract": minor + "@xyo-network/diviner-payload-generic": minor + "@xyo-network/diviner-payload-indexeddb": minor + "@xyo-network/diviner-payload-memory": minor + "@xyo-network/diviner-payload-model": minor + "@xyo-network/diviner-payload-pointer": minor + "@xyo-network/diviner-payload-pointer-memory": minor + "@xyo-network/diviner-payload-pointer-model": minor + "@xyo-network/diviner-payload-stats": minor + "@xyo-network/diviner-payload-stats-abstract": minor + "@xyo-network/diviner-payload-stats-memory": minor + "@xyo-network/diviner-payload-stats-model": minor + "@xyo-network/diviner-range": minor + "@xyo-network/diviner-range-model": minor + "@xyo-network/diviner-schema-list": minor + "@xyo-network/diviner-schema-list-abstract": minor + "@xyo-network/diviner-schema-list-memory": minor + "@xyo-network/diviner-schema-list-model": minor + "@xyo-network/diviner-schema-stats": minor + "@xyo-network/diviner-schema-stats-abstract": minor + "@xyo-network/diviner-schema-stats-memory": minor + "@xyo-network/diviner-schema-stats-model": minor + "@xyo-network/diviner-stateful": minor + "@xyo-network/diviner-temporal-indexing": minor + "@xyo-network/diviner-temporal-indexing-memory": minor + "@xyo-network/diviner-temporal-indexing-model": minor + "@xyo-network/diviner-transform": minor + "@xyo-network/diviner-transform-abstract": minor + "@xyo-network/diviner-transform-memory": minor + "@xyo-network/diviner-transform-model": minor + "@xyo-network/diviner-wrapper": minor + "@xyo-network/dns": minor + "@xyo-network/domain-payload-plugin": minor + "@xyo-network/filesystem-archivist": minor + "@xyo-network/hash": minor + "@xyo-network/huri": minor + "@xyo-network/id-payload-plugin": minor + "@xyo-network/key-model": minor + "@xyo-network/manifest": minor + "@xyo-network/manifest-model": minor + "@xyo-network/manifest-wrapper": minor + "@xyo-network/metamask-connector": minor + "@xyo-network/module": minor + "@xyo-network/module-abstract": minor + "@xyo-network/module-event-emitter": minor + "@xyo-network/module-events": minor + "@xyo-network/module-factory-locator": minor + "@xyo-network/module-model": minor + "@xyo-network/module-resolver": minor + "@xyo-network/module-wrapper": minor + "@xyo-network/modules": minor + "@xyo-network/network": minor + "@xyo-network/node": minor + "@xyo-network/node-abstract": minor + "@xyo-network/node-memory": minor + "@xyo-network/node-model": minor + "@xyo-network/node-view": minor + "@xyo-network/node-wrapper": minor + "@xyo-network/object": minor + "@xyo-network/payload": minor + "@xyo-network/payload-builder": minor + "@xyo-network/payload-model": minor + "@xyo-network/payload-plugin": minor + "@xyo-network/payload-utils": minor + "@xyo-network/payload-validator": minor + "@xyo-network/payload-wrapper": minor + "@xyo-network/payloadset-plugin": minor + "@xyo-network/previous-hash-store": minor + "@xyo-network/previous-hash-store-indexeddb": minor + "@xyo-network/previous-hash-store-model": minor + "@xyo-network/previous-hash-store-storage": minor + "@xyo-network/protocol": minor + "@xyo-network/quadkey": minor + "@xyo-network/query-payload-plugin": minor + "@xyo-network/schema-cache": minor + "@xyo-network/schema-name-validator": minor + "@xyo-network/schema-payload-plugin": minor + "@xyo-network/sdk-js": minor + "@xyo-network/sdk-utils": minor + "@xyo-network/sentinel": minor + "@xyo-network/sentinel-abstract": minor + "@xyo-network/sentinel-memory": minor + "@xyo-network/sentinel-model": minor + "@xyo-network/sentinel-wrapper": minor + "@xyo-network/shared": minor + "@xyo-network/typeof": minor + "@xyo-network/value-payload-plugin": minor + "@xyo-network/wallet-model": minor + "@xyo-network/wasm": minor + "@xyo-network/witness": minor + "@xyo-network/witness-adhoc": minor + "@xyo-network/witness-blockchain": minor + "@xyo-network/witness-blockchain-abstract": minor + "@xyo-network/witness-environment": minor + "@xyo-network/witness-evm": minor + "@xyo-network/witness-evm-abstract": minor + "@xyo-network/witness-model": minor + "@xyo-network/witness-timestamp": minor + "@xyo-network/witness-wrapper": minor + "@xyo-network/witnesses": minor diff --git a/.yarn/versions/fe2a5192.yml b/.yarn/versions/fe2a5192.yml new file mode 100644 index 0000000000..2e6cf64087 --- /dev/null +++ b/.yarn/versions/fe2a5192.yml @@ -0,0 +1,189 @@ +releases: + "@xyo-network/abstract-witness": minor + "@xyo-network/account": minor + "@xyo-network/account-model": minor + "@xyo-network/address-payload-plugin": minor + "@xyo-network/api": minor + "@xyo-network/api-models": minor + "@xyo-network/archivist": minor + "@xyo-network/archivist-abstract": minor + "@xyo-network/archivist-cookie": minor + "@xyo-network/archivist-firebase": minor + "@xyo-network/archivist-indexeddb": minor + "@xyo-network/archivist-memory": minor + "@xyo-network/archivist-model": minor + "@xyo-network/archivist-storage": minor + "@xyo-network/archivist-view": minor + "@xyo-network/archivist-wrapper": minor + "@xyo-network/bip39": minor + "@xyo-network/boundwitness": minor + "@xyo-network/boundwitness-builder": minor + "@xyo-network/boundwitness-loader": minor + "@xyo-network/boundwitness-model": minor + "@xyo-network/boundwitness-validator": minor + "@xyo-network/boundwitness-wrapper": minor + "@xyo-network/bridge": minor + "@xyo-network/bridge-abstract": minor + "@xyo-network/bridge-http": minor + "@xyo-network/bridge-model": minor + "@xyo-network/bridge-module-resolver": minor + "@xyo-network/bridge-pub-sub": minor + "@xyo-network/bridge-websocket": minor + "@xyo-network/bridge-worker": minor + "@xyo-network/bridge-wrapper": minor + "@xyo-network/config-payload-plugin": minor + "@xyo-network/core": minor + "@xyo-network/core-payload-plugins": minor + "@xyo-network/data": minor + "@xyo-network/diviner": minor + "@xyo-network/diviner-abstract": minor + "@xyo-network/diviner-address-chain": minor + "@xyo-network/diviner-address-chain-abstract": minor + "@xyo-network/diviner-address-chain-memory": minor + "@xyo-network/diviner-address-chain-model": minor + "@xyo-network/diviner-address-history": minor + "@xyo-network/diviner-address-history-model": minor + "@xyo-network/diviner-address-space": minor + "@xyo-network/diviner-address-space-abstract": minor + "@xyo-network/diviner-address-space-memory": minor + "@xyo-network/diviner-address-space-model": minor + "@xyo-network/diviner-archivist": minor + "@xyo-network/diviner-boundwitness": minor + "@xyo-network/diviner-boundwitness-abstract": minor + "@xyo-network/diviner-boundwitness-indexeddb": minor + "@xyo-network/diviner-boundwitness-memory": minor + "@xyo-network/diviner-boundwitness-model": minor + "@xyo-network/diviner-boundwitness-stats": minor + "@xyo-network/diviner-boundwitness-stats-abstract": minor + "@xyo-network/diviner-boundwitness-stats-memory": minor + "@xyo-network/diviner-boundwitness-stats-model": minor + "@xyo-network/diviner-coin": minor + "@xyo-network/diviner-coin-user-locations": minor + "@xyo-network/diviner-coin-user-locations-abstract": minor + "@xyo-network/diviner-coin-user-locations-model": minor + "@xyo-network/diviner-distinct": minor + "@xyo-network/diviner-distinct-model": minor + "@xyo-network/diviner-forecasting": minor + "@xyo-network/diviner-forecasting-abstract": minor + "@xyo-network/diviner-forecasting-memory": minor + "@xyo-network/diviner-forecasting-method-arima": minor + "@xyo-network/diviner-forecasting-model": minor + "@xyo-network/diviner-hash-lease": minor + "@xyo-network/diviner-huri": minor + "@xyo-network/diviner-identity": minor + "@xyo-network/diviner-indexeddb": minor + "@xyo-network/diviner-indexing": minor + "@xyo-network/diviner-indexing-memory": minor + "@xyo-network/diviner-indexing-model": minor + "@xyo-network/diviner-jsonpatch": minor + "@xyo-network/diviner-jsonpatch-memory": minor + "@xyo-network/diviner-jsonpatch-model": minor + "@xyo-network/diviner-jsonpath": minor + "@xyo-network/diviner-jsonpath-aggregate": minor + "@xyo-network/diviner-jsonpath-aggregate-memory": minor + "@xyo-network/diviner-jsonpath-aggregate-model": minor + "@xyo-network/diviner-jsonpath-memory": minor + "@xyo-network/diviner-jsonpath-model": minor + "@xyo-network/diviner-model": minor + "@xyo-network/diviner-models": minor + "@xyo-network/diviner-payload": minor + "@xyo-network/diviner-payload-abstract": minor + "@xyo-network/diviner-payload-generic": minor + "@xyo-network/diviner-payload-indexeddb": minor + "@xyo-network/diviner-payload-memory": minor + "@xyo-network/diviner-payload-model": minor + "@xyo-network/diviner-payload-pointer": minor + "@xyo-network/diviner-payload-pointer-memory": minor + "@xyo-network/diviner-payload-pointer-model": minor + "@xyo-network/diviner-payload-stats": minor + "@xyo-network/diviner-payload-stats-abstract": minor + "@xyo-network/diviner-payload-stats-memory": minor + "@xyo-network/diviner-payload-stats-model": minor + "@xyo-network/diviner-range": minor + "@xyo-network/diviner-range-model": minor + "@xyo-network/diviner-schema-list": minor + "@xyo-network/diviner-schema-list-abstract": minor + "@xyo-network/diviner-schema-list-memory": minor + "@xyo-network/diviner-schema-list-model": minor + "@xyo-network/diviner-schema-stats": minor + "@xyo-network/diviner-schema-stats-abstract": minor + "@xyo-network/diviner-schema-stats-memory": minor + "@xyo-network/diviner-schema-stats-model": minor + "@xyo-network/diviner-stateful": minor + "@xyo-network/diviner-temporal-indexing": minor + "@xyo-network/diviner-temporal-indexing-memory": minor + "@xyo-network/diviner-temporal-indexing-model": minor + "@xyo-network/diviner-transform": minor + "@xyo-network/diviner-transform-abstract": minor + "@xyo-network/diviner-transform-memory": minor + "@xyo-network/diviner-transform-model": minor + "@xyo-network/diviner-wrapper": minor + "@xyo-network/dns": minor + "@xyo-network/domain-payload-plugin": minor + "@xyo-network/filesystem-archivist": minor + "@xyo-network/hash": minor + "@xyo-network/huri": minor + "@xyo-network/id-payload-plugin": minor + "@xyo-network/key-model": minor + "@xyo-network/manifest": minor + "@xyo-network/manifest-model": minor + "@xyo-network/manifest-wrapper": minor + "@xyo-network/metamask-connector": minor + "@xyo-network/module": minor + "@xyo-network/module-abstract": minor + "@xyo-network/module-event-emitter": minor + "@xyo-network/module-events": minor + "@xyo-network/module-factory-locator": minor + "@xyo-network/module-model": minor + "@xyo-network/module-resolver": minor + "@xyo-network/module-wrapper": minor + "@xyo-network/modules": minor + "@xyo-network/network": minor + "@xyo-network/node": minor + "@xyo-network/node-abstract": minor + "@xyo-network/node-memory": minor + "@xyo-network/node-model": minor + "@xyo-network/node-view": minor + "@xyo-network/node-wrapper": minor + "@xyo-network/object": minor + "@xyo-network/payload": minor + "@xyo-network/payload-builder": minor + "@xyo-network/payload-model": minor + "@xyo-network/payload-plugin": minor + "@xyo-network/payload-utils": minor + "@xyo-network/payload-validator": minor + "@xyo-network/payload-wrapper": minor + "@xyo-network/payloadset-plugin": minor + "@xyo-network/previous-hash-store": minor + "@xyo-network/previous-hash-store-indexeddb": minor + "@xyo-network/previous-hash-store-model": minor + "@xyo-network/previous-hash-store-storage": minor + "@xyo-network/protocol": minor + "@xyo-network/quadkey": minor + "@xyo-network/query-payload-plugin": minor + "@xyo-network/schema-cache": minor + "@xyo-network/schema-name-validator": minor + "@xyo-network/schema-payload-plugin": minor + "@xyo-network/sdk-js": minor + "@xyo-network/sdk-utils": minor + "@xyo-network/sentinel": minor + "@xyo-network/sentinel-abstract": minor + "@xyo-network/sentinel-memory": minor + "@xyo-network/sentinel-model": minor + "@xyo-network/sentinel-wrapper": minor + "@xyo-network/shared": minor + "@xyo-network/typeof": minor + "@xyo-network/value-payload-plugin": minor + "@xyo-network/wallet-model": minor + "@xyo-network/wasm": minor + "@xyo-network/witness": minor + "@xyo-network/witness-adhoc": minor + "@xyo-network/witness-blockchain": minor + "@xyo-network/witness-blockchain-abstract": minor + "@xyo-network/witness-environment": minor + "@xyo-network/witness-evm": minor + "@xyo-network/witness-evm-abstract": minor + "@xyo-network/witness-model": minor + "@xyo-network/witness-timestamp": minor + "@xyo-network/witness-wrapper": minor + "@xyo-network/witnesses": minor diff --git a/eslint.config.mjs b/eslint.config.mjs index e9c0c3ac10..2a31729aad 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -12,7 +12,6 @@ export default [ { ignores: [ '.yarn/**', - 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', @@ -28,10 +27,7 @@ export default [ rulesConfig, { ...typescriptConfig, - rules: { - ...typescriptConfig.rules, - '@typescript-eslint/consistent-type-imports': ['warn'], - }, + rules: { ...typescriptConfig.rules }, }, { rules: { diff --git a/jest.config.ts b/jest.config.ts deleted file mode 100644 index dbf2ec185b..0000000000 --- a/jest.config.ts +++ /dev/null @@ -1,31 +0,0 @@ -const generateJestConfig = ({ esModules }: { esModules: string[] }) => { - const esModulesList = Array.isArray(esModules) ? esModules.join('|') : esModules - return { - coveragePathIgnorePatterns: ['/(.*)/dist'], - extensionsToTreatAsEsm: ['.ts'], - globalSetup: './jestSetup/globalSetup.ts', - globalTeardown: './jestSetup/globalTeardown.ts', - moduleNameMapper: { '^(\\.{1,2}/.*)\\.js$': '$1' }, - preset: 'ts-jest', - setupFiles: ['dotenv/config'], - setupFilesAfterEnv: ['jest-sorted', 'jest-extended/all', './jestSetup/setupFiles.ts'], - testEnvironment: 'node', - testRegex: String.raw`(/__tests__/.*|(\.|/)((!perf\.)test|spec))\.tsx?$`, - testTimeout: 200_000, - transform: { - [`(${esModulesList}).+\\.js$`]: 'babel-jest', - '^.+\\.tsx?$': [ - 'ts-jest', - { - tsconfig: 'tsconfig.test.json', - useESM: true, - }, - ], - }, - transformIgnorePatterns: [`./node_modules/(?!${esModulesList})`], - } -} - -const config = generateJestConfig({ esModules: ['is-ip', 'ip-regex', 'lodash-es', 'uuid', 'lodash-es', 'quick-lru'] }) - -export default config diff --git a/package.json b/package.json index 1f233a3e77..b32de13d36 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/sdk-js", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -42,30 +42,19 @@ ], "scripts": { "build": "xy build && xy statics", + "build-tests": "tsc --noEmit --lib dom,esnext", "build-typedoc-site": "typedoc", "compile": "./scripts/clear-scrollback-buffer.sh && yarn xy compile", - "coverage": "yarn jest --coverage --forceExit", + "coverage": "vitest --coverage --watch false", "deploy": "xy deploy", "free-3033": "kill -9 $(lsof -t -i :3033)", "free-8080": "kill -9 $(lsof -t -i :8080)", "free-mongo": "kill -9 $(lsof -t -i :55391) && kill -9 $(lsof -t -i :55393)", "lint-pkg": "npmPkgJsonLint .", - "perf": "yarn jest -c jest.config.perf.cjs", - "test": "vitest --watch false", - "test-esm": "FORCE_COLOR=1 && node $(yarn jest --no-cache --forceExit)", - "test:ci": "jest --runInBand --coverage --forceExit --passWithNoTests", - "test:hash-perf": "jest packages/protocol/packages/core/packages/hash/src/spec/PayloadHasher.bigobj.perf.spec.ts -c ./jest.config.no-mongo.ts", - "test:hash-perf-parallel": "jest packages/protocol/packages/core/packages/hash/src/spec/PayloadHasher.bigobj-parallel.perf.spec.ts -c ./jest.config.no-mongo.ts", - "test:module": "jest . --passWithNoTests --forceExit -- --group=module", - "test:no-mongo": "jest ${0} --passWithNoTests --forceExit -c ./jest.config.no-mongo.ts -- --group=-mongo", - "test:no-slow": "jest . --passWithNoTests --forceExit -- --group=-slow", - "test:sentinel": "jest . --passWithNoTests --forceExit -- --group=sentinel", - "test:thumbnail": "jest . --passWithNoTests --forceExit -- --group=thumbnail", - "testx": "jest ${0} --passWithNoTests --forceExit -c ./jest.config.no-mongo.ts -- --group=-mongo" + "test": "vitest --watch false" }, "resolutions": { "axios": "^1", - "eslint": "9.14.0", "ethers": "^6", "fake-indexeddb": "^4", "quick-lru": "^5" @@ -80,26 +69,27 @@ }, "devDependencies": { "@babel/core": "^7.26.0", - "@firebase/app": "^0.10.16", - "@firebase/app-compat": "^0.2.46", - "@stylistic/eslint-plugin": "^2.11.0", + "@firebase/app": "^0.10.17", + "@firebase/app-compat": "^0.2.47", + "@stylistic/eslint-plugin": "^2.12.1", "@types/supertest": "^6.0.2", - "@typescript-eslint/eslint-plugin": "^8.17.0", - "@typescript-eslint/parser": "^8.17.0", - "@xylabs/eslint-config-flat": "^4.2.4", - "@xylabs/forget": "^4.4.10", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@typescript-eslint/eslint-plugin": "^8.18.1", + "@typescript-eslint/parser": "^8.18.1", + "@vitest/coverage-v8": "^2.1.8", + "@xylabs/eslint-config-flat": "^4.2.6", + "@xylabs/forget": "^4.4.25", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "dotenv": "^16.4.7", - "eslint": "^9.16.0", + "eslint": "^9.17.0", "eslint-import-resolver-typescript": "^3.7.0", "jsdom": "^25.0.1", "reflect-metadata": "^0.2.2", "supertest": "^7.0.0", "ts-node": "^10.9.2", "tslib": "^2.8.1", - "typedoc": "^0.27.3", + "typedoc": "^0.27.5", "typedoc-material-theme": "^1.2.0", "typescript": "^5.7.2", "vitest": "^2.1.8" @@ -112,5 +102,6 @@ "publishConfig": { "access": "public" }, - "resolutions_comment": "We set the above resolutions to make sure we pull in the latest versions of these packages even if some sub packages request earlier versions" + "resolutions_comment": "We set the above resolutions to make sure we pull in the latest versions of these packages even if some sub packages request earlier versions", + "stableVersion": "3.5.2" } diff --git a/packages/core-payload-plugins/package.json b/packages/core-payload-plugins/package.json index ffc0f9204e..b87336068f 100644 --- a/packages/core-payload-plugins/package.json +++ b/packages/core-payload-plugins/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/core-payload-plugins", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Typescript/Javascript Plugins for XYO Platform", "homepage": "https://xyo.network", "bugs": { @@ -39,11 +39,12 @@ "@xyo-network/value-payload-plugin": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/core-payload-plugins/packages/address/.npmignore b/packages/core-payload-plugins/packages/address/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/core-payload-plugins/packages/address/.npmignore +++ b/packages/core-payload-plugins/packages/address/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/core-payload-plugins/packages/address/package.json b/packages/core-payload-plugins/packages/address/package.json index 37a5071607..d696a56573 100644 --- a/packages/core-payload-plugins/packages/address/package.json +++ b/packages/core-payload-plugins/packages/address/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/address-payload-plugin", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Typescript/Javascript Plugins for XYO Platform", "homepage": "https://xyo.network", "bugs": { @@ -33,13 +33,14 @@ "@xyo-network/payload-plugin": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/core-payload-plugins/packages/address/src/spec/tsconfig.json b/packages/core-payload-plugins/packages/address/src/spec/tsconfig.json deleted file mode 100644 index a6eb22d0e0..0000000000 --- a/packages/core-payload-plugins/packages/address/src/spec/tsconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "compilerOptions": { - "lib": ["dom"], - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/core-payload-plugins/packages/config/.npmignore b/packages/core-payload-plugins/packages/config/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/core-payload-plugins/packages/config/.npmignore +++ b/packages/core-payload-plugins/packages/config/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/core-payload-plugins/packages/config/package.json b/packages/core-payload-plugins/packages/config/package.json index b72f4bf9c3..08ecf05ff4 100644 --- a/packages/core-payload-plugins/packages/config/package.json +++ b/packages/core-payload-plugins/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/config-payload-plugin", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Typescript/Javascript Plugins for XYO Platform", "homepage": "https://xyo.network", "bugs": { @@ -29,18 +29,19 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/object": "^4.4.10", + "@xylabs/object": "^4.4.25", "@xyo-network/payload-model": "workspace:^", "@xyo-network/payload-plugin": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/core-payload-plugins/packages/config/src/spec/tsconfig.json b/packages/core-payload-plugins/packages/config/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/core-payload-plugins/packages/config/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/core-payload-plugins/packages/domain/.npmignore b/packages/core-payload-plugins/packages/domain/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/core-payload-plugins/packages/domain/.npmignore +++ b/packages/core-payload-plugins/packages/domain/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/core-payload-plugins/packages/domain/package.json b/packages/core-payload-plugins/packages/domain/package.json index 3b56a64443..9230bd1573 100644 --- a/packages/core-payload-plugins/packages/domain/package.json +++ b/packages/core-payload-plugins/packages/domain/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/domain-payload-plugin", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Typescript/Javascript Plugins for XYO Platform", "homepage": "https://xyo.network", "bugs": { @@ -29,10 +29,10 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/axios": "^4.4.10", - "@xylabs/hex": "^4.4.10", - "@xylabs/object": "^4.4.10", - "@xylabs/platform": "^4.4.10", + "@xylabs/axios": "^4.4.25", + "@xylabs/hex": "^4.4.25", + "@xylabs/object": "^4.4.25", + "@xylabs/platform": "^4.4.25", "@xyo-network/api-models": "workspace:^", "@xyo-network/dns": "workspace:^", "@xyo-network/huri": "workspace:^", @@ -44,13 +44,14 @@ "axios": "^1.7.9" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/core-payload-plugins/packages/domain/src/spec/tsconfig.json b/packages/core-payload-plugins/packages/domain/src/spec/tsconfig.json deleted file mode 100644 index 55e83b64d7..0000000000 --- a/packages/core-payload-plugins/packages/domain/src/spec/tsconfig.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "compilerOptions": { - "lib": ["esnext"], - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/core-payload-plugins/packages/id/.npmignore b/packages/core-payload-plugins/packages/id/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/core-payload-plugins/packages/id/.npmignore +++ b/packages/core-payload-plugins/packages/id/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/core-payload-plugins/packages/id/package.json b/packages/core-payload-plugins/packages/id/package.json index d4c1c8975d..0ab4fe1b0e 100644 --- a/packages/core-payload-plugins/packages/id/package.json +++ b/packages/core-payload-plugins/packages/id/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/id-payload-plugin", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Typescript/Javascript Plugins for XYO Platform", "homepage": "https://xyo.network", "bugs": { @@ -29,17 +29,19 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { + "@xylabs/object": "^4.4.25", "@xyo-network/payload-model": "workspace:^", "@xyo-network/payload-plugin": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/core-payload-plugins/packages/id/src/Payload.ts b/packages/core-payload-plugins/packages/id/src/Payload.ts index e9ccce10f9..7eb357bb97 100644 --- a/packages/core-payload-plugins/packages/id/src/Payload.ts +++ b/packages/core-payload-plugins/packages/id/src/Payload.ts @@ -1,11 +1,10 @@ +import { AsObjectFactory } from '@xylabs/object' import type { Payload, - WithMeta, WithSources, } from '@xyo-network/payload-model' import { isPayloadOfSchemaType, - isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, } from '@xyo-network/payload-model' @@ -32,11 +31,8 @@ export type IdPayload = Id * Identity helper for ID Payload */ export const isId = isPayloadOfSchemaType(IdSchema) - -/** - * Identity helper for ID Payload with meta - */ -export const isIdWithMeta = isPayloadOfSchemaTypeWithMeta>(IdSchema) +export const asId = AsObjectFactory.create(isId) +export const asOptionalId = AsObjectFactory.createOptional(isId) /** * Identity helper for ID Payload with sources diff --git a/packages/core-payload-plugins/packages/id/src/spec/tsconfig.json b/packages/core-payload-plugins/packages/id/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/core-payload-plugins/packages/id/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/core-payload-plugins/packages/query/.npmignore b/packages/core-payload-plugins/packages/query/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/core-payload-plugins/packages/query/.npmignore +++ b/packages/core-payload-plugins/packages/query/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/core-payload-plugins/packages/query/package.json b/packages/core-payload-plugins/packages/query/package.json index 09b5ca0ddd..9eece873cb 100644 --- a/packages/core-payload-plugins/packages/query/package.json +++ b/packages/core-payload-plugins/packages/query/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/query-payload-plugin", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Typescript/Javascript Plugins for XYO Platform", "homepage": "https://xyo.network", "bugs": { @@ -33,13 +33,14 @@ "@xyo-network/payload-plugin": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/core-payload-plugins/packages/query/src/spec/tsconfig.json b/packages/core-payload-plugins/packages/query/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/core-payload-plugins/packages/query/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/core-payload-plugins/packages/schema/.npmignore b/packages/core-payload-plugins/packages/schema/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/core-payload-plugins/packages/schema/.npmignore +++ b/packages/core-payload-plugins/packages/schema/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/core-payload-plugins/packages/schema/package.json b/packages/core-payload-plugins/packages/schema/package.json index 5d4eef0584..5b23dcc800 100644 --- a/packages/core-payload-plugins/packages/schema/package.json +++ b/packages/core-payload-plugins/packages/schema/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/schema-payload-plugin", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Typescript/Javascript Plugins for XYO Platform", "homepage": "https://xyo.network", "bugs": { @@ -33,13 +33,14 @@ "@xyo-network/payload-plugin": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/core-payload-plugins/packages/schema/src/Payload.ts b/packages/core-payload-plugins/packages/schema/src/Payload.ts index 73f52ffde2..1af7c60cfc 100644 --- a/packages/core-payload-plugins/packages/schema/src/Payload.ts +++ b/packages/core-payload-plugins/packages/schema/src/Payload.ts @@ -1,5 +1,5 @@ import { - isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, type Payload, + isPayloadOfSchemaType, isPayloadOfSchemaTypeWithSources, type Payload, } from '@xyo-network/payload-model' import { SchemaSchema } from './Schema.ts' @@ -10,7 +10,6 @@ export type SchemaPayload = Payload<{ */ definition: { [key: string]: unknown - $id?: string } /** * The schema this schema extends (if any) @@ -19,12 +18,11 @@ export type SchemaPayload = Payload<{ /** @deprecated use definition.$id instead */ name?: string - - /** - * Identifies this payload as a Schema - */ - schema: SchemaSchema -}> +}, SchemaSchema> & { + definition: { + $id?: string + } +} /** * Identity function for determining if an object is an Schema @@ -35,8 +33,3 @@ export const isSchemaPayload = isPayloadOfSchemaType(SchemaSchema * Identity function for determining if an object is an Schema with sources */ export const isSchemaPayloadWithSources = isPayloadOfSchemaTypeWithSources(SchemaSchema) - -/** - * Identity function for determining if an object is an Schema with meta - */ -export const isSchemaPayloadWithMeta = isPayloadOfSchemaTypeWithMeta(SchemaSchema) diff --git a/packages/core-payload-plugins/packages/schema/src/spec/tsconfig.json b/packages/core-payload-plugins/packages/schema/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/core-payload-plugins/packages/schema/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/core-payload-plugins/packages/value/.npmignore b/packages/core-payload-plugins/packages/value/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/core-payload-plugins/packages/value/.npmignore +++ b/packages/core-payload-plugins/packages/value/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/core-payload-plugins/packages/value/package.json b/packages/core-payload-plugins/packages/value/package.json index b53d9f4990..4876c13635 100644 --- a/packages/core-payload-plugins/packages/value/package.json +++ b/packages/core-payload-plugins/packages/value/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/value-payload-plugin", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Typescript/Javascript Plugins for XYO Platform", "homepage": "https://xyo.network", "bugs": { @@ -29,18 +29,19 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/object": "^4.4.10", + "@xylabs/object": "^4.4.25", "@xyo-network/payload-model": "workspace:^", "@xyo-network/payload-plugin": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/core-payload-plugins/packages/value/src/Payload.ts b/packages/core-payload-plugins/packages/value/src/Payload.ts index 35e89dee50..5bc86cb361 100644 --- a/packages/core-payload-plugins/packages/value/src/Payload.ts +++ b/packages/core-payload-plugins/packages/value/src/Payload.ts @@ -1,6 +1,6 @@ import type { JsonValue } from '@xylabs/object' import type { Payload } from '@xyo-network/payload-model' -import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta } from '@xyo-network/payload-model' +import { isPayloadOfSchemaType } from '@xyo-network/payload-model' import { ValueSchema } from './Schema.ts' @@ -10,4 +10,3 @@ export type Value = Payload<{ }> export const isValuePayload = isPayloadOfSchemaType(ValueSchema) -export const isValuePayloadWithMeta = isPayloadOfSchemaTypeWithMeta(ValueSchema) diff --git a/packages/core-payload-plugins/packages/value/src/spec/tsconfig.json b/packages/core-payload-plugins/packages/value/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/core-payload-plugins/packages/value/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/manifest/.npmignore b/packages/manifest/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/manifest/.npmignore +++ b/packages/manifest/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/manifest/package.json b/packages/manifest/package.json index 3ab0879dbf..2ff47c8957 100644 --- a/packages/manifest/package.json +++ b/packages/manifest/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/manifest", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -36,14 +36,15 @@ "@xyo-network/manifest-wrapper": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "ajv": "^8.17.1", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/manifest/packages/model/.npmignore b/packages/manifest/packages/model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/manifest/packages/model/.npmignore +++ b/packages/manifest/packages/model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/manifest/packages/model/package.json b/packages/manifest/packages/model/package.json index a2350dbbe3..58510a7da0 100644 --- a/packages/manifest/packages/model/package.json +++ b/packages/manifest/packages/model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/manifest-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -37,17 +37,18 @@ "package-compile": "yarn gen-schema && yarn package-compile-only" }, "dependencies": { - "@xylabs/hex": "^4.4.10", + "@xylabs/hex": "^4.4.25", "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@types/node": "^22.10.1", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@types/node": "^22.10.2", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2", "typescript-json-schema": "^0.65.1" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/manifest/packages/wrapper/.npmignore b/packages/manifest/packages/wrapper/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/manifest/packages/wrapper/.npmignore +++ b/packages/manifest/packages/wrapper/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/manifest/packages/wrapper/package.json b/packages/manifest/packages/wrapper/package.json index d6fb8db3c9..b502a84651 100644 --- a/packages/manifest/packages/wrapper/package.json +++ b/packages/manifest/packages/wrapper/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/manifest-wrapper", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,7 +29,7 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", + "@xylabs/assert": "^4.4.25", "@xyo-network/account": "workspace:^", "@xyo-network/manifest-model": "workspace:^", "@xyo-network/module-factory-locator": "workspace:^", @@ -41,14 +41,15 @@ "@xyo-network/wallet-model": "workspace:^" }, "devDependencies": { - "@xylabs/object": "^4.4.10", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/object": "^4.4.25", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/manifest/packages/wrapper/src/spec/tsconfig.json b/packages/manifest/packages/wrapper/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/manifest/packages/wrapper/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/manifest/src/spec/tsconfig.json b/packages/manifest/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/manifest/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/.npmignore b/packages/modules/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/.npmignore +++ b/packages/modules/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/package.json b/packages/modules/package.json index a6ad732f73..d1149cd1f6 100644 --- a/packages/modules/package.json +++ b/packages/modules/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/modules", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -38,11 +38,11 @@ "@xyo-network/witness": "workspace:^" }, "devDependencies": { - "@swc/core": "1.10.0", - "@xylabs/delay": "^4.4.10", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@swc/core": "1.10.1", + "@xylabs/delay": "^4.4.25", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/account": "workspace:^", "@xyo-network/archivist-memory": "workspace:^", "@xyo-network/archivist-model": "workspace:^", @@ -64,5 +64,6 @@ }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/archivist/.npmignore b/packages/modules/packages/archivist/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/archivist/.npmignore +++ b/packages/modules/packages/archivist/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/archivist/package.json b/packages/modules/packages/archivist/package.json index e649de07ff..089d5709b9 100644 --- a/packages/modules/packages/archivist/package.json +++ b/packages/modules/packages/archivist/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/archivist", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -39,11 +39,12 @@ "@xyo-network/archivist-wrapper": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/archivist/packages/abstract/.npmignore b/packages/modules/packages/archivist/packages/abstract/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/archivist/packages/abstract/.npmignore +++ b/packages/modules/packages/archivist/packages/abstract/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/archivist/packages/abstract/package.json b/packages/modules/packages/archivist/packages/abstract/package.json index 661e8538b7..94b96ef590 100644 --- a/packages/modules/packages/archivist/packages/abstract/package.json +++ b/packages/modules/packages/archivist/packages/abstract/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/archivist-abstract", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,12 +29,12 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/exists": "^4.4.10", - "@xylabs/hex": "^4.4.10", - "@xylabs/object": "^4.4.10", - "@xylabs/promise": "^4.4.10", - "@xylabs/set": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/exists": "^4.4.25", + "@xylabs/hex": "^4.4.25", + "@xylabs/object": "^4.4.25", + "@xylabs/promise": "^4.4.25", + "@xylabs/set": "^4.4.25", "@xyo-network/account-model": "workspace:^", "@xyo-network/archivist-model": "workspace:^", "@xyo-network/boundwitness-model": "workspace:^", @@ -45,11 +45,12 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts b/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts index b96e21db34..8afbedee11 100644 --- a/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts +++ b/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts @@ -1,6 +1,6 @@ import { assertEx } from '@xylabs/assert' import { exists } from '@xylabs/exists' -import type { Address, Hash } from '@xylabs/hex' +import { type Address, type Hash } from '@xylabs/hex' import { globallyUnique } from '@xylabs/object' import type { Promisable, PromisableArray } from '@xylabs/promise' import { difference } from '@xylabs/set' @@ -41,7 +41,7 @@ import type { import { duplicateModules } from '@xyo-network/module-model' import { PayloadBuilder } from '@xyo-network/payload-builder' import type { - Payload, PayloadWithMeta, Schema, WithMeta, + Payload, Schema, WithStorageMeta, } from '@xyo-network/payload-model' const NOT_IMPLEMENTED = 'Not implemented' as const @@ -69,7 +69,6 @@ export abstract class AbstractArchivist< static override readonly configSchemas: Schema[] = [...super.configSchemas, ArchivistConfigSchema] static override readonly defaultConfigSchema: Schema = ArchivistConfigSchema static override readonly uniqueName = globallyUnique('AbstractArchivist', AbstractArchivist, 'xyo') - private _lastInsertedPayload: Payload | undefined private _parentArchivists?: ArchivistParentInstances override get queries(): string[] { @@ -84,11 +83,11 @@ export abstract class AbstractArchivist< return !!this.config?.storeParentReads } - all(): PromisableArray> { + all(): PromisableArray> { this._noOverride('all') return this.busy(async () => { await this.started('throw') - return await PayloadBuilder.build(await this.allHandler()) + return PayloadBuilder.omitPrivateStorageMeta(await this.allHandler()) }) } @@ -110,7 +109,7 @@ export abstract class AbstractArchivist< return await this.sendQueryRaw(queryPayload, undefined, account) } - commit(): Promisable[]> { + commit(): Promisable { this._noOverride('commit') return this.busy(async () => { await this.started('throw') @@ -136,11 +135,11 @@ export abstract class AbstractArchivist< return await this.sendQueryRaw(queryPayload, undefined, account) } - async get(hashes: Hash[]): Promise[]> { + async get(hashes: Hash[]): Promise[]> { this._noOverride('get') return await this.busy(async () => { await this.started('throw') - return await PayloadBuilder.build(await this.getWithConfig(hashes)) + return await this.getWithConfig(hashes) }) } @@ -149,12 +148,11 @@ export abstract class AbstractArchivist< return await this.sendQueryRaw(queryPayload, undefined, account) } - async insert(payloads: Payload[]): Promise[]> { + async insert(payloads: Payload[]): Promise[]> { this._noOverride('insert') return await this.busy(async () => { await this.started('throw') - // make sure all incoming payloads have proper $hash and $meta - return await this.insertWithConfig(payloads) + return await this.insertWithConfig(PayloadBuilder.omitStorageMeta(payloads)) }) } @@ -163,7 +161,7 @@ export abstract class AbstractArchivist< return await this.sendQueryRaw(queryPayload, payloads, account) } - async next(options?: ArchivistNextOptions): Promise[]> { + async next(options?: ArchivistNextOptions): Promise[]> { this._noOverride('next') return await this.busy(async () => { await this.started('throw') @@ -176,7 +174,7 @@ export abstract class AbstractArchivist< return await this.sendQueryRaw(queryPayload, undefined, account) } - protected allHandler(): PromisableArray { + protected allHandler(): PromisableArray> { throw new Error(NOT_IMPLEMENTED) } @@ -184,7 +182,7 @@ export abstract class AbstractArchivist< throw new Error(NOT_IMPLEMENTED) } - protected commitHandler(): Promisable[]> { + protected commitHandler(): Promisable { throw new Error(NOT_IMPLEMENTED) } @@ -204,7 +202,7 @@ export abstract class AbstractArchivist< return deletedHashes } - protected async getFromParent(hashes: Hash[], archivist: ArchivistInstance): Promise<[WithMeta[], Hash[]]> { + protected async getFromParent(hashes: Hash[], archivist: ArchivistInstance): Promise<[WithStorageMeta[], Hash[]]> { const foundPairs = (await PayloadBuilder.dataHashPairs(await archivist.get(hashes))).filter(([, hash]) => { const askedFor = hashes.includes(hash) if (!askedFor) { @@ -221,11 +219,11 @@ export abstract class AbstractArchivist< return [foundPayloads, notfound] } - protected async getFromParents(hashes: Hash[]): Promise<[WithMeta[], Hash[]]> { + protected async getFromParents(hashes: Hash[]): Promise<[WithStorageMeta[], Hash[]]> { const parents = Object.values((await this.parentArchivists())?.read ?? {}) let remainingHashes = [...hashes] let parentIndex = 0 - let result: WithMeta[] = [] + let result: WithStorageMeta[] = [] // NOTE: intentionally doing this serially while (parentIndex < parents.length && remainingHashes.length > 0) { @@ -237,11 +235,11 @@ export abstract class AbstractArchivist< return [result, remainingHashes] } - protected getHandler(_hashes: Hash[]): Promisable { + protected getHandler(_hashes: Hash[]): Promisable[]> { throw new Error(NOT_IMPLEMENTED) } - protected async getWithConfig(hashes: Hash[], _config?: InsertConfig): Promise[]> { + protected async getWithConfig(hashes: Hash[], _config?: InsertConfig): Promise[]> { // Filter out duplicates const requestedHashes = new Set(hashes) @@ -251,7 +249,7 @@ export abstract class AbstractArchivist< // Do not just blindly return what the archivist told us but // ensure to only return requested payloads and keep track of // the ones it did not find so we can ask the parents. - const foundPayloads: PayloadWithMeta[] = [] + const foundPayloads: WithStorageMeta[] = [] const foundHashes = new Set() // NOTE: We are iterating over the returned result from the archivist @@ -288,14 +286,10 @@ export abstract class AbstractArchivist< if (this.storeParentReads) { await this.insertWithConfig(parentFoundPayloads) } - return await PayloadBuilder.build([...foundPayloads, ...parentFoundPayloads]) + return PayloadBuilder.omitPrivateStorageMeta([...foundPayloads, ...parentFoundPayloads]) } - protected head(): Promisable { - return this._lastInsertedPayload - } - - protected insertHandler(_payloads: WithMeta[]): Promise[]> { + protected insertHandler(_payloads: WithStorageMeta[]): Promisable[]> { throw new Error(NOT_IMPLEMENTED) } @@ -309,19 +303,21 @@ export abstract class AbstractArchivist< const queryPayload = await query.getQuery() const payloadsWithoutQuery = await PayloadBuilder.filterExclude(resolvedPayloads, await PayloadBuilder.dataHash(queryPayload)) const result = await this.insertWithConfig(payloadsWithoutQuery) - // NOTE: There isn't an exact equivalence between what we get and what we store. Once - // we move to returning only inserted Payloads(/hash) instead of a BoundWitness, we - // can grab the actual last one - this._lastInsertedPayload = resolvedPayloads.at(-1) return result } - protected async insertWithConfig(payloads: Payload[], config?: InsertConfig): Promise[]> { + protected async insertWithConfig(payloads: Payload[], config?: InsertConfig): Promise[]> { const emitEvents = config?.emitEvents ?? true const writeToParents = config?.writeToParents ?? true - const payloadsWithMeta = await PayloadBuilder.build(payloads, { stamp: false, validate: true }) - const insertedPayloads = await this.insertHandler(payloadsWithMeta) + // remove the existing payloads + const withStorageMeta = await PayloadBuilder.addStorageMeta(payloads) + const hashes = withStorageMeta.map(p => p._dataHash) + const existingPayloads = await this.getWithConfig(hashes) + const existingHashes = new Set(existingPayloads.map(p => p._hash)) + const payloadsToInsert = withStorageMeta.filter(p => !existingHashes.has(p._hash)) + + const insertedPayloads = await this.insertHandler(payloadsToInsert) if (writeToParents) { await this.writeToParents(insertedPayloads) @@ -330,16 +326,16 @@ export abstract class AbstractArchivist< await this.emit('inserted', { mod: this, payloads: insertedPayloads }) } - return insertedPayloads + return PayloadBuilder.omitPrivateStorageMeta(insertedPayloads) } - protected nextHandler(_options?: ArchivistNextOptions): Promisable[]> { + protected nextHandler(_options?: ArchivistNextOptions): Promisable[]> { throw new Error(NOT_IMPLEMENTED) } - protected async nextWithConfig(options?: ArchivistNextOptions, _config?: InsertConfig): Promise[]> { + protected async nextWithConfig(options?: ArchivistNextOptions, _config?: InsertConfig): Promise[]> { const foundPayloads = await this.nextHandler(options) - return await PayloadBuilder.build(foundPayloads) + return PayloadBuilder.omitPrivateStorageMeta(foundPayloads) } protected async parentArchivists() { @@ -356,10 +352,11 @@ export abstract class AbstractArchivist< payloads: Payload[], queryConfig?: TConfig, ): Promise { - const wrappedQuery = await QueryBoundWitnessWrapper.parseQuery(query, payloads) - const builtQuery = await PayloadBuilder.build(query, { stamp: false, validate: true }) + const sanitizedQuery = PayloadBuilder.omitStorageMeta(query) + const sanitizedPayloads = PayloadBuilder.omitStorageMeta(payloads) + const wrappedQuery = QueryBoundWitnessWrapper.parseQuery(sanitizedQuery, sanitizedPayloads) const queryPayload = await wrappedQuery.getQuery() - assertEx(await this.queryable(query, payloads, queryConfig)) + assertEx(await this.queryable(sanitizedQuery, sanitizedPayloads, queryConfig)) const resultPayloads: Payload[] = [] switch (queryPayload.schema) { @@ -380,20 +377,15 @@ export abstract class AbstractArchivist< hashes: [...(await this.deleteWithConfig(queryPayload.hashes))], schema: ArchivistDeleteQuerySchema, } - resultPayloads.push(resultPayload) + resultPayloads.push(await PayloadBuilder.addStorageMeta(resultPayload)) break } case ArchivistGetQuerySchema: { - if (queryPayload.hashes?.length) { - resultPayloads.push(...(await this.getWithConfig(queryPayload.hashes))) - } else { - const head = await this.head() - if (head) resultPayloads.push(head) - } + resultPayloads.push(...(await this.getWithConfig(queryPayload.hashes ?? []))) break } case ArchivistInsertQuerySchema: { - resultPayloads.push(...(await this.insertQueryHandler(wrappedQuery, payloads))) + resultPayloads.push(...(await this.insertQueryHandler(wrappedQuery, sanitizedPayloads))) break } case ArchivistNextQuerySchema: { @@ -401,24 +393,24 @@ export abstract class AbstractArchivist< break } default: { - const result = await super.queryHandler(query, payloads) + const result = await super.queryHandler(sanitizedQuery, sanitizedPayloads) if (this.config.storeQueries) { - await this.insertHandler([builtQuery]) + await this.insertWithConfig([sanitizedQuery]) } - return result + return PayloadBuilder.omitPrivateStorageMeta(result) } } if (this.config.storeQueries) { - await this.insertHandler([builtQuery]) + await this.insertWithConfig([sanitizedQuery]) } - return resultPayloads + return PayloadBuilder.omitPrivateStorageMeta(resultPayloads) } - protected async writeToParent(parent: ArchivistInstance, payloads: Payload[]): Promise { - return await parent.insert(payloads) + protected async writeToParent(parent: ArchivistInstance, payloads: Payload[]): Promise { + return await parent.insert(PayloadBuilder.omitStorageMeta(payloads)) } - protected async writeToParents(payloads: Payload[]): Promise { + protected async writeToParents(payloads: Payload[]): Promise { const parents = await this.parentArchivists() return ( await Promise.all( diff --git a/packages/modules/packages/archivist/packages/abstract/src/StorageMeta.ts b/packages/modules/packages/archivist/packages/abstract/src/StorageMeta.ts deleted file mode 100644 index a770c8fc34..0000000000 --- a/packages/modules/packages/archivist/packages/abstract/src/StorageMeta.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { assertEx } from '@xylabs/assert' -import type { - Payload, PayloadWithMeta, WithMeta, -} from '@xyo-network/payload-model' - -export interface StorageMeta { - _sequence: bigint -} - -export type WithOptionalStorageMeta = T & Partial - -export type WithStorageMeta = T & StorageMeta - -export const maxSequenceIndex = 10_000_000_000n - -export const sequenceNumber = (index: number) => { - assertEx(index < maxSequenceIndex, () => `index may not be larger than ${maxSequenceIndex}`) - return BigInt(Date.now()) * maxSequenceIndex + BigInt(index) -} - -export const addStorageMeta = (payload: T, index = 0) => { - return { ...payload, _sequence: sequenceNumber(index) } -} - -export const sortByStorageMeta = (payloads: WithStorageMeta[], direction: -1 | 1 = 1) => { - return payloads.sort((a, b) => - a._sequence < b._sequence - ? -direction - : a._sequence > b._sequence - ? direction - : 0) -} - -export function removeStorageMeta(payload: WithOptionalStorageMeta>): WithMeta -export function removeStorageMeta(payloads: WithOptionalStorageMeta>[]): WithMeta[] -export function removeStorageMeta(payload?: WithOptionalStorageMeta>): WithMeta | undefined -export function removeStorageMeta(payload?: WithOptionalStorageMeta>) { - if (!payload) return - if (Array.isArray(payload)) { - return payload.map(p => removeStorageMeta(p)) - } - - const { ...noMeta } = payload - delete noMeta._sequence - return noMeta -} diff --git a/packages/modules/packages/archivist/packages/abstract/src/index.ts b/packages/modules/packages/archivist/packages/abstract/src/index.ts index b2da71f524..df811c36ab 100644 --- a/packages/modules/packages/archivist/packages/abstract/src/index.ts +++ b/packages/modules/packages/archivist/packages/abstract/src/index.ts @@ -1,2 +1 @@ export * from './AbstractArchivist.ts' -export * from './StorageMeta.ts' diff --git a/packages/modules/packages/archivist/packages/cookie/.npmignore b/packages/modules/packages/archivist/packages/cookie/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/archivist/packages/cookie/.npmignore +++ b/packages/modules/packages/archivist/packages/cookie/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/archivist/packages/cookie/package.json b/packages/modules/packages/archivist/packages/cookie/package.json index 233c8cbdb3..95908f50ac 100644 --- a/packages/modules/packages/archivist/packages/cookie/package.json +++ b/packages/modules/packages/archivist/packages/cookie/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/archivist-cookie", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,10 +29,10 @@ "module": "dist/browser/index.mjs", "types": "dist/browser/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/exists": "^4.4.10", - "@xylabs/hex": "^4.4.10", - "@xylabs/promise": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/exists": "^4.4.25", + "@xylabs/hex": "^4.4.25", + "@xylabs/promise": "^4.4.25", "@xyo-network/archivist-abstract": "workspace:^", "@xyo-network/archivist-model": "workspace:^", "@xyo-network/boundwitness-model": "workspace:^", @@ -43,9 +43,9 @@ }, "devDependencies": { "@types/js-cookie": "^3.0.6", - "@xylabs/delay": "^4.4.10", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/delay": "^4.4.25", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "@xyo-network/id-payload-plugin": "workspace:^", "@xyo-network/payload-wrapper": "workspace:^", "typescript": "^5.7.2", @@ -53,5 +53,6 @@ }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/archivist/packages/cookie/src/CookieArchivist.ts b/packages/modules/packages/archivist/packages/cookie/src/CookieArchivist.ts index c8a6c96c97..3b97a00be1 100644 --- a/packages/modules/packages/archivist/packages/cookie/src/CookieArchivist.ts +++ b/packages/modules/packages/archivist/packages/cookie/src/CookieArchivist.ts @@ -21,7 +21,7 @@ import type { BoundWitness } from '@xyo-network/boundwitness-model' import type { AnyConfigSchema } from '@xyo-network/module-model' import { PayloadBuilder } from '@xyo-network/payload-builder' import type { - Payload, PayloadWithMeta, Schema, WithMeta, + Payload, Schema, WithStorageMeta, } from '@xyo-network/payload-model' import Cookies from 'js-cookie' @@ -74,7 +74,7 @@ export class CookieArchivist< ] } - protected override allHandler(): PromisableArray> { + protected override allHandler(): PromisableArray> { try { return Object.entries(Cookies.get()) .filter(([key]) => key.startsWith(`${this.namespace}-`)) @@ -98,14 +98,14 @@ export class CookieArchivist< } } - protected override async commitHandler(): Promise[]> { + protected override async commitHandler(): Promise { try { const payloads = await this.all() assertEx(payloads.length > 0, () => 'Nothing to commit') const settled = await Promise.allSettled( ( Object.values((await this.parentArchivists()).commit ?? [])?.map(async (parent) => { - const queryPayload: WithMeta = await PayloadBuilder.build({ schema: ArchivistInsertQuerySchema }) + const queryPayload: ArchivistInsertQuery = { schema: ArchivistInsertQuerySchema } const query = await this.bindQuery(queryPayload, payloads) return (await parent?.query(query[0], query[1]))?.[0] }) @@ -132,7 +132,7 @@ export class CookieArchivist< return deletedPairs.map(([, hash]) => hash) } - protected override getHandler(hashes: Hash[]): Promisable { + protected override getHandler(hashes: Hash[]): Promisable[]> { return ( hashes.map((hash) => { const cookieString = Cookies.get(this.keyFromHash(hash)) @@ -141,19 +141,15 @@ export class CookieArchivist< ).filter(exists) } - protected override async insertHandler(payloads: Payload[]): Promise[]> { + protected override insertHandler(payloads: WithStorageMeta[]): WithStorageMeta[] { try { - const pairs = await PayloadBuilder.hashPairs(payloads) - const resultPayloads: WithMeta[] = await Promise.all( - pairs.map(async ([payload, hash]) => { - const payloadWithMeta = await PayloadBuilder.build(payload) - const value = JSON.stringify(payloadWithMeta) - assertEx(value.length < this.maxEntrySize, () => `Payload too large [${hash}, ${value.length}]`) - Cookies.set(this.keyFromHash(hash), value) - Cookies.set(this.keyFromHash(payload.$hash), value) - return payloadWithMeta - }), - ) + const resultPayloads: WithStorageMeta[] = payloads.map((payload) => { + const value = JSON.stringify(payload) + assertEx(value.length < this.maxEntrySize, () => `Payload too large [${payload._hash}, ${value.length}]`) + Cookies.set(this.keyFromHash(payload._hash), value) + Cookies.set(this.keyFromHash(payload._dataHash), value) + return payload + }) return resultPayloads } catch (ex) { console.error(`Error: ${JSON.stringify(ex, null, 2)}`) diff --git a/packages/modules/packages/archivist/packages/cookie/src/spec/CookieArchivist.spec.ts b/packages/modules/packages/archivist/packages/cookie/src/spec/CookieArchivist.dom.spec.ts similarity index 89% rename from packages/modules/packages/archivist/packages/cookie/src/spec/CookieArchivist.spec.ts rename to packages/modules/packages/archivist/packages/cookie/src/spec/CookieArchivist.dom.spec.ts index 2ea2d98017..c721103990 100644 --- a/packages/modules/packages/archivist/packages/cookie/src/spec/CookieArchivist.spec.ts +++ b/packages/modules/packages/archivist/packages/cookie/src/spec/CookieArchivist.dom.spec.ts @@ -1,11 +1,11 @@ /** - * @jest-environment jsdom + * @vitest-environment jsdom */ + import { delay } from '@xylabs/delay' import type { Promisable } from '@xylabs/promise' import type { ArchivistInstance } from '@xyo-network/archivist-model' import { IdSchema } from '@xyo-network/id-payload-plugin' -import { PayloadBuilder } from '@xyo-network/payload-builder' import type { Payload } from '@xyo-network/payload-model' import { PayloadWrapper } from '@xyo-network/payload-wrapper' import { expect, test } from 'vitest' @@ -39,20 +39,20 @@ const testArchivistRoundTrip = (archivistPromise: Promisable, const testArchivistAll = (archivistPromise: Promisable, name: string) => { test(`Archivist All [${name}]`, async () => { - const idPayload = { - salt: Date.now().toString(), - schema: IdSchema, - } const archivist = await archivistPromise await archivist.clear?.() for (let x = 0; x < 10; x++) { - await archivist.insert([await PayloadBuilder.build(idPayload)]) + const idPayload = { + salt: Date.now().toString(), + schema: IdSchema, + } + await archivist.insert([idPayload]) await delay(10) } const getResult = await archivist.all?.() expect(getResult).toBeDefined() // this is 11 here since we double store all these and every one has the same dataHash - expect(getResult?.length).toBe(2) + expect(getResult?.length).toBe(10) }) } diff --git a/packages/modules/packages/archivist/packages/cookie/src/spec/tsconfig.json b/packages/modules/packages/archivist/packages/cookie/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/archivist/packages/cookie/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/archivist/packages/cookie/tsconfig.json b/packages/modules/packages/archivist/packages/cookie/tsconfig.json index 060bf3dc7f..cc4201002e 100644 --- a/packages/modules/packages/archivist/packages/cookie/tsconfig.json +++ b/packages/modules/packages/archivist/packages/cookie/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - + "lib": ["esnext", "dom"], }, "exclude": ["dist", "docs", "packages", "node_modules"], "extends": "@xylabs/tsconfig" diff --git a/packages/modules/packages/archivist/packages/filesystem/.npmignore b/packages/modules/packages/archivist/packages/filesystem/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/archivist/packages/filesystem/.npmignore +++ b/packages/modules/packages/archivist/packages/filesystem/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/archivist/packages/filesystem/package.json b/packages/modules/packages/archivist/packages/filesystem/package.json index d70504d193..be64b7c4af 100644 --- a/packages/modules/packages/archivist/packages/filesystem/package.json +++ b/packages/modules/packages/archivist/packages/filesystem/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/filesystem-archivist", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -33,27 +33,27 @@ "module": "dist/node/index.mjs", "types": "dist/node/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/error": "^4.4.10", - "@xylabs/hex": "^4.4.10", - "@xylabs/promise": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/error": "^4.4.25", + "@xylabs/hex": "^4.4.25", + "@xylabs/promise": "^4.4.25", "@xyo-network/account": "workspace:^", "@xyo-network/archivist-abstract": "workspace:^", "@xyo-network/archivist-memory": "workspace:^", "@xyo-network/archivist-model": "workspace:^", "@xyo-network/boundwitness-model": "workspace:^", "@xyo-network/module-model": "workspace:^", - "@xyo-network/payload-builder": "workspace:^", "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/archivist/packages/filesystem/src/FilesystemArchivist.ts b/packages/modules/packages/archivist/packages/filesystem/src/FilesystemArchivist.ts index 5174b8c010..25ec456a36 100644 --- a/packages/modules/packages/archivist/packages/filesystem/src/FilesystemArchivist.ts +++ b/packages/modules/packages/archivist/packages/filesystem/src/FilesystemArchivist.ts @@ -16,9 +16,8 @@ import { } from '@xyo-network/archivist-model' import { BoundWitness } from '@xyo-network/boundwitness-model' import { AnyConfigSchema, creatableModule } from '@xyo-network/module-model' -import { PayloadBuilder } from '@xyo-network/payload-builder' import { - Payload, PayloadWithMeta, Schema, WithMeta, + Payload, Schema, WithStorageMeta, } from '@xyo-network/payload-model' export interface FileSystemArchivistData { @@ -59,20 +58,14 @@ export class FilesystemArchivist 'Archivist Data must be object') assertEx(Array.isArray(data.payloads), () => 'Archivist Data "payloads" field must be array of payloads') - data.payloads = await this.payloadsFromRawPayloads(data.payloads) return data } - private static async payloadsFromRawPayloads(rawPayloads: Payload[]) { - // validation should be done in here. I don't believe parse does much validation yet. - return await Promise.all(rawPayloads.map(async payload => await PayloadBuilder.build(payload))) - } - - protected override allHandler(): PromisableArray { + protected override allHandler(): PromisableArray> { return this.memoryArchivist.all() } @@ -80,7 +73,7 @@ export class FilesystemArchivist[]> { + protected override async commitHandler(): Promise { return await this.memoryArchivist.commit() } @@ -88,11 +81,11 @@ export class FilesystemArchivist { + protected override async getHandler(hashes: Hash[]): Promise[]> { return await this.memoryArchivist.get(hashes) } - protected override async insertHandler(payloads: Payload[]): Promise { + protected override async insertHandler(payloads: Payload[]): Promise[]> { return await this.memoryArchivist.insert(payloads) } @@ -100,8 +93,8 @@ export class FilesystemArchivist PayloadBuilder.build(payload)))) + const data = FilesystemArchivist.dataFromRawJson(await this.rawJsonFromFile()) + await this._memoryArchivist.insert(data.payloads) } catch (ex) { handleError(ex, (error) => { this.logger?.error(error.message) diff --git a/packages/modules/packages/archivist/packages/filesystem/src/spec/tsconfig.json b/packages/modules/packages/archivist/packages/filesystem/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/archivist/packages/filesystem/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/archivist/packages/firebase/.npmignore b/packages/modules/packages/archivist/packages/firebase/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/archivist/packages/firebase/.npmignore +++ b/packages/modules/packages/archivist/packages/firebase/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/archivist/packages/firebase/package.json b/packages/modules/packages/archivist/packages/firebase/package.json index f45d6114c5..9841eb1b61 100644 --- a/packages/modules/packages/archivist/packages/firebase/package.json +++ b/packages/modules/packages/archivist/packages/firebase/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/archivist-firebase", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,26 +29,26 @@ "module": "dist/browser/index.mjs", "types": "dist/browser/index.d.ts", "dependencies": { - "@firebase/app": "^0.10.16", + "@firebase/app": "^0.10.17", "@firebase/firestore": "^4.7.5", - "@xylabs/assert": "^4.4.10", - "@xylabs/exists": "^4.4.10", - "@xylabs/hex": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/exists": "^4.4.25", + "@xylabs/hex": "^4.4.25", "@xyo-network/archivist-abstract": "workspace:^", "@xyo-network/archivist-model": "workspace:^", "@xyo-network/module-model": "workspace:^", - "@xyo-network/payload-builder": "workspace:^", "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { "@firebase/rules-unit-testing": "^4.0.1", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "firebase": "^11.0.2", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "firebase": "^11.1.0", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/archivist/packages/firebase/src/Archivist.ts b/packages/modules/packages/archivist/packages/firebase/src/Archivist.ts index e7347227bd..d5ec9a20cc 100644 --- a/packages/modules/packages/archivist/packages/firebase/src/Archivist.ts +++ b/packages/modules/packages/archivist/packages/firebase/src/Archivist.ts @@ -18,10 +18,8 @@ import { ArchivistNextQuerySchema, } from '@xyo-network/archivist-model' import { creatableModule } from '@xyo-network/module-model' -import { PayloadBuilder } from '@xyo-network/payload-builder' import { - Payload, Schema, - WithMeta, + Payload, Schema, WithStorageMeta, } from '@xyo-network/payload-model' import { FirebaseArchivistConfigSchema } from './Config.ts' @@ -58,7 +56,7 @@ export class FirebaseArchivist< return getFirestore(this.firebaseApp, assertEx(this.config.dbId, () => 'no dbId specified')) } - protected override async getHandler(hashes: Hash[]): Promise[]> { + protected override async getHandler(hashes: Hash[]): Promise[]> { const payloadCollection = this.collection return (await Promise.all(hashes.map(async (hash) => { const docRef = doc(payloadCollection, hash) @@ -66,16 +64,15 @@ export class FirebaseArchivist< if (!docSnap.exists()) { return null } - return PayloadBuilder.build(docSnap.data() as Payload) + return docSnap.data() as WithStorageMeta }))).filter(exists) } - protected override async insertHandler(payloads: Payload[]): Promise[]> { - const pairs = await PayloadBuilder.hashPairs(payloads, { stamp: false }) + protected override async insertHandler(payloads: WithStorageMeta[]): Promise[]> { const payloadCollection = this.collection - return await Promise.all(pairs.map( - async ([payload, hash]) => { - const docRef = doc(payloadCollection, hash) + return await Promise.all(payloads.map( + async (payload) => { + const docRef = doc(payloadCollection, payload._hash) await setDoc(docRef, payload) return payload }, diff --git a/packages/modules/packages/archivist/packages/firebase/src/spec/Archivist.spec.ts b/packages/modules/packages/archivist/packages/firebase/src/spec/Archivist.spec.ts index 7761ba74e5..b2ecc47803 100644 --- a/packages/modules/packages/archivist/packages/firebase/src/spec/Archivist.spec.ts +++ b/packages/modules/packages/archivist/packages/firebase/src/spec/Archivist.spec.ts @@ -25,7 +25,7 @@ beforeAll(async () => { }) }) -test('FirebaseArchivist Load', async () => { +test.skip('FirebaseArchivist Load', async () => { const firebaseApp = testEnv.authenticatedContext('test') const db = firebaseApp.firestore() db.useEmulator('localhost', 8080) diff --git a/packages/modules/packages/archivist/packages/firebase/src/spec/tsconfig.json b/packages/modules/packages/archivist/packages/firebase/src/spec/tsconfig.json deleted file mode 100644 index d92be4a5b1..0000000000 --- a/packages/modules/packages/archivist/packages/firebase/src/spec/tsconfig.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "compilerOptions": { - "lib": ["esnext", "dom"], - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/archivist/packages/indexeddb/.npmignore b/packages/modules/packages/archivist/packages/indexeddb/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/archivist/packages/indexeddb/.npmignore +++ b/packages/modules/packages/archivist/packages/indexeddb/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/archivist/packages/indexeddb/package.json b/packages/modules/packages/archivist/packages/indexeddb/package.json index 76f83be96e..c6cc5c36de 100644 --- a/packages/modules/packages/archivist/packages/indexeddb/package.json +++ b/packages/modules/packages/archivist/packages/indexeddb/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/archivist-indexeddb", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,21 +29,22 @@ "module": "dist/browser/index.mjs", "types": "dist/browser/index.d.ts", "dependencies": { - "@xylabs/array": "^4.4.10", - "@xylabs/assert": "^4.4.10", - "@xylabs/exists": "^4.4.10", - "@xylabs/hex": "^4.4.10", + "@xylabs/array": "^4.4.25", + "@xylabs/assert": "^4.4.25", + "@xylabs/exists": "^4.4.25", + "@xylabs/hex": "^4.4.25", "@xyo-network/archivist-abstract": "workspace:^", "@xyo-network/archivist-model": "workspace:^", "@xyo-network/module-model": "workspace:^", "@xyo-network/payload-builder": "workspace:^", "@xyo-network/payload-model": "workspace:^", - "idb": "^8.0.0" + "idb": "^8.0.1" }, "devDependencies": { - "@xylabs/object": "^4.4.10", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/delay": "^4.4.25", + "@xylabs/object": "^4.4.25", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "@xyo-network/account": "workspace:^", "@xyo-network/id-payload-plugin": "workspace:^", "@xyo-network/payload-wrapper": "workspace:^", @@ -53,5 +54,6 @@ }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/archivist/packages/indexeddb/src/Archivist.ts b/packages/modules/packages/archivist/packages/indexeddb/src/Archivist.ts index 7b789fd142..8b0a55a08c 100644 --- a/packages/modules/packages/archivist/packages/indexeddb/src/Archivist.ts +++ b/packages/modules/packages/archivist/packages/indexeddb/src/Archivist.ts @@ -1,7 +1,8 @@ -import { uniq, uniqBy } from '@xylabs/array' +/* eslint-disable complexity */ +import { uniq } from '@xylabs/array' import { assertEx } from '@xylabs/assert' import { exists } from '@xylabs/exists' -import { Hash } from '@xylabs/hex' +import { Hash, Hex } from '@xylabs/hex' import { AbstractArchivist } from '@xyo-network/archivist-abstract' import { ArchivistAllQuerySchema, @@ -17,7 +18,7 @@ import { import { creatableModule } from '@xyo-network/module-model' import { PayloadBuilder } from '@xyo-network/payload-builder' import { - Payload, PayloadWithMeta, Schema, + Payload, Schema, SequenceConstants, WithStorageMeta, } from '@xyo-network/payload-model' import { IDBPCursorWithValue, IDBPDatabase, openDB, @@ -26,10 +27,8 @@ import { import { IndexedDbArchivistConfigSchema } from './Config.ts' import { IndexedDbArchivistParams } from './Params.ts' -type StoredPayload = PayloadWithMeta & { _hash: string } - export interface PayloadStore { - [s: string]: StoredPayload + [s: string]: WithStorageMeta } @creatableModule() @@ -43,7 +42,7 @@ export class IndexedDbArchivist< static readonly defaultDbVersion = 1 static readonly defaultStoreName = 'payloads' private static readonly dataHashIndex: IndexDescription = { - key: { $hash: 1 }, multiEntry: false, unique: false, + key: { _dataHash: 1 }, multiEntry: false, unique: false, } private static readonly hashIndex: IndexDescription = { @@ -54,12 +53,18 @@ export class IndexedDbArchivist< key: { schema: 1 }, multiEntry: false, unique: false, } + private static readonly sequenceIndex: IndexDescription = { + key: { _sequence: 1 }, multiEntry: false, unique: true, + } + // eslint-disable-next-line @typescript-eslint/member-ordering static readonly hashIndexName = buildStandardIndexName(IndexedDbArchivist.hashIndex) // eslint-disable-next-line @typescript-eslint/member-ordering static readonly dataHashIndexName = buildStandardIndexName(IndexedDbArchivist.dataHashIndex) // eslint-disable-next-line @typescript-eslint/member-ordering static readonly schemaIndexName = buildStandardIndexName(IndexedDbArchivist.schemaIndex) + // eslint-disable-next-line @typescript-eslint/member-ordering + static readonly sequenceIndexName = buildStandardIndexName(IndexedDbArchivist.sequenceIndex) private _dbName?: string private _storeName?: string @@ -126,14 +131,20 @@ export class IndexedDbArchivist< * The indexes to create on the store */ private get indexes() { - return [IndexedDbArchivist.dataHashIndex, IndexedDbArchivist.hashIndex, IndexedDbArchivist.schemaIndex, ...(this.config?.storage?.indexes ?? [])] + return [ + IndexedDbArchivist.dataHashIndex, + IndexedDbArchivist.hashIndex, + IndexedDbArchivist.schemaIndex, + IndexedDbArchivist.sequenceIndex, + ...(this.config?.storage?.indexes ?? []), + ] } - protected override async allHandler(): Promise { + protected override async allHandler(): Promise[]> { // Get all payloads from the store const payloads = await this.useDb(db => db.getAll(this.storeName)) // Remove any metadata before returning to the client - return await Promise.all(payloads.map(payload => PayloadBuilder.build(payload))) + return payloads } protected override async clearHandler(): Promise { @@ -144,7 +155,10 @@ export class IndexedDbArchivist< // Filter duplicates to prevent unnecessary DB queries const uniqueHashes = [...new Set(hashes)] const pairs = await PayloadBuilder.hashPairs(await this.getHandler(uniqueHashes)) - const hashesToDelete = pairs.flatMap(pair => [pair[0].$hash, pair[1]]) + const hashesToDelete = (await Promise.all(pairs.map(async (pair) => { + const dataHash0 = await PayloadBuilder.dataHash(pair[0]) + return [dataHash0, pair[1]] + }))).flat() // Remove any duplicates const distinctHashes = [...new Set(hashesToDelete)] return await this.useDb(async (db) => { @@ -168,6 +182,52 @@ export class IndexedDbArchivist< }) } + protected async getFromCursor( + db: IDBPDatabase, + storeName: string, + order: 'asc' | 'desc' = 'asc', + limit: number = 10, + cursor?: Hex, + ): Promise { + // TODO: We have to handle the case where the cursor is not found, and then find the correct cursor to start with (thunked cursor) + const transaction = db.transaction(storeName, 'readonly') + const store = transaction.objectStore(storeName) + const sequenceIndex = assertEx(store.index(IndexedDbArchivist.sequenceIndexName), () => 'Failed to get sequence index') + let sequenceCursor: IDBPCursorWithValue | null | undefined = undefined + const parsedCursor = cursor === SequenceConstants.minLocalSequence ? null : cursor + sequenceCursor = assertEx(await sequenceIndex.openCursor( + null, + order === 'desc' ? 'prev' : 'next', + ), () => `Failed to get cursor [${parsedCursor}, ${cursor}]`) + if (!sequenceCursor?.value) return [] + try { + sequenceCursor = parsedCursor + ? sequenceCursor.value._sequence === parsedCursor ? await sequenceCursor?.advance(1) : await (await sequenceCursor?.continue(parsedCursor))?.advance(1) + : sequenceCursor // advance to skip the initial value + } catch { + return [] + } + + let remaining = limit + const result: WithStorageMeta[] = [] + while (remaining) { + const value = sequenceCursor?.value + if (value) { + result.push(value) + try { + sequenceCursor = await sequenceCursor?.advance(1) + } catch { + break + } + if (sequenceCursor === null) { + break + } + } + remaining-- + } + return result + } + /** * Uses an index to get a payload by the index value, but returns the value with the primary key (from the root store) * @param db The db instance to use @@ -181,7 +241,7 @@ export class IndexedDbArchivist< storeName: string, indexName: string, key: IDBValidKey, - ): Promise<[number, StoredPayload] | undefined> { + ): Promise<[number, WithStorageMeta] | undefined> { const transaction = db.transaction(storeName, 'readonly') const store = transaction.objectStore(storeName) const index = store.index(indexName) @@ -197,56 +257,7 @@ export class IndexedDbArchivist< } } - // eslint-disable-next-line complexity - protected async getFromOffset( - db: IDBPDatabase, - storeName: string, - order: 'asc' | 'desc' = 'asc', - limit: number = 10, - offset?: Hash, - ): Promise { - const transaction = db.transaction(storeName, 'readonly') - const store = transaction.objectStore(storeName) - const hashIndex = store.index(IndexedDbArchivist.hashIndexName) - let primaryCursor: IDBPCursorWithValue | null | undefined = undefined - if (offset) { - const hashCursor = assertEx(await hashIndex.openCursor(offset), () => 'Failed to get cursor') - const startPrimaryKey = (hashCursor?.primaryKey ?? 0) as number // we know the primary key is a number and starts at 1 - primaryCursor = await (order === 'desc' - ? store.openCursor(IDBKeyRange.upperBound(startPrimaryKey), 'prev') - : store.openCursor(IDBKeyRange.lowerBound(startPrimaryKey), 'next')) - if (!primaryCursor?.value) return [] - try { - primaryCursor = await primaryCursor?.advance(1) // advance to skip the offset value - } catch { - return [] - } - } else { - primaryCursor = await store.openCursor(null, order === 'desc' ? 'prev' : 'next') - if (!primaryCursor?.value) return [] - } - - let remaining = limit - const result: StoredPayload[] = [] - while (remaining) { - const value = primaryCursor?.value - if (value) { - result.push(value) - try { - primaryCursor = await primaryCursor?.advance(1) - } catch { - break - } - if (primaryCursor === null) { - break - } - } - remaining-- - } - return result - } - - protected override async getHandler(hashes: string[]): Promise { + protected override async getHandler(hashes: string[]): Promise { const payloads = await this.useDb(db => Promise.all( // Filter duplicates to prevent unnecessary DB queries @@ -281,9 +292,7 @@ export class IndexedDbArchivist< ) } - protected override async insertHandler(payloads: Payload[]): Promise { - // Get the unique pairs of payloads and their hashes - const uniquePayloadHashPairs = uniqBy(await PayloadBuilder.hashPairs(payloads), ([, _hash]) => _hash) + protected override async insertHandler(payloads: WithStorageMeta[]): Promise[]> { return await this.useDb(async (db) => { // Perform all inserts via a single transaction to ensure atomicity // with respect to checking for the pre-existence of the hash. @@ -293,16 +302,14 @@ export class IndexedDbArchivist< // Get the object store const store = tx.objectStore(this.storeName) // Return only the payloads that were successfully inserted - const inserted: PayloadWithMeta[] = [] + const inserted: WithStorageMeta[] = [] try { await Promise.all( - uniquePayloadHashPairs.map(async ([payload, _hash]) => { - // Check if the root hash already exists - const existingRootHash = await store.index(IndexedDbArchivist.hashIndexName).get(_hash) - // If it does not already exist - if (!existingRootHash) { - // Insert the payload - await store.put({ ...payload, _hash }) + payloads.map(async (payload) => { + // only insert if hash does not already exist + if (!await store.index(IndexedDbArchivist.hashIndexName).get(payload._hash)) { + // Insert the payload + await store.put(payload) // Add it to the inserted list inserted.push(payload) } @@ -316,12 +323,12 @@ export class IndexedDbArchivist< }) } - protected override async nextHandler(options?: ArchivistNextOptions): Promise { + protected override async nextHandler(options?: ArchivistNextOptions): Promise[]> { const { - limit, offset, order, + limit, cursor, order, } = options ?? {} return await this.useDb(async (db) => { - return await this.getFromOffset(db, this.storeName, order, limit ?? 10, offset) + return await this.getFromCursor(db, this.storeName, order, limit ?? 10, cursor) }) } diff --git a/packages/modules/packages/archivist/packages/indexeddb/src/spec/Archivist.Upgrade.spec.ts b/packages/modules/packages/archivist/packages/indexeddb/src/spec/Archivist.Upgrade.spec.ts index ad86594138..46be116323 100644 --- a/packages/modules/packages/archivist/packages/indexeddb/src/spec/Archivist.Upgrade.spec.ts +++ b/packages/modules/packages/archivist/packages/indexeddb/src/spec/Archivist.Upgrade.spec.ts @@ -1,6 +1,3 @@ -/** - * @jest-environment jsdom - */ import type { AccountInstance } from '@xyo-network/account' import { Account } from '@xyo-network/account' import type { ArchivistInstance } from '@xyo-network/archivist-model' diff --git a/packages/modules/packages/archivist/packages/indexeddb/src/spec/Archivist.spec.ts b/packages/modules/packages/archivist/packages/indexeddb/src/spec/Archivist.spec.ts index d3aec31cf6..c2a95cef9b 100644 --- a/packages/modules/packages/archivist/packages/indexeddb/src/spec/Archivist.spec.ts +++ b/packages/modules/packages/archivist/packages/indexeddb/src/spec/Archivist.spec.ts @@ -1,8 +1,9 @@ -/** - * @jest-environment jsdom - */ +/* eslint-disable complexity */ +/* eslint-disable max-statements */ +import { delay } from '@xylabs/delay' import type { Hash } from '@xylabs/hex' +import type { AnyObject } from '@xylabs/object' import { toJsonString } from '@xylabs/object' import type { AccountInstance } from '@xyo-network/account' import { Account } from '@xyo-network/account' @@ -10,7 +11,7 @@ import type { ArchivistInstance } from '@xyo-network/archivist-model' import { isArchivistInstance, isArchivistModule } from '@xyo-network/archivist-model' import { IdSchema } from '@xyo-network/id-payload-plugin' import { PayloadBuilder } from '@xyo-network/payload-builder' -import type { Payload, PayloadWithMeta } from '@xyo-network/payload-model' +import type { Payload, WithStorageMeta } from '@xyo-network/payload-model' import { PayloadWrapper } from '@xyo-network/payload-wrapper' import { IDBCursor, @@ -38,7 +39,7 @@ import { IndexedDbArchivistConfigSchema } from '../Config.ts' * @group archivist */ describe('IndexedDbArchivist', () => { - type TestPayload = PayloadWithMeta<{ salt: string; schema: string }> + type TestPayload = Payload<{ salt: string; schema: string }> // Augment window with prototypes to ensure instance of comparisons work globalThis.IDBCursor = IDBCursor @@ -55,11 +56,9 @@ describe('IndexedDbArchivist', () => { globalThis.indexedDB = indexedDB const fillDb = async (db: ArchivistInstance, count: number = 10): Promise => { - const sources = await Promise.all( - Array.from({ length: count }).map(async (_, i) => { - return await PayloadBuilder.build({ salt: `${i}`, schema: IdSchema }) - }), - ) + const sources = Array.from({ length: count }).map((_, i) => { + return { salt: `${i}`, schema: IdSchema } + }) for (const source of sources) { await db.insert([source]) } @@ -162,7 +161,7 @@ describe('IndexedDbArchivist', () => { const getResult = await archivistModule.all?.() expect(getResult).toBeDefined() expect(getResult?.length).toBe(sources.length) - expect(getResult).toEqual(sources) + expect(PayloadBuilder.omitStorageMeta(getResult)).toEqual(sources) }) }) @@ -217,7 +216,7 @@ describe('IndexedDbArchivist', () => { it('returned by order of insertion', async () => { const shuffled = shuffleArray(sources) const sourceHashes = await Promise.all(shuffled.map(source => PayloadBuilder.dataHash(source))) - const getResult = (await archivistModule.get(sourceHashes)) as TestPayload[] + const getResult = (await archivistModule.get(sourceHashes)) as WithStorageMeta[] expect(getResult).toBeDefined() expect(getResult.length).toBe(sourceHashes.length) const salts = sources.map(source => source.salt) @@ -231,28 +230,28 @@ describe('IndexedDbArchivist', () => { expect(getResult.length).toBe(0) }) describe('by hash', () => { - let payload1: PayloadWithMeta - let payload2: PayloadWithMeta + let payload1: Payload + let payload2: Payload let dataHash1: Hash let dataHash2: Hash let rootHash1: Hash let rootHash2: Hash beforeAll(async () => { const salt = '650123f6-191e-4cc4-a813-f7a29dcbfb0e' - payload1 = await PayloadBuilder.build({ - _signatures: [ + payload1 = { + $some: [ '12bed6aa884f5b7ffc08e19790b5db0da724b8b7471138dcbec090a0798861db0da8255f0d9297ba981b2cbbea65d9eadabac6632124f10f22c709d333a1f285', ], salt, schema: IdSchema, - }) - payload2 = await PayloadBuilder.build({ - _signatures: [ + } + payload2 = { + $some: [ '22bed6aa884f5b7ffc08e19790b5db0da724b8b7471138dcbec090a0798861db0da8255f0d9297ba981b2cbbea65d9eadabac6632124f10f22c709d333a1f285', ], salt, schema: IdSchema, - }) + } dataHash1 = await PayloadBuilder.dataHash(payload1) dataHash2 = await PayloadBuilder.dataHash(payload2) rootHash1 = await PayloadBuilder.hash(payload1) @@ -279,7 +278,7 @@ describe('IndexedDbArchivist', () => { expect(result).toBeDefined() expect(result.length).toBe(1) // Returns the first occurrence of the data hash - expect(result[0]).toEqual(payload1) + expect(PayloadBuilder.omitStorageMeta(result[0])).toEqual(payload1) }) }) describe('root hash', () => { @@ -300,7 +299,7 @@ describe('IndexedDbArchivist', () => { describe('with unique data', () => { const dbName = 'bd86d2dd-dc48-4621-8c1f-105ba2e90287' const storeName = 'f8d14049-2966-4198-a2ab-1c096a949315' - let sources: PayloadWithMeta[] = [] + let sources: Payload[] = [] let archivistModule: ArchivistInstance beforeAll(async () => { archivistModule = await IndexedDbArchivist.create({ @@ -319,7 +318,7 @@ describe('IndexedDbArchivist', () => { expect(getResult).toBeDefined() expect(getResult.length).toBe(1) const [result] = getResult - expect(PayloadBuilder.withoutMeta(result)).toEqual(PayloadBuilder.withoutMeta(source)) + expect(PayloadBuilder.omitStorageMeta(result)).toEqual(PayloadBuilder.omitStorageMeta(source)) const resultHash = await PayloadBuilder.dataHash(result) expect(resultHash).toBe(sourceHash) }), @@ -333,7 +332,7 @@ describe('IndexedDbArchivist', () => { expect(getResult).toBeDefined() expect(getResult.length).toBe(1) const [result] = getResult - expect(PayloadBuilder.withoutMeta(result)).toEqual(PayloadBuilder.withoutMeta(source)) + expect(PayloadBuilder.omitStorageMeta(result)).toEqual(PayloadBuilder.omitStorageMeta(source)) const resultHash = await PayloadBuilder.hash(result) expect(resultHash).toBe(sourceHash) }), @@ -354,9 +353,9 @@ describe('IndexedDbArchivist', () => { }) it('handles duplicate insertions', async () => { // Insert same payload twice - const source = await PayloadBuilder.build({ salt: '2d515e1d-d82c-4545-9903-3eded7fefa7c', schema: IdSchema }) + const source = { salt: '2d515e1d-d82c-4545-9903-3eded7fefa7c', schema: IdSchema } // First insertion should succeed and return the inserted payload - expect(await archivistModule.insert([source])).toEqual([source]) + expect((await archivistModule.insert([source]))[0]._hash).toEqual(await PayloadBuilder.hash(source)) // Second insertion should succeed but return empty array since no new data was inserted expect(await archivistModule.insert([source])).toEqual([]) // Ensure we can get the inserted payload @@ -387,56 +386,66 @@ describe('IndexedDbArchivist', () => { const account = await Account.random() const payloads1 = [ - await PayloadBuilder.build({ schema: 'network.xyo.test', value: 1 }), - await PayloadBuilder.build({ schema: 'network.xyo.test', value: 2 }), + { schema: 'network.xyo.test', value: 1 }, ] - // console.log('Payloads1:', toJsonString(await PayloadBuilder.hashPairs(payloads1), 10)) - const payloads2 = [ - await PayloadBuilder.build({ schema: 'network.xyo.test', value: 3 }), - await PayloadBuilder.build({ schema: 'network.xyo.test', value: 4 }), + { schema: 'network.xyo.test', value: 2 }, ] - // console.log('Payloads2:', toJsonString(await PayloadBuilder.hashPairs(payloads2), 10)) + const payloads3 = [ + { schema: 'network.xyo.test', value: 3 }, + ] + + const payloads4 = [ + { schema: 'network.xyo.test', value: 4 }, + ] await archivist.insert(payloads1) + await delay(1) console.log(toJsonString(payloads1, 10)) const [bw, payloads, errors] = await archivist.insertQuery(payloads2, account) + await delay(1) + await archivist.insert(payloads3) + await delay(1) + await archivist.insert(payloads4) + await delay(1) expect(bw).toBeDefined() expect(payloads).toBeDefined() expect(errors).toBeDefined() - // console.log(toJsonString([bw, payloads, errors], 10)) - const batch1 = await archivist.next?.({ limit: 2 }) expect(batch1.length).toBe(2) - expect(batch1?.[0].$hash).toEqual(payloads1[0].$hash) + expect(await PayloadBuilder.dataHash(batch1?.[0])).toEqual(await PayloadBuilder.dataHash(payloads1[0])) - const batch2 = await archivist.next?.({ limit: 2, offset: await PayloadBuilder.hash(batch1?.[1]) }) + const batch2 = await archivist.next?.({ limit: 2, cursor: batch1?.[1]._sequence }) expect(batch2.length).toBe(2) - expect(batch2?.[0].$hash).toEqual(payloads2[0].$hash) + expect(await PayloadBuilder.dataHash(batch2?.[0])).toEqual(await PayloadBuilder.dataHash(payloads3[0])) + + const batch3 = await archivist.next?.({ limit: 20 }) + expect(batch3.length).toBe(4) + expect(await PayloadBuilder.dataHash(batch3?.[0])).toEqual(await PayloadBuilder.dataHash(payloads1[0])) - const batch3 = await archivist.next?.({ limit: 20, offset: await PayloadBuilder.hash(batch1?.[1]) }) - expect(batch3.length).toBe(2) - expect(batch3?.[0].$hash).toEqual(payloads2[0].$hash) + const batch4 = await archivist.next?.({ limit: 20, cursor: batch1?.[0]._sequence }) + expect(batch4.length).toBe(3) + expect(await PayloadBuilder.dataHash(batch4?.[0])).toEqual(await PayloadBuilder.dataHash(payloads2[0])) // desc const batch1Desc = await archivist.next?.({ limit: 2, order: 'desc' }) expect(batch1Desc.length).toBe(2) - expect(batch1Desc?.[0].$hash).toEqual(payloads2[1].$hash) + expect(await PayloadBuilder.dataHash(batch1Desc?.[0])).toEqual(await PayloadBuilder.dataHash(payloads4[0])) const batch2Desc = await archivist.next?.({ - limit: 2, offset: await PayloadBuilder.hash(batch1Desc?.[1]), order: 'desc', + limit: 2, cursor: batch1Desc?.[1]._sequence, order: 'desc', }) expect(batch2Desc.length).toBe(2) - expect(batch2Desc?.[1].$hash).toEqual(payloads1[0].$hash) + expect(await PayloadBuilder.dataHash(batch2Desc?.[1])).toEqual(await PayloadBuilder.dataHash(payloads1[0])) const batch3Desc = await archivist.next?.({ - limit: 20, offset: await PayloadBuilder.hash(batch1Desc?.[1]), order: 'desc', + limit: 20, cursor: batch1Desc?.[1]._sequence, order: 'desc', }) expect(batch3Desc.length).toBe(2) - expect(batch3Desc?.[1].$hash).toEqual(payloads1[0].$hash) + expect(await PayloadBuilder.dataHash(batch3Desc?.[1])).toEqual(await PayloadBuilder.dataHash(payloads1[0])) }) }) }) diff --git a/packages/modules/packages/archivist/packages/indexeddb/src/spec/tsconfig.json b/packages/modules/packages/archivist/packages/indexeddb/src/spec/tsconfig.json deleted file mode 100644 index d92be4a5b1..0000000000 --- a/packages/modules/packages/archivist/packages/indexeddb/src/spec/tsconfig.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "compilerOptions": { - "lib": ["esnext", "dom"], - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/archivist/packages/memory/.npmignore b/packages/modules/packages/archivist/packages/memory/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/archivist/packages/memory/.npmignore +++ b/packages/modules/packages/archivist/packages/memory/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/archivist/packages/memory/package.json b/packages/modules/packages/archivist/packages/memory/package.json index c06a203093..f33d505b72 100644 --- a/packages/modules/packages/archivist/packages/memory/package.json +++ b/packages/modules/packages/archivist/packages/memory/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/archivist-memory", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,11 +29,11 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/exists": "^4.4.10", - "@xylabs/hex": "^4.4.10", - "@xylabs/object": "^4.4.10", - "@xylabs/promise": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/exists": "^4.4.25", + "@xylabs/hex": "^4.4.25", + "@xylabs/object": "^4.4.25", + "@xylabs/promise": "^4.4.25", "@xyo-network/archivist-abstract": "workspace:^", "@xyo-network/archivist-model": "workspace:^", "@xyo-network/boundwitness-model": "workspace:^", @@ -43,14 +43,17 @@ "lru-cache": "^11.0.2" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/delay": "^4.4.25", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/account": "workspace:^", + "@xyo-network/id-payload-plugin": "workspace:^", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/archivist/packages/memory/src/MemoryArchivist.ts b/packages/modules/packages/archivist/packages/memory/src/MemoryArchivist.ts index ab89150ec7..16bc6558b0 100644 --- a/packages/modules/packages/archivist/packages/memory/src/MemoryArchivist.ts +++ b/packages/modules/packages/archivist/packages/memory/src/MemoryArchivist.ts @@ -1,11 +1,9 @@ import { assertEx } from '@xylabs/assert' import { exists } from '@xylabs/exists' -import { Hash } from '@xylabs/hex' +import { Hash, Hex } from '@xylabs/hex' import { EmptyObject, WithAdditional } from '@xylabs/object' import { fulfilled, Promisable } from '@xylabs/promise' -import { - AbstractArchivist, addStorageMeta, removeStorageMeta, sortByStorageMeta, WithStorageMeta, -} from '@xyo-network/archivist-abstract' +import { AbstractArchivist } from '@xyo-network/archivist-abstract' import { ArchivistAllQuerySchema, ArchivistClearQuerySchema, @@ -25,7 +23,7 @@ import { } from '@xyo-network/module-model' import { PayloadBuilder } from '@xyo-network/payload-builder' import { - Payload, PayloadWithMeta, Schema, WithMeta, + Payload, Schema, WithStorageMeta, } from '@xyo-network/payload-model' import { LRUCache } from 'lru-cache' @@ -54,7 +52,7 @@ export class MemoryArchivist< static override readonly configSchemas: Schema[] = [...super.configSchemas, MemoryArchivistConfigSchema] static override readonly defaultConfigSchema: Schema = MemoryArchivistConfigSchema - private _cache?: LRUCache> + private _cache?: LRUCache> private _dataHashIndex?: LRUCache override get queries() { @@ -70,7 +68,7 @@ export class MemoryArchivist< } protected get cache() { - this._cache = this._cache ?? new LRUCache>({ max: this.max }) + this._cache = this._cache ?? new LRUCache>({ max: this.max }) return this._cache } @@ -83,9 +81,16 @@ export class MemoryArchivist< return this.config?.max ?? 10_000 } - protected override allHandler(): Promisable { - const all = this.cache.dump().map(([, item]) => item.value).filter(exists) - return sortByStorageMeta(all).map(payload => removeStorageMeta(payload)) + private static findIndexFromCursor(payloads: WithStorageMeta[], cursor: Hex) { + const index = payloads.findIndex(({ _sequence }) => _sequence === cursor) + if (index === -1) { + return Infinity // move to the end + } + return index + } + + protected override allHandler(): Promisable[]> { + return [...this.cache.values()].filter(exists).sort(PayloadBuilder.compareStorageMeta) } protected override clearHandler(): void | Promise { @@ -94,7 +99,7 @@ export class MemoryArchivist< return this.emit('cleared', { mod: this }) } - protected override async commitHandler(): Promise[]> { + protected override async commitHandler(): Promise { const payloads = assertEx(await this.allHandler(), () => 'Nothing to commit') const settled = await Promise.allSettled( Object.values((await this.parentArchivists()).commit ?? [])?.map(async (parent) => { @@ -107,65 +112,65 @@ export class MemoryArchivist< return settled.filter(fulfilled).map(result => result.value).filter(exists) } - protected override deleteHandler(hashes: Hash[]): Promisable { - const deletedHashes: Hash[] = this.cache + protected override async deleteHandler(hashes: Hash[]): Promise { + const deletedHashes: Hash[] = (await Promise.all(this.cache .dump() - .map(([key, item]) => { - if (hashes.includes(key) || hashes.includes(item.value.$hash)) { + .map(async ([key, item]) => { + const itemValueDataHash = await PayloadBuilder.dataHash(item.value) + if (hashes.includes(key) || hashes.includes(itemValueDataHash)) { this.cache.delete(key) return key } - }) + }))) .filter(exists) this.rebuildDataHashIndex() return deletedHashes } - protected override getHandler(hashes: Hash[]): Promisable { + protected override getHandler(hashes: Hash[]): Promisable[]> { return hashes.map((hash) => { const resolvedHash = this.dataHashIndex.get(hash) ?? hash const result = this.cache.get(resolvedHash) if (resolvedHash !== hash && !result) { throw new Error('Missing referenced payload') } - return removeStorageMeta(result) + return result }).filter(exists) } - protected override async insertHandler(payloads: Payload[]): Promise { - const pairs = await PayloadBuilder.hashPairs(payloads, { stamp: false }) - const insertedPayloads = pairs.map(([payload, hash], index) => { - return this.cache.get(hash) ?? this.insertPayloadIntoCache(payload, hash, index) + protected override insertHandler(payloads: WithStorageMeta[]): WithStorageMeta[] { + const payloadsWithMeta = payloads.sort(PayloadBuilder.compareStorageMeta) + return payloadsWithMeta.map((payload) => { + return this.insertPayloadIntoCache(payload) }) - - return removeStorageMeta(insertedPayloads) } - protected override async nextHandler(options?: ArchivistNextOptions): Promise { + protected override async nextHandler(options?: ArchivistNextOptions): Promise[]> { const { - limit, offset, order, + limit, cursor, order, } = options ?? {} let all = await this.allHandler() if (order === 'desc') { all = all.reverse() } - const allPairs = await PayloadBuilder.hashPairs(all) - const startIndex = offset ? allPairs.findIndex(([, hash]) => hash === offset) + 1 : 0 - return allPairs.slice(startIndex, limit ? startIndex + limit : undefined).map(([payload]) => payload) + const startIndex = cursor + ? MemoryArchivist.findIndexFromCursor(all, cursor) + 1 + : 0 + const result = all.slice(startIndex, limit ? startIndex + limit : undefined) + return result } - private insertPayloadIntoCache(payload: PayloadWithMeta, hash: Hash, index = 0): WithStorageMeta { - const withMeta = addStorageMeta(payload, index) - this.cache.set(hash, withMeta) - this.dataHashIndex.set(withMeta.$hash, hash) - return withMeta + private insertPayloadIntoCache(payload: WithStorageMeta): WithStorageMeta { + this.cache.set(payload._hash, payload) + this.dataHashIndex.set(payload._dataHash, payload._hash) + return payload } private rebuildDataHashIndex() { this._dataHashIndex = new LRUCache({ max: this.max }) - const pairs = this.cache.dump() - for (const [hash, payload] of pairs) { - this.dataHashIndex.set(payload.value.$hash, hash) + const payloads = this.cache.dump().map(([, item]) => item.value) + for (const payload of payloads) { + this.dataHashIndex.set(payload._dataHash, payload._hash) } } } diff --git a/packages/modules/packages/archivist/packages/memory/src/spec/MemoryArchivist.spec.ts b/packages/modules/packages/archivist/packages/memory/src/spec/MemoryArchivist.spec.ts index 90009db456..88cafe7b38 100644 --- a/packages/modules/packages/archivist/packages/memory/src/spec/MemoryArchivist.spec.ts +++ b/packages/modules/packages/archivist/packages/memory/src/spec/MemoryArchivist.spec.ts @@ -1,9 +1,16 @@ +/* eslint-disable max-statements */ import '@xylabs/vitest-extended' +import { delay } from '@xylabs/delay' import { toJsonString } from '@xylabs/object' import { HDWallet } from '@xyo-network/account' import { isArchivistInstance, isArchivistModule } from '@xyo-network/archivist-model' +import type { Id } from '@xyo-network/id-payload-plugin' +import { + asId, IdSchema, isId, +} from '@xyo-network/id-payload-plugin' import { PayloadBuilder } from '@xyo-network/payload-builder' +import { WithStorageMeta } from '@xyo-network/payload-model' import { describe, expect, it, } from 'vitest' @@ -28,16 +35,46 @@ describe('MemoryArchivist', () => { await archivist.clear() }) - it('should return same items inserted', async () => { + it('should return items inserted in the order they were provided in', async () => { const archivist = await MemoryArchivist.create({ account: 'random' }) - - const payloads = [await PayloadBuilder.build({ schema: 'network.xyo.test' }, { stamp: false })] - expect(payloads[0].$meta?.timestamp).toBeUndefined() - const result = await archivist.insert(payloads) - - expect(result.length).toEqual(payloads.length) - expect(result[0].schema).toEqual(payloads[0].schema) - expect(result[0].$meta?.timestamp).toBeUndefined() + const payloads: Id[] = Array.from({ length: 100 }, (_, i) => new PayloadBuilder({ schema: IdSchema }).fields({ salt: `${i}` }).build()) + // Ensure payload was create in order provided + for (const [index, id] of payloads.entries()) { + expect(id?.salt).toBe(`${index}`) + } + + const withStorageMeta = await PayloadBuilder.addStorageMeta(payloads) + + // Ensure payload was returned in order provided + for (const [index, result] of withStorageMeta.entries()) { + expect(isId(result)).toBe(true) + const id = asId(result) + expect(id).toBeDefined() + expect(id?.salt).toBe(`${index}`) + expect(await PayloadBuilder.dataHash(result)).toEqual(await PayloadBuilder.dataHash(payloads[index])) + } + + const results = await archivist.insert(payloads) + + // Ensure payload was inserted in order provided + for (const [index, result] of results.entries()) { + expect(isId(result)).toBe(true) + const id = asId(result) + expect(id).toBeDefined() + if (index > 0) { + expect(result._sequence > results[index - 1]._sequence).toBeTrue() + } + if (index < 99) { + expect(result._sequence < results[index + 1]._sequence).toBeTrue() + } + if (id?.salt !== `${index}`) { + console.warn('result-', results[index - 1]) + console.warn('result', result) + console.warn('result+', results[index + 1]) + } + expect(id?.salt).toBe(`${index}`) + expect(await PayloadBuilder.dataHash(result)).toEqual(await PayloadBuilder.dataHash(payloads[index])) + } }) it('next', async () => { @@ -45,40 +82,59 @@ describe('MemoryArchivist', () => { const account = await HDWallet.random() const payloads1 = [ - await PayloadBuilder.build({ schema: 'network.xyo.test', value: 1 }), - await PayloadBuilder.build({ schema: 'network.xyo.test', value: 2 }), + { schema: 'network.xyo.test', value: 1 }, ] const payloads2 = [ - await PayloadBuilder.build({ schema: 'network.xyo.test', value: 3 }), - await PayloadBuilder.build({ schema: 'network.xyo.test', value: 4 }), + { schema: 'network.xyo.test', value: 2 }, + ] + + const payloads3 = [ + { schema: 'network.xyo.test', value: 3 }, + ] + + const payloads4 = [ + { schema: 'network.xyo.test', value: 4 }, ] - await archivist.insert(payloads1) + + const insertedPayloads1 = await archivist.insert(payloads1) + expect(insertedPayloads1[0]._hash).toBe(await PayloadBuilder.hash(payloads1[0])) + expect(insertedPayloads1[0]._dataHash).toBe(await PayloadBuilder.dataHash(payloads1[0])) + expect(insertedPayloads1[0]._sequence).toBeDefined() + await delay(1) console.log(toJsonString(payloads1, 10)) const [bw, payloads, errors] = await archivist.insertQuery(payloads2, account) expect(bw).toBeDefined() expect(payloads).toBeDefined() expect(errors).toBeDefined() + await delay(1) + await archivist.insert(payloads3) + await delay(1) + await archivist.insert(payloads4) console.log(toJsonString([bw, payloads, errors], 10)) const batch1 = await archivist.next?.({ limit: 2 }) expect(batch1).toBeArrayOfSize(2) - expect(batch1?.[0].$hash).toEqual(payloads1[0].$hash) + expect(await PayloadBuilder.dataHash(batch1?.[0])).toEqual(await PayloadBuilder.dataHash(payloads1[0])) + expect(await PayloadBuilder.dataHash(batch1?.[0])).toEqual(await PayloadBuilder.dataHash(insertedPayloads1[0])) - const batch2 = await archivist.next?.({ limit: 2, offset: await PayloadBuilder.hash(batch1?.[0]) }) + const batch2 = await archivist.next?.({ limit: 2, cursor: batch1?.[0]._sequence }) expect(batch2).toBeArrayOfSize(2) - expect(batch2?.[1].$hash).toEqual(payloads2[0].$hash) + expect(await PayloadBuilder.dataHash(batch2?.[0])).toEqual(await PayloadBuilder.dataHash(payloads2[0])) + expect(await PayloadBuilder.dataHash(batch2?.[1])).toEqual(await PayloadBuilder.dataHash(payloads3[0])) // desc const batch1Desc = await archivist.next?.({ limit: 2, order: 'desc' }) expect(batch1Desc).toBeArrayOfSize(2) - expect(batch1Desc?.[0].$hash).toEqual(payloads2[1].$hash) + expect(await PayloadBuilder.dataHash(batch1Desc?.[0])).toEqual(await PayloadBuilder.dataHash(payloads4[0])) + expect(await PayloadBuilder.dataHash(batch1Desc?.[1])).toEqual(await PayloadBuilder.dataHash(payloads3[0])) const batch2Desc = await archivist.next?.({ - limit: 2, offset: await PayloadBuilder.hash(batch2?.[1]), order: 'desc', + limit: 2, cursor: batch1Desc[1]._sequence, order: 'desc', }) expect(batch2Desc).toBeArrayOfSize(2) - expect(batch2Desc?.[1].$hash).toEqual(payloads1[0].$hash) + expect(await PayloadBuilder.dataHash(batch2Desc?.[0])).toEqual(await PayloadBuilder.dataHash(payloads2[0])) + expect(await PayloadBuilder.dataHash(batch2Desc?.[1])).toEqual(await PayloadBuilder.dataHash(payloads1[0])) }) }) diff --git a/packages/modules/packages/archivist/packages/memory/src/spec/tsconfig.json b/packages/modules/packages/archivist/packages/memory/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/archivist/packages/memory/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/archivist/packages/model/.npmignore b/packages/modules/packages/archivist/packages/model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/archivist/packages/model/.npmignore +++ b/packages/modules/packages/archivist/packages/model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/archivist/packages/model/package.json b/packages/modules/packages/archivist/packages/model/package.json index 7373c1c746..0863cc6e79 100644 --- a/packages/modules/packages/archivist/packages/model/package.json +++ b/packages/modules/packages/archivist/packages/model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/archivist-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,21 +29,22 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/hex": "^4.4.10", - "@xylabs/object": "^4.4.10", - "@xylabs/promise": "^4.4.10", - "@xylabs/typeof": "^4.4.10", + "@xylabs/hex": "^4.4.25", + "@xylabs/object": "^4.4.25", + "@xylabs/promise": "^4.4.25", + "@xylabs/typeof": "^4.4.25", "@xyo-network/account-model": "workspace:^", "@xyo-network/module-events": "workspace:^", "@xyo-network/module-model": "workspace:^", "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/archivist/packages/model/src/EventModels/Inserted.ts b/packages/modules/packages/archivist/packages/model/src/EventModels/Inserted.ts index 732232e4e6..2cf8c4e171 100644 --- a/packages/modules/packages/archivist/packages/model/src/EventModels/Inserted.ts +++ b/packages/modules/packages/archivist/packages/model/src/EventModels/Inserted.ts @@ -1,11 +1,11 @@ import type { EventData } from '@xyo-network/module-events' import type { Module, ModuleEventArgs } from '@xyo-network/module-model' -import type { Payload, WithMeta } from '@xyo-network/payload-model' +import type { Payload } from '@xyo-network/payload-model' export type InsertedEventArgs = ModuleEventArgs< T, { - payloads: WithMeta[] + payloads: Payload[] } > diff --git a/packages/modules/packages/archivist/packages/model/src/IndexDescription.ts b/packages/modules/packages/archivist/packages/model/src/IndexDescription.ts index fe52f590e8..d2f1c56cf8 100644 --- a/packages/modules/packages/archivist/packages/model/src/IndexDescription.ts +++ b/packages/modules/packages/archivist/packages/model/src/IndexDescription.ts @@ -10,11 +10,7 @@ export type IndexDescription = { /** * The key(s) to index */ - key: - | { - [key: string]: IndexDirection - } - | Map + key: Record /** * Is the indexed value an array */ diff --git a/packages/modules/packages/archivist/packages/model/src/Instance.ts b/packages/modules/packages/archivist/packages/model/src/Instance.ts index 7e35dc45e1..60e42f6e5b 100644 --- a/packages/modules/packages/archivist/packages/model/src/Instance.ts +++ b/packages/modules/packages/archivist/packages/model/src/Instance.ts @@ -1,5 +1,5 @@ import type { ModuleInstance } from '@xyo-network/module-model' -import type { Payload, WithMeta } from '@xyo-network/payload-model' +import type { Payload } from '@xyo-network/payload-model' import type { ArchivistModuleEventData } from './EventData.ts' import type { ArchivistModule } from './Module.ts' @@ -12,6 +12,6 @@ export interface ArchivistInstance< TEventData extends ArchivistModuleEventData = ArchivistModuleEventData, TPayload extends Payload = Payload, > extends ArchivistModule, - ArchivistQueryFunctions>, + ArchivistQueryFunctions, ModuleInstance, ArchivistRawQueryFunctions {} diff --git a/packages/modules/packages/archivist/packages/model/src/NextOptions.ts b/packages/modules/packages/archivist/packages/model/src/NextOptions.ts index f8a84eaae6..0adab349ea 100644 --- a/packages/modules/packages/archivist/packages/model/src/NextOptions.ts +++ b/packages/modules/packages/archivist/packages/model/src/NextOptions.ts @@ -1,8 +1,8 @@ -import type { Hash } from '@xylabs/hex' +import type { Hash, Hex } from '@xylabs/hex' -export interface NextOptions { +export interface NextOptions { + cursor?: TId limit?: number - offset?: TId order?: 'asc' | 'desc' } diff --git a/packages/modules/packages/archivist/packages/model/src/QueryFunctions.ts b/packages/modules/packages/archivist/packages/model/src/QueryFunctions.ts index 1995de7266..6c0639a112 100644 --- a/packages/modules/packages/archivist/packages/model/src/QueryFunctions.ts +++ b/packages/modules/packages/archivist/packages/model/src/QueryFunctions.ts @@ -1,7 +1,7 @@ import type { Hash } from '@xylabs/hex' import type { Promisable, PromisableArray } from '@xylabs/promise' import type { ModuleQueryFunctions } from '@xyo-network/module-model' -import type { Payload, WithMeta } from '@xyo-network/payload-model' +import type { Payload, WithStorageMeta } from '@xyo-network/payload-model' import type { NextOptions } from './NextOptions.ts' @@ -26,9 +26,9 @@ export interface Archivist< TWriteResponse extends Payload = Payload, TWrite extends Payload = TReadResponse & Payload, TId = Hash, -> extends ReadArchivist, TId>, - WriteArchivist, WithMeta, TWrite, TId>, - StashArchivist> {} +> extends ReadArchivist, TId>, + WriteArchivist, WithStorageMeta, TWrite, TId>, + StashArchivist {} export interface ArchivistQueryFunctions< TReadResponse extends Payload = Payload, diff --git a/packages/modules/packages/archivist/packages/model/src/StorageMeta.ts b/packages/modules/packages/archivist/packages/model/src/StorageMeta.ts new file mode 100644 index 0000000000..a510bee357 --- /dev/null +++ b/packages/modules/packages/archivist/packages/model/src/StorageMeta.ts @@ -0,0 +1,37 @@ +import type { Hash, Hex } from '@xylabs/hex' +import type { Payload } from '@xyo-network/payload-model' + +export interface StorageMeta { + _dataHash: Hash + _hash: Hash + // this sequence number must be a 0 padded string representation of a 18 byte sequence number + _sequence: Hex // zero padded epoch/index (when returned, has address as suffix) - to be used as a universal cursor +} + +export type WithPartialStorageMeta = Partial> + +export type WithStorageMeta = T & StorageMeta + +const StorageMetaComponentConstants = { + epochBytes: 8, + nonceBytes: 8, + addressBytes: 20, +} + +const StorageMetaLocalConstants = { + maxEpoch: Math.pow(256, StorageMetaComponentConstants.epochBytes) - 1, + localSequenceBytes: StorageMetaComponentConstants.epochBytes + StorageMetaComponentConstants.nonceBytes, + ...StorageMetaComponentConstants, +} + +export const SequenceConstants = { + qualifiedSequenceBytes: StorageMetaLocalConstants.localSequenceBytes + StorageMetaComponentConstants.addressBytes, + ...StorageMetaLocalConstants, +} + +// "00005a7f354762f3ac1bc5ddc6cfd08d14" is and example of a local sequence string + +// "00005a7f354762f3ac1bc5ddc6cfd08d14a123456789abcdef0123" is and example of a local sequence string +// epoch = "00005a7f354762f3ac" +// nonce = "1bc5ddc6cfd08d14" +// address = "a123456789abcdef0123" diff --git a/packages/modules/packages/archivist/packages/storage/.npmignore b/packages/modules/packages/archivist/packages/storage/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/archivist/packages/storage/.npmignore +++ b/packages/modules/packages/archivist/packages/storage/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/archivist/packages/storage/package.json b/packages/modules/packages/archivist/packages/storage/package.json index 91888b4159..58a96bc3d0 100644 --- a/packages/modules/packages/archivist/packages/storage/package.json +++ b/packages/modules/packages/archivist/packages/storage/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/archivist-storage", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,10 +29,10 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/exists": "^4.4.10", - "@xylabs/hex": "^4.4.10", - "@xylabs/promise": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/exists": "^4.4.25", + "@xylabs/hex": "^4.4.25", + "@xylabs/promise": "^4.4.25", "@xyo-network/archivist-abstract": "workspace:^", "@xyo-network/archivist-model": "workspace:^", "@xyo-network/boundwitness-model": "workspace:^", @@ -42,10 +42,10 @@ "store2": "^2.14.3" }, "devDependencies": { - "@xylabs/delay": "^4.4.10", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/delay": "^4.4.25", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/account": "workspace:^", "@xyo-network/archivist-memory": "workspace:^", "@xyo-network/boundwitness-wrapper": "workspace:^", @@ -57,5 +57,6 @@ }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/archivist/packages/storage/src/StorageArchivist.ts b/packages/modules/packages/archivist/packages/storage/src/StorageArchivist.ts index 13ed4781e3..a6e84b4e03 100644 --- a/packages/modules/packages/archivist/packages/storage/src/StorageArchivist.ts +++ b/packages/modules/packages/archivist/packages/storage/src/StorageArchivist.ts @@ -1,6 +1,6 @@ import { assertEx } from '@xylabs/assert' import { exists } from '@xylabs/exists' -import type { Hash } from '@xylabs/hex' +import type { Hash, Hex } from '@xylabs/hex' import type { Promisable, PromisableArray } from '@xylabs/promise' import { fulfilled } from '@xylabs/promise' import { AbstractArchivist } from '@xyo-network/archivist-abstract' @@ -23,15 +23,13 @@ import type { BoundWitness } from '@xyo-network/boundwitness-model' import type { AnyConfigSchema } from '@xyo-network/module-model' import { PayloadBuilder } from '@xyo-network/payload-builder' import type { - Payload, PayloadWithMeta, Schema, WithMeta, + Payload, Schema, WithStorageMeta, } from '@xyo-network/payload-model' import type { StoreBase, StoreType } from 'store2' import store from 'store2' const storeTypes = store as unknown as StoreType -type WithStorageMeta = WithMeta & { _timestamp: number } - export type StorageArchivistConfigSchema = 'network.xyo.archivist.storage.config' export const StorageArchivistConfigSchema: StorageArchivistConfigSchema = 'network.xyo.archivist.storage.config' @@ -95,21 +93,21 @@ export class StorageArchivist< return this._storage } - protected override allHandler(): PromisableArray { + protected override allHandler(): PromisableArray> { const found = new Set() this.logger?.log(`this.storage.length: ${this.storage.length}`) return Object.entries(this.storage.getAll()) .map(([, value]) => value) .filter((payload) => { - if (found.has(payload.$hash)) { + if (found.has(payload._dataHash)) { return false } else { - found.add(payload.$hash) + found.add(payload._dataHash) return true } }) - .sort((a, b) => a._timestamp - b._timestamp) - .map(payload => this.removeStorageMeta(payload)) + .sort(PayloadBuilder.compareStorageMeta) + .map(payload => PayloadBuilder.omitStorageMeta(payload)) } protected override clearHandler(): void | Promise { @@ -118,7 +116,7 @@ export class StorageArchivist< return this.emit('cleared', { mod: this }) } - protected override async commitHandler(): Promise[]> { + protected override async commitHandler(): Promise { this.logger?.log(`this.storage.length: ${this.storage.length}`) const payloads = await this.all() assertEx(payloads.length > 0, () => 'Nothing to commit') @@ -145,36 +143,25 @@ export class StorageArchivist< ).filter(exists) } - protected getFromOffset( + protected getFromCursor( order: 'asc' | 'desc' = 'asc', limit: number = 10, - offset?: Hash, + cursor?: Hex, ): WithStorageMeta[] { - const offsetHash = offset ? (this.storage.get(offset) as PayloadWithMeta | undefined)?.$hash : undefined - const found = new Set() - const payloads: WithStorageMeta[] = Object.entries(this.storage.getAll()) - .map(([, value]) => value) - .filter((payload) => { - if (found.has(payload.$hash)) { - return false - } else { - found.add(payload.$hash) - return true - } - }) + const all = Object.values(this.storage.getAll()) as WithStorageMeta[] + const payloads: WithStorageMeta[] = all + .map(value => value) .sort((a, b) => { - return order === 'asc' ? a._timestamp - b._timestamp : b._timestamp - a._timestamp + return order === 'asc' ? PayloadBuilder.compareStorageMeta(a, b) : PayloadBuilder.compareStorageMeta(b, a) }) - if (offsetHash) { - const index = payloads.findIndex(payload => payload.$hash === offsetHash) - if (index !== -1) { - return payloads.slice(index + 1, index + 1 + limit) - } + const index = payloads.findIndex(payload => payload._sequence === cursor) + if (index !== -1) { + return payloads.slice(index + 1, index + 1 + limit) } return payloads.slice(0, limit) } - protected override getHandler(hashes: string[]): Promisable { + protected override getHandler(hashes: string[]): Promisable[]> { const found = new Set() return ( hashes.map((hash) => { @@ -182,48 +169,35 @@ export class StorageArchivist< }) ).filter(exists) .filter((payload) => { - if (found.has(payload.$hash)) { + if (found.has(payload._dataHash)) { return false } else { - found.add(payload.$hash) + found.add(payload._dataHash) return true } - }).map(payload => this.removeStorageMeta(payload)) - } - - protected override async insertHandler(payloads: Payload[]): Promise { - let timestamp = Date.now() - const pairs = await PayloadBuilder.hashPairs(payloads) - return pairs.map(([payload, hash]) => { - const storagePayload = this.addStorageMeta(payload, timestamp++) - const value = JSON.stringify(storagePayload) - console.log('insert.storagePayloads:', storagePayload) - assertEx(value.length < this.maxEntrySize, () => `Payload too large [${hash}, ${value.length}]`) - this.storage.set(hash, storagePayload) - this.storage.set(payload.$hash, storagePayload) + }).map(payload => PayloadBuilder.omitStorageMeta(payload)) + } + + protected override async insertHandler(payloads: WithStorageMeta[]): Promise[]> { + return await Promise.all(payloads.map((payload) => { + const value = JSON.stringify(payload) + // console.log('insert.storagePayloads:', storagePayload) + assertEx(value.length < this.maxEntrySize, () => `Payload too large [${payload._hash}, ${value.length}]`) + this.storage.set(payload._hash, payload) + this.storage.set(payload._dataHash, payload) return payload - }) + })) } - protected override nextHandler(options?: ArchivistNextOptions): Promisable { + protected override nextHandler(options?: ArchivistNextOptions): Promisable[]> { const { - limit, offset, order, + limit, cursor, order, } = options ?? {} - return this.getFromOffset(order, limit ?? 10, offset) + return this.getFromCursor(order, limit ?? 10, cursor) } protected override async startHandler() { await super.startHandler() return true } - - private addStorageMeta(payload: WithMeta, _timestamp: number): WithStorageMeta { - return { ...payload, _timestamp } - } - - private removeStorageMeta(payload: WithStorageMeta): WithMeta { - // eslint-disable-next-line @typescript-eslint/no-unused-vars - const { _timestamp, ...rest } = payload - return rest as WithMeta - } } diff --git a/packages/modules/packages/archivist/packages/storage/src/spec/StorageArchivist.next.spec.ts b/packages/modules/packages/archivist/packages/storage/src/spec/StorageArchivist.next.spec.ts index 063503a745..9678c18d58 100644 --- a/packages/modules/packages/archivist/packages/storage/src/spec/StorageArchivist.next.spec.ts +++ b/packages/modules/packages/archivist/packages/storage/src/spec/StorageArchivist.next.spec.ts @@ -1,9 +1,7 @@ -/** - * @jest-environment jsdom - */ - +import { delay } from '@xylabs/delay' import { Account } from '@xyo-network/account' import { PayloadBuilder } from '@xyo-network/payload-builder' +import type { Payload, WithStorageMeta } from '@xyo-network/payload-model' import { describe, expect, it, @@ -25,55 +23,60 @@ describe('next', () => { const account = await Account.random() const payloads1 = [ - await PayloadBuilder.build({ schema: 'network.xyo.test', value: 1 }), - await PayloadBuilder.build({ schema: 'network.xyo.test', value: 2 }), + { schema: 'network.xyo.test', value: 1 }, + { schema: 'network.xyo.test', value: 2 }, ] // console.log('Payloads1:', toJsonString(await PayloadBuilder.hashPairs(payloads1), 10)) + await delay(1) + const payloads2 = [ - await PayloadBuilder.build({ schema: 'network.xyo.test', value: 3 }), - await PayloadBuilder.build({ schema: 'network.xyo.test', value: 4 }), + { schema: 'network.xyo.test', value: 3 }, + { schema: 'network.xyo.test', value: 4 }, ] // console.log('Payloads2:', toJsonString(await PayloadBuilder.hashPairs(payloads2), 10)) - await archivist.insert(payloads1) + const insertedPayloads1 = await archivist.insert(payloads1) // console.log(toJsonString(payloads1, 10)) - const [bw, payloads, errors] = await archivist.insertQuery(payloads2, account) + const [bw, insertedPayloads2, errors] = await archivist.insertQuery(payloads2, account) expect(bw).toBeDefined() - expect(payloads).toBeDefined() + expect(insertedPayloads2).toBeDefined() expect(errors).toBeDefined() + const sortedInsertedPayloads1 = insertedPayloads1.sort(PayloadBuilder.compareStorageMeta) + const sortedInsertedPayloads2 = (insertedPayloads2 as WithStorageMeta[]).sort((PayloadBuilder.compareStorageMeta)) + // console.log(toJsonString([bw, payloads, errors], 10)) const batch1 = await archivist.next?.({ limit: 2 }) expect(batch1.length).toBe(2) - expect(batch1?.[0].$hash).toEqual(payloads1[0].$hash) + expect(await PayloadBuilder.dataHash(batch1?.[0])).toEqual(await PayloadBuilder.dataHash(sortedInsertedPayloads1[0])) - const batch2 = await archivist.next?.({ limit: 2, offset: await PayloadBuilder.hash(batch1?.[1]) }) + const batch2 = await archivist.next?.({ limit: 2, cursor: batch1?.[1]._sequence }) expect(batch2.length).toBe(2) - expect(batch2?.[0].$hash).toEqual(payloads2[0].$hash) + expect(await PayloadBuilder.dataHash(batch2?.[0])).toEqual(await PayloadBuilder.dataHash(sortedInsertedPayloads2[0])) - const batch3 = await archivist.next?.({ limit: 20, offset: await PayloadBuilder.hash(batch1?.[1]) }) + const batch3 = await archivist.next?.({ limit: 20, cursor: batch1?.[1]._sequence }) expect(batch3.length).toBe(2) - expect(batch3?.[0].$hash).toEqual(payloads2[0].$hash) + expect(await PayloadBuilder.dataHash(batch3?.[0])).toEqual(await PayloadBuilder.dataHash(sortedInsertedPayloads2[0])) // desc const batch1Desc = await archivist.next?.({ limit: 2, order: 'desc' }) expect(batch1Desc.length).toBe(2) - expect(batch1Desc?.[0].$hash).toEqual(payloads2[1].$hash) + expect(await PayloadBuilder.dataHash(batch1Desc?.[0])).toEqual(await PayloadBuilder.dataHash(sortedInsertedPayloads2[1])) const batch2Desc = await archivist.next?.({ - limit: 2, offset: await PayloadBuilder.hash(batch1Desc?.[1]), order: 'desc', + limit: 2, cursor: batch1Desc?.[1]._sequence, order: 'desc', }) expect(batch2Desc.length).toBe(2) - expect(batch2Desc?.[1].$hash).toEqual(payloads1[0].$hash) + expect(await PayloadBuilder.dataHash(batch2Desc?.[1])).toEqual(await PayloadBuilder.dataHash(sortedInsertedPayloads1[0])) const batch3Desc = await archivist.next?.({ - limit: 20, offset: await PayloadBuilder.hash(batch1Desc?.[1]), order: 'desc', + limit: 20, cursor: batch1Desc?.[1]._sequence, order: 'desc', }) expect(batch3Desc.length).toBe(2) - expect(batch3Desc?.[1].$hash).toEqual(payloads1[0].$hash) + expect(await PayloadBuilder.dataHash(batch3Desc?.[1])).toEqual(await PayloadBuilder.dataHash(sortedInsertedPayloads1[0])) }) }) diff --git a/packages/modules/packages/archivist/packages/storage/src/spec/StorageArchivist.spec.ts b/packages/modules/packages/archivist/packages/storage/src/spec/StorageArchivist.spec.ts index 29747b062a..f37d8578d9 100644 --- a/packages/modules/packages/archivist/packages/storage/src/spec/StorageArchivist.spec.ts +++ b/packages/modules/packages/archivist/packages/storage/src/spec/StorageArchivist.spec.ts @@ -1,7 +1,3 @@ -/** - * @jest-environment jsdom - */ - import { delay } from '@xylabs/delay' import { Account } from '@xyo-network/account' import { MemoryArchivist } from '@xyo-network/archivist-memory' diff --git a/packages/modules/packages/archivist/packages/storage/src/spec/tsconfig.json b/packages/modules/packages/archivist/packages/storage/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/archivist/packages/storage/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/archivist/packages/view/.npmignore b/packages/modules/packages/archivist/packages/view/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/archivist/packages/view/.npmignore +++ b/packages/modules/packages/archivist/packages/view/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/archivist/packages/view/package.json b/packages/modules/packages/archivist/packages/view/package.json index 7c4d1f8ea3..50fd761d8b 100644 --- a/packages/modules/packages/archivist/packages/view/package.json +++ b/packages/modules/packages/archivist/packages/view/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/archivist-view", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,16 +29,16 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/hex": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/hex": "^4.4.25", "@xyo-network/archivist-abstract": "workspace:^", "@xyo-network/archivist-model": "workspace:^", "@xyo-network/module-model": "workspace:^", "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "@xyo-network/archivist-memory": "workspace:^", "@xyo-network/node-memory": "workspace:^", "@xyo-network/payload-builder": "workspace:^", @@ -47,5 +47,6 @@ }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/archivist/packages/view/src/ViewArchivist.ts b/packages/modules/packages/archivist/packages/view/src/ViewArchivist.ts index af1b9df195..24446ce721 100644 --- a/packages/modules/packages/archivist/packages/view/src/ViewArchivist.ts +++ b/packages/modules/packages/archivist/packages/view/src/ViewArchivist.ts @@ -19,7 +19,9 @@ import { ModuleLimitationViewLabel, ModuleParams, } from '@xyo-network/module-model' -import { PayloadWithMeta, Schema } from '@xyo-network/payload-model' +import { + Payload, Schema, WithStorageMeta, +} from '@xyo-network/payload-model' export const ViewArchivistConfigSchema = 'network.xyo.archivist.view.config' as const export type ViewArchivistConfigSchema = typeof ViewArchivistConfigSchema @@ -60,15 +62,15 @@ export class ViewArchivist< return this._originArchivistInstance } - protected override async allHandler(): Promise { + protected override async allHandler(): Promise[]> { return (await (await this.originArchivistInstance()).all?.()) ?? [] } - protected override async getHandler(hashes: Hash[]): Promise { + protected override async getHandler(hashes: Hash[]): Promise[]> { return await (await this.originArchivistInstance()).get(hashes) } - protected override async nextHandler(options?: ArchivistNextOptions): Promise { + protected override async nextHandler(options?: ArchivistNextOptions): Promise[]> { return (await (await this.originArchivistInstance()).next?.(options)) ?? [] } } diff --git a/packages/modules/packages/archivist/packages/view/src/spec/ViewArchivist.spec.ts b/packages/modules/packages/archivist/packages/view/src/spec/ViewArchivist.spec.ts index 531164f16e..ee37c3c7c3 100644 --- a/packages/modules/packages/archivist/packages/view/src/spec/ViewArchivist.spec.ts +++ b/packages/modules/packages/archivist/packages/view/src/spec/ViewArchivist.spec.ts @@ -1,7 +1,3 @@ -/** - * @jest-environment jsdom - */ - import { MemoryArchivist } from '@xyo-network/archivist-memory' import { isArchivistInstance, isArchivistModule } from '@xyo-network/archivist-model' import { MemoryNode } from '@xyo-network/node-memory' @@ -38,8 +34,8 @@ describe('MemoryArchivist', () => { await node.register(viewArchivist) await node.attach(viewArchivist.modName ?? viewArchivist.address, true) - const payloads = [await PayloadBuilder.build({ schema: 'network.xyo.test' })] - const payloadHashes = payloads.map(payload => payload.$hash) + const payloads = [{ schema: 'network.xyo.test' }] + const payloadHashes = await Promise.all(payloads.map(async payload => await PayloadBuilder.dataHash(payload))) const result = await originArchivist.insert(payloads) expect(result.length).toEqual(payloads.length) diff --git a/packages/modules/packages/archivist/packages/view/src/spec/tsconfig.json b/packages/modules/packages/archivist/packages/view/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/archivist/packages/view/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/archivist/packages/wrapper/.npmignore b/packages/modules/packages/archivist/packages/wrapper/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/archivist/packages/wrapper/.npmignore +++ b/packages/modules/packages/archivist/packages/wrapper/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/archivist/packages/wrapper/package.json b/packages/modules/packages/archivist/packages/wrapper/package.json index 65cb67ac17..4aea9b8b7a 100644 --- a/packages/modules/packages/archivist/packages/wrapper/package.json +++ b/packages/modules/packages/archivist/packages/wrapper/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/archivist-wrapper", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,7 +29,7 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/hex": "^4.4.10", + "@xylabs/hex": "^4.4.25", "@xyo-network/account-model": "workspace:^", "@xyo-network/archivist-model": "workspace:^", "@xyo-network/module-model": "workspace:^", @@ -37,9 +37,9 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/account": "workspace:^", "@xyo-network/archivist-memory": "workspace:^", "@xyo-network/payload-builder": "workspace:^", @@ -48,5 +48,6 @@ }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/archivist/packages/wrapper/src/ArchivistWrapper.ts b/packages/modules/packages/archivist/packages/wrapper/src/ArchivistWrapper.ts index 37e4bf7eef..0e506c7f89 100644 --- a/packages/modules/packages/archivist/packages/wrapper/src/ArchivistWrapper.ts +++ b/packages/modules/packages/archivist/packages/wrapper/src/ArchivistWrapper.ts @@ -25,7 +25,7 @@ import { } from '@xyo-network/archivist-model' import type { ModuleQueryResult } from '@xyo-network/module-model' import { constructableModuleWrapper, ModuleWrapper } from '@xyo-network/module-wrapper' -import type { Payload, PayloadWithMeta } from '@xyo-network/payload-model' +import type { Payload, WithStorageMeta } from '@xyo-network/payload-model' constructableModuleWrapper() export class ArchivistWrapper @@ -35,7 +35,7 @@ export class ArchivistWrapper { + async all(): Promise[]> { const queryPayload: ArchivistAllQuery = { schema: ArchivistAllQuerySchema } return await this.sendQuery(queryPayload) } @@ -55,7 +55,7 @@ export class ArchivistWrapper { + async commit(): Promise { const queryPayload: ArchivistCommitQuery = { schema: ArchivistCommitQuerySchema } return await this.sendQuery(queryPayload) } @@ -76,7 +76,7 @@ export class ArchivistWrapper { + async get(hashes: Hash[]): Promise[]> { const queryPayload: ArchivistGetQuery = { hashes, schema: ArchivistGetQuerySchema } return await this.sendQuery(queryPayload) } @@ -86,7 +86,7 @@ export class ArchivistWrapper { + async insert(payloads: Payload[]): Promise[]> { const queryPayload: ArchivistInsertQuery = { schema: ArchivistInsertQuerySchema } return await this.sendQuery(queryPayload, payloads) } @@ -96,7 +96,7 @@ export class ArchivistWrapper { + async next(options?: ArchivistNextOptions): Promise[]> { const queryPayload: ArchivistNextQuery = { ...options, schema: ArchivistNextQuerySchema } return await this.sendQuery(queryPayload) } diff --git a/packages/modules/packages/archivist/packages/wrapper/src/spec/MemoryArchivist.spec.ts b/packages/modules/packages/archivist/packages/wrapper/src/spec/MemoryArchivist.spec.ts index 47f63fb645..4d37957e3e 100644 --- a/packages/modules/packages/archivist/packages/wrapper/src/spec/MemoryArchivist.spec.ts +++ b/packages/modules/packages/archivist/packages/wrapper/src/spec/MemoryArchivist.spec.ts @@ -1,6 +1,3 @@ -/** - * @jest-environment jsdom - */ import { Account } from '@xyo-network/account' import { MemoryArchivist } from '@xyo-network/archivist-memory' import { PayloadBuilder } from '@xyo-network/payload-builder' @@ -21,10 +18,10 @@ describe('MemoryArchivist (Wrapped)', () => { await Account.random(), ) - const payloads = [await PayloadBuilder.build({ schema: 'network.xyo.test' })] + const payloads = [{ schema: 'network.xyo.test' }] const result = await archivist.insert(payloads) - expect(result).toEqual(payloads) + expect(result[0]._hash).toEqual(await PayloadBuilder.hash(payloads[0])) expect(result.length).toEqual(payloads.length) expect(result[0].schema).toEqual(payloads[0].schema) }) diff --git a/packages/modules/packages/archivist/packages/wrapper/src/spec/tsconfig.json b/packages/modules/packages/archivist/packages/wrapper/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/archivist/packages/wrapper/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/bridge/.npmignore b/packages/modules/packages/bridge/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/bridge/.npmignore +++ b/packages/modules/packages/bridge/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/bridge/package.json b/packages/modules/packages/bridge/package.json index 4546dd3d6a..f374325387 100644 --- a/packages/modules/packages/bridge/package.json +++ b/packages/modules/packages/bridge/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/bridge", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -37,9 +37,9 @@ "@xyo-network/bridge-wrapper": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/bridge-pub-sub": "workspace:^", "@xyo-network/node-memory": "workspace:^", "@xyo-network/node-model": "workspace:^", @@ -48,5 +48,6 @@ }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/bridge/packages/abstract/.npmignore b/packages/modules/packages/bridge/packages/abstract/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/bridge/packages/abstract/.npmignore +++ b/packages/modules/packages/bridge/packages/abstract/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/bridge/packages/abstract/package.json b/packages/modules/packages/bridge/packages/abstract/package.json index 93bafc2dce..c082e02eda 100644 --- a/packages/modules/packages/bridge/packages/abstract/package.json +++ b/packages/modules/packages/bridge/packages/abstract/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/bridge-abstract", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,12 +29,12 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/exists": "^4.4.10", - "@xylabs/forget": "^4.4.10", - "@xylabs/hex": "^4.4.10", - "@xylabs/object": "^4.4.10", - "@xylabs/promise": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/exists": "^4.4.25", + "@xylabs/forget": "^4.4.25", + "@xylabs/hex": "^4.4.25", + "@xylabs/object": "^4.4.25", + "@xylabs/promise": "^4.4.25", "@xyo-network/account": "workspace:^", "@xyo-network/account-model": "workspace:^", "@xyo-network/archivist-model": "workspace:^", @@ -61,11 +61,12 @@ "lru-cache": "^11.0.2" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/bridge/packages/abstract/src/AbstractModuleProxy/AbstractModuleProxy.ts b/packages/modules/packages/bridge/packages/abstract/src/AbstractModuleProxy/AbstractModuleProxy.ts index 6dbb42bb24..b1d402f671 100644 --- a/packages/modules/packages/bridge/packages/abstract/src/AbstractModuleProxy/AbstractModuleProxy.ts +++ b/packages/modules/packages/bridge/packages/abstract/src/AbstractModuleProxy/AbstractModuleProxy.ts @@ -35,9 +35,7 @@ import { } from '@xyo-network/module-model' import { ModuleWrapper } from '@xyo-network/module-wrapper' import { PayloadBuilder } from '@xyo-network/payload-builder' -import type { - ModuleError, Payload, WithMeta, -} from '@xyo-network/payload-model' +import type { ModuleError, Payload } from '@xyo-network/payload-model' import { isPayloadOfSchemaType, ModuleErrorSchema } from '@xyo-network/payload-model' import type { QueryPayload } from '@xyo-network/query-payload-plugin' import { QuerySchema } from '@xyo-network/query-payload-plugin' @@ -121,7 +119,7 @@ export abstract class AbstractModuleProxy< const result: AddressPreviousHashPayload = assertEx( (await this.sendQuery(queryPayload, undefined, this.account)).find( isPayloadOfSchemaType(AddressPreviousHashSchema), - ) as WithMeta, + ) as AddressPreviousHashPayload, () => 'Result did not include correct payload', ) return result @@ -157,17 +155,17 @@ export abstract class AbstractModuleProxy< override async manifest(maxDepth?: number): Promise { const queryPayload: ModuleManifestQuery = { schema: ModuleManifestQuerySchema, ...(maxDepth === undefined ? {} : { maxDepth }) } - return (await this.sendQuery(queryPayload))[0] as WithMeta + return (await this.sendQuery(queryPayload))[0] as ModuleManifestPayload } override async moduleAddress(): Promise { const queryPayload: ModuleAddressQuery = { schema: ModuleAddressQuerySchema } - return (await this.sendQuery(queryPayload)) as WithMeta[] + return (await this.sendQuery(queryPayload)) as AddressPreviousHashPayload[] } override async previousHash(): Promise { const queryPayload: ModuleAddressQuery = { schema: ModuleAddressQuerySchema } - return ((await this.sendQuery(queryPayload)).pop() as WithMeta).previousHash + return ((await this.sendQuery(queryPayload)).pop() as AddressPreviousHashPayload).previousHash } override async publicChildren() { @@ -208,7 +206,7 @@ export abstract class AbstractModuleProxy< name: deadError.name, schema: ModuleErrorSchema, } - const sourceQuery = await PayloadBuilder.build(assertEx(QueryBoundWitnessWrapper.unwrap(query), () => 'Invalid query')) + const sourceQuery = assertEx(QueryBoundWitnessWrapper.unwrap(query), () => 'Invalid query') return await this.bindQueryResult(sourceQuery, [], undefined, [errorPayload]) } }) @@ -277,7 +275,7 @@ export abstract class AbstractModuleProxy< protected async filterErrors(result: ModuleQueryResult): Promise { const wrapper = await BoundWitnessWrapper.wrap(result[0], result[1]) - return wrapper.payloadsBySchema>(ModuleErrorSchema) + return wrapper.payloadsBySchema(ModuleErrorSchema) } // this checks and warns if we are getting spammed by the same query diff --git a/packages/modules/packages/bridge/packages/http/.npmignore b/packages/modules/packages/bridge/packages/http/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/bridge/packages/http/.npmignore +++ b/packages/modules/packages/bridge/packages/http/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/bridge/packages/http/package.json b/packages/modules/packages/bridge/packages/http/package.json index b0b8601263..1589c87615 100644 --- a/packages/modules/packages/bridge/packages/http/package.json +++ b/packages/modules/packages/bridge/packages/http/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/bridge-http", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -37,14 +37,13 @@ "module": "dist/neutral/index-browser.mjs", "types": "dist/neutral/index-browser.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/axios": "^4.4.10", - "@xylabs/exists": "^4.4.10", - "@xylabs/forget": "^4.4.10", - "@xylabs/hex": "^4.4.10", - "@xylabs/object": "^4.4.10", - "@xylabs/promise": "^4.4.10", - "@xylabs/sdk-api-express-ecs": "^2.1.0", + "@xylabs/assert": "^4.4.25", + "@xylabs/axios": "^4.4.25", + "@xylabs/exists": "^4.4.25", + "@xylabs/forget": "^4.4.25", + "@xylabs/hex": "^4.4.25", + "@xylabs/object": "^4.4.25", + "@xylabs/promise": "^4.4.25", "@xyo-network/account": "workspace:^", "@xyo-network/api-models": "workspace:^", "@xyo-network/boundwitness-model": "workspace:^", @@ -57,16 +56,17 @@ "@xyo-network/payload-model": "workspace:^", "async-mutex": "^0.5.0", "axios": "^1.7.9", - "express": "^4.21.1", + "express": "^4.21.2", "http-status-codes": "^2.3.0", "lru-cache": "^11.0.2" }, "devDependencies": { "@types/express": "^5.0.0", - "@types/node": "^22.10.1", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@types/node": "^22.10.2", + "@xylabs/sdk-api-express-ecs": "^2.1.0", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/account": "workspace:^", "@xyo-network/archivist-model": "workspace:^", "@xyo-network/bridge-abstract": "workspace:^", @@ -80,7 +80,16 @@ "typescript": "^5.7.2", "vitest": "^2.1.8" }, + "peerDependencies": { + "@xylabs/sdk-api-express-ecs": "^2.1.0" + }, + "peerDependenciesMeta": { + "@xylabs/sdk-api-express-ecs": { + "optional": true + } + }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/bridge/packages/http/src/HttpBridgeBase.ts b/packages/modules/packages/bridge/packages/http/src/HttpBridgeBase.ts index cd42e196a1..70b2d3b4a7 100644 --- a/packages/modules/packages/bridge/packages/http/src/HttpBridgeBase.ts +++ b/packages/modules/packages/bridge/packages/http/src/HttpBridgeBase.ts @@ -30,7 +30,7 @@ import { } from '@xyo-network/module-model' import { asAttachableNodeInstance } from '@xyo-network/node-model' import { - isPayloadOfSchemaType, Payload, Schema, WithMeta, + isPayloadOfSchemaType, Payload, Schema, } from '@xyo-network/payload-model' import { Mutex, Semaphore } from 'async-mutex' import type { AxiosError } from 'axios' @@ -120,7 +120,7 @@ export class HttpBridgeBase extends AbstractBr if (this._roots === undefined || force) { const state = await this.getRootState() this.logger?.debug(`HttpBridge:discoverRoots.state [${state?.length}]`) - const nodeManifest = state?.find(isPayloadOfSchemaType>(NodeManifestPayloadSchema)) + const nodeManifest = state?.find(isPayloadOfSchemaType(NodeManifestPayloadSchema)) if (nodeManifest) { const mods = (await this.resolveRootNode(nodeManifest)).filter(exists) this.logger?.debug(`HttpBridge:discoverRoots [${mods.length}]`) diff --git a/packages/modules/packages/bridge/packages/http/src/spec/HttpBridge.legacy.spec.ts b/packages/modules/packages/bridge/packages/http/src/spec/HttpBridge.legacy.spec.ts index deb240059d..0b7be05728 100644 --- a/packages/modules/packages/bridge/packages/http/src/spec/HttpBridge.legacy.spec.ts +++ b/packages/modules/packages/bridge/packages/http/src/spec/HttpBridge.legacy.spec.ts @@ -40,12 +40,12 @@ describe('HttpBridge', () => { console.log(`publicNode[${publicNode.address}]: ${publicNode.modName}`) const publicNodeModules = await publicNode.resolve('*', { direction: 'down' }) expect(publicNodeModules).toBeArray() - expect(publicNodeModules.length).toBeGreaterThan(10) + expect(publicNodeModules.length).toBeGreaterThan(0) } const bridgeModules = await bridge.resolve('*', { direction: 'down' }) expect(bridgeModules).toBeArray() - expect(bridgeModules.length).toBeGreaterThan(20) + expect(bridgeModules.length).toBeGreaterThan(0) /* const modules = await memNode.resolve('*') diff --git a/packages/modules/packages/bridge/packages/http/src/spec/tsconfig.json b/packages/modules/packages/bridge/packages/http/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/bridge/packages/http/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/bridge/packages/model/.npmignore b/packages/modules/packages/bridge/packages/model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/bridge/packages/model/.npmignore +++ b/packages/modules/packages/bridge/packages/model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/bridge/packages/model/package.json b/packages/modules/packages/bridge/packages/model/package.json index 33ce52dcc3..87bd8de419 100644 --- a/packages/modules/packages/bridge/packages/model/package.json +++ b/packages/modules/packages/bridge/packages/model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/bridge-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,21 +29,22 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/hex": "^4.4.10", - "@xylabs/object": "^4.4.10", - "@xylabs/promise": "^4.4.10", - "@xylabs/typeof": "^4.4.10", + "@xylabs/hex": "^4.4.25", + "@xylabs/object": "^4.4.25", + "@xylabs/promise": "^4.4.25", + "@xylabs/typeof": "^4.4.25", "@xyo-network/boundwitness-model": "workspace:^", "@xyo-network/module-events": "workspace:^", "@xyo-network/module-model": "workspace:^", "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/bridge/packages/module-resolver/.npmignore b/packages/modules/packages/bridge/packages/module-resolver/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/bridge/packages/module-resolver/.npmignore +++ b/packages/modules/packages/bridge/packages/module-resolver/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/bridge/packages/module-resolver/package.json b/packages/modules/packages/bridge/packages/module-resolver/package.json index ba3183079d..d798ca835f 100644 --- a/packages/modules/packages/bridge/packages/module-resolver/package.json +++ b/packages/modules/packages/bridge/packages/module-resolver/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/bridge-module-resolver", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,11 +29,12 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/bridge/packages/pub-sub/.npmignore b/packages/modules/packages/bridge/packages/pub-sub/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/bridge/packages/pub-sub/.npmignore +++ b/packages/modules/packages/bridge/packages/pub-sub/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/bridge/packages/pub-sub/package.json b/packages/modules/packages/bridge/packages/pub-sub/package.json index f1639901ee..d82f8f1aa5 100644 --- a/packages/modules/packages/bridge/packages/pub-sub/package.json +++ b/packages/modules/packages/bridge/packages/pub-sub/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/bridge-pub-sub", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,15 +29,15 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/array": "^4.4.10", - "@xylabs/assert": "^4.4.10", - "@xylabs/delay": "^4.4.10", - "@xylabs/exists": "^4.4.10", - "@xylabs/forget": "^4.4.10", - "@xylabs/hex": "^4.4.10", - "@xylabs/object": "^4.4.10", - "@xylabs/promise": "^4.4.10", - "@xylabs/timer": "^4.4.10", + "@xylabs/array": "^4.4.25", + "@xylabs/assert": "^4.4.25", + "@xylabs/delay": "^4.4.25", + "@xylabs/exists": "^4.4.25", + "@xylabs/forget": "^4.4.25", + "@xylabs/hex": "^4.4.25", + "@xylabs/object": "^4.4.25", + "@xylabs/promise": "^4.4.25", + "@xylabs/timer": "^4.4.25", "@xyo-network/account": "workspace:^", "@xyo-network/archivist-model": "workspace:^", "@xyo-network/boundwitness-model": "workspace:^", @@ -54,10 +54,10 @@ "lru-cache": "^11.0.2" }, "devDependencies": { - "@xylabs/logger": "^4.4.10", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/logger": "^4.4.25", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/archivist-memory": "workspace:^", "@xyo-network/diviner-boundwitness-memory": "workspace:^", "@xyo-network/module-abstract": "workspace:^", @@ -69,5 +69,6 @@ }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/bridge/packages/pub-sub/src/AsyncQueryBus/AsyncQueryBusBase.ts b/packages/modules/packages/bridge/packages/pub-sub/src/AsyncQueryBus/AsyncQueryBusBase.ts index fde173b940..60f6250609 100644 --- a/packages/modules/packages/bridge/packages/pub-sub/src/AsyncQueryBus/AsyncQueryBusBase.ts +++ b/packages/modules/packages/bridge/packages/pub-sub/src/AsyncQueryBus/AsyncQueryBusBase.ts @@ -1,5 +1,5 @@ import { assertEx } from '@xylabs/assert' -import type { Address } from '@xylabs/hex' +import type { Address, Hex } from '@xylabs/hex' import type { TypeCheck } from '@xylabs/object' import { Base } from '@xylabs/object' import type { ArchivistInstance } from '@xyo-network/archivist-model' @@ -12,6 +12,7 @@ import type { ModuleConfig, ModuleIdentifier, ModuleInstance, } from '@xyo-network/module-model' import { ResolveHelper } from '@xyo-network/module-model' +import { SequenceConstants } from '@xyo-network/payload-model' import { Mutex } from 'async-mutex' import { LRUCache } from 'lru-cache' @@ -22,7 +23,7 @@ const POLLING_FREQUENCY_MAX = 60_000 as const const POLLING_FREQUENCY_DEFAULT = 1000 as const export class AsyncQueryBusBase extends Base { - protected _lastState?: LRUCache + protected _lastState?: LRUCache protected _targetConfigs: Record = {} protected _targetQueries: Record = {} @@ -57,9 +58,9 @@ export class AsyncQueryBusBase { + protected get lastState(): LRUCache { const requiredConfig = { max: 1000, ttl: 0 } - this._lastState = this._lastState ?? new LRUCache(requiredConfig) + this._lastState = this._lastState ?? new LRUCache(requiredConfig) return this._lastState } @@ -119,7 +120,7 @@ export class AsyncQueryBusBase { + protected async retrieveState(address: Address): Promise { await Promise.resolve() const state = this.lastState.get(address) if (state === undefined) { - // If this is a boot we can go back a bit in time - // and begin processing recent commands - const newState = Date.now() - 1000 + const newState = SequenceConstants.minLocalSequence this.lastState.set(address, newState) return newState } else { diff --git a/packages/modules/packages/bridge/packages/pub-sub/src/AsyncQueryBus/AsyncQueryBusClient.ts b/packages/modules/packages/bridge/packages/pub-sub/src/AsyncQueryBus/AsyncQueryBusClient.ts index a3e35b33e7..ddde0e4bc6 100644 --- a/packages/modules/packages/bridge/packages/pub-sub/src/AsyncQueryBus/AsyncQueryBusClient.ts +++ b/packages/modules/packages/bridge/packages/pub-sub/src/AsyncQueryBus/AsyncQueryBusClient.ts @@ -4,13 +4,13 @@ import { forget } from '@xylabs/forget' import type { Address } from '@xylabs/hex' import { clearTimeoutEx, setTimeoutEx } from '@xylabs/timer' import type { QueryBoundWitness } from '@xyo-network/boundwitness-model' -import { isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model' +import { isBoundWitness } from '@xyo-network/boundwitness-model' import type { BoundWitnessDivinerQueryPayload } from '@xyo-network/diviner-boundwitness-model' import { BoundWitnessDivinerQuerySchema } from '@xyo-network/diviner-boundwitness-model' import type { CacheConfig, ModuleQueryResult } from '@xyo-network/module-model' import { PayloadBuilder } from '@xyo-network/payload-builder' import type { - ModuleError, Payload, PayloadWithMeta, WithMeta, + ModuleError, Payload, WithSources, } from '@xyo-network/payload-model' import { LRUCache } from 'lru-cache' @@ -54,8 +54,7 @@ export class AsyncQueryBusClient { this.logger?.debug(`Begin issuing query to: ${address}`) - const $meta = { ...query?.$meta, destination: [address] } - const routedQuery = await PayloadBuilder.build({ ...query, $meta }) + const routedQuery = { ...query, $destination: [address] } // console.log('queryArchivist - calling') const queryArchivist = assertEx( await this.queriesArchivist(), @@ -69,11 +68,7 @@ export class AsyncQueryBusClient)?.$hash - // Calculate the hash otherwise - ?? Object.keys(await PayloadBuilder.dataHash(routedQuery)) + const routedQueryHash = await PayloadBuilder.dataHash(routedQuery) this.logger?.debug(`Issuing query: ${routedQueryHash} to: ${address}`) // If there was data associated with the query, add it to the insert const data = payloads ? [routedQuery, ...payloads] : [routedQuery] @@ -110,11 +105,11 @@ export class AsyncQueryBusClient = { message: 'Timeout waiting for query response', query: 'network.xyo.boundwitness', schema: 'network.xyo.error.module', - sources: [routedQueryHash], + $sources: [routedQueryHash], } reject(error) return @@ -162,11 +157,11 @@ export class AsyncQueryBusClient 0) { - const response = result.find(isBoundWitnessWithMeta) - if (response && (response?.$meta as unknown as { sourceQuery: string })?.sourceQuery === sourceQuery) { + const response = result.find(isBoundWitness) + if (response && (response as unknown as { $sourceQuery: string })?.$sourceQuery === sourceQuery) { this.logger?.debug(`Found response to query: ${sourceQuery}`) // Get any payloads associated with the response - const payloads: PayloadWithMeta[] = response.payload_hashes?.length > 0 ? await responseArchivist.get(response.payload_hashes) : [] + const payloads: Payload[] = response.payload_hashes?.length > 0 ? await responseArchivist.get(response.payload_hashes) : [] this.queryCache.set(sourceQuery, [response, payloads, []]) } } diff --git a/packages/modules/packages/bridge/packages/pub-sub/src/AsyncQueryBus/AsyncQueryBusHost.ts b/packages/modules/packages/bridge/packages/pub-sub/src/AsyncQueryBus/AsyncQueryBusHost.ts index 37582bd3d6..44d60ecaa3 100644 --- a/packages/modules/packages/bridge/packages/pub-sub/src/AsyncQueryBus/AsyncQueryBusHost.ts +++ b/packages/modules/packages/bridge/packages/pub-sub/src/AsyncQueryBus/AsyncQueryBusHost.ts @@ -3,7 +3,7 @@ import { assertEx } from '@xylabs/assert' import type { Address } from '@xylabs/hex' import { clearTimeoutEx, setTimeoutEx } from '@xylabs/timer' import type { QueryBoundWitness } from '@xyo-network/boundwitness-model' -import { isQueryBoundWitnessWithMeta } from '@xyo-network/boundwitness-model' +import { isQueryBoundWitnessWithStorageMeta } from '@xyo-network/boundwitness-model' import { isBridgeInstance } from '@xyo-network/bridge-model' import type { BoundWitnessDivinerQueryPayload } from '@xyo-network/diviner-boundwitness-model' import { BoundWitnessDivinerQuerySchema } from '@xyo-network/diviner-boundwitness-model' @@ -18,7 +18,9 @@ import { ResolveHelper, } from '@xyo-network/module-model' import { PayloadBuilder } from '@xyo-network/payload-builder' -import type { Schema, WithMeta } from '@xyo-network/payload-model' +import { + type Schema, SequenceConstants, type WithStorageMeta, +} from '@xyo-network/payload-model' import { AsyncQueryBusBase } from './AsyncQueryBusBase.ts' import type { AsyncQueryBusHostParams } from './model/index.ts' @@ -132,7 +134,7 @@ export class AsyncQueryBusHost) => { + protected callLocalModule = async (localModule: ModuleInstance, query: WithStorageMeta) => { this._idle = false this._lastQueryTime = Date.now() const localModuleName = localModule.id @@ -144,7 +146,7 @@ export class AsyncQueryBusHost `Unable to contact responsesArchivist [${this.config?.intersect?.queries?.archivist}]`, ) - const queryDestination = (query.$meta as { destination?: string[] })?.destination + const queryDestination = query?.$destination if (queryDestination && queryDestination?.includes(localModule.address)) { // Find the query const queryIndex = query.payload_hashes.indexOf(query.query) @@ -156,7 +158,7 @@ export class AsyncQueryBusHost 0 ? Math.max(...queries.map(c => c.timestamp ?? prevState)) + 1 : Date.now() + const queries = result.filter(isQueryBoundWitnessWithStorageMeta) + // eslint-disable-next-line unicorn/no-array-reduce, unicorn/prefer-math-min-max + const highestQuerySequence = queries.reduce((acc, query) => acc = (query._sequence > acc ? query._sequence : acc), SequenceConstants.minLocalSequence) + const nextState = queries.length > 0 ? highestQuerySequence : SequenceConstants.minLocalSequence // TODO: This needs to be thought through as we can't use a distributed timestamp // because of collisions. We need to use the timestamp of the store so there's no // chance of multiple commands at the same time diff --git a/packages/modules/packages/bridge/packages/pub-sub/src/spec/PubSubBridge.adhoc.spec.ts b/packages/modules/packages/bridge/packages/pub-sub/src/spec/PubSubBridge.adhoc.spec.ts index 1b30983b97..24b90f7628 100644 --- a/packages/modules/packages/bridge/packages/pub-sub/src/spec/PubSubBridge.adhoc.spec.ts +++ b/packages/modules/packages/bridge/packages/pub-sub/src/spec/PubSubBridge.adhoc.spec.ts @@ -225,4 +225,4 @@ describe('PubSubBridge', () => { expect(exposedAfter).toBeArray() expect(exposedAfter?.length).toBe(0) }) -}) +}, 10_000) diff --git a/packages/modules/packages/bridge/packages/pub-sub/src/spec/tsconfig.json b/packages/modules/packages/bridge/packages/pub-sub/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/bridge/packages/pub-sub/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/bridge/packages/websocket/.npmignore b/packages/modules/packages/bridge/packages/websocket/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/bridge/packages/websocket/.npmignore +++ b/packages/modules/packages/bridge/packages/websocket/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/bridge/packages/websocket/package.json b/packages/modules/packages/bridge/packages/websocket/package.json index 6ea579f270..7a8ea66c43 100644 --- a/packages/modules/packages/bridge/packages/websocket/package.json +++ b/packages/modules/packages/bridge/packages/websocket/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/bridge-websocket", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -37,10 +37,10 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/hex": "^4.4.10", - "@xylabs/object": "^4.4.10", - "@xylabs/promise": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/hex": "^4.4.25", + "@xylabs/object": "^4.4.25", + "@xylabs/promise": "^4.4.25", "@xyo-network/account": "workspace:^", "@xyo-network/boundwitness-model": "workspace:^", "@xyo-network/bridge-abstract": "workspace:^", @@ -53,9 +53,9 @@ "socket.io": "^4.8.1" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/account": "workspace:^", "@xyo-network/archivist-model": "workspace:^", "@xyo-network/node-memory": "workspace:^", @@ -68,5 +68,6 @@ }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/bridge/packages/websocket/src/spec/tsconfig.json b/packages/modules/packages/bridge/packages/websocket/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/bridge/packages/websocket/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/bridge/packages/worker/.npmignore b/packages/modules/packages/bridge/packages/worker/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/bridge/packages/worker/.npmignore +++ b/packages/modules/packages/bridge/packages/worker/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/bridge/packages/worker/package.json b/packages/modules/packages/bridge/packages/worker/package.json index 29553e1f18..2b222287ed 100644 --- a/packages/modules/packages/bridge/packages/worker/package.json +++ b/packages/modules/packages/bridge/packages/worker/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/bridge-worker", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -38,12 +38,12 @@ "types": "dist/neutral/index.d.ts", "dependencies": { "@scure/bip39": "^1.5.0", - "@xylabs/assert": "^4.4.10", - "@xylabs/forget": "^4.4.10", - "@xylabs/hex": "^4.4.10", - "@xylabs/logger": "^4.4.10", - "@xylabs/object": "^4.4.10", - "@xylabs/promise": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/forget": "^4.4.25", + "@xylabs/hex": "^4.4.25", + "@xylabs/logger": "^4.4.25", + "@xylabs/object": "^4.4.25", + "@xylabs/promise": "^4.4.25", "@xyo-network/account": "workspace:^", "@xyo-network/archivist-model": "workspace:^", "@xyo-network/boundwitness-model": "workspace:^", @@ -58,11 +58,12 @@ "lru-cache": "^11.0.2" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/bridge/packages/wrapper/.npmignore b/packages/modules/packages/bridge/packages/wrapper/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/bridge/packages/wrapper/.npmignore +++ b/packages/modules/packages/bridge/packages/wrapper/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/bridge/packages/wrapper/package.json b/packages/modules/packages/bridge/packages/wrapper/package.json index cc70e47883..fb6c58c54f 100644 --- a/packages/modules/packages/bridge/packages/wrapper/package.json +++ b/packages/modules/packages/bridge/packages/wrapper/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/bridge-wrapper", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,17 +29,18 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/hex": "^4.4.10", + "@xylabs/hex": "^4.4.25", "@xyo-network/bridge-model": "workspace:^", "@xyo-network/module-model": "workspace:^", "@xyo-network/module-wrapper": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/bridge/src/spec/tsconfig.json b/packages/modules/packages/bridge/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/bridge/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/diviner/.npmignore b/packages/modules/packages/diviner/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/.npmignore +++ b/packages/modules/packages/diviner/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/package.json b/packages/modules/packages/diviner/package.json index fe4bd8d7c4..43a840b7ac 100644 --- a/packages/modules/packages/diviner/package.json +++ b/packages/modules/packages/diviner/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -50,11 +50,12 @@ "@xyo-network/diviner-wrapper": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/abstract/.npmignore b/packages/modules/packages/diviner/packages/abstract/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/abstract/.npmignore +++ b/packages/modules/packages/diviner/packages/abstract/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/abstract/package.json b/packages/modules/packages/diviner/packages/abstract/package.json index dbc4e3cc76..b927dd6732 100644 --- a/packages/modules/packages/diviner/packages/abstract/package.json +++ b/packages/modules/packages/diviner/packages/abstract/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-abstract", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,10 +29,10 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/object": "^4.4.10", - "@xylabs/promise": "^4.4.10", - "@xylabs/retry": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/object": "^4.4.25", + "@xylabs/promise": "^4.4.25", + "@xylabs/retry": "^4.4.25", "@xyo-network/account-model": "workspace:^", "@xyo-network/boundwitness-model": "workspace:^", "@xyo-network/boundwitness-wrapper": "workspace:^", @@ -43,11 +43,12 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/abstract/src/AbstractDiviner.ts b/packages/modules/packages/diviner/packages/abstract/src/AbstractDiviner.ts index c6db8bce34..72afc10e5b 100644 --- a/packages/modules/packages/diviner/packages/abstract/src/AbstractDiviner.ts +++ b/packages/modules/packages/diviner/packages/abstract/src/AbstractDiviner.ts @@ -9,6 +9,7 @@ import { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper' import type { AttachableDivinerInstance, DivinerDivineQuery, + DivinerDivineResult, DivinerInstance, DivinerModuleEventData, DivinerParams, @@ -24,7 +25,7 @@ import type { } from '@xyo-network/module-model' import { PayloadBuilder } from '@xyo-network/payload-builder' import type { - Payload, Schema, WithMeta, WithSources, + Payload, Schema, WithOptionalSources, WithoutPrivateStorageMeta, } from '@xyo-network/payload-model' export abstract class AbstractDiviner< @@ -49,18 +50,18 @@ export abstract class AbstractDiviner< } /** @function divine The main entry point for a diviner. Do not override this function. Implement/override divineHandler for custom functionality */ - divine(payloads: TIn[] = [], retryConfigIn?: RetryConfigWithComplete): Promise>[]> { + divine(payloads: TIn[] = [], retryConfigIn?: RetryConfigWithComplete): Promise[]> { this._noOverride('divine') return this.busy(async () => { const retryConfig = retryConfigIn ?? this.config.retry await this.started('throw') await this.emit('divineStart', { inPayloads: payloads, mod: this }) - const resultPayloads: TOut[] + const resultPayloads = (retryConfig ? await retry(() => this.divineHandler(payloads), retryConfig) : await this.divineHandler(payloads)) ?? [] await this.emit('divineEnd', { errors: [], inPayloads: payloads, mod: this, outPayloads: resultPayloads, }) - return await Promise.all(resultPayloads.map(payload => PayloadBuilder.build(payload))) + return PayloadBuilder.omitPrivateStorageMeta(resultPayloads) }) } @@ -75,12 +76,12 @@ export abstract class AbstractDiviner< payloads?: Payload[], queryConfig?: TConfig, ): Promise { - const wrapper = await QueryBoundWitnessWrapper.parseQuery(query, payloads) + const wrapper = QueryBoundWitnessWrapper.parseQuery(query, payloads) // remove the query payload const cleanPayloads = await PayloadBuilder.filterExclude(payloads, query.query) const queryPayload = await wrapper.getQuery() assertEx(await this.queryable(query, payloads, queryConfig)) - const resultPayloads: Payload[] = [] + const resultPayloads: WithoutPrivateStorageMeta[] = [] switch (queryPayload.schema) { case DivinerDivineQuerySchema: { resultPayloads.push(...(await this.divine(cleanPayloads as TIn[]))) @@ -90,9 +91,9 @@ export abstract class AbstractDiviner< return super.queryHandler(query, payloads) } } - return resultPayloads + return PayloadBuilder.omitPrivateStorageMeta(resultPayloads) } /** @function divineHandler Implement or override to add custom functionality to a diviner */ - protected abstract divineHandler(payloads?: TIn[]): Promisable[]> + protected abstract divineHandler(payloads?: TIn[]): Promisable[]> } diff --git a/packages/modules/packages/diviner/packages/addresschain/.npmignore b/packages/modules/packages/diviner/packages/addresschain/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/addresschain/.npmignore +++ b/packages/modules/packages/diviner/packages/addresschain/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/addresschain/package.json b/packages/modules/packages/diviner/packages/addresschain/package.json index a231d597a1..8756f5710c 100644 --- a/packages/modules/packages/diviner/packages/addresschain/package.json +++ b/packages/modules/packages/diviner/packages/addresschain/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-address-chain", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -34,11 +34,12 @@ "@xyo-network/diviner-address-chain-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/addresschain/packages/abstract/.npmignore b/packages/modules/packages/diviner/packages/addresschain/packages/abstract/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/addresschain/packages/abstract/.npmignore +++ b/packages/modules/packages/diviner/packages/addresschain/packages/abstract/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/addresschain/packages/abstract/package.json b/packages/modules/packages/diviner/packages/addresschain/packages/abstract/package.json index d7694ff281..722fbc9a55 100644 --- a/packages/modules/packages/diviner/packages/addresschain/packages/abstract/package.json +++ b/packages/modules/packages/diviner/packages/addresschain/packages/abstract/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-address-chain-abstract", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -35,11 +35,12 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/addresschain/packages/memory/.npmignore b/packages/modules/packages/diviner/packages/addresschain/packages/memory/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/addresschain/packages/memory/.npmignore +++ b/packages/modules/packages/diviner/packages/addresschain/packages/memory/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/addresschain/packages/memory/package.json b/packages/modules/packages/diviner/packages/addresschain/packages/memory/package.json index a004c54451..1a1759e6e2 100644 --- a/packages/modules/packages/diviner/packages/addresschain/packages/memory/package.json +++ b/packages/modules/packages/diviner/packages/addresschain/packages/memory/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-address-chain-memory", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,8 +29,8 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/hex": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/hex": "^4.4.25", "@xyo-network/archivist-model": "workspace:^", "@xyo-network/boundwitness-model": "workspace:^", "@xyo-network/boundwitness-wrapper": "workspace:^", @@ -41,9 +41,11 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/array": "^4.4.25", + "@xylabs/delay": "^4.4.25", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/account": "workspace:^", "@xyo-network/archivist-memory": "workspace:^", "@xyo-network/archivist-wrapper": "workspace:^", @@ -56,5 +58,6 @@ }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/addresschain/packages/memory/src/MemoryDiviner.ts b/packages/modules/packages/diviner/packages/addresschain/packages/memory/src/MemoryDiviner.ts index da9fc10cd7..967ac43fa2 100644 --- a/packages/modules/packages/diviner/packages/addresschain/packages/memory/src/MemoryDiviner.ts +++ b/packages/modules/packages/diviner/packages/addresschain/packages/memory/src/MemoryDiviner.ts @@ -2,7 +2,7 @@ import { assertEx } from '@xylabs/assert' import type { Hash } from '@xylabs/hex' import type { ArchivistInstance } from '@xyo-network/archivist-model' import type { BoundWitness } from '@xyo-network/boundwitness-model' -import { isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model' +import { isBoundWitnessWithStorageMeta } from '@xyo-network/boundwitness-model' import { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper' import { AddressChainDiviner } from '@xyo-network/diviner-address-chain-abstract' import type { AddressChainDivinerConfig } from '@xyo-network/diviner-address-chain-model' @@ -33,7 +33,7 @@ export class MemoryAddressChainDiviner< const archivist = assertEx(archivistIn, () => 'Unable to resolve archivist') let currentHash: Hash | null = assertEx(this.config.startHash, () => 'Missing startHash') while (currentHash && result.length < (this.config.maxResults ?? 1000)) { - console.log(`currentHash: ${currentHash}`) + // console.log(`currentHash: ${currentHash}`) const bwPayload: BoundWitness | undefined = await this.archivistFindHash([archivist], currentHash) const bwWrapper: BoundWitnessWrapper | undefined = BoundWitnessWrapper.tryParse(bwPayload) if (bwWrapper) { @@ -52,10 +52,10 @@ export class MemoryAddressChainDiviner< } private async archivistFindHash(archivists: ArchivistInstance[], hash: Hash): Promise { - console.log('archivistFindHash') + // console.log('archivistFindHash') let index = 0 if (archivists[index]) { - const result = (await archivists[index].get([hash])).findLast(isBoundWitnessWithMeta) + const result = (await archivists[index].get([hash])).findLast(isBoundWitnessWithStorageMeta) if (result) { return result } diff --git a/packages/modules/packages/diviner/packages/addresschain/packages/memory/src/spec/MemoryDiviner.spec.ts b/packages/modules/packages/diviner/packages/addresschain/packages/memory/src/spec/MemoryDiviner.spec.ts index 77c4858da3..5886f3e118 100644 --- a/packages/modules/packages/diviner/packages/addresschain/packages/memory/src/spec/MemoryDiviner.spec.ts +++ b/packages/modules/packages/diviner/packages/addresschain/packages/memory/src/spec/MemoryDiviner.spec.ts @@ -1,15 +1,17 @@ import '@xylabs/vitest-extended' +import { filterAs } from '@xylabs/array' +import { assertEx } from '@xylabs/assert' +import { delay } from '@xylabs/delay' import { Account } from '@xyo-network/account' import { MemoryArchivist } from '@xyo-network/archivist-memory' import { ArchivistWrapper } from '@xyo-network/archivist-wrapper' import type { BoundWitness } from '@xyo-network/boundwitness-model' -import { BoundWitnessSchema } from '@xyo-network/boundwitness-model' +import { asOptionalBoundWitness, BoundWitnessSchema } from '@xyo-network/boundwitness-model' import { AddressChainDivinerConfigSchema } from '@xyo-network/diviner-address-chain-model' import { MemoryNode } from '@xyo-network/node-memory' import { NodeConfigSchema } from '@xyo-network/node-model' import { PayloadBuilder } from '@xyo-network/payload-builder' -import type { WithMeta } from '@xyo-network/payload-model' import { PayloadWrapper } from '@xyo-network/payload-wrapper' import { describe, expect, it, @@ -41,14 +43,18 @@ describe('MemoryAddressHistoryDiviner', () => { const payload2 = PayloadWrapper.wrap({ index: 2, schema: 'network.xyo.test' }) const payload3 = PayloadWrapper.wrap({ index: 3, schema: 'network.xyo.test' }) - await archivistWrapper.insert([payload1.payload]) - await archivistWrapper.insert([payload2.payload]) - await archivistWrapper.insert([payload3.payload]) - + for (const payload of [payload1, payload2, payload3]) { + await delay(2) + await archivistWrapper.insert([payload.payload]) + } const all = await archivist.all() - expect(all).toBeArrayOfSize(6) + const allBWs = filterAs(all, asOptionalBoundWitness) + const lastBw = allBWs.at(-1) + expect(lastBw).toBeDefined() + const startHash = await PayloadBuilder.dataHash(assertEx(lastBw)) + await node.register(archivist) await node.attach(archivist.address) const diviner = await MemoryAddressChainDiviner.create({ @@ -57,13 +63,13 @@ describe('MemoryAddressHistoryDiviner', () => { address: wrapperAccount.address, archivist: archivist.address, schema: AddressChainDivinerConfigSchema, - startHash: (await PayloadBuilder.build(all[5])).$hash, + startHash, }, }) await node.register(diviner) await node.attach(diviner.address) - const result = (await diviner.divine()) as WithMeta[] + const result = (await diviner.divine()) as BoundWitness[] expect(result.length).toBe(3) expect(result[0].schema).toBe(BoundWitnessSchema) expect(result[0].addresses).toContain(wrapperAddress) diff --git a/packages/modules/packages/diviner/packages/addresschain/packages/memory/src/spec/tsconfig.json b/packages/modules/packages/diviner/packages/addresschain/packages/memory/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/diviner/packages/addresschain/packages/memory/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/diviner/packages/addresschain/packages/model/.npmignore b/packages/modules/packages/diviner/packages/addresschain/packages/model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/addresschain/packages/model/.npmignore +++ b/packages/modules/packages/diviner/packages/addresschain/packages/model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/addresschain/packages/model/package.json b/packages/modules/packages/diviner/packages/addresschain/packages/model/package.json index 5ff5b4177a..f55744c617 100644 --- a/packages/modules/packages/diviner/packages/addresschain/packages/model/package.json +++ b/packages/modules/packages/diviner/packages/addresschain/packages/model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-address-chain-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,17 +29,18 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/hex": "^4.4.10", + "@xylabs/hex": "^4.4.25", "@xyo-network/diviner-model": "workspace:^", "@xyo-network/module-model": "workspace:^", "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/addresschain/packages/model/src/Query.ts b/packages/modules/packages/diviner/packages/addresschain/packages/model/src/Query.ts index 96534a09e6..495ed96087 100644 --- a/packages/modules/packages/diviner/packages/addresschain/packages/model/src/Query.ts +++ b/packages/modules/packages/diviner/packages/addresschain/packages/model/src/Query.ts @@ -1,8 +1,9 @@ -import type { - Payload, PayloadFindFilter, Query, +import { + isPayloadOfSchemaType, + type PayloadFindFilter, type Query, } from '@xyo-network/payload-model' import { AddressChainQuerySchema } from './Schema.ts' export type AddressChainQueryPayload = Query<{ schema: AddressChainQuerySchema } & PayloadFindFilter> -export const isAddressChainQueryPayload = (x?: Payload | null): x is AddressChainQueryPayload => x?.schema === AddressChainQuerySchema +export const isAddressChainQueryPayload = isPayloadOfSchemaType(AddressChainQuerySchema) diff --git a/packages/modules/packages/diviner/packages/addresshistory/.npmignore b/packages/modules/packages/diviner/packages/addresshistory/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/addresshistory/.npmignore +++ b/packages/modules/packages/diviner/packages/addresshistory/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/addresshistory/package.json b/packages/modules/packages/diviner/packages/addresshistory/package.json index 519d26fd73..4719b7da71 100644 --- a/packages/modules/packages/diviner/packages/addresshistory/package.json +++ b/packages/modules/packages/diviner/packages/addresshistory/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-address-history", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,9 +29,9 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/exists": "^4.4.10", - "@xylabs/hex": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/exists": "^4.4.25", + "@xylabs/hex": "^4.4.25", "@xyo-network/archivist-model": "workspace:^", "@xyo-network/boundwitness-builder": "workspace:^", "@xyo-network/boundwitness-model": "workspace:^", @@ -42,9 +42,9 @@ "@xyo-network/payload-wrapper": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/account": "workspace:^", "@xyo-network/archivist-memory": "workspace:^", "@xyo-network/archivist-wrapper": "workspace:^", @@ -54,5 +54,6 @@ }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/addresshistory/packages/model/.npmignore b/packages/modules/packages/diviner/packages/addresshistory/packages/model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/addresshistory/packages/model/.npmignore +++ b/packages/modules/packages/diviner/packages/addresshistory/packages/model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/addresshistory/packages/model/package.json b/packages/modules/packages/diviner/packages/addresshistory/packages/model/package.json index 3fdeae3f0e..5a4bd8e1a9 100644 --- a/packages/modules/packages/diviner/packages/addresshistory/packages/model/package.json +++ b/packages/modules/packages/diviner/packages/addresshistory/packages/model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-address-history-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,17 +29,18 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/hex": "^4.4.10", + "@xylabs/hex": "^4.4.25", "@xyo-network/diviner-model": "workspace:^", "@xyo-network/module-model": "workspace:^", "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/addresshistory/packages/model/src/Diviner.ts b/packages/modules/packages/diviner/packages/addresshistory/packages/model/src/Diviner.ts index c4de28322e..1c826f91f0 100644 --- a/packages/modules/packages/diviner/packages/addresshistory/packages/model/src/Diviner.ts +++ b/packages/modules/packages/diviner/packages/addresshistory/packages/model/src/Diviner.ts @@ -1,5 +1,6 @@ -import type { - Payload, PayloadFindFilter, Query, +import { + isPayloadOfSchemaType, + type Payload, type PayloadFindFilter, type Query, } from '@xyo-network/payload-model' export type AddressHistorySchema = 'network.xyo.diviner.address.history' @@ -12,4 +13,4 @@ export type AddressHistoryPayload = Payload<{ schema: AddressHistorySchema }> export const isAddressHistoryPayload = (x?: Payload | null): x is AddressHistoryPayload => x?.schema === AddressHistorySchema export type AddressHistoryQueryPayload = Query<{ schema: AddressHistoryQuerySchema } & PayloadFindFilter> -export const isAddressHistoryQueryPayload = (x?: Payload | null): x is AddressHistoryQueryPayload => x?.schema === AddressHistoryQuerySchema +export const isAddressHistoryQueryPayload = isPayloadOfSchemaType(AddressHistoryQuerySchema) diff --git a/packages/modules/packages/diviner/packages/addresshistory/src/Diviner.ts b/packages/modules/packages/diviner/packages/addresshistory/src/Diviner.ts index c2dabb94cd..2d16dfe1ad 100644 --- a/packages/modules/packages/diviner/packages/addresshistory/src/Diviner.ts +++ b/packages/modules/packages/diviner/packages/addresshistory/src/Diviner.ts @@ -4,7 +4,7 @@ import type { Address } from '@xylabs/hex' import { ArchivistGetQuerySchema, asArchivistInstance } from '@xyo-network/archivist-model' import { BoundWitnessBuilder } from '@xyo-network/boundwitness-builder' import type { BoundWitness } from '@xyo-network/boundwitness-model' -import { isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model' +import { isBoundWitnessWithStorageMeta } from '@xyo-network/boundwitness-model' import { AbstractDiviner } from '@xyo-network/diviner-abstract' import type { AddressHistoryDivinerParams } from '@xyo-network/diviner-address-history-model' import { AddressHistoryDivinerConfigSchema } from '@xyo-network/diviner-address-history-model' @@ -43,7 +43,7 @@ export class AddressHistoryDiviner { const all = await archivist.all?.() - return all?.filter(isBoundWitnessWithMeta) + return all?.filter(isBoundWitnessWithStorageMeta) }), ) ) diff --git a/packages/modules/packages/diviner/packages/addresshistory/src/spec/Diviner.spec.ts b/packages/modules/packages/diviner/packages/addresshistory/src/spec/Diviner.spec.ts index 9f3ca7e604..e123dbccfb 100644 --- a/packages/modules/packages/diviner/packages/addresshistory/src/spec/Diviner.spec.ts +++ b/packages/modules/packages/diviner/packages/addresshistory/src/spec/Diviner.spec.ts @@ -7,8 +7,6 @@ import { ArchivistWrapper } from '@xyo-network/archivist-wrapper' import type { BoundWitness } from '@xyo-network/boundwitness-model' import { AddressHistoryDivinerConfigSchema, AddressHistoryQuerySchema } from '@xyo-network/diviner-address-history-model' import { MemoryNode } from '@xyo-network/node-memory' -import { PayloadBuilder } from '@xyo-network/payload-builder' -import type { WithMeta } from '@xyo-network/payload-model' import { beforeAll, describe, expect, it, @@ -39,9 +37,9 @@ describe('AddressHistoryDiviner', () => { config: { schema: MemoryArchivist.defaultConfigSchema, storeQueries: true }, }) const wrapper = ArchivistWrapper.wrap(archivist, wrapperAccount) - const payload1 = await PayloadBuilder.build({ index: 1, schema: 'network.xyo.test' }) - const payload2 = await PayloadBuilder.build({ index: 2, schema: 'network.xyo.test' }) - const payload3 = await PayloadBuilder.build({ index: 3, schema: 'network.xyo.test' }) + const payload1 = { index: 1, schema: 'network.xyo.test' } + const payload2 = { index: 2, schema: 'network.xyo.test' } + const payload3 = { index: 3, schema: 'network.xyo.test' } await wrapper.insert([payload1]) await wrapper.insert([payload2]) await wrapper.insert([payload3]) @@ -65,7 +63,7 @@ describe('AddressHistoryDiviner', () => { }) describe('with no query payloads', () => { it('returns divined result for all addresses', async () => { - const result = (await diviner.divine()) as WithMeta[] + const result = (await diviner.divine()) as BoundWitness[] expect(result.length).toBe(1) expect(result[0].addresses.includes(wrapperAccount.address)).toBeTrue() }) diff --git a/packages/modules/packages/diviner/packages/addresshistory/src/spec/tsconfig.json b/packages/modules/packages/diviner/packages/addresshistory/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/diviner/packages/addresshistory/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/diviner/packages/addressspace/.npmignore b/packages/modules/packages/diviner/packages/addressspace/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/addressspace/.npmignore +++ b/packages/modules/packages/diviner/packages/addressspace/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/addressspace/package.json b/packages/modules/packages/diviner/packages/addressspace/package.json index 6a6440c925..6e2fcea953 100644 --- a/packages/modules/packages/diviner/packages/addressspace/package.json +++ b/packages/modules/packages/diviner/packages/addressspace/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-address-space", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -34,11 +34,12 @@ "@xyo-network/diviner-address-space-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/addressspace/packages/abstract/.npmignore b/packages/modules/packages/diviner/packages/addressspace/packages/abstract/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/addressspace/packages/abstract/.npmignore +++ b/packages/modules/packages/diviner/packages/addressspace/packages/abstract/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/addressspace/packages/abstract/package.json b/packages/modules/packages/diviner/packages/addressspace/packages/abstract/package.json index 70d761a072..e4fae435e7 100644 --- a/packages/modules/packages/diviner/packages/addressspace/packages/abstract/package.json +++ b/packages/modules/packages/diviner/packages/addressspace/packages/abstract/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-address-space-abstract", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -35,11 +35,12 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/addressspace/packages/memory/.npmignore b/packages/modules/packages/diviner/packages/addressspace/packages/memory/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/addressspace/packages/memory/.npmignore +++ b/packages/modules/packages/diviner/packages/addressspace/packages/memory/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/addressspace/packages/memory/package.json b/packages/modules/packages/diviner/packages/addressspace/packages/memory/package.json index ca3e426530..79c97ddaa2 100644 --- a/packages/modules/packages/diviner/packages/addressspace/packages/memory/package.json +++ b/packages/modules/packages/diviner/packages/addressspace/packages/memory/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-address-space-memory", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,8 +29,8 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/hex": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/hex": "^4.4.25", "@xyo-network/archivist-wrapper": "workspace:^", "@xyo-network/boundwitness-model": "workspace:^", "@xyo-network/diviner-address-space-abstract": "workspace:^", @@ -40,9 +40,9 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/account": "workspace:^", "@xyo-network/archivist-memory": "workspace:^", "@xyo-network/node-memory": "workspace:^", @@ -52,5 +52,6 @@ }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/addressspace/packages/memory/src/MemoryAddressSpaceDiviner.ts b/packages/modules/packages/diviner/packages/addressspace/packages/memory/src/MemoryAddressSpaceDiviner.ts index 2961a9c138..6980b2361e 100644 --- a/packages/modules/packages/diviner/packages/addressspace/packages/memory/src/MemoryAddressSpaceDiviner.ts +++ b/packages/modules/packages/diviner/packages/addressspace/packages/memory/src/MemoryAddressSpaceDiviner.ts @@ -1,7 +1,7 @@ import { assertEx } from '@xylabs/assert' import type { Address } from '@xylabs/hex' import { ArchivistWrapper } from '@xyo-network/archivist-wrapper' -import { isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model' +import { isBoundWitnessWithStorageMeta } from '@xyo-network/boundwitness-model' import { AddressSpaceDiviner } from '@xyo-network/diviner-address-space-abstract' import type { AddressSpaceDivinerParams } from '@xyo-network/diviner-address-space-model' import { AddressSpaceDivinerConfigSchema } from '@xyo-network/diviner-address-space-model' @@ -26,7 +26,7 @@ export class MemoryAddressSpaceDiviner 'Unable to resolve archivist') const archivist = ArchivistWrapper.wrap(archivistMod, this.account) const all = await archivist.all?.() - const bwLists = all?.filter(isBoundWitnessWithMeta) ?? [] + const bwLists = all?.filter(isBoundWitnessWithStorageMeta) ?? [] const addresses = new Set
(bwLists.flatMap(bw => bw.addresses).map(address => address.toLowerCase() as Address)) return await Promise.all( [...addresses].map(address => new PayloadBuilder({ schema: AddressSchema }).fields({ address }).build()), diff --git a/packages/modules/packages/diviner/packages/addressspace/packages/memory/src/spec/tsconfig.json b/packages/modules/packages/diviner/packages/addressspace/packages/memory/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/diviner/packages/addressspace/packages/memory/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/diviner/packages/addressspace/packages/model/.npmignore b/packages/modules/packages/diviner/packages/addressspace/packages/model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/addressspace/packages/model/.npmignore +++ b/packages/modules/packages/diviner/packages/addressspace/packages/model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/addressspace/packages/model/package.json b/packages/modules/packages/diviner/packages/addressspace/packages/model/package.json index 88ddcbc350..60c3f3b81e 100644 --- a/packages/modules/packages/diviner/packages/addressspace/packages/model/package.json +++ b/packages/modules/packages/diviner/packages/addressspace/packages/model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-address-space-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -33,11 +33,12 @@ "@xyo-network/module-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/archivist/.npmignore b/packages/modules/packages/diviner/packages/archivist/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/archivist/.npmignore +++ b/packages/modules/packages/diviner/packages/archivist/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/archivist/package.json b/packages/modules/packages/diviner/packages/archivist/package.json index 81c6648542..f2eb2e01b8 100644 --- a/packages/modules/packages/diviner/packages/archivist/package.json +++ b/packages/modules/packages/diviner/packages/archivist/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-archivist", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,7 +29,7 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", + "@xylabs/assert": "^4.4.25", "@xyo-network/diviner-abstract": "workspace:^", "@xyo-network/diviner-huri": "workspace:^", "@xyo-network/diviner-model": "workspace:^", @@ -38,11 +38,12 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/archivist/src/Diviner.ts b/packages/modules/packages/diviner/packages/archivist/src/Diviner.ts index 3fe8c71d80..61e987be0c 100644 --- a/packages/modules/packages/diviner/packages/archivist/src/Diviner.ts +++ b/packages/modules/packages/diviner/packages/archivist/src/Diviner.ts @@ -8,7 +8,7 @@ import type { import { Huri } from '@xyo-network/huri' import type { AnyConfigSchema } from '@xyo-network/module-model' import type { - Payload, Schema, WithMeta, + Payload, Schema, WithStorageMeta, } from '@xyo-network/payload-model' import type { ArchivistPayloadDivinerConfig } from './Config.ts' @@ -31,13 +31,13 @@ export class ArchivistPayloadDiviner< static override readonly configSchemas: Schema[] = [...super.configSchemas, ArchivistPayloadDivinerConfigSchema] static override readonly defaultConfigSchema: Schema = ArchivistPayloadDivinerConfigSchema - protected async divineHandler(payloads?: TIn[]): Promise { + protected async divineHandler(payloads?: TIn[]): Promise[]> { const huriPayloads = assertEx( payloads?.filter((payload): payload is TIn => payload?.schema === HuriSchema), () => `no huri payloads provided: ${JSON.stringify(payloads, null, 2)}`, ) const hashes = huriPayloads.flatMap(huriPayload => huriPayload.huri.map(huri => new Huri(huri).hash)) const activeArchivist = await this.archivistInstance() - return ((await activeArchivist?.get(hashes)) as WithMeta[]) ?? [] + return ((await activeArchivist?.get(hashes)) as WithStorageMeta[]) ?? [] } } diff --git a/packages/modules/packages/diviner/packages/boundwitness/.npmignore b/packages/modules/packages/diviner/packages/boundwitness/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/boundwitness/.npmignore +++ b/packages/modules/packages/diviner/packages/boundwitness/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/boundwitness/package.json b/packages/modules/packages/diviner/packages/boundwitness/package.json index 17fd8029d2..2bac302bf4 100644 --- a/packages/modules/packages/diviner/packages/boundwitness/package.json +++ b/packages/modules/packages/diviner/packages/boundwitness/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-boundwitness", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -34,11 +34,12 @@ "@xyo-network/diviner-boundwitness-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/boundwitness/packages/abstract/.npmignore b/packages/modules/packages/diviner/packages/boundwitness/packages/abstract/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/boundwitness/packages/abstract/.npmignore +++ b/packages/modules/packages/diviner/packages/boundwitness/packages/abstract/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/boundwitness/packages/abstract/package.json b/packages/modules/packages/diviner/packages/boundwitness/packages/abstract/package.json index 676bf75406..b363d99d79 100644 --- a/packages/modules/packages/diviner/packages/boundwitness/packages/abstract/package.json +++ b/packages/modules/packages/diviner/packages/boundwitness/packages/abstract/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-boundwitness-abstract", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -36,11 +36,12 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/boundwitness/packages/memory/.npmignore b/packages/modules/packages/diviner/packages/boundwitness/packages/memory/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/boundwitness/packages/memory/.npmignore +++ b/packages/modules/packages/diviner/packages/boundwitness/packages/memory/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/boundwitness/packages/memory/package.json b/packages/modules/packages/diviner/packages/boundwitness/packages/memory/package.json index ed78733a91..f9203265b9 100644 --- a/packages/modules/packages/diviner/packages/boundwitness/packages/memory/package.json +++ b/packages/modules/packages/diviner/packages/boundwitness/packages/memory/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-boundwitness-memory", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,28 +29,30 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/array": "^4.4.10", - "@xylabs/assert": "^4.4.10", - "@xylabs/exists": "^4.4.10", - "@xylabs/hex": "^4.4.10", + "@xylabs/array": "^4.4.25", + "@xylabs/assert": "^4.4.25", + "@xylabs/exists": "^4.4.25", + "@xylabs/hex": "^4.4.25", "@xyo-network/boundwitness-model": "workspace:^", "@xyo-network/diviner-boundwitness-abstract": "workspace:^", "@xyo-network/diviner-boundwitness-model": "workspace:^", + "@xyo-network/payload-builder": "workspace:^", "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/delay": "^4.4.25", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/account": "workspace:^", "@xyo-network/archivist-memory": "workspace:^", "@xyo-network/boundwitness-builder": "workspace:^", "@xyo-network/node-memory": "workspace:^", - "@xyo-network/payload-builder": "workspace:^", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/boundwitness/packages/memory/src/MemoryBoundWitnessDiviner.ts b/packages/modules/packages/diviner/packages/boundwitness/packages/memory/src/MemoryBoundWitnessDiviner.ts index 9ac776a5bc..597ca59009 100644 --- a/packages/modules/packages/diviner/packages/boundwitness/packages/memory/src/MemoryBoundWitnessDiviner.ts +++ b/packages/modules/packages/diviner/packages/boundwitness/packages/memory/src/MemoryBoundWitnessDiviner.ts @@ -1,13 +1,12 @@ import { assertEx } from '@xylabs/assert' import type { BoundWitness } from '@xyo-network/boundwitness-model' -import { isBoundWitness } from '@xyo-network/boundwitness-model' +import { isBoundWitnessWithStorageMeta } from '@xyo-network/boundwitness-model' import { BoundWitnessDiviner } from '@xyo-network/diviner-boundwitness-abstract' import type { BoundWitnessDivinerParams, BoundWitnessDivinerQueryPayload, } from '@xyo-network/diviner-boundwitness-model' import { isBoundWitnessDivinerQueryPayload } from '@xyo-network/diviner-boundwitness-model' -import type { WithMeta } from '@xyo-network/payload-model' import { applyBoundWitnessDivinerQueryPayload } from './applyBoundWitnessDivinerQueryPayload.ts' @@ -70,7 +69,7 @@ export class MemoryBoundWitnessDiviner< const filter = assertEx(payloads?.filter(isBoundWitnessDivinerQueryPayload)?.pop(), () => 'Missing query payload') if (!filter) return [] const archivist = assertEx(await this.archivistInstance(), () => 'Unable to resolve archivist') - let bws = ((await archivist?.all?.()) ?? []).filter(isBoundWitness) as WithMeta[] - return applyBoundWitnessDivinerQueryPayload(filter, bws) as WithMeta[] + let bws = ((await archivist?.all?.()) ?? []).filter(isBoundWitnessWithStorageMeta) + return applyBoundWitnessDivinerQueryPayload(filter, bws) as TOut[] } } diff --git a/packages/modules/packages/diviner/packages/boundwitness/packages/memory/src/applyBoundWitnessDivinerQueryPayload.ts b/packages/modules/packages/diviner/packages/boundwitness/packages/memory/src/applyBoundWitnessDivinerQueryPayload.ts index 2542420d23..a4110c4588 100644 --- a/packages/modules/packages/diviner/packages/boundwitness/packages/memory/src/applyBoundWitnessDivinerQueryPayload.ts +++ b/packages/modules/packages/diviner/packages/boundwitness/packages/memory/src/applyBoundWitnessDivinerQueryPayload.ts @@ -1,37 +1,44 @@ -import { containsAll } from '@xylabs/array' +import { containsAll, filterAs } from '@xylabs/array' import { assertEx } from '@xylabs/assert' import { exists } from '@xylabs/exists' import { hexFromHexString } from '@xylabs/hex' import type { BoundWitness } from '@xyo-network/boundwitness-model' -import { isBoundWitness } from '@xyo-network/boundwitness-model' +import { asBlock, asOptionalBoundWitness } from '@xyo-network/boundwitness-model' import type { BoundWitnessDivinerQueryPayload } from '@xyo-network/diviner-boundwitness-model' -import type { Payload, WithMeta } from '@xyo-network/payload-model' - -type WithTimestamp = BoundWitness & { timestamp: number } -type WithBlock = BoundWitness & { block: number } -const hasTimestamp = (bw: BoundWitness): bw is WithTimestamp => bw.timestamp !== undefined -const hasBlock = (bw: BoundWitness): bw is WithBlock => bw.timestamp !== undefined +import { PayloadBuilder } from '@xyo-network/payload-builder' +import { + type Payload, + SequenceConstants, + type WithStorageMeta, +} from '@xyo-network/payload-model' // eslint-disable-next-line complexity -export const applyBoundWitnessDivinerQueryPayload = (filter?: BoundWitnessDivinerQueryPayload, payloads: Payload[] = []) => { +export const applyBoundWitnessDivinerQueryPayload = (filter?: BoundWitnessDivinerQueryPayload, payloads: WithStorageMeta[] = []): BoundWitness[] => { if (!filter) return [] const { - addresses, payload_hashes, payload_schemas, block, limit, offset, order = 'desc', sourceQuery, destination, timestamp, + addresses, block, cursor, destination, limit, order = 'desc', payload_hashes, payload_schemas, sourceQuery, } = filter - let bws = payloads.filter(isBoundWitness) as WithMeta[] - if (order === 'desc') bws = bws.reverse() + const sortedPayloads = PayloadBuilder.sortByStorageMeta(payloads, order === 'desc' ? -1 : 1) + const parsedCursor = cursor === undefined ? (order === 'desc') ? SequenceConstants.maxLocalSequence : SequenceConstants.minLocalSequence : cursor + const parsedOffset = (order === 'desc') + ? sortedPayloads.findIndex(bw => bw._sequence < parsedCursor) + : sortedPayloads.findIndex(bw => bw._sequence > parsedCursor) + if (parsedOffset === -1) return [] + const payloadSubset = sortedPayloads.slice(parsedOffset) + + let bws = filterAs(payloadSubset, asOptionalBoundWitness) const allAddresses = addresses?.map(address => hexFromHexString(address)).filter(exists) if (allAddresses?.length) bws = bws.filter(bw => containsAll(bw.addresses, allAddresses)) if (payload_hashes?.length) bws = bws.filter(bw => containsAll(bw.payload_hashes, payload_hashes)) if (payload_schemas?.length) bws = bws.filter(bw => containsAll(bw.payload_schemas, payload_schemas)) - if (sourceQuery) bws = bws.filter(bw => (bw?.$meta as { sourceQuery?: string })?.sourceQuery === sourceQuery) + if (sourceQuery) bws = bws.filter(bw => bw?.$sourceQuery === sourceQuery) // If there's a destination filter of the right kind if (destination && Array.isArray(destination) && destination?.length > 0) { const targetFilter = assertEx(destination, () => 'Missing destination') // Find all BWs that satisfy the destination constraint bws = bws.filter((bw) => { - const targetDestinationField = (bw?.$meta as { destination?: string[] })?.destination + const targetDestinationField = (bw as { $destination?: string | string[] })?.$destination // If the destination field is an array and contains at least one element return targetDestinationField !== undefined && Array.isArray(targetDestinationField) && targetDestinationField.length > 0 // Check that the targetDestinationField contains all the elements in the targetFilter @@ -41,18 +48,10 @@ export const applyBoundWitnessDivinerQueryPayload = (filter?: BoundWitnessDivine }) } if (block !== undefined) { - bws - = order === 'desc' - ? bws.filter(hasBlock).filter(bw => bw.block && bw.block <= block) - : bws.filter(hasBlock).filter(bw => bw.block && bw.block >= block) - } - if (timestamp !== undefined) { - bws - = order === 'desc' - ? bws.filter(hasTimestamp).filter(bw => bw.timestamp && bw.timestamp <= timestamp) - : bws.filter(hasTimestamp).filter(bw => bw.timestamp && bw.timestamp >= timestamp) + bws = (order === 'desc' + ? filterAs(bws, asBlock).filter(bw => bw.block <= block) + : filterAs(bws, asBlock).filter(bw => bw.block >= block)) as WithStorageMeta[] } const parsedLimit = limit ?? bws.length - const parsedOffset = offset ?? 0 - return bws.slice(parsedOffset, parsedLimit) + return bws.slice(0, parsedLimit) } diff --git a/packages/modules/packages/diviner/packages/boundwitness/packages/memory/src/spec/Diviner.spec.ts b/packages/modules/packages/diviner/packages/boundwitness/packages/memory/src/spec/Diviner.spec.ts index 9ce6730afe..09a67c0c79 100644 --- a/packages/modules/packages/diviner/packages/boundwitness/packages/memory/src/spec/Diviner.spec.ts +++ b/packages/modules/packages/diviner/packages/boundwitness/packages/memory/src/spec/Diviner.spec.ts @@ -1,5 +1,6 @@ import '@xylabs/vitest-extended' +import { delay } from '@xylabs/delay' import { Account } from '@xyo-network/account' import { MemoryArchivist } from '@xyo-network/archivist-memory' import { BoundWitnessBuilder } from '@xyo-network/boundwitness-builder' @@ -8,7 +9,7 @@ import type { BoundWitnessDivinerQueryPayload } from '@xyo-network/diviner-bound import { BoundWitnessDivinerQuerySchema } from '@xyo-network/diviner-boundwitness-model' import { MemoryNode } from '@xyo-network/node-memory' import { PayloadBuilder } from '@xyo-network/payload-builder' -import type { PayloadWithMeta, WithMeta } from '@xyo-network/payload-model' +import type { Payload } from '@xyo-network/payload-model' import { beforeAll, describe, expect, it, @@ -25,49 +26,44 @@ describe('MemoryBoundWitnessDiviner', () => { let archivist: MemoryArchivist let sut: MemoryBoundWitnessDiviner let node: MemoryNode - let payloadA: PayloadWithMeta<{ schema: string; url: string }> - let payloadB: PayloadWithMeta<{ foo: string[]; schema: string }> - let payloadC: PayloadWithMeta<{ foo: string[]; schema: string }> - let payloadD: PayloadWithMeta<{ foo: string[]; schema: string }> - const bws: WithMeta[] = [] + const payloadA: Payload<{ schema: string; url: string }> = { + schema: 'network.xyo.test', + url: 'https://xyo.network', + } + const payloadB: Payload<{ foo: string[]; schema: string }> = { + foo: ['bar', 'baz'], + schema: 'network.xyo.debug', + } + const payloadC: Payload<{ foo: string[]; schema: string }> = { + foo: ['one', 'two'], + schema: 'network.xyo.debug', + } + const payloadD: Payload<{ foo: string[]; schema: string }> = { + foo: ['aaa', 'bbb'], + schema: 'network.xyo.debug', + } + const bws: BoundWitness[] = [] beforeAll(async () => { - payloadA = await PayloadBuilder.build({ - schema: 'network.xyo.test', - url: 'https://xyo.network', - }) - payloadB = await PayloadBuilder.build({ - foo: ['bar', 'baz'], - schema: 'network.xyo.debug', - }) - payloadC = await PayloadBuilder.build({ - foo: ['one', 'two'], - schema: 'network.xyo.debug', - }) - payloadD = await PayloadBuilder.build({ - foo: ['aaa', 'bbb'], - schema: 'network.xyo.debug', - }) - const account = await Account.random() - - const [bwA] = await BoundWitnessBuilder.build({ accounts: [account], payloads: [payloadA] }) + const [bwA] = await new BoundWitnessBuilder().signers([account]).payloads([payloadA]).build() bws.push(bwA) - const [bwB] = await BoundWitnessBuilder.build({ accounts: [account], payloads: [payloadB] }) + const [bwB] = await new BoundWitnessBuilder().signers([account]).payloads([payloadB]).build() bws.push(bwB) - const [bwC] = await BoundWitnessBuilder.build({ accounts: [account], payloads: [payloadC] }) + const [bwC] = await new BoundWitnessBuilder().signers([account]).payloads([payloadC]).build() bws.push(bwC) - const [bwD] = await BoundWitnessBuilder.build({ accounts: [account], payloads: [payloadD] }) + const [bwD] = await new BoundWitnessBuilder().signers([account]).payloads([payloadD]).build() bws.push(bwD) - const [bwAB] = await BoundWitnessBuilder.build({ accounts: [account], payloads: [payloadA, payloadB] }) + const [bwAB] = await new BoundWitnessBuilder().signers([account]).payloads([payloadA, payloadB]).build() bws.push(bwAB) archivist = await MemoryArchivist.create({ account: 'random', config: { name: 'test', schema: MemoryArchivist.defaultConfigSchema }, }) - await archivist.insert([payloadA, payloadB]) - await archivist.insert([payloadC, payloadD]) - await archivist.insert([bwA, bwB, bwC, bwD, bwAB]) + for (const payload of [payloadA, payloadB, payloadC, payloadD, bwA, bwB, bwC, bwD, bwAB]) { + await delay(2) + await archivist.insert([payload]) + } sut = await MemoryBoundWitnessDiviner.create({ account: 'random', config: { @@ -94,7 +90,7 @@ describe('MemoryBoundWitnessDiviner', () => { describe('single', () => { it.each(['network.xyo.test', 'network.xyo.debug'])('only returns bw that contains that schema', async (schema) => { const payload_schemas = [schema] - const query = await new PayloadBuilder({ schema: BoundWitnessDivinerQuerySchema }) + const query = new PayloadBuilder({ schema: BoundWitnessDivinerQuerySchema }) .fields({ payload_schemas }) .build() const results = await sut.divine([query]) @@ -103,36 +99,36 @@ describe('MemoryBoundWitnessDiviner', () => { }) it('only return single bw that contains that schema', async () => { const payload_schemas = ['network.xyo.debug'] - const query = await new PayloadBuilder({ schema: BoundWitnessDivinerQuerySchema }) + const query = new PayloadBuilder({ schema: BoundWitnessDivinerQuerySchema }) .fields({ limit: 1, payload_schemas }) .build() const results = await sut.divine([query]) expect(results.length).toBe(1) - expect(results[0].$hash).toBe(bws[4].$hash) + expect(await PayloadBuilder.dataHash(results[0])).toBe(await PayloadBuilder.dataHash(bws[4])) expect(results.every(result => result.payload_schemas.includes('network.xyo.debug'))).toBe(true) }) it('only return single bw that contains that schema', async () => { const payload_schemas = ['network.xyo.debug'] - const query = await new PayloadBuilder({ schema: BoundWitnessDivinerQuerySchema }) + const query = new PayloadBuilder({ schema: BoundWitnessDivinerQuerySchema }) .fields({ limit: 1, order: 'asc', payload_schemas, }) .build() const results = await sut.divine([query]) expect(results.length).toBe(1) - expect(results[0].$hash).toBe(bws[1].$hash) + expect(await PayloadBuilder.dataHash(results[0])).toBe(await PayloadBuilder.dataHash(bws[1])) expect(results.every(result => result.payload_schemas.includes('network.xyo.debug'))).toBe(true) }) it('only return single bw that contains that schema (desc)', async () => { const payload_schemas = ['network.xyo.debug'] - const query = await new PayloadBuilder({ schema: BoundWitnessDivinerQuerySchema }) + const query = new PayloadBuilder({ schema: BoundWitnessDivinerQuerySchema }) .fields({ limit: 1, order: 'desc', payload_schemas, }) .build() const results = await sut.divine([query]) expect(results.length).toBe(1) - expect(results[0].$hash).toBe(bws[4].$hash) + expect(await PayloadBuilder.dataHash(results[0])).toBe(await PayloadBuilder.dataHash(bws[4])) expect(results.every(result => result.payload_schemas.includes('network.xyo.debug'))).toBe(true) }) }) @@ -144,7 +140,7 @@ describe('MemoryBoundWitnessDiviner', () => { .build() const results = await sut.divine([query]) expect(results.length).toBeGreaterThan(0) - expect(results[0].$hash).toBe(bws[4].$hash) + expect(await PayloadBuilder.dataHash(results[0])).toBe(await PayloadBuilder.dataHash(bws[4])) expect(results.every(result => payload_schemas.includes(result.payload_schemas[0]))).toBe(true) }) }) diff --git a/packages/modules/packages/diviner/packages/boundwitness/packages/memory/src/spec/tsconfig.json b/packages/modules/packages/diviner/packages/boundwitness/packages/memory/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/diviner/packages/boundwitness/packages/memory/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/diviner/packages/boundwitness/packages/model/.npmignore b/packages/modules/packages/diviner/packages/boundwitness/packages/model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/boundwitness/packages/model/.npmignore +++ b/packages/modules/packages/diviner/packages/boundwitness/packages/model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/boundwitness/packages/model/package.json b/packages/modules/packages/diviner/packages/boundwitness/packages/model/package.json index 021752058a..129d403ac9 100644 --- a/packages/modules/packages/diviner/packages/boundwitness/packages/model/package.json +++ b/packages/modules/packages/diviner/packages/boundwitness/packages/model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-boundwitness-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -36,11 +36,12 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/boundwitness/packages/model/src/Predicate.ts b/packages/modules/packages/diviner/packages/boundwitness/packages/model/src/Predicate.ts index 8badf31d41..17964126de 100644 --- a/packages/modules/packages/diviner/packages/boundwitness/packages/model/src/Predicate.ts +++ b/packages/modules/packages/diviner/packages/boundwitness/packages/model/src/Predicate.ts @@ -1,6 +1,5 @@ import type { BoundWitness } from '@xyo-network/boundwitness-model' import type { PayloadDivinerPredicate } from '@xyo-network/diviner-payload-model' -import type { Payload } from '@xyo-network/payload-model' export type WithoutSchemas = Omit, 'schemas'> @@ -10,8 +9,7 @@ export type BoundWitnessDivinerPredicateFields = { } // TODO: Should we just accept "schema"/"schemas" here and infer that they mean "payload_schemas"? -export type BoundWitnessDivinerPredicate = WithoutSchemas +export type BoundWitnessDivinerPredicate = WithoutSchemas< + PayloadDivinerPredicate & + Partial > diff --git a/packages/modules/packages/diviner/packages/boundwitnessstats/.npmignore b/packages/modules/packages/diviner/packages/boundwitnessstats/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/boundwitnessstats/.npmignore +++ b/packages/modules/packages/diviner/packages/boundwitnessstats/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/boundwitnessstats/package.json b/packages/modules/packages/diviner/packages/boundwitnessstats/package.json index ced711864a..55f5d8b519 100644 --- a/packages/modules/packages/diviner/packages/boundwitnessstats/package.json +++ b/packages/modules/packages/diviner/packages/boundwitnessstats/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-boundwitness-stats", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -34,11 +34,12 @@ "@xyo-network/diviner-boundwitness-stats-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/boundwitnessstats/packages/abstract/.npmignore b/packages/modules/packages/diviner/packages/boundwitnessstats/packages/abstract/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/boundwitnessstats/packages/abstract/.npmignore +++ b/packages/modules/packages/diviner/packages/boundwitnessstats/packages/abstract/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/boundwitnessstats/packages/abstract/package.json b/packages/modules/packages/diviner/packages/boundwitnessstats/packages/abstract/package.json index 3968e9ad45..f4d2aae403 100644 --- a/packages/modules/packages/diviner/packages/boundwitnessstats/packages/abstract/package.json +++ b/packages/modules/packages/diviner/packages/boundwitnessstats/packages/abstract/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-boundwitness-stats-abstract", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -35,11 +35,12 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/boundwitnessstats/packages/memory/.npmignore b/packages/modules/packages/diviner/packages/boundwitnessstats/packages/memory/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/boundwitnessstats/packages/memory/.npmignore +++ b/packages/modules/packages/diviner/packages/boundwitnessstats/packages/memory/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/boundwitnessstats/packages/memory/package.json b/packages/modules/packages/diviner/packages/boundwitnessstats/packages/memory/package.json index 9f9c9cf61f..66b94f0390 100644 --- a/packages/modules/packages/diviner/packages/boundwitnessstats/packages/memory/package.json +++ b/packages/modules/packages/diviner/packages/boundwitnessstats/packages/memory/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-boundwitness-stats-memory", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,8 +29,8 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/hex": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/hex": "^4.4.25", "@xyo-network/boundwitness-model": "workspace:^", "@xyo-network/diviner-boundwitness-stats-abstract": "workspace:^", "@xyo-network/diviner-boundwitness-stats-model": "workspace:^", @@ -38,11 +38,12 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/boundwitnessstats/packages/memory/src/MemoryBoundWitnessStatsDiviner.ts b/packages/modules/packages/diviner/packages/boundwitnessstats/packages/memory/src/MemoryBoundWitnessStatsDiviner.ts index 130caa264e..20ddde4e52 100644 --- a/packages/modules/packages/diviner/packages/boundwitnessstats/packages/memory/src/MemoryBoundWitnessStatsDiviner.ts +++ b/packages/modules/packages/diviner/packages/boundwitnessstats/packages/memory/src/MemoryBoundWitnessStatsDiviner.ts @@ -1,6 +1,6 @@ import { assertEx } from '@xylabs/assert' import type { Address } from '@xylabs/hex' -import { isBoundWitness, isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model' +import { isBoundWitness, isBoundWitnessWithStorageMeta } from '@xyo-network/boundwitness-model' import { BoundWitnessStatsDiviner } from '@xyo-network/diviner-boundwitness-stats-abstract' import type { BoundWitnessStatsDivinerParams, @@ -25,8 +25,7 @@ export class MemoryBoundWitnessStatsDiviner< const archivist = assertEx(await this.archivistInstance(), () => 'Unable to resolve archivist') const all = assertEx(await archivist.all?.(), () => 'Archivist does not support "all"') return all - .filter(isBoundWitness) - .filter(isBoundWitnessWithMeta) + .filter(isBoundWitnessWithStorageMeta) .filter(bw => bw.addresses.includes(address)).length } diff --git a/packages/modules/packages/diviner/packages/boundwitnessstats/packages/model/.npmignore b/packages/modules/packages/diviner/packages/boundwitnessstats/packages/model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/boundwitnessstats/packages/model/.npmignore +++ b/packages/modules/packages/diviner/packages/boundwitnessstats/packages/model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/boundwitnessstats/packages/model/package.json b/packages/modules/packages/diviner/packages/boundwitnessstats/packages/model/package.json index fdec57966a..af0f331f80 100644 --- a/packages/modules/packages/diviner/packages/boundwitnessstats/packages/model/package.json +++ b/packages/modules/packages/diviner/packages/boundwitnessstats/packages/model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-boundwitness-stats-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -34,11 +34,12 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/coin/.npmignore b/packages/modules/packages/diviner/packages/coin/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/coin/.npmignore +++ b/packages/modules/packages/diviner/packages/coin/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/coin/package.json b/packages/modules/packages/diviner/packages/coin/package.json index b5233417e0..2dbe043e88 100644 --- a/packages/modules/packages/diviner/packages/coin/package.json +++ b/packages/modules/packages/diviner/packages/coin/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-coin", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -32,11 +32,12 @@ "@xyo-network/diviner-coin-user-locations": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/coin/packages/userlocations/.npmignore b/packages/modules/packages/diviner/packages/coin/packages/userlocations/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/coin/packages/userlocations/.npmignore +++ b/packages/modules/packages/diviner/packages/coin/packages/userlocations/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/coin/packages/userlocations/package.json b/packages/modules/packages/diviner/packages/coin/packages/userlocations/package.json index b0b58b8630..c8a114ae4a 100644 --- a/packages/modules/packages/diviner/packages/coin/packages/userlocations/package.json +++ b/packages/modules/packages/diviner/packages/coin/packages/userlocations/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-coin-user-locations", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -33,11 +33,12 @@ "@xyo-network/diviner-coin-user-locations-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/coin/packages/userlocations/packages/abstract/.npmignore b/packages/modules/packages/diviner/packages/coin/packages/userlocations/packages/abstract/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/coin/packages/userlocations/packages/abstract/.npmignore +++ b/packages/modules/packages/diviner/packages/coin/packages/userlocations/packages/abstract/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/coin/packages/userlocations/packages/abstract/package.json b/packages/modules/packages/diviner/packages/coin/packages/userlocations/packages/abstract/package.json index ff07b6358c..e0092d2cfc 100644 --- a/packages/modules/packages/diviner/packages/coin/packages/userlocations/packages/abstract/package.json +++ b/packages/modules/packages/diviner/packages/coin/packages/userlocations/packages/abstract/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-coin-user-locations-abstract", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -35,11 +35,12 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/coin/packages/userlocations/packages/model/.npmignore b/packages/modules/packages/diviner/packages/coin/packages/userlocations/packages/model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/coin/packages/userlocations/packages/model/.npmignore +++ b/packages/modules/packages/diviner/packages/coin/packages/userlocations/packages/model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/coin/packages/userlocations/packages/model/package.json b/packages/modules/packages/diviner/packages/coin/packages/userlocations/packages/model/package.json index 032cfac08e..2dd5d22f7b 100644 --- a/packages/modules/packages/diviner/packages/coin/packages/userlocations/packages/model/package.json +++ b/packages/modules/packages/diviner/packages/coin/packages/userlocations/packages/model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-coin-user-locations-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -34,11 +34,12 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/coin/packages/userlocations/packages/model/src/Query.ts b/packages/modules/packages/diviner/packages/coin/packages/userlocations/packages/model/src/Query.ts index d93e4c63ad..88e0068749 100644 --- a/packages/modules/packages/diviner/packages/coin/packages/userlocations/packages/model/src/Query.ts +++ b/packages/modules/packages/diviner/packages/coin/packages/userlocations/packages/model/src/Query.ts @@ -1,8 +1,9 @@ -import type { - Payload, PayloadFindFilter, Query, +import { + isPayloadOfSchemaType, + type PayloadFindFilter, type Query, } from '@xyo-network/payload-model' import { CoinUserLocationsQuerySchema } from './Schema.ts' export type CoinUserLocationsQueryPayload = Query<{ schema: CoinUserLocationsQuerySchema } & PayloadFindFilter> -export const isCoinUserLocationsQueryPayload = (x?: Payload | null): x is CoinUserLocationsQueryPayload => x?.schema === CoinUserLocationsQuerySchema +export const isCoinUserLocationsQueryPayload = isPayloadOfSchemaType(CoinUserLocationsQuerySchema) diff --git a/packages/modules/packages/diviner/packages/distinct/.npmignore b/packages/modules/packages/diviner/packages/distinct/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/distinct/.npmignore +++ b/packages/modules/packages/diviner/packages/distinct/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/distinct/package.json b/packages/modules/packages/diviner/packages/distinct/package.json index 9a8ccada03..4ad3e1d897 100644 --- a/packages/modules/packages/diviner/packages/distinct/package.json +++ b/packages/modules/packages/diviner/packages/distinct/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-distinct", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -37,14 +37,15 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/object": "^4.4.10", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/object": "^4.4.25", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/distinct/packages/model/.npmignore b/packages/modules/packages/diviner/packages/distinct/packages/model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/distinct/packages/model/.npmignore +++ b/packages/modules/packages/diviner/packages/distinct/packages/model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/distinct/packages/model/package.json b/packages/modules/packages/diviner/packages/distinct/packages/model/package.json index 59001bbc84..16c6a9a750 100644 --- a/packages/modules/packages/diviner/packages/distinct/packages/model/package.json +++ b/packages/modules/packages/diviner/packages/distinct/packages/model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-distinct-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,15 +29,16 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/object": "^4.4.10", + "@xylabs/object": "^4.4.25", "@xyo-network/diviner-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/distinct/src/Diviner.ts b/packages/modules/packages/diviner/packages/distinct/src/Diviner.ts index e7deed2a89..adac9b87eb 100644 --- a/packages/modules/packages/diviner/packages/distinct/src/Diviner.ts +++ b/packages/modules/packages/diviner/packages/distinct/src/Diviner.ts @@ -4,9 +4,7 @@ import { DistinctDivinerConfigSchema } from '@xyo-network/diviner-distinct-model import type { DivinerParams } from '@xyo-network/diviner-model' import type { AnyConfigSchema } from '@xyo-network/module-model' import { PayloadBuilder } from '@xyo-network/payload-builder' -import type { - Payload, PayloadWithMeta, Schema, -} from '@xyo-network/payload-model' +import type { Payload, Schema } from '@xyo-network/payload-model' export type DistinctDivinerParams = DivinerParams> @@ -14,7 +12,7 @@ export class DistinctDiviner { + protected override async divineHandler(payloads?: Payload[]): Promise { const map = await PayloadBuilder.toDataHashMap(payloads ?? []) return Object.values(map) } diff --git a/packages/modules/packages/diviner/packages/distinct/src/spec/tsconfig.json b/packages/modules/packages/diviner/packages/distinct/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/diviner/packages/distinct/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/diviner/packages/forecasting/.npmignore b/packages/modules/packages/diviner/packages/forecasting/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/forecasting/.npmignore +++ b/packages/modules/packages/diviner/packages/forecasting/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/forecasting/package.json b/packages/modules/packages/diviner/packages/forecasting/package.json index 2b80375cd1..c27d4055fd 100644 --- a/packages/modules/packages/diviner/packages/forecasting/package.json +++ b/packages/modules/packages/diviner/packages/forecasting/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-forecasting", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -34,11 +34,12 @@ "@xyo-network/diviner-forecasting-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/forecasting/packages/abstract/.npmignore b/packages/modules/packages/diviner/packages/forecasting/packages/abstract/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/forecasting/packages/abstract/.npmignore +++ b/packages/modules/packages/diviner/packages/forecasting/packages/abstract/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/forecasting/packages/abstract/package.json b/packages/modules/packages/diviner/packages/forecasting/packages/abstract/package.json index 89013455d9..5313caa8e1 100644 --- a/packages/modules/packages/diviner/packages/forecasting/packages/abstract/package.json +++ b/packages/modules/packages/diviner/packages/forecasting/packages/abstract/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-forecasting-abstract", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,7 +29,7 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/promise": "^4.4.10", + "@xylabs/promise": "^4.4.25", "@xyo-network/diviner-abstract": "workspace:^", "@xyo-network/diviner-forecasting-model": "workspace:^", "@xyo-network/diviner-model": "workspace:^", @@ -38,11 +38,12 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/forecasting/packages/arima/package.json b/packages/modules/packages/diviner/packages/forecasting/packages/arima/package.json index abf6f98a52..35c3f27e5e 100644 --- a/packages/modules/packages/diviner/packages/forecasting/packages/arima/package.json +++ b/packages/modules/packages/diviner/packages/forecasting/packages/arima/package.json @@ -1,7 +1,7 @@ { "$schema": "http://json.schemastore.org/package.json", "name": "@xyo-network/diviner-forecasting-method-arima", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "XYO Archivist", "license": "LGPL-3.0-only", "author": "Arie Trouw", @@ -21,9 +21,9 @@ "arima": "^0.2.5" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "typescript": "^5.7.2", "vitest": "^2.1.8" }, @@ -33,5 +33,6 @@ "publishConfig": { "access": "public" }, - "sideeffects": false + "sideeffects": false, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/forecasting/packages/arima/src/arima/configured/spec/tsconfig.json b/packages/modules/packages/diviner/packages/forecasting/packages/arima/src/arima/configured/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/diviner/packages/forecasting/packages/arima/src/arima/configured/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/diviner/packages/forecasting/packages/memory/.npmignore b/packages/modules/packages/diviner/packages/forecasting/packages/memory/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/forecasting/packages/memory/.npmignore +++ b/packages/modules/packages/diviner/packages/forecasting/packages/memory/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/forecasting/packages/memory/package.json b/packages/modules/packages/diviner/packages/forecasting/packages/memory/package.json index 33e3b5d52a..7b206ee9f8 100644 --- a/packages/modules/packages/diviner/packages/forecasting/packages/memory/package.json +++ b/packages/modules/packages/diviner/packages/forecasting/packages/memory/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-forecasting-memory", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,8 +29,8 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/exists": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/exists": "^4.4.25", "@xyo-network/archivist-model": "workspace:^", "@xyo-network/boundwitness-model": "workspace:^", "@xyo-network/diviner-boundwitness-model": "workspace:^", @@ -38,16 +38,18 @@ "@xyo-network/diviner-forecasting-method-arima": "workspace:^", "@xyo-network/diviner-forecasting-model": "workspace:^", "@xyo-network/diviner-model": "workspace:^", + "@xyo-network/module-model": "workspace:^", "@xyo-network/payload-model": "workspace:^", "jsonpath": "^1.1.1" }, "devDependencies": { "@types/jsonpath": "^0.2.4", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/forecasting/packages/memory/src/MemoryForecastingDiviner.ts b/packages/modules/packages/diviner/packages/forecasting/packages/memory/src/MemoryForecastingDiviner.ts index f7ae2706c7..a121352765 100644 --- a/packages/modules/packages/diviner/packages/forecasting/packages/memory/src/MemoryForecastingDiviner.ts +++ b/packages/modules/packages/diviner/packages/forecasting/packages/memory/src/MemoryForecastingDiviner.ts @@ -18,6 +18,7 @@ import type { ForecastingMethod, PayloadValueTransformer } from '@xyo-network/di import { ForecastingDivinerConfigSchema } from '@xyo-network/diviner-forecasting-model' import type { DivinerInstance } from '@xyo-network/diviner-model' import { asDivinerInstance } from '@xyo-network/diviner-model' +import type { ModuleFilter } from '@xyo-network/module-model' import type { Payload, Schema } from '@xyo-network/payload-model' import jsonpath from 'jsonpath' @@ -45,8 +46,8 @@ export class MemoryForecastingDiviner< seasonalArimaForecasting: seasonalArimaForecastingMethod, } - get boundWitnessDiviner() { - return assertEx(this.config.boundWitnessDiviner, () => 'No boundWitnessDiviner configured') + get boundWitnessDiviner(): ModuleFilter { + return assertEx(this.config.boundWitnessDiviner, () => 'No boundWitnessDiviner configured') as ModuleFilter } /** @@ -72,7 +73,7 @@ export class MemoryForecastingDiviner< return getJsonPathTransformer(pathExpression) } - protected override async getPayloadsInWindow(startTimestamp: number, stopTimestamp: number): Promise { + protected override async getPayloadsInWindow(_startTimestamp: number, _stopTimestamp: number): Promise { const addresses = this.config.witnessAddresses const payload_schemas = [assertEx(this.config.witnessSchema, () => 'Missing witnessSchema in config')] const payloads: Payload[] = [] @@ -83,27 +84,30 @@ export class MemoryForecastingDiviner< ) as DivinerInstance const limit = this.batchLimit const witnessSchema = assertEx(this.config.witnessSchema, () => 'Missing witnessSchema in config') - let timestamp = stopTimestamp + // let timestamp = stopTimestamp let more = true // TODO: Window size vs sample size // Loop until there are no more BWs to process or we've got enough payloads to satisfy the training window while (more || payloads.length < this.maxTrainingLength) { const query: BoundWitnessDivinerQueryPayload = { - addresses, limit, payload_schemas, schema: BoundWitnessDivinerQuerySchema, timestamp, + addresses, limit, payload_schemas, schema: BoundWitnessDivinerQuerySchema, } const boundWitnesses = (await bwDiviner.divine([query])).filter( - bw => bw.timestamp && bw.timestamp >= startTimestamp && bw.timestamp <= stopTimestamp, + // TODO; Replace with sequence + // bw => bw.$timestamp && bw.$timestamp >= startTimestamp && bw.$timestamp <= stopTimestamp, + _ => true, ) if (boundWitnesses.length === 0) break // Update the timestamp value for the next batch - timestamp = boundWitnesses - .map(bw => bw.timestamp) + /* timestamp = boundWitnesses + .map(bw => bw.$timestamp) .filter(exists) // eslint-disable-next-line unicorn/no-array-reduce .reduce((a, b) => Math.min(a, b), Number.MAX_SAFE_INTEGER) if (timestamp === Number.MAX_SAFE_INTEGER) break + */ // Set the more flag to false if there are fewer documents returned than the batch size more = boundWitnesses.length === limit diff --git a/packages/modules/packages/diviner/packages/forecasting/packages/model/.npmignore b/packages/modules/packages/diviner/packages/forecasting/packages/model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/forecasting/packages/model/.npmignore +++ b/packages/modules/packages/diviner/packages/forecasting/packages/model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/forecasting/packages/model/package.json b/packages/modules/packages/diviner/packages/forecasting/packages/model/package.json index 5c4d287e33..25aabd0e66 100644 --- a/packages/modules/packages/diviner/packages/forecasting/packages/model/package.json +++ b/packages/modules/packages/diviner/packages/forecasting/packages/model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-forecasting-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,18 +29,19 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/hex": "^4.4.10", - "@xylabs/promise": "^4.4.10", + "@xylabs/hex": "^4.4.25", + "@xylabs/promise": "^4.4.25", "@xyo-network/diviner-model": "workspace:^", "@xyo-network/module-model": "workspace:^", "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/hash/.npmignore b/packages/modules/packages/diviner/packages/hash/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/hash/.npmignore +++ b/packages/modules/packages/diviner/packages/hash/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/hash/package.json b/packages/modules/packages/diviner/packages/hash/package.json index 0235799678..de1304c99f 100644 --- a/packages/modules/packages/diviner/packages/hash/package.json +++ b/packages/modules/packages/diviner/packages/hash/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-hash-lease", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,17 +29,19 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { + "@xylabs/object": "^4.4.25", "@xyo-network/diviner-abstract": "workspace:^", "@xyo-network/diviner-model": "workspace:^", "@xyo-network/module-model": "workspace:^", "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/hash/src/Payload/HashLeaseEstimate.ts b/packages/modules/packages/diviner/packages/hash/src/Payload/HashLeaseEstimate.ts index 33734db46e..1784e881a6 100644 --- a/packages/modules/packages/diviner/packages/hash/src/Payload/HashLeaseEstimate.ts +++ b/packages/modules/packages/diviner/packages/hash/src/Payload/HashLeaseEstimate.ts @@ -1,7 +1,6 @@ -import type { Payload } from '@xyo-network/payload-model' -import { - isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, -} from '@xyo-network/payload-model' +import { AsObjectFactory } from '@xylabs/object' +import type { Payload, WithSources } from '@xyo-network/payload-model' +import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithSources } from '@xyo-network/payload-model' export const HashLeaseEstimateSchema = 'network.xyo.hash.lease.estimate' as const export type HashLeaseEstimateSchema = typeof HashLeaseEstimateSchema @@ -31,13 +30,12 @@ export type HashLeaseEstimate = Payload(HashLeaseEstimateSchema) - -/** - * Identity function for HashLeaseEstimate payload with meta - */ -export const isHashLeaseEstimateWithMeta = isPayloadOfSchemaTypeWithMeta(HashLeaseEstimateSchema) +export const asHashLeaseEstimate = AsObjectFactory.create(isHashLeaseEstimate) +export const asOptionalHashLeaseEstimate = AsObjectFactory.createOptional(isHashLeaseEstimate) /** * Identity function for HashLeaseEstimate payload with sources */ -export const isHashLeaseEstimateWithSources = isPayloadOfSchemaTypeWithSources(HashLeaseEstimateSchema) +export const isHashLeaseEstimateWithSources = isPayloadOfSchemaTypeWithSources>(HashLeaseEstimateSchema) +export const asHashLeaseEstimateWithSources = AsObjectFactory.create>(isHashLeaseEstimateWithSources) +export const asOptionalHashLeaseEstimateWithSources = AsObjectFactory.createOptional>(isHashLeaseEstimateWithSources) diff --git a/packages/modules/packages/diviner/packages/huri/.npmignore b/packages/modules/packages/diviner/packages/huri/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/huri/.npmignore +++ b/packages/modules/packages/diviner/packages/huri/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/huri/package.json b/packages/modules/packages/diviner/packages/huri/package.json index 09a3a82a4a..57fad4a7fc 100644 --- a/packages/modules/packages/diviner/packages/huri/package.json +++ b/packages/modules/packages/diviner/packages/huri/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-huri", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,9 +29,9 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/exists": "^4.4.10", - "@xylabs/promise": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/exists": "^4.4.25", + "@xylabs/promise": "^4.4.25", "@xyo-network/diviner-abstract": "workspace:^", "@xyo-network/diviner-model": "workspace:^", "@xyo-network/huri": "workspace:^", @@ -39,11 +39,12 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/identity/.npmignore b/packages/modules/packages/diviner/packages/identity/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/identity/.npmignore +++ b/packages/modules/packages/diviner/packages/identity/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/identity/package.json b/packages/modules/packages/diviner/packages/identity/package.json index a31b45f47a..d21b73a85b 100644 --- a/packages/modules/packages/diviner/packages/identity/package.json +++ b/packages/modules/packages/diviner/packages/identity/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-identity", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,19 +29,20 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/promise": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/promise": "^4.4.25", "@xyo-network/diviner-abstract": "workspace:^", "@xyo-network/diviner-model": "workspace:^", "@xyo-network/module-model": "workspace:^", "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/indexeddb/.npmignore b/packages/modules/packages/diviner/packages/indexeddb/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/indexeddb/.npmignore +++ b/packages/modules/packages/diviner/packages/indexeddb/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/indexeddb/package.json b/packages/modules/packages/diviner/packages/indexeddb/package.json index 322a253ce5..83e6fb4de2 100644 --- a/packages/modules/packages/diviner/packages/indexeddb/package.json +++ b/packages/modules/packages/diviner/packages/indexeddb/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-indexeddb", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -33,11 +33,12 @@ "@xyo-network/diviner-payload-indexeddb": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/indexeddb/packages/boundwitness/.npmignore b/packages/modules/packages/diviner/packages/indexeddb/packages/boundwitness/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/indexeddb/packages/boundwitness/.npmignore +++ b/packages/modules/packages/diviner/packages/indexeddb/packages/boundwitness/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/indexeddb/packages/boundwitness/package.json b/packages/modules/packages/diviner/packages/indexeddb/packages/boundwitness/package.json index 48839b2394..8b3568cd6f 100644 --- a/packages/modules/packages/diviner/packages/indexeddb/packages/boundwitness/package.json +++ b/packages/modules/packages/diviner/packages/indexeddb/packages/boundwitness/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-boundwitness-indexeddb", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,8 +29,9 @@ "module": "dist/browser/index.mjs", "types": "dist/browser/index.d.ts", "dependencies": { - "@xylabs/array": "^4.4.10", - "@xylabs/exists": "^4.4.10", + "@xylabs/array": "^4.4.25", + "@xylabs/assert": "^4.4.25", + "@xylabs/exists": "^4.4.25", "@xyo-network/archivist-indexeddb": "workspace:^", "@xyo-network/archivist-model": "workspace:^", "@xyo-network/boundwitness-model": "workspace:^", @@ -38,14 +39,14 @@ "@xyo-network/diviner-boundwitness-model": "workspace:^", "@xyo-network/diviner-model": "workspace:^", "@xyo-network/module-model": "workspace:^", - "@xyo-network/payload-builder": "workspace:^", "@xyo-network/payload-model": "workspace:^", - "idb": "^8.0.0" + "idb": "^8.0.1" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/delay": "^4.4.25", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/archivist-indexeddb": "workspace:^", "@xyo-network/boundwitness-builder": "workspace:^", "@xyo-network/node-memory": "workspace:^", @@ -56,5 +57,6 @@ }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/indexeddb/packages/boundwitness/src/Diviner.ts b/packages/modules/packages/diviner/packages/indexeddb/packages/boundwitness/src/Diviner.ts index 20c545abc1..3866e201cb 100644 --- a/packages/modules/packages/diviner/packages/indexeddb/packages/boundwitness/src/Diviner.ts +++ b/packages/modules/packages/diviner/packages/indexeddb/packages/boundwitness/src/Diviner.ts @@ -1,21 +1,22 @@ import { containsAll } from '@xylabs/array' +import { assertEx } from '@xylabs/assert' import { exists } from '@xylabs/exists' import { IndexedDbArchivist } from '@xyo-network/archivist-indexeddb' -import type { BoundWitness } from '@xyo-network/boundwitness-model' -import { BoundWitnessSchema, isBoundWitness } from '@xyo-network/boundwitness-model' +import { type BoundWitness, isBoundWitness } from '@xyo-network/boundwitness-model' import { BoundWitnessDiviner } from '@xyo-network/diviner-boundwitness-abstract' import type { BoundWitnessDivinerQueryPayload } from '@xyo-network/diviner-boundwitness-model' import { isBoundWitnessDivinerQueryPayload } from '@xyo-network/diviner-boundwitness-model' -import { PayloadBuilder } from '@xyo-network/payload-builder' -import type { Schema } from '@xyo-network/payload-model' -import type { IDBPDatabase } from 'idb' +import type { + Schema, Sequence, WithStorageMeta, +} from '@xyo-network/payload-model' +import type { IDBPCursorWithValue, IDBPDatabase } from 'idb' import { openDB } from 'idb' import { IndexedDbBoundWitnessDivinerConfigSchema } from './Config.ts' import type { IndexedDbBoundWitnessDivinerParams } from './Params.ts' interface BoundWitnessStore { - [s: string]: BoundWitness + [s: string]: WithStorageMeta } type ValueFilter = (bw?: BoundWitness | null) => boolean @@ -51,7 +52,7 @@ export class IndexedDbBoundWitnessDiviner< } /** - * The database version. If not supplied via config, it defaults to 1. + * The database version. If not supplied via config, it defaults to the archivist default version. */ get dbVersion() { return this.config?.dbVersion ?? IndexedDbArchivist.defaultDbVersion @@ -66,39 +67,46 @@ export class IndexedDbBoundWitnessDiviner< } protected override async divineHandler(payloads?: TIn[]): Promise { - const query = payloads?.filter(isBoundWitnessDivinerQueryPayload)?.pop() + const query = payloads?.find(isBoundWitnessDivinerQueryPayload) if (!query) return [] - const result = await this.tryUseDb(async (db) => { const { - addresses, payload_hashes, payload_schemas, limit, offset, order, + addresses, payload_hashes, payload_schemas, limit, cursor, order, } = query const tx = db.transaction(this.storeName, 'readonly') const store = tx.objectStore(this.storeName) const results: TOut[] = [] - let parsedOffset = offset ?? 0 + const parsedCursor = cursor const parsedLimit = limit ?? 10 - const direction: IDBCursorDirection = order === 'desc' ? 'prev' : 'next' const valueFilters: ValueFilter[] = [ + isBoundWitness, bwValueFilter('addresses', addresses), bwValueFilter('payload_hashes', payload_hashes), bwValueFilter('payload_schemas', payload_schemas), ].filter(exists) - // Only iterate over BWs - let cursor = await store.index(IndexedDbArchivist.schemaIndexName).openCursor(IDBKeyRange.only(BoundWitnessSchema), direction) + const direction: IDBCursorDirection = order === 'desc' ? 'prev' : 'next' - // If we're filtering on more than just the schema, we need to - // iterate through all the results - if (valueFilters.length === 0) { - // Skip records until the offset is reached - while (cursor && parsedOffset > 0) { - cursor = await cursor.advance(parsedOffset) - parsedOffset = 0 // Reset offset after skipping + // Iterate all records using the sequence index + const sequenceIndex = assertEx(store.index(IndexedDbArchivist.sequenceIndexName), () => 'Failed to get sequence index') + let dbCursor: IDBPCursorWithValue | null + = assertEx(await sequenceIndex.openCursor(null, direction), () => `Failed to get cursor [${parsedCursor}, ${cursor}]`) + + // If a cursor was supplied + if (parsedCursor !== undefined) { + let currentSequence: Sequence | undefined + // Skip records until the supplied cursor offset is reached + while (dbCursor && currentSequence !== parsedCursor) { + // Find the sequence of the current record + const current: WithStorageMeta = dbCursor.value + currentSequence = current?._sequence + // Advance one record beyond the cursor + dbCursor = await dbCursor.advance(1) } } + // Collect results up to the limit - while (cursor && results.length < parsedLimit) { - const value = cursor.value + while (dbCursor && results.length < parsedLimit) { + const value = dbCursor.value if (value) { // If we're filtering on more than just the schema if (valueFilters.length > 0) { @@ -113,18 +121,14 @@ export class IndexedDbBoundWitnessDiviner< } } try { - cursor = await cursor.continue() + dbCursor = await dbCursor.continue() } catch { break } } await tx.done // Remove any metadata before returning to the client - return await Promise.all( - results.filter(isBoundWitness).map((bw) => { - return PayloadBuilder.build(bw) - }), - ) + return results }) return result ?? [] } diff --git a/packages/modules/packages/diviner/packages/indexeddb/packages/boundwitness/src/spec/Diviner.Error.spec.ts b/packages/modules/packages/diviner/packages/indexeddb/packages/boundwitness/src/spec/Diviner.Error.spec.ts index 0b74020c76..a9f0b9f9d1 100644 --- a/packages/modules/packages/diviner/packages/indexeddb/packages/boundwitness/src/spec/Diviner.Error.spec.ts +++ b/packages/modules/packages/diviner/packages/indexeddb/packages/boundwitness/src/spec/Diviner.Error.spec.ts @@ -1,12 +1,9 @@ -/** - * @jest-environment jsdom - */ - import { IndexedDbArchivist } from '@xyo-network/archivist-indexeddb' import { BoundWitnessBuilder } from '@xyo-network/boundwitness-builder' import type { BoundWitness } from '@xyo-network/boundwitness-model' import { BoundWitnessDivinerQuerySchema } from '@xyo-network/diviner-boundwitness-model' import { MemoryNode } from '@xyo-network/node-memory' +import { PayloadBuilder } from '@xyo-network/payload-builder' import { IDBCursor, IDBCursorWithValue, @@ -22,8 +19,7 @@ import { indexedDB, } from 'fake-indexeddb' import { - beforeAll, describe, expect, - it, + beforeAll, describe, expect, it, } from 'vitest' import { IndexedDbBoundWitnessDiviner } from '../Diviner.ts' @@ -49,19 +45,10 @@ globalThis.indexedDB = indexedDB describe('IndexedDbBoundWitnessDiviner.Errors', () => { const dbName = 'testDb' const storeName = 'testStore' - let sut: IndexedDbBoundWitnessDiviner const values: BoundWitness[] = [] + let archivist: IndexedDbArchivist describe('divine', () => { const createTestNode = async (testDbName = 'INCORRECT-DB-NAME', testStoreName = 'INCORRECT-STORE-NAME') => { - const archivist = await IndexedDbArchivist.create({ - account: 'random', - config: { - dbName, schema: IndexedDbArchivist.defaultConfigSchema, storeName, - }, - }) - const [bw] = await new BoundWitnessBuilder().build() - values.push(bw) - await archivist.insert(values) const sut = await IndexedDbBoundWitnessDiviner.create({ account: 'random', config: { @@ -85,7 +72,19 @@ describe('IndexedDbBoundWitnessDiviner.Errors', () => { ) return sut } + beforeAll(async () => { + archivist = await IndexedDbArchivist.create({ + account: 'random', + config: { + dbName, schema: IndexedDbArchivist.defaultConfigSchema, storeName, + }, + }) + const [bw] = await new BoundWitnessBuilder().build() + values.push(bw) + await archivist.insert(values) + }) describe('when DB and store do not exist', () => { + let sut: IndexedDbBoundWitnessDiviner beforeAll(async () => { sut = await createTestNode('INCORRECT-DB-NAME', 'INCORRECT-STORE-NAME') }) @@ -95,6 +94,7 @@ describe('IndexedDbBoundWitnessDiviner.Errors', () => { }) }) describe('when DB exists but store does not exist', () => { + let sut: IndexedDbBoundWitnessDiviner beforeAll(async () => { sut = await createTestNode(dbName, 'INCORRECT-STORE-NAME') }) @@ -104,12 +104,14 @@ describe('IndexedDbBoundWitnessDiviner.Errors', () => { }) }) describe('when DB and store exist', () => { + let sut: IndexedDbBoundWitnessDiviner beforeAll(async () => { sut = await createTestNode(dbName, storeName) }) it('returns values', async () => { const result = await sut.divine([{ schema: BoundWitnessDivinerQuerySchema }]) - expect(result).toEqual(values) + const filtered = PayloadBuilder.omitStorageMeta(result) + expect(filtered).toEqual(values) }) }) }) diff --git a/packages/modules/packages/diviner/packages/indexeddb/packages/boundwitness/src/spec/Diviner.spec.ts b/packages/modules/packages/diviner/packages/indexeddb/packages/boundwitness/src/spec/Diviner.spec.ts index 58aa14a667..f7c7bb8e72 100644 --- a/packages/modules/packages/diviner/packages/indexeddb/packages/boundwitness/src/spec/Diviner.spec.ts +++ b/packages/modules/packages/diviner/packages/indexeddb/packages/boundwitness/src/spec/Diviner.spec.ts @@ -1,17 +1,16 @@ -/** - * @jest-environment jsdom - */ import '@xylabs/vitest-extended' +import { filterAs } from '@xylabs/array' +import { delay } from '@xylabs/delay' import { IndexedDbArchivist } from '@xyo-network/archivist-indexeddb' import { BoundWitnessBuilder } from '@xyo-network/boundwitness-builder' import type { BoundWitness } from '@xyo-network/boundwitness-model' -import { isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model' +import { asOptionalBoundWitnessWithStorageMeta, isBoundWitness } from '@xyo-network/boundwitness-model' import type { BoundWitnessDivinerQueryPayload } from '@xyo-network/diviner-boundwitness-model' import { BoundWitnessDivinerQuerySchema } from '@xyo-network/diviner-boundwitness-model' import { MemoryNode } from '@xyo-network/node-memory' import { PayloadBuilder } from '@xyo-network/payload-builder' -import type { WithMeta } from '@xyo-network/payload-model' +import { type WithStorageMeta } from '@xyo-network/payload-model' import { IDBCursor, IDBCursorWithValue, @@ -65,19 +64,27 @@ describe('IndexedDbBoundWitnessDiviner', () => { foo: ['bar', 'baz'], schema: 'network.xyo.debug', } - const boundWitnesses: WithMeta[] = [] + const boundWitnesses: WithStorageMeta[] = [] beforeAll(async () => { - const [boundWitnessA] = await (await new BoundWitnessBuilder().payloads([payloadA])).build() - const [boundWitnessB] = await (await new BoundWitnessBuilder().payloads([payloadB])).build() - const [boundWitnessC] = await (await new BoundWitnessBuilder().payloads([payloadA, payloadB])).build() - boundWitnesses.push(boundWitnessA, boundWitnessB, boundWitnessC) + const [boundWitnessA] = await (new BoundWitnessBuilder().payloads([payloadA])).build() + const [boundWitnessB] = await (new BoundWitnessBuilder().payloads([payloadB])).build() + const [boundWitnessC] = await (new BoundWitnessBuilder().payloads([payloadA, payloadB])).build() archivist = await IndexedDbArchivist.create({ account: 'random', config: { dbName, schema: IndexedDbArchivist.defaultConfigSchema, storeName, }, }) - await archivist.insert(boundWitnesses) + for (const [bw, payloads] of [ + [boundWitnessA, [payloadA]], + [boundWitnessB, [payloadB]], + [boundWitnessC, [payloadA, payloadB]], + ] as const) { + await delay(2) + const inserted = await archivist.insert([bw, ...payloads]) + const bwWithStorageMeta = filterAs(inserted, asOptionalBoundWitnessWithStorageMeta) + boundWitnesses.push(...bwWithStorageMeta) + } sut = await IndexedDbBoundWitnessDiviner.create({ account: 'random', config: { @@ -107,12 +114,12 @@ describe('IndexedDbBoundWitnessDiviner', () => { 'returns only bound witnesses with payload_schemas that contain the schema', async (schema) => { const payload_schemas = [schema] - const query = await new PayloadBuilder({ schema: BoundWitnessDivinerQuerySchema }) + const query = new PayloadBuilder({ schema: BoundWitnessDivinerQuerySchema }) .fields({ payload_schemas }) .build() const results = await sut.divine([query]) expect(results.length).toBeGreaterThan(0) - const bws = results.filter(isBoundWitnessWithMeta) + const bws = results.filter(isBoundWitness) expect(bws.length).toBeGreaterThan(0) for (const bw of bws) { expect(bw.payload_schemas).toIncludeAllMembers(payload_schemas) @@ -125,12 +132,12 @@ describe('IndexedDbBoundWitnessDiviner', () => { ['network.xyo.test', 'network.xyo.debug'], ['network.xyo.test', 'network.xyo.debug'], ])('returns only bound witnesses with payload_schemas that contain the all the schemas', async (...payload_schemas) => { - const query = await new PayloadBuilder({ schema: BoundWitnessDivinerQuerySchema }) + const query = new PayloadBuilder({ schema: BoundWitnessDivinerQuerySchema }) .fields({ payload_schemas }) .build() const results = await sut.divine([query]) expect(results.length).toBeGreaterThan(0) - const bws = results.filter(isBoundWitnessWithMeta) + const bws = results.filter(isBoundWitness) expect(bws.length).toBeGreaterThan(0) for (const bw of bws) { expect(bw.payload_schemas).toIncludeAllMembers(payload_schemas) @@ -142,14 +149,14 @@ describe('IndexedDbBoundWitnessDiviner', () => { describe('with order', () => { describe('not set', () => { it('returns payloads in ascending order', async () => { - const query = await new PayloadBuilder({ schema: BoundWitnessDivinerQuerySchema }).build() + const query = new PayloadBuilder({ schema: BoundWitnessDivinerQuerySchema }).build() const results = await sut.divine([query]) expect(results).toEqual(boundWitnesses) }) }) describe('asc', () => { it('returns payloads in ascending order', async () => { - const query = await new PayloadBuilder({ schema: BoundWitnessDivinerQuerySchema }) + const query = new PayloadBuilder({ schema: BoundWitnessDivinerQuerySchema }) .fields({ order: 'asc' }) .build() const results = await sut.divine([query]) @@ -158,7 +165,7 @@ describe('IndexedDbBoundWitnessDiviner', () => { }) describe('desc', () => { it('returns payloads in descending order', async () => { - const query = await new PayloadBuilder({ schema: BoundWitnessDivinerQuerySchema }) + const query = new PayloadBuilder({ schema: BoundWitnessDivinerQuerySchema }) .fields({ order: 'desc' }) .build() const results = await sut.divine([query]) @@ -166,34 +173,39 @@ describe('IndexedDbBoundWitnessDiviner', () => { }) }) }) - describe('with offset', () => { + describe('with cursor', () => { describe('when ascending order', () => { it('returns payloads from the beginning', async () => { - for (const [i, boundWitness] of boundWitnesses.entries()) { - const query = await new PayloadBuilder({ schema: BoundWitnessDivinerQuerySchema }) + const iterator = boundWitnesses.entries() + iterator.next() + for (const [i, boundWitness] of iterator) { + const query = new PayloadBuilder({ schema: BoundWitnessDivinerQuerySchema }) .fields({ - limit: 1, offset: i, order: 'asc', + limit: 1, cursor: boundWitnesses[i - 1]._sequence, order: 'asc', }) .build() const results = await sut.divine([query]) expect(results).toBeArrayOfSize(1) const [result] = results - expect(PayloadBuilder.withoutMeta(result)).toEqual(PayloadBuilder.withoutMeta(boundWitness)) + expect(PayloadBuilder.omitMeta(result)).toEqual(PayloadBuilder.omitMeta(boundWitness)) } }) }) describe('when descending order', () => { it('returns payloads from the end', async () => { - for (let i = 0; i < boundWitnesses.length; i++) { - const query = await new PayloadBuilder({ schema: BoundWitnessDivinerQuerySchema }) + const descendingBoundWitnesses = [...boundWitnesses].reverse() + const iterator = [...descendingBoundWitnesses.entries()][Symbol.iterator]() + iterator.next() + for (const [i, boundWitness] of iterator) { + const query = new PayloadBuilder({ schema: BoundWitnessDivinerQuerySchema }) .fields({ - limit: 1, offset: i, order: 'desc', + limit: 1, cursor: descendingBoundWitnesses[i - 1]._sequence, order: 'desc', }) .build() const results = await sut.divine([query]) expect(results).toBeArrayOfSize(1) const [result] = results - expect(PayloadBuilder.withoutMeta(result)).toEqual(PayloadBuilder.withoutMeta(boundWitnesses[boundWitnesses.length - i - 1])) + expect(PayloadBuilder.omitMeta(result)).toEqual(PayloadBuilder.omitMeta(boundWitness)) } }) }) diff --git a/packages/modules/packages/diviner/packages/indexeddb/packages/boundwitness/src/spec/tsconfig.json b/packages/modules/packages/diviner/packages/indexeddb/packages/boundwitness/src/spec/tsconfig.json deleted file mode 100644 index a6eb22d0e0..0000000000 --- a/packages/modules/packages/diviner/packages/indexeddb/packages/boundwitness/src/spec/tsconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "compilerOptions": { - "lib": ["dom"], - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/diviner/packages/indexeddb/packages/payload/.npmignore b/packages/modules/packages/diviner/packages/indexeddb/packages/payload/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/indexeddb/packages/payload/.npmignore +++ b/packages/modules/packages/diviner/packages/indexeddb/packages/payload/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/indexeddb/packages/payload/package.json b/packages/modules/packages/diviner/packages/indexeddb/packages/payload/package.json index c8764bce5d..e5946c753e 100644 --- a/packages/modules/packages/diviner/packages/indexeddb/packages/payload/package.json +++ b/packages/modules/packages/diviner/packages/indexeddb/packages/payload/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-payload-indexeddb", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,32 +29,33 @@ "module": "dist/browser/index.mjs", "types": "dist/browser/index.d.ts", "dependencies": { - "@xylabs/array": "^4.4.10", - "@xylabs/assert": "^4.4.10", - "@xylabs/exists": "^4.4.10", - "@xylabs/hex": "^4.4.10", - "@xylabs/object": "^4.4.10", + "@xylabs/array": "^4.4.25", + "@xylabs/assert": "^4.4.25", + "@xylabs/exists": "^4.4.25", + "@xylabs/object": "^4.4.25", "@xyo-network/archivist-indexeddb": "workspace:^", "@xyo-network/archivist-model": "workspace:^", "@xyo-network/diviner-model": "workspace:^", "@xyo-network/diviner-payload-abstract": "workspace:^", "@xyo-network/diviner-payload-model": "workspace:^", "@xyo-network/module-model": "workspace:^", - "@xyo-network/payload-builder": "workspace:^", "@xyo-network/payload-model": "workspace:^", - "idb": "^8.0.0" + "idb": "^8.0.1" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/delay": "^4.4.25", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/archivist-indexeddb": "workspace:^", "@xyo-network/node-memory": "workspace:^", + "@xyo-network/payload-builder": "workspace:^", "fake-indexeddb": "^6.0.0", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/indexeddb/packages/payload/src/Diviner.ts b/packages/modules/packages/diviner/packages/indexeddb/packages/payload/src/Diviner.ts index bee9bff44b..aa307d87e0 100644 --- a/packages/modules/packages/diviner/packages/indexeddb/packages/payload/src/Diviner.ts +++ b/packages/modules/packages/diviner/packages/indexeddb/packages/payload/src/Diviner.ts @@ -1,20 +1,16 @@ import { containsAll } from '@xylabs/array' import { assertEx } from '@xylabs/assert' import { exists } from '@xylabs/exists' -import type { Hash } from '@xylabs/hex' -import type { AnyObject } from '@xylabs/object' import { removeFields } from '@xylabs/object' import { IndexedDbArchivist } from '@xyo-network/archivist-indexeddb' -import { IndexSeparator } from '@xyo-network/archivist-model' import type { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model' import { PayloadDiviner } from '@xyo-network/diviner-payload-abstract' import type { PayloadDivinerQueryPayload } from '@xyo-network/diviner-payload-model' import { isPayloadDivinerQueryPayload } from '@xyo-network/diviner-payload-model' -import { PayloadBuilder } from '@xyo-network/payload-builder' import type { - Payload, Schema, WithMeta, + Payload, Schema, Sequence, } from '@xyo-network/payload-model' -import type { IDBPDatabase, IDBPObjectStore } from 'idb' +import type { IDBPCursorWithValue, IDBPDatabase } from 'idb' import { openDB } from 'idb' import { IndexedDbPayloadDivinerConfigSchema } from './Config.ts' @@ -38,14 +34,6 @@ const payloadValueFilter = (key: keyof AnyPayload, value?: unknown | unknown[]): } } -// Function to extract fields from an index name -const extractFields = (indexName: string): string[] => { - return indexName - .slice(3) - .split(IndexSeparator) - .map(field => field.toLowerCase()) -} - export class IndexedDbPayloadDiviner< TParams extends IndexedDbPayloadDivinerParams = IndexedDbPayloadDivinerParams, TIn extends PayloadDivinerQueryPayload = PayloadDivinerQueryPayload, @@ -59,8 +47,6 @@ export class IndexedDbPayloadDiviner< static override readonly configSchemas: Schema[] = [...super.configSchemas, IndexedDbPayloadDivinerConfigSchema] static override readonly defaultConfigSchema: Schema = IndexedDbPayloadDivinerConfigSchema - private _db: IDBPDatabase | undefined - /** * The database name. If not supplied via config, it defaults * to the archivist's name and if archivist's name is not supplied, @@ -88,49 +74,45 @@ export class IndexedDbPayloadDiviner< } protected override async divineHandler(payloads?: TIn[]): Promise { - const query = payloads?.find(isPayloadDivinerQueryPayload) as TIn + const query = payloads?.find(isPayloadDivinerQueryPayload) if (!query) return [] const result = await this.tryUseDb(async (db) => { const { - schemas, limit, offset, order, ...props - } = removeFields(query as unknown as WithMeta & { sources?: Hash[] }, [ - 'hash', - 'schema', - '$meta', - '$hash', - ]) + schemas, limit, cursor, order, ...props + } = removeFields(query, ['schema']) const tx = db.transaction(this.storeName, 'readonly') const store = tx.objectStore(this.storeName) const results: TOut[] = [] - let parsedOffset = offset ?? 0 + let parsedCursor = cursor const parsedLimit = limit ?? 10 assertEx((schemas?.length ?? 1) === 1, () => 'IndexedDbPayloadDiviner: Only one filter schema supported') const filterSchema = schemas?.[0] const filter = filterSchema ? { schema: filterSchema, ...props } : { ...props } + const valueFilters: ValueFilter[] = Object.entries(filter) + .map(([key, value]) => payloadValueFilter(key, value)) + .filter(exists) const direction: IDBCursorDirection = order === 'desc' ? 'prev' : 'next' - const suggestedIndex = this.selectBestIndex(filter, store) - const keyRangeValue = this.getKeyRangeValue(suggestedIndex, filter) - const valueFilters: ValueFilter[] - = props - ? Object.entries(props) - .map(([key, value]) => payloadValueFilter(key, value)) - .filter(exists) - : [] - let cursor - = suggestedIndex - // Conditionally filter on schemas - ? await store.index(suggestedIndex).openCursor(IDBKeyRange.only(keyRangeValue), direction) - // Just iterate all records - : await store.openCursor(suggestedIndex, direction) - - // Skip records until the offset is reached - while (cursor && parsedOffset > 0) { - cursor = await cursor.advance(parsedOffset) - parsedOffset = 0 // Reset offset after skipping + + // Iterate all records using the sequence index + const sequenceIndex = assertEx(store.index(IndexedDbArchivist.sequenceIndexName), () => 'Failed to get sequence index') + let dbCursor: IDBPCursorWithValue | null + = assertEx(await sequenceIndex.openCursor(null, direction), () => `Failed to get cursor [${parsedCursor}, ${cursor}]`) + + // If a cursor was supplied + if (parsedCursor !== undefined) { + let currentSequence: Sequence | undefined + // Skip records until the supplied cursor offset is reached + while (dbCursor && currentSequence !== parsedCursor) { + // Find the sequence of the current record + currentSequence = await dbCursor.value?.sequence + // Advance one record beyond the cursor + dbCursor = await dbCursor.advance(1) + } } + // Collect results up to the limit - while (cursor && results.length < parsedLimit) { - const value = cursor.value + while (dbCursor && results.length < parsedLimit) { + const value = dbCursor.value if (value) { // If we're filtering on more than just the schema if (valueFilters.length > 0) { @@ -145,14 +127,14 @@ export class IndexedDbPayloadDiviner< } } try { - cursor = await cursor.continue() + dbCursor = await dbCursor.continue() } catch { break } } await tx.done // Remove any metadata before returning to the client - return await Promise.all(results.map(payload => PayloadBuilder.build(payload))) + return results }) return result ?? [] } @@ -162,37 +144,6 @@ export class IndexedDbPayloadDiviner< return true } - private getKeyRangeValue(indexName: string | null, query: AnyObject): unknown | unknown[] { - if (!indexName) return [] - - // Extracting the relevant fields from the index name - const indexFields = extractFields(indexName) - - // Collecting the values for these fields from the query object - const keyRangeValue = indexFields.map(field => query[field as keyof AnyObject]) - return keyRangeValue.length === 1 ? keyRangeValue[0] : keyRangeValue - } - - private selectBestIndex(query: AnyObject, store: IDBPObjectStore): string | null { - // List of available indexes - const { indexNames } = store - - // Convert query object keys to a set for easier comparison - const queryKeys = new Set(Object.keys(query).map(key => key.toLowerCase())) - - // Find the best matching index - let bestMatch: { indexName: string; matchCount: number } = { indexName: '', matchCount: 0 } - - for (const indexName of indexNames) { - const indexFields = extractFields(indexName) - const matchCount = indexFields.filter(field => queryKeys.has(field)).length - if (matchCount > bestMatch.matchCount) { - bestMatch = { indexName, matchCount } - } - } - return bestMatch.matchCount > 0 ? bestMatch.indexName : null - } - /** * Checks that the desired DB/objectStore exists and is initialized to the correct version * @returns The initialized DB or undefined if it does not exist in the desired state diff --git a/packages/modules/packages/diviner/packages/indexeddb/packages/payload/src/spec/Diviner.Error.spec.ts b/packages/modules/packages/diviner/packages/indexeddb/packages/payload/src/spec/Diviner.Error.spec.ts index 4d76be727c..86e4f3ac78 100644 --- a/packages/modules/packages/diviner/packages/indexeddb/packages/payload/src/spec/Diviner.Error.spec.ts +++ b/packages/modules/packages/diviner/packages/indexeddb/packages/payload/src/spec/Diviner.Error.spec.ts @@ -1,7 +1,3 @@ -/** - * @jest-environment jsdom - */ - import { IndexedDbArchivist } from '@xyo-network/archivist-indexeddb' import { PayloadDivinerQuerySchema } from '@xyo-network/diviner-payload-model' import { MemoryNode } from '@xyo-network/node-memory' @@ -112,8 +108,8 @@ describe('IndexedDbPayloadDiviner.Errors', () => { }) it('returns values', async () => { const result = await sut.divine([{ schema: PayloadDivinerQuerySchema }]) - expect(PayloadBuilder.withoutMeta(result)).toMatchObject( - PayloadBuilder.withoutMeta(await Promise.all(values.map(value => PayloadBuilder.build(value)))), + expect(result.map(i => PayloadBuilder.omitMeta(i))).toMatchObject( + values.map(i => PayloadBuilder.omitMeta(i)), ) }) }) diff --git a/packages/modules/packages/diviner/packages/indexeddb/packages/payload/src/spec/Diviner.spec.ts b/packages/modules/packages/diviner/packages/indexeddb/packages/payload/src/spec/Diviner.spec.ts index 6123cc7a77..badc02e4fc 100644 --- a/packages/modules/packages/diviner/packages/indexeddb/packages/payload/src/spec/Diviner.spec.ts +++ b/packages/modules/packages/diviner/packages/indexeddb/packages/payload/src/spec/Diviner.spec.ts @@ -1,18 +1,16 @@ -/** - * @jest-environment jsdom - */ /// /* eslint-disable max-nested-callbacks */ import '@xylabs/vitest-extended' +import { delay } from '@xylabs/delay' import { IndexedDbArchivist } from '@xyo-network/archivist-indexeddb' import type { IndexDescription } from '@xyo-network/archivist-model' import type { PayloadDivinerQueryPayload } from '@xyo-network/diviner-payload-model' import { PayloadDivinerQuerySchema } from '@xyo-network/diviner-payload-model' import { MemoryNode } from '@xyo-network/node-memory' import { PayloadBuilder } from '@xyo-network/payload-builder' -import type { Payload } from '@xyo-network/payload-model' +import type { Payload, WithStorageMeta } from '@xyo-network/payload-model' import { IDBCursor, IDBCursorWithValue, @@ -58,28 +56,28 @@ describe('IndexedDbPayloadDiviner', () => { let sut: IndexedDbPayloadDiviner let node: MemoryNode const urlIndex: IndexDescription = { key: { url: 1 }, name: 'IX_url' } - let payloadA: Payload<{ url: string }> - let payloadB: Payload<{ foo: string[]; other: string }> - let payloads: Payload[] + let payloadA: Payload<{ url: string }> = { + schema: 'network.xyo.test', + url: 'https://xyo.network', + } + let payloadB: Payload<{ foo: string[]; other: string }> = { + foo: ['bar', 'baz'], + other: 'value', + schema: 'network.xyo.debug', + } + let insertedPayloads: WithStorageMeta[] = [] beforeAll(async () => { - payloadA = await PayloadBuilder.build({ - schema: 'network.xyo.test', - url: 'https://xyo.network', - }) - payloadB = await PayloadBuilder.build({ - foo: ['bar', 'baz'], - other: 'value', - schema: 'network.xyo.debug', - }) - payloads = [payloadA, payloadB] - archivist = await IndexedDbArchivist.create({ account: 'random', config: { dbName, schema: IndexedDbArchivist.defaultConfigSchema, storage: { indexes: [urlIndex] }, storeName, }, }) - await archivist.insert(payloads) + for (const payload of [payloadA, payloadB]) { + await delay(2) + const [insertedPayload] = await archivist.insert([payload]) + insertedPayloads.push(insertedPayload) + } sut = await IndexedDbPayloadDiviner.create({ account: 'random', config: { @@ -107,7 +105,7 @@ describe('IndexedDbPayloadDiviner', () => { describe('single', () => { it.each(['network.xyo.test', 'network.xyo.debug'])('only returns payloads of that schema', async (schema) => { const schemas = [schema] - const query = await new PayloadBuilder({ schema: PayloadDivinerQuerySchema }).fields({ schemas }).build() + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }).fields({ schemas }).build() const results = await sut.divine([query]) expect(results.length).toBeGreaterThan(0) expect(results.every(result => result.schema === schema)).toBe(true) @@ -116,7 +114,7 @@ describe('IndexedDbPayloadDiviner', () => { describe.skip('multiple', () => { it('only returns payloads of that schema', async () => { const schemas = ['network.xyo.test', 'network.xyo.debug'] - const query = await new PayloadBuilder({ schema: PayloadDivinerQuerySchema }).fields({ schemas }).build() + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }).fields({ schemas }).build() const results = await sut.divine([query]) expect(results.length).toBeGreaterThan(0) expect(results.every(result => schemas.includes(result.schema))).toBe(true) @@ -129,7 +127,7 @@ describe('IndexedDbPayloadDiviner', () => { it('only returns payloads with that property', async () => { type WithUrl = { url?: string } const url = payloadA.url - const query = await new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) .fields({ url }) .build() const results = await sut.divine([query]) @@ -141,7 +139,7 @@ describe('IndexedDbPayloadDiviner', () => { it('only returns payloads with that property', async () => { type WithOther = { other?: string } const other = payloadB.other - const query = await new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) .fields({ other }) .build() const results = await sut.divine([query]) @@ -154,7 +152,7 @@ describe('IndexedDbPayloadDiviner', () => { const cases: string[][] = [['bar'], ['baz'], ['bar', 'baz']] it.each(cases)('only returns payloads that have an array containing all the values supplied', async (...foo) => { type WithFoo = { foo?: string[] } - const query = await new PayloadBuilder({ schema: PayloadDivinerQuerySchema }).fields({ foo }).build() + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }).fields({ foo }).build() const results = await sut.divine([query]) expect(results.length).toBeGreaterThan(0) expect(results.every(result => foo.every(v => (result as unknown as WithFoo)?.foo?.includes(v)))).toBe(true) @@ -165,55 +163,23 @@ describe('IndexedDbPayloadDiviner', () => { describe('with order', () => { describe('not set', () => { it('returns payloads in ascending order', async () => { - const query = await new PayloadBuilder({ schema: PayloadDivinerQuerySchema }).build() + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }).build() const results = await sut.divine([query]) - expect(results).toEqual(payloads) + expect(results).toEqual(insertedPayloads) }) }) describe('asc', () => { it('returns payloads in ascending order', async () => { - const query = await new PayloadBuilder({ schema: PayloadDivinerQuerySchema }).fields({ order: 'asc' }).build() + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }).fields({ order: 'asc' }).build() const results = await sut.divine([query]) - expect(results).toEqual(payloads) + expect(results).toEqual(insertedPayloads) }) }) describe('desc', () => { it('returns payloads in descending order', async () => { - const query = await new PayloadBuilder({ schema: PayloadDivinerQuerySchema }).fields({ order: 'desc' }).build() + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }).fields({ order: 'desc' }).build() const results = await sut.divine([query]) - expect(results).toEqual([...payloads].reverse()) - }) - }) - }) - describe('with offset', () => { - describe('when ascending order', () => { - it('returns payloads from the beginning', async () => { - for (const [i, boundWitness] of payloads.entries()) { - const query = await new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) - .fields({ - limit: 1, offset: i, order: 'asc', - }) - .build() - const results = await sut.divine([query]) - expect(results).toBeArrayOfSize(1) - const [result] = results - expect(result).toEqual(boundWitness) - } - }) - }) - describe('when descending order', () => { - it('returns payloads from the end', async () => { - for (let i = 0; i < payloads.length; i++) { - const query = await new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) - .fields({ - limit: 1, offset: i, order: 'desc', - }) - .build() - const results = await sut.divine([query]) - expect(results).toBeArrayOfSize(1) - const [result] = results - expect(result).toEqual(payloads[payloads.length - i - 1]) - } + expect(results).toEqual([...insertedPayloads].reverse()) }) }) }) diff --git a/packages/modules/packages/diviner/packages/indexeddb/packages/payload/src/spec/tsconfig.json b/packages/modules/packages/diviner/packages/indexeddb/packages/payload/src/spec/tsconfig.json deleted file mode 100644 index 3ce1dd9c21..0000000000 --- a/packages/modules/packages/diviner/packages/indexeddb/packages/payload/src/spec/tsconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "compilerOptions": { - "lib": ["esnext", "dom"] - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/diviner/packages/indexing/.npmignore b/packages/modules/packages/diviner/packages/indexing/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/indexing/.npmignore +++ b/packages/modules/packages/diviner/packages/indexing/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/indexing/package.json b/packages/modules/packages/diviner/packages/indexing/package.json index a9d2395308..7fad87f490 100644 --- a/packages/modules/packages/diviner/packages/indexing/package.json +++ b/packages/modules/packages/diviner/packages/indexing/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-indexing", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -34,11 +34,12 @@ "@xyo-network/diviner-temporal-indexing": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/indexing/packages/memory/.npmignore b/packages/modules/packages/diviner/packages/indexing/packages/memory/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/indexing/packages/memory/.npmignore +++ b/packages/modules/packages/diviner/packages/indexing/packages/memory/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/indexing/packages/memory/package.json b/packages/modules/packages/diviner/packages/indexing/packages/memory/package.json index fd651995dd..6065592268 100644 --- a/packages/modules/packages/diviner/packages/indexing/packages/memory/package.json +++ b/packages/modules/packages/diviner/packages/indexing/packages/memory/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-indexing-memory", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,9 +29,9 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/hex": "^4.4.10", - "@xylabs/timer": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/hex": "^4.4.25", + "@xylabs/timer": "^4.4.25", "@xyo-network/archivist-wrapper": "workspace:^", "@xyo-network/boundwitness-builder": "workspace:^", "@xyo-network/boundwitness-model": "workspace:^", @@ -45,11 +45,12 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/indexing/packages/memory/src/Diviner.ts b/packages/modules/packages/diviner/packages/indexing/packages/memory/src/Diviner.ts index 31160d6f3f..d96c6526e9 100644 --- a/packages/modules/packages/diviner/packages/indexing/packages/memory/src/Diviner.ts +++ b/packages/modules/packages/diviner/packages/indexing/packages/memory/src/Diviner.ts @@ -18,11 +18,11 @@ import { } from '@xyo-network/diviner-model' import { DivinerWrapper } from '@xyo-network/diviner-wrapper' import { - creatableModule, isModuleState, isModuleStateWithMeta, ModuleState, ModuleStateSchema, + creatableModule, isModuleState, ModuleState, ModuleStateSchema, } from '@xyo-network/module-model' import { PayloadBuilder } from '@xyo-network/payload-builder' import { - Payload, Schema, WithMeta, + Payload, Schema, SequenceConstants, WithStorageMeta, } from '@xyo-network/payload-model' export type ConfigStoreKey = 'indexStore' | 'stateStore' @@ -68,8 +68,8 @@ export class IndexingDiviner< const indexCandidateDiviner = await this.getIndexingDivinerStage('stateToIndexCandidateDiviner') const results = lastState ? await indexCandidateDiviner.divine([lastState]) : await indexCandidateDiviner.divine() // Filter next state out from results - const nextState = results.find(isModuleStateWithMeta) - const indexCandidates = results.filter(x => !isModuleStateWithMeta(x)) + const nextState = results.find(isModuleState) + const indexCandidates = results.filter(x => !isModuleState(x)) // Transform candidates to indexes const toIndexTransformDiviner = await this.getIndexingDivinerStage('indexCandidateToIndexDiviner') const indexes = await toIndexTransformDiviner.divine(indexCandidates) @@ -91,14 +91,14 @@ export class IndexingDiviner< */ protected async commitState(nextState: ModuleState) { // Don't commit state if no state has changed - if (nextState.state.offset === this._lastState?.state.offset) return + if (nextState.state.cursor === this._lastState?.state.cursor) return this._lastState = nextState const archivist = await this.getArchivistForStore('stateStore') const [bw] = await new BoundWitnessBuilder().payload(nextState).signer(this.account).build() await archivist.insert([bw, nextState]) } - protected override async divineHandler(payloads: TIn[] = []): Promise[]> { + protected override async divineHandler(payloads: TIn[] = []): Promise { const indexPayloadDiviner = await this.getPayloadDivinerForStore('indexStore') const divinerQueryToIndexQueryDiviner = await this.getIndexingDivinerStage('divinerQueryToIndexQueryDiviner') const indexQueryResponseToDivinerQueryResponseDiviner = await this.getIndexingDivinerStage('indexQueryResponseToDivinerQueryResponseDiviner') @@ -117,7 +117,7 @@ export class IndexingDiviner< ) ).flat() // TODO: Infer this type over casting to this type - return (await Promise.all(results.map(result => PayloadBuilder.build(result)))) as WithMeta[] + return results as TOut[] } /** @@ -180,7 +180,7 @@ export class IndexingDiviner< .fields({ address: accountAddress, limit: 1, - offset: 0, + cursor: SequenceConstants.minLocalSequence, order: 'desc', payload_schemas: [ModuleStateSchema], }) @@ -207,7 +207,7 @@ export class IndexingDiviner< const archivist = await this.getArchivistForStore('stateStore') const payload = (await archivist.get([hash])).find(isModuleState) if (payload) { - return payload as WithMeta> + return payload as WithStorageMeta> } } return undefined diff --git a/packages/modules/packages/diviner/packages/indexing/packages/model/.npmignore b/packages/modules/packages/diviner/packages/indexing/packages/model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/indexing/packages/model/.npmignore +++ b/packages/modules/packages/diviner/packages/indexing/packages/model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/indexing/packages/model/package.json b/packages/modules/packages/diviner/packages/indexing/packages/model/package.json index 1cd0c7895e..0fdda7f520 100644 --- a/packages/modules/packages/diviner/packages/indexing/packages/model/package.json +++ b/packages/modules/packages/diviner/packages/indexing/packages/model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-indexing-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,17 +29,19 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/object": "^4.4.10", + "@xylabs/hex": "^4.4.25", + "@xylabs/object": "^4.4.25", "@xyo-network/diviner-model": "workspace:^", "@xyo-network/module-model": "workspace:^", "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/indexing/packages/model/src/State.ts b/packages/modules/packages/diviner/packages/indexing/packages/model/src/State.ts index 550a701f4e..abd614d078 100644 --- a/packages/modules/packages/diviner/packages/indexing/packages/model/src/State.ts +++ b/packages/modules/packages/diviner/packages/indexing/packages/model/src/State.ts @@ -1,5 +1,6 @@ +import type { Hex } from '@xylabs/hex' import type { StateDictionary } from '@xyo-network/module-model' export type IndexingDivinerState = StateDictionary & { - offset: number + cursor: Hex } diff --git a/packages/modules/packages/diviner/packages/indexing/packages/temporal/.npmignore b/packages/modules/packages/diviner/packages/indexing/packages/temporal/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/indexing/packages/temporal/.npmignore +++ b/packages/modules/packages/diviner/packages/indexing/packages/temporal/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/indexing/packages/temporal/package.json b/packages/modules/packages/diviner/packages/indexing/packages/temporal/package.json index ec89b75c98..782962cc60 100644 --- a/packages/modules/packages/diviner/packages/indexing/packages/temporal/package.json +++ b/packages/modules/packages/diviner/packages/indexing/packages/temporal/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-temporal-indexing", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -33,11 +33,12 @@ "@xyo-network/diviner-temporal-indexing-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/.npmignore b/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/.npmignore +++ b/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/package.json b/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/package.json index 06421e864a..bab6084a41 100644 --- a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/package.json +++ b/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-temporal-indexing-memory", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,13 +29,14 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/array": "^4.4.10", - "@xylabs/assert": "^4.4.10", - "@xylabs/exists": "^4.4.10", - "@xylabs/hex": "^4.4.10", + "@xylabs/array": "^4.4.25", + "@xylabs/assert": "^4.4.25", + "@xylabs/exists": "^4.4.25", + "@xylabs/hex": "^4.4.25", "@xyo-network/archivist-model": "workspace:^", "@xyo-network/archivist-wrapper": "workspace:^", "@xyo-network/boundwitness-model": "workspace:^", + "@xyo-network/boundwitness-validator": "workspace:^", "@xyo-network/diviner-abstract": "workspace:^", "@xyo-network/diviner-boundwitness-abstract": "workspace:^", "@xyo-network/diviner-boundwitness-model": "workspace:^", @@ -54,10 +55,10 @@ "@xyo-network/witness-timestamp": "workspace:^" }, "devDependencies": { - "@xylabs/delay": "^4.4.10", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/delay": "^4.4.25", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/account": "workspace:^", "@xyo-network/archivist-memory": "workspace:^", "@xyo-network/boundwitness-builder": "workspace:^", @@ -69,5 +70,6 @@ }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/DivinerQueryToIndexQueryDiviner/Diviner.ts b/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/DivinerQueryToIndexQueryDiviner/Diviner.ts index d0e7f14637..df6852120d 100644 --- a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/DivinerQueryToIndexQueryDiviner/Diviner.ts +++ b/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/DivinerQueryToIndexQueryDiviner/Diviner.ts @@ -82,9 +82,9 @@ export class TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner< sourcePathExpression: '$.limit', }, { - defaultValue: 0, - destinationField: 'offset', - sourcePathExpression: '$.offset', + // defaultValue: 0, + destinationField: 'cursor', + sourcePathExpression: '$.cursor', }, { defaultValue: 'desc', @@ -111,7 +111,7 @@ export class TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner< // TODO: Make sources not need to be deleted delete fields.sources // TODO: Add support for additional filters - return await new PayloadBuilder({ schema: this.indexQuerySchema }).fields(fields).build() + return new PayloadBuilder({ schema: this.indexQuerySchema }).fields(fields).build() }), ) } diff --git a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/DivinerQueryToIndexQueryDiviner/spec/Diviner.spec.ts b/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/DivinerQueryToIndexQueryDiviner/spec/Diviner.spec.ts index d4775c29e8..b259a2ce31 100644 --- a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/DivinerQueryToIndexQueryDiviner/spec/Diviner.spec.ts +++ b/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/DivinerQueryToIndexQueryDiviner/spec/Diviner.spec.ts @@ -32,7 +32,6 @@ describe('TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner', () => { }, { limit: 10, - offset: 10, order: 'asc', schema: PayloadDivinerQuerySchema, }, @@ -40,14 +39,12 @@ describe('TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner', () => { const expected: PayloadDivinerQueryPayload[] = [ { limit: 1, - offset: 0, order: 'desc', schema: 'network.xyo.diviner.payload.query', schemas: [TemporalIndexingDivinerResultIndexSchema], } as unknown as PayloadDivinerQueryPayload, { limit: 10, - offset: 10, order: 'asc', schema: 'network.xyo.diviner.payload.query', schemas: [TemporalIndexingDivinerResultIndexSchema], @@ -59,20 +56,18 @@ describe('TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner', () => { const cases: [QueryType, PayloadDivinerQueryPayload][] = queries.map((query, i) => [query, expected[i]]) describe('with single query', () => { it.each(cases)('transforms query using default settings', async (query, expected) => { - const builtExpected = await PayloadBuilder.build(expected) const results = await diviner.divine([query]) const actual = results.filter(isPayloadDivinerQueryPayload) expect(actual).toBeArrayOfSize(1) - expect(PayloadBuilder.withoutMeta(actual[0])).toEqual(PayloadBuilder.withoutMeta(builtExpected)) + expect(PayloadBuilder.omitMeta(actual[0])).toEqual(PayloadBuilder.omitMeta(expected)) }) }) describe('with multiple queries', () => { it('transforms queries using default settings', async () => { - const builtExpected = await Promise.all(expected.map(payload => PayloadBuilder.build(payload))) const results = await diviner.divine(queries) const actual = results.filter(isPayloadDivinerQueryPayload) - expect(actual).toBeArrayOfSize(builtExpected.length) - expect(PayloadBuilder.withoutMeta(actual)).toEqual(PayloadBuilder.withoutMeta(builtExpected)) + expect(actual).toBeArrayOfSize(expected.length) + expect(actual.map(i => PayloadBuilder.omitMeta(i))).toEqual(expected.map(i => PayloadBuilder.omitMeta(i))) }) }) }) @@ -87,7 +82,6 @@ describe('TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner', () => { }, { limit: 10, - offset: 10, order: 'asc', schema: divinerQuerySchema, status: 200, @@ -100,7 +94,6 @@ describe('TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner', () => { url, }, { - offset: 10, schema: divinerQuerySchema, url, }, @@ -128,7 +121,6 @@ describe('TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner', () => { const expected = [ { limit: 1, - offset: 0, order: 'desc', schema: indexQuerySchema, schemas: [indexSchema], @@ -136,7 +128,6 @@ describe('TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner', () => { }, { limit: 10, - offset: 10, order: 'asc', schema: indexQuerySchema, schemas: [indexSchema], @@ -146,7 +137,6 @@ describe('TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner', () => { }, { limit: 10, - offset: 0, order: 'desc', schema: indexQuerySchema, schemas: [indexSchema], @@ -154,7 +144,6 @@ describe('TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner', () => { }, { limit: 1, - offset: 10, order: 'desc', schema: indexQuerySchema, schemas: [indexSchema], @@ -162,7 +151,6 @@ describe('TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner', () => { }, { limit: 1, - offset: 0, order: 'asc', schema: indexQuerySchema, schemas: [indexSchema], @@ -170,7 +158,6 @@ describe('TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner', () => { }, { limit: 1, - offset: 0, order: 'desc', schema: indexQuerySchema, schemas: [indexSchema], @@ -179,7 +166,6 @@ describe('TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner', () => { }, { limit: 1, - offset: 0, order: 'desc', schema: indexQuerySchema, schemas: [indexSchema], @@ -188,7 +174,6 @@ describe('TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner', () => { }, { limit: 1, - offset: 0, order: 'desc', schema: indexQuerySchema, schemas: [indexSchema], @@ -209,9 +194,9 @@ describe('TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner', () => { sourcePathExpression: '$.limit', }, { - defaultValue: 0, - destinationField: 'offset', - sourcePathExpression: '$.offset', + // defaultValue: 0, + destinationField: 'cursor', + sourcePathExpression: '$.cursor', }, { defaultValue: 'desc', @@ -240,20 +225,18 @@ describe('TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner', () => { }) describe('with single query', () => { it.each(cases)('transforms query using default settings', async (query, expected) => { - const builtExpected = await PayloadBuilder.build(expected) const results = await diviner.divine([query]) const actual = results.filter(isPayloadOfSchemaType(indexQuerySchema)) expect(actual).toBeArrayOfSize(1) - expect(PayloadBuilder.withoutMeta(actual[0])).toEqual(PayloadBuilder.withoutMeta(builtExpected)) + expect(PayloadBuilder.omitMeta(actual[0])).toEqual(PayloadBuilder.omitMeta(expected)) }) }) describe('with multiple queries', () => { it('transforms queries using default settings', async () => { - const builtExpected = await Promise.all(expected.map(payload => PayloadBuilder.build(payload))) const results = await diviner.divine(queries) const actual = results.filter(isPayloadOfSchemaType(indexQuerySchema)) - expect(actual).toBeArrayOfSize(builtExpected.length) - expect(PayloadBuilder.withoutMeta(actual)).toEqual(PayloadBuilder.withoutMeta(builtExpected)) + expect(actual).toBeArrayOfSize(expected.length) + expect(actual.map(i => PayloadBuilder.omitMeta(i))).toEqual(expected.map(i => PayloadBuilder.omitMeta(i))) }) }) }) diff --git a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/DivinerQueryToIndexQueryDiviner/spec/tsconfig.json b/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/DivinerQueryToIndexQueryDiviner/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/DivinerQueryToIndexQueryDiviner/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/IndexCandidateToIndexDiviner/Diviner.ts b/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/IndexCandidateToIndexDiviner/Diviner.ts index f04f582270..8eb4267fa7 100644 --- a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/IndexCandidateToIndexDiviner/Diviner.ts +++ b/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/IndexCandidateToIndexDiviner/Diviner.ts @@ -3,7 +3,7 @@ import { assertEx } from '@xylabs/assert' import { exists } from '@xylabs/exists' import type { Hash } from '@xylabs/hex' import type { BoundWitness } from '@xyo-network/boundwitness-model' -import { isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model' +import { isBoundWitness } from '@xyo-network/boundwitness-model' import { AbstractDiviner } from '@xyo-network/diviner-abstract' import { jsonPathToTransformersDictionary } from '@xyo-network/diviner-jsonpath-aggregate-memory' import type { SchemaToJsonPathTransformExpressionsDictionary, SchemaToPayloadTransformersDictionary } from '@xyo-network/diviner-jsonpath-model' @@ -69,13 +69,12 @@ export class TemporalIndexingDivinerIndexCandidateToIndexDiviner< } protected override async divineHandler(payloads: Payload[] = []): Promise { - const builtPayloads = await Promise.all(payloads.map(payload => PayloadBuilder.build(payload))) // If the Bound Witness does not contain all the required schemas do not index it - const indexableBoundWitnesses = builtPayloads - .filter(isBoundWitnessWithMeta) + const indexableBoundWitnesses = payloads + .filter(isBoundWitness) .filter(bw => containsAll(bw.payload_schemas, this.indexableSchemas)) // If the Payload is not one of the indexable schemas do not index it - const indexablePayloads = builtPayloads.filter(p => this.isIndexablePayload(p)) + const indexablePayloads = payloads.filter(p => this.isIndexablePayload(p)) // If there is nothing to index, return an empty array if (indexableBoundWitnesses.length === 0 || indexablePayloads.length === 0) return [] // Hash all the indexable data once @@ -105,24 +104,22 @@ export class TemporalIndexingDivinerIndexCandidateToIndexDiviner< } // Create the indexes from the tuples - const indexes = await Promise.all( - validIndexableTuples.map>(async ([bwHash, ...sourcePayloadHashes]) => { - const sourcePayloads = sourcePayloadHashes.map(hash => payloadDictionary[hash]) - // Use the payload transformers to convert the fields from the source payloads to the destination fields - const indexFields = sourcePayloads.flatMap((payload) => { - // Find the transformers for this payload - const transformers = this.payloadTransformers[payload.schema] - // If transformers exist, apply them to the payload otherwise return an empty array - return transformers ? transformers.map(transform => transform(payload)) : [] - }) - // Include all the sources for reference - const sources: string[] = [bwHash, ...sourcePayloadHashes] - // Build and return the index - return await new PayloadBuilder({ schema: TemporalIndexingDivinerResultIndexSchema }) - .fields(Object.assign({ sources }, ...indexFields)) - .build() - }), - ) + const indexes = validIndexableTuples.map(([bwHash, ...sourcePayloadHashes]) => { + const sourcePayloads = sourcePayloadHashes.map(hash => payloadDictionary[hash]) + // Use the payload transformers to convert the fields from the source payloads to the destination fields + const indexFields = sourcePayloads.flatMap((payload) => { + // Find the transformers for this payload + const transformers = this.payloadTransformers[payload.schema] + // If transformers exist, apply them to the payload otherwise return an empty array + return transformers ? transformers.map(transform => transform(payload)) : [] + }) + // Include all the sources for reference + const sources: Hash[] = [bwHash, ...sourcePayloadHashes] + // Build and return the index + return new PayloadBuilder({ schema: TemporalIndexingDivinerResultIndexSchema }) + .fields(Object.assign({ sources }, ...indexFields)) + .build() + }) return indexes.flat() } diff --git a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/IndexCandidateToIndexDiviner/spec/Diviner.spec.ts b/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/IndexCandidateToIndexDiviner/spec/Diviner.spec.ts index 2a13b5b2ff..ed3107cfaf 100644 --- a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/IndexCandidateToIndexDiviner/spec/Diviner.spec.ts +++ b/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/IndexCandidateToIndexDiviner/spec/Diviner.spec.ts @@ -89,17 +89,14 @@ describe('TemporalIndexCandidateToImageThumbnailIndexDiviner', () => { ] describe('with single result', () => { it.each(cases)('transforms single result', async (timestamp, thumbnail) => { - const builtTimestamp = await PayloadBuilder.build(timestamp) - const builtThumbnail = await PayloadBuilder.build(thumbnail) - const [boundWitness] = await (await new BoundWitnessBuilder().payloads([builtTimestamp, builtThumbnail])).build() - const result = await diviner.divine([boundWitness, builtTimestamp, builtThumbnail]) - await validateSingleResult([boundWitness, builtTimestamp, builtThumbnail], result) + const [boundWitness] = await (await new BoundWitnessBuilder().payloads([timestamp, thumbnail])).build() + const result = await diviner.divine([boundWitness, timestamp, thumbnail]) + await validateSingleResult([boundWitness, timestamp, thumbnail], result) }) it('transforms BW with multiple results inside', async () => { const payloads = cases.flat() - const builtPayloads = await PayloadBuilder.build(payloads) - const [boundWitness] = await (await new BoundWitnessBuilder().payloads(builtPayloads)).build() - const results = await diviner.divine([boundWitness, ...builtPayloads]) + const [boundWitness] = await (await new BoundWitnessBuilder().payloads(payloads)).build() + const results = await diviner.divine([boundWitness, ...payloads]) expect(results).toBeArrayOfSize(Math.pow(cases.length, cases[0].length)) let resultIndex = 0 for (let i = 0; i < cases.length; i++) { diff --git a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/IndexCandidateToIndexDiviner/spec/tsconfig.json b/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/IndexCandidateToIndexDiviner/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/IndexCandidateToIndexDiviner/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/IndexQueryResponseToDivinerQueryResponseDiviner/spec/tsconfig.json b/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/IndexQueryResponseToDivinerQueryResponseDiviner/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/IndexQueryResponseToDivinerQueryResponseDiviner/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/StateToIndexCandidateDiviner/Diviner.ts b/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/StateToIndexCandidateDiviner/Diviner.ts index 7a061f78cb..379f071628 100644 --- a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/StateToIndexCandidateDiviner/Diviner.ts +++ b/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/StateToIndexCandidateDiviner/Diviner.ts @@ -1,13 +1,14 @@ +import { filterAs } from '@xylabs/array' import { assertEx } from '@xylabs/assert' import { exists } from '@xylabs/exists' -import type { ArchivistInstance } from '@xyo-network/archivist-model' +import type { ArchivistInstance, ArchivistNextOptions } from '@xyo-network/archivist-model' import { ArchivistWrapper } from '@xyo-network/archivist-wrapper' import type { BoundWitness } from '@xyo-network/boundwitness-model' -import { isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model' +import { asBoundWitness } from '@xyo-network/boundwitness-model' +import { payloadSchemasContainsAll } from '@xyo-network/boundwitness-validator' import { AbstractDiviner } from '@xyo-network/diviner-abstract' import type { BoundWitnessDiviner } from '@xyo-network/diviner-boundwitness-abstract' import type { BoundWitnessDivinerParams, BoundWitnessDivinerQueryPayload } from '@xyo-network/diviner-boundwitness-model' -import { BoundWitnessDivinerQuerySchema } from '@xyo-network/diviner-boundwitness-model' import type { IndexingDivinerState } from '@xyo-network/diviner-indexing-model' import type { TemporalIndexingDivinerStateToIndexCandidateDivinerParams } from '@xyo-network/diviner-temporal-indexing-model' import { TemporalIndexingDivinerStateToIndexCandidateDivinerConfigSchema } from '@xyo-network/diviner-temporal-indexing-model' @@ -16,8 +17,11 @@ import type { Labels, ModuleIdentifier, ModuleState, } from '@xyo-network/module-model' import { isModuleState, ModuleStateSchema } from '@xyo-network/module-model' -import { PayloadBuilder } from '@xyo-network/payload-builder' -import type { Payload, Schema } from '@xyo-network/payload-model' +import type { + Payload, Schema, + WithStorageMeta, +} from '@xyo-network/payload-model' +import { SequenceConstants } from '@xyo-network/payload-model' import { intraBoundwitnessSchemaCombinations } from '@xyo-network/payload-utils' import type { TimeStamp } from '@xyo-network/witness-timestamp' import { TimestampSchema } from '@xyo-network/witness-timestamp' @@ -76,31 +80,35 @@ export class TemporalIndexingDivinerStateToIndexCandidateDiviner< return [TimestampSchema, ...(schemas ?? [])] } - protected override async divineHandler(payloads: Payload[] = []): Promise<[ModuleState, ...IndexCandidate[]]> { + protected override async divineHandler(payloads: Payload[] = []): Promise { // Retrieve the last state from what was passed in const lastState = payloads.find(isModuleState) // If there is no last state, start from the beginning - if (!lastState) return [{ schema: ModuleStateSchema, state: { offset: 0 } }] - // Otherwise, get the last offset - const { offset } = lastState.state - // Get next batch of results starting from the offset - const boundWitnessDiviner = await this.getBoundWitnessDivinerForStore() - if (!boundWitnessDiviner) return [lastState] - const query = await new PayloadBuilder({ schema: BoundWitnessDivinerQuerySchema }) - .fields({ - limit: this.payloadDivinerLimit, offset, order, payload_schemas: this.payload_schemas, - }) - .build() - const batch = await boundWitnessDiviner.divine([query]) - if (batch.length === 0) return [lastState] - // Get source data + ?? { schema: ModuleStateSchema, state: { cursor: SequenceConstants.minLocalSequence } } + + // Get the last cursor + const cursor = lastState?.state?.cursor + // Get the archivist for the store const sourceArchivist = await this.getArchivistForStore() if (!sourceArchivist) return [lastState] - const bws = batch.filter(isBoundWitnessWithMeta) - const indexCandidates: IndexCandidate[] = (await Promise.all(bws.map(bw => this.getPayloadsInBoundWitness(bw, sourceArchivist)))) + + // Get the next batch of results + const nextOffset: ArchivistNextOptions = { limit: this.payloadDivinerLimit, order } + // Only use the cursor if it's a valid offset + if (cursor !== SequenceConstants.minLocalSequence) nextOffset.cursor = cursor + // Get next batch of results starting from the offset + const next = await sourceArchivist.next(nextOffset) + if (next.length === 0) return [lastState] + + const batch = filterAs(next, asBoundWitness) + .filter(exists) + .filter(bw => payloadSchemasContainsAll(bw, this.payload_schemas)) + // Get source data + const indexCandidates: IndexCandidate[] = (await Promise.all(batch.map(bw => this.getPayloadsInBoundWitness(bw, sourceArchivist)))) .filter(exists) .flat() - const nextState = { schema: ModuleStateSchema, state: { ...lastState.state, offset: offset + batch.length } } + const nextCursor = assertEx(next.at(-1)?._sequence, () => `${moduleName}: Expected next to have a sequence`) + const nextState: ModuleState = { schema: ModuleStateSchema, state: { ...lastState.state, cursor: nextCursor } } return [nextState, ...indexCandidates] } @@ -139,7 +147,7 @@ export class TemporalIndexingDivinerStateToIndexCandidateDiviner< DivinerWrapper< BoundWitnessDiviner, BoundWitnessDivinerQueryPayload, - BoundWitness + WithStorageMeta > >(mod, this.account) } diff --git a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/StateToIndexCandidateDiviner/spec/Diviner.spec.ts b/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/StateToIndexCandidateDiviner/spec/Diviner.spec.ts index 60d5580573..cdf649812b 100644 --- a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/StateToIndexCandidateDiviner/spec/Diviner.spec.ts +++ b/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/StateToIndexCandidateDiviner/spec/Diviner.spec.ts @@ -1,23 +1,28 @@ import '@xylabs/vitest-extended' +import { filterAs } from '@xylabs/array' import { assertEx } from '@xylabs/assert' +import { delay } from '@xylabs/delay' import { HDWallet } from '@xyo-network/account' import type { MemoryArchivist } from '@xyo-network/archivist-memory' import { asArchivistInstance } from '@xyo-network/archivist-model' import { BoundWitnessBuilder } from '@xyo-network/boundwitness-builder' +import { isBoundWitness } from '@xyo-network/boundwitness-model' import type { IndexingDivinerState } from '@xyo-network/diviner-indexing-model' import { asDivinerInstance } from '@xyo-network/diviner-model' import type { PackageManifestPayload } from '@xyo-network/manifest' import { ManifestWrapper } from '@xyo-network/manifest' import { ModuleFactoryLocator } from '@xyo-network/module-factory-locator' import type { ModuleState } from '@xyo-network/module-model' -import { isModuleStateWithMeta, ModuleStateSchema } from '@xyo-network/module-model' -import type { MemoryNode } from '@xyo-network/node-memory' +import { isModuleState, ModuleStateSchema } from '@xyo-network/module-model' +import { PayloadBuilder } from '@xyo-network/payload-builder' +import { + asOptionalStorageMeta, type Payload, type WithStorageMeta, +} from '@xyo-network/payload-model' import type { TimeStamp } from '@xyo-network/witness-timestamp' -import { TimestampSchema } from '@xyo-network/witness-timestamp' +import { isTimestamp, TimestampSchema } from '@xyo-network/witness-timestamp' import { - beforeAll, - describe, expect, it, + beforeAll, describe, expect, it, } from 'vitest' import { TemporalIndexingDivinerStateToIndexCandidateDiviner } from '../Diviner.ts' @@ -56,10 +61,10 @@ describe('TemporalStateToIndexCandidateDiviner', () => { schema: 'network.xyo.image.thumbnail', sourceUrl, } - const witnessedThumbnails = [thumbnailHttpSuccess, thumbnailHttpFail, thumbnailCodeFail, thumbnailWitnessFail] + let testCases: WithStorageMeta[][] = [] + let archivist: MemoryArchivist let sut: TemporalIndexingDivinerStateToIndexCandidateDiviner - let node: MemoryNode beforeAll(async () => { const wallet = await HDWallet.random() @@ -67,7 +72,7 @@ describe('TemporalStateToIndexCandidateDiviner', () => { locator.register(TemporalIndexingDivinerStateToIndexCandidateDiviner) const manifest = TemporalStateToIndexCandidateDivinerManifest as PackageManifestPayload const manifestWrapper = new ManifestWrapper(manifest, wallet, locator) - node = await manifestWrapper.loadNodeFromIndex(0) + const node = await manifestWrapper.loadNodeFromIndex(0) await node.start() const privateModules = manifest.nodes[0].modules?.private ?? [] @@ -76,32 +81,38 @@ describe('TemporalStateToIndexCandidateDiviner', () => { expect(mods.length).toBe(privateModules.length + publicModules.length + 1) // Insert previously witnessed payloads into thumbnail archivist - const httpSuccessTimestamp: TimeStamp = { schema: TimestampSchema, timestamp: Date.now() } + const httpSuccessTimestamp: TimeStamp = { schema: TimestampSchema, timestamp: 1 } const [httpSuccessBoundWitness, httpSuccessPayloads] = await new BoundWitnessBuilder() .payloads([thumbnailHttpSuccess, httpSuccessTimestamp]) .build() - const httpFailTimestamp: TimeStamp = { schema: TimestampSchema, timestamp: Date.now() } - const [httpFailBoundWitness, httpFailPayloads] = await (await new BoundWitnessBuilder().payloads([thumbnailHttpFail, httpFailTimestamp])).build() + const httpFailTimestamp: TimeStamp = { schema: TimestampSchema, timestamp: 2 } + const [httpFailBoundWitness, httpFailPayloads] = await (new BoundWitnessBuilder().payloads([thumbnailHttpFail, httpFailTimestamp])).build() - const witnessFailTimestamp: TimeStamp = { schema: TimestampSchema, timestamp: Date.now() } + const witnessFailTimestamp: TimeStamp = { schema: TimestampSchema, timestamp: 3 } const [witnessFailBoundWitness, witnessFailPayloads] = await new BoundWitnessBuilder() .payloads([thumbnailWitnessFail, witnessFailTimestamp]) .build() - const codeFailTimestamp: TimeStamp = { schema: TimestampSchema, timestamp: Date.now() } - const [codeFailBoundWitness, codeFailPayloads] = await (await new BoundWitnessBuilder().payloads([thumbnailCodeFail, codeFailTimestamp])).build() - - const thumbnailArchivist = assertEx(asArchivistInstance(await node.resolve('ImageThumbnailArchivist'))) - await thumbnailArchivist.insert([ - httpSuccessBoundWitness, - ...httpSuccessPayloads, - httpFailBoundWitness, - ...httpFailPayloads, - witnessFailBoundWitness, - ...witnessFailPayloads, - codeFailBoundWitness, - ...codeFailPayloads, - ]) + const codeFailTimestamp: TimeStamp = { schema: TimestampSchema, timestamp: 4 } + const [codeFailBoundWitness, codeFailPayloads] = await (new BoundWitnessBuilder().payloads([thumbnailCodeFail, codeFailTimestamp])).build() + + archivist = assertEx(asArchivistInstance(await node.resolve('ImageThumbnailArchivist'))) + const testCasesToCreate = [ + [httpSuccessBoundWitness, ...httpSuccessPayloads], + [httpFailBoundWitness, ...httpFailPayloads], + [witnessFailBoundWitness, ...witnessFailPayloads], + [codeFailBoundWitness, ...codeFailPayloads], + ] + + for (const [bw, ...payloads] of testCasesToCreate) { + const createdTestCase = [] + for (const payload of [bw, ...payloads]) { + await delay(2) + const [signedPayload] = await archivist.insert([payload]) + createdTestCase.push(signedPayload) + } + testCases.push(createdTestCase) + } sut = assertEx( asDivinerInstance(await node.resolve('TemporalStateToIndexCandidateDiviner')), @@ -110,40 +121,45 @@ describe('TemporalStateToIndexCandidateDiviner', () => { describe('divine', () => { describe('with no previous state', () => { - it('return state and no results', async () => { + it('returns next state and batch results', async () => { const results = await sut.divine() - expect(results.length).toBe(1) - const state = results.find(isModuleStateWithMeta) + expect(results.length).toBe(testCases.flat().length + 1) + const state = results.find(isModuleState) expect(state).toBeDefined() - expect(state?.state.offset).toBe(0) + const last = filterAs(results, asOptionalStorageMeta) + .map(p => p as WithStorageMeta) + .sort(PayloadBuilder.compareStorageMeta) + .at(-1) + expect(last).toBeDefined() + expect(state?.state.cursor).toBe(last?._sequence) }) }) describe('with previous state', () => { - // Test across all offsets - const states: ModuleState[] = witnessedThumbnails.map((_, offset) => { - return { schema: ModuleStateSchema, state: { offset } } - }) - it.each(states)('return next state and batch results', async (lastState) => { + it.each([1, 2, 3])('returns next state and batch results', async (batch) => { + const all = (await archivist.all()).sort(PayloadBuilder.compareStorageMeta) + const batchOffset = all.at((3 * batch) - 1) + expect(batchOffset).toBeDefined() + // Test across all offsets + const cursor = assertEx(batchOffset)._sequence + const lastState: ModuleState = { schema: ModuleStateSchema, state: { cursor } } const results = await sut.divine([lastState]) // Validate expected results length - const expectedIndividualResults = witnessedThumbnails.length - lastState.state.offset - // expectedIndividualResults * 3 [BW, ImageThumbnail, TimeStamp] + 1 [ModuleState] - const expectedResults = expectedIndividualResults * 3 + 1 + // [BW, ImageThumbnail, TimeStamp] + 1 [ModuleState] + const expectedResults = testCases.slice(batch).flat().length + 1 expect(results.length).toBe(expectedResults) // Validate expected state - const nextState = results.find(isModuleStateWithMeta) + const nextState = results.find(isModuleState) expect(nextState).toBeDefined() - expect(nextState?.state.offset).toBe(witnessedThumbnails.length) + expect(nextState?.state?.cursor).toBeDefined() + expect(nextState?.state.cursor).toBe(testCases?.at(-1)?.at(-1)?._sequence) // Validate expected individual results - // const bws = results.filter(isBoundWitness) - // expect(bws).toBeArrayOfSize(expectedIndividualResults) - // const images = results.filter(isImageThumbnail) - // expect(images).toBeArrayOfSize(expectedIndividualResults) - // const timestamps = results.filter(isTimestamp) - // expect(timestamps).toBeArrayOfSize(expectedIndividualResults) + const bws = results.filter(isBoundWitness) + expect(bws.length).toBeGreaterThan(0) + const timestamps = results.filter(isTimestamp) + expect(timestamps.length).toBeGreaterThan(0) }) }) }) diff --git a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/StateToIndexCandidateDiviner/spec/tsconfig.json b/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/StateToIndexCandidateDiviner/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/StateToIndexCandidateDiviner/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/spec/Diviner.Multiple.spec.ts b/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/spec/Diviner.Multiple.spec.ts index d44e27a4d3..293240469e 100644 --- a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/spec/Diviner.Multiple.spec.ts +++ b/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/spec/Diviner.Multiple.spec.ts @@ -1,21 +1,22 @@ import '@xylabs/vitest-extended' +import { filterAs } from '@xylabs/array' import { assertEx } from '@xylabs/assert' import { delay } from '@xylabs/delay' import { HDWallet } from '@xyo-network/account' import type { MemoryArchivist } from '@xyo-network/archivist-memory' import { asArchivistInstance } from '@xyo-network/archivist-model' import { BoundWitnessBuilder } from '@xyo-network/boundwitness-builder' -import { isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model' +import { asBoundWitness } from '@xyo-network/boundwitness-model' import { asDivinerInstance } from '@xyo-network/diviner-model' import type { PayloadDivinerQueryPayload } from '@xyo-network/diviner-payload-model' import { PayloadDivinerQuerySchema } from '@xyo-network/diviner-payload-model' -import { isTemporalIndexingDivinerResultIndex, isTemporalIndexingDivinerResultIndexWithMeta } from '@xyo-network/diviner-temporal-indexing-model' +import { isTemporalIndexingDivinerResultIndex } from '@xyo-network/diviner-temporal-indexing-model' import type { PackageManifestPayload } from '@xyo-network/manifest' import { ManifestWrapper } from '@xyo-network/manifest' import { ModuleFactoryLocator } from '@xyo-network/module-factory-locator' import type { Labels } from '@xyo-network/module-model' -import { isModuleStateWithMeta } from '@xyo-network/module-model' +import { asModuleState } from '@xyo-network/module-model' import type { MemoryNode } from '@xyo-network/node-memory' import { PayloadBuilder } from '@xyo-network/payload-builder' import type { Payload } from '@xyo-network/payload-model' @@ -80,8 +81,7 @@ describe.skip('TemporalIndexingDiviner - Multiple', () => { schema: 'network.xyo.image.thumbnail', sourceUrl, } - const witnessedThumbnails = (async () => - await PayloadBuilder.build([thumbnailHttpSuccess, thumbnailHttpFail, thumbnailCodeFail, thumbnailWitnessFail]))() + const witnessedThumbnails = [thumbnailHttpSuccess, thumbnailHttpFail, thumbnailCodeFail, thumbnailWitnessFail] let sut: TemporalIndexingDiviner let node: MemoryNode @@ -107,7 +107,7 @@ describe.skip('TemporalIndexingDiviner - Multiple', () => { // Insert previously witnessed payloads into thumbnail archivist const timestamp: TimeStamp = { schema: TimestampSchema, timestamp: Date.now() } - const [boundWitness, payloads] = await new BoundWitnessBuilder().payloads([timestamp, ...(await witnessedThumbnails)]).build() + const [boundWitness, payloads] = await new BoundWitnessBuilder().payloads([timestamp, ...witnessedThumbnails]).build() const thumbnailArchivist = assertEx(asArchivistInstance(await node.resolve('ImageThumbnailArchivist'))) await thumbnailArchivist.insert([boundWitness, ...payloads]) @@ -125,7 +125,7 @@ describe.skip('TemporalIndexingDiviner - Multiple', () => { }) it('has expected bound witnesses', async () => { const payloads = await stateArchivist.all() - const stateBoundWitnesses = payloads.filter(isBoundWitnessWithMeta) + const stateBoundWitnesses = filterAs(payloads, asBoundWitness) expect(stateBoundWitnesses).toBeArrayOfSize(2) for (const stateBoundWitness of stateBoundWitnesses) { expect(stateBoundWitness).toBeObject() @@ -135,7 +135,7 @@ describe.skip('TemporalIndexingDiviner - Multiple', () => { }) it('has expected state', async () => { const payloads = await stateArchivist.all() - const statePayloads = payloads.filter(isModuleStateWithMeta) + const statePayloads = filterAs(payloads, asModuleState) expect(statePayloads).toBeArrayOfSize(2) expect(statePayloads.at(-1)).toBeObject() const statePayload = assertEx(statePayloads.at(-1)) @@ -152,7 +152,7 @@ describe.skip('TemporalIndexingDiviner - Multiple', () => { // NOTE: We're not signing indexes for performance reasons it.skip('has expected bound witnesses', async () => { const payloads = await indexArchivist.all() - const indexBoundWitnesses = payloads.filter(isBoundWitnessWithMeta) + const indexBoundWitnesses = filterAs(payloads, asBoundWitness) expect(indexBoundWitnesses).toBeArrayOfSize(1) const indexBoundWitness = indexBoundWitnesses[0] expect(indexBoundWitness).toBeObject() @@ -162,7 +162,7 @@ describe.skip('TemporalIndexingDiviner - Multiple', () => { it('has expected index', async () => { const payloads = await indexArchivist.all() const indexPayloads = payloads.filter(isTemporalIndexingDivinerResultIndex) - expect(indexPayloads).toBeArrayOfSize((await witnessedThumbnails).length) + expect(indexPayloads).toBeArrayOfSize((witnessedThumbnails).length) }) }) describe('with no thumbnail for the provided URL', () => { @@ -181,9 +181,9 @@ describe.skip('TemporalIndexingDiviner - Multiple', () => { it('returns the most recent result', async () => { const query: Query = { schema, url } const results = await sut.divine([query]) - const result = results.find(isTemporalIndexingDivinerResultIndexWithMeta) + const result = results.find(isTemporalIndexingDivinerResultIndex) expect(result).toBeDefined() - const payload = assertEx((await witnessedThumbnails).at(-1)) + const payload = assertEx((witnessedThumbnails).at(-1)) const expected = await PayloadBuilder.dataHash(payload) expect(result?.sources).toContain(expected) }) @@ -197,7 +197,7 @@ describe.skip('TemporalIndexingDiviner - Multiple', () => { schema, status, url, } const results = await sut.divine([query]) - const result = results.find(isTemporalIndexingDivinerResultIndexWithMeta) + const result = results.find(isTemporalIndexingDivinerResultIndex) expect(result).toBeDefined() const expected = await PayloadBuilder.dataHash(payload) expect(result?.sources).toContain(expected) diff --git a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/spec/Diviner.spec.ts b/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/spec/Diviner.spec.ts index 014b9ae32c..7b115e3135 100644 --- a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/spec/Diviner.spec.ts +++ b/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/spec/Diviner.spec.ts @@ -1,21 +1,22 @@ import '@xylabs/vitest-extended' +import { filterAs } from '@xylabs/array' import { assertEx } from '@xylabs/assert' import { delay } from '@xylabs/delay' import { HDWallet } from '@xyo-network/account' import type { MemoryArchivist } from '@xyo-network/archivist-memory' import { asArchivistInstance } from '@xyo-network/archivist-model' import { BoundWitnessBuilder } from '@xyo-network/boundwitness-builder' -import { isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model' +import { asBoundWitness } from '@xyo-network/boundwitness-model' import { asDivinerInstance } from '@xyo-network/diviner-model' import type { PayloadDivinerQueryPayload } from '@xyo-network/diviner-payload-model' import { PayloadDivinerQuerySchema } from '@xyo-network/diviner-payload-model' -import { isTemporalIndexingDivinerResultIndex, isTemporalIndexingDivinerResultIndexWithMeta } from '@xyo-network/diviner-temporal-indexing-model' +import { isTemporalIndexingDivinerResultIndex } from '@xyo-network/diviner-temporal-indexing-model' import type { PackageManifestPayload } from '@xyo-network/manifest' import { ManifestWrapper } from '@xyo-network/manifest' import { ModuleFactoryLocator } from '@xyo-network/module-factory-locator' import type { Labels } from '@xyo-network/module-model' -import { isModuleStateWithMeta } from '@xyo-network/module-model' +import { asModuleState } from '@xyo-network/module-model' import type { MemoryNode } from '@xyo-network/node-memory' import { PayloadBuilder } from '@xyo-network/payload-builder' import type { Payload } from '@xyo-network/payload-model' @@ -145,7 +146,7 @@ describe.skip('TemporalIndexingDiviner', () => { }) it('has expected bound witnesses', async () => { const payloads = await stateArchivist.all() - const stateBoundWitnesses = payloads.filter(isBoundWitnessWithMeta) + const stateBoundWitnesses = filterAs(payloads, asBoundWitness) expect(stateBoundWitnesses).toBeArrayOfSize(2) for (const stateBoundWitness of stateBoundWitnesses) { expect(stateBoundWitness).toBeObject() @@ -155,7 +156,7 @@ describe.skip('TemporalIndexingDiviner', () => { }) it('has expected state', async () => { const payloads = await stateArchivist.all() - const statePayloads = payloads.filter(isModuleStateWithMeta) + const statePayloads = filterAs(payloads, asModuleState) expect(statePayloads).toBeArrayOfSize(2) expect(statePayloads.at(-1)).toBeObject() const statePayload = assertEx(statePayloads.at(-1)) @@ -172,7 +173,7 @@ describe.skip('TemporalIndexingDiviner', () => { // NOTE: We're not signing indexes for performance reasons it.skip('has expected bound witnesses', async () => { const payloads = await indexArchivist.all() - const indexBoundWitnesses = payloads.filter(isBoundWitnessWithMeta) + const indexBoundWitnesses = filterAs(payloads, asBoundWitness) expect(indexBoundWitnesses).toBeArrayOfSize(1) const indexBoundWitness = indexBoundWitnesses[0] expect(indexBoundWitness).toBeObject() @@ -201,7 +202,7 @@ describe.skip('TemporalIndexingDiviner', () => { it('returns the most recent result', async () => { const query: Query = { schema, url } const results = await sut.divine([query]) - const result = results.find(isTemporalIndexingDivinerResultIndexWithMeta) + const result = results.find(isTemporalIndexingDivinerResultIndex) expect(result).toBeDefined() const expected = await PayloadBuilder.dataHash(thumbnailCodeFail) expect(result?.sources).toContain(expected) @@ -216,7 +217,7 @@ describe.skip('TemporalIndexingDiviner', () => { schema, status, url, } const results = await sut.divine([query]) - const result = results.find(isTemporalIndexingDivinerResultIndexWithMeta) + const result = results.find(isTemporalIndexingDivinerResultIndex) expect(result).toBeDefined() const expected = await PayloadBuilder.dataHash(payload) expect(result?.sources).toContain(expected) @@ -230,7 +231,7 @@ describe.skip('TemporalIndexingDiviner', () => { schema, success, url, } const results = await sut.divine([query]) - const result = results.find(isTemporalIndexingDivinerResultIndexWithMeta) + const result = results.find(isTemporalIndexingDivinerResultIndex) expect(result).toBeDefined() const expected = await PayloadBuilder.dataHash(payload) expect(result?.sources).toContain(expected) @@ -244,7 +245,7 @@ describe.skip('TemporalIndexingDiviner', () => { schema, success, url, } const results = await sut.divine([query]) - const result = results.find(isTemporalIndexingDivinerResultIndexWithMeta) + const result = results.find(isTemporalIndexingDivinerResultIndex) expect(result).toBeDefined() const expected = await PayloadBuilder.dataHash(payload) expect(result?.sources).toContain(expected) diff --git a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/spec/tsconfig.json b/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/model/.npmignore b/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/model/.npmignore +++ b/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/model/package.json b/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/model/package.json index cbbb6f7b7d..e2212f5a39 100644 --- a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/model/package.json +++ b/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-temporal-indexing-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,7 +29,7 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/hex": "^4.4.10", + "@xylabs/hex": "^4.4.25", "@xyo-network/diviner-boundwitness-model": "workspace:^", "@xyo-network/diviner-indexing-model": "workspace:^", "@xyo-network/diviner-jsonpath-model": "workspace:^", @@ -38,11 +38,12 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/model/src/ResultIndex/Payload.ts b/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/model/src/ResultIndex/Payload.ts index 67df41af10..aa452456ff 100644 --- a/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/model/src/ResultIndex/Payload.ts +++ b/packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/model/src/ResultIndex/Payload.ts @@ -1,5 +1,5 @@ import type { Hash } from '@xylabs/hex' -import type { Payload, WithMeta } from '@xyo-network/payload-model' +import type { Payload } from '@xyo-network/payload-model' import { isPayloadOfSchemaType } from '@xyo-network/payload-model' import { TemporalIndexingDivinerResultIndexSchema } from './Schema.ts' @@ -15,7 +15,3 @@ export type TemporalIndexingDivinerResultIndex = Payload< export const isTemporalIndexingDivinerResultIndex = isPayloadOfSchemaType( TemporalIndexingDivinerResultIndexSchema, ) - -export const isTemporalIndexingDivinerResultIndexWithMeta = isPayloadOfSchemaType>( - TemporalIndexingDivinerResultIndexSchema, -) diff --git a/packages/modules/packages/diviner/packages/jsonpatch/.npmignore b/packages/modules/packages/diviner/packages/jsonpatch/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/jsonpatch/.npmignore +++ b/packages/modules/packages/diviner/packages/jsonpatch/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/jsonpatch/package.json b/packages/modules/packages/diviner/packages/jsonpatch/package.json index ebcf05d5c2..24f13bd5d7 100644 --- a/packages/modules/packages/diviner/packages/jsonpatch/package.json +++ b/packages/modules/packages/diviner/packages/jsonpatch/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-jsonpatch", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -33,11 +33,12 @@ "@xyo-network/diviner-jsonpatch-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/jsonpatch/packages/memory/.npmignore b/packages/modules/packages/diviner/packages/jsonpatch/packages/memory/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/jsonpatch/packages/memory/.npmignore +++ b/packages/modules/packages/diviner/packages/jsonpatch/packages/memory/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/jsonpatch/packages/memory/package.json b/packages/modules/packages/diviner/packages/jsonpatch/packages/memory/package.json index 2f2f7acae1..616e7cf326 100644 --- a/packages/modules/packages/diviner/packages/jsonpatch/packages/memory/package.json +++ b/packages/modules/packages/diviner/packages/jsonpatch/packages/memory/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-jsonpatch-memory", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,8 +29,8 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/exists": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/exists": "^4.4.25", "@xyo-network/diviner-abstract": "workspace:^", "@xyo-network/diviner-jsonpatch-model": "workspace:^", "@xyo-network/diviner-model": "workspace:^", @@ -38,14 +38,15 @@ "fast-json-patch": "^3.1.1" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/account": "workspace:^", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/jsonpatch/packages/memory/src/Diviner.ts b/packages/modules/packages/diviner/packages/jsonpatch/packages/memory/src/Diviner.ts index be1a6f03c1..4e877bf403 100644 --- a/packages/modules/packages/diviner/packages/jsonpatch/packages/memory/src/Diviner.ts +++ b/packages/modules/packages/diviner/packages/jsonpatch/packages/memory/src/Diviner.ts @@ -33,7 +33,8 @@ export class JsonPatchDiviner< try { const result = FJP.applyPatch(payload, this.operations, false, false) return result[0].newDocument as unknown as TOut - } catch { + } catch (error) { + this.logger?.error('JsonPatchDiviner: failed to apply patch', error) return } }) diff --git a/packages/modules/packages/diviner/packages/jsonpatch/packages/memory/src/spec/tsconfig.json b/packages/modules/packages/diviner/packages/jsonpatch/packages/memory/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/diviner/packages/jsonpatch/packages/memory/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/diviner/packages/jsonpatch/packages/model/.npmignore b/packages/modules/packages/diviner/packages/jsonpatch/packages/model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/jsonpatch/packages/model/.npmignore +++ b/packages/modules/packages/diviner/packages/jsonpatch/packages/model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/jsonpatch/packages/model/package.json b/packages/modules/packages/diviner/packages/jsonpatch/packages/model/package.json index e8ce346eb6..8aa25b46c3 100644 --- a/packages/modules/packages/diviner/packages/jsonpatch/packages/model/package.json +++ b/packages/modules/packages/diviner/packages/jsonpatch/packages/model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-jsonpatch-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -34,11 +34,12 @@ "fast-json-patch": "^3.1.1" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/jsonpath/.npmignore b/packages/modules/packages/diviner/packages/jsonpath/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/jsonpath/.npmignore +++ b/packages/modules/packages/diviner/packages/jsonpath/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/jsonpath/package.json b/packages/modules/packages/diviner/packages/jsonpath/package.json index 1fadd80d56..713ee63f1f 100644 --- a/packages/modules/packages/diviner/packages/jsonpath/package.json +++ b/packages/modules/packages/diviner/packages/jsonpath/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-jsonpath", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -33,11 +33,12 @@ "@xyo-network/diviner-jsonpath-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/.npmignore b/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/.npmignore +++ b/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/package.json b/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/package.json index de55c4f805..55a27f3ff7 100644 --- a/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/package.json +++ b/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-jsonpath-aggregate", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -33,11 +33,12 @@ "@xyo-network/diviner-jsonpath-aggregate-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/memory/.npmignore b/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/memory/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/memory/.npmignore +++ b/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/memory/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/memory/package.json b/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/memory/package.json index 9cd5c546af..68981e84eb 100644 --- a/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/memory/package.json +++ b/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/memory/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-jsonpath-aggregate-memory", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,8 +29,8 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/exists": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/exists": "^4.4.25", "@xyo-network/boundwitness-model": "workspace:^", "@xyo-network/diviner-abstract": "workspace:^", "@xyo-network/diviner-jsonpath-aggregate-model": "workspace:^", @@ -41,9 +41,9 @@ "@xyo-network/payload-utils": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/account": "workspace:^", "@xyo-network/account-model": "workspace:^", "@xyo-network/boundwitness-builder": "workspace:^", @@ -53,5 +53,6 @@ }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/memory/src/Diviner.ts b/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/memory/src/Diviner.ts index ccf3e988d1..d545e7b76c 100644 --- a/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/memory/src/Diviner.ts +++ b/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/memory/src/Diviner.ts @@ -9,9 +9,8 @@ import type { } from '@xyo-network/diviner-jsonpath-aggregate-model' import { JsonPathAggregateDivinerConfigSchema } from '@xyo-network/diviner-jsonpath-aggregate-model' import type { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model' -import type { - Payload, Schema, WithOptionalMeta, -} from '@xyo-network/payload-model' +import { PayloadBuilder } from '@xyo-network/payload-builder' +import type { Payload, Schema } from '@xyo-network/payload-model' import { PayloadSchema } from '@xyo-network/payload-model' import { combinationsByBoundwitness, combinationsBySchema } from '@xyo-network/payload-utils' @@ -70,10 +69,8 @@ export class JsonPathAggregateDiviner< protected override async divineHandler(payloads?: TIn[]): Promise { if (!payloads) return [] const strippedPayloads = payloads.map((payload) => { - const p = { ...payload } as WithOptionalMeta - delete p.$hash - delete p.$meta - return p as TIn + const p = { ...payload } as TIn + return PayloadBuilder.omitMeta(p as TIn) }) const combinations = this.transformableSchemas.includes(BoundWitnessSchema) diff --git a/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/memory/src/jsonpath/reducePayloads.ts b/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/memory/src/jsonpath/reducePayloads.ts index aaf8e75366..75e60f2138 100644 --- a/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/memory/src/jsonpath/reducePayloads.ts +++ b/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/memory/src/jsonpath/reducePayloads.ts @@ -1,8 +1,7 @@ import { exists } from '@xylabs/exists' import type { SchemaToPayloadTransformersDictionary } from '@xyo-network/diviner-jsonpath-aggregate-model' -import type { WithoutSchema } from '@xyo-network/payload-builder' import { PayloadBuilder } from '@xyo-network/payload-builder' -import type { Payload, WithMeta } from '@xyo-network/payload-model' +import type { Payload, WithoutSchema } from '@xyo-network/payload-model' /** * Reduces the payloads to a single payload using the supplied transformers @@ -17,7 +16,7 @@ export const reducePayloads = async ( payloadTransformers: SchemaToPayloadTransformersDictionary, destinationSchema: string, excludeSources = false, -): Promise> => { +): Promise => { // Use the payload transformers to convert the fields from the source payloads to the destination fields const payloadFields = payloads.filter(exists).flatMap[]>((payload) => { // Find the transformers for this payload diff --git a/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/memory/src/jsonpath/spec/reducePayloads.spec.ts b/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/memory/src/jsonpath/spec/reducePayloads.spec.ts index 9340f493db..ed76eaf9ff 100644 --- a/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/memory/src/jsonpath/spec/reducePayloads.spec.ts +++ b/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/memory/src/jsonpath/spec/reducePayloads.spec.ts @@ -3,7 +3,6 @@ import '@xylabs/vitest-extended' import type { SchemaToJsonPathTransformExpressionsDictionary } from '@xyo-network/diviner-jsonpath-model' import { PayloadBuilder } from '@xyo-network/payload-builder' import type { Payload } from '@xyo-network/payload-model' -import { unMeta } from '@xyo-network/payload-model' import { describe, expect, it, } from 'vitest' @@ -88,8 +87,8 @@ describe('transformPayloads', () => { const withSources = await reducePayloads(inputs, transforms, destinationSchema, false) const withoutSources = await reducePayloads(inputs, transforms, destinationSchema, true) // With sources - expect(unMeta(withSources)).toEqual(unMeta(await PayloadBuilder.build({ sources, ...output }))) + expect(withSources).toEqual({ sources, ...output }) // Without sources - expect(unMeta(withoutSources)).toEqual(unMeta(await PayloadBuilder.build({ ...output }))) + expect(withoutSources).toEqual({ ...output }) }) }) diff --git a/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/memory/src/jsonpath/spec/tsconfig.json b/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/memory/src/jsonpath/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/memory/src/jsonpath/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/memory/src/spec/tsconfig.json b/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/memory/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/memory/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/model/.npmignore b/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/model/.npmignore +++ b/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/model/package.json b/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/model/package.json index 2ebffc7a2c..658e93bbea 100644 --- a/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/model/package.json +++ b/packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-jsonpath-aggregate-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,17 +29,18 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/object": "^4.4.10", + "@xylabs/object": "^4.4.25", "@xyo-network/diviner-model": "workspace:^", "@xyo-network/module-model": "workspace:^", "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/jsonpath/packages/memory/.npmignore b/packages/modules/packages/diviner/packages/jsonpath/packages/memory/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/jsonpath/packages/memory/.npmignore +++ b/packages/modules/packages/diviner/packages/jsonpath/packages/memory/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/jsonpath/packages/memory/package.json b/packages/modules/packages/diviner/packages/jsonpath/packages/memory/package.json index a4b8cc4d01..f6abd4f824 100644 --- a/packages/modules/packages/diviner/packages/jsonpath/packages/memory/package.json +++ b/packages/modules/packages/diviner/packages/jsonpath/packages/memory/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-jsonpath-memory", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,7 +29,7 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", + "@xylabs/assert": "^4.4.25", "@xyo-network/diviner-abstract": "workspace:^", "@xyo-network/diviner-jsonpath-model": "workspace:^", "@xyo-network/diviner-model": "workspace:^", @@ -39,9 +39,9 @@ }, "devDependencies": { "@types/jsonpath": "^0.2.4", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/account": "workspace:^", "@xyo-network/wallet-model": "workspace:^", "typescript": "^5.7.2", @@ -49,5 +49,6 @@ }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/jsonpath/packages/memory/src/Diviner.ts b/packages/modules/packages/diviner/packages/jsonpath/packages/memory/src/Diviner.ts index 45159caa54..a7f2d1d079 100644 --- a/packages/modules/packages/diviner/packages/jsonpath/packages/memory/src/Diviner.ts +++ b/packages/modules/packages/diviner/packages/jsonpath/packages/memory/src/Diviner.ts @@ -3,9 +3,10 @@ import { AbstractDiviner } from '@xyo-network/diviner-abstract' import type { JsonPathDivinerParams, PayloadTransformer } from '@xyo-network/diviner-jsonpath-model' import { JsonPathDivinerConfigSchema } from '@xyo-network/diviner-jsonpath-model' import type { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model' -import type { WithoutSchema } from '@xyo-network/payload-builder' import { PayloadBuilder } from '@xyo-network/payload-builder' -import type { Payload, Schema } from '@xyo-network/payload-model' +import type { + Payload, Schema, WithoutSchema, +} from '@xyo-network/payload-model' import { PayloadSchema } from '@xyo-network/payload-model' import { toPayloadTransformer } from './jsonpath/index.ts' diff --git a/packages/modules/packages/diviner/packages/jsonpath/packages/memory/src/jsonpath/spec/tsconfig.json b/packages/modules/packages/diviner/packages/jsonpath/packages/memory/src/jsonpath/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/diviner/packages/jsonpath/packages/memory/src/jsonpath/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/diviner/packages/jsonpath/packages/memory/src/spec/Diviner.spec.ts b/packages/modules/packages/diviner/packages/jsonpath/packages/memory/src/spec/Diviner.spec.ts index b7e83b0685..33ff045199 100644 --- a/packages/modules/packages/diviner/packages/jsonpath/packages/memory/src/spec/Diviner.spec.ts +++ b/packages/modules/packages/diviner/packages/jsonpath/packages/memory/src/spec/Diviner.spec.ts @@ -118,23 +118,23 @@ describe('JsonPathDiviner', () => { }) it.each(cases)('%s', async (_title, inputs, transforms, outputs) => { const destinationSchema = outputs?.[0]?.schema - const config = await PayloadBuilder.build({ + const config = { destinationSchema, schema: JsonPathDivinerConfigSchema, transforms, - }) + } const sut = await JsonPathDiviner.create({ account: wallet, config }) // Arrange const expected = await Promise.all( outputs.map(async (output, index) => { - return await PayloadBuilder.build({ sources: [(await PayloadBuilder.build(inputs[index])).$hash], ...output }) + return { sources: [(await PayloadBuilder.dataHash(inputs[index]))], ...output } }), ) // Act - const actual = await sut.divine(await Promise.all(inputs.map(input => PayloadBuilder.build(input)))) + const actual = await sut.divine(inputs) // Assert - expect(PayloadBuilder.withoutMeta(actual)).toEqual(PayloadBuilder.withoutMeta(expected)) + expect(actual.map(i => PayloadBuilder.omitMeta(i))).toEqual(expected.map(i => PayloadBuilder.omitMeta(i))) }) }) diff --git a/packages/modules/packages/diviner/packages/jsonpath/packages/memory/src/spec/tsconfig.json b/packages/modules/packages/diviner/packages/jsonpath/packages/memory/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/diviner/packages/jsonpath/packages/memory/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/diviner/packages/jsonpath/packages/model/.npmignore b/packages/modules/packages/diviner/packages/jsonpath/packages/model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/jsonpath/packages/model/.npmignore +++ b/packages/modules/packages/diviner/packages/jsonpath/packages/model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/jsonpath/packages/model/package.json b/packages/modules/packages/diviner/packages/jsonpath/packages/model/package.json index d7d9aed658..118e67c4e4 100644 --- a/packages/modules/packages/diviner/packages/jsonpath/packages/model/package.json +++ b/packages/modules/packages/diviner/packages/jsonpath/packages/model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-jsonpath-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,17 +29,18 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/object": "^4.4.10", + "@xylabs/object": "^4.4.25", "@xyo-network/diviner-model": "workspace:^", "@xyo-network/module-model": "workspace:^", "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/model/.npmignore b/packages/modules/packages/diviner/packages/model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/model/.npmignore +++ b/packages/modules/packages/diviner/packages/model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/model/package.json b/packages/modules/packages/diviner/packages/model/package.json index 6b8e0957a0..0ddbcd4c92 100644 --- a/packages/modules/packages/diviner/packages/model/package.json +++ b/packages/modules/packages/diviner/packages/model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,21 +29,22 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/hex": "^4.4.10", - "@xylabs/object": "^4.4.10", - "@xylabs/retry": "^4.4.10", - "@xylabs/typeof": "^4.4.10", + "@xylabs/hex": "^4.4.25", + "@xylabs/object": "^4.4.25", + "@xylabs/retry": "^4.4.25", + "@xylabs/typeof": "^4.4.25", "@xyo-network/account-model": "workspace:^", "@xyo-network/module-events": "workspace:^", "@xyo-network/module-model": "workspace:^", "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/model/src/DivinerQueryFunctions.ts b/packages/modules/packages/diviner/packages/model/src/DivinerQueryFunctions.ts index cbdfb8d73d..a01def80ab 100644 --- a/packages/modules/packages/diviner/packages/model/src/DivinerQueryFunctions.ts +++ b/packages/modules/packages/diviner/packages/model/src/DivinerQueryFunctions.ts @@ -2,10 +2,12 @@ import type { RetryConfig } from '@xylabs/retry' import type { AccountInstance } from '@xyo-network/account-model' import type { ModuleQueryResult } from '@xyo-network/module-model' import type { - Payload, WithMeta, WithSources, + Payload, WithOptionalSources, WithoutPrivateStorageMeta, } from '@xyo-network/payload-model' +export type DivinerDivineResult = WithoutPrivateStorageMeta> + export interface DivinerQueryFunctions { - divine: (payloads?: TIn[], retry?: RetryConfig) => Promise>[]> + divine: (payloads?: TIn[], retry?: RetryConfig) => Promise[]> divineQuery: (payloads?: TIn[], account?: AccountInstance, retry?: RetryConfig) => Promise> } diff --git a/packages/modules/packages/diviner/packages/models/.npmignore b/packages/modules/packages/diviner/packages/models/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/models/.npmignore +++ b/packages/modules/packages/diviner/packages/models/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/models/package.json b/packages/modules/packages/diviner/packages/models/package.json index 9f30701b21..caff17211d 100644 --- a/packages/modules/packages/diviner/packages/models/package.json +++ b/packages/modules/packages/diviner/packages/models/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-models", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -42,11 +42,12 @@ "@xyo-network/diviner-schema-stats-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/payload/.npmignore b/packages/modules/packages/diviner/packages/payload/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/payload/.npmignore +++ b/packages/modules/packages/diviner/packages/payload/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/payload/package.json b/packages/modules/packages/diviner/packages/payload/package.json index 0055deeb79..a0770a653b 100644 --- a/packages/modules/packages/diviner/packages/payload/package.json +++ b/packages/modules/packages/diviner/packages/payload/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-payload", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -35,11 +35,12 @@ "@xyo-network/diviner-payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/payload/packages/abstract/.npmignore b/packages/modules/packages/diviner/packages/payload/packages/abstract/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/payload/packages/abstract/.npmignore +++ b/packages/modules/packages/diviner/packages/payload/packages/abstract/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/payload/packages/abstract/package.json b/packages/modules/packages/diviner/packages/payload/packages/abstract/package.json index ef946c6a12..7934957f0f 100644 --- a/packages/modules/packages/diviner/packages/payload/packages/abstract/package.json +++ b/packages/modules/packages/diviner/packages/payload/packages/abstract/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-payload-abstract", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -35,11 +35,12 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/payload/packages/generic/.npmignore b/packages/modules/packages/diviner/packages/payload/packages/generic/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/payload/packages/generic/.npmignore +++ b/packages/modules/packages/diviner/packages/payload/packages/generic/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/payload/packages/generic/package.json b/packages/modules/packages/diviner/packages/payload/packages/generic/package.json index 93e1e3032d..e40b5744ed 100644 --- a/packages/modules/packages/diviner/packages/payload/packages/generic/package.json +++ b/packages/modules/packages/diviner/packages/payload/packages/generic/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-payload-generic", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,10 +29,10 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/forget": "^4.4.10", - "@xylabs/hex": "^4.4.10", - "@xylabs/object": "^4.4.10", + "@xylabs/array": "^4.4.25", + "@xylabs/assert": "^4.4.25", + "@xylabs/forget": "^4.4.25", + "@xylabs/hex": "^4.4.25", "@xyo-network/archivist-model": "workspace:^", "@xyo-network/diviner-model": "workspace:^", "@xyo-network/diviner-payload-abstract": "workspace:^", @@ -43,9 +43,10 @@ "async-mutex": "^0.5.0" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/delay": "^4.4.25", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/archivist-indexeddb": "workspace:^", "@xyo-network/archivist-memory": "workspace:^", "@xyo-network/node-memory": "workspace:^", @@ -56,5 +57,6 @@ }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/payload/packages/generic/src/Diviner.ts b/packages/modules/packages/diviner/packages/payload/packages/generic/src/Diviner.ts index 2718153eb3..9de3f36acc 100644 --- a/packages/modules/packages/diviner/packages/payload/packages/generic/src/Diviner.ts +++ b/packages/modules/packages/diviner/packages/payload/packages/generic/src/Diviner.ts @@ -1,21 +1,22 @@ +import { filterAs } from '@xylabs/array' import { assertEx } from '@xylabs/assert' import { forget } from '@xylabs/forget' -import type { Hash } from '@xylabs/hex' -import type { EmptyObject, JsonObject } from '@xylabs/object' +import { type Hex } from '@xylabs/hex' import type { ArchivistInstance, ArchivistModuleEventData } from '@xyo-network/archivist-model' import type { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model' import { PayloadDiviner } from '@xyo-network/diviner-payload-abstract' -import type { - Order, - PayloadDivinerConfig, - PayloadDivinerParams, - PayloadDivinerQueryPayload, +import { + asPayloadDivinerQueryPayload, + type Order, + type PayloadDivinerConfig, + type PayloadDivinerParams, + type PayloadDivinerQueryPayload, } from '@xyo-network/diviner-payload-model' -import { isPayloadDivinerQueryPayload } from '@xyo-network/diviner-payload-model' import type { EventListener } from '@xyo-network/module-events' import { PayloadBuilder } from '@xyo-network/payload-builder' -import type { - Payload, Schema, WithMeta, +import { + type Payload, type Schema, + type WithStorageMeta, } from '@xyo-network/payload-model' import { Mutex } from 'async-mutex' @@ -34,8 +35,8 @@ export type GenericPayloadDivinerConfig = PayloadDivinerConfig< export class GenericPayloadDiviner< TParams extends PayloadDivinerParams = PayloadDivinerParams, - TIn extends PayloadDivinerQueryPayload = PayloadDivinerQueryPayload, - TOut extends Payload = Payload, + TIn extends PayloadDivinerQueryPayload = PayloadDivinerQueryPayload, + TOut extends WithStorageMeta = WithStorageMeta, TEventData extends DivinerModuleEventData, TIn, TOut> = DivinerModuleEventData< DivinerInstance, TIn, @@ -45,11 +46,11 @@ export class GenericPayloadDiviner< static override readonly configSchemas: Schema[] = [...super.configSchemas, GenericPayloadDivinerConfigSchema] static override readonly defaultConfigSchema: Schema = GenericPayloadDivinerConfigSchema - protected indexMaps: Record[]> = {} - protected payloadPairs: [WithMeta, Hash][] = [] + protected indexMaps: Record[]> = {} + protected payloadsWithMeta: WithStorageMeta[] = [] private _archivistInstance?: ArchivistInstance - private _indexOffset?: Hash + private _cursor?: Hex private _updatePayloadPairsMutex = new Mutex() protected get indexBatchSize() { @@ -64,20 +65,11 @@ export class GenericPayloadDiviner< return this.config.maxIndexSize ?? DEFAULT_MAX_INDEX_SIZE } - protected all(order: Order = 'desc', offset?: Hash) { - return order === 'asc' ? this.allAsc(offset) : this.allDesc(offset) - } - - protected allAsc(offset?: Hash) { - const pairs = this.payloadPairs - const startIndex = (offset ? (pairs.findIndex(([, hash]) => hash === offset) ?? -1) : -1) + 1 - return pairs.slice(startIndex).map(([payload]) => payload) - } - - protected allDesc(offset?: Hash) { - const pairs = [...this.payloadPairs].reverse() - const startIndex = (offset ? (pairs.findIndex(([, hash]) => hash === offset) ?? -1) : -1) + 1 - return pairs.slice(startIndex).map(([payload]) => payload) + protected all(order: Order = 'desc', cursor?: Hex) { + const payloads = this.payloadsWithMeta.toSorted(PayloadBuilder.compareStorageMeta) + if (order === 'desc') payloads.reverse() + const startIndex = (cursor ? (payloads.findIndex(payload => payload._sequence === cursor) ?? -1) : -1) + 1 + return payloads.slice(startIndex) } protected override async archivistInstance(): Promise @@ -98,26 +90,23 @@ export class GenericPayloadDiviner< protected async clearIndex() { await this._updatePayloadPairsMutex.runExclusive(() => { - this._indexOffset = undefined - this.payloadPairs = [] + this._cursor = undefined + this.payloadsWithMeta = [] this.indexMaps = {} }) } - protected override async divineHandler(payloads?: TIn[]): Promise[]> { - const filters = payloads?.filter(isPayloadDivinerQueryPayload) ?? [] + protected override async divineHandler(payloads?: TIn[]): Promise { + const filters = filterAs(payloads ?? [], asPayloadDivinerQueryPayload) assertEx(filters.length < 2, () => 'Multiple PayloadDivinerQuery payloads may not be specified') - const filter = assertEx(filters.shift(), () => 'No PayloadDivinerQuery specified') as unknown as WithMeta< - PayloadDivinerQueryPayload - > - + const filter = assertEx(filters.shift(), () => 'No PayloadDivinerQuery specified') as PayloadDivinerQueryPayload await this.updateIndex() const { // eslint-disable-next-line @typescript-eslint/no-unused-vars - $hash, $meta, schema, schemas, order, limit, offset, ...props + schema, schemas, order, limit, cursor, ...props } = filter - let all: WithMeta[] = this.all(order, offset) + let all: TOut[] = this.all(order, cursor) if (all) { if (schemas?.length) all = all.filter(payload => schemas.includes(payload.schema)) if (Object.keys(props).length > 0) { @@ -127,11 +116,11 @@ export class GenericPayloadDiviner< all = Array.isArray(filter) ? all.filter(payload => - filter.every((value) => { - const prop = payload?.[property] - // TODO: This seems to be written just to check arrays, and now that $meta is there, need to check type? - return Array.isArray(prop) && prop.includes?.(value) - })) + filter.every((value) => { + const prop = payload?.[property] + // TODO: This seems to be written just to check arrays, and now that $meta is there, need to check type? + return Array.isArray(prop) && prop.includes?.(value) + })) : all.filter(payload => payload?.[property] === filter) } } @@ -176,31 +165,26 @@ export class GenericPayloadDiviner< protected async updateIndex() { await this._updatePayloadPairsMutex.runExclusive(async () => { const archivist = await this.archivistInstance(true) - let newPayloads = (await archivist.next({ limit: 100, offset: this._indexOffset })) as WithMeta[] + let newPayloads = await archivist.next({ limit: 100, cursor: this._cursor }) as TOut[] while (newPayloads.length > 0) { - const prevOffset = this._indexOffset - this._indexOffset = await PayloadBuilder.hash(assertEx(newPayloads.at(-1))) - if (this._indexOffset === prevOffset) { - this.logger.warn('next offset not found', prevOffset) - } - assertEx(this.payloadPairs.length + newPayloads.length <= this.maxIndexSize, () => 'maxIndexSize exceeded') - await this.indexPayloads(newPayloads) - newPayloads = (await archivist.next({ limit: 100, offset: this._indexOffset })) as WithMeta[] + this._cursor = newPayloads.at(-1)?._sequence + assertEx(this.payloadsWithMeta.length + newPayloads.length <= this.maxIndexSize, () => 'maxIndexSize exceeded') + this.indexPayloads(newPayloads) + newPayloads = await archivist.next({ limit: 100, cursor: this._cursor }) as TOut[] } }) } - private async indexPayloads(payloads: TOut[]): Promise { - const pairs = await PayloadBuilder.hashPairs(payloads) - this.payloadPairs.push(...pairs) + private indexPayloads(payloads: WithStorageMeta[]): Hex { + this.payloadsWithMeta.push(...payloads) // update the custom indexes for (const index of this.indexes ?? []) { this.indexMaps[index] = this.indexMaps[index] ?? [] - for (const [payload] of pairs) { - if ((payload as unknown as JsonObject)[index] !== undefined) this.indexMaps[index].push(payload) + for (const payload of payloads) { + this.indexMaps[index].push(payload) } } - return assertEx(pairs.at(-1))[1] + return assertEx(payloads.at(-1), () => 'No payloads to index')._sequence } } diff --git a/packages/modules/packages/diviner/packages/payload/packages/generic/src/spec/Diviner.indexdb.spec.ts b/packages/modules/packages/diviner/packages/payload/packages/generic/src/spec/Diviner.indexdb.spec.ts index eb4083e953..b46186a254 100644 --- a/packages/modules/packages/diviner/packages/payload/packages/generic/src/spec/Diviner.indexdb.spec.ts +++ b/packages/modules/packages/diviner/packages/payload/packages/generic/src/spec/Diviner.indexdb.spec.ts @@ -1,15 +1,12 @@ -/** @jest-environment jsdom */ - import '@xylabs/vitest-extended' -import type { Hash } from '@xylabs/hex' -import type { EmptyObject } from '@xylabs/object' +import { delay } from '@xylabs/delay' import { IndexedDbArchivist } from '@xyo-network/archivist-indexeddb' import type { PayloadDivinerQueryPayload } from '@xyo-network/diviner-payload-model' import { PayloadDivinerQuerySchema } from '@xyo-network/diviner-payload-model' import { MemoryNode } from '@xyo-network/node-memory' import { PayloadBuilder } from '@xyo-network/payload-builder' -import type { PayloadWithMeta } from '@xyo-network/payload-model' +import type { Payload, WithStorageMeta } from '@xyo-network/payload-model' import { IDBCursor, IDBCursorWithValue, @@ -39,10 +36,11 @@ describe('GenericPayloadDiviner', () => { let archivist: IndexedDbArchivist let sut: GenericPayloadDiviner let node: MemoryNode - let payloadA: PayloadWithMeta<{ schema: string; url: string }> - let payloadB: PayloadWithMeta<{ foo: string[]; schema: string }> - let payloadC: PayloadWithMeta<{ foo: string[]; schema: string }> - let payloadD: PayloadWithMeta<{ foo: string[]; schema: string }> + let payloadA: Payload<{ schema: string; url: string }> + let payloadB: Payload<{ foo: string[]; schema: string }> + let payloadC: Payload<{ foo: string[]; schema: string }> + let payloadD: Payload<{ foo: string[]; schema: string }> + let insertedPayloads: WithStorageMeta[] // Augment window with prototypes to ensure instance of comparisons work globalThis.IDBCursor = IDBCursor @@ -59,29 +57,36 @@ describe('GenericPayloadDiviner', () => { globalThis.indexedDB = indexedDB beforeAll(async () => { - payloadA = await PayloadBuilder.build({ + payloadA = { schema: 'network.xyo.test', url: 'https://xyo.network', - }) - payloadB = await PayloadBuilder.build({ + } + payloadB = { foo: ['bar', 'baz'], schema: 'network.xyo.debug', - }) - payloadC = await PayloadBuilder.build({ + } + payloadC = { foo: ['one', 'two'], schema: 'network.xyo.debug', - }) - payloadD = await PayloadBuilder.build({ + } + payloadD = { foo: ['aaa', 'bbb'], schema: 'network.xyo.debug', - }) + } archivist = await IndexedDbArchivist.create({ account: 'random', config: { name: 'test', schema: IndexedDbArchivist.defaultConfigSchema }, }) - await archivist.insert([payloadA, payloadB]) - await archivist.insert([payloadC, payloadD]) + const [insertedPayloadA] = await archivist.insert([payloadA]) + await delay(1) + const [insertedPayloadB] = await archivist.insert([payloadB]) + await delay(1) + const [insertedPayloadC] = await archivist.insert([payloadC]) + await delay(1) + const [insertedPayloadD] = await archivist.insert([payloadD]) + await delay(1) + insertedPayloads = [insertedPayloadA, insertedPayloadB, insertedPayloadC, insertedPayloadD] const all = await archivist.all() console.log(all) sut = await GenericPayloadDiviner.create({ @@ -110,7 +115,7 @@ describe('GenericPayloadDiviner', () => { describe('single', () => { it.each(['network.xyo.test', 'network.xyo.debug'])('only returns payloads of that schema', async (schema) => { const schemas = [schema] - const query = await new PayloadBuilder>({ schema: PayloadDivinerQuerySchema }) + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) .fields({ schemas }) .build() const results = await sut.divine([query]) @@ -119,43 +124,43 @@ describe('GenericPayloadDiviner', () => { }) it('only return single payload of that schema', async () => { const schemas = ['network.xyo.debug'] - const query = await new PayloadBuilder>({ schema: PayloadDivinerQuerySchema }) + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) .fields({ limit: 1, schemas }) .build() const results = await sut.divine([query]) expect(results.length).toBe(1) - expect(results[0].$hash).toBe(payloadD.$hash) + expect(await PayloadBuilder.dataHash(results[0])).toBe(await PayloadBuilder.dataHash(payloadD)) expect(results.every(result => result.schema === 'network.xyo.debug')).toBe(true) }) it('only return single payload of that schema (desc)', async () => { const schemas = ['network.xyo.debug'] - const query = await new PayloadBuilder>({ schema: PayloadDivinerQuerySchema }) + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) .fields({ limit: 1, order: 'desc', schemas, }) .build() const results = await sut.divine([query]) expect(results.length).toBe(1) - expect(results[0].$hash).toBe(payloadD.$hash) + expect(await PayloadBuilder.dataHash(results[0])).toBe(await PayloadBuilder.dataHash(payloadD)) expect(results.every(result => result.schema === 'network.xyo.debug')).toBe(true) }) it('only return single payload of that schema (asc)', async () => { const schemas = ['network.xyo.debug'] - const query = await new PayloadBuilder>({ schema: PayloadDivinerQuerySchema }) + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) .fields({ limit: 1, order: 'asc', schemas, }) .build() const results = await sut.divine([query]) expect(results.length).toBe(1) - expect(results[0].$hash).toBe(payloadB.$hash) + expect(await PayloadBuilder.dataHash(results[0])).toBe(await PayloadBuilder.dataHash(payloadB)) expect(results.every(result => result.schema === 'network.xyo.debug')).toBe(true) }) }) describe('multiple', () => { it('only returns payloads of that schema', async () => { const schemas = ['network.xyo.test', 'network.xyo.debug'] - const query = await new PayloadBuilder>({ schema: PayloadDivinerQuerySchema }) + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) .fields({ schemas }) .build() const results = await sut.divine([query]) @@ -166,33 +171,34 @@ describe('GenericPayloadDiviner', () => { describe('paging', () => { it('test paging with multiple calls (asc)', async () => { const schemas = ['network.xyo.test', 'network.xyo.debug'] - const query = await new PayloadBuilder>({ schema: PayloadDivinerQuerySchema }) + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) .fields({ limit: 2, order: 'asc', schemas, }) .build() const results = await sut.divine([query]) - const resultHashes = await PayloadBuilder.hashes(results) + const resultSequences = results.map(result => result._sequence) + expect(PayloadBuilder.omitStorageMeta(results)).toStrictEqual([payloadA, payloadB]) expect(results.length).toBe(2) - expect(resultHashes[0]).toBe(await PayloadBuilder.hash(payloadA)) - expect(resultHashes[1]).toBe(await PayloadBuilder.hash(payloadB)) + expect(resultSequences[0]).toBe(insertedPayloads[0]._sequence) + expect(resultSequences[1]).toBe(insertedPayloads[1]._sequence) - const offset = resultHashes[1] - const query2 = await new PayloadBuilder>({ schema: PayloadDivinerQuerySchema }) + const cursor = resultSequences[1] + const query2 = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) .fields({ - limit: 2, offset, order: 'asc', schemas, + limit: 2, cursor, order: 'asc', schemas, }) .build() const results2 = await sut.divine([query2]) - const resultHashes2 = await PayloadBuilder.hashes(results2) + const resultSequences2 = results2.map(result => result._sequence) expect(results2.length).toBe(2) - expect(resultHashes2[0]).toBe(await PayloadBuilder.hash(payloadC)) - expect(resultHashes2[1]).toBe(await PayloadBuilder.hash(payloadD)) - const offset2 = resultHashes2[1] + expect(resultSequences2[0]).toBe(insertedPayloads[2]._sequence) + expect(resultSequences2[1]).toBe(insertedPayloads[3]._sequence) + const cursor2 = resultSequences2[1] - const query3 = await new PayloadBuilder>({ schema: PayloadDivinerQuerySchema }) + const query3 = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) .fields({ - limit: 2, offset: offset2, order: 'asc', schemas, + limit: 2, cursor: cursor2, order: 'asc', schemas, }) .build() const results3 = await sut.divine([query3]) @@ -200,33 +206,33 @@ describe('GenericPayloadDiviner', () => { }) it('test paging with multiple calls (desc)', async () => { const schemas = ['network.xyo.test', 'network.xyo.debug'] - const query = await new PayloadBuilder>({ schema: PayloadDivinerQuerySchema }) + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) .fields({ limit: 2, order: 'desc', schemas, }) .build() const results = await sut.divine([query]) - const resultHashes = await PayloadBuilder.hashes(results) + const resultSequences = results.map(result => result._sequence) expect(results.length).toBe(2) - expect(resultHashes[0]).toBe(await PayloadBuilder.hash(payloadD)) - expect(resultHashes[1]).toBe(await PayloadBuilder.hash(payloadC)) + expect(resultSequences[0]).toBe(insertedPayloads[3]._sequence) + expect(resultSequences[1]).toBe(insertedPayloads[2]._sequence) - const offset = resultHashes[1] - const query2 = await new PayloadBuilder>({ schema: PayloadDivinerQuerySchema }) + const cursor = resultSequences[1] + const query2 = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) .fields({ - limit: 2, offset, order: 'desc', schemas, + limit: 2, cursor, order: 'desc', schemas, }) .build() const results2 = await sut.divine([query2]) - const resultHashes2 = await PayloadBuilder.hashes(results2) + const resultSequences2 = results2.map(result => result._sequence) expect(results2.length).toBe(2) - expect(resultHashes2[0]).toBe(await PayloadBuilder.hash(payloadB)) - expect(resultHashes2[1]).toBe(await PayloadBuilder.hash(payloadA)) - const offset2 = resultHashes2[1] + expect(resultSequences2[0]).toBe(insertedPayloads[1]._sequence) + expect(resultSequences2[1]).toBe(insertedPayloads[0]._sequence) + const cursor2 = resultSequences2[1] - const query3 = await new PayloadBuilder>({ schema: PayloadDivinerQuerySchema }) + const query3 = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) .fields({ - limit: 2, offset: offset2, order: 'desc', schemas, + limit: 2, cursor: cursor2, order: 'desc', schemas, }) .build() const results3 = await sut.divine([query3]) @@ -239,7 +245,7 @@ describe('GenericPayloadDiviner', () => { it('only returns payloads with that property', async () => { type WithUrl = { url?: string } const url = payloadA.url - const query = await new PayloadBuilder & WithUrl>({ schema: PayloadDivinerQuerySchema }) + const query = new PayloadBuilder>({ schema: PayloadDivinerQuerySchema }) .fields({ url }) .build() const results = await sut.divine([query]) @@ -251,7 +257,7 @@ describe('GenericPayloadDiviner', () => { const cases: string[][] = [['bar'], ['baz'], ['bar', 'baz']] it.each(cases)('only returns payloads that have an array containing all the values supplied', async (...foo) => { type WithFoo = { foo?: string[] } - const query = await new PayloadBuilder & WithFoo>({ schema: PayloadDivinerQuerySchema }) + const query = new PayloadBuilder>({ schema: PayloadDivinerQuerySchema }) .fields({ foo }) .build() const results = await sut.divine([query]) diff --git a/packages/modules/packages/diviner/packages/payload/packages/generic/src/spec/Diviner.spec.ts b/packages/modules/packages/diviner/packages/payload/packages/generic/src/spec/Diviner.spec.ts index 5c6bbb704d..778f06ed01 100644 --- a/packages/modules/packages/diviner/packages/payload/packages/generic/src/spec/Diviner.spec.ts +++ b/packages/modules/packages/diviner/packages/payload/packages/generic/src/spec/Diviner.spec.ts @@ -1,17 +1,16 @@ /* eslint-disable max-nested-callbacks */ + import '@xylabs/vitest-extended' -import type { Hash } from '@xylabs/hex' -import type { EmptyObject } from '@xylabs/object' +import { delay } from '@xylabs/delay' import { MemoryArchivist } from '@xyo-network/archivist-memory' import type { PayloadDivinerQueryPayload } from '@xyo-network/diviner-payload-model' import { PayloadDivinerQuerySchema } from '@xyo-network/diviner-payload-model' import { MemoryNode } from '@xyo-network/node-memory' import { PayloadBuilder } from '@xyo-network/payload-builder' -import type { PayloadWithMeta } from '@xyo-network/payload-model' +import type { Payload, WithStorageMeta } from '@xyo-network/payload-model' import { - beforeAll, - describe, expect, it, + beforeAll, describe, expect, it, } from 'vitest' import { GenericPayloadDiviner, GenericPayloadDivinerConfigSchema } from '../Diviner.ts' @@ -25,36 +24,33 @@ describe('GenericPayloadDiviner', () => { let archivist: MemoryArchivist let sut: GenericPayloadDiviner let node: MemoryNode - let payloadA: PayloadWithMeta<{ schema: string; url: string }> - let payloadB: PayloadWithMeta<{ foo: string[]; schema: string }> - let payloadC: PayloadWithMeta<{ foo: string[]; schema: string }> - let payloadD: PayloadWithMeta<{ foo: string[]; schema: string }> + const payloadA: Payload<{ schema: string; url: string }> = { + schema: 'network.xyo.test', + url: 'https://xyo.network', + } + const payloadB: Payload<{ foo: string[]; schema: string }> = { + foo: ['bar', 'baz'], + schema: 'network.xyo.debug', + } + const payloadC: Payload<{ foo: string[]; schema: string }> = { + foo: ['one', 'two'], + schema: 'network.xyo.debug', + } + const payloadD: Payload<{ foo: string[]; schema: string }> = { + foo: ['aaa', 'bbb'], + schema: 'network.xyo.debug', + } + let insertedPayloads: WithStorageMeta[] = [] beforeAll(async () => { - payloadA = await PayloadBuilder.build({ - schema: 'network.xyo.test', - url: 'https://xyo.network', - }) - payloadB = await PayloadBuilder.build({ - foo: ['bar', 'baz'], - schema: 'network.xyo.debug', - }) - payloadC = await PayloadBuilder.build({ - foo: ['one', 'two'], - schema: 'network.xyo.debug', - }) - payloadD = await PayloadBuilder.build({ - foo: ['aaa', 'bbb'], - schema: 'network.xyo.debug', - }) - archivist = await MemoryArchivist.create({ account: 'random', config: { name: 'test', schema: MemoryArchivist.defaultConfigSchema }, }) - await archivist.insert([payloadA, payloadB]) - await archivist.insert([payloadC, payloadD]) - // const all = await archivist.all() - // console.log(all) + for (const payload of [payloadA, payloadB, payloadC, payloadD]) { + await delay(2) + const [insertedPayload] = await archivist.insert([payload]) + insertedPayloads.push(insertedPayload) + } sut = await GenericPayloadDiviner.create({ account: 'random', config: { @@ -81,52 +77,52 @@ describe('GenericPayloadDiviner', () => { describe('single', () => { it.each(['network.xyo.test', 'network.xyo.debug'])('only returns payloads of that schema', async (schema) => { const schemas = [schema] - const query = await new PayloadBuilder>({ schema: PayloadDivinerQuerySchema }) - .fields({ schemas }) - .build() + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }).fields({ schemas }).build() const results = await sut.divine([query]) expect(results.length).toBeGreaterThan(0) expect(results.every(result => result.schema === schema)).toBe(true) }) it('only return single payload of that schema', async () => { const schemas = ['network.xyo.debug'] - const query = await new PayloadBuilder>({ schema: PayloadDivinerQuerySchema }) + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) .fields({ limit: 1, schemas }) .build() const results = await sut.divine([query]) expect(results.length).toBe(1) - expect(results[0].$hash).toBe(payloadD.$hash) + expect(await PayloadBuilder.dataHash(results[0])).toBe(await PayloadBuilder.dataHash(insertedPayloads[3])) expect(results.every(result => result.schema === 'network.xyo.debug')).toBe(true) }) it('only return single payload of that schema (desc)', async () => { const schemas = ['network.xyo.debug'] - const query = await new PayloadBuilder>({ schema: PayloadDivinerQuerySchema }) + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) .fields({ limit: 1, order: 'desc', schemas, }) .build() const results = await sut.divine([query]) expect(results.length).toBe(1) - expect(results[0].$hash).toBe(payloadD.$hash) + expect(PayloadBuilder.omitStorageMeta(results[0])).toStrictEqual(payloadD) + expect(await PayloadBuilder.dataHash(results[0])).toBe(await PayloadBuilder.dataHash(insertedPayloads[3])) expect(results.every(result => result.schema === 'network.xyo.debug')).toBe(true) }) it('only return single payload of that schema (asc)', async () => { const schemas = ['network.xyo.debug'] - const query = await new PayloadBuilder>({ schema: PayloadDivinerQuerySchema }) + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) .fields({ limit: 1, order: 'asc', schemas, }) .build() const results = await sut.divine([query]) expect(results.length).toBe(1) - expect(results[0].$hash).toBe(payloadB.$hash) + expect(PayloadBuilder.omitStorageMeta(results[0])).toStrictEqual(payloadB) + expect(await PayloadBuilder.dataHash(results[0])).toBe(await PayloadBuilder.dataHash(payloadB)) expect(results.every(result => result.schema === 'network.xyo.debug')).toBe(true) }) }) describe('multiple', () => { it('only returns payloads of that schema', async () => { const schemas = ['network.xyo.test', 'network.xyo.debug'] - const query = await new PayloadBuilder>({ schema: PayloadDivinerQuerySchema }) + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) .fields({ schemas }) .build() const results = await sut.divine([query]) @@ -137,33 +133,35 @@ describe('GenericPayloadDiviner', () => { describe('paging', () => { it('test paging with multiple calls (asc)', async () => { const schemas = ['network.xyo.test', 'network.xyo.debug'] - const query = await new PayloadBuilder>({ schema: PayloadDivinerQuerySchema }) + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) .fields({ limit: 2, order: 'asc', schemas, }) .build() const results = await sut.divine([query]) - const resultHashes = await PayloadBuilder.hashes(results) + console.warn('results', results) + const resultSequences = results.map(result => result._sequence) + expect(PayloadBuilder.omitStorageMeta(results)).toStrictEqual([payloadA, payloadB]) expect(results.length).toBe(2) - expect(resultHashes[0]).toBe(await PayloadBuilder.hash(payloadA)) - expect(resultHashes[1]).toBe(await PayloadBuilder.hash(payloadB)) + expect(resultSequences[0]).toBe(insertedPayloads[0]._sequence) + expect(resultSequences[1]).toBe(insertedPayloads[1]._sequence) - const offset = resultHashes[1] - const query2 = await new PayloadBuilder>({ schema: PayloadDivinerQuerySchema }) + const cursor = resultSequences[1] + const query2 = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) .fields({ - limit: 2, offset, order: 'asc', schemas, + limit: 2, cursor, order: 'asc', schemas, }) .build() const results2 = await sut.divine([query2]) - const resultHashes2 = await PayloadBuilder.hashes(results2) + const resultSequences2 = results2.map(result => result._sequence) expect(results2.length).toBe(2) - expect(resultHashes2[0]).toBe(await PayloadBuilder.hash(payloadC)) - expect(resultHashes2[1]).toBe(await PayloadBuilder.hash(payloadD)) - const offset2 = resultHashes2[1] + expect(resultSequences2[0]).toBe(insertedPayloads[2]._sequence) + expect(resultSequences2[1]).toBe(insertedPayloads[3]._sequence) + const cursor2 = resultSequences2[1] - const query3 = await new PayloadBuilder>({ schema: PayloadDivinerQuerySchema }) + const query3 = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) .fields({ - limit: 2, offset: offset2, order: 'asc', schemas, + limit: 2, cursor: cursor2, order: 'asc', schemas, }) .build() const results3 = await sut.divine([query3]) @@ -171,33 +169,33 @@ describe('GenericPayloadDiviner', () => { }) it('test paging with multiple calls (desc)', async () => { const schemas = ['network.xyo.test', 'network.xyo.debug'] - const query = await new PayloadBuilder>({ schema: PayloadDivinerQuerySchema }) + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) .fields({ limit: 2, order: 'desc', schemas, }) .build() const results = await sut.divine([query]) - const resultHashes = await PayloadBuilder.hashes(results) + const resultSequences = results.map(result => result._sequence) expect(results.length).toBe(2) - expect(resultHashes[0]).toBe(await PayloadBuilder.hash(payloadD)) - expect(resultHashes[1]).toBe(await PayloadBuilder.hash(payloadC)) + expect(resultSequences[0]).toBe(insertedPayloads[3]._sequence) + expect(resultSequences[1]).toBe(insertedPayloads[2]._sequence) - const offset = resultHashes[1] - const query2 = await new PayloadBuilder>({ schema: PayloadDivinerQuerySchema }) + const cursor = resultSequences[1] + const query2 = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) .fields({ - limit: 2, offset, order: 'desc', schemas, + limit: 2, cursor, order: 'desc', schemas, }) .build() const results2 = await sut.divine([query2]) - const resultHashes2 = await PayloadBuilder.hashes(results2) + const resultSequences2 = results2.map(result => result._sequence) expect(results2.length).toBe(2) - expect(resultHashes2[0]).toBe(await PayloadBuilder.hash(payloadB)) - expect(resultHashes2[1]).toBe(await PayloadBuilder.hash(payloadA)) - const offset2 = resultHashes2[1] + expect(resultSequences2[0]).toBe(insertedPayloads[1]._sequence) + expect(resultSequences2[1]).toBe(insertedPayloads[0]._sequence) + const cursor2 = resultSequences2[1] - const query3 = await new PayloadBuilder>({ schema: PayloadDivinerQuerySchema }) + const query3 = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) .fields({ - limit: 2, offset: offset2, order: 'desc', schemas, + limit: 2, cursor: cursor2, order: 'desc', schemas, }) .build() const results3 = await sut.divine([query3]) @@ -210,7 +208,7 @@ describe('GenericPayloadDiviner', () => { it('only returns payloads with that property', async () => { type WithUrl = { url?: string } const url = payloadA.url - const query = await new PayloadBuilder & WithUrl>({ schema: PayloadDivinerQuerySchema }) + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) .fields({ url }) .build() const results = await sut.divine([query]) @@ -222,7 +220,7 @@ describe('GenericPayloadDiviner', () => { const cases: string[][] = [['bar'], ['baz'], ['bar', 'baz']] it.each(cases)('only returns payloads that have an array containing all the values supplied', async (...foo) => { type WithFoo = { foo?: string[] } - const query = await new PayloadBuilder & WithFoo>({ schema: PayloadDivinerQuerySchema }) + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) .fields({ foo }) .build() const results = await sut.divine([query]) diff --git a/packages/modules/packages/diviner/packages/payload/packages/generic/src/spec/tsconfig.json b/packages/modules/packages/diviner/packages/payload/packages/generic/src/spec/tsconfig.json deleted file mode 100644 index d92be4a5b1..0000000000 --- a/packages/modules/packages/diviner/packages/payload/packages/generic/src/spec/tsconfig.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "compilerOptions": { - "lib": ["esnext", "dom"], - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/diviner/packages/payload/packages/memory/.npmignore b/packages/modules/packages/diviner/packages/payload/packages/memory/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/payload/packages/memory/.npmignore +++ b/packages/modules/packages/diviner/packages/payload/packages/memory/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/payload/packages/memory/package.json b/packages/modules/packages/diviner/packages/payload/packages/memory/package.json index f8f70180f8..866afeeed3 100644 --- a/packages/modules/packages/diviner/packages/payload/packages/memory/package.json +++ b/packages/modules/packages/diviner/packages/payload/packages/memory/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-payload-memory", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,26 +29,23 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/object": "^4.4.10", - "@xyo-network/diviner-model": "workspace:^", - "@xyo-network/diviner-payload-abstract": "workspace:^", - "@xyo-network/diviner-payload-model": "workspace:^", - "@xyo-network/payload-builder": "workspace:^", - "@xyo-network/payload-model": "workspace:^" + "@xyo-network/diviner-payload-generic": "workspace:^" }, "devDependencies": { - "@xylabs/delay": "^4.4.10", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/delay": "^4.4.25", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/archivist-memory": "workspace:^", + "@xyo-network/diviner-payload-model": "workspace:^", "@xyo-network/node-memory": "workspace:^", "@xyo-network/payload-builder": "workspace:^", + "@xyo-network/payload-model": "workspace:^", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/payload/packages/memory/src/MemoryPayloadDiviner.ts b/packages/modules/packages/diviner/packages/payload/packages/memory/src/MemoryPayloadDiviner.ts index de4c364d3b..8ccc53af6b 100644 --- a/packages/modules/packages/diviner/packages/payload/packages/memory/src/MemoryPayloadDiviner.ts +++ b/packages/modules/packages/diviner/packages/payload/packages/memory/src/MemoryPayloadDiviner.ts @@ -1,84 +1,3 @@ -/* eslint-disable complexity */ -import { assertEx } from '@xylabs/assert' -import { removeFields } from '@xylabs/object' -import type { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model' -import { PayloadDiviner } from '@xyo-network/diviner-payload-abstract' -import type { PayloadDivinerParams, PayloadDivinerQueryPayload } from '@xyo-network/diviner-payload-model' -import { isPayloadDivinerQueryPayload } from '@xyo-network/diviner-payload-model' -import { PayloadBuilder } from '@xyo-network/payload-builder' -import type { Payload, WithMeta } from '@xyo-network/payload-model' +import { GenericPayloadDiviner } from '@xyo-network/diviner-payload-generic' -import { hasTimestamp } from './hasTimestamp.ts' - -export class MemoryPayloadDiviner< - TParams extends PayloadDivinerParams = PayloadDivinerParams, - TIn extends PayloadDivinerQueryPayload = PayloadDivinerQueryPayload, - TOut extends Payload = Payload, - TEventData extends DivinerModuleEventData, TIn, TOut> = DivinerModuleEventData< - DivinerInstance, - TIn, - TOut - >, -> extends PayloadDiviner { - protected override async divineHandler(payloads?: TIn[]): Promise[]> { - const filter = assertEx(payloads?.filter(isPayloadDivinerQueryPayload)?.pop(), () => 'Missing query payload') - if (!filter) return [] - const archivist = assertEx(await this.archivistInstance(), () => 'Unable to resolve archivist') - const { - schemas, limit, offset, hash, order = 'desc', timestamp, ...props - } = removeFields(filter as WithMeta, ['schema', '$meta', '$hash']) - let all = (await archivist.all?.()) as WithMeta[] - if (all) { - if (order === 'desc') all = all.reverse() - if (schemas?.length) all = all.filter(payload => schemas.includes(payload.schema)) - if (timestamp !== undefined) { - // If there was no order supplied with the original - if (filter.order === undefined) { - // filter for timestamp equality - all = all.filter(hasTimestamp).filter(payload => payload.timestamp === timestamp) - } else { - // filter for greater than/less than or equal to - all - = order === 'asc' - ? all.filter(hasTimestamp).filter(payload => payload.timestamp >= timestamp) - : all.filter(hasTimestamp).filter(payload => payload.timestamp <= timestamp) - } - } - if (Object.keys(props).length > 0) { - const additionalFilterCriteria = Object.entries(props) - for (const [prop, filter] of additionalFilterCriteria) { - const property = prop as keyof TOut - all - = Array.isArray(filter) - ? all.filter(payload => - filter.every((value) => { - const prop = payload?.[property] - // TODO: This seems to be written just to check arrays, and now that $meta is there, need to check type? - return Array.isArray(prop) && prop.includes?.(value) - })) - : all.filter(payload => payload?.[property] === filter) - } - } - const parsedLimit = limit ?? all.length - const parsedOffset = offset || 0 - return offset === undefined - ? (async () => { - const allPairs = await PayloadBuilder.hashPairs(all) - if (hash) { - // remove all until found - while (allPairs.length > 0 && allPairs[0][1] !== hash) { - allPairs.shift() - } - // remove it if found - if (allPairs.length > 0 && allPairs[0][1] === hash) { - allPairs.shift() - } - } - return allPairs.map(([payload]) => payload).slice(parsedOffset, parsedOffset + parsedLimit) - })() - : all.slice(parsedOffset, parsedOffset + parsedLimit) - } else { - throw new Error('Archivist does not support "all"') - } - } -} +export class MemoryPayloadDiviner extends GenericPayloadDiviner {} diff --git a/packages/modules/packages/diviner/packages/payload/packages/memory/src/hasTimestamp.ts b/packages/modules/packages/diviner/packages/payload/packages/memory/src/hasTimestamp.ts deleted file mode 100644 index 9afddfb491..0000000000 --- a/packages/modules/packages/diviner/packages/payload/packages/memory/src/hasTimestamp.ts +++ /dev/null @@ -1,6 +0,0 @@ -import type { AnyObject } from '@xylabs/object' -import type { Payload } from '@xyo-network/payload-model' - -export const hasTimestamp = >(payload: T): payload is T & { timestamp: number } => { - return (payload as unknown as { timestamp: number }).timestamp !== undefined -} diff --git a/packages/modules/packages/diviner/packages/payload/packages/memory/src/spec/Diviner.spec.ts b/packages/modules/packages/diviner/packages/payload/packages/memory/src/spec/Diviner.spec.ts index 1626208f86..b3e8d81a9f 100644 --- a/packages/modules/packages/diviner/packages/payload/packages/memory/src/spec/Diviner.spec.ts +++ b/packages/modules/packages/diviner/packages/payload/packages/memory/src/spec/Diviner.spec.ts @@ -2,15 +2,16 @@ import '@xylabs/vitest-extended' +import { delay } from '@xylabs/delay' import { MemoryArchivist } from '@xyo-network/archivist-memory' +import { GenericPayloadDivinerConfigSchema } from '@xyo-network/diviner-payload-generic' import type { PayloadDivinerQueryPayload } from '@xyo-network/diviner-payload-model' import { PayloadDivinerQuerySchema } from '@xyo-network/diviner-payload-model' import { MemoryNode } from '@xyo-network/node-memory' import { PayloadBuilder } from '@xyo-network/payload-builder' -import type { PayloadWithMeta } from '@xyo-network/payload-model' +import type { Payload, WithStorageMeta } from '@xyo-network/payload-model' import { - beforeAll, - describe, expect, it, + beforeAll, describe, expect, it, } from 'vitest' import { MemoryPayloadDiviner } from '../MemoryPayloadDiviner.ts' @@ -24,41 +25,38 @@ describe('GenericPayloadDiviner', () => { let archivist: MemoryArchivist let sut: MemoryPayloadDiviner let node: MemoryNode - let payloadA: PayloadWithMeta<{ schema: string; url: string }> - let payloadB: PayloadWithMeta<{ foo: string[]; schema: string }> - let payloadC: PayloadWithMeta<{ foo: string[]; schema: string }> - let payloadD: PayloadWithMeta<{ foo: string[]; schema: string }> + const payloadA: Payload<{ schema: string; url: string }> = { + schema: 'network.xyo.test', + url: 'https://xyo.network', + } + const payloadB: Payload<{ foo: string[]; schema: string }> = { + foo: ['bar', 'baz'], + schema: 'network.xyo.debug', + } + const payloadC: Payload<{ foo: string[]; schema: string }> = { + foo: ['one', 'two'], + schema: 'network.xyo.debug', + } + const payloadD: Payload<{ foo: string[]; schema: string }> = { + foo: ['aaa', 'bbb'], + schema: 'network.xyo.debug', + } + const insertedPayloads: WithStorageMeta[] = [] beforeAll(async () => { - payloadA = await PayloadBuilder.build({ - schema: 'network.xyo.test', - url: 'https://xyo.network', - }) - payloadB = await PayloadBuilder.build({ - foo: ['bar', 'baz'], - schema: 'network.xyo.debug', - }) - payloadC = await PayloadBuilder.build({ - foo: ['one', 'two'], - schema: 'network.xyo.debug', - }) - payloadD = await PayloadBuilder.build({ - foo: ['aaa', 'bbb'], - schema: 'network.xyo.debug', - }) - archivist = await MemoryArchivist.create({ account: 'random', config: { name: 'test', schema: MemoryArchivist.defaultConfigSchema }, }) - await archivist.insert([payloadA, payloadB]) - await archivist.insert([payloadC, payloadD]) - const all = await archivist.all() - console.log(all) + for (const payload of [payloadA, payloadB, payloadC, payloadD]) { + await delay(2) + const [insertedPayload] = await archivist.insert([payload]) + insertedPayloads.push(insertedPayload) + } sut = await MemoryPayloadDiviner.create({ account: 'random', config: { archivist: archivist.address, - schema: MemoryPayloadDiviner.defaultConfigSchema, + schema: GenericPayloadDivinerConfigSchema, }, }) node = await MemoryNode.create({ @@ -80,50 +78,51 @@ describe('GenericPayloadDiviner', () => { describe('single', () => { it.each(['network.xyo.test', 'network.xyo.debug'])('only returns payloads of that schema', async (schema) => { const schemas = [schema] - const query = await new PayloadBuilder({ schema: PayloadDivinerQuerySchema }).fields({ schemas }).build() + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }).fields({ schemas }).build() const results = await sut.divine([query]) expect(results.length).toBeGreaterThan(0) expect(results.every(result => result.schema === schema)).toBe(true) }) it('only return single payload of that schema', async () => { const schemas = ['network.xyo.debug'] - const query = await new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) .fields({ limit: 1, schemas }) .build() const results = await sut.divine([query]) expect(results.length).toBe(1) - expect(results[0].$hash).toBe(payloadD.$hash) + expect(await PayloadBuilder.dataHash(results[0])).toBe(await PayloadBuilder.dataHash(insertedPayloads[3])) expect(results.every(result => result.schema === 'network.xyo.debug')).toBe(true) }) it('only return single payload of that schema (desc)', async () => { const schemas = ['network.xyo.debug'] - const query = await new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) .fields({ limit: 1, order: 'desc', schemas, }) .build() const results = await sut.divine([query]) expect(results.length).toBe(1) - expect(results[0].$hash).toBe(payloadD.$hash) + expect(PayloadBuilder.omitStorageMeta(results[0])).toEqual(PayloadBuilder.omitStorageMeta(insertedPayloads[3])) + expect(await PayloadBuilder.dataHash(results[0])).toBe(await PayloadBuilder.dataHash(insertedPayloads[3])) expect(results.every(result => result.schema === 'network.xyo.debug')).toBe(true) }) it('only return single payload of that schema (asc)', async () => { const schemas = ['network.xyo.debug'] - const query = await new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) .fields({ limit: 1, order: 'asc', schemas, }) .build() const results = await sut.divine([query]) expect(results.length).toBe(1) - expect(results[0].$hash).toBe(payloadB.$hash) + expect(await PayloadBuilder.dataHash(results[0])).toBe(await PayloadBuilder.dataHash(payloadB)) expect(results.every(result => result.schema === 'network.xyo.debug')).toBe(true) }) }) describe('multiple', () => { it('only returns payloads of that schema', async () => { const schemas = ['network.xyo.test', 'network.xyo.debug'] - const query = await new PayloadBuilder({ schema: PayloadDivinerQuerySchema }).fields({ schemas }).build() + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }).fields({ schemas }).build() const results = await sut.divine([query]) expect(results.length).toBeGreaterThan(0) expect(results.every(result => schemas.includes(result.schema))).toBe(true) @@ -135,7 +134,7 @@ describe('GenericPayloadDiviner', () => { it('only returns payloads with that property', async () => { type WithUrl = { url?: string } const url = payloadA.url - const query = await new PayloadBuilder({ schema: PayloadDivinerQuerySchema }).fields({ url }).build() + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }).fields({ url }).build() const results = await sut.divine([query]) expect(results.length).toBeGreaterThan(0) expect(results.every(result => (result as WithUrl)?.url === url)).toBe(true) @@ -145,7 +144,7 @@ describe('GenericPayloadDiviner', () => { const cases: string[][] = [['bar'], ['baz'], ['bar', 'baz']] it.each(cases)('only returns payloads that have an array containing all the values supplied', async (...foo) => { type WithFoo = { foo?: string[] } - const query = await new PayloadBuilder({ schema: PayloadDivinerQuerySchema }).fields({ foo }).build() + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }).fields({ foo }).build() const results = await sut.divine([query]) expect(results.length).toBeGreaterThan(0) expect(results.every(result => foo.every(v => (result as unknown as WithFoo)?.foo?.includes(v)))).toBe(true) diff --git a/packages/modules/packages/diviner/packages/payload/packages/memory/src/spec/MemoryPayloadDiviner.spec.ts b/packages/modules/packages/diviner/packages/payload/packages/memory/src/spec/MemoryPayloadDiviner.spec.ts index 75ddab3dca..5c31330098 100644 --- a/packages/modules/packages/diviner/packages/payload/packages/memory/src/spec/MemoryPayloadDiviner.spec.ts +++ b/packages/modules/packages/diviner/packages/payload/packages/memory/src/spec/MemoryPayloadDiviner.spec.ts @@ -4,17 +4,21 @@ import '@xylabs/vitest-extended' import { delay } from '@xylabs/delay' import { MemoryArchivist } from '@xyo-network/archivist-memory' +import { GenericPayloadDivinerConfigSchema } from '@xyo-network/diviner-payload-generic' import type { PayloadDivinerQueryPayload } from '@xyo-network/diviner-payload-model' import { PayloadDivinerQuerySchema } from '@xyo-network/diviner-payload-model' import { MemoryNode } from '@xyo-network/node-memory' import { PayloadBuilder } from '@xyo-network/payload-builder' -import type { PayloadWithMeta } from '@xyo-network/payload-model' +import { + isSequenceMeta, type Payload, + SequenceConstants, + type WithSequenceMeta, +} from '@xyo-network/payload-model' import { beforeAll, describe, expect, it, } from 'vitest' -import { hasTimestamp } from '../hasTimestamp.ts' import { MemoryPayloadDiviner } from '../MemoryPayloadDiviner.ts' /** @@ -26,16 +30,15 @@ describe('MemoryPayloadDiviner', () => { let archivist: MemoryArchivist let sut: MemoryPayloadDiviner let node: MemoryNode - let payloadA: PayloadWithMeta<{ schema: string; timestamp: number; url: string }> - let payloadB: PayloadWithMeta<{ foo: string[]; schema: string; timestamp: number }> + let payloadA: WithSequenceMeta> + let payloadB: WithSequenceMeta> beforeAll(async () => { - payloadA = await PayloadBuilder.build({ + payloadA = await PayloadBuilder.addSequencedStorageMeta({ schema: 'network.xyo.test', url: 'https://xyo.network', - timestamp: Date.now(), }) await delay(2) - payloadB = await PayloadBuilder.build({ + payloadB = await PayloadBuilder.addSequencedStorageMeta({ foo: ['bar', 'baz'], schema: 'network.xyo.debug', timestamp: Date.now(), @@ -50,7 +53,7 @@ describe('MemoryPayloadDiviner', () => { account: 'random', config: { archivist: archivist.address, - schema: MemoryPayloadDiviner.defaultConfigSchema, + schema: GenericPayloadDivinerConfigSchema, }, }) node = await MemoryNode.create({ @@ -71,7 +74,7 @@ describe('MemoryPayloadDiviner', () => { describe('single', () => { it.each(['network.xyo.test', 'network.xyo.debug'])('only returns payloads of that schema', async (schema) => { const schemas = [schema] - const query = await new PayloadBuilder({ schema: PayloadDivinerQuerySchema }).fields({ schemas }).build() + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }).fields({ schemas }).build() const results = await sut.divine([query]) expect(results.length).toBeGreaterThan(0) expect(results.every(result => result.schema === schema)).toBe(true) @@ -80,71 +83,71 @@ describe('MemoryPayloadDiviner', () => { describe('multiple', () => { it('only returns payloads of that schema', async () => { const schemas = ['network.xyo.test', 'network.xyo.debug'] - const query = await new PayloadBuilder({ schema: PayloadDivinerQuerySchema }).fields({ schemas }).build() + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }).fields({ schemas }).build() const results = await sut.divine([query]) expect(results.length).toBeGreaterThan(0) expect(results.every(result => schemas.includes(result.schema))).toBe(true) }) }) }) - describe('timestamp', () => { + describe('sequence', () => { describe('when order supplied', () => { describe('asc', () => { const order = 'asc' - it('returns payloads greater than the supplied timestamp', async () => { - const timestamp = [payloadA, payloadB].sort((a, b) => a.timestamp - b.timestamp)[0].timestamp - 1 - const query = await new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) - .fields({ order, timestamp }) + it('returns payloads greater than the supplied sequence', async () => { + const cursor = SequenceConstants.minLocalSequence + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) + .fields({ order, cursor }) .build() const results = await sut.divine([query]) expect(results.length).toBeGreaterThan(0) - expect(results.every(hasTimestamp)).toBe(true) - expect(results.filter(hasTimestamp).every(result => result.timestamp > timestamp)).toBe(true) + expect(results.every(isSequenceMeta)).toBeTruthy() + expect((results.filter(isSequenceMeta) as WithSequenceMeta[]).every(result => result._sequence > cursor)).toBe(true) }) - it('returns payloads equal to the supplied timestamp', async () => { - const timestamp = [payloadA, payloadB].sort((a, b) => a.timestamp - b.timestamp)[1].timestamp - const query = await new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) - .fields({ order, timestamp }) + it('returns payloads equal to the supplied sequence', async () => { + const cursor = [payloadA, payloadB].sort()[1]._sequence + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) + .fields({ order, cursor }) .build() const results = await sut.divine([query]) expect(results.length).toBeGreaterThan(0) - expect(results.every(hasTimestamp)).toBe(true) - expect(results.filter(hasTimestamp).every(result => result.timestamp === timestamp)).toBe(true) + expect(results.every(isSequenceMeta)).toBeTruthy() + expect((results.filter(isSequenceMeta) as WithSequenceMeta[]).every(result => result._sequence !== cursor)).toBe(true) }) }) describe('desc', () => { const order = 'desc' - it('returns payloads less than the supplied timestamp', async () => { - const timestamp = [payloadA, payloadB].sort((a, b) => a.timestamp - b.timestamp)[1].timestamp + 1 - const query = await new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) - .fields({ order, timestamp }) + it('returns payloads less than the supplied sequence', async () => { + const cursor = SequenceConstants.maxLocalSequence + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) + .fields({ order, cursor }) .build() const results = await sut.divine([query]) expect(results.length).toBeGreaterThan(0) - expect(results.every(hasTimestamp)).toBe(true) - expect(results.filter(hasTimestamp).every(result => result.timestamp <= timestamp)).toBe(true) + expect(results.every(isSequenceMeta)).toBeTruthy() + expect((results.filter(isSequenceMeta) as WithSequenceMeta[]).every(result => result._sequence < cursor)).toBe(true) }) - it('returns payloads equal to the supplied timestamp', async () => { - const timestamp = [payloadA, payloadB].sort((a, b) => a.timestamp - b.timestamp)[0].timestamp - const query = await new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) - .fields({ order, timestamp }) + it('returns payloads equal to the supplied sequence', async () => { + const cursor = [payloadA, payloadB].sort()[0]._sequence + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }) + .fields({ order, cursor }) .build() const results = await sut.divine([query]) expect(results.length).toBeGreaterThan(0) - expect(results.every(hasTimestamp)).toBe(true) - expect(results.filter(hasTimestamp).every(result => result.timestamp === timestamp)).toBe(true) + expect(results.every(isSequenceMeta)).toBe(true) + expect((results.filter(isSequenceMeta) as WithSequenceMeta[]).every(result => result._sequence !== cursor)).toBe(true) }) }) }) describe('when order not supplied', () => { - it('returns payloads equal to the supplied timestamp', async () => { + it('returns payloads equal to the supplied sequence', async () => { for (const payload of [payloadA, payloadB]) { - const timestamp = payload.timestamp - const query = await new PayloadBuilder({ schema: PayloadDivinerQuerySchema }).fields({ timestamp }).build() + const cursor = payload._sequence + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }).fields({ cursor }).build() const results = await sut.divine([query]) expect(results.length).toBeGreaterThan(0) - expect(results.every(hasTimestamp)).toBe(true) - expect(results.filter(hasTimestamp).every(result => result.timestamp === timestamp)).toBe(true) + expect(results.every(isSequenceMeta)).toBe(true) + expect((results.filter(isSequenceMeta) as WithSequenceMeta[]).every(result => result._sequence !== cursor)).toBe(true) } }) }) @@ -154,7 +157,7 @@ describe('MemoryPayloadDiviner', () => { it('only returns payloads with that property', async () => { type WithUrl = { url?: string } const url = payloadA.url - const query = await new PayloadBuilder({ schema: PayloadDivinerQuerySchema }).fields({ url }).build() + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }).fields({ url }).build() const results = await sut.divine([query]) expect(results.length).toBeGreaterThan(0) expect(results.every(result => (result as WithUrl)?.url === url)).toBe(true) @@ -164,7 +167,7 @@ describe('MemoryPayloadDiviner', () => { const cases: string[][] = [['bar'], ['baz'], ['bar', 'baz']] it.each(cases)('only returns payloads that have an array containing all the values supplied', async (...foo) => { type WithFoo = { foo?: string[] } - const query = await new PayloadBuilder({ schema: PayloadDivinerQuerySchema }).fields({ foo }).build() + const query = new PayloadBuilder({ schema: PayloadDivinerQuerySchema }).fields({ foo }).build() const results = await sut.divine([query]) expect(results.length).toBeGreaterThan(0) expect(results.every(result => foo.every(v => (result as unknown as WithFoo)?.foo?.includes(v)))).toBe(true) diff --git a/packages/modules/packages/diviner/packages/payload/packages/memory/src/spec/tsconfig.json b/packages/modules/packages/diviner/packages/payload/packages/memory/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/diviner/packages/payload/packages/memory/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/diviner/packages/payload/packages/model/.npmignore b/packages/modules/packages/diviner/packages/payload/packages/model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/payload/packages/model/.npmignore +++ b/packages/modules/packages/diviner/packages/payload/packages/model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/payload/packages/model/package.json b/packages/modules/packages/diviner/packages/payload/packages/model/package.json index c327cf8823..209b4d49aa 100644 --- a/packages/modules/packages/diviner/packages/payload/packages/model/package.json +++ b/packages/modules/packages/diviner/packages/payload/packages/model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-payload-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,18 +29,18 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/hex": "^4.4.10", - "@xylabs/object": "^4.4.10", + "@xylabs/object": "^4.4.25", "@xyo-network/diviner-model": "workspace:^", "@xyo-network/module-model": "workspace:^", "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/payload/packages/model/src/Predicate.ts b/packages/modules/packages/diviner/packages/payload/packages/model/src/Predicate.ts index 54a683a240..40bc2e5dd1 100644 --- a/packages/modules/packages/diviner/packages/payload/packages/model/src/Predicate.ts +++ b/packages/modules/packages/diviner/packages/payload/packages/model/src/Predicate.ts @@ -1,23 +1,13 @@ -import type { Address, Hash } from '@xylabs/hex' import type { EmptyObject } from '@xylabs/object' -import type { Schema } from '@xyo-network/payload-model' +import type { Schema, Sequence } from '@xyo-network/payload-model' import type { Order } from './Order.ts' -/* Note: Added Omit to PayloadFindDiviner for offset until we support hash based offsets */ - -export type PayloadDivinerPredicate = Partial< +export type PayloadDivinerPredicate = Partial< { - /** - * @deprecated Use BW Diviner to find signed Payloads matching desired - * criteria, then get Payloads by hash directly from Archivist - */ - address: Address | Address[] - hash: Hash + cursor: Sequence limit: number - offset: TOffset order: Order schemas: Schema[] - timestamp?: number } & T > diff --git a/packages/modules/packages/diviner/packages/payload/packages/model/src/Query.ts b/packages/modules/packages/diviner/packages/payload/packages/model/src/Query.ts index cb65febaca..3738b77852 100644 --- a/packages/modules/packages/diviner/packages/payload/packages/model/src/Query.ts +++ b/packages/modules/packages/diviner/packages/payload/packages/model/src/Query.ts @@ -1,5 +1,5 @@ -import type { EmptyObject } from '@xylabs/object' -import type { Payload, Query } from '@xyo-network/payload-model' +import { AsObjectFactory, type EmptyObject } from '@xylabs/object' +import { isPayloadOfSchemaType, type Query } from '@xyo-network/payload-model' import type { PayloadDivinerPredicate } from './Predicate.ts' import { PayloadDivinerSchema } from './Schema.ts' @@ -7,8 +7,10 @@ import { PayloadDivinerSchema } from './Schema.ts' export type PayloadDivinerQuerySchema = `${PayloadDivinerSchema}.query` export const PayloadDivinerQuerySchema: PayloadDivinerQuerySchema = `${PayloadDivinerSchema}.query` -export type PayloadDivinerQueryPayload = Query< - { schema: PayloadDivinerQuerySchema } & PayloadDivinerPredicate +export type PayloadDivinerQueryPayload = Query< + { schema: PayloadDivinerQuerySchema } & PayloadDivinerPredicate > -export const isPayloadDivinerQueryPayload = (x?: Payload | null): x is PayloadDivinerQueryPayload => - x?.schema === PayloadDivinerQuerySchema + +export const isPayloadDivinerQueryPayload = isPayloadOfSchemaType(PayloadDivinerQuerySchema) + +export const asPayloadDivinerQueryPayload = AsObjectFactory.create(isPayloadDivinerQueryPayload) diff --git a/packages/modules/packages/diviner/packages/payloadpointer/.npmignore b/packages/modules/packages/diviner/packages/payloadpointer/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/payloadpointer/.npmignore +++ b/packages/modules/packages/diviner/packages/payloadpointer/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/payloadpointer/package.json b/packages/modules/packages/diviner/packages/payloadpointer/package.json index 813ba2141e..d63f56df3f 100644 --- a/packages/modules/packages/diviner/packages/payloadpointer/package.json +++ b/packages/modules/packages/diviner/packages/payloadpointer/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-payload-pointer", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -33,11 +33,12 @@ "@xyo-network/diviner-payload-pointer-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/.npmignore b/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/.npmignore +++ b/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/package.json b/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/package.json index 9a3860ecde..cc4448c7bb 100644 --- a/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/package.json +++ b/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-payload-pointer-memory", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,9 +29,9 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/exists": "^4.4.10", - "@xylabs/hex": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/exists": "^4.4.25", + "@xylabs/hex": "^4.4.25", "@xyo-network/archivist-model": "workspace:^", "@xyo-network/boundwitness-wrapper": "workspace:^", "@xyo-network/diviner-abstract": "workspace:^", @@ -46,15 +46,17 @@ }, "devDependencies": { "@types/uuid": "^10.0.0", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/delay": "^4.4.25", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/account": "workspace:^", "@xyo-network/account-model": "workspace:^", "@xyo-network/archivist-memory": "workspace:^", "@xyo-network/boundwitness-builder": "workspace:^", "@xyo-network/boundwitness-model": "workspace:^", "@xyo-network/diviner-boundwitness-memory": "workspace:^", + "@xyo-network/diviner-payload-generic": "workspace:^", "@xyo-network/diviner-payload-memory": "workspace:^", "@xyo-network/node-memory": "workspace:^", "@xyo-network/node-model": "workspace:^", @@ -66,5 +68,6 @@ }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/combineRules.ts b/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/combineRules.ts index 75a88904b2..2129f40ebb 100644 --- a/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/combineRules.ts +++ b/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/combineRules.ts @@ -9,7 +9,7 @@ import type { import { isPayloadAddressRule, isPayloadSchemaRule, - isPayloadTimestampOrderRule, + isPayloadSequenceOrderRule, } from '@xyo-network/diviner-payload-pointer-model' // TODO: Could make it so that composability is such that we: @@ -29,16 +29,16 @@ export const combineRules = (rules: PayloadRule[][]): PayloadSearchCriteria => { .filter(exists) assertEx(schemas.length, () => 'At least one schema must be supplied') - const directionTimestamp = rules.flat().filter(isPayloadTimestampOrderRule).filter(exists) - assertEx(directionTimestamp.length < 2, () => 'Must not supply more than 1 direction/timestamp rule') + const sequenceOrderRule = rules.flat().filter(isPayloadSequenceOrderRule).filter(exists) + assertEx(sequenceOrderRule.length < 2, () => 'Must not supply more than 1 direction/timestamp rule') - const order: Order = directionTimestamp[0]?.order || 'desc' - const timestamp: number = directionTimestamp.length > 0 ? directionTimestamp[0]?.timestamp : Date.now() + const order: Order = sequenceOrderRule[0]?.order || 'desc' + const cursor = sequenceOrderRule[0]?.sequence return { addresses, + cursor, order, schemas, - timestamp, } } diff --git a/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/findPayload.ts b/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/findPayload.ts index 61cf2659c9..6b49c4eaeb 100644 --- a/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/findPayload.ts +++ b/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/findPayload.ts @@ -6,7 +6,9 @@ import { BoundWitnessDivinerQuerySchema } from '@xyo-network/diviner-boundwitnes import type { PayloadDiviner } from '@xyo-network/diviner-payload-abstract' import type { PayloadDivinerQueryPayload } from '@xyo-network/diviner-payload-model' import { PayloadDivinerQuerySchema } from '@xyo-network/diviner-payload-model' -import type { PayloadSearchCriteria, PointerPayload } from '@xyo-network/diviner-payload-pointer-model' +import type { + PayloadRule, PayloadSearchCriteria, PointerPayload, +} from '@xyo-network/diviner-payload-pointer-model' import { isBoundWitnessPointer } from '@xyo-network/diviner-payload-pointer-model' import type { Payload, Schema } from '@xyo-network/payload-model' import { PayloadWrapper } from '@xyo-network/payload-wrapper' @@ -17,7 +19,7 @@ const limit = 1 const createBoundWitnessFilterFromSearchCriteria = (searchCriteria: PayloadSearchCriteria): BoundWitnessDivinerQueryPayload[] => { const { - addresses, order = 'desc', schemas, timestamp, + addresses, order = 'desc', schemas, cursor, } = searchCriteria const query: BoundWitnessDivinerQueryPayload = { addresses, @@ -25,17 +27,15 @@ const createBoundWitnessFilterFromSearchCriteria = (searchCriteria: PayloadSearc order, payload_schemas: schemas, schema: BoundWitnessDivinerQuerySchema, - timestamp, } + if (cursor) query.cursor = cursor return [query] } const createPayloadFilterFromSearchCriteria = (searchCriteria: PayloadSearchCriteria): Payload[] => { - const { - order = 'desc', schemas, timestamp, - } = searchCriteria + const { order = 'desc', schemas } = searchCriteria const query: PayloadDivinerQueryPayload = { - limit, order, schema: PayloadDivinerQuerySchema, schemas, timestamp, + limit, order, schema: PayloadDivinerQuerySchema, schemas, } return [query] } @@ -46,7 +46,8 @@ export const findPayload = async ( payloadDiviner: PayloadDiviner, pointer: PointerPayload, ): Promise => { - const searchCriteria = combineRules(pointer.reference) + const reference = pointer.reference as PayloadRule[][] + const searchCriteria = combineRules(reference) const { addresses } = searchCriteria const findWitnessedPayload = addresses?.length const returnBoundWitness = isBoundWitnessPointer(pointer) diff --git a/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/Diviner.payloadPointer.address.spec.ts b/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/Diviner.payloadPointer.address.spec.ts index 898760d090..9aed192ac4 100644 --- a/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/Diviner.payloadPointer.address.spec.ts +++ b/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/Diviner.payloadPointer.address.spec.ts @@ -1,8 +1,10 @@ import '@xylabs/vitest-extended' +import { delay } from '@xylabs/delay' import { Account } from '@xyo-network/account' import type { ArchivistInstance } from '@xyo-network/archivist-model' import type { NodeInstance } from '@xyo-network/node-model' +import { PayloadBuilder } from '@xyo-network/payload-builder' import type { Payload } from '@xyo-network/payload-model' import { beforeAll, @@ -43,10 +45,16 @@ describe('PayloadPointerDiviner', () => { const [bwG, payloadsG] = await getNewBoundWitness([await accountD]) payloads.push(...payloadsA, ...payloadsB, ...payloadsC, ...payloadsD, ...payloadsE, ...payloadsF, ...payloadsG) const boundWitnesses = [bwA, bwB, bwC, bwD, bwE, bwF, bwG] - const blockResponse = await insertBlock(archivist, boundWitnesses) - expect(blockResponse.length).toBe(boundWitnesses.length) - const payloadResponse = await insertPayload(archivist, payloads) - expect(payloadResponse.length).toBe(payloads.length) + for (const bw of boundWitnesses) { + await delay(2) + const payloadResponse = await insertBlock(archivist, bw) + expect(payloadResponse.length).toBe(1) + } + for (const payload of payloads) { + await delay(2) + const payloadResponse = await insertPayload(archivist, payload) + expect(payloadResponse.length).toBe(1) + } }) describe('single address', () => { it.each([ @@ -54,31 +62,31 @@ describe('PayloadPointerDiviner', () => { [accountB, () => payloads[1]], ])('returns Payload signed by address', async (account, getData) => { const expected = getData() - const pointer = await createPointer([[(await account).address]], [[expected.schema]]) + const pointer = createPointer([[(await account).address]], [[expected.schema]]) const result = await sut.divine([pointer]) - expect(result).toEqual([expected]) + expect(PayloadBuilder.omitStorageMeta(result)).toEqual([expected]) }) }) describe('multiple address rules', () => { describe('combined serially', () => { it('returns Payload signed by both addresses', async () => { const expected = payloads[4] - const pointer = await createPointer([[(await accountC).address], [(await accountD).address]], [[expected.schema]]) + const pointer = createPointer([[(await accountC).address], [(await accountD).address]], [[expected.schema]]) const result = await sut.divine([pointer]) - expect(result).toEqual([expected]) + expect(PayloadBuilder.omitStorageMeta(result)).toEqual([expected]) }) }) describe('combined in parallel', () => { it('returns Payload signed by both address', async () => { const expected = payloads[4] - const pointer = await createPointer([[(await accountC).address, (await accountD).address]], [[expected.schema]]) + const pointer = createPointer([[(await accountC).address, (await accountD).address]], [[expected.schema]]) const result = await sut.divine([pointer]) - expect(result).toEqual([expected]) + expect(PayloadBuilder.omitStorageMeta(result)).toEqual([expected]) }) }) }) it('no matching address', async () => { - const pointer = await createPointer([[(await Account.random()).address]], [[payloads[0].schema]]) + const pointer = createPointer([[(await Account.random()).address]], [[payloads[0].schema]]) const result = await sut.divine([pointer]) expect(result).toEqual([]) }) diff --git a/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/Diviner.payloadPointer.schema.spec.ts b/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/Diviner.payloadPointer.schema.spec.ts index 818faac680..c5aaebe921 100644 --- a/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/Diviner.payloadPointer.schema.spec.ts +++ b/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/Diviner.payloadPointer.schema.spec.ts @@ -1,15 +1,14 @@ import '@xylabs/vitest-extended' +import { delay } from '@xylabs/delay' import { Account } from '@xyo-network/account' import type { ArchivistInstance } from '@xyo-network/archivist-model' import { BoundWitnessBuilder } from '@xyo-network/boundwitness-builder' import type { NodeInstance } from '@xyo-network/node-model' import { PayloadBuilder } from '@xyo-network/payload-builder' import type { Payload } from '@xyo-network/payload-model' -import { PayloadWrapper } from '@xyo-network/payload-wrapper' import { - beforeAll, - describe, expect, it, + beforeAll, describe, expect, it, } from 'vitest' import type { PayloadPointerDiviner } from '../Diviner.ts' @@ -28,14 +27,13 @@ describe('PayloadPointerDiviner', () => { const account = Account.random() const schemaA = getTestSchemaName() const schemaB = getTestSchemaName() - const payloadBaseA = (async () => PayloadBuilder.build({ - ...(await getNewPayload()), schema: schemaA, timestamp: Date.now(), - }))() - const payloadA: Promise = (async () => PayloadWrapper.wrap(await payloadBaseA))() - const payloadBaseB = (async () => PayloadBuilder.build({ - ...(await getNewPayload()), schema: schemaB, timestamp: Date.now(), - }))() - const payloadB: Promise = (async () => PayloadWrapper.wrap(await payloadBaseB))() + + const payloadA = { + ...getNewPayload(), schema: schemaA, salt: 1, + } + const payloadB = { + ...getNewPayload(), schema: schemaB, salt: 2, + } const schemas = [schemaA, schemaB] let node: NodeInstance let archivist: ArchivistInstance @@ -45,21 +43,26 @@ describe('PayloadPointerDiviner', () => { archivist = await getArchivist(node) sut = await getPayloadPointerDiviner(node) const [bw] = await new BoundWitnessBuilder() - .payloads([(await payloadA).payload, (await payloadB).payload]) + .payloads([payloadA, payloadB]) .witness(await account) .build() - const payloads: Payload[] = [bw, (await payloadA).payload, (await payloadB).payload] - const payloadResponse = await insertPayload(archivist, payloads) - expect(payloadResponse.length).toBe(payloads.length) + const payloads: Payload[] = [bw, payloadA, payloadB] + for (const payload of payloads) { + await delay(2) + const payloadResponse = await insertPayload(archivist, payload) + expect(payloadResponse.length).toBe(1) + } }) describe('single schema', () => { it.each([ [schemaA, payloadA], [schemaB, payloadB], ])('returns Payload of schema type', async (schema, expected) => { - const pointer = await createPointer([[]], [[schema]]) + const pointer = createPointer([[]], [[schema]]) const result = await sut.divine([pointer]) - expect(result).toEqual([(await expected).payload]) + expect(result).toBeArrayOfSize(1) + const [actual] = result + expect(PayloadBuilder.omitMeta(actual)).toEqual(expected) }) }) describe('single schema [w/address]', () => { @@ -67,15 +70,17 @@ describe('PayloadPointerDiviner', () => { [schemaA, payloadA], [schemaB, payloadB], ])('returns Payload of schema type', async (schema, expected) => { - const pointer = await createPointer([[(await account).address]], [[schema]]) + const pointer = createPointer([[(await account).address]], [[schema]]) const result = await sut.divine([pointer]) - expect(result).toEqual([(await expected).payload]) + expect(result).toBeArrayOfSize(1) + const [actual] = result + expect(PayloadBuilder.omitMeta(actual)).toEqual(expected) }) }) describe('multiple schema rules', () => { describe('combined serially', () => { it('returns Payload of either schema', async () => { - const pointer = await createPointer([[]], [[(await payloadA).schema(), (await payloadB).schema()]]) + const pointer = createPointer([[]], [[payloadA.schema, payloadB.schema]]) const results = await sut.divine([pointer]) expect(results).toBeDefined() expect(results).toBeArrayOfSize(1) @@ -86,7 +91,7 @@ describe('PayloadPointerDiviner', () => { }) describe('combined serially [w/address]', () => { it('returns Payload of either schema', async () => { - const pointer = await createPointer([[(await account).address]], [[(await payloadA).schema(), (await payloadB).schema()]]) + const pointer = createPointer([[(await account).address]], [[payloadA.schema, payloadB.schema]]) const results = await sut.divine([pointer]) expect(results).toBeDefined() expect(results).toBeArrayOfSize(1) @@ -97,7 +102,7 @@ describe('PayloadPointerDiviner', () => { }) describe('combined in parallel', () => { it('returns Payload of either schema', async () => { - const pointer = await createPointer([[]], [[(await payloadA).schema()], [(await payloadB).schema()]]) + const pointer = createPointer([[]], [[payloadA.schema], [payloadB.schema]]) const results = await sut.divine([pointer]) expect(results).toBeDefined() expect(results).toBeArrayOfSize(1) @@ -108,7 +113,7 @@ describe('PayloadPointerDiviner', () => { }) describe('combined in parallel [w/address]', () => { it('returns Payload of either schema', async () => { - const pointer = await createPointer([[(await account).address]], [[(await payloadA).schema()], [(await payloadB).schema()]]) + const pointer = createPointer([[(await account).address]], [[payloadA.schema], [payloadB.schema]]) const results = await sut.divine([pointer]) expect(results).toBeDefined() expect(results).toBeArrayOfSize(1) @@ -119,7 +124,7 @@ describe('PayloadPointerDiviner', () => { }) }) it('no matching schema', async () => { - const pointer = await createPointer([[(await account).address]], [['network.xyo.test']]) + const pointer = createPointer([[(await account).address]], [['network.xyo.test']]) const results = await sut.divine([pointer]) expect(results).toBeDefined() expect(results).toBeEmpty() diff --git a/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/Diviner.payloadPointer.timestamp.spec.ts b/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/Diviner.payloadPointer.sequence.spec.ts similarity index 66% rename from packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/Diviner.payloadPointer.timestamp.spec.ts rename to packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/Diviner.payloadPointer.sequence.spec.ts index b2cf368a10..797097b96d 100644 --- a/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/Diviner.payloadPointer.timestamp.spec.ts +++ b/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/Diviner.payloadPointer.sequence.spec.ts @@ -1,11 +1,13 @@ import '@xylabs/vitest-extended' import { assertEx } from '@xylabs/assert' +import { delay } from '@xylabs/delay' import type { AccountInstance } from '@xyo-network/account' import { Account } from '@xyo-network/account' import type { ArchivistInstance } from '@xyo-network/archivist-model' import type { NodeInstance } from '@xyo-network/node-model' -import type { Payload } from '@xyo-network/payload-model' +import { PayloadBuilder } from '@xyo-network/payload-builder' +import { type Payload, SequenceConstants } from '@xyo-network/payload-model' import { beforeAll, describe, expect, it, @@ -23,7 +25,7 @@ import { } from './testUtil/index.ts' describe('PayloadPointerDiviner', () => { - describe('with rules for [timestamp]', () => { + describe('with rules for [sequence]', () => { let account: AccountInstance let payloads: Payload[] let expectedSchema: string @@ -36,32 +38,39 @@ describe('PayloadPointerDiviner', () => { sut = await getPayloadPointerDiviner(node) account = await Account.random() const [bwA, payloadsA] = await getNewBoundWitness([account]) + await delay(2) const [bwB, payloadsB] = await getNewBoundWitness([account]) + await delay(2) const [bwC, payloadsC] = await getNewBoundWitness([account]) + await delay(2) payloads = [...payloadsA, ...payloadsB, ...payloadsC] const boundWitnesses = [bwA, bwB, bwC] expectedSchema = payloadsA[0].schema for (const bw of boundWitnesses) { + await delay(2) const blockResponse = await insertBlock(archivist, bw) expect(blockResponse.length).toBe(1) } - const payloadResponse = await insertPayload(archivist, payloads) - expect(payloadResponse.length).toBe(payloads.length) + for (const payload of payloads) { + await delay(2) + const payloadResponse = await insertPayload(archivist, payload) + expect(payloadResponse.length).toBe(1) + } }) it('ascending', async () => { const expected = assertEx(payloads.at(0)) - const pointer = await createPointer([[account.address]], [[expectedSchema]], 0, 'asc') + const pointer = createPointer([[account.address]], [[expectedSchema]], 'asc') const result = await sut.divine([pointer]) - expect(result).toEqual([expected]) + expect(PayloadBuilder.omitStorageMeta(result)).toEqual([expected]) }) it('descending', async () => { const expected = assertEx(payloads.at(-1)) - const pointer = await createPointer([[account.address]], [[expectedSchema]], Date.now(), 'desc') + const pointer = createPointer([[account.address]], [[expectedSchema]], 'desc') const result = await sut.divine([pointer]) - expect(result).toEqual([expected]) + expect(PayloadBuilder.omitStorageMeta(result)).toEqual([expected]) }) - it('no matching timestamp', async () => { - const pointer = await createPointer([[account.address]], [[expectedSchema]], Date.now(), 'asc') + it.only('no matching sequence', async () => { + const pointer = createPointer([[account.address]], [[expectedSchema]], 'asc', SequenceConstants.maxLocalSequence) const result = await sut.divine([pointer]) expect(result).toEqual([]) }) diff --git a/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/combineRules.spec.ts b/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/combineRules.spec.ts index 4b31a004c3..c212286a9a 100644 --- a/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/combineRules.spec.ts +++ b/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/combineRules.spec.ts @@ -1,20 +1,20 @@ import '@xylabs/vitest-extended' import type { - PayloadAddressRule, PayloadRule, PayloadSchemaRule, PayloadTimestampOrderRule, + PayloadAddressRule, PayloadRule, PayloadSchemaRule, PayloadSequenceOrderRule, } from '@xyo-network/diviner-payload-pointer-model' +import { SequenceConstants } from '@xyo-network/payload-model' import { - describe, expect, it, vi, + describe, expect, it, } from 'vitest' import { combineRules } from '../combineRules.ts' -// Mock Date.now -const now = Date.now() -vi.spyOn(Date, 'now').mockReturnValue(now) - const validRules = (): PayloadRule[][] => { - return [[{ schema: 'network.xyo.debug' }], [{ order: 'desc', timestamp: Date.now() }]] + return [ + [{ schema: 'network.xyo.debug' }], + [{ order: 'desc', sequence: SequenceConstants.maxLocalSequence }], + ] } describe('combineRules', () => { @@ -35,14 +35,14 @@ describe('combineRules', () => { combineRules(rules) }).toThrow() }) - describe('for timestamp defaults to', () => { - it('timestamp set to current time', () => { - const rules = validRules().filter(rule => !(rule?.[0] as PayloadTimestampOrderRule)?.timestamp) + describe('for sequence defaults to', () => { + it('sequence set to current time', () => { + const rules = validRules().filter(rule => !(rule?.[0] as PayloadSequenceOrderRule)?.sequence) const actual = combineRules(rules) - expect(actual.timestamp).toBe(+now) + expect(actual.cursor).toBe(undefined) }) it('direction defaults to desc', () => { - const rules = validRules().filter(rule => !(rule?.[0] as PayloadTimestampOrderRule)?.timestamp) + const rules = validRules().filter(rule => !(rule?.[0] as PayloadSequenceOrderRule)?.sequence) const actual = combineRules(rules) expect(actual.order).toBe('desc') }) @@ -59,18 +59,21 @@ describe('combineRules', () => { }) describe('with PayloadSchemaRule rules', () => { it('combines multiple rules', () => { - const rules: PayloadRule[][] = [[{ order: 'desc', timestamp: Date.now() }], [{ schema: 'network.xyo.test' }, { schema: 'network.xyo.debug' }]] + const rules: PayloadRule[][] = [ + [{ order: 'desc', sequence: SequenceConstants.maxLocalSequence }], + [{ schema: 'network.xyo.test' }, { schema: 'network.xyo.debug' }], + ] const actual = combineRules(rules) expect(actual.schemas.sort()).toEqual(['network.xyo.debug', 'network.xyo.test']) }) }) - describe('with PayloadTimestampDirectionRule rules', () => { + describe('with multiple PayloadSequenceDirectionRule rules', () => { it('should only allow one rule', () => { const rules: PayloadRule[][] = [ [{ schema: 'network.xyo.debug' }], [ - { order: 'desc', timestamp: Date.now() }, - { order: 'asc', timestamp: Date.now() }, + { order: 'desc', sequence: SequenceConstants.maxLocalSequence }, + { order: 'asc', sequence: SequenceConstants.minLocalSequence }, ], ] expect(() => { diff --git a/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/testUtil/Block/getNewBlock.ts b/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/testUtil/Block/getNewBlock.ts index fb0a2e158d..a7a01ea886 100644 --- a/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/testUtil/Block/getNewBlock.ts +++ b/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/testUtil/Block/getNewBlock.ts @@ -6,7 +6,7 @@ import { unitTestSigningAccount } from '../Account/index.ts' import { getNewPayloads } from '../Payload/index.ts' export const getNewBlock = async (...payloads: Payload[]): Promise => { - return (await (await new BoundWitnessBuilder().witness(await unitTestSigningAccount()).payloads(payloads)).build())[0] + return (await (new BoundWitnessBuilder().witness(await unitTestSigningAccount()).payloads(payloads)).build())[0] } export const getNewBlockWithPayloads = async (numPayloads = 1) => { @@ -28,7 +28,7 @@ export const getNewBlocksWithPayloads = async (numBoundWitnesses = 1, numPayload .fill(0) .map(async () => { return ( - await (await new BoundWitnessBuilder().witness(await unitTestSigningAccount()).payloads(await getNewPayloads(numPayloads))).build() + await (new BoundWitnessBuilder().witness(await unitTestSigningAccount()).payloads(await getNewPayloads(numPayloads))).build() )[0] }), ) diff --git a/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/testUtil/Block/insertBlock.ts b/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/testUtil/Block/insertBlock.ts index 7de1514634..53cc52c30e 100644 --- a/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/testUtil/Block/insertBlock.ts +++ b/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/testUtil/Block/insertBlock.ts @@ -1,10 +1,10 @@ import type { ArchivistInstance } from '@xyo-network/archivist-model' import type { BoundWitness } from '@xyo-network/boundwitness-model' -import type { Payload, WithMeta } from '@xyo-network/payload-model' +import type { Payload } from '@xyo-network/payload-model' import { getNewBlock } from './getNewBlock.ts' -export const insertBlock = async (archivist: ArchivistInstance, boundWitnesses?: BoundWitness | BoundWitness[]): Promise[]> => { +export const insertBlock = async (archivist: ArchivistInstance, boundWitnesses?: BoundWitness | BoundWitness[]): Promise => { boundWitnesses = boundWitnesses ?? (await getNewBlock()) const data = Array.isArray(boundWitnesses) ? boundWitnesses : [boundWitnesses] return archivist.insert(data) diff --git a/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/testUtil/BoundWitness/getNewBoundWitness.ts b/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/testUtil/BoundWitness/getNewBoundWitness.ts index 3768854057..2dde70e206 100644 --- a/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/testUtil/BoundWitness/getNewBoundWitness.ts +++ b/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/testUtil/BoundWitness/getNewBoundWitness.ts @@ -7,7 +7,7 @@ import { unitTestSigningAccount } from '../Account/index.ts' import { getNewPayloads } from '../Payload/index.ts' export const getNewBoundWitness = async (signers?: AccountInstance[], payloads?: Payload[]): Promise<[BoundWitness, Payload[], ModuleError[]]> => { - return await (await new BoundWitnessBuilder().payloads(payloads ?? (await getNewPayloads(1)))) + return await (new BoundWitnessBuilder().payloads(payloads ?? (await getNewPayloads(1)))) .witnesses(signers ?? [await unitTestSigningAccount()]) .build() } diff --git a/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/testUtil/Node/getTestNode.ts b/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/testUtil/Node/getTestNode.ts index 2363c61476..6c6430ddc3 100644 --- a/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/testUtil/Node/getTestNode.ts +++ b/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/testUtil/Node/getTestNode.ts @@ -1,8 +1,8 @@ import { MemoryArchivist, MemoryArchivistConfigSchema } from '@xyo-network/archivist-memory' import { MemoryBoundWitnessDiviner } from '@xyo-network/diviner-boundwitness-memory' import { BoundWitnessDivinerConfigSchema } from '@xyo-network/diviner-boundwitness-model' +import { GenericPayloadDivinerConfigSchema } from '@xyo-network/diviner-payload-generic' import { MemoryPayloadDiviner } from '@xyo-network/diviner-payload-memory' -import { PayloadDivinerConfigSchema } from '@xyo-network/diviner-payload-model' import type { PayloadPointerDivinerConfig } from '@xyo-network/diviner-payload-pointer-model' import { PayloadPointerDivinerConfigSchema } from '@xyo-network/diviner-payload-pointer-model' import { MemoryNode } from '@xyo-network/node-memory' @@ -16,12 +16,12 @@ export const PayloadDivinerName = 'PayloadDiviner' export const PayloadPointerDivinerName = 'PayloadPointerDiviner' export const getTestNode = async (): Promise => { - const node = await MemoryNode.create() + const node = await MemoryNode.create({ account: 'random' }) const archivist = await MemoryArchivist.create({ account: 'random', config: { schema: MemoryArchivistConfigSchema, name: ArchivistName } }) const payloadDiviner = await MemoryPayloadDiviner.create({ account: 'random', config: { - schema: PayloadDivinerConfigSchema, name: PayloadDivinerName, archivist: ArchivistName, + schema: GenericPayloadDivinerConfigSchema, name: PayloadDivinerName, archivist: ArchivistName, }, }) const boundWitnessDiviner = await MemoryBoundWitnessDiviner.create({ diff --git a/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/testUtil/Payload/getNewPayload.ts b/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/testUtil/Payload/getNewPayload.ts index 0c748389c9..4d4f5d8c46 100644 --- a/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/testUtil/Payload/getNewPayload.ts +++ b/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/testUtil/Payload/getNewPayload.ts @@ -4,11 +4,11 @@ import { v4 as uuid } from 'uuid' import { schema } from './schema.ts' -export const getNewPayload = async (): Promise => { +export const getNewPayload = (): Payload => { const fields = { schema: 'network.xyo.id', salt: uuid() } - return await new PayloadBuilder({ schema }).fields(fields).build() + return new PayloadBuilder({ schema }).fields(fields).build() } -export const getNewPayloads = async (numPayloads: number) => { - return await Promise.all(Array.from({ length: numPayloads }).fill(0).map(getNewPayload)) +export const getNewPayloads = (numPayloads: number) => { + return Array.from({ length: numPayloads }).fill(0).map(getNewPayload) } diff --git a/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/testUtil/Pointer/createPointer.ts b/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/testUtil/Pointer/createPointer.ts index 30621df5de..07478732cb 100644 --- a/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/testUtil/Pointer/createPointer.ts +++ b/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/testUtil/Pointer/createPointer.ts @@ -4,17 +4,19 @@ import type { PayloadPointerPayload, PayloadRule, PayloadSchemaRule, - PayloadTimestampOrderRule, + PayloadSequenceOrderRule, } from '@xyo-network/diviner-payload-pointer-model' import { PayloadPointerSchema } from '@xyo-network/diviner-payload-pointer-model' import { PayloadBuilder } from '@xyo-network/payload-builder' +import type { Sequence } from '@xyo-network/payload-model' +import { SequenceConstants } from '@xyo-network/payload-model' -export const createPointer = async ( +export const createPointer = ( addresses: string[][] = [], schemas: string[][] = [], - timestamp = Date.now(), order: Order = 'desc', -): Promise => { + sequence?: Sequence, +): PayloadPointerPayload => { const reference: PayloadRule[][] = [] const schemaRules: PayloadSchemaRule[][] = schemas.map((rules) => { @@ -31,8 +33,9 @@ export const createPointer = async ( }) if (addressRules.length > 0) reference.push(...addressRules) - const timestampRule: PayloadTimestampOrderRule = { order, timestamp } - reference.push([timestampRule]) + const sequenceOrderRule: PayloadSequenceOrderRule = { order } + if (sequence != SequenceConstants.minLocalSequence) sequenceOrderRule.sequence = sequence + reference.push([sequenceOrderRule]) - return await new PayloadBuilder({ schema: PayloadPointerSchema }).fields({ reference }).build() + return new PayloadBuilder({ schema: PayloadPointerSchema }).fields({ reference }).build() } diff --git a/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/tsconfig.json b/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/diviner/packages/payloadpointer/packages/memory/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/diviner/packages/payloadpointer/packages/model/.npmignore b/packages/modules/packages/diviner/packages/payloadpointer/packages/model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/payloadpointer/packages/model/.npmignore +++ b/packages/modules/packages/diviner/packages/payloadpointer/packages/model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/payloadpointer/packages/model/package.json b/packages/modules/packages/diviner/packages/payloadpointer/packages/model/package.json index 68a420fb8a..5902c45e03 100644 --- a/packages/modules/packages/diviner/packages/payloadpointer/packages/model/package.json +++ b/packages/modules/packages/diviner/packages/payloadpointer/packages/model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-payload-pointer-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,7 +29,8 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/hex": "^4.4.10", + "@xylabs/exists": "^4.4.25", + "@xylabs/hex": "^4.4.25", "@xyo-network/boundwitness-model": "workspace:^", "@xyo-network/diviner-model": "workspace:^", "@xyo-network/diviner-payload-model": "workspace:^", @@ -37,11 +38,12 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/payloadpointer/packages/model/src/Pointer/PayloadRules/PayloadRule.ts b/packages/modules/packages/diviner/packages/payloadpointer/packages/model/src/Pointer/PayloadRules/PayloadRule.ts index 0f18b7f8d5..9a73d2309d 100644 --- a/packages/modules/packages/diviner/packages/payloadpointer/packages/model/src/Pointer/PayloadRules/PayloadRule.ts +++ b/packages/modules/packages/diviner/packages/payloadpointer/packages/model/src/Pointer/PayloadRules/PayloadRule.ts @@ -1,5 +1,5 @@ import type { - PayloadAddressRule, PayloadSchemaRule, PayloadTimestampOrderRule, + PayloadAddressRule, PayloadSchemaRule, PayloadSequenceOrderRule, } from './Rules/index.ts' -export type PayloadRule = PayloadAddressRule | PayloadTimestampOrderRule | PayloadSchemaRule +export type PayloadRule = PayloadAddressRule | PayloadSequenceOrderRule | PayloadSchemaRule diff --git a/packages/modules/packages/diviner/packages/payloadpointer/packages/model/src/Pointer/PayloadRules/PayloadSearchCriteria.ts b/packages/modules/packages/diviner/packages/payloadpointer/packages/model/src/Pointer/PayloadRules/PayloadSearchCriteria.ts index 2918a72eab..411d5290d6 100644 --- a/packages/modules/packages/diviner/packages/payloadpointer/packages/model/src/Pointer/PayloadRules/PayloadSearchCriteria.ts +++ b/packages/modules/packages/diviner/packages/payloadpointer/packages/model/src/Pointer/PayloadRules/PayloadSearchCriteria.ts @@ -1,10 +1,10 @@ import type { Address } from '@xylabs/hex' import type { Order } from '@xyo-network/diviner-payload-model' -import type { Schema } from '@xyo-network/payload-model' +import type { Schema, Sequence } from '@xyo-network/payload-model' export interface PayloadSearchCriteria { addresses: Address[] + cursor?: Sequence order: Order schemas: Schema[] - timestamp: number } diff --git a/packages/modules/packages/diviner/packages/payloadpointer/packages/model/src/Pointer/PayloadRules/Rules/PayloadSequenceOrderRule.ts b/packages/modules/packages/diviner/packages/payloadpointer/packages/model/src/Pointer/PayloadRules/Rules/PayloadSequenceOrderRule.ts new file mode 100644 index 0000000000..9862896bd0 --- /dev/null +++ b/packages/modules/packages/diviner/packages/payloadpointer/packages/model/src/Pointer/PayloadRules/Rules/PayloadSequenceOrderRule.ts @@ -0,0 +1,8 @@ +import type { Order } from '@xyo-network/diviner-payload-model' +import type { Sequence } from '@xyo-network/payload-model' + +export interface PayloadSequenceOrderRule { + order?: Order + // timestamp: number + sequence?: Sequence +} diff --git a/packages/modules/packages/diviner/packages/payloadpointer/packages/model/src/Pointer/PayloadRules/Rules/PayloadTimestampDirectionRule.ts b/packages/modules/packages/diviner/packages/payloadpointer/packages/model/src/Pointer/PayloadRules/Rules/PayloadTimestampDirectionRule.ts deleted file mode 100644 index bfba5f4ea2..0000000000 --- a/packages/modules/packages/diviner/packages/payloadpointer/packages/model/src/Pointer/PayloadRules/Rules/PayloadTimestampDirectionRule.ts +++ /dev/null @@ -1,6 +0,0 @@ -import type { Order } from '@xyo-network/diviner-payload-model' - -export interface PayloadTimestampOrderRule { - order?: Order - timestamp: number -} diff --git a/packages/modules/packages/diviner/packages/payloadpointer/packages/model/src/Pointer/PayloadRules/Rules/index.ts b/packages/modules/packages/diviner/packages/payloadpointer/packages/model/src/Pointer/PayloadRules/Rules/index.ts index 7e76c9ec74..0bfc418e81 100644 --- a/packages/modules/packages/diviner/packages/payloadpointer/packages/model/src/Pointer/PayloadRules/Rules/index.ts +++ b/packages/modules/packages/diviner/packages/payloadpointer/packages/model/src/Pointer/PayloadRules/Rules/index.ts @@ -1,3 +1,3 @@ export * from './PayloadAddressRule.ts' export * from './PayloadSchemaRule.ts' -export * from './PayloadTimestampDirectionRule.ts' +export * from './PayloadSequenceOrderRule.ts' diff --git a/packages/modules/packages/diviner/packages/payloadpointer/packages/model/src/Pointer/PayloadRules/TypePredicates/index.ts b/packages/modules/packages/diviner/packages/payloadpointer/packages/model/src/Pointer/PayloadRules/TypePredicates/index.ts index fcb1105cfc..8eb3480ec0 100644 --- a/packages/modules/packages/diviner/packages/payloadpointer/packages/model/src/Pointer/PayloadRules/TypePredicates/index.ts +++ b/packages/modules/packages/diviner/packages/payloadpointer/packages/model/src/Pointer/PayloadRules/TypePredicates/index.ts @@ -1,3 +1,3 @@ export * from './isPayloadAddressRule.ts' export * from './isPayloadSchemaRule.ts' -export * from './isPayloadTimestampDirectionRule.ts' +export * from './isPayloadSequenceOrderRule.ts' diff --git a/packages/modules/packages/diviner/packages/payloadpointer/packages/model/src/Pointer/PayloadRules/TypePredicates/isPayloadSequenceOrderRule.ts b/packages/modules/packages/diviner/packages/payloadpointer/packages/model/src/Pointer/PayloadRules/TypePredicates/isPayloadSequenceOrderRule.ts new file mode 100644 index 0000000000..def2d5fd01 --- /dev/null +++ b/packages/modules/packages/diviner/packages/payloadpointer/packages/model/src/Pointer/PayloadRules/TypePredicates/isPayloadSequenceOrderRule.ts @@ -0,0 +1,17 @@ +import { exists } from '@xylabs/exists' +import { isSequence } from '@xyo-network/payload-model' + +import type { PayloadRule } from '../PayloadRule.ts' +import type { PayloadSequenceOrderRule } from '../Rules/index.ts' + +export const isPayloadSequenceOrderRule = (rule: PayloadRule): rule is PayloadSequenceOrderRule => { + const { order, sequence } = rule as Partial + // If sequence is defined, but not a sequence, it's not a PayloadSequenceOrderRule + if (exists(sequence) && !isSequence(sequence)) return false + // If neither order or sequence is defined, it's not a PayloadSequenceOrderRule + if (!exists(order) && !exists(sequence)) return false + // If order is defined, but not a valid order, it's not a PayloadSequenceOrderRule + if (order && order !== 'asc' && order !== 'desc') return false + // It's a PayloadSequenceOrderRule + return true +} diff --git a/packages/modules/packages/diviner/packages/payloadpointer/packages/model/src/Pointer/PayloadRules/TypePredicates/isPayloadTimestampDirectionRule.ts b/packages/modules/packages/diviner/packages/payloadpointer/packages/model/src/Pointer/PayloadRules/TypePredicates/isPayloadTimestampDirectionRule.ts deleted file mode 100644 index c082834e1e..0000000000 --- a/packages/modules/packages/diviner/packages/payloadpointer/packages/model/src/Pointer/PayloadRules/TypePredicates/isPayloadTimestampDirectionRule.ts +++ /dev/null @@ -1,6 +0,0 @@ -import type { PayloadRule } from '../PayloadRule.ts' -import type { PayloadTimestampOrderRule } from '../Rules/index.ts' - -export const isPayloadTimestampOrderRule = (rule: PayloadRule): rule is PayloadTimestampOrderRule => { - return typeof (rule as PayloadTimestampOrderRule)?.timestamp === 'number' -} diff --git a/packages/modules/packages/diviner/packages/payloadstats/.npmignore b/packages/modules/packages/diviner/packages/payloadstats/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/payloadstats/.npmignore +++ b/packages/modules/packages/diviner/packages/payloadstats/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/payloadstats/package.json b/packages/modules/packages/diviner/packages/payloadstats/package.json index 4c38df9929..cc3f62ae7c 100644 --- a/packages/modules/packages/diviner/packages/payloadstats/package.json +++ b/packages/modules/packages/diviner/packages/payloadstats/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-payload-stats", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -34,11 +34,12 @@ "@xyo-network/diviner-payload-stats-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/payloadstats/packages/abstract/.npmignore b/packages/modules/packages/diviner/packages/payloadstats/packages/abstract/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/payloadstats/packages/abstract/.npmignore +++ b/packages/modules/packages/diviner/packages/payloadstats/packages/abstract/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/payloadstats/packages/abstract/package.json b/packages/modules/packages/diviner/packages/payloadstats/packages/abstract/package.json index 5fcc9f6e4f..4a50f8c239 100644 --- a/packages/modules/packages/diviner/packages/payloadstats/packages/abstract/package.json +++ b/packages/modules/packages/diviner/packages/payloadstats/packages/abstract/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-payload-stats-abstract", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -35,11 +35,12 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/payloadstats/packages/memory/.npmignore b/packages/modules/packages/diviner/packages/payloadstats/packages/memory/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/payloadstats/packages/memory/.npmignore +++ b/packages/modules/packages/diviner/packages/payloadstats/packages/memory/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/payloadstats/packages/memory/package.json b/packages/modules/packages/diviner/packages/payloadstats/packages/memory/package.json index 87d6bbeb7f..682f0713a9 100644 --- a/packages/modules/packages/diviner/packages/payloadstats/packages/memory/package.json +++ b/packages/modules/packages/diviner/packages/payloadstats/packages/memory/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-payload-stats-memory", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,8 +29,8 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/hex": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/hex": "^4.4.25", "@xyo-network/boundwitness-model": "workspace:^", "@xyo-network/diviner-payload-stats-abstract": "workspace:^", "@xyo-network/diviner-payload-stats-model": "workspace:^", @@ -38,11 +38,12 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/payloadstats/packages/memory/src/MemoryPayloadStatsDiviner.ts b/packages/modules/packages/diviner/packages/payloadstats/packages/memory/src/MemoryPayloadStatsDiviner.ts index 63d0cd6c8e..e6b98a3d69 100644 --- a/packages/modules/packages/diviner/packages/payloadstats/packages/memory/src/MemoryPayloadStatsDiviner.ts +++ b/packages/modules/packages/diviner/packages/payloadstats/packages/memory/src/MemoryPayloadStatsDiviner.ts @@ -1,6 +1,6 @@ import { assertEx } from '@xylabs/assert' import type { Address } from '@xylabs/hex' -import { isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model' +import { isBoundWitnessWithStorageMeta } from '@xyo-network/boundwitness-model' import { PayloadStatsDiviner } from '@xyo-network/diviner-payload-stats-abstract' import type { PayloadStatsDivinerParams, @@ -23,7 +23,7 @@ export class MemoryPayloadStatsDiviner 'Unable to resolve archivist') const all = await assertEx(archivist.all, () => 'Archivist does not support "all"')() return all - .filter(isBoundWitnessWithMeta) + .filter(isBoundWitnessWithStorageMeta) .filter(bw => bw.addresses.includes(address)) .map(bw => bw.payload_hashes.length) .reduce((total, count) => total + count, 0) diff --git a/packages/modules/packages/diviner/packages/payloadstats/packages/model/.npmignore b/packages/modules/packages/diviner/packages/payloadstats/packages/model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/payloadstats/packages/model/.npmignore +++ b/packages/modules/packages/diviner/packages/payloadstats/packages/model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/payloadstats/packages/model/package.json b/packages/modules/packages/diviner/packages/payloadstats/packages/model/package.json index 36d110438d..de304995ea 100644 --- a/packages/modules/packages/diviner/packages/payloadstats/packages/model/package.json +++ b/packages/modules/packages/diviner/packages/payloadstats/packages/model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-payload-stats-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -34,11 +34,12 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/range/.npmignore b/packages/modules/packages/diviner/packages/range/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/range/.npmignore +++ b/packages/modules/packages/diviner/packages/range/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/range/package.json b/packages/modules/packages/diviner/packages/range/package.json index e07faf9289..a9c8cf891b 100644 --- a/packages/modules/packages/diviner/packages/range/package.json +++ b/packages/modules/packages/diviner/packages/range/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-range", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,7 +29,7 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/hex": "^4.4.10", + "@xylabs/hex": "^4.4.25", "@xyo-network/diviner-abstract": "workspace:^", "@xyo-network/diviner-model": "workspace:^", "@xyo-network/diviner-range-model": "workspace:^", @@ -37,13 +37,14 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/range/packages/model/.npmignore b/packages/modules/packages/diviner/packages/range/packages/model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/range/packages/model/.npmignore +++ b/packages/modules/packages/diviner/packages/range/packages/model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/range/packages/model/package.json b/packages/modules/packages/diviner/packages/range/packages/model/package.json index 95c0c930fc..72128572e3 100644 --- a/packages/modules/packages/diviner/packages/range/packages/model/package.json +++ b/packages/modules/packages/diviner/packages/range/packages/model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-range-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,16 +29,17 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/hex": "^4.4.10", + "@xylabs/hex": "^4.4.25", "@xyo-network/diviner-model": "workspace:^", "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/range/src/spec/tsconfig.json b/packages/modules/packages/diviner/packages/range/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/diviner/packages/range/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/diviner/packages/schemalist/.npmignore b/packages/modules/packages/diviner/packages/schemalist/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/schemalist/.npmignore +++ b/packages/modules/packages/diviner/packages/schemalist/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/schemalist/package.json b/packages/modules/packages/diviner/packages/schemalist/package.json index 5fb0968a78..e5a1700650 100644 --- a/packages/modules/packages/diviner/packages/schemalist/package.json +++ b/packages/modules/packages/diviner/packages/schemalist/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-schema-list", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -34,11 +34,12 @@ "@xyo-network/diviner-schema-list-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/schemalist/packages/abstract/.npmignore b/packages/modules/packages/diviner/packages/schemalist/packages/abstract/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/schemalist/packages/abstract/.npmignore +++ b/packages/modules/packages/diviner/packages/schemalist/packages/abstract/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/schemalist/packages/abstract/package.json b/packages/modules/packages/diviner/packages/schemalist/packages/abstract/package.json index 0f6a34fee0..b1058217c1 100644 --- a/packages/modules/packages/diviner/packages/schemalist/packages/abstract/package.json +++ b/packages/modules/packages/diviner/packages/schemalist/packages/abstract/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-schema-list-abstract", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -35,11 +35,12 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/schemalist/packages/memory/.npmignore b/packages/modules/packages/diviner/packages/schemalist/packages/memory/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/schemalist/packages/memory/.npmignore +++ b/packages/modules/packages/diviner/packages/schemalist/packages/memory/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/schemalist/packages/memory/package.json b/packages/modules/packages/diviner/packages/schemalist/packages/memory/package.json index a057ffabe8..7e4ded74ba 100644 --- a/packages/modules/packages/diviner/packages/schemalist/packages/memory/package.json +++ b/packages/modules/packages/diviner/packages/schemalist/packages/memory/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-schema-list-memory", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,9 +29,9 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/array": "^4.4.10", - "@xylabs/assert": "^4.4.10", - "@xylabs/hex": "^4.4.10", + "@xylabs/array": "^4.4.25", + "@xylabs/assert": "^4.4.25", + "@xylabs/hex": "^4.4.25", "@xyo-network/boundwitness-model": "workspace:^", "@xyo-network/diviner-schema-list-abstract": "workspace:^", "@xyo-network/diviner-schema-list-model": "workspace:^", @@ -39,11 +39,12 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/schemalist/packages/memory/src/MemorySchemaListDiviner.ts b/packages/modules/packages/diviner/packages/schemalist/packages/memory/src/MemorySchemaListDiviner.ts index a989a19ba2..cc727f3acb 100644 --- a/packages/modules/packages/diviner/packages/schemalist/packages/memory/src/MemorySchemaListDiviner.ts +++ b/packages/modules/packages/diviner/packages/schemalist/packages/memory/src/MemorySchemaListDiviner.ts @@ -1,7 +1,7 @@ import { distinct } from '@xylabs/array' import { assertEx } from '@xylabs/assert' import type { Address } from '@xylabs/hex' -import { isBoundWitness, isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model' +import { isBoundWitnessWithStorageMeta } from '@xyo-network/boundwitness-model' import { SchemaListDiviner } from '@xyo-network/diviner-schema-list-abstract' import type { SchemaListDivinerParams, @@ -24,8 +24,7 @@ export class MemorySchemaListDiviner 'Unable to resolve archivist') const all = await assertEx(archivist.all, () => 'Archivist does not support "all"')() const filtered = all - .filter(isBoundWitness) - .filter(isBoundWitnessWithMeta) + .filter(isBoundWitnessWithStorageMeta) .filter(bw => bw.addresses.includes(address)) return filtered.flatMap(bw => bw.payload_schemas).filter(distinct) } diff --git a/packages/modules/packages/diviner/packages/schemalist/packages/model/.npmignore b/packages/modules/packages/diviner/packages/schemalist/packages/model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/schemalist/packages/model/.npmignore +++ b/packages/modules/packages/diviner/packages/schemalist/packages/model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/schemalist/packages/model/package.json b/packages/modules/packages/diviner/packages/schemalist/packages/model/package.json index 7f5319a50b..07dde465cf 100644 --- a/packages/modules/packages/diviner/packages/schemalist/packages/model/package.json +++ b/packages/modules/packages/diviner/packages/schemalist/packages/model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-schema-list-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -34,11 +34,12 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/schemastats/.npmignore b/packages/modules/packages/diviner/packages/schemastats/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/schemastats/.npmignore +++ b/packages/modules/packages/diviner/packages/schemastats/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/schemastats/package.json b/packages/modules/packages/diviner/packages/schemastats/package.json index 0c1c2e9140..4a08709992 100644 --- a/packages/modules/packages/diviner/packages/schemastats/package.json +++ b/packages/modules/packages/diviner/packages/schemastats/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-schema-stats", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -34,11 +34,12 @@ "@xyo-network/diviner-schema-stats-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/schemastats/packages/abstract/.npmignore b/packages/modules/packages/diviner/packages/schemastats/packages/abstract/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/schemastats/packages/abstract/.npmignore +++ b/packages/modules/packages/diviner/packages/schemastats/packages/abstract/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/schemastats/packages/abstract/package.json b/packages/modules/packages/diviner/packages/schemastats/packages/abstract/package.json index 1a0fcfd1dd..f9529852f4 100644 --- a/packages/modules/packages/diviner/packages/schemastats/packages/abstract/package.json +++ b/packages/modules/packages/diviner/packages/schemastats/packages/abstract/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-schema-stats-abstract", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -35,11 +35,12 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/schemastats/packages/memory/.npmignore b/packages/modules/packages/diviner/packages/schemastats/packages/memory/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/schemastats/packages/memory/.npmignore +++ b/packages/modules/packages/diviner/packages/schemastats/packages/memory/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/schemastats/packages/memory/package.json b/packages/modules/packages/diviner/packages/schemastats/packages/memory/package.json index bea023126c..808d1c8223 100644 --- a/packages/modules/packages/diviner/packages/schemastats/packages/memory/package.json +++ b/packages/modules/packages/diviner/packages/schemastats/packages/memory/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-schema-stats-memory", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,8 +29,8 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/hex": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/hex": "^4.4.25", "@xyo-network/boundwitness-model": "workspace:^", "@xyo-network/diviner-schema-stats-abstract": "workspace:^", "@xyo-network/diviner-schema-stats-model": "workspace:^", @@ -38,11 +38,12 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/schemastats/packages/memory/src/MemorySchemaStatsDiviner.ts b/packages/modules/packages/diviner/packages/schemastats/packages/memory/src/MemorySchemaStatsDiviner.ts index d09699b918..216cc3bfa9 100644 --- a/packages/modules/packages/diviner/packages/schemastats/packages/memory/src/MemorySchemaStatsDiviner.ts +++ b/packages/modules/packages/diviner/packages/schemastats/packages/memory/src/MemorySchemaStatsDiviner.ts @@ -1,6 +1,6 @@ import { assertEx } from '@xylabs/assert' import type { Address } from '@xylabs/hex' -import { isBoundWitness, isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model' +import { isBoundWitnessWithStorageMeta } from '@xyo-network/boundwitness-model' import { SchemaStatsDiviner } from '@xyo-network/diviner-schema-stats-abstract' import type { SchemaStatsDivinerParams, @@ -23,8 +23,7 @@ export class MemorySchemaStatsDiviner 'Unable to resolve archivist') const all = await assertEx(archivist.all, () => 'Archivist does not support "all"')() const filtered = all - .filter(isBoundWitness) - .filter(isBoundWitnessWithMeta) + .filter(isBoundWitnessWithStorageMeta) .filter(bw => bw.addresses.includes(address)) // eslint-disable-next-line unicorn/no-array-reduce const counts: Record = filtered.reduce( diff --git a/packages/modules/packages/diviner/packages/schemastats/packages/model/.npmignore b/packages/modules/packages/diviner/packages/schemastats/packages/model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/schemastats/packages/model/.npmignore +++ b/packages/modules/packages/diviner/packages/schemastats/packages/model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/schemastats/packages/model/package.json b/packages/modules/packages/diviner/packages/schemastats/packages/model/package.json index 6d8b51f853..762db48097 100644 --- a/packages/modules/packages/diviner/packages/schemastats/packages/model/package.json +++ b/packages/modules/packages/diviner/packages/schemastats/packages/model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-schema-stats-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -34,11 +34,12 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/stateful/.npmignore b/packages/modules/packages/diviner/packages/stateful/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/stateful/.npmignore +++ b/packages/modules/packages/diviner/packages/stateful/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/stateful/package.json b/packages/modules/packages/diviner/packages/stateful/package.json index 81593dd8ff..882193501c 100644 --- a/packages/modules/packages/diviner/packages/stateful/package.json +++ b/packages/modules/packages/diviner/packages/stateful/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-stateful", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,8 +29,9 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/hex": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/hex": "^4.4.25", + "@xylabs/object": "^4.4.25", "@xyo-network/archivist-model": "workspace:^", "@xyo-network/archivist-wrapper": "workspace:^", "@xyo-network/boundwitness-builder": "workspace:^", @@ -44,9 +45,9 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/account": "workspace:^", "@xyo-network/archivist-memory": "workspace:^", "@xyo-network/diviner-boundwitness-memory": "workspace:^", @@ -59,5 +60,6 @@ }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/stateful/src/Diviner.ts b/packages/modules/packages/diviner/packages/stateful/src/Diviner.ts index 85ebf591b6..9cbc9d30f0 100644 --- a/packages/modules/packages/diviner/packages/stateful/src/Diviner.ts +++ b/packages/modules/packages/diviner/packages/stateful/src/Diviner.ts @@ -1,5 +1,6 @@ import { assertEx } from '@xylabs/assert' import type { Hash } from '@xylabs/hex' +import { toJson } from '@xylabs/object' import { ArchivistWrapper } from '@xyo-network/archivist-wrapper' import { BoundWitnessBuilder } from '@xyo-network/boundwitness-builder' import { isBoundWitness } from '@xyo-network/boundwitness-model' @@ -11,8 +12,9 @@ import { DivinerWrapper } from '@xyo-network/diviner-wrapper' import type { ModuleState, StateDictionary } from '@xyo-network/module-model' import { isModuleState, ModuleStateSchema } from '@xyo-network/module-model' import { PayloadBuilder } from '@xyo-network/payload-builder' -import type { - Payload, Schema, WithMeta, +import { + type Payload, type Schema, SequenceConstants, + type WithStorageMeta, } from '@xyo-network/payload-model' import { StatefulDivinerConfigSchema } from './Config.ts' @@ -40,7 +42,7 @@ export abstract class StatefulDiviner< /** * The last state */ - protected _lastState?: WithMeta> + protected _lastState?: ModuleState /** * Commit the internal state of the Diviner process. This is similar @@ -49,9 +51,9 @@ export abstract class StatefulDiviner< * external stores. * @param nextState The state to commit */ - protected async commitState(nextState: WithMeta>) { + protected async commitState(nextState: ModuleState) { // Don't commit state if no state has changed - if (nextState.state.offset === this._lastState?.state.offset) return + if (toJson(nextState.state) === toJson(this._lastState?.state)) return this._lastState = nextState const archivist = await this.getArchivistForStateStore() const [bw] = await new BoundWitnessBuilder().payload(nextState).signer(this.account).build() @@ -95,7 +97,7 @@ export abstract class StatefulDiviner< * Retrieves the last state of the Diviner process. Used to recover state after * preemptions, reboots, etc. */ - protected async retrieveState(): Promise> | undefined> { + protected async retrieveState(): Promise | undefined> { if (this._lastState) return this._lastState let hash: Hash = '' const diviner = await this.getBoundWitnessDivinerForStateStore() @@ -103,7 +105,7 @@ export abstract class StatefulDiviner< .fields({ address: this.account.address, limit: 1, - offset: 0, + cursor: SequenceConstants.minLocalSequence, order: 'desc', payload_schemas: [ModuleStateSchema], }) @@ -130,7 +132,7 @@ export abstract class StatefulDiviner< const archivist = await this.getArchivistForStateStore() const payload = (await archivist.get([hash])).find(isModuleState) if (payload) { - return payload as WithMeta> + return payload as WithStorageMeta> } } return undefined diff --git a/packages/modules/packages/diviner/packages/stateful/src/DivinerMixin.ts b/packages/modules/packages/diviner/packages/stateful/src/DivinerMixin.ts index df3666dee3..01129236c6 100644 --- a/packages/modules/packages/diviner/packages/stateful/src/DivinerMixin.ts +++ b/packages/modules/packages/diviner/packages/stateful/src/DivinerMixin.ts @@ -1,5 +1,6 @@ import { assertEx } from '@xylabs/assert' import type { Hash } from '@xylabs/hex' +import { toJson } from '@xylabs/object' import { asArchivistInstance } from '@xyo-network/archivist-model' import { BoundWitnessBuilder } from '@xyo-network/boundwitness-builder' import { isBoundWitness } from '@xyo-network/boundwitness-model' @@ -18,7 +19,7 @@ import { ModuleStateSchema, } from '@xyo-network/module-model' import { PayloadBuilder } from '@xyo-network/payload-builder' -import type { WithMeta } from '@xyo-network/payload-model' +import { SequenceConstants, type WithStorageMeta } from '@xyo-network/payload-model' import type { StatefulDivinerConfig } from './Config.ts' @@ -42,7 +43,7 @@ export const StatefulModuleMixin = < ModuleBase: TModule, ) => { abstract class StatefulModuleBase extends ModuleBase { - _lastState?: WithMeta> + _lastState?: ModuleState /** * Commit the internal state of the Diviner process. This is similar @@ -51,9 +52,9 @@ export const StatefulModuleMixin = < * external stores. * @param nextState The state to commit */ - async commitState(nextState: WithMeta>) { + async commitState(nextState: ModuleState) { // Don't commit state if no state has changed - if (nextState.state.offset === this._lastState?.state.offset) return + if (toJson(nextState.state) === toJson(this._lastState?.state)) return this._lastState = nextState const archivist = await this.getArchivistForStore() // const [bw] = await new BoundWitnessBuilder().payload(nextState).signer(this.account).build() @@ -107,7 +108,7 @@ export const StatefulModuleMixin = < * Retrieves the last state of the Diviner process. Used to recover state after * preemptions, reboots, etc. */ - async retrieveState(): Promise> | undefined> { + async retrieveState(): Promise | undefined> { if (this._lastState) return this._lastState let hash: Hash = '' const diviner = await this.getBoundWitnessDivinerForStore() @@ -115,7 +116,7 @@ export const StatefulModuleMixin = < .fields({ // address: this.account.address, limit: 1, - offset: 0, + cursor: SequenceConstants.minLocalSequence, order: 'desc', payload_schemas: [ModuleStateSchema], }) @@ -142,7 +143,7 @@ export const StatefulModuleMixin = < const archivist = await this.getArchivistForStore() const payload = (await archivist.get([hash])).find(isModuleState) if (payload) { - return payload as WithMeta> + return payload as WithStorageMeta> } } return undefined diff --git a/packages/modules/packages/diviner/packages/stateful/src/spec/Diviner.spec.ts b/packages/modules/packages/diviner/packages/stateful/src/spec/Diviner.spec.ts index 88a7f8f087..0d226fa508 100644 --- a/packages/modules/packages/diviner/packages/stateful/src/spec/Diviner.spec.ts +++ b/packages/modules/packages/diviner/packages/stateful/src/spec/Diviner.spec.ts @@ -11,8 +11,7 @@ import { ManifestWrapper } from '@xyo-network/manifest' import { ModuleFactoryLocator } from '@xyo-network/module-factory-locator' import type { ModuleState } from '@xyo-network/module-model' import type { MemoryNode } from '@xyo-network/node-memory' -import { PayloadBuilder } from '@xyo-network/payload-builder' -import type { Payload, WithMeta } from '@xyo-network/payload-model' +import type { Payload } from '@xyo-network/payload-model' import { beforeAll, describe, expect, it, @@ -22,7 +21,7 @@ import { StatefulDiviner } from '../Diviner.ts' import TestManifest from './TestManifest.json' assert {type: 'json'} class TestStatefulDiviner extends StatefulDiviner { - callCommitState(state: WithMeta) { + callCommitState(state: ModuleState) { return this.commitState(state) } @@ -77,7 +76,7 @@ describe('TestStatefulDiviner', () => { ] it.each(cases)('returns state', async (state) => { - await sut.callCommitState(await PayloadBuilder.build(state)) + await sut.callCommitState(state) const results = await sut.callRetrieveState() expect(results).toMatchObject(state) }) diff --git a/packages/modules/packages/diviner/packages/stateful/src/spec/tsconfig.json b/packages/modules/packages/diviner/packages/stateful/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/diviner/packages/stateful/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/diviner/packages/transform/.npmignore b/packages/modules/packages/diviner/packages/transform/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/transform/.npmignore +++ b/packages/modules/packages/diviner/packages/transform/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/transform/package.json b/packages/modules/packages/diviner/packages/transform/package.json index 971d999908..07bed3a140 100644 --- a/packages/modules/packages/diviner/packages/transform/package.json +++ b/packages/modules/packages/diviner/packages/transform/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-transform", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -34,11 +34,12 @@ "@xyo-network/diviner-transform-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/transform/packages/abstract/.npmignore b/packages/modules/packages/diviner/packages/transform/packages/abstract/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/transform/packages/abstract/.npmignore +++ b/packages/modules/packages/diviner/packages/transform/packages/abstract/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/transform/packages/abstract/package.json b/packages/modules/packages/diviner/packages/transform/packages/abstract/package.json index 694e932e57..04d5a35b92 100644 --- a/packages/modules/packages/diviner/packages/transform/packages/abstract/package.json +++ b/packages/modules/packages/diviner/packages/transform/packages/abstract/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-transform-abstract", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -36,11 +36,12 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/transform/packages/memory/.npmignore b/packages/modules/packages/diviner/packages/transform/packages/memory/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/transform/packages/memory/.npmignore +++ b/packages/modules/packages/diviner/packages/transform/packages/memory/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/transform/packages/memory/package.json b/packages/modules/packages/diviner/packages/transform/packages/memory/package.json index 310e5457c7..1016963e42 100644 --- a/packages/modules/packages/diviner/packages/transform/packages/memory/package.json +++ b/packages/modules/packages/diviner/packages/transform/packages/memory/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-transform-memory", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -37,14 +37,15 @@ }, "devDependencies": { "@types/jsonpath": "^0.2.4", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/account": "workspace:^", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/transform/packages/memory/spec/Diviner.spec.ts b/packages/modules/packages/diviner/packages/transform/packages/memory/spec/Diviner.spec.ts index d58cb8cca2..034f7ad3fd 100644 --- a/packages/modules/packages/diviner/packages/transform/packages/memory/spec/Diviner.spec.ts +++ b/packages/modules/packages/diviner/packages/transform/packages/memory/spec/Diviner.spec.ts @@ -6,7 +6,7 @@ import type { Transform } from '@xyo-network/diviner-transform-model' import { TransformDivinerConfigSchema } from '@xyo-network/diviner-transform-model' import type { Payload } from '@xyo-network/payload-model' import type { Value } from '@xyo-network/value-payload-plugin' -import { isValuePayloadWithMeta, ValueSchema } from '@xyo-network/value-payload-plugin' +import { isValuePayload, ValueSchema } from '@xyo-network/value-payload-plugin' import { beforeAll, describe, expect, it, @@ -61,7 +61,7 @@ describe('MemoryTransformDiviner', () => { sut = await MemoryTransformDiviner.create({ account, config }) const result = await sut.divine([payload]) expect(result).toBeArrayOfSize(1) - const actual = result.find(isValuePayloadWithMeta) + const actual = result.find(isValuePayload) expect(actual).toBeDefined() expect(actual?.value).toBeObject() expect(actual).toMatchObject(expected) diff --git a/packages/modules/packages/diviner/packages/transform/packages/memory/spec/tsconfig.json b/packages/modules/packages/diviner/packages/transform/packages/memory/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/diviner/packages/transform/packages/memory/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/diviner/packages/transform/packages/model/.npmignore b/packages/modules/packages/diviner/packages/transform/packages/model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/transform/packages/model/.npmignore +++ b/packages/modules/packages/diviner/packages/transform/packages/model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/transform/packages/model/package.json b/packages/modules/packages/diviner/packages/transform/packages/model/package.json index b4746939e8..d5f49a3de6 100644 --- a/packages/modules/packages/diviner/packages/transform/packages/model/package.json +++ b/packages/modules/packages/diviner/packages/transform/packages/model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-transform-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,16 +29,17 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/object": "^4.4.10", + "@xylabs/object": "^4.4.25", "@xyo-network/diviner-model": "workspace:^", "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/wrapper/.npmignore b/packages/modules/packages/diviner/packages/wrapper/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/diviner/packages/wrapper/.npmignore +++ b/packages/modules/packages/diviner/packages/wrapper/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/diviner/packages/wrapper/package.json b/packages/modules/packages/diviner/packages/wrapper/package.json index 7bc2732ec4..6ed28ed668 100644 --- a/packages/modules/packages/diviner/packages/wrapper/package.json +++ b/packages/modules/packages/diviner/packages/wrapper/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/diviner-wrapper", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,7 +29,7 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/retry": "^4.4.10", + "@xylabs/retry": "^4.4.25", "@xyo-network/account-model": "workspace:^", "@xyo-network/diviner-model": "workspace:^", "@xyo-network/module-model": "workspace:^", @@ -37,9 +37,9 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/diviner-identity": "workspace:^", "@xyo-network/payload-builder": "workspace:^", "typescript": "^5.7.2", @@ -47,5 +47,6 @@ }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/diviner/packages/wrapper/src/DivinerWrapper.ts b/packages/modules/packages/diviner/packages/wrapper/src/DivinerWrapper.ts index 2f06bee18c..0c48ad7ce9 100644 --- a/packages/modules/packages/diviner/packages/wrapper/src/DivinerWrapper.ts +++ b/packages/modules/packages/diviner/packages/wrapper/src/DivinerWrapper.ts @@ -14,7 +14,7 @@ import { import type { ModuleQueryResult } from '@xyo-network/module-model' import { constructableModuleWrapper, ModuleWrapper } from '@xyo-network/module-wrapper' import type { - Payload, WithMeta, WithSources, + Payload, WithoutPrivateStorageMeta, WithSources, } from '@xyo-network/payload-model' constructableModuleWrapper() @@ -25,7 +25,7 @@ export class DivinerWrapper, static override moduleIdentityCheck = isDivinerModule static override requiredQueries = [DivinerDivineQuerySchema, ...super.requiredQueries] - async divine(payloads?: TIn[], _retryConfig?: RetryConfig): Promise>[]> { + async divine(payloads?: TIn[], _retryConfig?: RetryConfig): Promise>[]> { const queryPayload: DivinerDivineQuery = { schema: DivinerDivineQuerySchema } return await this.sendQuery(queryPayload, payloads) } diff --git a/packages/modules/packages/diviner/packages/wrapper/src/spec/tsconfig.json b/packages/modules/packages/diviner/packages/wrapper/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/diviner/packages/wrapper/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/module/.npmignore b/packages/modules/packages/module/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/module/.npmignore +++ b/packages/modules/packages/module/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/module/package.json b/packages/modules/packages/module/package.json index f3b804e169..01a0e58d50 100644 --- a/packages/modules/packages/module/package.json +++ b/packages/modules/packages/module/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/module", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -38,11 +38,12 @@ "@xyo-network/module-wrapper": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/module/packages/abstract/.npmignore b/packages/modules/packages/module/packages/abstract/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/module/packages/abstract/.npmignore +++ b/packages/modules/packages/module/packages/abstract/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/module/packages/abstract/package.json b/packages/modules/packages/module/packages/abstract/package.json index c3fe1cff92..620ddc6a54 100644 --- a/packages/modules/packages/module/packages/abstract/package.json +++ b/packages/modules/packages/module/packages/abstract/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/module-abstract", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,14 +29,14 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/error": "^4.4.10", - "@xylabs/exists": "^4.4.10", - "@xylabs/forget": "^4.4.10", - "@xylabs/hex": "^4.4.10", - "@xylabs/logger": "^4.4.10", - "@xylabs/object": "^4.4.10", - "@xylabs/promise": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/error": "^4.4.25", + "@xylabs/exists": "^4.4.25", + "@xylabs/forget": "^4.4.25", + "@xylabs/hex": "^4.4.25", + "@xylabs/logger": "^4.4.25", + "@xylabs/object": "^4.4.25", + "@xylabs/promise": "^4.4.25", "@xyo-network/account": "workspace:^", "@xyo-network/account-model": "workspace:^", "@xyo-network/archivist-model": "workspace:^", @@ -56,13 +56,14 @@ "lru-cache": "^11.0.2" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/module/packages/abstract/src/AbstractModule.ts b/packages/modules/packages/module/packages/abstract/src/AbstractModule.ts index 96dff67c0a..d87a491fb8 100644 --- a/packages/modules/packages/module/packages/abstract/src/AbstractModule.ts +++ b/packages/modules/packages/module/packages/abstract/src/AbstractModule.ts @@ -64,9 +64,8 @@ import { } from '@xyo-network/module-model' import { PayloadBuilder } from '@xyo-network/payload-builder' import type { - ModuleError, Payload, Query, Schema, WithMeta, + ModuleError, Payload, Query, Schema, } from '@xyo-network/payload-model' -import type { QueryPayload } from '@xyo-network/query-payload-plugin' import { QuerySchema } from '@xyo-network/query-payload-plugin' import type { WalletInstance } from '@xyo-network/wallet-model' import { LRUCache } from 'lru-cache' @@ -316,7 +315,7 @@ export abstract class AbstractModule { this._checkDead() this._noOverride('query') - const sourceQuery = await PayloadBuilder.build(assertEx(isQueryBoundWitness(query) ? query : undefined, () => 'Unable to parse query')) + const sourceQuery = assertEx(isQueryBoundWitness(query) ? query : undefined, () => 'Unable to parse query') return await this.busy(async () => { const resultPayloads: Payload[] = [] const errorPayloads: ModuleError[] = [] @@ -337,8 +336,8 @@ export abstract class AbstractModule') .query(sourceQuery.schema) .details(error.details) @@ -490,7 +489,7 @@ export abstract class AbstractModule { const builder = new BoundWitnessBuilder().hashes(hashes, schema).signer(account) - const result = (await builder.build())[0] + const result: BoundWitness = (await builder.build())[0] this.logger?.debug(`result: ${JSON.stringify(result, null, 2)}`) return result } @@ -500,9 +499,9 @@ export abstract class AbstractModule, WithMeta[], WithMeta[]], AccountInstance> { + ): PromiseEx<[QueryBoundWitness, Payload[], Payload[]], AccountInstance> { // eslint-disable-next-line @typescript-eslint/no-misused-promises - return new PromiseEx<[WithMeta, WithMeta[], WithMeta[]], AccountInstance>(async (resolve) => { + return new PromiseEx<[QueryBoundWitness, Payload[], Payload[]], AccountInstance>(async (resolve) => { const result = await this.bindQueryInternal(query, payloads, account, additionalSigners) resolve?.(result) return result @@ -514,32 +513,28 @@ export abstract class AbstractModule, WithMeta[], WithMeta[]]> { + ): Promise<[QueryBoundWitness, Payload[], Payload[]]> { const accounts = [account, ...additionalSigners].filter(exists) - const builder = await new QueryBoundWitnessBuilder().payloads(payloads).signers(accounts).query(query) + const builder = new QueryBoundWitnessBuilder().payloads(payloads).signers(accounts).query(query) - let additional: WithMeta[] = [] - if (this.config.certify) { - additional = await this.certifyParents() - await builder.additional(additional) - } const [bw, payloadsOut, errors] = await builder.build() - return [bw, [...payloadsOut, ...additional], errors] + return [bw, [...payloadsOut], errors] } protected async bindQueryResult( - query: WithMeta, + query: T, payloads: Payload[], additionalWitnesses: AccountInstance[] = [], errors?: ModuleError[], ): Promise { - const builder = new BoundWitnessBuilder().payloads(payloads).errors(errors).sourceQuery(query.$hash) + const queryDataHash = await PayloadBuilder.dataHash(query) + const builder = new BoundWitnessBuilder().payloads(payloads).errors(errors).sourceQuery(queryDataHash) const witnesses = [this.account, ...additionalWitnesses].filter(exists) builder.signers(witnesses) const result: ModuleQueryResult = [ - (await builder.build())[0], - await Promise.all(payloads.map(payload => PayloadBuilder.build(payload))), - await Promise.all((errors ?? [])?.map(error => PayloadBuilder.build(error))), + PayloadBuilder.omitPrivateStorageMeta((await builder.build())[0]), + PayloadBuilder.omitPrivateStorageMeta(payloads), + PayloadBuilder.omitPrivateStorageMeta(errors ?? []), ] if (this.archiving && this.isAllowedArchivingQuery(query.schema)) { forget(this.storeToArchivists(result.flat())) @@ -547,18 +542,16 @@ export abstract class AbstractModule { - const config = await PayloadBuilder.build(this.config) - const address = await new PayloadBuilder({ schema: AddressSchema }).fields({ address: this.address }).build() - const queries = await Promise.all( - this.queries.map(async (query) => { - return await new PayloadBuilder({ schema: QuerySchema }).fields({ query }).build() - }), - ) - const configSchema = await PayloadBuilder.build({ + protected generateConfigAndAddress(_maxDepth?: number): Promisable { + const config = this.config + const address: AddressPayload = { schema: AddressSchema, address: this.address } + const queries = this.queries.map((query) => { + return { schema: QuerySchema, query } + }) + const configSchema: ConfigPayload = { config: config.schema, schema: ConfigSchema, - }) + } return ([config, configSchema, address, ...queries]).filter(exists) } @@ -624,7 +617,7 @@ export abstract class AbstractModule { await this.started('throw') - const wrapper = await QueryBoundWitnessWrapper.parseQuery(query, payloads) + const wrapper = QueryBoundWitnessWrapper.parseQuery(query, payloads) const queryPayload = await wrapper.getQuery() assertEx(await this.queryable(query, payloads, queryConfig)) const resultPayloads: Payload[] = [] @@ -649,7 +642,7 @@ export abstract class AbstractModule { @@ -703,6 +696,6 @@ export abstract class AbstractModule[]> + protected abstract certifyParents(): Promise protected abstract storeToArchivists(payloads: Payload[]): Promise } diff --git a/packages/modules/packages/module/packages/abstract/src/AbstractModuleInstance.ts b/packages/modules/packages/module/packages/abstract/src/AbstractModuleInstance.ts index 9dc683c9a3..4f403ebf17 100644 --- a/packages/modules/packages/module/packages/abstract/src/AbstractModuleInstance.ts +++ b/packages/modules/packages/module/packages/abstract/src/AbstractModuleInstance.ts @@ -43,9 +43,7 @@ import { import { CompositeModuleResolver } from '@xyo-network/module-resolver' import type { NodeInstance } from '@xyo-network/node-model' import { asNodeInstance } from '@xyo-network/node-model' -import type { - Payload, Query, WithMeta, -} from '@xyo-network/payload-model' +import type { Payload, Query } from '@xyo-network/payload-model' import { AbstractModule } from './AbstractModule.ts' @@ -126,7 +124,7 @@ export abstract class AbstractModuleInstance[]> { + async certifyParents(): Promise { const parents = await this.parents() return ( await Promise.all( @@ -319,7 +317,7 @@ export abstract class AbstractModuleInstance[]> { + ): Promise { const queryResults = await this.sendQueryRaw(queryPayload, payloads, account) const [, resultPayloads, errors] = queryResults @@ -330,7 +328,7 @@ export abstract class AbstractModuleInstance[] + return resultPayloads as R[] } protected async sendQueryRaw( diff --git a/packages/modules/packages/module/packages/abstract/src/Error.ts b/packages/modules/packages/module/packages/abstract/src/Error.ts index 8ab8565805..015d2fe947 100644 --- a/packages/modules/packages/module/packages/abstract/src/Error.ts +++ b/packages/modules/packages/module/packages/abstract/src/Error.ts @@ -1,27 +1,24 @@ import type { Hash } from '@xylabs/hex' import type { JsonValue } from '@xylabs/object' import { PayloadBuilder } from '@xyo-network/payload-builder' -import type { ModuleError, WithMeta } from '@xyo-network/payload-model' +import type { ModuleError, WithOptionalSources } from '@xyo-network/payload-model' import { ModuleErrorSchema } from '@xyo-network/payload-model' -export class ModuleErrorBuilder extends PayloadBuilder { +export class ModuleErrorBuilder extends PayloadBuilder> { _details?: JsonValue _message?: string _name?: string _query?: Hash - _sources?: Hash[] constructor() { super({ schema: ModuleErrorSchema }) } - override build(): Promise> { + override build(): WithOptionalSources { this.fields({ details: this._details, message: this._message, name: this._name, query: this._query, - schema: ModuleErrorSchema, - sources: this._sources, }) return super.build() } @@ -45,9 +42,4 @@ export class ModuleErrorBuilder extends PayloadBuilder { this._query = query return this } - - sources(sources: Hash[]) { - this._sources = sources - return this - } } diff --git a/packages/modules/packages/module/packages/abstract/src/QueryValidator/ModuleConfigQueryValidator.ts b/packages/modules/packages/module/packages/abstract/src/QueryValidator/ModuleConfigQueryValidator.ts index 31a0ea6f76..4ae994c45a 100644 --- a/packages/modules/packages/module/packages/abstract/src/QueryValidator/ModuleConfigQueryValidator.ts +++ b/packages/modules/packages/module/packages/abstract/src/QueryValidator/ModuleConfigQueryValidator.ts @@ -65,8 +65,8 @@ export class ModuleConfigQueryValidator { return Array.isArray(addresses) ? addresses - .sort() - .map(address => address.toLowerCase()) - .join(delimiter) + .sort() + .map(address => address.toLowerCase()) + .join(delimiter) : addresses.toLowerCase() } diff --git a/packages/modules/packages/module/packages/abstract/src/QueryValidator/spec/tsconfig.json b/packages/modules/packages/module/packages/abstract/src/QueryValidator/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/module/packages/abstract/src/QueryValidator/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/module/packages/abstract/src/spec/ModuleErrorBuilder.spec.ts b/packages/modules/packages/module/packages/abstract/src/spec/ModuleErrorBuilder.spec.ts index f84646b7b9..4135570cad 100644 --- a/packages/modules/packages/module/packages/abstract/src/spec/ModuleErrorBuilder.spec.ts +++ b/packages/modules/packages/module/packages/abstract/src/spec/ModuleErrorBuilder.spec.ts @@ -16,10 +16,10 @@ export class TestAbstractModule extends AbstractModuleInstance { */ describe('ModuleErrorBuilder', () => { - test('build', async () => { + test('build', () => { const error = new ModuleDetailsError('errorMessage', { details: 'yo' }) - const errorPayload = await new ModuleErrorBuilder() - .sources(['0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef']) + const errorPayload = new ModuleErrorBuilder() + .meta({ $sources: ['0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef'] }) .name('') .query('network.xyo.query.insert') .details(error.details) diff --git a/packages/modules/packages/module/packages/abstract/src/spec/tsconfig.json b/packages/modules/packages/module/packages/abstract/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/module/packages/abstract/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/module/packages/emitter/.npmignore b/packages/modules/packages/module/packages/emitter/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/module/packages/emitter/.npmignore +++ b/packages/modules/packages/module/packages/emitter/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/module/packages/emitter/package.json b/packages/modules/packages/module/packages/emitter/package.json index ceff7415f3..4aec03283d 100644 --- a/packages/modules/packages/module/packages/emitter/package.json +++ b/packages/modules/packages/module/packages/emitter/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/module-event-emitter", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,15 +29,16 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/object": "^4.4.10", + "@xylabs/object": "^4.4.25", "@xyo-network/module-events": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/module/packages/events/.npmignore b/packages/modules/packages/module/packages/events/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/module/packages/events/.npmignore +++ b/packages/modules/packages/module/packages/events/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/module/packages/events/package.json b/packages/modules/packages/module/packages/events/package.json index c99e7aaf14..457b1e4413 100644 --- a/packages/modules/packages/module/packages/events/package.json +++ b/packages/modules/packages/module/packages/events/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/module-events", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,21 +29,22 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/error": "^4.4.10", - "@xylabs/forget": "^4.4.10", - "@xylabs/object": "^4.4.10", - "@xylabs/promise": "^4.4.10" + "@xylabs/assert": "^4.4.25", + "@xylabs/error": "^4.4.25", + "@xylabs/forget": "^4.4.25", + "@xylabs/object": "^4.4.25", + "@xylabs/promise": "^4.4.25" }, "devDependencies": { - "@xylabs/delay": "^4.4.10", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/delay": "^4.4.25", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/module/packages/events/src/Events/spec/tsconfig.json b/packages/modules/packages/module/packages/events/src/Events/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/module/packages/events/src/Events/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/module/packages/locator/.npmignore b/packages/modules/packages/module/packages/locator/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/module/packages/locator/.npmignore +++ b/packages/modules/packages/module/packages/locator/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/module/packages/locator/package.json b/packages/modules/packages/module/packages/locator/package.json index 83f7b4a6d4..70a76f5beb 100644 --- a/packages/modules/packages/module/packages/locator/package.json +++ b/packages/modules/packages/module/packages/locator/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/module-factory-locator", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,7 +29,7 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", + "@xylabs/assert": "^4.4.25", "@xyo-network/archivist-memory": "workspace:^", "@xyo-network/archivist-view": "workspace:^", "@xyo-network/bridge-http": "workspace:^", @@ -45,11 +45,12 @@ "@xyo-network/witness-adhoc": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/module/packages/model/.npmignore b/packages/modules/packages/module/packages/model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/module/packages/model/.npmignore +++ b/packages/modules/packages/module/packages/model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/module/packages/model/package.json b/packages/modules/packages/module/packages/model/package.json index b714ed8655..a09ffdb86e 100644 --- a/packages/modules/packages/module/packages/model/package.json +++ b/packages/modules/packages/module/packages/model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/module-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,14 +29,14 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/exists": "^4.4.10", - "@xylabs/hex": "^4.4.10", - "@xylabs/logger": "^4.4.10", - "@xylabs/object": "^4.4.10", - "@xylabs/promise": "^4.4.10", - "@xylabs/retry": "^4.4.10", - "@xylabs/typeof": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/exists": "^4.4.25", + "@xylabs/hex": "^4.4.25", + "@xylabs/logger": "^4.4.25", + "@xylabs/object": "^4.4.25", + "@xylabs/promise": "^4.4.25", + "@xylabs/retry": "^4.4.25", + "@xylabs/typeof": "^4.4.25", "@xyo-network/account-model": "workspace:^", "@xyo-network/boundwitness-model": "workspace:^", "@xyo-network/manifest-model": "workspace:^", @@ -44,13 +44,14 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/module/packages/model/src/Config/Fields.ts b/packages/modules/packages/module/packages/model/src/Config/Fields.ts index 3d86cb33be..177154f825 100644 --- a/packages/modules/packages/module/packages/model/src/Config/Fields.ts +++ b/packages/modules/packages/module/packages/model/src/Config/Fields.ts @@ -13,9 +13,6 @@ export interface ModuleConfigFields { /** @field The name/address of the Archivist to use for this module */ readonly archivist?: ModuleIdentifier - /** @field Enable certifying parent node identity in each query */ - readonly certify?: boolean - readonly consoleLogger?: LogLevel /** diff --git a/packages/modules/packages/module/packages/model/src/ModuleQueryResult.ts b/packages/modules/packages/module/packages/model/src/ModuleQueryResult.ts index 3cd3fd89c8..18ce02cf69 100644 --- a/packages/modules/packages/module/packages/model/src/ModuleQueryResult.ts +++ b/packages/modules/packages/module/packages/model/src/ModuleQueryResult.ts @@ -1,10 +1,10 @@ import type { BoundWitness } from '@xyo-network/boundwitness-model' import type { - ModuleError, Payload, WithMeta, + ModuleError, Payload, WithoutPrivateStorageMeta, } from '@xyo-network/payload-model' export type ModuleQueryResult

= [ - WithMeta, - WithMeta

[], - WithMeta[], + WithoutPrivateStorageMeta, + WithoutPrivateStorageMeta

[], + WithoutPrivateStorageMeta[], ] diff --git a/packages/modules/packages/module/packages/model/src/Payload/ModuleState.ts b/packages/modules/packages/module/packages/model/src/Payload/ModuleState.ts index 324bc63e06..5f2f529ac0 100644 --- a/packages/modules/packages/module/packages/model/src/Payload/ModuleState.ts +++ b/packages/modules/packages/module/packages/model/src/Payload/ModuleState.ts @@ -1,5 +1,6 @@ -import type { Payload, WithMeta } from '@xyo-network/payload-model' -import { isPayloadOfSchemaType } from '@xyo-network/payload-model' +import { AsObjectFactory } from '@xylabs/object' +import type { Payload, WithSources } from '@xyo-network/payload-model' +import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithSources } from '@xyo-network/payload-model' export interface StateDictionary { [key: string]: string | number | undefined @@ -13,10 +14,12 @@ export type ModuleStateSchema = typeof ModuleStateSchema export type ModuleState = Payload, ModuleStateSchema> -export const isModuleState = (payload?: Payload | null): payload is ModuleState => { +export const isModuleState = (payload?: unknown): payload is ModuleState => { return isPayloadOfSchemaType>(ModuleStateSchema)(payload) } -export const isModuleStateWithMeta = (payload?: Payload | null): payload is WithMeta> => { - return isPayloadOfSchemaType>>(ModuleStateSchema)(payload) +export const isModuleStateWithSources = (payload?: unknown): payload is WithSources> => { + return isPayloadOfSchemaTypeWithSources>(ModuleStateSchema)(payload) } + +export const asModuleState = AsObjectFactory.create>(isModuleState) diff --git a/packages/modules/packages/module/packages/model/src/instance/ObjectResolver.ts b/packages/modules/packages/module/packages/model/src/instance/ObjectResolver.ts index 02f2e9840a..41c58e5554 100644 --- a/packages/modules/packages/module/packages/model/src/instance/ObjectResolver.ts +++ b/packages/modules/packages/module/packages/model/src/instance/ObjectResolver.ts @@ -8,14 +8,16 @@ export const isObjectResolver = (value?: unkn return typeof (value as Partial>).resolve === 'function' } -export enum ObjectResolverPriority { - Disabled = -1, - VeryLow = 0, - Low = 1, - Normal = 2, - High = 3, - VeryHigh = 4, -} +export const ObjectResolverPriority = { + Disabled: -1, + VeryLow: 0, + Low: 1, + Normal: 2, + High: 3, + VeryHigh: 4, +} as const + +export type ObjectResolverPriority = typeof ObjectResolverPriority[keyof typeof ObjectResolverPriority] export interface ObjectResolver { priority: ObjectResolverPriority diff --git a/packages/modules/packages/module/packages/model/src/lib/spec/tsconfig.json b/packages/modules/packages/module/packages/model/src/lib/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/module/packages/model/src/lib/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/module/packages/model/src/spec/tsconfig.json b/packages/modules/packages/module/packages/model/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/module/packages/model/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/module/packages/resolver/.npmignore b/packages/modules/packages/module/packages/resolver/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/module/packages/resolver/.npmignore +++ b/packages/modules/packages/module/packages/resolver/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/module/packages/resolver/package.json b/packages/modules/packages/module/packages/resolver/package.json index 9bba50148b..fe69b0c86a 100644 --- a/packages/modules/packages/module/packages/resolver/package.json +++ b/packages/modules/packages/module/packages/resolver/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/module-resolver", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,24 +29,25 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/exists": "^4.4.10", - "@xylabs/hex": "^4.4.10", - "@xylabs/object": "^4.4.10", - "@xylabs/promise": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/exists": "^4.4.25", + "@xylabs/hex": "^4.4.25", + "@xylabs/object": "^4.4.25", + "@xylabs/promise": "^4.4.25", "@xyo-network/diviner-model": "workspace:^", "@xyo-network/diviner-payload-model": "workspace:^", "@xyo-network/module-model": "workspace:^", "lru-cache": "^11.0.2" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/module/packages/resolver/src/CompositeModuleResolver.ts b/packages/modules/packages/module/packages/resolver/src/CompositeModuleResolver.ts index 9f6debbbcf..4bc45b0169 100644 --- a/packages/modules/packages/module/packages/resolver/src/CompositeModuleResolver.ts +++ b/packages/modules/packages/module/packages/resolver/src/CompositeModuleResolver.ts @@ -200,7 +200,8 @@ export class CompositeModuleResolver async addressPreviousHash(): Promise { const queryPayload: ModuleAddressQuery = { schema: ModuleAddressQuerySchema } return assertEx( - (await this.sendQuery(queryPayload)).find(payload => payload.schema === AddressPreviousHashSchema) as WithMeta, + (await this.sendQuery(queryPayload)).find(payload => payload.schema === AddressPreviousHashSchema) as AddressPreviousHashPayload, () => 'Result did not include correct payload', ) } @@ -277,7 +277,7 @@ export class ModuleWrapper async manifest(maxDepth?: number): Promise { const queryPayload: ModuleManifestQuery = { schema: ModuleManifestQuerySchema, ...(maxDepth === undefined ? {} : { maxDepth }) } - return (await this.sendQuery(queryPayload))[0] as WithMeta + return (await this.sendQuery(queryPayload))[0] as ModuleManifestPayload } async manifestQuery(account: AccountInstance, maxDepth?: number): Promise> { @@ -287,7 +287,7 @@ export class ModuleWrapper async moduleAddress(): Promise { const queryPayload: ModuleAddressQuery = { schema: ModuleAddressQuerySchema } - return (await this.sendQuery(queryPayload)) as WithMeta[] + return (await this.sendQuery(queryPayload)) as AddressPreviousHashPayload[] } off( @@ -322,7 +322,7 @@ export class ModuleWrapper async previousHash(): Promise { const queryPayload: ModuleAddressQuery = { schema: ModuleAddressQuerySchema } - return ((await this.sendQuery(queryPayload)).pop() as WithMeta).previousHash + return ((await this.sendQuery(queryPayload)).pop() as AddressPreviousHashPayload).previousHash } async previousHashQuery(account?: AccountInstance): Promise> { @@ -436,20 +436,20 @@ export class ModuleWrapper account = this.account, additionalSigners = this.additionalSigners, ): Promise<[QueryBoundWitness, Payload[], ModuleError[]]> { - const builder = await new QueryBoundWitnessBuilder().payloads(payloads).query(query) + const builder = new QueryBoundWitnessBuilder().payloads(payloads).query(query) const accounts = [account, ...additionalSigners].filter(exists) return await (account ? builder.signers(accounts) : builder).build() } protected async filterErrors(result: ModuleQueryResult): Promise { const wrapper = await BoundWitnessWrapper.wrap(result[0], result[1]) - return wrapper.payloadsBySchema>(ModuleErrorSchema) + return wrapper.payloadsBySchema(ModuleErrorSchema) } protected async sendQuery( queryPayload: T, payloads?: P[], - ): Promise[]> { + ): Promise { const queryResults = await this.sendQueryRaw(queryPayload, payloads) const [, resultPayloads, errors] = queryResults @@ -460,7 +460,7 @@ export class ModuleWrapper throw errors[0] } - return resultPayloads as WithMeta[] + return resultPayloads as R[] } protected async sendQueryRaw( diff --git a/packages/modules/packages/module/packages/wrapper/src/spec/tsconfig.json b/packages/modules/packages/module/packages/wrapper/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/module/packages/wrapper/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/node/.npmignore b/packages/modules/packages/node/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/node/.npmignore +++ b/packages/modules/packages/node/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/node/package.json b/packages/modules/packages/node/package.json index 4123630a54..bc25a009f9 100644 --- a/packages/modules/packages/node/package.json +++ b/packages/modules/packages/node/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/node", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -36,11 +36,11 @@ "@xyo-network/node-wrapper": "workspace:^" }, "devDependencies": { - "@xylabs/delay": "^4.4.10", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", - "@xylabs/vitest-matchers": "^4.4.10", + "@xylabs/delay": "^4.4.25", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", + "@xylabs/vitest-matchers": "^4.4.25", "@xyo-network/account": "workspace:^", "@xyo-network/account-model": "workspace:^", "@xyo-network/archivist-memory": "workspace:^", @@ -57,5 +57,6 @@ }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/node/packages/abstract/.npmignore b/packages/modules/packages/node/packages/abstract/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/node/packages/abstract/.npmignore +++ b/packages/modules/packages/node/packages/abstract/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/node/packages/abstract/package.json b/packages/modules/packages/node/packages/abstract/package.json index 1d5e289ad9..b167974138 100644 --- a/packages/modules/packages/node/packages/abstract/package.json +++ b/packages/modules/packages/node/packages/abstract/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/node-abstract", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,10 +29,10 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/hex": "^4.4.10", - "@xylabs/object": "^4.4.10", - "@xylabs/promise": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/hex": "^4.4.25", + "@xylabs/object": "^4.4.25", + "@xylabs/promise": "^4.4.25", "@xyo-network/account-model": "workspace:^", "@xyo-network/boundwitness-model": "workspace:^", "@xyo-network/boundwitness-wrapper": "workspace:^", @@ -44,11 +44,12 @@ "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/node/packages/abstract/src/AbstractNode.ts b/packages/modules/packages/node/packages/abstract/src/AbstractNode.ts index eac873ca9c..f935013f4f 100644 --- a/packages/modules/packages/node/packages/abstract/src/AbstractNode.ts +++ b/packages/modules/packages/node/packages/abstract/src/AbstractNode.ts @@ -157,9 +157,7 @@ export abstract class AbstractNode { const childMods = await this.attachedPublicModules(maxDepth) // console.log(`childMods: ${toJsonString(childMods)}`) - const childModAddresses = await Promise.all( - childMods.map(mod => new PayloadBuilder({ schema: AddressSchema }).fields({ address: mod.address }).build()), - ) + const childModAddresses = childMods.map(mod => new PayloadBuilder({ schema: AddressSchema }).fields({ address: mod.address }).build()) return [...(await super.generateConfigAndAddress(maxDepth)), ...childModAddresses] } diff --git a/packages/modules/packages/node/packages/memory/.npmignore b/packages/modules/packages/node/packages/memory/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/node/packages/memory/.npmignore +++ b/packages/modules/packages/node/packages/memory/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/node/packages/memory/package.json b/packages/modules/packages/node/packages/memory/package.json index f2162ec3f8..b443572365 100644 --- a/packages/modules/packages/node/packages/memory/package.json +++ b/packages/modules/packages/node/packages/memory/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/node-memory", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,10 +29,10 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/exists": "^4.4.10", - "@xylabs/hex": "^4.4.10", - "@xylabs/promise": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/exists": "^4.4.25", + "@xylabs/hex": "^4.4.25", + "@xylabs/promise": "^4.4.25", "@xyo-network/module-events": "workspace:^", "@xyo-network/module-model": "workspace:^", "@xyo-network/module-resolver": "workspace:^", @@ -41,11 +41,12 @@ "async-mutex": "^0.5.0" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/node/packages/memory/src/NodeHelper/attachToNewNode.ts b/packages/modules/packages/node/packages/memory/src/NodeHelper/attachToNewNode.ts index d2a0f94b0c..fe8126b639 100644 --- a/packages/modules/packages/node/packages/memory/src/NodeHelper/attachToNewNode.ts +++ b/packages/modules/packages/node/packages/memory/src/NodeHelper/attachToNewNode.ts @@ -1,11 +1,17 @@ import type { ModuleIdentifier } from '@xyo-network/module-model' -import type { NodeInstance } from '@xyo-network/node-model' +import { NodeConfigSchema, type NodeInstance } from '@xyo-network/node-model' import type { MemoryNodeParams } from '../MemoryNode.ts' import { MemoryNode } from '../MemoryNode.ts' import { attachToExistingNode } from './attachToExistingNode.ts' -export const attachToNewNode = async (source: NodeInstance, id: ModuleIdentifier, destinationParams?: MemoryNodeParams): Promise => { +const DEFAULT_NODE_PARAMS = { config: { schema: NodeConfigSchema } } + +export const attachToNewNode = async ( + source: NodeInstance, + id: ModuleIdentifier, + destinationParams: MemoryNodeParams = DEFAULT_NODE_PARAMS, +): Promise => { const destination = await MemoryNode.create(destinationParams) return await attachToExistingNode(source, id, destination) } diff --git a/packages/modules/packages/node/packages/memory/src/NodeHelper/flatAttachToNewNode.ts b/packages/modules/packages/node/packages/memory/src/NodeHelper/flatAttachToNewNode.ts index 590fea6be2..adf54532f9 100644 --- a/packages/modules/packages/node/packages/memory/src/NodeHelper/flatAttachToNewNode.ts +++ b/packages/modules/packages/node/packages/memory/src/NodeHelper/flatAttachToNewNode.ts @@ -8,7 +8,7 @@ import { flatAttachToExistingNode } from './flatAttachToExistingNode.ts' export const flatAttachToNewNode = async ( source: NodeInstance, id: ModuleIdentifier, - destinationParams?: MemoryNodeParams, + destinationParams: MemoryNodeParams, ): Promise => { const destination = await MemoryNode.create(destinationParams) return await flatAttachToExistingNode(source, id, destination) diff --git a/packages/modules/packages/node/packages/model/.npmignore b/packages/modules/packages/node/packages/model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/node/packages/model/.npmignore +++ b/packages/modules/packages/node/packages/model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/node/packages/model/package.json b/packages/modules/packages/node/packages/model/package.json index f58ff8aa6b..b6dc054e3a 100644 --- a/packages/modules/packages/node/packages/model/package.json +++ b/packages/modules/packages/node/packages/model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/node-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,20 +29,21 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/hex": "^4.4.10", - "@xylabs/object": "^4.4.10", - "@xylabs/typeof": "^4.4.10", + "@xylabs/hex": "^4.4.25", + "@xylabs/object": "^4.4.25", + "@xylabs/typeof": "^4.4.25", "@xyo-network/account-model": "workspace:^", "@xyo-network/module-events": "workspace:^", "@xyo-network/module-model": "workspace:^", "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/node/packages/view/.npmignore b/packages/modules/packages/node/packages/view/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/node/packages/view/.npmignore +++ b/packages/modules/packages/node/packages/view/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/node/packages/view/package.json b/packages/modules/packages/node/packages/view/package.json index ca476f12e5..70d3f139d7 100644 --- a/packages/modules/packages/node/packages/view/package.json +++ b/packages/modules/packages/node/packages/view/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/node-view", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,9 +29,9 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/exists": "^4.4.10", - "@xylabs/hex": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/exists": "^4.4.25", + "@xylabs/hex": "^4.4.25", "@xyo-network/module-events": "workspace:^", "@xyo-network/module-model": "workspace:^", "@xyo-network/module-resolver": "workspace:^", @@ -41,11 +41,12 @@ "async-mutex": "^0.5.0" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/node/packages/wrapper/.npmignore b/packages/modules/packages/node/packages/wrapper/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/node/packages/wrapper/.npmignore +++ b/packages/modules/packages/node/packages/wrapper/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/node/packages/wrapper/package.json b/packages/modules/packages/node/packages/wrapper/package.json index 169a619df9..fa3de8a008 100644 --- a/packages/modules/packages/node/packages/wrapper/package.json +++ b/packages/modules/packages/node/packages/wrapper/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/node-wrapper", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,7 +29,7 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/hex": "^4.4.10", + "@xylabs/hex": "^4.4.25", "@xyo-network/account-model": "workspace:^", "@xyo-network/manifest-model": "workspace:^", "@xyo-network/module-model": "workspace:^", @@ -39,11 +39,12 @@ "async-mutex": "^0.5.0" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/node/packages/wrapper/src/NodeWrapper.ts b/packages/modules/packages/node/packages/wrapper/src/NodeWrapper.ts index f880bb618e..ef6994c5c7 100644 --- a/packages/modules/packages/node/packages/wrapper/src/NodeWrapper.ts +++ b/packages/modules/packages/node/packages/wrapper/src/NodeWrapper.ts @@ -35,7 +35,6 @@ import { NodeDetachQuerySchema, NodeRegisteredQuerySchema, } from '@xyo-network/node-model' -import type { WithMeta } from '@xyo-network/payload-model' import { isPayloadOfSchemaType } from '@xyo-network/payload-model' import { Mutex } from 'async-mutex' @@ -54,7 +53,7 @@ export class NodeWrapper const queryPayload: NodeAttachQuery = { external, id, schema: NodeAttachQuerySchema, } - const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType>(AddressSchema)) + const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType(AddressSchema)) return payloads.pop()?.address } @@ -69,7 +68,7 @@ export class NodeWrapper return await this._attachedMutex.runExclusive(async () => { if (this._attached === undefined) { const queryPayload: NodeAttachedQuery = { schema: NodeAttachedQuerySchema } - const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType>(AddressSchema)) + const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType(AddressSchema)) this._attached = payloads.map(p => p.address) } return this._attached @@ -83,7 +82,7 @@ export class NodeWrapper async certify(id: ModuleIdentifier): Promise { const queryPayload: NodeCertifyQuery = { id, schema: NodeCertifyQuerySchema } - const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType>(ChildCertificationSchema)) + const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType(ChildCertificationSchema)) return payloads.pop() } @@ -94,7 +93,7 @@ export class NodeWrapper async detach(id: ModuleIdentifier): Promise

{ const queryPayload: NodeDetachQuery = { id, schema: NodeDetachQuerySchema } - const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType>(AddressSchema)) + const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType(AddressSchema)) return payloads.pop()?.address } @@ -105,13 +104,13 @@ export class NodeWrapper override async manifest(maxDepth?: number): Promise { const queryPayload: ModuleManifestQuery = { schema: ModuleManifestQuerySchema, ...(maxDepth ? { maxDepth } : {}) } - const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType>(NodeManifestPayloadSchema)) + const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType(NodeManifestPayloadSchema)) return payloads.pop() as NodeManifestPayload } async registered(): Promise { const queryPayload: NodeRegisteredQuery = { schema: NodeRegisteredQuerySchema } - const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType>(AddressSchema)) + const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType(AddressSchema)) return payloads.map(p => p.address) } diff --git a/packages/modules/packages/node/src/spec/MemoryNode/MemoryNode.spec.ts b/packages/modules/packages/node/src/spec/MemoryNode/MemoryNode.spec.ts index c29351308f..d82da4467b 100644 --- a/packages/modules/packages/node/src/spec/MemoryNode/MemoryNode.spec.ts +++ b/packages/modules/packages/node/src/spec/MemoryNode/MemoryNode.spec.ts @@ -46,9 +46,6 @@ describe('MemoryNode', () => { testAccount2 = await HDWallet.fromPhrase('siren tenant achieve enough tone roof album champion tiny civil lottery hundred') testAccount3 = await HDWallet.fromPhrase('person wheat floor tumble pond develop sauce attract neither toilet build enrich') testAccount4 = await HDWallet.fromPhrase('kit sound script century margin into guilt region engine garment lab rifle') - // jest.spyOn(console, 'log').mockImplementation(() => { - // Stop expected logs from being generated during tests - // }) }) beforeEach(async () => { const nodeModule = await MemoryNode.create({ account: testAccount1, config: nodeConfig }) diff --git a/packages/modules/packages/sentinel/.npmignore b/packages/modules/packages/sentinel/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/sentinel/.npmignore +++ b/packages/modules/packages/sentinel/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/sentinel/package.json b/packages/modules/packages/sentinel/package.json index 1b9982bc6f..a0f70383c3 100644 --- a/packages/modules/packages/sentinel/package.json +++ b/packages/modules/packages/sentinel/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/sentinel", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -34,11 +34,12 @@ "@xyo-network/sentinel-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/sentinel/packages/abstract/.npmignore b/packages/modules/packages/sentinel/packages/abstract/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/sentinel/packages/abstract/.npmignore +++ b/packages/modules/packages/sentinel/packages/abstract/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/sentinel/packages/abstract/package.json b/packages/modules/packages/sentinel/packages/abstract/package.json index 9f4b0fbe65..085e05eedd 100644 --- a/packages/modules/packages/sentinel/packages/abstract/package.json +++ b/packages/modules/packages/sentinel/packages/abstract/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/sentinel-abstract", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,24 +29,26 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/forget": "^4.4.10", - "@xylabs/object": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/forget": "^4.4.25", + "@xylabs/object": "^4.4.25", "@xyo-network/account-model": "workspace:^", "@xyo-network/boundwitness-builder": "workspace:^", "@xyo-network/boundwitness-model": "workspace:^", "@xyo-network/boundwitness-wrapper": "workspace:^", "@xyo-network/module-abstract": "workspace:^", "@xyo-network/module-model": "workspace:^", + "@xyo-network/payload-builder": "workspace:^", "@xyo-network/payload-model": "workspace:^", "@xyo-network/sentinel-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/sentinel/packages/abstract/src/AbstractSentinel.ts b/packages/modules/packages/sentinel/packages/abstract/src/AbstractSentinel.ts index 6300376516..28e4416bb7 100644 --- a/packages/modules/packages/sentinel/packages/abstract/src/AbstractSentinel.ts +++ b/packages/modules/packages/sentinel/packages/abstract/src/AbstractSentinel.ts @@ -10,7 +10,10 @@ import { AbstractModuleInstance } from '@xyo-network/module-abstract' import type { ModuleConfig, ModuleQueryHandlerResult, ModuleQueryResult, } from '@xyo-network/module-model' -import type { Payload, Schema } from '@xyo-network/payload-model' +import { PayloadBuilder } from '@xyo-network/payload-builder' +import type { + Payload, Schema, WithoutPrivateStorageMeta, +} from '@xyo-network/payload-model' import type { CustomSentinelInstance, ResolvedTask, @@ -55,7 +58,7 @@ export abstract class AbstractSentinel< return this.config.throwErrors ?? true } - async report(inPayloads?: Payload[]): Promise { + async report(inPayloads?: Payload[]): Promise[]> { this._noOverride('report') const reportPromise = (async () => { await this.emit('reportStart', { inPayloads, mod: this }) @@ -145,7 +148,7 @@ export abstract class AbstractSentinel< payloads?: Payload[], queryConfig?: TConfig, ): Promise { - const wrapper = await QueryBoundWitnessWrapper.parseQuery(query, payloads) + const wrapper = QueryBoundWitnessWrapper.parseQuery(query, payloads) const queryPayload = await wrapper.getQuery() assertEx(await this.queryable(query, payloads, queryConfig)) const resultPayloads: Payload[] = [] @@ -158,7 +161,7 @@ export abstract class AbstractSentinel< return super.queryHandler(query, payloads) } } - return resultPayloads + return PayloadBuilder.omitPrivateStorageMeta(resultPayloads) } abstract reportHandler(payloads?: Payload[]): Promise diff --git a/packages/modules/packages/sentinel/packages/memory/.npmignore b/packages/modules/packages/sentinel/packages/memory/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/sentinel/packages/memory/.npmignore +++ b/packages/modules/packages/sentinel/packages/memory/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/sentinel/packages/memory/package.json b/packages/modules/packages/sentinel/packages/memory/package.json index aef5270384..1879583a69 100644 --- a/packages/modules/packages/sentinel/packages/memory/package.json +++ b/packages/modules/packages/sentinel/packages/memory/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/sentinel-memory", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,10 +29,10 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/forget": "^4.4.10", - "@xylabs/hex": "^4.4.10", - "@xylabs/promise": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/forget": "^4.4.25", + "@xylabs/hex": "^4.4.25", + "@xylabs/promise": "^4.4.25", "@xyo-network/diviner-model": "workspace:^", "@xyo-network/module-model": "workspace:^", "@xyo-network/payload-builder": "workspace:^", @@ -43,10 +43,10 @@ "@xyo-network/witness-model": "workspace:^" }, "devDependencies": { - "@xylabs/delay": "^4.4.10", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/delay": "^4.4.25", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/abstract-witness": "workspace:^", "@xyo-network/archivist-memory": "workspace:^", "@xyo-network/id-payload-plugin": "workspace:^", @@ -57,5 +57,6 @@ }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/sentinel/packages/memory/src/spec/SentinelRunner.spec.ts b/packages/modules/packages/sentinel/packages/memory/src/spec/SentinelRunner.spec.ts index 69783eca91..a04f5c45a5 100644 --- a/packages/modules/packages/sentinel/packages/memory/src/spec/SentinelRunner.spec.ts +++ b/packages/modules/packages/sentinel/packages/memory/src/spec/SentinelRunner.spec.ts @@ -12,6 +12,7 @@ import { SentinelConfigSchema, SentinelIntervalAutomationSchema, } from '@xyo-network/sentinel-model' +import type { AdhocWitnessConfig } from '@xyo-network/witness-adhoc' import { AdhocWitness, AdhocWitnessConfigSchema } from '@xyo-network/witness-adhoc' import { beforeEach, @@ -36,7 +37,7 @@ describe('SentinelRunner', () => { const witnessModules: AbstractWitness[] = [ await AdhocWitness.create({ account: 'random', - config: { payload: { id: 1, schema: 'network.xyo.id' }, schema: AdhocWitnessConfigSchema }, + config: { payload: { id: 1, schema: 'network.xyo.id' }, schema: AdhocWitnessConfigSchema } as AdhocWitnessConfig, }), ] const witnesses = await Promise.all( diff --git a/packages/modules/packages/sentinel/packages/memory/src/spec/tsconfig.json b/packages/modules/packages/sentinel/packages/memory/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/sentinel/packages/memory/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/sentinel/packages/model/.npmignore b/packages/modules/packages/sentinel/packages/model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/sentinel/packages/model/.npmignore +++ b/packages/modules/packages/sentinel/packages/model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/sentinel/packages/model/package.json b/packages/modules/packages/sentinel/packages/model/package.json index eb93947336..9c61d5fdf6 100644 --- a/packages/modules/packages/sentinel/packages/model/package.json +++ b/packages/modules/packages/sentinel/packages/model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/sentinel-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,9 +29,9 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/hex": "^4.4.10", - "@xylabs/object": "^4.4.10", - "@xylabs/promise": "^4.4.10", + "@xylabs/hex": "^4.4.25", + "@xylabs/object": "^4.4.25", + "@xylabs/promise": "^4.4.25", "@xyo-network/account-model": "workspace:^", "@xyo-network/archivist-model": "workspace:^", "@xyo-network/boundwitness-model": "workspace:^", @@ -42,11 +42,12 @@ "@xyo-network/witness-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/sentinel/packages/wrapper/.npmignore b/packages/modules/packages/sentinel/packages/wrapper/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/sentinel/packages/wrapper/.npmignore +++ b/packages/modules/packages/sentinel/packages/wrapper/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/sentinel/packages/wrapper/package.json b/packages/modules/packages/sentinel/packages/wrapper/package.json index 29d25d14f2..8ab79c3c56 100644 --- a/packages/modules/packages/sentinel/packages/wrapper/package.json +++ b/packages/modules/packages/sentinel/packages/wrapper/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/sentinel-wrapper", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -38,10 +38,10 @@ "@xyo-network/witness-model": "workspace:^" }, "devDependencies": { - "@xylabs/delay": "^4.4.10", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/delay": "^4.4.25", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/abstract-witness": "workspace:^", "@xyo-network/account": "workspace:^", "@xyo-network/archivist-memory": "workspace:^", @@ -56,5 +56,6 @@ }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/sentinel/packages/wrapper/src/spec/Sentinel.Wrapper.spec.ts b/packages/modules/packages/sentinel/packages/wrapper/src/spec/Sentinel.Wrapper.spec.ts index 2fca0fa565..e93b7f678f 100644 --- a/packages/modules/packages/sentinel/packages/wrapper/src/spec/Sentinel.Wrapper.spec.ts +++ b/packages/modules/packages/sentinel/packages/wrapper/src/spec/Sentinel.Wrapper.spec.ts @@ -77,10 +77,12 @@ describe('Sentinel', () => { expect(archivistPayloads).toBeArrayOfSize(payloads.length + 1) const panelPayloads = await Promise.all( payloads.map((payload) => { - return PayloadBuilder.build(payload) + return PayloadBuilder.omitStorageMeta(payload) }), ) - expect(archivistPayloads).toContainValues(panelPayloads) + const archivistDataHashes = await PayloadBuilder.dataHashes(archivistPayloads) + const panelDataHashes = await PayloadBuilder.dataHashes(panelPayloads) + expect(archivistDataHashes).toContainValues(panelDataHashes) } } beforeEach(async () => { diff --git a/packages/modules/packages/sentinel/packages/wrapper/src/spec/tsconfig.json b/packages/modules/packages/sentinel/packages/wrapper/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/sentinel/packages/wrapper/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/witness/.npmignore b/packages/modules/packages/witness/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/witness/.npmignore +++ b/packages/modules/packages/witness/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/witness/package.json b/packages/modules/packages/witness/package.json index 2b10fb7846..04dfa20852 100644 --- a/packages/modules/packages/witness/package.json +++ b/packages/modules/packages/witness/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/witness", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -36,11 +36,12 @@ "@xyo-network/witness-wrapper": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/witness/packages/abstract/.npmignore b/packages/modules/packages/witness/packages/abstract/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/witness/packages/abstract/.npmignore +++ b/packages/modules/packages/witness/packages/abstract/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/witness/packages/abstract/package.json b/packages/modules/packages/witness/packages/abstract/package.json index bcceb15c49..a57465c3bd 100644 --- a/packages/modules/packages/witness/packages/abstract/package.json +++ b/packages/modules/packages/witness/packages/abstract/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/abstract-witness", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,9 +29,9 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/object": "^4.4.10", - "@xylabs/promise": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/object": "^4.4.25", + "@xylabs/promise": "^4.4.25", "@xyo-network/account-model": "workspace:^", "@xyo-network/archivist-model": "workspace:^", "@xyo-network/boundwitness-model": "workspace:^", @@ -43,13 +43,14 @@ "@xyo-network/witness-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/witness/packages/abstract/src/AbstractWitness.ts b/packages/modules/packages/witness/packages/abstract/src/AbstractWitness.ts index 56376a49bc..d562f3da10 100644 --- a/packages/modules/packages/witness/packages/abstract/src/AbstractWitness.ts +++ b/packages/modules/packages/witness/packages/abstract/src/AbstractWitness.ts @@ -11,7 +11,9 @@ import type { } from '@xyo-network/module-model' import { creatableModule } from '@xyo-network/module-model' import { PayloadBuilder } from '@xyo-network/payload-builder' -import type { Payload, Schema } from '@xyo-network/payload-model' +import type { + Payload, Schema, WithoutPrivateStorageMeta, +} from '@xyo-network/payload-model' import type { CustomWitnessInstance, WitnessInstance, @@ -55,7 +57,7 @@ export abstract class AbstractWitness< } /** @function observe The main entry point for a witness. Do not override this function. Implement/override observeHandler for custom functionality */ - async observe(inPayloads?: TIn[]): Promise { + async observe(inPayloads?: TIn[]): Promise[]> { this._noOverride('observe') await this.started('throw') await this.emit('observeStart', { inPayloads, mod: this } as TEventData['observeStart']) @@ -72,7 +74,7 @@ export abstract class AbstractWitness< inPayloads, mod: this, outPayloads, } as TEventData['observeEnd']) - return outPayloads + return PayloadBuilder.omitPrivateStorageMeta(outPayloads) } async observeQuery(payloads?: TIn[], account?: AccountInstance): Promise> { @@ -102,7 +104,7 @@ export abstract class AbstractWitness< return super.queryHandler(query, payloads) } } - return resultPayloads + return PayloadBuilder.omitPrivateStorageMeta(resultPayloads) } /** @function observeHandler Implement or override to add custom functionality to a witness */ diff --git a/packages/modules/packages/witness/packages/abstract/src/spec/tsconfig.json b/packages/modules/packages/witness/packages/abstract/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/witness/packages/abstract/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/witness/packages/adhoc/.npmignore b/packages/modules/packages/witness/packages/adhoc/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/witness/packages/adhoc/.npmignore +++ b/packages/modules/packages/witness/packages/adhoc/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/witness/packages/adhoc/package.json b/packages/modules/packages/witness/packages/adhoc/package.json index e875477a28..37ebeb0752 100644 --- a/packages/modules/packages/witness/packages/adhoc/package.json +++ b/packages/modules/packages/witness/packages/adhoc/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/witness-adhoc", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,16 +29,16 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/promise": "^4.4.10", + "@xylabs/promise": "^4.4.25", "@xyo-network/abstract-witness": "workspace:^", "@xyo-network/module-model": "workspace:^", "@xyo-network/payload-model": "workspace:^", "@xyo-network/witness-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/account": "workspace:^", "@xyo-network/module-wrapper": "workspace:^", "@xyo-network/payload-builder": "workspace:^", @@ -47,5 +47,6 @@ }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/witness/packages/adhoc/src/Witness.ts b/packages/modules/packages/witness/packages/adhoc/src/Witness.ts index 6b6331c891..85c6a6570e 100644 --- a/packages/modules/packages/witness/packages/adhoc/src/Witness.ts +++ b/packages/modules/packages/witness/packages/adhoc/src/Witness.ts @@ -10,8 +10,8 @@ export type AdhocWitnessConfigSchema = 'network.xyo.witness.adhoc.config' export const AdhocWitnessConfigSchema: AdhocWitnessConfigSchema = 'network.xyo.witness.adhoc.config' export type AdhocWitnessConfig = WitnessConfig<{ - // eslint-disable-next-line @typescript-eslint/no-explicit-any - payload?: Payload + + payload?: Payload schema: AdhocWitnessConfigSchema }> diff --git a/packages/modules/packages/witness/packages/adhoc/src/spec/tsconfig.json b/packages/modules/packages/witness/packages/adhoc/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/witness/packages/adhoc/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/witness/packages/blockchain/.npmignore b/packages/modules/packages/witness/packages/blockchain/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/witness/packages/blockchain/.npmignore +++ b/packages/modules/packages/witness/packages/blockchain/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/witness/packages/blockchain/package.json b/packages/modules/packages/witness/packages/blockchain/package.json index 09cb8baefb..8f64007e22 100644 --- a/packages/modules/packages/witness/packages/blockchain/package.json +++ b/packages/modules/packages/witness/packages/blockchain/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/witness-blockchain", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -32,11 +32,12 @@ "@xyo-network/witness-blockchain-abstract": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/witness/packages/blockchain/packages/abstract/.npmignore b/packages/modules/packages/witness/packages/blockchain/packages/abstract/.npmignore index 322becbb1e..a17821cfae 100644 --- a/packages/modules/packages/witness/packages/blockchain/packages/abstract/.npmignore +++ b/packages/modules/packages/witness/packages/blockchain/packages/abstract/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/witness/packages/blockchain/packages/abstract/package.json b/packages/modules/packages/witness/packages/blockchain/packages/abstract/package.json index 18f275fa4a..34f1478c63 100644 --- a/packages/modules/packages/witness/packages/blockchain/packages/abstract/package.json +++ b/packages/modules/packages/witness/packages/blockchain/packages/abstract/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/witness-blockchain-abstract", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,9 +29,9 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/object": "^4.4.10", - "@xylabs/promise": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/object": "^4.4.25", + "@xylabs/promise": "^4.4.25", "@xyo-network/abstract-witness": "workspace:^", "@xyo-network/module-model": "workspace:^", "@xyo-network/payload-model": "workspace:^", @@ -39,12 +39,13 @@ "ethers": "6.13.4" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "ethers": "6.13.4", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/witness/packages/environment/.npmignore b/packages/modules/packages/witness/packages/environment/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/witness/packages/environment/.npmignore +++ b/packages/modules/packages/witness/packages/environment/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/witness/packages/environment/package.json b/packages/modules/packages/witness/packages/environment/package.json index f8e859ae38..a1718c2401 100644 --- a/packages/modules/packages/witness/packages/environment/package.json +++ b/packages/modules/packages/witness/packages/environment/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/witness-environment", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,7 +29,7 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/object": "^4.4.10", + "@xylabs/object": "^4.4.25", "@xyo-network/abstract-witness": "workspace:^", "@xyo-network/module-model": "workspace:^", "@xyo-network/payload-model": "workspace:^", @@ -37,14 +37,16 @@ "@xyo-network/witness-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/account": "workspace:^", + "@xyo-network/payload-builder": "workspace:^", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/witness/packages/environment/src/spec/Witness.spec.ts b/packages/modules/packages/witness/packages/environment/src/spec/Witness.spec.ts index 5c8b7f60d2..50fe7b19b6 100644 --- a/packages/modules/packages/witness/packages/environment/src/spec/Witness.spec.ts +++ b/packages/modules/packages/witness/packages/environment/src/spec/Witness.spec.ts @@ -1,6 +1,7 @@ import '@xylabs/vitest-extended' import { Account } from '@xyo-network/account' +import { PayloadBuilder } from '@xyo-network/payload-builder' import { isValuePayload } from '@xyo-network/value-payload-plugin' import { beforeAll, @@ -32,7 +33,11 @@ describe('EnvironmentWitness', () => { const env = result.find(isValuePayload) expect(env).toBeDefined() expect(env?.value).toBeDefined() - expect(env?.value).toEqual(process.env) + // NOTE: Due to how we sanitize __ fields from payloads + // this test can fail on systems where __ fields are present + // in the environment so we'll sanitize those when comparing + const processEnv = PayloadBuilder.omitPrivateStorageMeta(process.env) + expect(env?.value).toEqual(processEnv) }) }) describe('with subset payload', () => { diff --git a/packages/modules/packages/witness/packages/environment/src/spec/tsconfig.json b/packages/modules/packages/witness/packages/environment/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/witness/packages/environment/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/packages/witness/packages/evm/.npmignore b/packages/modules/packages/witness/packages/evm/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/witness/packages/evm/.npmignore +++ b/packages/modules/packages/witness/packages/evm/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/witness/packages/evm/package.json b/packages/modules/packages/witness/packages/evm/package.json index fb0ddcfb7a..48b9428c7f 100644 --- a/packages/modules/packages/witness/packages/evm/package.json +++ b/packages/modules/packages/witness/packages/evm/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/witness-evm", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -32,11 +32,12 @@ "@xyo-network/witness-evm-abstract": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/witness/packages/evm/packages/abstract/.npmignore b/packages/modules/packages/witness/packages/evm/packages/abstract/.npmignore index 322becbb1e..a17821cfae 100644 --- a/packages/modules/packages/witness/packages/evm/packages/abstract/.npmignore +++ b/packages/modules/packages/witness/packages/evm/packages/abstract/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/witness/packages/evm/packages/abstract/package.json b/packages/modules/packages/witness/packages/evm/packages/abstract/package.json index 443763a15b..a63d5986bf 100644 --- a/packages/modules/packages/witness/packages/evm/packages/abstract/package.json +++ b/packages/modules/packages/witness/packages/evm/packages/abstract/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/witness-evm-abstract", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,9 +29,9 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/object": "^4.4.10", - "@xylabs/promise": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/object": "^4.4.25", + "@xylabs/promise": "^4.4.25", "@xyo-network/abstract-witness": "workspace:^", "@xyo-network/module-model": "workspace:^", "@xyo-network/payload-model": "workspace:^", @@ -39,12 +39,13 @@ "ethers": "6.13.4" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "ethers": "6.13.4", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/witness/packages/model/.npmignore b/packages/modules/packages/witness/packages/model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/witness/packages/model/.npmignore +++ b/packages/modules/packages/witness/packages/model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/witness/packages/model/package.json b/packages/modules/packages/witness/packages/model/package.json index aaf8c8f683..8804bd8f6f 100644 --- a/packages/modules/packages/witness/packages/model/package.json +++ b/packages/modules/packages/witness/packages/model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/witness-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,20 +29,21 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/object": "^4.4.10", - "@xylabs/promise": "^4.4.10", - "@xylabs/typeof": "^4.4.10", + "@xylabs/object": "^4.4.25", + "@xylabs/promise": "^4.4.25", + "@xylabs/typeof": "^4.4.25", "@xyo-network/account-model": "workspace:^", "@xyo-network/module-events": "workspace:^", "@xyo-network/module-model": "workspace:^", "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/witness/packages/model/src/QueryFunctions.ts b/packages/modules/packages/witness/packages/model/src/QueryFunctions.ts index 525839dce7..14e97772b4 100644 --- a/packages/modules/packages/witness/packages/model/src/QueryFunctions.ts +++ b/packages/modules/packages/witness/packages/model/src/QueryFunctions.ts @@ -1,9 +1,9 @@ import type { Promisable } from '@xylabs/promise' import type { AccountInstance } from '@xyo-network/account-model' import type { ModuleQueryResult } from '@xyo-network/module-model' -import type { Payload } from '@xyo-network/payload-model' +import type { Payload, WithoutPrivateStorageMeta } from '@xyo-network/payload-model' export interface WitnessQueryFunctions { - observe: (payloads?: TIn[]) => Promisable + observe: (payloads?: TIn[]) => Promisable[]> observeQuery: (payloads?: TIn[], account?: AccountInstance) => Promisable> } diff --git a/packages/modules/packages/witness/packages/timestamp/.npmignore b/packages/modules/packages/witness/packages/timestamp/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/witness/packages/timestamp/.npmignore +++ b/packages/modules/packages/witness/packages/timestamp/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/witness/packages/timestamp/package.json b/packages/modules/packages/witness/packages/timestamp/package.json index c2abdfcedd..a56b9250d3 100644 --- a/packages/modules/packages/witness/packages/timestamp/package.json +++ b/packages/modules/packages/witness/packages/timestamp/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/witness-timestamp", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,19 +29,20 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/object": "^4.4.10", - "@xylabs/promise": "^4.4.10", + "@xylabs/object": "^4.4.25", + "@xylabs/promise": "^4.4.25", "@xyo-network/abstract-witness": "workspace:^", "@xyo-network/module-model": "workspace:^", "@xyo-network/payload-model": "workspace:^", "@xyo-network/witness-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/witness/packages/wrapper/.npmignore b/packages/modules/packages/witness/packages/wrapper/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/modules/packages/witness/packages/wrapper/.npmignore +++ b/packages/modules/packages/witness/packages/wrapper/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/modules/packages/witness/packages/wrapper/package.json b/packages/modules/packages/witness/packages/wrapper/package.json index 5af07804ff..a15000d88c 100644 --- a/packages/modules/packages/witness/packages/wrapper/package.json +++ b/packages/modules/packages/witness/packages/wrapper/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/witness-wrapper", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -36,10 +36,10 @@ "@xyo-network/witness-model": "workspace:^" }, "devDependencies": { - "@xylabs/promise": "^4.4.10", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/promise": "^4.4.25", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/abstract-witness": "workspace:^", "@xyo-network/account": "workspace:^", "typescript": "^5.7.2", @@ -47,5 +47,6 @@ }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/modules/packages/witness/packages/wrapper/src/spec/tsconfig.json b/packages/modules/packages/witness/packages/wrapper/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/packages/witness/packages/wrapper/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/modules/src/spec/Sentinel.Interval.spec.json b/packages/modules/src/spec/Sentinel.Interval.spec.json index 419b70b009..f0d94f5629 100644 --- a/packages/modules/src/spec/Sentinel.Interval.spec.json +++ b/packages/modules/src/spec/Sentinel.Interval.spec.json @@ -63,9 +63,7 @@ "limit": 1, "order": "asc", "schema": "network.xyo.diviner.payload.query", - "schemas": [ - "network.xyo.test" - ] + "schemas": ["network.xyo.test"] } } }, @@ -81,11 +79,6 @@ "destinationField": "limit", "sourcePathExpression": "$.limit" }, - { - "defaultValue": 0, - "destinationField": "offset", - "sourcePathExpression": "$.offset" - }, { "destinationField": "order", "sourcePathExpression": "$.order" @@ -101,9 +94,7 @@ { "config": { "archiving": { - "archivists": [ - "Results" - ] + "archivists": ["Results"] }, "automations": [ { @@ -123,15 +114,11 @@ "mod": "PayloadDivinerQueryTemplateWitness" }, { - "input": [ - "PayloadDivinerQueryTemplateWitness" - ], + "input": ["PayloadDivinerQueryTemplateWitness"], "mod": "PayloadDivinerQueryBuilder" }, { - "input": [ - "PayloadDivinerQueryBuilder" - ], + "input": ["PayloadDivinerQueryBuilder"], "mod": "PayloadDiviner" } ] @@ -148,4 +135,4 @@ } ], "schema": "network.xyo.manifest" -} \ No newline at end of file +} diff --git a/packages/modules/src/spec/Sentinel.Interval.spec.ts b/packages/modules/src/spec/Sentinel.Interval.spec.ts index f4830cfbc7..8925f18b14 100644 --- a/packages/modules/src/spec/Sentinel.Interval.spec.ts +++ b/packages/modules/src/spec/Sentinel.Interval.spec.ts @@ -11,7 +11,7 @@ import type { PackageManifestPayload } from '@xyo-network/manifest' import { ManifestWrapper } from '@xyo-network/manifest' import { ModuleFactoryLocator } from '@xyo-network/module-factory-locator' import type { MemoryNode } from '@xyo-network/node-memory' -import type { WithMeta } from '@xyo-network/payload-model' +import type { Payload } from '@xyo-network/payload-model' import { beforeAll, describe, expect, it, @@ -57,18 +57,22 @@ describe('Sentinel.Interval', () => { }, ] const archivist = asArchivistInstance(await node.resolve('Archivist')) + expect(archivist).toBeDefined() await archivist?.insert(testPayloads) }) it('sentinel query', async () => { - await delay(5000) + let payloads: Payload[] = [] const archivist = asArchivistInstance(await node.resolve('Results')) expect(archivist).toBeDefined() - const payloads = (await archivist?.all?.()) ?? [] - expect(payloads.length).toBeGreaterThan(0) - // console.log(`payloads: ${JSON.stringify(payloads, null, 2)}`) + while (payloads.length === 0) { + await delay(500) + const all = await archivist?.all?.() ?? [] + const filtered = all.filter(p => p.schema === NETWORK_XYO_TEST) + if (filtered.length > 0) payloads.push(...filtered) + } expect(payloads.some(p => p.schema === NETWORK_XYO_TEST)).toBeTrue() - }, 20_000) + }, 3000) it.skip('manual query', async () => { const testPayloads = [ { @@ -97,7 +101,7 @@ describe('Sentinel.Interval', () => { } const initialState = await addressStatePayloadDiviner?.divine([lastStateQuery]) const statePayloads - = initialState?.filter((p): p is WithMeta<{ offset?: number; schema: string }> => p.schema === 'network.xyo.module.state') ?? [] + = initialState?.filter((p): p is { offset?: number; schema: string } => p.schema === 'network.xyo.module.state') ?? [] const offset = statePayloads?.[0]?.offset ?? 0 const payloadDiviner = asDivinerInstance(await node.resolve('PayloadDiviner')) const payloadDivinerQuery = { diff --git a/packages/modules/src/spec/tsconfig.json b/packages/modules/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/modules/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/protocol/.npmignore b/packages/protocol/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/protocol/.npmignore +++ b/packages/protocol/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/protocol/package.json b/packages/protocol/package.json index 304969c696..13ab34e35a 100644 --- a/packages/protocol/package.json +++ b/packages/protocol/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/protocol", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -35,11 +35,12 @@ "@xyo-network/payload": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/protocol/packages/account/.npmignore b/packages/protocol/packages/account/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/protocol/packages/account/.npmignore +++ b/packages/protocol/packages/account/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/protocol/packages/account/package.json b/packages/protocol/packages/account/package.json index 6f424f126e..15941bc8d6 100644 --- a/packages/protocol/packages/account/package.json +++ b/packages/protocol/packages/account/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/account", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -31,11 +31,11 @@ "dependencies": { "@bitauth/libauth": "^3.0.0", "@scure/bip39": "^1.5.0", - "@xylabs/arraybuffer": "^4.4.10", - "@xylabs/assert": "^4.4.10", - "@xylabs/hex": "^4.4.10", - "@xylabs/object": "^4.4.10", - "@xylabs/static-implements": "^4.4.10", + "@xylabs/arraybuffer": "^4.4.25", + "@xylabs/assert": "^4.4.25", + "@xylabs/hex": "^4.4.25", + "@xylabs/object": "^4.4.25", + "@xylabs/static-implements": "^4.4.25", "@xyo-network/account-model": "workspace:^", "@xyo-network/data": "workspace:^", "@xyo-network/key-model": "workspace:^", @@ -47,14 +47,15 @@ "ethers": "6.13.4" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", - "@xylabs/vitest-matchers": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", + "@xylabs/vitest-matchers": "^4.4.25", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/protocol/packages/account/packages/account-model/.npmignore b/packages/protocol/packages/account/packages/account-model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/protocol/packages/account/packages/account-model/.npmignore +++ b/packages/protocol/packages/account/packages/account-model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/protocol/packages/account/packages/account-model/package.json b/packages/protocol/packages/account/packages/account-model/package.json index 2e8e243b0b..c586c4a71e 100644 --- a/packages/protocol/packages/account/packages/account-model/package.json +++ b/packages/protocol/packages/account/packages/account-model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/account-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,14 +29,14 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/arraybuffer": "^4.4.10", - "@xylabs/hex": "^4.4.10", + "@xylabs/arraybuffer": "^4.4.25", + "@xylabs/hex": "^4.4.25", "@xyo-network/key-model": "workspace:^", "@xyo-network/previous-hash-store-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "ethers": "^6.13.4", "typescript": "^5.7.2" }, @@ -50,5 +50,6 @@ }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/protocol/packages/account/packages/account-model/src/Account.ts b/packages/protocol/packages/account/packages/account-model/src/Account.ts index 2ba562aa18..4ff1220aa7 100644 --- a/packages/protocol/packages/account/packages/account-model/src/Account.ts +++ b/packages/protocol/packages/account/packages/account-model/src/Account.ts @@ -57,7 +57,7 @@ export interface AccountInstance { previousHashBytes: ArrayBufferLike | undefined readonly private?: PrivateKeyInstance readonly public?: PublicKeyInstance - sign: (hash: ArrayBufferLike, previousHash: ArrayBufferLike | undefined) => Promise + sign: (hash: ArrayBufferLike, previousHash?: ArrayBufferLike) => Promise<[ArrayBufferLike, Hash?]> verify: (msg: ArrayBufferLike, signature: ArrayBufferLike) => Promise } diff --git a/packages/protocol/packages/account/packages/keypair-model/.npmignore b/packages/protocol/packages/account/packages/keypair-model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/protocol/packages/account/packages/keypair-model/.npmignore +++ b/packages/protocol/packages/account/packages/keypair-model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/protocol/packages/account/packages/keypair-model/package.json b/packages/protocol/packages/account/packages/keypair-model/package.json index d195fcbec4..08eeeb4382 100644 --- a/packages/protocol/packages/account/packages/keypair-model/package.json +++ b/packages/protocol/packages/account/packages/keypair-model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/key-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -32,12 +32,13 @@ "@xyo-network/data": "workspace:^" }, "devDependencies": { - "@types/node": "^22.10.1", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@types/node": "^22.10.2", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/protocol/packages/account/packages/previous-hash-store/.npmignore b/packages/protocol/packages/account/packages/previous-hash-store/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/protocol/packages/account/packages/previous-hash-store/.npmignore +++ b/packages/protocol/packages/account/packages/previous-hash-store/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/protocol/packages/account/packages/previous-hash-store/package.json b/packages/protocol/packages/account/packages/previous-hash-store/package.json index 950b98678b..5518242273 100644 --- a/packages/protocol/packages/account/packages/previous-hash-store/package.json +++ b/packages/protocol/packages/account/packages/previous-hash-store/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/previous-hash-store", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -34,11 +34,12 @@ "@xyo-network/previous-hash-store-storage": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/protocol/packages/account/packages/previous-hash-store/packages/indexeddb/.npmignore b/packages/protocol/packages/account/packages/previous-hash-store/packages/indexeddb/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/protocol/packages/account/packages/previous-hash-store/packages/indexeddb/.npmignore +++ b/packages/protocol/packages/account/packages/previous-hash-store/packages/indexeddb/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/protocol/packages/account/packages/previous-hash-store/packages/indexeddb/package.json b/packages/protocol/packages/account/packages/previous-hash-store/packages/indexeddb/package.json index 60de58cf8e..1822383885 100644 --- a/packages/protocol/packages/account/packages/previous-hash-store/packages/indexeddb/package.json +++ b/packages/protocol/packages/account/packages/previous-hash-store/packages/indexeddb/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/previous-hash-store-indexeddb", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,15 +29,15 @@ "module": "dist/neutral/index.mjs", "types": "dist/node/index.d.ts", "dependencies": { - "@xylabs/hex": "^4.4.10", + "@xylabs/hex": "^4.4.25", "@xyo-network/previous-hash-store-model": "workspace:^", - "idb": "^8.0.0" + "idb": "^8.0.1" }, "devDependencies": { - "@types/node": "^22.10.1", + "@types/node": "^22.10.2", "@types/uuid": "10.0.0", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "fake-indexeddb": "^6.0.0", "typescript": "^5.7.2", "uuid": "^11.0.3", @@ -45,5 +45,6 @@ }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/protocol/packages/account/packages/previous-hash-store/packages/indexeddb/src/spec/IndexedDbPreviousHashStore.spec.ts b/packages/protocol/packages/account/packages/previous-hash-store/packages/indexeddb/src/spec/IndexedDbPreviousHashStore.spec.ts index d49d71330a..8473d15f41 100644 --- a/packages/protocol/packages/account/packages/previous-hash-store/packages/indexeddb/src/spec/IndexedDbPreviousHashStore.spec.ts +++ b/packages/protocol/packages/account/packages/previous-hash-store/packages/indexeddb/src/spec/IndexedDbPreviousHashStore.spec.ts @@ -1,7 +1,3 @@ -/** - * @jest-environment jsdom - */ - import type { Address } from '@xylabs/hex' import { IDBCursor, diff --git a/packages/protocol/packages/account/packages/previous-hash-store/packages/indexeddb/src/spec/tsconfig.json b/packages/protocol/packages/account/packages/previous-hash-store/packages/indexeddb/src/spec/tsconfig.json deleted file mode 100644 index 3ce1dd9c21..0000000000 --- a/packages/protocol/packages/account/packages/previous-hash-store/packages/indexeddb/src/spec/tsconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "compilerOptions": { - "lib": ["esnext", "dom"] - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/protocol/packages/account/packages/previous-hash-store/packages/model/.npmignore b/packages/protocol/packages/account/packages/previous-hash-store/packages/model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/protocol/packages/account/packages/previous-hash-store/packages/model/.npmignore +++ b/packages/protocol/packages/account/packages/previous-hash-store/packages/model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/protocol/packages/account/packages/previous-hash-store/packages/model/package.json b/packages/protocol/packages/account/packages/previous-hash-store/packages/model/package.json index e3c81a89f4..8803e4bc0b 100644 --- a/packages/protocol/packages/account/packages/previous-hash-store/packages/model/package.json +++ b/packages/protocol/packages/account/packages/previous-hash-store/packages/model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/previous-hash-store-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,14 +29,15 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/hex": "^4.4.10" + "@xylabs/hex": "^4.4.25" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/protocol/packages/account/packages/previous-hash-store/packages/storage/.npmignore b/packages/protocol/packages/account/packages/previous-hash-store/packages/storage/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/protocol/packages/account/packages/previous-hash-store/packages/storage/.npmignore +++ b/packages/protocol/packages/account/packages/previous-hash-store/packages/storage/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/protocol/packages/account/packages/previous-hash-store/packages/storage/package.json b/packages/protocol/packages/account/packages/previous-hash-store/packages/storage/package.json index 36427750cd..bc594fae61 100644 --- a/packages/protocol/packages/account/packages/previous-hash-store/packages/storage/package.json +++ b/packages/protocol/packages/account/packages/previous-hash-store/packages/storage/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/previous-hash-store-storage", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,20 +29,21 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/hex": "^4.4.10", + "@xylabs/hex": "^4.4.25", "@xyo-network/previous-hash-store-model": "workspace:^", "store2": "^2.14.3" }, "devDependencies": { - "@types/node": "^22.10.1", + "@types/node": "^22.10.2", "@types/uuid": "^10.0.0", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2", "uuid": "^11.0.3", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/protocol/packages/account/packages/previous-hash-store/packages/storage/src/spec/StoragePreviousHashStore.spec.ts b/packages/protocol/packages/account/packages/previous-hash-store/packages/storage/src/spec/StoragePreviousHashStore.spec.ts index 50f3ebdfa8..09a425f341 100644 --- a/packages/protocol/packages/account/packages/previous-hash-store/packages/storage/src/spec/StoragePreviousHashStore.spec.ts +++ b/packages/protocol/packages/account/packages/previous-hash-store/packages/storage/src/spec/StoragePreviousHashStore.spec.ts @@ -1,7 +1,3 @@ -/** - * @jest-environment jsdom - */ - import type { Address } from '@xylabs/hex' import { v4 as uuid } from 'uuid' import { diff --git a/packages/protocol/packages/account/packages/previous-hash-store/packages/storage/src/spec/tsconfig.json b/packages/protocol/packages/account/packages/previous-hash-store/packages/storage/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/protocol/packages/account/packages/previous-hash-store/packages/storage/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/protocol/packages/account/packages/wallet-model/.npmignore b/packages/protocol/packages/account/packages/wallet-model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/protocol/packages/account/packages/wallet-model/.npmignore +++ b/packages/protocol/packages/account/packages/wallet-model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/protocol/packages/account/packages/wallet-model/package.json b/packages/protocol/packages/account/packages/wallet-model/package.json index 74c096f735..b60a02e395 100644 --- a/packages/protocol/packages/account/packages/wallet-model/package.json +++ b/packages/protocol/packages/account/packages/wallet-model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/wallet-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,12 +29,12 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/hex": "^4.4.10", + "@xylabs/hex": "^4.4.25", "@xyo-network/account-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "ethers": "^6.13.4", "typescript": "^5.7.2" }, @@ -48,5 +48,6 @@ }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/protocol/packages/account/src/Account.ts b/packages/protocol/packages/account/src/Account.ts index bc2746d7d3..c82b643815 100644 --- a/packages/protocol/packages/account/src/Account.ts +++ b/packages/protocol/packages/account/src/Account.ts @@ -1,4 +1,4 @@ -import { toUint8Array } from '@xylabs/arraybuffer' +import { toArrayBuffer, toUint8Array } from '@xylabs/arraybuffer' import { assertEx } from '@xylabs/assert' import { Address, Hash, hexFromArrayBuffer, @@ -133,28 +133,30 @@ export class Account extends EllipticKey implements AccountInstance { }) } - async sign(hash: ArrayBufferLike, previousHash: ArrayBufferLike | undefined): Promise { + async sign(hash: ArrayBufferLike, previousHash: ArrayBufferLike | undefined): Promise<[ArrayBufferLike, Hash?]> { await Elliptic.initialize() return await this._signingMutex.runExclusive(async () => { + if (Account.previousHashStore) { + const storedPreviousHash = await Account.previousHashStore.getItem(this.address) + this._previousHash = storedPreviousHash ? toArrayBuffer(storedPreviousHash, 32) : undefined + } const currentPreviousHash = this.previousHash const passedCurrentHash - = typeof previousHash === 'string' - ? previousHash - : previousHash === undefined - ? undefined - : hexFromArrayBuffer(previousHash, { prefix: false }) + = previousHash === undefined + ? this.previousHash + : hexFromArrayBuffer(previousHash, { prefix: false }) assertEx( currentPreviousHash === passedCurrentHash, () => `Used and current previous hashes do not match [${currentPreviousHash} !== ${passedCurrentHash}]`, ) - const signature = this.private.sign(hash) + const signature = await this.private.sign(hash) const newPreviousHash = toUint8Array(hash, 32).buffer this._previousHash = newPreviousHash if (Account.previousHashStore) { await Account.previousHashStore.setItem(this.address, hexFromArrayBuffer(newPreviousHash, { prefix: false })) } - return signature + return [signature, currentPreviousHash] }) } diff --git a/packages/protocol/packages/account/src/lib/walletPath/spec/tsconfig.json b/packages/protocol/packages/account/src/lib/walletPath/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/protocol/packages/account/src/lib/walletPath/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/protocol/packages/account/src/spec/Account/Account.browser.spec.ts b/packages/protocol/packages/account/src/spec/Account/Account.browser.spec.ts index 86e7e9d610..a7d36547ae 100644 --- a/packages/protocol/packages/account/src/spec/Account/Account.browser.spec.ts +++ b/packages/protocol/packages/account/src/spec/Account/Account.browser.spec.ts @@ -1,6 +1,3 @@ -/** - * @jest-environment jsdom - */ import { describe } from 'vitest' import { Account } from '../../Account.ts' diff --git a/packages/protocol/packages/account/src/spec/Account/Account.spec.ts b/packages/protocol/packages/account/src/spec/Account/Account.spec.ts index 5f08637ecc..647c5bc155 100644 --- a/packages/protocol/packages/account/src/spec/Account/Account.spec.ts +++ b/packages/protocol/packages/account/src/spec/Account/Account.spec.ts @@ -44,7 +44,7 @@ export const generateAccountTests = (title: string, Account: AccountStatic) => { expect(wallet.public).toBeDefined() expect(wallet.address).toBeDefined() const previousHash = wallet.previousHash - const signature = await wallet.sign(testVectorHash, toArrayBuffer(previousHash)) + const [signature] = await wallet.sign(testVectorHash, toArrayBuffer(previousHash)) const valid = await wallet.verify(testVectorHash, signature) expect(valid).toBeTrue() }) @@ -52,7 +52,7 @@ export const generateAccountTests = (title: string, Account: AccountStatic) => { test('Sign-testVectors', async () => { const wallet = await Account.fromPrivateKey(testVectorPrivateKey) const previousHash = wallet.previousHash - const signature = await wallet.sign(testVectorHash, toArrayBuffer(previousHash)) + const [signature] = await wallet.sign(testVectorHash, toArrayBuffer(previousHash)) const expectedSignature = toArrayBuffer(testVectorSignature) expect(signature).toEqual(expectedSignature) @@ -78,7 +78,7 @@ export const generateAccountTests = (title: string, Account: AccountStatic) => { test('Sign-random-string', async () => { const wallet = await Account.fromPrivateKey(testVectorPrivateKey) const previousHash = wallet.previousHash - const signature = await wallet.sign(testVectorHash, toArrayBuffer(previousHash)) + const [signature] = await wallet.sign(testVectorHash, toArrayBuffer(previousHash)) expect(signature.byteLength).toBe(64) const valid = await wallet.verify(testVectorHash, signature) expect(valid).toBeTrue() diff --git a/packages/protocol/packages/account/src/spec/AddressValue.spec.ts b/packages/protocol/packages/account/src/spec/AddressValue.spec.ts index dc26a9658f..208b560866 100644 --- a/packages/protocol/packages/account/src/spec/AddressValue.spec.ts +++ b/packages/protocol/packages/account/src/spec/AddressValue.spec.ts @@ -72,7 +72,7 @@ describe('AddressValue', () => { // }) describe('verify', () => { it.each(valid)('Verifies a signature', async (message, signature, address) => { - const result = await Elliptic.verify(toUint8Array(message), toUint8Array(signature), toUint8Array(address)) + const result = await Elliptic.verify(toUint8Array(message).buffer, toUint8Array(signature).buffer, toUint8Array(address).buffer) expect(result).toBeTruthy() }) }) diff --git a/packages/protocol/packages/account/src/spec/HDWallet/HDWallet.browser.spec.ts b/packages/protocol/packages/account/src/spec/HDWallet/HDWallet.browser.spec.ts index e8c765ec20..9a60d9b56f 100644 --- a/packages/protocol/packages/account/src/spec/HDWallet/HDWallet.browser.spec.ts +++ b/packages/protocol/packages/account/src/spec/HDWallet/HDWallet.browser.spec.ts @@ -1,7 +1,3 @@ -/** - * @jest-environment jsdom - */ - import { describe, expect, it, } from 'vitest' diff --git a/packages/protocol/packages/bip39/.npmignore b/packages/protocol/packages/bip39/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/protocol/packages/bip39/.npmignore +++ b/packages/protocol/packages/bip39/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/protocol/packages/bip39/package.json b/packages/protocol/packages/bip39/package.json index 9a2497eed1..bdb043f908 100644 --- a/packages/protocol/packages/bip39/package.json +++ b/packages/protocol/packages/bip39/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/bip39", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -34,11 +34,12 @@ "@scure/bip39": "^1.5.0" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/protocol/packages/boundwitness/.npmignore b/packages/protocol/packages/boundwitness/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/protocol/packages/boundwitness/.npmignore +++ b/packages/protocol/packages/boundwitness/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/protocol/packages/boundwitness/package.json b/packages/protocol/packages/boundwitness/package.json index ce60141618..6fba4b4adb 100644 --- a/packages/protocol/packages/boundwitness/package.json +++ b/packages/protocol/packages/boundwitness/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/boundwitness", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -36,11 +36,12 @@ "@xyo-network/boundwitness-wrapper": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/protocol/packages/boundwitness/packages/builder/.npmignore b/packages/protocol/packages/boundwitness/packages/builder/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/protocol/packages/boundwitness/packages/builder/.npmignore +++ b/packages/protocol/packages/boundwitness/packages/builder/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/protocol/packages/boundwitness/packages/builder/package.json b/packages/protocol/packages/boundwitness/packages/builder/package.json index 3062d17b4e..b79da055d6 100644 --- a/packages/protocol/packages/boundwitness/packages/builder/package.json +++ b/packages/protocol/packages/boundwitness/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/boundwitness-builder", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,10 +29,9 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/arraybuffer": "^4.4.10", - "@xylabs/assert": "^4.4.10", - "@xylabs/hex": "^4.4.10", - "@xylabs/object": "^4.4.10", + "@xylabs/arraybuffer": "^4.4.25", + "@xylabs/assert": "^4.4.25", + "@xylabs/hex": "^4.4.25", "@xyo-network/account-model": "workspace:^", "@xyo-network/boundwitness-model": "workspace:^", "@xyo-network/hash": "workspace:^", @@ -42,15 +41,16 @@ "async-mutex": "^0.5.0" }, "devDependencies": { - "@xylabs/object": "^4.4.10", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/object": "^4.4.25", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/account": "workspace:^", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/protocol/packages/boundwitness/packages/builder/src/Builder.ts b/packages/protocol/packages/boundwitness/packages/builder/src/Builder.ts index a0e56b1c80..7a2e51aaeb 100644 --- a/packages/protocol/packages/boundwitness/packages/builder/src/Builder.ts +++ b/packages/protocol/packages/boundwitness/packages/builder/src/Builder.ts @@ -2,32 +2,27 @@ import { toArrayBuffer } from '@xylabs/arraybuffer' import { assertEx } from '@xylabs/assert' import type { Address, Hash } from '@xylabs/hex' import { hexFromArrayBuffer } from '@xylabs/hex' -import type { AnyObject, JsonObject } from '@xylabs/object' import type { AccountInstance } from '@xyo-network/account-model' -import type { BoundWitness } from '@xyo-network/boundwitness-model' -import { BoundWitnessSchema } from '@xyo-network/boundwitness-model' -import { removeEmptyFields, sortFields } from '@xyo-network/hash' import type { - PayloadBuilderOptions, WithoutMeta, WithoutSchema, -} from '@xyo-network/payload-builder' -import { PayloadBuilder, PayloadBuilderBase } from '@xyo-network/payload-builder' + BoundWitness, + Signed, + UnsignedBoundWitness, +} from '@xyo-network/boundwitness-model' +import { BoundWitnessSchema } from '@xyo-network/boundwitness-model' +import { + ObjectHasher, removeEmptyFields, sortFields, +} from '@xyo-network/hash' +import type { PayloadBuilderOptions } from '@xyo-network/payload-builder' +import { omitSchema, PayloadBuilder } from '@xyo-network/payload-builder' import type { - ModuleError, Payload, Schema, WithMeta, + ModuleError, Payload, Schema, + WithoutMeta, + WithoutSchema, } from '@xyo-network/payload-model' import { Mutex } from 'async-mutex' -export type GeneratedBoundWitnessFields = 'addresses' | 'payload_hashes' | 'payload_schemas' | 'previous_hashes' - -export interface BoundWitnessBuilderOptions - extends Omit>, 'schema'> { - readonly accounts?: AccountInstance[] - readonly destination?: Hash[] - readonly payloadHashes?: TBoundWitness['payload_hashes'] - readonly payloadSchemas?: TBoundWitness['payload_schemas'] - readonly payloads?: TPayload[] - readonly sourceQuery?: Hash - readonly timestamp?: number -} +export const GeneratedBoundWitnessFields = ['addresses', 'payload_hashes', 'payload_schemas', 'previous_hashes'] as const +export type GeneratedBoundWitnessFields = typeof GeneratedBoundWitnessFields[number] const uniqueAccounts = (accounts: AccountInstance[], throwOnFalse = false) => { const addresses = new Set
() @@ -43,33 +38,24 @@ const uniqueAccounts = (accounts: AccountInstance[], throwOnFalse = false) => { return true } -export class BoundWitnessBuilder extends PayloadBuilderBase< - Omit, - BoundWitnessBuilderOptions & { schema: BoundWitnessSchema } -> { +export class BoundWitnessBuilder< + TBoundWitness extends UnsignedBoundWitness = UnsignedBoundWitness, + TPayload extends Payload = Payload> + extends PayloadBuilder< + TBoundWitness, + Promise<[Signed, TPayload[], ModuleError[]]> + > { private static readonly _buildMutex = new Mutex() - private _accounts: AccountInstance[] - private _destination?: Hash[] + + private _accounts: AccountInstance[] = [] private _errorHashes?: Hash[] private _errors: ModuleError[] = [] private _payloadHashes?: Hash[] private _payloadSchemas?: Schema[] - private _payloads: TPayload[] - private _sourceQuery?: Hash - private _timestamp: boolean | number + private _payloads: TPayload[] = [] - constructor(options?: BoundWitnessBuilderOptions) { + constructor(options?: Omit) { super({ ...options, schema: BoundWitnessSchema }) - const { - accounts, payloadHashes, payloadSchemas, payloads, sourceQuery, timestamp, destination, - } = options ?? {} - this._accounts = accounts ?? [] - this._payloadHashes = payloadHashes - this._payloadSchemas = payloadSchemas - this._payloads = payloads ?? [] - this._sourceQuery = sourceQuery - this._destination = destination - this._timestamp = timestamp ?? true } protected get addresses(): Address[] { @@ -86,7 +72,7 @@ export class BoundWitnessBuilder account.previousHashBytes ?? null) } @@ -94,10 +80,6 @@ export class BoundWitnessBuilder account.previousHash ?? null) } - protected get timestamp(): number { - return (this._timestamp = typeof this._timestamp === 'number' ? this._timestamp : Date.now()) - } - static addressIndex(payload: T, address: Address) { const index = payload.addresses.indexOf(address) if (index === -1) { @@ -106,104 +88,69 @@ export class BoundWitnessBuilder(options: BoundWitnessBuilderOptions) { - return await new BoundWitnessBuilder(options).build() - } - - static override async dataHashableFields>( - schema: string, - fields?: WithoutSchema>, - ): Promise> { - return await PayloadBuilderBase.dataHashableFields(schema, fields ? removeEmptyFields(fields) : undefined) - } - static previousHash(boundWitness: T, address: Address) { return boundWitness.previous_hashes[this.addressIndex(boundWitness, address)]?.toLowerCase() } - protected static async linkingFields( + protected static async linkingFields( accounts: AccountInstance[], payloads?: Payload[], - timestamp = Date.now(), - ) { + ): Promise> { const addresses = accounts.map(account => hexFromArrayBuffer(account.addressBytes, { prefix: false })) const previous_hashes = accounts.map(account => account.previousHash ?? null) - const payload_hashes = payloads ? await PayloadBuilder.dataHashes(payloads) : [] - const payload_schemas = payloads?.map(({ schema }) => schema) + const payload_hashes = payloads ? await BoundWitnessBuilder.dataHashes(payloads) : [] + const payload_schemas = payloads?.map(({ schema }) => schema) ?? [] return { - addresses, payload_hashes, payload_schemas, previous_hashes, timestamp, - } as WithoutSchema> - } - - protected static override async metaFields( - dataHash: Hash, - otherMeta?: JsonObject, - stamp = true, - accounts?: AccountInstance[], - previousHashes?: (Hash | null)[], - destination?: Address[], - sourceQuery?: Hash, - ): Promise { - const meta = await super.metaFields(dataHash, otherMeta, stamp) - - if (accounts?.length && previousHashes?.length) { - assertEx(accounts.length === previousHashes.length, () => 'accounts and previousHashes must have same length') - meta.signatures = await this.signatures(accounts, dataHash, previousHashes) - } - - if (sourceQuery) { - meta.sourceQuery = sourceQuery - } - - if (destination) { - meta.destination = destination + addresses, payload_hashes, payload_schemas, previous_hashes, } - - return meta } protected static signature(payload: T, address: Address) { - return payload.$meta.signatures[this.addressIndex(payload, address)] + return payload.$signatures[this.addressIndex(payload, address)] } - protected static async signatures(accounts: AccountInstance[], hash: Hash, previousHashes: (Hash | ArrayBuffer | null)[]): Promise { - const hashBytes = toArrayBuffer(hash) - const previousHashesBytes = previousHashes?.map(ph => (ph ? toArrayBuffer(ph) : undefined)) - return await Promise.all(accounts.map(async (account, index) => hexFromArrayBuffer(await account.sign(hashBytes, previousHashesBytes[index])))) + protected static async signatures(accounts: AccountInstance[], dataHash: Hash): Promise { + const hashBytes = toArrayBuffer(dataHash) + const previousHashesBytes = accounts?.map(account => account.previousHashBytes) + return await Promise.all(accounts.map(async (account, index) => hexFromArrayBuffer((await account.sign(hashBytes, previousHashesBytes[index]))[0]))) } - private static validateLinkingFields(bw: Pick) { - assertEx(bw.payload_hashes?.length === bw.payload_schemas?.length, () => 'Payload hash/schema mismatch') - assertEx(!bw.payload_hashes.some(hash => !hash), () => 'nulls found in hashes') - assertEx(!bw.payload_schemas.some(schema => !schema), () => 'nulls found in schemas') + private static validateGeneratedFields(fields: Pick) { + assertEx(fields.payload_hashes?.length === fields.payload_schemas?.length, () => 'Payload hash/schema mismatch') + assertEx(!fields.payload_hashes.some(hash => !hash), () => 'nulls found in hashes') + assertEx(!fields.payload_schemas.some(schema => !schema), () => 'nulls found in schemas') } - async build(): Promise<[WithMeta, WithMeta[], WithMeta[]]> { + override async build(): Promise<[Signed, TPayload[], ModuleError[]]> { return await BoundWitnessBuilder._buildMutex.runExclusive(async () => { const dataHashableFields = (await this.dataHashableFields()) as TBoundWitness - const $hash = (await PayloadBuilder.build(dataHashableFields)).$hash - const $meta = await this.metaFields($hash) + const $signatures = await this.sign() const ret = { - ...dataHashableFields, - $hash, - $meta, - } as WithMeta + ...this._meta, ...dataHashableFields, $signatures, + } as Signed return [ ret, - await Promise.all(this._payloads?.map(payload => PayloadBuilder.build(payload))), - await Promise.all(this._errors?.map(error => PayloadBuilder.build(error))), + this._payloads, + this._errors, ] }) } - override async dataHashableFields(): Promise> { - const fields = await this.linkingFields() - const result = await BoundWitnessBuilder.dataHashableFields(this._schema, fields) - - BoundWitnessBuilder.validateLinkingFields(result) + async dataHash() { + const dataHashableFields = await this.dataHashableFields() + const hash = await ObjectHasher.hash(dataHashableFields) + return hash + } - return result as Omit + override async dataHashableFields() { + const generatedFields: Pick = await this.generatedFields() + BoundWitnessBuilder.validateGeneratedFields(generatedFields) + const fields: WithoutSchema = { + ...this._fields, + ...generatedFields, + } as WithoutSchema + return await BoundWitnessBuilder.dataHashableFields(this._schema, fields) } error(payload?: ModuleError) { @@ -225,6 +172,20 @@ export class BoundWitnessBuilder>>): this { + const clone = structuredClone(fields) as unknown as Partial + for (const field of GeneratedBoundWitnessFields) { + delete clone[field] + } + // we need to do the cast here since ts seems to not like nested, yet same, generics + this._fields = omitSchema( + BoundWitnessBuilder.omitMeta( + removeEmptyFields(structuredClone(fields)), + ), + ) as unknown as WithoutMeta> + return this + } + hashes(hashes: Hash[], schema: Schema[]) { assertEx(this.payloads.length === 0, () => 'Can not set hashes when payloads already set') this._payloadHashes = hashes @@ -262,8 +223,11 @@ export class BoundWitnessBuilder { - return await BoundWitnessBuilder.metaFields( - dataHash, - this._$meta, - stamp, - this._accounts, - this.previousHashes, - this._destination, - this._sourceQuery, - ) - } - - protected async signatures(_hash: Hash, previousHashes: (Hash | ArrayBuffer | null)[]): Promise { + protected async sign(): Promise { uniqueAccounts(this._accounts, true) - const hash = toArrayBuffer(_hash) - const previousHashesBytes = previousHashes.map(ph => (ph ? toArrayBuffer(ph) : undefined)) - return await Promise.all(this._accounts.map(async (account, index) => hexFromArrayBuffer(await account.sign(hash, previousHashesBytes[index])))) + const hashBytes = toArrayBuffer(await this.dataHash()) + return await Promise.all(this._accounts.map(async account => hexFromArrayBuffer((await account.sign(hashBytes))[0]))) } - private async linkingFields() { - return await BoundWitnessBuilder.linkingFields(this._accounts, this._payloads, this.timestamp) + private async generatedFields(): Promise> { + return await BoundWitnessBuilder.linkingFields(this._accounts, this._payloads) } private missingSchemaMessage(payload: Payload) { diff --git a/packages/protocol/packages/boundwitness/packages/builder/src/Query/QueryBoundWitnessBuilder.ts b/packages/protocol/packages/boundwitness/packages/builder/src/Query/QueryBoundWitnessBuilder.ts index 6c5c57d398..2d8a704e15 100644 --- a/packages/protocol/packages/boundwitness/packages/builder/src/Query/QueryBoundWitnessBuilder.ts +++ b/packages/protocol/packages/boundwitness/packages/builder/src/Query/QueryBoundWitnessBuilder.ts @@ -1,11 +1,7 @@ import { assertEx } from '@xylabs/assert' -import type { Hash } from '@xylabs/hex' import type { QueryBoundWitness } from '@xyo-network/boundwitness-model' -import { QueryBoundWitnessSchema } from '@xyo-network/boundwitness-model' import { PayloadBuilder } from '@xyo-network/payload' -import type { - Payload, Query, WithMeta, -} from '@xyo-network/payload-model' +import type { Query, WithoutMeta } from '@xyo-network/payload-model' import { BoundWitnessBuilder } from '../Builder.ts' @@ -13,29 +9,19 @@ export class QueryBoundWitnessBuilder< TBoundWitness extends QueryBoundWitness = QueryBoundWitness, TQuery extends Query = Query, > extends BoundWitnessBuilder { - private _additional?: Hash[] - private _query: WithMeta | undefined + private _query: TQuery | undefined - async additional(additional: Payload[]) { - this._additional = await PayloadBuilder.dataHashes(additional) - return this - } - - override async dataHashableFields(): Promise> { + override async dataHashableFields(): Promise> { const fields = { ...(await super.dataHashableFields()), - query: assertEx(this._query, () => 'No Query Specified').$hash, - schema: QueryBoundWitnessSchema, - } as Omit - if (this._additional) { - fields.additional = this._additional - } - return fields + query: await PayloadBuilder.dataHash(assertEx(this._query, () => 'No Query Specified')), + } as TBoundWitness + return { ...fields } as WithoutMeta } - async query(query: T) { - this._query = await PayloadBuilder.build(query) - this.payload(this._query) + query(query: T) { + this.payload(query) + this._query = query return this } } diff --git a/packages/protocol/packages/boundwitness/packages/builder/src/spec/Builder.sequence.spec.ts b/packages/protocol/packages/boundwitness/packages/builder/src/spec/Builder.sequence.spec.ts index 71a8e225a6..1598f14846 100644 --- a/packages/protocol/packages/boundwitness/packages/builder/src/spec/Builder.sequence.spec.ts +++ b/packages/protocol/packages/boundwitness/packages/builder/src/spec/Builder.sequence.spec.ts @@ -1,6 +1,7 @@ import '@xylabs/vitest-extended' import { HDWallet } from '@xyo-network/account' +import { PayloadBuilder } from '@xyo-network/payload-builder' import { afterAll, beforeAll, @@ -102,7 +103,7 @@ const boundWitnessSequenceTestCases = [ boundWitnessSequenceTestCase4, ] -describe('BoundWitnessBuilder', () => { +describe.sequential('BoundWitnessBuilder', () => { beforeAll(() => { // NOTE: This is here and brittle because the BoundWitnessBuilder // uses Date.now() to generate timestamps and our test vectors were @@ -142,7 +143,7 @@ describe('BoundWitnessBuilder', () => { .build() // Ensure the BW is correct - expect(bw.$hash).toEqual(testCase.dataHash) + expect(await PayloadBuilder.dataHash(bw)).toEqual(testCase.dataHash) for (let i = 0; i < testCase.payloadHashes.length; i++) { const expectedPayloadHash = testCase.payloadHashes[i] @@ -165,7 +166,7 @@ describe('BoundWitnessBuilder', () => { // Ensure correct ending account state for (const signer of signers) { expect(signer.previousHash).to.equal( - bw.$hash, + await PayloadBuilder.dataHash(bw), 'Incorrect previous hash for account', ) } diff --git a/packages/protocol/packages/boundwitness/packages/builder/src/spec/Builder.spec.ts b/packages/protocol/packages/boundwitness/packages/builder/src/spec/Builder.spec.ts index d71bc5ddbb..381e2bcef0 100644 --- a/packages/protocol/packages/boundwitness/packages/builder/src/spec/Builder.spec.ts +++ b/packages/protocol/packages/boundwitness/packages/builder/src/spec/Builder.spec.ts @@ -1,8 +1,9 @@ import '@xylabs/vitest-extended' -import { toUint8Array } from '@xylabs/arraybuffer' +import { toArrayBuffer } from '@xylabs/arraybuffer' import type { StringKeyObject } from '@xylabs/object' import { + Account, AddressValue, Elliptic, HDWallet, } from '@xyo-network/account' import { PayloadBuilder } from '@xyo-network/payload' @@ -47,7 +48,7 @@ describe('BoundWitnessBuilder', () => { describe('build', () => { describe('_hash', () => { it.each(payloads)('consistently hashes equivalent payloads independent of the order of the keys', async (payload) => { - const address = await HDWallet.fromPhrase('swarm luggage creek win urban boil tray crumble voice scrap yellow live') + const address = await Account.random() // await HDWallet.fromPhrase('swarm luggage creek win urban boil tray crumble voice scrap yellow live') let builder = new BoundWitnessBuilder() expect(builder).toBeDefined() builder = builder.signer(address) @@ -55,11 +56,17 @@ describe('BoundWitnessBuilder', () => { builder = builder.payload(payload) expect(builder).toBeDefined() const [actual] = await builder.build() + expect(actual.addresses).toBeArrayOfSize(1) expect(actual).toBeDefined() - if (actual.$meta?.signatures) { - const addr = new AddressValue(toUint8Array(actual.addresses[0]).buffer) + if (actual.$signatures) { + const addr = new AddressValue(toArrayBuffer(actual.addresses[0])) expect(addr.hex).toBe(actual.addresses[0]) - const verify = await Elliptic.verify(toUint8Array(actual.$hash).buffer, toUint8Array(actual.$meta.signatures[0]).buffer, addr.bytes) + const hashToVerify = await PayloadBuilder.dataHash(actual) + console.log('verifying hash:', hashToVerify) + console.log('verifying address:', actual.addresses[0]) + const verify = await Elliptic.verify(toArrayBuffer( + hashToVerify, + ), toArrayBuffer(actual.$signatures[0]), addr.bytes) expect(verify).toBe(true) } }) diff --git a/packages/protocol/packages/boundwitness/packages/builder/src/spec/tsconfig.json b/packages/protocol/packages/boundwitness/packages/builder/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/protocol/packages/boundwitness/packages/builder/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/protocol/packages/boundwitness/packages/loader/.npmignore b/packages/protocol/packages/boundwitness/packages/loader/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/protocol/packages/boundwitness/packages/loader/.npmignore +++ b/packages/protocol/packages/boundwitness/packages/loader/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/protocol/packages/boundwitness/packages/loader/package.json b/packages/protocol/packages/boundwitness/packages/loader/package.json index 6ced802ba7..143cea92b1 100644 --- a/packages/protocol/packages/boundwitness/packages/loader/package.json +++ b/packages/protocol/packages/boundwitness/packages/loader/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/boundwitness-loader", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,9 +29,9 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/exists": "^4.4.10", - "@xylabs/hex": "^4.4.10", - "@xylabs/object": "^4.4.10", + "@xylabs/exists": "^4.4.25", + "@xylabs/hex": "^4.4.25", + "@xylabs/object": "^4.4.25", "@xyo-network/archivist-memory": "workspace:^", "@xyo-network/archivist-model": "workspace:^", "@xyo-network/boundwitness-model": "workspace:^", @@ -40,13 +40,14 @@ "async-mutex": "^0.5.0" }, "devDependencies": { - "@xylabs/object": "^4.4.10", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/object": "^4.4.25", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/protocol/packages/boundwitness/packages/loader/src/spec/tsconfig.json b/packages/protocol/packages/boundwitness/packages/loader/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/protocol/packages/boundwitness/packages/loader/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/protocol/packages/boundwitness/packages/model/.npmignore b/packages/protocol/packages/boundwitness/packages/model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/protocol/packages/boundwitness/packages/model/.npmignore +++ b/packages/protocol/packages/boundwitness/packages/model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/protocol/packages/boundwitness/packages/model/package.json b/packages/protocol/packages/boundwitness/packages/model/package.json index 8088ce873c..fb7447b9d7 100644 --- a/packages/protocol/packages/boundwitness/packages/model/package.json +++ b/packages/protocol/packages/boundwitness/packages/model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/boundwitness-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,17 +29,18 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/hex": "^4.4.10", - "@xylabs/object": "^4.4.10", + "@xylabs/hex": "^4.4.25", + "@xylabs/object": "^4.4.25", "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@types/node": "^22.10.1", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@types/node": "^22.10.2", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/protocol/packages/boundwitness/packages/model/src/BoundWitness/BoundWitness.ts b/packages/protocol/packages/boundwitness/packages/model/src/BoundWitness/BoundWitness.ts index df2243f060..76870a7fd1 100644 --- a/packages/protocol/packages/boundwitness/packages/model/src/BoundWitness/BoundWitness.ts +++ b/packages/protocol/packages/boundwitness/packages/model/src/BoundWitness/BoundWitness.ts @@ -6,33 +6,55 @@ import type { Payload, Schema } from '@xyo-network/payload-model' import type { BoundWitnessSchema } from './BoundWitnessSchema.ts' -export type BoundWitnessFields = { - $meta: { - /** @field Array of signatures by the accounts that are listed in addresses */ - signatures: Hex[] - } +export interface BoundWitnessRequiredFields { /** @field Array of signatures by the accounts that are listed in addresses */ addresses: Address[] - /** @field sequential number (if this boundwitness is part of a multi-party chain) */ - block?: number - /** @field unique id of a multi-party chain */ - chain?: Hex - error_hashes?: Hash[] payload_hashes: Hash[] payload_schemas: Schema[] previous_hashes: (Hash | null)[] - timestamp?: number +} + +export interface BoundWitnessMeta { /** - * @field sequential number of the tower (if this boundwitness is part of a multi-party chain) - * The tower should always be zero until block reaches 2^32 which then causes it to rollover to 0 - * and increases the tower by 1 - */ - tower?: number + * @field The address to which the query is directed + */ + $destination?: Address + /** + * @field The query that initiated the bound witness + */ + $sourceQuery?: Hash +} + +export interface BoundWitnessBlockField { + /** @field sequential number (if this boundwitness is part of a multi-party chain) zero padded to 32 characters */ + block: Hex +} + +export interface BoundWitnessChainField { + /** @field unique id of a multi-party chain (usually staking contract address) */ + chain: Hex } -export type BoundWitness = Payload< +export interface BoundWitnessOptionalFields extends Partial, Partial { + root: Hash +} + +export interface BoundWitnessFields extends BoundWitnessRequiredFields, Partial {} + +export type UnsignedBoundWitness = Payload< T extends void ? BoundWitnessFields : BoundWitnessFields & T, T extends void ? BoundWitnessSchema : T extends Payload ? T['schema'] : BoundWitnessSchema -> +> & BoundWitnessMeta + +export type Signed = T & { + $signatures: Hex[] +} + +export type WithBlock = BoundWitness & BoundWitnessBlockField + +export const hasBlock = (bw: BoundWitness): bw is WithBlock => bw.block !== undefined && typeof bw.block === 'string' +export const asBlock = (bw: BoundWitness): WithBlock => bw as WithBlock + +export type BoundWitness = Signed> diff --git a/packages/protocol/packages/boundwitness/packages/model/src/QueryBoundWitness.ts b/packages/protocol/packages/boundwitness/packages/model/src/QueryBoundWitness.ts index 89b64e67c8..15ce2f24d8 100644 --- a/packages/protocol/packages/boundwitness/packages/model/src/QueryBoundWitness.ts +++ b/packages/protocol/packages/boundwitness/packages/model/src/QueryBoundWitness.ts @@ -1,20 +1,17 @@ import type { Hash } from '@xylabs/hex' -import type { WithMeta } from '@xyo-network/payload-model' +import { isStorageMeta, type WithStorageMeta } from '@xyo-network/payload-model' import type { BoundWitness } from './BoundWitness/index.ts' -import { BoundWitnessSchema } from './BoundWitness/index.ts' -import { isBoundWitness, isBoundWitnessWithMeta } from './isBoundWitness.ts' +import { isBoundWitness } from './isBoundWitness.ts' -export type QueryBoundWitnessSchema = BoundWitnessSchema -export const QueryBoundWitnessSchema: QueryBoundWitnessSchema = BoundWitnessSchema - -export type QueryBoundWitness = BoundWitness<{ - additional?: Hash[] +export type QueryBoundWitnessFields = { + error_hashes?: Hash[] query: Hash - resultSet?: string - schema: QueryBoundWitnessSchema -}> +} + +export type UnsignedQueryBoundWitness = BoundWitness + +export type QueryBoundWitness = UnsignedQueryBoundWitness export const isQueryBoundWitness = (x?: unknown): x is QueryBoundWitness => isBoundWitness(x) && (x as QueryBoundWitness)?.query !== undefined -export const isQueryBoundWitnessWithMeta = (x?: unknown): x is WithMeta => - isBoundWitness(x) && isBoundWitnessWithMeta(x) && (x as WithMeta)?.query !== undefined +export const isQueryBoundWitnessWithStorageMeta = (x?: unknown): x is WithStorageMeta => isQueryBoundWitness(x) && isStorageMeta(x) diff --git a/packages/protocol/packages/boundwitness/packages/model/src/isBoundWitness.ts b/packages/protocol/packages/boundwitness/packages/model/src/isBoundWitness.ts index 5d18118726..3841e43619 100644 --- a/packages/protocol/packages/boundwitness/packages/model/src/isBoundWitness.ts +++ b/packages/protocol/packages/boundwitness/packages/model/src/isBoundWitness.ts @@ -1,18 +1,27 @@ -import type { WithMeta } from '@xyo-network/payload-model' +import { AsObjectFactory } from '@xylabs/object' +import type { WithStorageMeta } from '@xyo-network/payload-model' import { - isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, notPayloadOfSchemaType, + isPayloadOfSchemaType, isStorageMeta, notPayloadOfSchemaType, } from '@xyo-network/payload-model' -import type { BoundWitness } from './BoundWitness/index.ts' +import type { BoundWitness, UnsignedBoundWitness } from './BoundWitness/index.ts' import { BoundWitnessSchema } from './BoundWitness/index.ts' export const isBoundWitness = (value: unknown): value is BoundWitness => isPayloadOfSchemaType(BoundWitnessSchema)(value) -export const isBoundWitnessWithMeta = (value: unknown): value is WithMeta => - isPayloadOfSchemaTypeWithMeta(BoundWitnessSchema)(value) + export const notBoundWitness = notPayloadOfSchemaType(BoundWitnessSchema) +// TODO: Use AsObjectFactory here to match standard pattern +// TODO: Other as identity functions throw if not valid, this one returns undefined with is more of a asOptional behavior export const asBoundWitness = = BoundWitness>(payload?: unknown) => isBoundWitness(payload) ? (payload as T) : undefined -/** @deprecated use isBoundWitness instead */ -export const isBoundWitnessPayload = isBoundWitness +export const asOptionalBoundWitness = AsObjectFactory.createOptional(isBoundWitness) + +export const isBoundWitnessWithStorageMeta = (value: unknown): value is WithStorageMeta => + isPayloadOfSchemaType(BoundWitnessSchema)(value) && isStorageMeta(value) +export const asBoundWitnessWithStorageMeta = AsObjectFactory.createOptional>(isBoundWitnessWithStorageMeta) +export const asOptionalBoundWitnessWithStorageMeta = AsObjectFactory.createOptional>(isBoundWitnessWithStorageMeta) + +export const isUnsignedBoundWitness = (value: unknown): value is UnsignedBoundWitness => + isPayloadOfSchemaType(BoundWitnessSchema)(value) diff --git a/packages/protocol/packages/boundwitness/packages/validator/.npmignore b/packages/protocol/packages/boundwitness/packages/validator/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/protocol/packages/boundwitness/packages/validator/.npmignore +++ b/packages/protocol/packages/boundwitness/packages/validator/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/protocol/packages/boundwitness/packages/validator/package.json b/packages/protocol/packages/boundwitness/packages/validator/package.json index f39267bd7d..6143c86dd8 100644 --- a/packages/protocol/packages/boundwitness/packages/validator/package.json +++ b/packages/protocol/packages/boundwitness/packages/validator/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/boundwitness-validator", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,10 +29,10 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/array": "^4.4.10", - "@xylabs/arraybuffer": "^4.4.10", - "@xylabs/hex": "^4.4.10", - "@xylabs/typeof": "^4.4.10", + "@xylabs/array": "^4.4.25", + "@xylabs/arraybuffer": "^4.4.25", + "@xylabs/hex": "^4.4.25", + "@xylabs/typeof": "^4.4.25", "@xyo-network/account": "workspace:^", "@xyo-network/boundwitness-model": "workspace:^", "@xyo-network/payload": "workspace:^", @@ -40,9 +40,9 @@ "@xyo-network/payload-validator": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/boundwitness-builder": "workspace:^", "@xyo-network/schema-name-validator": "workspace:^", "typescript": "^5.7.2", @@ -50,5 +50,6 @@ }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/protocol/packages/boundwitness/packages/validator/src/Validator.ts b/packages/protocol/packages/boundwitness/packages/validator/src/Validator.ts index 5679e5c7a9..320b0646e1 100644 --- a/packages/protocol/packages/boundwitness/packages/validator/src/Validator.ts +++ b/packages/protocol/packages/boundwitness/packages/validator/src/Validator.ts @@ -73,14 +73,14 @@ export class BoundWitnessValidator = async signatures(): Promise { return [ - ...validateArraysSameLength(this.obj.$meta?.signatures ?? [], this.obj.addresses ?? [], 'Length mismatch: address/signature'), + ...validateArraysSameLength(this.obj.$signatures ?? [], this.obj.addresses ?? [], 'Length mismatch: address/signature'), ...( await Promise.all( this.obj.addresses?.map>(async (address, index) => BoundWitnessValidator.validateSignature( toArrayBuffer(await PayloadBuilder.dataHash(this.payload)), toArrayBuffer(address), - toArrayBuffer(this.obj.$meta?.signatures?.[index]), + toArrayBuffer(this.obj.$signatures?.[index]), )) ?? [], ) ).flat(), diff --git a/packages/protocol/packages/boundwitness/packages/validator/src/lib/addresses/spec/tsconfig.json b/packages/protocol/packages/boundwitness/packages/validator/src/lib/addresses/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/protocol/packages/boundwitness/packages/validator/src/lib/addresses/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/protocol/packages/boundwitness/packages/validator/src/lib/util/spec/tsconfig.json b/packages/protocol/packages/boundwitness/packages/validator/src/lib/util/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/protocol/packages/boundwitness/packages/validator/src/lib/util/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/protocol/packages/boundwitness/packages/validator/src/spec/Validator.spec.ts b/packages/protocol/packages/boundwitness/packages/validator/src/spec/Validator.spec.ts index b5dd51996f..7910d82923 100644 --- a/packages/protocol/packages/boundwitness/packages/validator/src/spec/Validator.spec.ts +++ b/packages/protocol/packages/boundwitness/packages/validator/src/spec/Validator.spec.ts @@ -19,7 +19,7 @@ const dumpErrors = (errors: Error[]) => { test('valid', async () => { const wallet: WalletInstance = await HDWallet.random() const payload: Payload = { schema: 'network.xyo.test' } - const [bw] = await BoundWitnessBuilder.build({ accounts: [wallet], payloads: [payload] }) + const [bw] = await new BoundWitnessBuilder().signers([wallet]).payloads([payload]).build() BoundWitnessValidator.setSchemaNameValidatorFactory(schema => new SchemaNameValidator(schema)) const validator = new BoundWitnessValidator(bw) const errors = await validator.validate() @@ -29,9 +29,9 @@ test('valid', async () => { test('invalid', async () => { const wallet: WalletInstance = await HDWallet.random() - const payload = await PayloadBuilder.build({ schema: 'network.xyo.test' }) - const [bw] = await BoundWitnessBuilder.build({ accounts: [wallet], payloads: [payload] }) - bw.payload_hashes.push(bw.$hash) // this should make it invalid + const payload = { schema: 'network.xyo.test' } + const [bw] = await new BoundWitnessBuilder().signers([wallet]).payloads([payload]).build() + bw.payload_hashes.push(await PayloadBuilder.dataHash(bw)) // this should make it invalid bw.payload_schemas.push(bw.schema) // this should make it invalid BoundWitnessValidator.setSchemaNameValidatorFactory(schema => new SchemaNameValidator(schema)) const validator = new BoundWitnessValidator(bw) diff --git a/packages/protocol/packages/boundwitness/packages/validator/src/spec/tsconfig.json b/packages/protocol/packages/boundwitness/packages/validator/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/protocol/packages/boundwitness/packages/validator/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/protocol/packages/boundwitness/packages/wrapper/.npmignore b/packages/protocol/packages/boundwitness/packages/wrapper/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/protocol/packages/boundwitness/packages/wrapper/.npmignore +++ b/packages/protocol/packages/boundwitness/packages/wrapper/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/protocol/packages/boundwitness/packages/wrapper/package.json b/packages/protocol/packages/boundwitness/packages/wrapper/package.json index cdd30750ac..07eef210b7 100644 --- a/packages/protocol/packages/boundwitness/packages/wrapper/package.json +++ b/packages/protocol/packages/boundwitness/packages/wrapper/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/boundwitness-wrapper", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,10 +29,11 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/exists": "^4.4.10", - "@xylabs/hex": "^4.4.10", - "@xylabs/object": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/exists": "^4.4.25", + "@xylabs/hex": "^4.4.25", + "@xylabs/object": "^4.4.25", + "@xylabs/promise": "^4.4.25", "@xyo-network/boundwitness-model": "workspace:^", "@xyo-network/boundwitness-validator": "workspace:^", "@xyo-network/payload": "workspace:^", @@ -41,13 +42,14 @@ "@xyo-network/payload-wrapper": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/protocol/packages/boundwitness/packages/wrapper/src/BoundWitnessWrapper.ts b/packages/protocol/packages/boundwitness/packages/wrapper/src/BoundWitnessWrapper.ts index 94a884376d..3bbd35e59a 100644 --- a/packages/protocol/packages/boundwitness/packages/wrapper/src/BoundWitnessWrapper.ts +++ b/packages/protocol/packages/boundwitness/packages/wrapper/src/BoundWitnessWrapper.ts @@ -7,7 +7,7 @@ import { } from '@xyo-network/boundwitness-model' import { BoundWitnessValidator } from '@xyo-network/boundwitness-validator' import { PayloadBuilder } from '@xyo-network/payload-builder' -import type { Payload, WithMeta } from '@xyo-network/payload-model' +import type { Payload, WithoutPrivateStorageMeta } from '@xyo-network/payload-model' import { isPayloadWrapperBase, PayloadWrapper, PayloadWrapperBase, } from '@xyo-network/payload-wrapper' @@ -25,13 +25,13 @@ export class BoundWitnessWrapper< TBoundWitness extends BoundWitness<{ schema: string }> = BoundWitness, TPayload extends Payload = Payload, > extends PayloadWrapperBase { - private _payloadDataMap: Record> | undefined - private _payloadMap: Record> | undefined + private _payloadDataMap: Record | undefined + private _payloadMap: Record | undefined protected constructor( - public boundwitness: WithMeta, - public payloads: WithMeta[] = [], - public moduleErrors?: WithMeta[], + public boundwitness: TBoundWitness, + public payloads: TPayload[] = [], + public moduleErrors?: Payload[], ) { super(boundwitness) } @@ -67,17 +67,17 @@ export class BoundWitnessWrapper< static parse( obj: unknown, - payloads?: WithMeta

[], + payloads?: P[], ): BoundWitnessWrapper { - let hydratedObj: WithMeta | undefined = undefined + let hydratedObj: T | undefined = undefined switch (typeof obj) { case 'string': { - hydratedObj = JSON.parse(obj) as WithMeta + hydratedObj = JSON.parse(obj) as T break } case 'object': { if (isObject(obj)) { - hydratedObj = obj as unknown as WithMeta + hydratedObj = obj as unknown as T } break } @@ -95,7 +95,7 @@ export class BoundWitnessWrapper< throw new Error(`Unable to parse [${typeof obj}]`) } - static tryParse(obj: unknown, payloads?: WithMeta

[]): BoundWitnessWrapper | undefined { + static tryParse(obj: unknown, payloads?: P[]): BoundWitnessWrapper | undefined { if (obj === undefined) return undefined try { return this.parse(obj, payloads) @@ -105,8 +105,8 @@ export class BoundWitnessWrapper< } static async wrap( - obj: PayloadWrapperBase | T, - payloads?: WithMeta

[], + obj: PayloadWrapperBase | WithoutPrivateStorageMeta, + payloads?: P[], ): Promise> { switch (typeof obj) { case 'object': { @@ -140,7 +140,7 @@ export class BoundWitnessWrapper< const innerBoundwitnessIndex: number = this.payloadSchemas.indexOf(BoundWitnessSchema) if (innerBoundwitnessIndex !== -1) { const innerBoundwitnessHash: Hash = this.payloadHashes[innerBoundwitnessIndex] - const innerBoundwitnessPayload = asBoundWitness>( + const innerBoundwitnessPayload = asBoundWitness( (await PayloadBuilder.toDataHashMap(this.payloads))[innerBoundwitnessHash], ) const innerBoundwitness: BoundWitnessWrapper | undefined @@ -184,16 +184,16 @@ export class BoundWitnessWrapper< return hashes.map(hash => assertEx(map[hash], () => 'Hash not found') as TPayload) } - payloadsBySchema(schema: string): WithMeta[] { - return this.payloads.filter(payload => payload?.schema === schema) as WithMeta[] + payloadsBySchema(schema: string): T[] { + return this.payloads.filter(payload => payload?.schema === schema) as T[] } - async payloadsDataHashMap(): Promise>> { + async payloadsDataHashMap(): Promise> { this._payloadDataMap = this._payloadDataMap ?? (await PayloadBuilder.toDataHashMap(this.payloads)) return this._payloadDataMap } - async payloadsHashMap(): Promise>> { + async payloadsHashMap(): Promise> { this._payloadMap = this._payloadMap ?? (await PayloadBuilder.toHashMap(this.payloads)) return this._payloadMap } diff --git a/packages/protocol/packages/boundwitness/packages/wrapper/src/QueryBoundWitnessWrapper.ts b/packages/protocol/packages/boundwitness/packages/wrapper/src/QueryBoundWitnessWrapper.ts index 40f1b01b59..faebe1afc1 100644 --- a/packages/protocol/packages/boundwitness/packages/wrapper/src/QueryBoundWitnessWrapper.ts +++ b/packages/protocol/packages/boundwitness/packages/wrapper/src/QueryBoundWitnessWrapper.ts @@ -1,10 +1,9 @@ import { assertEx } from '@xylabs/assert' import { exists } from '@xylabs/exists' +import type { Promisable } from '@xylabs/promise' import { isQueryBoundWitness, type QueryBoundWitness } from '@xyo-network/boundwitness-model' import { PayloadBuilder } from '@xyo-network/payload' -import type { - Payload, Query, WithMeta, -} from '@xyo-network/payload-model' +import type { Payload, Query } from '@xyo-network/payload-model' import { PayloadWrapper } from '@xyo-network/payload-wrapper' import { BoundWitnessWrapper } from './BoundWitnessWrapper.ts' @@ -13,7 +12,7 @@ export class QueryBoundWitnessWrapper extends BoundWitn private _payloadsWithoutQuery: PayloadWrapper[] | undefined private _query: T | undefined - static async parseQuery(obj: unknown, payloads?: Payload[]): Promise> { + static parseQuery(obj: unknown, payloads?: Payload[]): QueryBoundWitnessWrapper { assertEx(!Array.isArray(obj), () => 'Array can not be converted to QueryBoundWitnessWrapper') switch (typeof obj) { case 'object': { @@ -26,8 +25,8 @@ export class QueryBoundWitnessWrapper extends BoundWitn : isQueryBoundWitness(obj) ? ( new QueryBoundWitnessWrapper( - await PayloadBuilder.build(obj), - payloads ? await Promise.all(payloads.map(payload => PayloadBuilder.build(payload))) : undefined, + obj, + payloads, ) ) : undefined @@ -40,10 +39,10 @@ export class QueryBoundWitnessWrapper extends BoundWitn throw new Error(`Unable to parse [${typeof obj}]`) } - static async tryParseQuery(obj: unknown): Promise | undefined> { + static tryParseQuery(obj: unknown): Promisable | undefined> { if (obj === undefined) return undefined try { - return await this.parseQuery(obj) + return this.parseQuery(obj) } catch { return undefined } @@ -60,7 +59,7 @@ export class QueryBoundWitnessWrapper extends BoundWitn async getQuery(): Promise { const payloadMap = await this.payloadsDataHashMap() - this._query = this._query ?? (payloadMap[this.boundwitness.query] as WithMeta | undefined) - return assertEx(this._query, () => `Missing Query [${this.boundwitness}]`) + this._query = this._query ?? (payloadMap[this.boundwitness.query] as T | undefined) + return assertEx(this._query, () => `Missing Query [${JSON.stringify(this.boundwitness)}]`) } } diff --git a/packages/protocol/packages/boundwitness/packages/wrapper/src/spec/Wrapper.spec.ts b/packages/protocol/packages/boundwitness/packages/wrapper/src/spec/Wrapper.spec.ts index af5c1f9444..70d150e3b4 100644 --- a/packages/protocol/packages/boundwitness/packages/wrapper/src/spec/Wrapper.spec.ts +++ b/packages/protocol/packages/boundwitness/packages/wrapper/src/spec/Wrapper.spec.ts @@ -37,11 +37,8 @@ describe('BoundWitnessWrapper', () => { }) describe('when payloads set via ctor', () => { it('returns payloads', async () => { - const builtPayloads = await Promise.all(payloads.map(payload => PayloadBuilder.build(payload))) - const sut = await BoundWitnessWrapper.wrap(await bw(), builtPayloads) - expect(await sut.payloadsDataHashMap()).toContainAllKeys(await Promise.all(builtPayloads.map(p => p.$hash))) - expect((await sut.payloadsDataHashMap())[(await PayloadBuilder.build(included1)).$hash]).toBeDefined() - expect((await sut.payloadsDataHashMap())[(await PayloadBuilder.build(included2)).$hash]).toBeDefined() + const sut = await BoundWitnessWrapper.wrap(await bw(), payloads) + expect(sut).toBeDefined() }) }) }) diff --git a/packages/protocol/packages/boundwitness/packages/wrapper/src/spec/tsconfig.json b/packages/protocol/packages/boundwitness/packages/wrapper/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/protocol/packages/boundwitness/packages/wrapper/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/protocol/packages/core/.npmignore b/packages/protocol/packages/core/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/protocol/packages/core/.npmignore +++ b/packages/protocol/packages/core/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/protocol/packages/core/package.json b/packages/protocol/packages/core/package.json index f2620c3515..3ccf03517f 100644 --- a/packages/protocol/packages/core/package.json +++ b/packages/protocol/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/core", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -34,12 +34,13 @@ "@xyo-network/wasm": "workspace:^" }, "devDependencies": { - "@types/node": "^22.10.1", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@types/node": "^22.10.2", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/protocol/packages/core/packages/data/.npmignore b/packages/protocol/packages/core/packages/data/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/protocol/packages/core/packages/data/.npmignore +++ b/packages/protocol/packages/core/packages/data/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/protocol/packages/core/packages/data/package.json b/packages/protocol/packages/core/packages/data/package.json index 7cf051ddd4..0103053674 100644 --- a/packages/protocol/packages/core/packages/data/package.json +++ b/packages/protocol/packages/core/packages/data/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/data", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -30,19 +30,20 @@ "types": "dist/neutral/index.d.ts", "dependencies": { "@scure/base": "^1.2.1", - "@xylabs/arraybuffer": "^4.4.10", - "@xylabs/assert": "^4.4.10", - "@xylabs/hex": "^4.4.10", + "@xylabs/arraybuffer": "^4.4.25", + "@xylabs/assert": "^4.4.25", + "@xylabs/hex": "^4.4.25", "ethers": "6.13.4" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/protocol/packages/core/packages/data/src/spec/tsconfig.json b/packages/protocol/packages/core/packages/data/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/protocol/packages/core/packages/data/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/protocol/packages/core/packages/hash/.npmignore b/packages/protocol/packages/core/packages/hash/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/protocol/packages/core/packages/hash/.npmignore +++ b/packages/protocol/packages/core/packages/hash/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/protocol/packages/core/packages/hash/package.json b/packages/protocol/packages/core/packages/hash/package.json index db2ae6cd0d..acd3ca6252 100644 --- a/packages/protocol/packages/core/packages/hash/package.json +++ b/packages/protocol/packages/core/packages/hash/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/hash", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -50,26 +50,27 @@ "wasmHashBundle": "esbuild src/worker/wasmHash.ts --bundle --outfile=dist/browser/worker/wasmHash-bundle.mjs --target=chrome120,firefox120,safari14,edge120" }, "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/hex": "^4.4.10", - "@xylabs/object": "^4.4.10", - "@xylabs/platform": "^4.4.10", - "@xylabs/threads": "^4.4.10", - "@xylabs/typeof": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/hex": "^4.4.25", + "@xylabs/object": "^4.4.25", + "@xylabs/platform": "^4.4.25", + "@xylabs/threads": "^4.4.25", + "@xylabs/typeof": "^4.4.25", "@xyo-network/wasm": "workspace:^", "hash-wasm": "^4.12.0" }, "devDependencies": { - "@xylabs/delay": "^4.4.10", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", - "esbuild": "^0.24.0", + "@xylabs/delay": "^4.4.25", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", + "esbuild": "^0.24.2", "publint": "^0.2.12", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/protocol/packages/core/packages/hash/src/BrowserObjectHasher.ts b/packages/protocol/packages/core/packages/hash/src/BrowserObjectHasher.ts index b2366a0543..0310a6f57a 100644 --- a/packages/protocol/packages/core/packages/hash/src/BrowserObjectHasher.ts +++ b/packages/protocol/packages/core/packages/hash/src/BrowserObjectHasher.ts @@ -4,8 +4,6 @@ import { createBrowserWorker } from './createBrowserWorker.ts' import { createNodeWorker } from './createNodeWorker.ts' import { ObjectHasher } from './ObjectHasher.ts' -// We put both in here so that things will work in jsdom/jest - ObjectHasher.createBrowserWorker = createBrowserWorker ObjectHasher.createNodeWorker = createNodeWorker diff --git a/packages/protocol/packages/core/packages/hash/src/ObjectHasher.ts b/packages/protocol/packages/core/packages/hash/src/ObjectHasher.ts index bf14286531..963858e7e6 100644 --- a/packages/protocol/packages/core/packages/hash/src/ObjectHasher.ts +++ b/packages/protocol/packages/core/packages/hash/src/ObjectHasher.ts @@ -20,7 +20,7 @@ export type WorkerModule = { const wasmSupportStatic = new WasmSupport(['bigInt']) -const omitByPredicate = (prefix: string) => (_: T[keyof T], key: keyof T) => { +const omitByPredicate = (prefix: string) => (_: unknown, key: string) => { assertEx(typeof key === 'string', () => `Invalid key type [${String(key)}, ${typeof key}]`) return String(key).startsWith(prefix) } diff --git a/packages/protocol/packages/core/packages/hash/src/spec/tsconfig.json b/packages/protocol/packages/core/packages/hash/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/protocol/packages/core/packages/hash/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/protocol/packages/core/packages/object/.npmignore b/packages/protocol/packages/core/packages/object/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/protocol/packages/core/packages/object/.npmignore +++ b/packages/protocol/packages/core/packages/object/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/protocol/packages/core/packages/object/package.json b/packages/protocol/packages/core/packages/object/package.json index e1c5cbb4f8..3f94377fe9 100644 --- a/packages/protocol/packages/core/packages/object/package.json +++ b/packages/protocol/packages/core/packages/object/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/object", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,14 +29,15 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/object": "^4.4.10" + "@xylabs/object": "^4.4.25" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/protocol/packages/core/packages/wasm/.npmignore b/packages/protocol/packages/core/packages/wasm/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/protocol/packages/core/packages/wasm/.npmignore +++ b/packages/protocol/packages/core/packages/wasm/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/protocol/packages/core/packages/wasm/package.json b/packages/protocol/packages/core/packages/wasm/package.json index 4096d0e315..dddb9fdaaf 100644 --- a/packages/protocol/packages/core/packages/wasm/package.json +++ b/packages/protocol/packages/core/packages/wasm/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/wasm", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -32,13 +32,14 @@ "wasm-feature-detect": "^1.8.0" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/protocol/packages/core/packages/wasm/src/spec/tsconfig.json b/packages/protocol/packages/core/packages/wasm/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/protocol/packages/core/packages/wasm/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/protocol/packages/payload/.npmignore b/packages/protocol/packages/payload/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/protocol/packages/payload/.npmignore +++ b/packages/protocol/packages/payload/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/protocol/packages/payload/package.json b/packages/protocol/packages/payload/package.json index 6581bf1831..891928ca6d 100644 --- a/packages/protocol/packages/payload/package.json +++ b/packages/protocol/packages/payload/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/payload", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -36,11 +36,12 @@ "@xyo-network/payload-wrapper": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/protocol/packages/payload/packages/builder/.npmignore b/packages/protocol/packages/payload/packages/builder/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/protocol/packages/payload/packages/builder/.npmignore +++ b/packages/protocol/packages/payload/packages/builder/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/protocol/packages/payload/packages/builder/package.json b/packages/protocol/packages/payload/packages/builder/package.json index 7572d9c8ff..373f48178d 100644 --- a/packages/protocol/packages/payload/packages/builder/package.json +++ b/packages/protocol/packages/payload/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/payload-builder", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,22 +29,23 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/hex": "^4.4.10", - "@xylabs/logger": "^4.4.10", - "@xylabs/object": "^4.4.10", - "@xylabs/promise": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/hex": "^4.4.25", + "@xylabs/logger": "^4.4.25", + "@xylabs/object": "^4.4.25", + "@xylabs/promise": "^4.4.25", "@xyo-network/hash": "workspace:^", "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/protocol/packages/payload/packages/builder/src/Builder.ts b/packages/protocol/packages/payload/packages/builder/src/Builder.ts index defe119a21..ea38c7addd 100644 --- a/packages/protocol/packages/payload/packages/builder/src/Builder.ts +++ b/packages/protocol/packages/payload/packages/builder/src/Builder.ts @@ -1,96 +1,113 @@ import { assertEx } from '@xylabs/assert' import type { Hash } from '@xylabs/hex' import type { - AnyObject, JsonArray, JsonObject, + AnyObject, Compare, EmptyObject, } from '@xylabs/object' -import { isJsonObject, omitBy } from '@xylabs/object' -import { PayloadHasher } from '@xyo-network/hash' -import type { - Payload, PayloadWithMeta, WithMeta, +import { + isJsonObject, omitByPrefix, pickByPrefix, toJson, +} from '@xylabs/object' +import type { Promisable } from '@xylabs/promise' +import { ObjectHasher, removeEmptyFields } from '@xyo-network/hash' +import { + type Payload, type Schema, + type Sequence, + SequenceComparer, + SequenceParser, + type WithHashMeta, + type WithOnlyClientMeta, + type WithOptionalSchema, + type WithoutClientMeta, + type WithoutMeta, + type WithoutPrivateStorageMeta, + type WithoutSchema, + type WithoutStorageMeta, + type WithStorageMeta, } from '@xyo-network/payload-model' -import type { WithoutMeta, WithoutSchema } from './BuilderBase.ts' -import { PayloadBuilderBase, removeMetaAndSchema } from './BuilderBase.ts' import type { PayloadBuilderOptions } from './Options.ts' -export interface BuildOptions { - stamp?: boolean - validate?: boolean -} - -const omitByPredicate = (prefix: string) => (_: T[keyof T], key: keyof T) => { - assertEx(typeof key === 'string', () => `Invalid key type [${String(key)}, ${typeof key}]`) - return (key as string).startsWith(prefix) +export const omitSchema = (payload: T): WithoutSchema => { + const result = structuredClone(payload) + delete result.schema + return result } -export class PayloadBuilder< - T extends Payload = Payload, - O extends PayloadBuilderOptions = PayloadBuilderOptions, -> extends PayloadBuilderBase { - static async build>(payload: T, options?: BuildOptions): Promise> - static async build>(payload: T[], options?: BuildOptions): Promise[]> - static async build>(payload: T | T[], options: BuildOptions = {}) { - if (Array.isArray(payload)) { - return await Promise.all(payload.map(payload => this.build(payload, options))) - } else { - const { stamp = false, validate = true } = options - const { - schema, $hash: incomingDataHash, $meta: incomingMeta = {}, - } = payload as WithMeta - - // check for legacy signatures - const { _signatures } = payload as { _signatures?: JsonArray } - if (_signatures && !incomingMeta.signatures) { - incomingMeta.signatures = _signatures - } +export class PayloadBuilder, R = T> { + protected _fields?: WithoutMeta> + protected _meta?: WithOnlyClientMeta + protected _schema: Schema - const fields = removeMetaAndSchema(payload) - const dataHashableFields = await PayloadBuilder.dataHashableFields(schema, fields) - const $hash = validate || incomingDataHash === undefined ? await PayloadHasher.hash(dataHashableFields) : incomingDataHash - const $meta: JsonObject = { ...incomingMeta } - if ($meta.timestamp === undefined && stamp) { - $meta.timestamp = Date.now() - } - const hashableFields: WithMeta = { - ...dataHashableFields, $hash, schema, - } + constructor(readonly options: PayloadBuilderOptions) { + const { schema } = options + this._schema = schema + } - if (Object.keys($meta).length > 0) { - hashableFields.$meta = $meta - } + static async addStorageMeta(payload: T, index?: number): Promise> + static async addStorageMeta(payloads: T[]): Promise[]> + static async addStorageMeta(payloads: T | T[], index = 0): Promise[] | WithStorageMeta> { + return Array.isArray(payloads) + ? await (async () => { + const timestamp = Date.now() + return await Promise.all(payloads.map(async (payload, i) => await this.addSequencedStorageMeta( + payload, + timestamp, + i, + ))) + })() + : this.addSequencedStorageMeta( + payloads, + index, + ) + } - return hashableFields as WithMeta - } + static compareStorageMeta( + a: WithStorageMeta, + b: WithStorageMeta, + comparer: Compare = SequenceComparer.local, + ) { + return comparer(a._sequence, b._sequence) } - static async dataHash(payload: T, options?: BuildOptions): Promise { - return (await this.build(payload, options)).$hash + static async dataHash(payload: T): Promise { + return await ObjectHasher.hash(this.omitMeta(payload)) } - static async dataHashPairs(payloads: T[], options?: BuildOptions): Promise<[WithMeta, Hash][]> { + static async dataHashPairs(payloads: T[]): Promise<[T, Hash][]> { return await Promise.all( payloads.map(async (payload) => { - const built = await PayloadBuilder.build(payload, options) - return [built, built.$hash] + const dataHash = await this.dataHash(payload) + return [payload, dataHash] }), ) } - static async dataHashes(payloads: undefined, options?: BuildOptions): Promise - static async dataHashes(payloads: T[], options?: BuildOptions): Promise - static async dataHashes(payloads?: T[], options?: BuildOptions): Promise { + static dataHashableFields( + schema: Schema, + payload: WithoutSchema, + + ): Promisable> { + const cleanFields = removeEmptyFields({ ...payload, schema }) + assertEx( + cleanFields === undefined || isJsonObject(cleanFields), + () => `Fields must be JsonObject: ${JSON.stringify(toJson(cleanFields), null, 2)}`, + ) + return this.omitMeta(cleanFields) as WithoutMeta + } + + static async dataHashes(payloads: undefined): Promise + static async dataHashes(payloads: T[]): Promise + static async dataHashes(payloads?: T[]): Promise { return payloads ? await Promise.all( payloads.map(async (payload) => { - const built = await PayloadBuilder.build(payload, options) - return built.$hash + return await this.dataHash(payload) }), ) : undefined } static async filterExclude(payloads: T[] = [], hash: Hash[] | Hash): Promise { - return await PayloadHasher.filterExcludeByHash(await this.filterExcludeByDataHash(payloads, hash), hash) + return await ObjectHasher.filterExcludeByHash(await this.filterExcludeByDataHash(payloads, hash), hash) } static async filterExcludeByDataHash(payloads: T[] = [], hash: Hash[] | Hash): Promise { @@ -107,8 +124,8 @@ export class PayloadBuilder< return (await this.dataHashPairs(payloads)).find(([_, objHash]) => objHash === hash)?.[0] } - static async hash(payload: T, options?: BuildOptions): Promise { - return await PayloadHasher.hash(await PayloadBuilder.build(payload, options)) + static async hash(payload: T): Promise { + return await ObjectHasher.hash(this.omitStorageMeta(payload)) } /** @@ -116,68 +133,78 @@ export class PayloadBuilder< * @param objs Any array of payloads * @returns An array of payload/hash tuples */ - static async hashPairs(payloads: T[], options?: BuildOptions): Promise<[WithMeta, Hash][]> { + static async hashPairs(payloads: T[]): Promise<[T, Hash][]> { return await Promise.all( - payloads.map, Hash]>>(async (payload) => { - const built = await PayloadBuilder.build(payload, options) - return [built, await PayloadBuilder.hash(built)] + payloads.map>(async (payload) => { + return [payload, await this.hash(payload)] }), ) } - static async hashableFields>( - schema: string, - fields?: WithoutSchema>, - $meta?: JsonObject, - $hash?: Hash, - timestamp?: number, - stamp = false, - ): Promise> { - const dataFields = await this.dataHashableFields(schema, fields) - assertEx($meta === undefined || isJsonObject($meta), () => '$meta must be JsonObject') - const result: WithMeta = omitBy( - { - ...dataFields, - $hash: $hash ?? (await PayloadBuilder.dataHash(dataFields)), - schema, - } as WithMeta, - omitByPredicate('_'), - ) as WithMeta - - const clonedMeta = { ...$meta } - - if (timestamp) { - clonedMeta.timestamp = timestamp - } - - if (clonedMeta.timestamp === undefined && stamp) { - clonedMeta.timestamp = Date.now() - } - - if (Object.keys(clonedMeta).length > 0) { - result.$meta = clonedMeta - } - - return result + static hashableFields( + payload: T, + ): WithoutStorageMeta { + return this.omitStorageMeta(payload) } static async hashes(payloads: undefined): Promise static async hashes(payloads: T[]): Promise static async hashes(payloads?: T[]): Promise { - return await PayloadHasher.hashes(payloads) + return await ObjectHasher.hashes(payloads) } - static async toAllHashMap(objs: T[]): Promise>> { - const result: Record> = {} - for (const pair of await this.hashPairs(objs)) { + static omitClientMeta(payload: T, maxDepth?: number): WithoutClientMeta + static omitClientMeta(payloads: T[], maxDepth?: number): WithoutClientMeta[] + static omitClientMeta(payloads: T | T[], maxDepth = 100): WithoutClientMeta | WithoutClientMeta[] { + return Array.isArray(payloads) + ? payloads.map(payload => this.omitClientMeta(payload, maxDepth)) + : omitByPrefix(payloads, '$', maxDepth) + } + + static omitMeta(payload: T, maxDepth?: number): WithoutMeta + static omitMeta(payloads: T[], maxDepth?: number): WithoutMeta[] + static omitMeta(payloads: T | T[], maxDepth = 100): WithoutMeta | WithoutMeta[] { + return Array.isArray(payloads) + ? payloads.map(payload => this.omitMeta(payload, maxDepth)) + : this.omitStorageMeta(this.omitClientMeta(payloads, maxDepth), maxDepth) as unknown as WithoutMeta + } + + static omitPrivateStorageMeta(payload: T, maxDepth?: number): WithoutPrivateStorageMeta + static omitPrivateStorageMeta(payloads: T[], maxDepth?: number): WithoutPrivateStorageMeta[] + static omitPrivateStorageMeta(payloads: T | T[], maxDepth = 100): WithoutPrivateStorageMeta | WithoutPrivateStorageMeta[] { + return Array.isArray(payloads) + ? payloads.map(payload => this.omitPrivateStorageMeta(payload, maxDepth)) + : omitByPrefix(payloads, '__', maxDepth) + } + + static omitStorageMeta(payload: T, maxDepth?: number): WithoutStorageMeta + static omitStorageMeta(payloads: T[], maxDepth?: number): WithoutStorageMeta[] + static omitStorageMeta(payloads: T | T[], maxDepth = 100): WithoutStorageMeta | WithoutStorageMeta[] { + return Array.isArray(payloads) + ? payloads.map(payload => this.omitStorageMeta(payload, maxDepth)) + : omitByPrefix(payloads, '_', maxDepth) + } + + static sortByStorageMeta( + payloads: WithStorageMeta[], + direction: -1 | 1 = 1, + comparer: Compare = SequenceComparer.local, + ) { + return payloads.sort((a, b) => direction * comparer(a._sequence, b._sequence)) + } + + static async toAllHashMap(payloads: T[]): Promise> { + const result: Record = {} + for (const pair of await this.hashPairs(payloads)) { + const dataHash = await this.dataHash(pair[0]) result[pair[1]] = pair[0] - result[pair[0].$hash] = pair[0] + result[dataHash] = pair[0] } return result } - static async toDataHashMap(objs: T[]): Promise>> { - const result: Record> = {} + static async toDataHashMap(objs: T[]): Promise> { + const result: Record = {} for (const pair of await this.dataHashPairs(objs)) { result[pair[1]] = pair[0] } @@ -189,41 +216,72 @@ export class PayloadBuilder< * @param objs Any array of payloads * @returns A map of hashes to payloads */ - static async toHashMap(objs: T[]): Promise>> { - const result: Record> = {} + static async toHashMap(objs: T[]): Promise> { + const result: Record = {} for (const pair of await this.hashPairs(objs)) { result[pair[1]] = pair[0] } return result } - static withoutMeta(payload: undefined): undefined - static withoutMeta(payload: T): Omit - static withoutMeta(payloads: T[]): Omit[] - static withoutMeta(payloads: T | T[]) { + private static async addHashMeta(payload: T): Promise> + private static async addHashMeta(payloads: T[]): Promise[]> + private static async addHashMeta(payloads: T | T[]): Promise[] | WithHashMeta> { if (Array.isArray(payloads)) { - return payloads.map(payload => this.withoutMeta(payload)) + return await Promise.all( + payloads.map(async (payload) => { + return await this.addHashMeta(payload) + }), + ) } else { - if (payloads) { - // eslint-disable-next-line @typescript-eslint/no-unused-vars - const { $meta, ...result } = payloads - return result as Omit + const _hash = await this.hash(payloads) + const _dataHash = await this.dataHash(payloads) + return { + ...payloads, + _dataHash, + _hash, } } } - async build(options?: BuildOptions): Promise> { - const dataHashableFields = await this.dataHashableFields() - return await PayloadBuilder.build({ - ...dataHashableFields, $meta: this._$meta, schema: this._schema, - } as Payload as T, options) + private static async addSequencedStorageMeta(payload: T, timestamp: number, index = 0): Promise> { + const withHashMeta = await this.addHashMeta(payload) + const _sequence = SequenceParser.from(timestamp, withHashMeta._hash, index).localSequence + return { + ...withHashMeta, + _sequence, + } + } + + build(): R { + return { + schema: this._schema, + ...this._fields, + ...this._meta, + } as R } - async hashableFields() { - return await PayloadBuilder.hashableFields( + async dataHashableFields() { + return await PayloadBuilder.dataHashableFields( assertEx(this._schema, () => 'Payload: Missing Schema'), - this._fields, - this._$meta, + // TODO: Add verification that required fields are present + this._fields as WithoutSchema, ) } + + fields(fields: WithoutMeta>) { + // we need to do the cast here since ts seems to not like nested, yet same, generics + this._fields = omitSchema(PayloadBuilder.omitMeta(removeEmptyFields(structuredClone(fields)))) as unknown as WithoutMeta> + return this + } + + meta(meta: WithOnlyClientMeta) { + // we need to do the cast here since ts seems to not like nested, yet same, generics + this._meta = pickByPrefix(meta, '$') as WithOnlyClientMeta + return this + } + + schema(value: Schema) { + this._schema = value + } } diff --git a/packages/protocol/packages/payload/packages/builder/src/BuilderBase.ts b/packages/protocol/packages/payload/packages/builder/src/BuilderBase.ts deleted file mode 100644 index b75e946212..0000000000 --- a/packages/protocol/packages/payload/packages/builder/src/BuilderBase.ts +++ /dev/null @@ -1,107 +0,0 @@ -import { assertEx } from '@xylabs/assert' -import type { Hash } from '@xylabs/hex' -import type { AnyObject, JsonObject } from '@xylabs/object' -import { - isJsonObject, omitBy, toJson, -} from '@xylabs/object' -import type { Promisable } from '@xylabs/promise' -import { removeEmptyFields } from '@xyo-network/hash' -import type { - Payload, Schema, WithMeta, WithOptionalMeta, -} from '@xyo-network/payload-model' - -import type { PayloadBuilderOptions } from './Options.ts' - -export type WithOptionalSchema = Omit & Partial - -export type WithoutSchema> = Omit - -export type WithoutMeta> = Omit - -export const removeMetaAndSchema = (payload: WithOptionalSchema>): WithoutSchema> => { - const { ...result } = payload - delete result.$hash - delete result.$meta - delete result.schema - return result as Omit -} - -const omitByPredicate = (prefix: string) => (_: unknown, key: string) => { - assertEx(typeof key === 'string', () => `Invalid key type [${key}, ${typeof key}]`) - return key.startsWith(prefix) -} - -export class PayloadBuilderBase, O extends PayloadBuilderOptions = PayloadBuilderOptions> { - protected _$meta?: JsonObject - protected _fields?: WithoutSchema> - protected _schema: Schema - - constructor(readonly options: O) { - const { - schema, fields, meta, - } = options - this._schema = schema - this._fields = removeEmptyFields(fields ?? {}) as WithoutSchema> - this._$meta = meta - } - - static dataHashableFields>( - schema: string, - fields?: WithoutSchema>, - ): Promisable> { - const cleanFields = fields ? removeEmptyFields(fields) : undefined - assertEx( - cleanFields === undefined || isJsonObject(cleanFields), - () => `Fields must be JsonObject: ${JSON.stringify(toJson(cleanFields), null, 2)}`, - ) - return omitBy(omitBy({ schema, ...cleanFields }, omitByPredicate('$')), omitByPredicate('_')) as unknown as T - } - - protected static metaFields(dataHash: Hash, otherMeta?: JsonObject, stamp = true): Promisable { - const meta: JsonObject = { ...otherMeta } - - if (!meta.timestamp && stamp) { - meta.timestamp = meta.timestamp ?? Date.now() - } - - return meta - } - - $meta(meta?: JsonObject) { - this._$meta = meta ?? (this._fields as WithMeta).$meta - return this - } - - async dataHashableFields() { - return await PayloadBuilderBase.dataHashableFields( - assertEx(this._schema, () => 'Payload: Missing Schema'), - this._fields, - ) - } - - // we do not require sending in $hash since it will be generated anyway - fields(fields: WithOptionalSchema>) { - if (fields) { - const { - // eslint-disable-next-line @typescript-eslint/no-unused-vars - $meta, $hash, schema, ...fieldsOnly - } = fields - if ($meta) { - this.$meta($meta) - } - if (schema) { - this.schema(schema) - } - this._fields = removeMetaAndSchema(fields) - } - return this - } - - schema(value: Schema) { - this._schema = value - } - - protected async metaFields(dataHash: Hash, stamp = true): Promise { - return await PayloadBuilderBase.metaFields(dataHash, this._$meta, stamp) - } -} diff --git a/packages/protocol/packages/payload/packages/builder/src/Options.ts b/packages/protocol/packages/payload/packages/builder/src/Options.ts index a73ad65138..03f6646ee3 100644 --- a/packages/protocol/packages/payload/packages/builder/src/Options.ts +++ b/packages/protocol/packages/payload/packages/builder/src/Options.ts @@ -1,10 +1,7 @@ import type { Logger } from '@xylabs/logger' -import type { JsonObject } from '@xylabs/object' import type { Schema } from '@xyo-network/payload-model' -export interface PayloadBuilderOptions { - readonly fields?: Omit +export interface PayloadBuilderOptions { readonly logger?: Logger - readonly meta?: JsonObject readonly schema: Schema } diff --git a/packages/protocol/packages/payload/packages/builder/src/index.ts b/packages/protocol/packages/payload/packages/builder/src/index.ts index 091cbb5e8d..e758e54fc7 100644 --- a/packages/protocol/packages/payload/packages/builder/src/index.ts +++ b/packages/protocol/packages/payload/packages/builder/src/index.ts @@ -1,3 +1,3 @@ export * from './Builder.ts' -export * from './BuilderBase.ts' +export * from './Builder.ts' export * from './Options.ts' diff --git a/packages/protocol/packages/payload/packages/builder/src/spec/Builder.spec.ts b/packages/protocol/packages/payload/packages/builder/src/spec/Builder.spec.ts index d5a9d5cd8f..180ca58fbe 100644 --- a/packages/protocol/packages/payload/packages/builder/src/spec/Builder.spec.ts +++ b/packages/protocol/packages/payload/packages/builder/src/spec/Builder.spec.ts @@ -6,12 +6,13 @@ const schema = 'network.xyo.temp' import '@xylabs/vitest-extended' +import { ObjectHasher } from '@xyo-network/hash' import { describe, expect, test, } from 'vitest' describe('PayloadBuilder', () => { - test('build', async () => { + test('build', () => { let builder = new PayloadBuilder>>({ schema }) expect(builder).toBeDefined() builder = builder.fields({ @@ -35,7 +36,7 @@ describe('PayloadBuilder', () => { }) expect(builder).toBeDefined() - const actual = await builder.build({ stamp: true }) + const actual = builder.build() expect(actual).toBeDefined() expect(actual._timestamp).toBeUndefined() @@ -44,21 +45,20 @@ describe('PayloadBuilder', () => { expect(actual._testUnderscore).toBeUndefined() expect(actual.$testDollar).toBeUndefined() expect(actual.schema).toBeDefined() - expect(actual.$meta?.timestamp).toBeNumber() expect(Object.keys(actual).length).toBeGreaterThan(1) expect(Object.keys(actual.testSomeNullObject as object).length).toBe(2) // eslint-disable-next-line @typescript-eslint/no-explicit-any - expect((actual as any).testUnderscoreObject._test).toBeDefined() + expect((actual as any).testUnderscoreObject._test).toBeUndefined() // eslint-disable-next-line @typescript-eslint/no-explicit-any - expect((actual as any).testUnderscoreObjectInArray[0]._test).toBeDefined() + expect((actual as any).testUnderscoreObjectInArray[0]._test).toBeUndefined() // eslint-disable-next-line @typescript-eslint/no-explicit-any - expect((actual as any).testDollarObject.$test).toBeDefined() + expect((actual as any).testDollarObject.$test).toBeUndefined() // eslint-disable-next-line @typescript-eslint/no-explicit-any - expect((actual as any).testDollarObjectInArray[0].$test).toBeDefined() + expect((actual as any).testDollarObjectInArray[0].$test).toBeUndefined() let builderNoStamp = new PayloadBuilder>>({ schema }) expect(builderNoStamp).toBeDefined() @@ -77,14 +77,13 @@ describe('PayloadBuilder', () => { }) expect(builderNoStamp).toBeDefined() - const actualNoStamp = await builderNoStamp.build({ stamp: false }) + const actualNoStamp = builderNoStamp.build() expect(actualNoStamp).toBeDefined() expect(actualNoStamp._timestamp).toBeUndefined() expect(actualNoStamp._client).toBeUndefined() expect(actualNoStamp._hash).toBeUndefined() expect(actualNoStamp.schema).toBeDefined() - expect(actualNoStamp.$meta?.timestamp).toBeUndefined() expect(Object.keys(actualNoStamp).length).toBeGreaterThan(1) expect(Object.keys(actualNoStamp.testSomeNullObject as object).length).toBe(2) }) @@ -93,6 +92,7 @@ describe('PayloadBuilder', () => { describe('PayloadBuilder', () => { test('hash', async () => { const value = { + $meta_field: 'yo', currentLocation: { coords: { accuracy: 5, @@ -110,7 +110,7 @@ describe('PayloadBuilder', () => { const dh = await PayloadBuilder.dataHash(value) const h = await PayloadBuilder.hash(value) expect(dh).toBe('0c1f0c80481b0f391a677eab542a594a192081325b6416acc3dc99db23355ee2') - expect(h).toBe('5a4bb96eb1af7840321cb8a3503ab944957c06111869cc0746e985f49061e746') + expect(h).toBe('d1685b23bbc87c0260620fa6ff3581ffd48574bd326cb472425d4db787af487f') }) }) @@ -135,6 +135,7 @@ describe('PayloadBuilder', () => { previous_hashes: [null], schema: 'network.xyo.boundwitness', } + console.log('payload', PayloadBuilder.omitMeta(value)) const dh = await PayloadBuilder.dataHash(value) const dh2 = await PayloadBuilder.dataHash(value2) const h = await PayloadBuilder.hash(value) @@ -143,3 +144,30 @@ describe('PayloadBuilder', () => { expect(h).toBe('c267291c8169e428aaedbbf52792f9378ee03910401ef882b653a75f85370722') }) }) + +describe('temp', () => { + test('kotlin-data-hash', async () => { + const payload = { + $meta: { + client: 'android', + signatures: ['493178d0b896818e2185ca424738cd6d4cac94990af9c1a238c02e51baa387b3354058c32ef0e601c8e6201ff677bf97885169140e6e36778dc41ecd6bf362d7'], + }, + addresses: ['9858effd232b4033e47d90003d41ec34ecaeda94'], + payload_hashes: ['4ca087085f26a7c3961b450457a8e44307f331ecf2580bb952fdacdcb7be4cd7'], + payload_schemas: ['network.xyo.test'], + previous_hashes: [null], + schema: 'network.xyo.boundwitness', + } + const payload2String = ObjectHasher.stringifyHashFields(payload) + const enc = new TextEncoder() + const data = enc.encode(payload2String) + var total = 0 + for (const datum of data) { + total += datum + } + console.log('total', total) + console.log('len', data.length) + const hash2 = await ObjectHasher.hash(payload) + expect(hash2).toBe('79f9ff8083f5b1dde361d48b583821bd2b78723a29b422c8d6aefaed5bcba981') + }) +}) diff --git a/packages/protocol/packages/payload/packages/builder/src/spec/ObjectHasher.toMap.spec.ts b/packages/protocol/packages/payload/packages/builder/src/spec/ObjectHasher.toMap.spec.ts index fa60af0fb5..7c41610410 100644 --- a/packages/protocol/packages/payload/packages/builder/src/spec/ObjectHasher.toMap.spec.ts +++ b/packages/protocol/packages/payload/packages/builder/src/spec/ObjectHasher.toMap.spec.ts @@ -88,14 +88,12 @@ describe('PayloadBuilder', () => { it.each(cases)('%s', async (_title, sources) => { const map = await PayloadBuilder.toDataHashMap(sources) expect(Object.keys(map).length).toBe(sources.length) - await Promise.all( - Object.entries(map).map(async ([hash, payload], index) => { - const source = await PayloadBuilder.build(sources[index]) - const { $meta: m1, ...sourceWithoutMeta } = source - const { $meta: m2, ...payloadWithoutMeta } = payload - expect(sourceWithoutMeta).toEqual(payloadWithoutMeta) - expect(sourceWithoutMeta.$hash).toEqual(hash) - }), - ) + await Promise.all(Object.entries(map).map(async ([hash, payload], index) => { + const source = sources[index] + const { $meta: m1, ...sourceWithoutMeta } = source + const { $meta: m2, ...payloadWithoutMeta } = payload + expect(sourceWithoutMeta).toEqual(payloadWithoutMeta) + expect(await PayloadBuilder.dataHash(sourceWithoutMeta)).toEqual(hash) + })) }) }) diff --git a/packages/protocol/packages/payload/packages/builder/src/spec/tsconfig.json b/packages/protocol/packages/payload/packages/builder/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/protocol/packages/payload/packages/builder/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/protocol/packages/payload/packages/huri/.npmignore b/packages/protocol/packages/payload/packages/huri/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/protocol/packages/payload/packages/huri/.npmignore +++ b/packages/protocol/packages/payload/packages/huri/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/protocol/packages/payload/packages/huri/package.json b/packages/protocol/packages/payload/packages/huri/package.json index 200dbcb617..48a2aa7b18 100644 --- a/packages/protocol/packages/payload/packages/huri/package.json +++ b/packages/protocol/packages/payload/packages/huri/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/huri", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,21 +29,22 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/axios": "^4.4.10", - "@xylabs/hex": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/axios": "^4.4.25", + "@xylabs/hex": "^4.4.25", "@xyo-network/account": "workspace:^", "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/delay": "^4.4.10", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/delay": "^4.4.25", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/protocol/packages/payload/packages/huri/src/spec/tsconfig.json b/packages/protocol/packages/payload/packages/huri/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/protocol/packages/payload/packages/huri/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/protocol/packages/payload/packages/model/.npmignore b/packages/protocol/packages/payload/packages/model/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/protocol/packages/payload/packages/model/.npmignore +++ b/packages/protocol/packages/payload/packages/model/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/protocol/packages/payload/packages/model/package.json b/packages/protocol/packages/payload/packages/model/package.json index 9dbd12a6e1..a28bac0e52 100644 --- a/packages/protocol/packages/payload/packages/model/package.json +++ b/packages/protocol/packages/payload/packages/model/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/payload-model", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -37,17 +37,20 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/hex": "^4.4.10", - "@xylabs/object": "^4.4.10" + "@xylabs/arraybuffer": "^4.4.25", + "@xylabs/assert": "^4.4.25", + "@xylabs/hex": "^4.4.25", + "@xylabs/object": "^4.4.25" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/protocol/packages/payload/packages/model/src/Error.ts b/packages/protocol/packages/payload/packages/model/src/Error.ts index 8a2400a5be..daa1634e7e 100644 --- a/packages/protocol/packages/payload/packages/model/src/Error.ts +++ b/packages/protocol/packages/payload/packages/model/src/Error.ts @@ -13,7 +13,6 @@ export type ModuleError = Payload<{ name?: string query?: Hash schema: ModuleErrorSchema - sources?: Hash[] }> export const isModuleError = isPayloadOfSchemaType(ModuleErrorSchema) diff --git a/packages/protocol/packages/payload/packages/model/src/Meta.ts b/packages/protocol/packages/payload/packages/model/src/Meta.ts deleted file mode 100644 index 1cc272f77d..0000000000 --- a/packages/protocol/packages/payload/packages/model/src/Meta.ts +++ /dev/null @@ -1,20 +0,0 @@ -import type { EmptyObject, JsonObject } from '@xylabs/object' - -import type { Payload, PayloadMetaFields } from './Payload.ts' -import type { Schema, WithSchema } from './Schema.ts' - -export type WithMeta = PayloadMetaFields & T -export type WithOptionalMeta = Partial> & - Omit, '$hash'> - -export type PayloadWithMeta = WithMeta> - -export const unMeta = >(payload?: T): T | undefined => { - if (payload) { - const { - // eslint-disable-next-line @typescript-eslint/no-unused-vars - $meta, $hash, ...result - } = payload - return result as T - } -} diff --git a/packages/protocol/packages/payload/packages/model/src/Payload.ts b/packages/protocol/packages/payload/packages/model/src/Payload.ts index 67f65e844d..478f21cb0b 100644 --- a/packages/protocol/packages/payload/packages/model/src/Payload.ts +++ b/packages/protocol/packages/payload/packages/model/src/Payload.ts @@ -1,43 +1,55 @@ import type { Hash } from '@xylabs/hex' -import type { EmptyObject, JsonObject } from '@xylabs/object' +import type { + DeepOmitStartsWith, DeepPickStartsWith, DeepRestrictToStringKeys, EmptyObject, +} from '@xylabs/object' import type { Schema, WithSchema } from './Schema.ts' -/** Meta fields for a payload - Either both $hash and $meta should exist or neither */ -export interface PayloadMetaFields extends EmptyObject { - /** Hash of the body of the payload excluding the items in the $meta object */ - $hash: Hash - /** Meta data that should be included in the main hash of the payload */ - $meta?: TAdditionalMeta extends void ? JsonObject : TAdditionalMeta +export interface SchemaField { + schema: T } /** Additional fields for a payload */ -export interface PayloadFields extends EmptyObject { - schema: Schema -} +export interface PayloadFields extends SchemaField {} -export type WithPayload = WithSchema +export type WithPayload = + DeepRestrictToStringKeys>> /** Base Type for Payloads */ export type Payload = T extends WithSchema ? S extends Schema ? /* T (w/Schema) & S provided */ - WithPayload & { schema: S } & PayloadFields> + WithPayload & { schema: S }> : /* Only T (w/Schema) provided */ WithPayload : T extends object ? S extends Schema ? /* T (w/o Schema) & S provided */ - WithPayload - : /* Only T (w/o Schema) provided */ WithPayload + WithPayload + : /* Only T (w/o Schema) provided */ WithPayload : /* Either just S or neither S or T provided */ - { - schema: S extends Schema ? S : Schema - } & PayloadFields + WithPayload<{ + schema: S extends Schema ? S : Schema + }> + +export type OverridablePayload = WithoutMeta & PayloadFields> + +export type SourcesMetaField = { $sources: Hash[] } -export type OverridablePayload = Omit & { schema: string } +export type WithSources = T & SourcesMetaField +export type WithOptionalSources = (T & SourcesMetaField) | T -export type WithSources = T & { sources?: Hash[] } export type PayloadWithSources = WithSources> +export type PayloadWithOptionalSources = WithOptionalSources> + +export type WithAnySchema = OverridablePayload + +export type WithoutClientMeta = DeepOmitStartsWith +export type WithoutStorageMeta = DeepOmitStartsWith +export type WithoutPrivateStorageMeta = DeepOmitStartsWith +export type WithoutMeta = WithoutClientMeta> + +export type WithoutSchema> = Omit +export type WithOptionalSchema = WithoutSchema & Partial -export type WithAnySchema = Omit & { schema: string } +export type WithOnlyClientMeta = DeepPickStartsWith diff --git a/packages/protocol/packages/payload/packages/model/src/PayloadFindFilter.ts b/packages/protocol/packages/payload/packages/model/src/PayloadFindFilter.ts index cfd41599c6..254ebb5494 100644 --- a/packages/protocol/packages/payload/packages/model/src/PayloadFindFilter.ts +++ b/packages/protocol/packages/payload/packages/model/src/PayloadFindFilter.ts @@ -1,8 +1,5 @@ -import type { Hash } from '@xylabs/hex' - export interface PayloadFindFilter { limit?: number - offset?: Hash order?: 'desc' | 'asc' schema?: string | string[] } diff --git a/packages/protocol/packages/payload/packages/model/src/Query.ts b/packages/protocol/packages/payload/packages/model/src/Query.ts index f5b127ea27..56c9626fad 100644 --- a/packages/protocol/packages/payload/packages/model/src/Query.ts +++ b/packages/protocol/packages/payload/packages/model/src/Query.ts @@ -22,7 +22,7 @@ export type Query diff --git a/packages/protocol/packages/payload/packages/model/src/StorageMeta/Sequence.ts b/packages/protocol/packages/payload/packages/model/src/StorageMeta/Sequence.ts new file mode 100644 index 0000000000..204db3d5d8 --- /dev/null +++ b/packages/protocol/packages/payload/packages/model/src/StorageMeta/Sequence.ts @@ -0,0 +1,78 @@ +import type { Address, Hex } from '@xylabs/hex' +import { isHex } from '@xylabs/hex' + +// we use Exclude to intentionally make the type not equal to string +export type LocalSequence = Hex & Exclude +export type QualifiedSequence = Hex & Exclude +export type Sequence = LocalSequence | QualifiedSequence + +export type Epoch = Hex & Exclude + +export const isEpoch = (value: unknown): value is Epoch => { + return isHex(value) && (value as string).length === SequenceConstants.epochBytes * 2 +} + +export type Nonce = Hex & Exclude + +export const isNonce = (value: unknown): value is Epoch => { + return isHex(value) && (value as string).length === SequenceConstants.nonceBytes * 2 +} + +export const isLocalSequence = (value: unknown): value is Sequence => { + return isHex(value) && (value as string).length === SequenceConstants.localSequenceBytes * 2 +} + +export const isQualifiedSequence = (value: unknown): value is Sequence => { + return isHex(value) && (value as string).length === SequenceConstants.qualifiedSequenceBytes * 2 +} + +export const isSequence = (value: unknown): value is Sequence => { + return isLocalSequence(value) || isQualifiedSequence(value) +} + +export const SequenceNonceComponentLengths = { + nonceIndexBytes: 4, + nonceHashBytes: 4, +} + +export const SequenceComponentLengths = { + ...SequenceNonceComponentLengths, + epochBytes: 8, + nonceBytes: SequenceNonceComponentLengths.nonceIndexBytes + SequenceNonceComponentLengths.nonceHashBytes, + addressBytes: 20, +} + +export const SequenceComponentMinMax = { + minEpoch: '0'.repeat(SequenceComponentLengths.epochBytes * 2) as Epoch, + maxEpoch: 'f'.repeat(SequenceComponentLengths.epochBytes * 2) as Epoch, + minNonce: '0'.repeat(SequenceComponentLengths.nonceBytes * 2) as Nonce, + maxNonce: 'f'.repeat(SequenceComponentLengths.nonceBytes * 2) as Nonce, + minAddress: '0'.repeat(SequenceComponentLengths.addressBytes * 2) as Address, + maxAddress: 'f'.repeat(SequenceComponentLengths.addressBytes * 2) as Address, +} + +export const LocalSequenceConstants = { + ...SequenceComponentLengths, + ...SequenceComponentMinMax, + localSequenceBytes: SequenceComponentLengths.epochBytes + SequenceComponentLengths.nonceBytes, + minLocalSequence: SequenceComponentMinMax.minEpoch + SequenceComponentMinMax.minNonce as LocalSequence, + maxLocalSequence: SequenceComponentMinMax.maxEpoch + SequenceComponentMinMax.maxNonce as LocalSequence, +} + +export const QualifiedSequenceConstants = { + qualifiedSequenceBytes: LocalSequenceConstants.localSequenceBytes + SequenceComponentLengths.addressBytes, + minQualifiedSequence: LocalSequenceConstants.minLocalSequence + SequenceComponentMinMax.minAddress as QualifiedSequence, + maxQualifiedSequence: LocalSequenceConstants.maxLocalSequence + SequenceComponentMinMax.maxAddress as QualifiedSequence, +} + +export const SequenceConstants = { + ...LocalSequenceConstants, + ...QualifiedSequenceConstants, +} + +// "11111111111111112222222222222222" is and example of a local sequence string + +// "111111111111111122222222222222223333333333333333333333333333333333333333" is and example of a local sequence string +// epoch = "1111111111111111" +// nonce = "2222222222222222" +// address = "3333333333333333333333333333333333333333" diff --git a/packages/protocol/packages/payload/packages/model/src/StorageMeta/SequenceComparer.ts b/packages/protocol/packages/payload/packages/model/src/StorageMeta/SequenceComparer.ts new file mode 100644 index 0000000000..8e772c989b --- /dev/null +++ b/packages/protocol/packages/payload/packages/model/src/StorageMeta/SequenceComparer.ts @@ -0,0 +1,18 @@ +import type { Compare } from '@xylabs/object' + +import type { Sequence } from './Sequence.ts' +import { SequenceParser } from './SequenceParser.ts' + +const local: Compare = (a, b) => { + const aa = SequenceParser.from(a) + const bb = SequenceParser.from(b) + return aa.localSequence > bb.localSequence ? 1 : aa.localSequence < bb.localSequence ? -1 : 0 +} + +const qualified: Compare = (a, b) => { + const aa = SequenceParser.from(a) + const bb = SequenceParser.from(b) + return aa.qualifiedSequence > bb.qualifiedSequence ? 1 : aa.qualifiedSequence < bb.qualifiedSequence ? -1 : 0 +} + +export const SequenceComparer = { local, qualified } diff --git a/packages/protocol/packages/payload/packages/model/src/StorageMeta/SequenceParser.ts b/packages/protocol/packages/payload/packages/model/src/StorageMeta/SequenceParser.ts new file mode 100644 index 0000000000..d3b520f7ab --- /dev/null +++ b/packages/protocol/packages/payload/packages/model/src/StorageMeta/SequenceParser.ts @@ -0,0 +1,139 @@ +import { toUint8Array } from '@xylabs/arraybuffer' +import { assertEx } from '@xylabs/assert' +import { + type Address, + type Hash, type Hex, + isAddress, + toHex, +} from '@xylabs/hex' + +import type { + Epoch, LocalSequence, Nonce, QualifiedSequence, + Sequence, +} from './Sequence.ts' +import { + isQualifiedSequence, isSequence, SequenceConstants, +} from './Sequence.ts' + +export class SequenceParser { + protected static privateConstructorKey = Date.now().toString() + + private readonly data: Readonly + + protected constructor(privateConstructorKey: string, hex: Hex) { + assertEx(SequenceParser.privateConstructorKey === privateConstructorKey, () => 'Use create function instead of constructor') + const paddedHex = toHex(hex, { + prefix: false, + bitLength: (hex.length <= SequenceConstants.localSequenceBytes * 2) + ? SequenceConstants.localSequenceBytes * 8 + : SequenceConstants.qualifiedSequenceBytes * 8, + }) + this.data = toUint8Array(paddedHex) + } + + get address(): Address { + const start = SequenceConstants.localSequenceBytes + const end = SequenceConstants.qualifiedSequenceBytes + return toHex(this.data.slice(start, end).buffer, { prefix: false }) + } + + get epoch(): Epoch { + const start = 0 + const end = SequenceConstants.epochBytes + return toHex(this.data.slice(start, end).buffer, { prefix: false }) + } + + get localSequence(): LocalSequence { + const start = 0 + const end = SequenceConstants.localSequenceBytes + return toHex(this.data.slice(start, end).buffer, { prefix: false }) + } + + get nonce(): Nonce { + const start = SequenceConstants.epochBytes + const end = SequenceConstants.localSequenceBytes + return toHex(this.data.slice(start, end).buffer, { prefix: false }) + } + + get qualifiedSequence(): QualifiedSequence { + const start = 0 + const end = SequenceConstants.qualifiedSequenceBytes + return toHex(this.data.slice(start, end).buffer, { prefix: false }) + } + + static from(sequence: Sequence, address?: Address): SequenceParser + static from(timestamp: Hex, hash: Hash, address?: Address): SequenceParser + static from(timestamp: Hex, hash: Hex, address?: Address): SequenceParser + static from(timestamp: Hex, nonce: Nonce, address?: Address): SequenceParser + static from(timestamp: Hex, hash: Hash, index?: number, address?: Address): SequenceParser + static from(timestamp: Hex, hash: Hex, index?: number, address?: Address): SequenceParser + static from(timestamp: Hex, nonce: Nonce, index?: number, address?: Address): SequenceParser + static from(timestamp: number, hash: Hash, address?: Address): SequenceParser + static from(timestamp: number, hash: Hex, address?: Address): SequenceParser + static from(timestamp: number, nonce: Nonce, address?: Address): SequenceParser + static from(timestamp: number, hash: Hash, index?: number, address?: Address): SequenceParser + static from(timestamp: number, hash: Hex, index?: number, address?: Address): SequenceParser + static from(timestamp: number, nonce: Nonce, index?: number, address?: Address): SequenceParser + static from( + timestampOrSequence: Sequence | Hex | number, + nonceOrAddress: Hash | Nonce, + addressOrIndex?: Address | number, + addressOnly?: Address, + ): SequenceParser { + const address = typeof addressOrIndex === 'number' ? addressOnly : addressOrIndex + const index = typeof addressOrIndex === 'number' ? addressOrIndex : undefined + if (isSequence(timestampOrSequence)) { + if (nonceOrAddress) { + assertEx(!isQualifiedSequence(timestampOrSequence), () => 'Providing both a qualified sequence and a address is not allowed') + assertEx(isAddress(nonceOrAddress), () => 'Invalid address provided') + return new this(SequenceParser.privateConstructorKey, (timestampOrSequence + address) as Hex) + } + return new this(SequenceParser.privateConstructorKey, timestampOrSequence) + } + const epoch = SequenceParser.toEpoch(timestampOrSequence) + const nonce = SequenceParser.toNonce(nonceOrAddress, index) + const addressHex: Hex = address ? toHex(address, { bitLength: SequenceConstants.addressBytes * 8 }) : SequenceConstants.minAddress + const hexString = (epoch + nonce + addressHex) as Hex + assertEx(isSequence(hexString), () => `Invalid sequence [${hexString}] [${epoch}, ${nonce}, ${addressHex}]`) + return new this(SequenceParser.privateConstructorKey, hexString) + } + + static parse(value: Hex | string | ArrayBufferLike): SequenceParser { + const hex = toHex(value) + if (isSequence(hex)) { + return new this(SequenceParser.privateConstructorKey, hex) + } + throw new Error(`Invalid sequence [${value}]`) + } + + // can convert a short number/hex to an epoch (treats it as the whole value) or extract an epoch from a sequence + static toEpoch(value: number | Hex | Epoch): Epoch { + assertEx( + typeof value !== 'number' || Number.isInteger(value), + () => 'Value must be in integer', + ) + const hex = toHex(value, { prefix: false }) + if (hex.length <= SequenceConstants.epochBytes * 2) { + return toHex(value, { prefix: false, bitLength: SequenceConstants.epochBytes * 8 }) as Epoch + } + if (isSequence(hex)) { + return hex.slice(0, SequenceConstants.epochBytes * 2) as Epoch + } + throw new Error(`Value could not be converted to epoch [${hex}]`) + } + + // can convert a short number/hex to a nonce (treats it as the whole value) or extract an nonce from a sequence + static toNonce(value: Hash | Hex, index = 0): Nonce { + assertEx( + typeof value !== 'number' || Number.isInteger(value), + () => 'Value must be in integer', + ) + const hex = toHex(value, { prefix: false }) + if (isSequence(hex)) { + return hex.slice(SequenceConstants.epochBytes * 2, SequenceConstants.localSequenceBytes * 2) as Nonce + } + const hashHex = toHex((hex as string), { prefix: false, bitLength: SequenceConstants.nonceHashBytes * 8 }).slice(-SequenceConstants.nonceHashBytes * 2) + const indexHex = toHex(index, { prefix: false, bitLength: SequenceConstants.nonceIndexBytes * 8 }).slice(-SequenceConstants.nonceIndexBytes * 2) + return (indexHex + hashHex).slice(-SequenceConstants.nonceBytes * 2) as Nonce + } +} diff --git a/packages/protocol/packages/payload/packages/model/src/StorageMeta/StorageMeta.ts b/packages/protocol/packages/payload/packages/model/src/StorageMeta/StorageMeta.ts new file mode 100644 index 0000000000..778cb074b7 --- /dev/null +++ b/packages/protocol/packages/payload/packages/model/src/StorageMeta/StorageMeta.ts @@ -0,0 +1,49 @@ +import { type Hash, isHash } from '@xylabs/hex' +import { AsObjectFactory } from '@xylabs/object' + +import type { Payload } from '../Payload.ts' +import type { Sequence } from './Sequence.ts' + +export interface SequenceMeta { + _sequence: Sequence +} + +export type WithPartialSequenceMeta = Partial> + +export type WithSequenceMeta = T & SequenceMeta + +export interface HashMeta { + _dataHash: Hash + _hash: Hash +} + +export type WithPartialHashMeta = Partial> + +export type WithHashMeta = T & HashMeta + +export interface StorageMeta extends SequenceMeta, HashMeta {} + +export type WithPartialStorageMeta = Partial> + +export type WithStorageMeta = T & StorageMeta + +export const isSequenceMeta = (value: unknown): value is SequenceMeta => { + return (value as WithSequenceMeta)?._sequence !== undefined +} + +export const isHashMeta = (value: unknown): value is HashMeta => { + return isHash((value as WithHashMeta)?._hash) && isHash((value as WithHashMeta)?._dataHash) +} + +export const isStorageMeta = (value: unknown): value is StorageMeta => { + return isSequenceMeta(value) && isHashMeta(value) +} +export const asStorageMeta = AsObjectFactory.create(isStorageMeta) +export const asOptionalStorageMeta = AsObjectFactory.createOptional(isStorageMeta) + +// "00005a7f354762f3ac1bc5ddc6cfd08d14" is and example of a local sequence string + +// "00005a7f354762f3ac1bc5ddc6cfd08d14a123456789abcdef0123" is and example of a local sequence string +// epoch = "00005a7f354762f3ac" +// nonce = "1bc5ddc6cfd08d14" +// address = "a123456789abcdef0123" diff --git a/packages/protocol/packages/payload/packages/model/src/StorageMeta/index.ts b/packages/protocol/packages/payload/packages/model/src/StorageMeta/index.ts new file mode 100644 index 0000000000..ff89cd5583 --- /dev/null +++ b/packages/protocol/packages/payload/packages/model/src/StorageMeta/index.ts @@ -0,0 +1,4 @@ +export * from './Sequence.ts' +export * from './SequenceComparer.ts' +export * from './SequenceParser.ts' +export * from './StorageMeta.ts' diff --git a/packages/protocol/packages/payload/packages/model/src/StorageMeta/spec/SequenceComparer.spec.ts b/packages/protocol/packages/payload/packages/model/src/StorageMeta/spec/SequenceComparer.spec.ts new file mode 100644 index 0000000000..e915246901 --- /dev/null +++ b/packages/protocol/packages/payload/packages/model/src/StorageMeta/spec/SequenceComparer.spec.ts @@ -0,0 +1,99 @@ +// SequenceComparer.spec.ts + +import type { Address } from '@xylabs/hex' +import { + describe, expect, it, +} from 'vitest' + +import type { + Epoch, Nonce, Sequence, +} from '../Sequence.ts' +import { SequenceComparer } from '../SequenceComparer.ts' +import { SequenceParser } from '../SequenceParser.ts' + +describe('SequenceComparer', () => { + describe('local', () => { + const epochA: Epoch = '0000000000000001' + const epochB: Epoch = '0000000000000002' + + const nonceX: Nonce = '000000000000000a' + const nonceY: Nonce = '000000000000000b' + + const seqAX: Sequence = SequenceParser.from(epochA, nonceX).localSequence // local sequence #1 + const seqAY: Sequence = SequenceParser.from(epochA, nonceY).localSequence // local sequence #2 + const seqBX: Sequence = SequenceParser.from(epochB, nonceX).localSequence // local sequence #3 + + it('should return 0 when local sequences are equal', () => { + expect(SequenceComparer.local(seqAX, seqAX)).toBe(0) + }) + + it('should return a negative number if first local sequence < second by local sequence value', () => { + // Compare seqAX to seqAY (they differ in nonce) + const result = SequenceComparer.local(seqAX, seqAY) + expect(result).toBeLessThan(0) + }) + + it('should return a positive number if first local sequence > second by local sequence value', () => { + // Compare seqAY to seqAX (they differ in nonce) + const result = SequenceComparer.local(seqAY, seqAX) + expect(result).toBeGreaterThan(0) + }) + + it('should consider epoch differences if nonce is the same', () => { + // seqAX vs seqBX differ by epoch + const result = SequenceComparer.local(seqAX, seqBX) + expect(result).toBeLessThan(0) + + const reverseResult = SequenceComparer.local(seqBX, seqAX) + expect(reverseResult).toBeGreaterThan(0) + }) + }) + + describe('qualified', () => { + const epochC: Epoch = '0000000000000010' + const epochD: Epoch = '0000000000000011' + + const nonceM: Nonce = '000000000000000f' + const nonceN: Nonce = '000000000000001f' + + const address1: Address = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' + const address2: Address = '0000000000000000000000000000000000000000' + + const seqCMA: Sequence = SequenceParser.from(epochC, nonceM, address1).qualifiedSequence // qualified seq #1 + const seqCNA: Sequence = SequenceParser.from(epochC, nonceN, address1).qualifiedSequence // qualified seq #2 + const seqDMB: Sequence = SequenceParser.from(epochD, nonceM, address2).qualifiedSequence // qualified seq #3 + + it('should return 0 when qualified sequences are equal', () => { + expect(SequenceComparer.qualified(seqCMA, seqCMA)).toBe(0) + }) + + it('should return a negative number if the first qualified sequence < second by full sequence value', () => { + // Compare sequences differing by nonce + const result = SequenceComparer.qualified(seqCMA, seqCNA) + expect(result).toBeLessThan(0) + }) + + it('should return a positive number if the first qualified sequence > second by full sequence value', () => { + // Compare reversed + const result = SequenceComparer.qualified(seqCNA, seqCMA) + expect(result).toBeGreaterThan(0) + }) + + it('should consider address differences if epoch and nonce are identical', () => { + // Create two sequences differing only by address + const seqCMA2 = SequenceParser.from(epochC, nonceM, address2).qualifiedSequence + const result = SequenceComparer.qualified(seqCMA, seqCMA2) + // Since address1 ('a...') > address2 ('0...'), we expect a positive result + expect(result).toBeGreaterThan(0) + }) + + it('should consider epoch differences', () => { + // seqCMA vs seqDMB differ by epoch + const result = SequenceComparer.qualified(seqCMA, seqDMB) + expect(result).toBeLessThan(0) + + const reverseResult = SequenceComparer.qualified(seqDMB, seqCMA) + expect(reverseResult).toBeGreaterThan(0) + }) + }) +}) diff --git a/packages/protocol/packages/payload/packages/model/src/StorageMeta/spec/SequenceMeta.spec.ts b/packages/protocol/packages/payload/packages/model/src/StorageMeta/spec/SequenceMeta.spec.ts new file mode 100644 index 0000000000..9498cc1696 --- /dev/null +++ b/packages/protocol/packages/payload/packages/model/src/StorageMeta/spec/SequenceMeta.spec.ts @@ -0,0 +1,40 @@ +import '@xylabs/vitest-extended' + +import { + describe, expect, it, +} from 'vitest' + +import { SequenceComponentMinMax } from '../Sequence.ts' + +describe('SequenceParser', () => { + describe('minEpoch', () => { + it('minEpoch', () => { + expect(SequenceComponentMinMax.minEpoch).toEqual('0000000000000000') + }) + }) + describe('maxEpoch', () => { + it('maxEpoch', () => { + expect(SequenceComponentMinMax.maxEpoch).toEqual('ffffffffffffffff') + }) + }) + describe('minNonce', () => { + it('minNonce', () => { + expect(SequenceComponentMinMax.minNonce).toEqual('0000000000000000') + }) + }) + describe('maxNonce', () => { + it('maxNonce', () => { + expect(SequenceComponentMinMax.maxNonce).toEqual('ffffffffffffffff') + }) + }) + describe('minAddress', () => { + it('minAddress', () => { + expect(SequenceComponentMinMax.minAddress).toEqual('0000000000000000000000000000000000000000') + }) + }) + describe('maxAddress', () => { + it('maxAddress', () => { + expect(SequenceComponentMinMax.maxAddress).toEqual('ffffffffffffffffffffffffffffffffffffffff') + }) + }) +}) diff --git a/packages/protocol/packages/payload/packages/model/src/StorageMeta/spec/SequenceParser.spec.ts b/packages/protocol/packages/payload/packages/model/src/StorageMeta/spec/SequenceParser.spec.ts new file mode 100644 index 0000000000..20a9c87fe6 --- /dev/null +++ b/packages/protocol/packages/payload/packages/model/src/StorageMeta/spec/SequenceParser.spec.ts @@ -0,0 +1,112 @@ +import '@xylabs/vitest-extended' + +import type { Address, Hash } from '@xylabs/hex' +import { toHex } from '@xylabs/hex' +import { + describe, expect, it, +} from 'vitest' + +import { SequenceConstants } from '../Sequence.ts' +import { SequenceParser } from '../SequenceParser.ts' + +describe('SequenceParser', () => { + const hash: Hash = toHex('1269b95d3ebf1b1258a82ccca0b365fabf4b8c99bf8fc852e5045e30ad20fbb1') + const address: Address = 'b36d327210f67ad98be881ddf6ad1f1b3e2c5137' + const timestamp = 1_234_567_890_123 + const parsed: SequenceParser = SequenceParser.from(timestamp, hash, address) + const parsedWithIndex: SequenceParser = SequenceParser.from(timestamp, hash, 5, address) + + describe('epoch', () => { + it('converts timestamp to epoch correctly', () => { + expect(parsed.epoch).toBe(SequenceParser.toEpoch(timestamp)) + expect(parsed.epoch).toBe('0000011f71fb04cb') + }) + }) + + describe('from', () => { + it('parses sequence from timestamp and hash correctly', () => { + const parsed = SequenceParser.from(timestamp, hash) + const timestampHex = SequenceParser.toEpoch(timestamp) + const nonceHex = SequenceParser.toNonce(hash) + expect(parsed.localSequence).toBe(`${timestampHex}${nonceHex}`) + expect(parsed.localSequence).toBe('0000011f71fb04cb00000000ad20fbb1') + }) + it('parses sequence from timestamp, hash, and address correctly', () => { + const parsed = SequenceParser.from(timestamp, hash, address) + const timestampHex = SequenceParser.toEpoch(timestamp) + const nonceHex = SequenceParser.toNonce(hash) + expect(parsed.localSequence).toBe(`${timestampHex}${nonceHex}`) + expect(parsed.localSequence).toBe('0000011f71fb04cb00000000ad20fbb1') + expect(parsed.qualifiedSequence).toBe(`${timestampHex}${nonceHex}${address}`) + expect(parsed.qualifiedSequence).toBe('0000011f71fb04cb00000000ad20fbb1b36d327210f67ad98be881ddf6ad1f1b3e2c5137') + }) + it('parses sequence from timestamp, hash, index, and address correctly', () => { + const parsed = SequenceParser.from(timestamp, hash, 5, address) + const timestampHex = SequenceParser.toEpoch(timestamp) + const nonceHex = SequenceParser.toNonce(hash, 5) + expect(parsed.localSequence).toBe(`${timestampHex}${nonceHex}`) + expect(parsed.localSequence).toBe('0000011f71fb04cb00000005ad20fbb1') + expect(parsed.qualifiedSequence).toBe(`${timestampHex}${nonceHex}${address}`) + expect(parsed.qualifiedSequence).toBe('0000011f71fb04cb00000005ad20fbb1b36d327210f67ad98be881ddf6ad1f1b3e2c5137') + }) + it('equivalently parses two local sequences with and without address', () => { + const withAddress = SequenceParser.from(timestamp, hash, address) + const withoutAddress = SequenceParser.from(timestamp, hash) + expect(withAddress.localSequence).toEqual(withoutAddress.localSequence) + }) + it('equivalently parses two local sequences with and without address (with index)', () => { + const withAddress = SequenceParser.from(timestamp, hash, 8, address) + const withoutAddress = SequenceParser.from(timestamp, hash, 8) + expect(withAddress.localSequence).toEqual(withoutAddress.localSequence) + }) + it('equivalently parses two qualified sequences with and without address', () => { + const address = '0'.repeat(SequenceConstants.addressBytes * 2) as Address + const withAddress = SequenceParser.from(timestamp, hash, address) + const withoutAddress = SequenceParser.from(timestamp, hash) + expect(withAddress.qualifiedSequence).toEqual(withoutAddress.qualifiedSequence) + }) + it('equivalently parses two qualified sequences with and without address (with index)', () => { + const address = '0'.repeat(SequenceConstants.addressBytes * 2) as Address + const withAddress = SequenceParser.from(timestamp, hash, 9, address) + const withoutAddress = SequenceParser.from(timestamp, hash, 9) + expect(withAddress.qualifiedSequence).toEqual(withoutAddress.qualifiedSequence) + }) + }) + + describe('nonce', () => { + it('derives nonce from hash correctly', () => { + expect(parsed.nonce).toBe(SequenceParser.toNonce(hash)) + expect(parsed.nonce).toBe(toHex(0, { bitLength: SequenceConstants.nonceIndexBytes * 8 }) + hash.slice(-SequenceConstants.nonceHashBytes * 2)) + expect(parsed.nonce).toBe('00000000ad20fbb1') + }) + + it('derives nonce from hash correctly', () => { + expect(parsedWithIndex.nonce).toBe(SequenceParser.toNonce(hash, 5)) + expect(parsedWithIndex.nonce).toBe(toHex(5, { bitLength: SequenceConstants.nonceIndexBytes * 8 }) + hash.slice(-SequenceConstants.nonceHashBytes * 2)) + expect(parsedWithIndex.nonce).toBe('00000005ad20fbb1') + }) + }) + + describe('address', () => { + it('stores the address correctly', () => { + expect(parsed.address).toBe(address) + }) + }) + + describe('localSequence', () => { + it('concatenates epoch and nonce correctly', () => { + expect(parsed.localSequence).toBe(`${parsed.epoch}${parsed.nonce}`) + expect(parsed.localSequence).toBe('0000011f71fb04cb00000000ad20fbb1') + }) + }) + + describe('qualifiedSequence', () => { + it('concatenates localSequence and address correctly', () => { + expect(parsed.qualifiedSequence).toBe(`${parsed.epoch}${parsed.nonce}${parsed.address}`) + expect(parsed.qualifiedSequence).toBe(`${parsed.localSequence}${parsed.address}`) + expect(parsed.qualifiedSequence).toBe( + '0000011f71fb04cb00000000ad20fbb1b36d327210f67ad98be881ddf6ad1f1b3e2c5137', + ) + }) + }) +}) diff --git a/packages/protocol/packages/payload/packages/model/src/index.ts b/packages/protocol/packages/payload/packages/model/src/index.ts index 3481ef1206..ffcb8903ad 100644 --- a/packages/protocol/packages/payload/packages/model/src/index.ts +++ b/packages/protocol/packages/payload/packages/model/src/index.ts @@ -1,8 +1,6 @@ export * from './Error.ts' export * from './isPayload.ts' export * from './isPayloadOfSchemaType.ts' -export * from './isPayloadWithHash.ts' -export * from './Meta.ts' export * from './Payload.ts' export * from './PayloadFindFilter.ts' export * from './PayloadSet/index.ts' @@ -10,3 +8,4 @@ export * from './PayloadValidationFunction.ts' export * from './PayloadValueExpression.ts' export * from './Query.ts' export * from './Schema.ts' +export * from './StorageMeta/index.ts' diff --git a/packages/protocol/packages/payload/packages/model/src/isPayloadOfSchemaType.ts b/packages/protocol/packages/payload/packages/model/src/isPayloadOfSchemaType.ts index 27427c263e..41a5488b1a 100644 --- a/packages/protocol/packages/payload/packages/model/src/isPayloadOfSchemaType.ts +++ b/packages/protocol/packages/payload/packages/model/src/isPayloadOfSchemaType.ts @@ -1,18 +1,13 @@ import { isAnyPayload } from './isPayload.ts' -import type { WithMeta } from './Meta.ts' import type { Payload, WithSources } from './Payload.ts' export const isPayloadOfSchemaType = (schema: string) => { return (x?: unknown | null): x is T => isAnyPayload(x) && x?.schema === schema } -export const isPayloadOfSchemaTypeWithMeta = (schema: string) => { - return (x?: unknown | null): x is WithMeta => isPayloadOfSchemaType>(schema)(x) && x.$hash !== undefined -} - export const isPayloadOfSchemaTypeWithSources = (schema: string) => { return (x?: unknown | null): x is WithSources => - isPayloadOfSchemaType>(schema)(x) && x.sources !== undefined && Array.isArray(x.sources) + isPayloadOfSchemaType>(schema)(x) && x.$sources !== undefined && Array.isArray(x.$sources) } export const notPayloadOfSchemaType = (schema: string) => { @@ -28,21 +23,10 @@ const TestSchema: TestSchema = 'network.xyo.test' type Test = Payload<{ field: string }, TestSchema> const testPayload: Test = { field: 'test', schema: TestSchema } -const testWithMeta: WithMeta = { $hash: '1234abcd', $meta: { timestamp: Date.now() }, field: 'test', schema: TestSchema } const testPayloads: Payload[] = [testPayload] -const testMetaPayloads: WithMeta[] = [testWithMeta] - -const testType: Test = testWithMeta const isTest: Test[] = testPayloads.filter(isPayloadOfSchemaType(TestSchema)) -const isTestFromMeta: Payload[] = testMetaPayloads.filter(isPayloadOfSchemaType(TestSchema)) -const isTestFromMetaWithMeta: PayloadWithMeta[] = testMetaPayloads.filter(isPayloadOfSchemaType(TestSchema)) const isTestFromMetaTyped = testMetaPayloads.filter(isPayloadOfSchemaType(TestSchema)) - -const isTestFromMetaTypedWithMeta: WithMeta[] = testMetaPayloads.filter(isPayloadOfSchemaType(TestSchema)) - -const isTestWithMeta: WithMeta[] = testPayloads.filter(isPayloadOfSchemaTypeWithMeta(TestSchema)) -const isTestWithMetaFromMeta: WithMeta[] = testMetaPayloads.filter(isPayloadOfSchemaTypeWithMeta(TestSchema)) */ diff --git a/packages/protocol/packages/payload/packages/model/src/isPayloadWithHash.ts b/packages/protocol/packages/payload/packages/model/src/isPayloadWithHash.ts deleted file mode 100644 index f636591f48..0000000000 --- a/packages/protocol/packages/payload/packages/model/src/isPayloadWithHash.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { isAnyPayload } from './isPayload.ts' -import type { WithMeta } from './Meta.ts' -import type { Payload } from './Payload.ts' - -/** - * Return true if the value is a payload with the required meta fields - * @param value The value to check - * @returns True if the value is a payload with the required meta fields - */ -export const isWithHash = (value: T): value is WithMeta => { - return typeof (value as WithMeta)?.$hash === 'string' -} - -/** - * Return true if the value is a payload with the required meta fields - * @param value The value to check - * @returns True if the value is a payload with the required meta fields - */ -export const isPayloadWithHash = (value: unknown): value is WithMeta => { - return isAnyPayload(value) && isWithHash(value) -} diff --git a/packages/protocol/packages/payload/packages/model/src/spec/Payload.spec.ts b/packages/protocol/packages/payload/packages/model/src/spec/Payload.spec.ts index 1b472f878b..524ab53a7c 100644 --- a/packages/protocol/packages/payload/packages/model/src/spec/Payload.spec.ts +++ b/packages/protocol/packages/payload/packages/model/src/spec/Payload.spec.ts @@ -4,7 +4,6 @@ import { describe, expect, it, } from 'vitest' -import type { WithMeta } from '../Meta.ts' import type { Payload } from '../Payload.ts' const TestPayloadSchema = 'com.test.schema' @@ -17,9 +16,9 @@ type TestPayload = Payload<{ data: { foo: string } }, TestPayloadSchema> describe('Payload Types', () => { it('WithMeta', () => { const payload: TestPayload = { data: { foo: 'bar' }, schema: 'com.test.schema' } - const payloadWithMeta: WithMeta = { + const payloadWithMeta: TestPayload = { $hash: '123', $meta: { test: 'yo' }, data: { foo: 'bar' }, schema: 'com.test.schema', - } + } as TestPayload const payloadFromWithMeta: TestPayload = payloadWithMeta expect(payload).toBeDefined() expect(payloadFromWithMeta).toBeDefined() diff --git a/packages/protocol/packages/payload/packages/model/src/spec/tsconfig.json b/packages/protocol/packages/payload/packages/model/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/protocol/packages/payload/packages/model/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/protocol/packages/payload/packages/utils/.npmignore b/packages/protocol/packages/payload/packages/utils/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/protocol/packages/payload/packages/utils/.npmignore +++ b/packages/protocol/packages/payload/packages/utils/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/protocol/packages/payload/packages/utils/package.json b/packages/protocol/packages/payload/packages/utils/package.json index 50c0c6ac33..02d78fd5a8 100644 --- a/packages/protocol/packages/payload/packages/utils/package.json +++ b/packages/protocol/packages/payload/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/payload-utils", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,23 +29,24 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/exists": "^4.4.10", - "@xylabs/hex": "^4.4.10", - "@xylabs/set": "^4.4.10", + "@xylabs/exists": "^4.4.25", + "@xylabs/hex": "^4.4.25", + "@xylabs/set": "^4.4.25", "@xyo-network/boundwitness-model": "workspace:^", "@xyo-network/hash": "workspace:^", "@xyo-network/payload-builder": "workspace:^", "@xyo-network/payload-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/boundwitness-builder": "workspace:^", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/protocol/packages/payload/packages/utils/src/spec/tsconfig.json b/packages/protocol/packages/payload/packages/utils/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/protocol/packages/payload/packages/utils/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/protocol/packages/payload/packages/validator/.npmignore b/packages/protocol/packages/payload/packages/validator/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/protocol/packages/payload/packages/validator/.npmignore +++ b/packages/protocol/packages/payload/packages/validator/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/protocol/packages/payload/packages/validator/package.json b/packages/protocol/packages/payload/packages/validator/package.json index 53d98610af..23caf2fd8b 100644 --- a/packages/protocol/packages/payload/packages/validator/package.json +++ b/packages/protocol/packages/payload/packages/validator/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/payload-validator", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,19 +29,20 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/object": "^4.4.10", - "@xylabs/promise": "^4.4.10", + "@xylabs/object": "^4.4.25", + "@xylabs/promise": "^4.4.25", "@xyo-network/payload-model": "workspace:^", "@xyo-network/schema-name-validator": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/protocol/packages/payload/packages/validator/src/spec/tsconfig.json b/packages/protocol/packages/payload/packages/validator/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/protocol/packages/payload/packages/validator/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/protocol/packages/payload/packages/wrapper/.npmignore b/packages/protocol/packages/payload/packages/wrapper/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/protocol/packages/payload/packages/wrapper/.npmignore +++ b/packages/protocol/packages/payload/packages/wrapper/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/protocol/packages/payload/packages/wrapper/package.json b/packages/protocol/packages/payload/packages/wrapper/package.json index 7ccb8275aa..0e21e4c8b3 100644 --- a/packages/protocol/packages/payload/packages/wrapper/package.json +++ b/packages/protocol/packages/payload/packages/wrapper/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/payload-wrapper", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,20 +29,21 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/hex": "^4.4.10", - "@xylabs/promise": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/hex": "^4.4.25", + "@xylabs/promise": "^4.4.25", "@xyo-network/payload-builder": "workspace:^", "@xyo-network/payload-model": "workspace:^", "@xyo-network/payload-validator": "workspace:^", "ajv": "^8.17.1" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/protocol/packages/payload/packages/wrapper/src/PayloadWithMetaWrapper.ts b/packages/protocol/packages/payload/packages/wrapper/src/PayloadWithMetaWrapper.ts deleted file mode 100644 index 8c9a134ff3..0000000000 --- a/packages/protocol/packages/payload/packages/wrapper/src/PayloadWithMetaWrapper.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { assertEx } from '@xylabs/assert' -import type { Address } from '@xylabs/hex' -import type { Payload } from '@xyo-network/payload-model' - -import { isPayloadDataWrapper, PayloadDataWrapper } from './PayloadDataWrapper.ts' -import type { PayloadLoaderFactory } from './PayloadWrapperBase.ts' -import { isPayloadWrapperBase } from './PayloadWrapperBase.ts' - -export const isPayloadWithMetaWrapper = (value?: unknown): value is PayloadWithMetaWrapper => { - return isPayloadDataWrapper(value) -} - -export class PayloadWithMetaWrapper extends PayloadDataWrapper { - protected constructor(payload: TPayload) { - super(payload) - } - - static override as(value: unknown) { - return value instanceof PayloadDataWrapper ? (value as PayloadDataWrapper) : null - } - - static override async load(address: Address) { - if (this.loaderFactory === null) { - console.warn('No loader factory set') - return null - } else { - const payload = await this.loaderFactory()(address) - return payload ? new PayloadWithMetaWrapper(payload) : null - } - } - - static override parse(payload?: unknown): PayloadDataWrapper | undefined { - const hydratedObj = typeof payload === 'string' ? JSON.parse(payload) : payload - return this.wrap(hydratedObj as PayloadDataWrapper | T) - } - - static override setLoaderFactory(factory: PayloadLoaderFactory | null) { - this.loaderFactory = factory - } - - static override tryParse(obj: unknown): PayloadDataWrapper | undefined { - if (obj === undefined || obj === null) return - try { - return this.parse(obj) - } catch { - return undefined - } - } - - static override wrap(payload?: T | PayloadWithMetaWrapper): PayloadWithMetaWrapper { - assertEx(!Array.isArray(payload), () => 'Array can not be converted to PayloadWrapper') - switch (typeof payload) { - case 'object': { - return payload instanceof PayloadWithMetaWrapper - ? payload - : ( - new PayloadWithMetaWrapper((isPayloadWrapperBase(payload) ? payload.payload : payload) as T) - ) - } - default: { - throw new Error(`Can only parse objects [${typeof payload}]`) - } - } - } - - static override async wrappedMap( - payloads: (T | PayloadWithMetaWrapper)[], - ): Promise>> { - const result: Record> = {} - await Promise.all( - payloads.map(async (payload) => { - const wrapper = await PayloadDataWrapper.wrap(payload) - result[await wrapper.dataHash()] = wrapper - }), - ) - return result - } -} diff --git a/packages/protocol/packages/payload/packages/wrapper/src/PayloadWrapperBase.ts b/packages/protocol/packages/payload/packages/wrapper/src/PayloadWrapperBase.ts index ed282a7f28..628e87efe5 100644 --- a/packages/protocol/packages/payload/packages/wrapper/src/PayloadWrapperBase.ts +++ b/packages/protocol/packages/payload/packages/wrapper/src/PayloadWrapperBase.ts @@ -2,7 +2,7 @@ import { assertEx } from '@xylabs/assert' import type { Address } from '@xylabs/hex' import type { Promisable } from '@xylabs/promise' import { PayloadBuilder } from '@xyo-network/payload-builder' -import type { Payload, WithMeta } from '@xyo-network/payload-model' +import type { Payload } from '@xyo-network/payload-model' import { isAnyPayload } from '@xyo-network/payload-model' export type PayloadLoader = (address: Address) => Promise @@ -17,7 +17,7 @@ export class PayloadWrapperBase { protected constructor(public payload: TPayload) {} - static unwrap(payload?: TPayload): WithMeta | undefined + static unwrap(payload?: TPayload): TPayload | undefined static unwrap = PayloadWrapperBase>( payload: TPayload | TWrapper, ): TPayload diff --git a/packages/sdk-utils/.npmignore b/packages/sdk-utils/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/sdk-utils/.npmignore +++ b/packages/sdk-utils/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/sdk-utils/package.json b/packages/sdk-utils/package.json index 465bc95e6b..a4dbe0b3a3 100644 --- a/packages/sdk-utils/package.json +++ b/packages/sdk-utils/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/sdk-utils", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -40,11 +40,12 @@ "@xyo-network/witnesses": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/sdk-utils/packages/api-models/.npmignore b/packages/sdk-utils/packages/api-models/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/sdk-utils/packages/api-models/.npmignore +++ b/packages/sdk-utils/packages/api-models/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/sdk-utils/packages/api-models/package.json b/packages/sdk-utils/packages/api-models/package.json index fdb7e899fc..51ba829b36 100644 --- a/packages/sdk-utils/packages/api-models/package.json +++ b/packages/sdk-utils/packages/api-models/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/api-models", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -32,11 +32,12 @@ "axios": "^1.7.9" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/sdk-utils/packages/api/.npmignore b/packages/sdk-utils/packages/api/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/sdk-utils/packages/api/.npmignore +++ b/packages/sdk-utils/packages/api/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/sdk-utils/packages/api/package.json b/packages/sdk-utils/packages/api/package.json index b30a43444f..53a6bced10 100644 --- a/packages/sdk-utils/packages/api/package.json +++ b/packages/sdk-utils/packages/api/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/api", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,8 +29,8 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/axios": "^4.4.10", - "@xylabs/object": "^4.4.10", + "@xylabs/axios": "^4.4.25", + "@xylabs/object": "^4.4.25", "@xyo-network/api-models": "workspace:^", "@xyo-network/boundwitness-model": "workspace:^", "@xyo-network/diviner-model": "workspace:^", @@ -39,11 +39,11 @@ "axios": "^1.7.9" }, "devDependencies": { - "@types/node": "^22.10.1", + "@types/node": "^22.10.2", "@types/uuid": "^10.0.0", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/module-model": "workspace:^", "@xyo-network/query-payload-plugin": "workspace:^", "typescript": "^5.7.2", @@ -52,5 +52,6 @@ }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/sdk-utils/packages/api/src/Api/spec/tsconfig.json b/packages/sdk-utils/packages/api/src/Api/spec/tsconfig.json deleted file mode 100644 index 815e4b994b..0000000000 --- a/packages/sdk-utils/packages/api/src/Api/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - "types": ["node"] - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/sdk-utils/packages/api/src/Diviner/LocationDiviner/spec/tsconfig.json b/packages/sdk-utils/packages/api/src/Diviner/LocationDiviner/spec/tsconfig.json deleted file mode 100644 index 47feddbd84..0000000000 --- a/packages/sdk-utils/packages/api/src/Diviner/LocationDiviner/spec/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "exclude": ["dist", "docs", "packages", "node_modules"], - "extends": "@xylabs/tsconfig" -} diff --git a/packages/sdk-utils/packages/api/src/Test/testBoundWitness.ts b/packages/sdk-utils/packages/api/src/Test/testBoundWitness.ts index 342bf9b6b2..97c5bc888d 100644 --- a/packages/sdk-utils/packages/api/src/Test/testBoundWitness.ts +++ b/packages/sdk-utils/packages/api/src/Test/testBoundWitness.ts @@ -2,7 +2,7 @@ import type { BoundWitness } from '@xyo-network/boundwitness-model' import { BoundWitnessSchema } from '@xyo-network/boundwitness-model' const testBoundWitness: BoundWitness = { - $meta: { signatures: ['95100e5fd2012b958e96895870cfac5353c3a33a19314cfd1304ef7d01d052ec2a3ef80d6449cf88d463027fe0d868ed8cfb8b7323d37e93a08570233eea0b17'] }, + $signatures: ['95100e5fd2012b958e96895870cfac5353c3a33a19314cfd1304ef7d01d052ec2a3ef80d6449cf88d463027fe0d868ed8cfb8b7323d37e93a08570233eea0b17'], addresses: ['5346a2ce56ec4177b67092bda710e150ba6fa046'], payload_hashes: ['20e14207f952a09f767ff614a648546c037fe524ace0bfe55db31f818aff1f1c'], payload_schemas: ['network.xyo.test'], diff --git a/packages/sdk-utils/packages/dns/.npmignore b/packages/sdk-utils/packages/dns/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/sdk-utils/packages/dns/.npmignore +++ b/packages/sdk-utils/packages/dns/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/sdk-utils/packages/dns/package.json b/packages/sdk-utils/packages/dns/package.json index e936f0b907..a13582f313 100644 --- a/packages/sdk-utils/packages/dns/package.json +++ b/packages/sdk-utils/packages/dns/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/dns", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,14 +29,15 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/axios": "^4.4.10" + "@xylabs/axios": "^4.4.25" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/sdk-utils/packages/dns/src/DnsRecordType.ts b/packages/sdk-utils/packages/dns/src/DnsRecordType.ts index 26508e52be..fa5c4bf303 100644 --- a/packages/sdk-utils/packages/dns/src/DnsRecordType.ts +++ b/packages/sdk-utils/packages/dns/src/DnsRecordType.ts @@ -1,14 +1,16 @@ -export enum DnsRecordType { - A = 1, - AAAA = 28, - CAA = 257, - CNAME = 5, - DNAME = 39, - MX = 15, - NS = 2, - PTR = 12, - SOA = 6, - SPF = 99, - SRV = 33, - TXT = 16, -} +export const DnsRecordType = { + A: 1, + AAAA: 28, + CAA: 257, + CNAME: 5, + DNAME: 39, + MX: 15, + NS: 2, + PTR: 12, + SOA: 6, + SPF: 99, + SRV: 33, + TXT: 16, +} as const + +export type DnsRecordType = typeof DnsRecordType[keyof typeof DnsRecordType] diff --git a/packages/sdk-utils/packages/dns/src/DnsReturnCode.ts b/packages/sdk-utils/packages/dns/src/DnsReturnCode.ts index 9a335f5caa..ee5f7e9f87 100644 --- a/packages/sdk-utils/packages/dns/src/DnsReturnCode.ts +++ b/packages/sdk-utils/packages/dns/src/DnsReturnCode.ts @@ -1,14 +1,14 @@ -enum DnsReturnCode { - NoError = 0, - QueryFormatError = 1, - ServerFailed = 2, - DomainDoesNotExist = 3, - NotImplemented = 4, - Refused = 5, - NameShouldNotExist = 6, - RRSetShouldNotExist = 7, - NotAuthoratative = 8, - NotInZone = 9, +export const DnsReturnCode = { + NoError: 0, + QueryFormatError: 1, + ServerFailed: 2, + DomainDoesNotExist: 3, + NotImplemented: 4, + Refused: 5, + NameShouldNotExist: 6, + RRSetShouldNotExist: 7, + NotAuthoritative: 8, + NotInZone: 9, } -export { DnsReturnCode } +export type DnsReturnCode = typeof DnsReturnCode[keyof typeof DnsReturnCode] diff --git a/packages/sdk-utils/packages/dns/src/domainResolve.ts b/packages/sdk-utils/packages/dns/src/domainResolve.ts index 64376c1f96..a336466260 100644 --- a/packages/sdk-utils/packages/dns/src/domainResolve.ts +++ b/packages/sdk-utils/packages/dns/src/domainResolve.ts @@ -6,7 +6,7 @@ import { googleDnsOverHttps } from './googleDnsOverHttps.ts' * @param domain - string * @returns GoogleDnsResult */ -const domainResolve = async (domain?: string, type = DnsRecordType.A) => { +const domainResolve = async (domain?: string, type: DnsRecordType = DnsRecordType.A) => { if (domain) { return await googleDnsOverHttps(domain, type) } diff --git a/packages/sdk-utils/packages/dns/src/googleDnsOverHttps.ts b/packages/sdk-utils/packages/dns/src/googleDnsOverHttps.ts index 817b550ff6..61aa7182ef 100644 --- a/packages/sdk-utils/packages/dns/src/googleDnsOverHttps.ts +++ b/packages/sdk-utils/packages/dns/src/googleDnsOverHttps.ts @@ -3,7 +3,7 @@ import { axios } from '@xylabs/axios' import { DnsRecordType } from './DnsRecordType.ts' import type { GoogleDnsResult } from './GoogleDnsResult.ts' -const googleDnsOverHttps = async (name: string, type = DnsRecordType.A) => { +const googleDnsOverHttps = async (name: string, type: DnsRecordType = DnsRecordType.A) => { return (await axios.get(`https://dns.google/resolve?name=${name}&type=${type}`)).data } diff --git a/packages/sdk-utils/packages/metamask-connector/.npmignore b/packages/sdk-utils/packages/metamask-connector/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/sdk-utils/packages/metamask-connector/.npmignore +++ b/packages/sdk-utils/packages/metamask-connector/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/sdk-utils/packages/metamask-connector/package.json b/packages/sdk-utils/packages/metamask-connector/package.json index 1ed4907790..7b03e21dd5 100644 --- a/packages/sdk-utils/packages/metamask-connector/package.json +++ b/packages/sdk-utils/packages/metamask-connector/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/metamask-connector", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,16 +29,17 @@ "module": "dist/browser/index.mjs", "types": "dist/browser/index.d.ts", "dependencies": { - "@metamask/providers": "^18.2.0", - "@xylabs/forget": "^4.4.10", + "@metamask/providers": "^18.3.1", + "@xylabs/forget": "^4.4.25", "ethers": "6.13.4" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig-dom": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig-dom": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/sdk-utils/packages/network/.npmignore b/packages/sdk-utils/packages/network/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/sdk-utils/packages/network/.npmignore +++ b/packages/sdk-utils/packages/network/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/sdk-utils/packages/network/package.json b/packages/sdk-utils/packages/network/package.json index 333cca6a8e..de91c43601 100644 --- a/packages/sdk-utils/packages/network/package.json +++ b/packages/sdk-utils/packages/network/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/network", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,18 +29,19 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/hex": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/hex": "^4.4.25", "@xyo-network/payload-builder": "workspace:^", "@xyo-network/payload-model": "workspace:^", "@xyo-network/payload-wrapper": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/sdk-utils/packages/payload-plugin/.npmignore b/packages/sdk-utils/packages/payload-plugin/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/sdk-utils/packages/payload-plugin/.npmignore +++ b/packages/sdk-utils/packages/payload-plugin/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/sdk-utils/packages/payload-plugin/package.json b/packages/sdk-utils/packages/payload-plugin/package.json index f95b8294c6..871b1b835c 100644 --- a/packages/sdk-utils/packages/payload-plugin/package.json +++ b/packages/sdk-utils/packages/payload-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/payload-plugin", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,19 +29,20 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/object": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/object": "^4.4.25", "@xyo-network/payload-builder": "workspace:^", "@xyo-network/payload-model": "workspace:^", "@xyo-network/payload-validator": "workspace:^", "@xyo-network/payload-wrapper": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/sdk-utils/packages/payloadset-plugin/.npmignore b/packages/sdk-utils/packages/payloadset-plugin/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/sdk-utils/packages/payloadset-plugin/.npmignore +++ b/packages/sdk-utils/packages/payloadset-plugin/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/sdk-utils/packages/payloadset-plugin/package.json b/packages/sdk-utils/packages/payloadset-plugin/package.json index 44d374e96c..01698df585 100644 --- a/packages/sdk-utils/packages/payloadset-plugin/package.json +++ b/packages/sdk-utils/packages/payloadset-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/payloadset-plugin", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,9 +29,9 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/forget": "^4.4.10", - "@xylabs/object": "^4.4.10", - "@xylabs/promise": "^4.4.10", + "@xylabs/forget": "^4.4.25", + "@xylabs/object": "^4.4.25", + "@xylabs/promise": "^4.4.25", "@xyo-network/boundwitness-model": "workspace:^", "@xyo-network/boundwitness-wrapper": "workspace:^", "@xyo-network/diviner-model": "workspace:^", @@ -40,11 +40,12 @@ "@xyo-network/witness-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/sdk-utils/packages/payloadset-plugin/src/Resolver.ts b/packages/sdk-utils/packages/payloadset-plugin/src/Resolver.ts index 8764cb6e10..3aed6fc41b 100644 --- a/packages/sdk-utils/packages/payloadset-plugin/src/Resolver.ts +++ b/packages/sdk-utils/packages/payloadset-plugin/src/Resolver.ts @@ -1,7 +1,4 @@ import { forget } from '@xylabs/forget' -import type { Validator } from '@xylabs/object' -import type { QueryBoundWitness } from '@xyo-network/boundwitness-model' -import type { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper' import type { DivinerModule, DivinerParams } from '@xyo-network/diviner-model' import { PayloadBuilder } from '@xyo-network/payload-builder' import type { PayloadSetPayload } from '@xyo-network/payload-model' @@ -72,11 +69,6 @@ export class PayloadSetPluginResolver { return Object.values(this._plugins).map(value => value.set) } - async validate(boundwitness: QueryBoundWitness): Promise | undefined> { - const resultSet = await this.resolve(boundwitness.resultSet) - return resultSet?.validate?.(boundwitness) - } - async witness(set: PayloadSetPayload): Promise async witness(set: string): Promise async witness(set: string | PayloadSetPayload): Promise { @@ -87,9 +79,4 @@ export class PayloadSetPluginResolver { witnesses(): PayloadSetWitnessPlugin[] { return Object.values(this._plugins).filter(isPayloadSetWitnessPlugin) } - - async wrap(boundwitness: QueryBoundWitness): Promise { - const resultSet = await this.resolve(boundwitness.resultSet) - return resultSet?.wrap?.(boundwitness) - } } diff --git a/packages/sdk-utils/packages/quadkey/.npmignore b/packages/sdk-utils/packages/quadkey/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/sdk-utils/packages/quadkey/.npmignore +++ b/packages/sdk-utils/packages/quadkey/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/sdk-utils/packages/quadkey/package.json b/packages/sdk-utils/packages/quadkey/package.json index 484c54fb7e..bbf43cbbb4 100644 --- a/packages/sdk-utils/packages/quadkey/package.json +++ b/packages/sdk-utils/packages/quadkey/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/quadkey", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,19 +29,20 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/hex": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/hex": "^4.4.25", "@xyo-network/sdk-geo": "^3.0.2", - "mapbox-gl": "^3.8.0" + "mapbox-gl": "^3.9.0" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "typescript": "^5.7.2", "vitest": "^2.1.8" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/sdk-utils/packages/quadkey/src/spec/tsconfig.json b/packages/sdk-utils/packages/quadkey/src/spec/tsconfig.json deleted file mode 100644 index 47feddbd84..0000000000 --- a/packages/sdk-utils/packages/quadkey/src/spec/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "exclude": ["dist", "docs", "packages", "node_modules"], - "extends": "@xylabs/tsconfig" -} diff --git a/packages/sdk-utils/packages/schema-cache/.npmignore b/packages/sdk-utils/packages/schema-cache/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/sdk-utils/packages/schema-cache/.npmignore +++ b/packages/sdk-utils/packages/schema-cache/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/sdk-utils/packages/schema-cache/package.json b/packages/sdk-utils/packages/schema-cache/package.json index b2df7ef8ba..8a6c149615 100644 --- a/packages/sdk-utils/packages/schema-cache/package.json +++ b/packages/sdk-utils/packages/schema-cache/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/schema-cache", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,8 +29,8 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/delay": "^4.4.10", - "@xylabs/error": "^4.4.10", + "@xylabs/delay": "^4.4.25", + "@xylabs/error": "^4.4.25", "@xyo-network/domain-payload-plugin": "workspace:^", "@xyo-network/huri": "workspace:^", "@xyo-network/payload-model": "workspace:^", @@ -40,10 +40,10 @@ "lru-cache": "^11.0.2" }, "devDependencies": { - "@xylabs/assert": "^4.4.10", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig-dom": "^4.2.4", - "@xylabs/vitest-extended": "^4.4.10", + "@xylabs/assert": "^4.4.25", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig-dom": "^4.2.6", + "@xylabs/vitest-extended": "^4.4.25", "@xyo-network/network": "workspace:^", "@xyo-network/payload-builder": "workspace:^", "typescript": "^5.7.2", @@ -51,5 +51,6 @@ }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/sdk-utils/packages/schema-cache/src/spec/tsconfig.json b/packages/sdk-utils/packages/schema-cache/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/packages/sdk-utils/packages/schema-cache/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/packages/sdk-utils/packages/schema-name-validator/.npmignore b/packages/sdk-utils/packages/schema-name-validator/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/sdk-utils/packages/schema-name-validator/.npmignore +++ b/packages/sdk-utils/packages/schema-name-validator/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/sdk-utils/packages/schema-name-validator/package.json b/packages/sdk-utils/packages/schema-name-validator/package.json index 0e6e86982e..de21d658c2 100644 --- a/packages/sdk-utils/packages/schema-name-validator/package.json +++ b/packages/sdk-utils/packages/schema-name-validator/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/schema-name-validator", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -32,11 +32,12 @@ "@xyo-network/dns": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/sdk-utils/packages/witnesses/.npmignore b/packages/sdk-utils/packages/witnesses/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/sdk-utils/packages/witnesses/.npmignore +++ b/packages/sdk-utils/packages/witnesses/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/sdk-utils/packages/witnesses/package.json b/packages/sdk-utils/packages/witnesses/package.json index 5a26e51894..8f1b669021 100644 --- a/packages/sdk-utils/packages/witnesses/package.json +++ b/packages/sdk-utils/packages/witnesses/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/witnesses", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -34,11 +34,12 @@ "@xyo-network/witness-model": "workspace:^" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/shared/.npmignore b/packages/shared/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/shared/.npmignore +++ b/packages/shared/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/shared/package.json b/packages/shared/package.json index 48a967199d..03aad80e67 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/shared", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,14 +29,15 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "dependencies": { - "@xylabs/logger": "^4.4.10" + "@xylabs/logger": "^4.4.25" }, "devDependencies": { - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/packages/shared/packages/typeof/.npmignore b/packages/shared/packages/typeof/.npmignore index 0430e8967b..a20bcd35c2 100644 --- a/packages/shared/packages/typeof/.npmignore +++ b/packages/shared/packages/typeof/.npmignore @@ -3,7 +3,6 @@ .eslintcache .example.env tsconfig* -jest.config.js rollup.config.ts yarn.lock **/*.spec.ts diff --git a/packages/shared/packages/typeof/package.json b/packages/shared/packages/typeof/package.json index 75c3139920..df30eb02f2 100644 --- a/packages/shared/packages/typeof/package.json +++ b/packages/shared/packages/typeof/package.json @@ -1,6 +1,6 @@ { "name": "@xyo-network/typeof", - "version": "3.5.2", + "version": "3.6.0-rc.19", "description": "Primary SDK for using XYO Protocol 2.0", "homepage": "https://xyo.network", "bugs": { @@ -29,12 +29,13 @@ "module": "dist/neutral/index.mjs", "types": "dist/neutral/index.d.ts", "devDependencies": { - "@types/node": "^22.10.1", - "@xylabs/ts-scripts-yarn3": "^4.2.4", - "@xylabs/tsconfig": "^4.2.4", + "@types/node": "^22.10.2", + "@xylabs/ts-scripts-yarn3": "^4.2.6", + "@xylabs/tsconfig": "^4.2.6", "typescript": "^5.7.2" }, "publishConfig": { "access": "public" - } + }, + "stableVersion": "3.5.2" } diff --git a/src/spec/tsconfig.json b/src/spec/tsconfig.json deleted file mode 100644 index 02c8694f5b..0000000000 --- a/src/spec/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - - }, - "extends": "@xylabs/tsconfig" -} \ No newline at end of file diff --git a/tsconfig.typedoc.json b/tsconfig.typedoc.json index 1615897856..a77abc2f4f 100644 --- a/tsconfig.typedoc.json +++ b/tsconfig.typedoc.json @@ -1,5 +1,5 @@ { - "exclude": ["**/spec/*", "**/*.spec.*", "jestSetup"], + "exclude": ["**/spec/*", "**/*.spec.*"], "extends": "./tsconfig.json" } diff --git a/vitest.config.ts b/vitest.config.ts index e1297954d5..973a02f1a8 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -3,4 +3,16 @@ import { defineConfig } from 'vitest/config' dotenv.config() -export default defineConfig({ test: { environment: 'node' } }) +export default defineConfig({ + test: { + globals: true, + environment: 'node', + coverage: { + provider: 'v8', // Use V8 native coverage provider + reporter: ['text', 'html', 'lcov'], // Output formats + // reportsDirectory: './coverage', // Directory for coverage output + // include: ['**/src/**/*.ts'], // Include files to track + // exclude: ['node_modules', '**/src/*.spec.*'], // Exclude unnecessary files + }, + }, +}) diff --git a/yarn.lock b/yarn.lock index b40ad2435d..bcf78fbc56 100644 --- a/yarn.lock +++ b/yarn.lock @@ -19,7 +19,7 @@ __metadata: languageName: node linkType: hard -"@ampproject/remapping@npm:^2.2.0": +"@ampproject/remapping@npm:^2.2.0, @ampproject/remapping@npm:^2.3.0": version: 2.3.0 resolution: "@ampproject/remapping@npm:2.3.0" dependencies: @@ -546,7 +546,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.24.7, @babel/code-frame@npm:^7.25.9, @babel/code-frame@npm:^7.26.0": +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.25.9, @babel/code-frame@npm:^7.26.0": version: 7.26.2 resolution: "@babel/code-frame@npm:7.26.2" dependencies: @@ -557,37 +557,14 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.25.4, @babel/compat-data@npm:^7.25.9": - version: 7.26.2 - resolution: "@babel/compat-data@npm:7.26.2" - checksum: 10/ed9eed6b62ce803ef4a320b1dac76b0302abbb29c49dddf96f3e3207d9717eb34e299a8651bb1582e9c3346ead74b6d595ffced5b3dae718afa08b18741f8402 - languageName: node - linkType: hard - -"@babel/core@npm:7.25.2": - version: 7.25.2 - resolution: "@babel/core@npm:7.25.2" - dependencies: - "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.24.7" - "@babel/generator": "npm:^7.25.0" - "@babel/helper-compilation-targets": "npm:^7.25.2" - "@babel/helper-module-transforms": "npm:^7.25.2" - "@babel/helpers": "npm:^7.25.0" - "@babel/parser": "npm:^7.25.0" - "@babel/template": "npm:^7.25.0" - "@babel/traverse": "npm:^7.25.2" - "@babel/types": "npm:^7.25.2" - convert-source-map: "npm:^2.0.0" - debug: "npm:^4.1.0" - gensync: "npm:^1.0.0-beta.2" - json5: "npm:^2.2.3" - semver: "npm:^6.3.1" - checksum: 10/0d6ec10ff430df66f654c089d6f7ef1d9bed0c318ac257ad5f0dfa0caa45666011828ae75f998bcdb279763e892b091b2925d0bc483299e61649d2c7a2245e33 +"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.25.9, @babel/compat-data@npm:^7.26.0": + version: 7.26.3 + resolution: "@babel/compat-data@npm:7.26.3" + checksum: 10/0bf4e491680722aa0eac26f770f2fae059f92e2ac083900b241c90a2c10f0fc80e448b1feccc2b332687fab4c3e33e9f83dee9ef56badca1fb9f3f71266d9ebf languageName: node linkType: hard -"@babel/core@npm:^7.26.0": +"@babel/core@npm:7.26.0, @babel/core@npm:^7.26.0": version: 7.26.0 resolution: "@babel/core@npm:7.26.0" dependencies: @@ -610,9 +587,9 @@ __metadata: languageName: node linkType: hard -"@babel/eslint-parser@npm:7.25.1": - version: 7.25.1 - resolution: "@babel/eslint-parser@npm:7.25.1" +"@babel/eslint-parser@npm:7.25.9": + version: 7.25.9 + resolution: "@babel/eslint-parser@npm:7.25.9" dependencies: "@nicolo-ribaudo/eslint-scope-5-internals": "npm:5.1.1-v1" eslint-visitor-keys: "npm:^2.1.0" @@ -620,11 +597,11 @@ __metadata: peerDependencies: "@babel/core": ^7.11.0 eslint: ^7.5.0 || ^8.0.0 || ^9.0.0 - checksum: 10/9a2ddab3accd391a1eb95cb1ea655daa8603515d0f17081c542db8621c6bbbc65aa3b9b96b779854eed80cc8664a8969d7ac54479e8738876c0be5d26fd66efa + checksum: 10/ebb68d80b1fa2b964ad1147cc610e0c69b224e620419a885ba5abc996740523bee636a0d447fc29a0d495dbce5fa0246737b25e9e679cca6c5797fdac5176378 languageName: node linkType: hard -"@babel/generator@npm:^7.25.0, @babel/generator@npm:^7.25.9, @babel/generator@npm:^7.26.0": +"@babel/generator@npm:^7.25.9, @babel/generator@npm:^7.26.0": version: 7.26.2 resolution: "@babel/generator@npm:7.26.2" dependencies: @@ -646,17 +623,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.25.9" - dependencies: - "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10/e1bb465b3b0155702d82cfef09e3813e87a6d777cdd2c513796861eac14953340491eafea1d4109278bf4ceb48b54074c45758f042c0544d00c498090bee5a6f - languageName: node - linkType: hard - -"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.25.2, @babel/helper-compilation-targets@npm:^7.25.9": +"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-compilation-targets@npm:7.25.9" dependencies: @@ -669,7 +636,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.24.7, @babel/helper-create-class-features-plugin@npm:^7.25.9": +"@babel/helper-create-class-features-plugin@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-create-class-features-plugin@npm:7.25.9" dependencies: @@ -734,7 +701,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.25.2, @babel/helper-module-transforms@npm:^7.25.9, @babel/helper-module-transforms@npm:^7.26.0": +"@babel/helper-module-transforms@npm:^7.25.9, @babel/helper-module-transforms@npm:^7.26.0": version: 7.26.0 resolution: "@babel/helper-module-transforms@npm:7.26.0" dependencies: @@ -756,7 +723,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.24.7, @babel/helper-plugin-utils@npm:^7.24.8, @babel/helper-plugin-utils@npm:^7.25.9, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-plugin-utils@npm:7.25.9" checksum: 10/e347d87728b1ab10b6976d46403941c8f9008c045ea6d99997a7ffca7b852dc34b6171380f7b17edf94410e0857ff26f3a53d8618f11d73744db86e8ca9b8c64 @@ -789,16 +756,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-simple-access@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-simple-access@npm:7.25.9" - dependencies: - "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10/a16a6cfa5e8ac7144e856bcdaaf0022cf5de028fc0c56ce21dd664a6e900999a4285c587a209f2acf9de438c0d60bfb497f5f34aa34cbaf29da3e2f8d8d7feb7 - languageName: node - linkType: hard - "@babel/helper-skip-transparent-expression-wrappers@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.25.9" @@ -823,7 +780,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.24.7, @babel/helper-validator-option@npm:^7.24.8, @babel/helper-validator-option@npm:^7.25.9": +"@babel/helper-validator-option@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-validator-option@npm:7.25.9" checksum: 10/9491b2755948ebbdd68f87da907283698e663b5af2d2b1b02a2765761974b1120d5d8d49e9175b167f16f72748ffceec8c9cf62acfbee73f4904507b246e2b3d @@ -841,7 +798,7 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.25.0, @babel/helpers@npm:^7.26.0": +"@babel/helpers@npm:^7.26.0": version: 7.26.0 resolution: "@babel/helpers@npm:7.26.0" dependencies: @@ -851,18 +808,18 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.23.0, @babel/parser@npm:^7.25.0, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0, @babel/parser@npm:^7.26.2": - version: 7.26.2 - resolution: "@babel/parser@npm:7.26.2" +"@babel/parser@npm:^7.23.0, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.25.4, @babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0, @babel/parser@npm:^7.26.2": + version: 7.26.3 + resolution: "@babel/parser@npm:7.26.3" dependencies: - "@babel/types": "npm:^7.26.0" + "@babel/types": "npm:^7.26.3" bin: parser: ./bin/babel-parser.js - checksum: 10/8baee43752a3678ad9f9e360ec845065eeee806f1fdc8e0f348a8a0e13eef0959dabed4a197c978896c493ea205c804d0a1187cc52e4a1ba017c7935bab4983d + checksum: 10/e7e3814b2dc9ee3ed605d38223471fa7d3a84cbe9474d2b5fa7ac57dc1ddf75577b1fd3a93bf7db8f41f28869bda795cddd80223f980be23623b6434bf4c88a8 languageName: node linkType: hard -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.25.3": +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.25.9" dependencies: @@ -874,7 +831,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.25.0": +"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.25.9" dependencies: @@ -885,7 +842,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.25.0": +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.25.9" dependencies: @@ -896,7 +853,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.24.7": +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.25.9" dependencies: @@ -909,7 +866,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.25.0": +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.25.9" dependencies: @@ -921,16 +878,16 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-decorators@npm:7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-proposal-decorators@npm:7.24.7" +"@babel/plugin-proposal-decorators@npm:7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-proposal-decorators@npm:7.25.9" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-decorators": "npm:^7.24.7" + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/plugin-syntax-decorators": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/456ed3143b7b825bf72e58354f8afbffb0a34e987e2d306b565e0a032402d2c3e283863e09496784c5a5b94865b0ec379f6bc41cc760b3294b685a7cc52bc670 + checksum: 10/f564de219ace3980cd679c719738390c02e2e6f562b330bfb941fab94c128bcb2b30e9970e1aae82d3b908703e162e4a62fb9269c7e9fb4bad83d0a56cdb41af languageName: node linkType: hard @@ -943,40 +900,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-async-generators@npm:^7.8.4": - version: 7.8.4 - resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/7ed1c1d9b9e5b64ef028ea5e755c0be2d4e5e4e3d6cf7df757b9a8c4cfa4193d268176d0f1f7fbecdda6fe722885c7fda681f480f3741d8a2d26854736f05367 - languageName: node - linkType: hard - -"@babel/plugin-syntax-class-properties@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.12.13" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/24f34b196d6342f28d4bad303612d7ff566ab0a013ce89e775d98d6f832969462e7235f3e7eaf17678a533d4be0ba45d3ae34ab4e5a9dcbda5d98d49e5efa2fc - languageName: node - linkType: hard - -"@babel/plugin-syntax-class-static-block@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-class-static-block@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.14.5" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/3e80814b5b6d4fe17826093918680a351c2d34398a914ce6e55d8083d72a9bdde4fbaf6a2dcea0e23a03de26dc2917ae3efd603d27099e2b98380345703bf948 - languageName: node - linkType: hard - -"@babel/plugin-syntax-decorators@npm:^7.24.7": +"@babel/plugin-syntax-decorators@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-syntax-decorators@npm:7.25.9" dependencies: @@ -987,28 +911,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-dynamic-import@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-dynamic-import@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/ce307af83cf433d4ec42932329fad25fa73138ab39c7436882ea28742e1c0066626d224e0ad2988724c82644e41601cef607b36194f695cb78a1fcdc959637bd - languageName: node - linkType: hard - -"@babel/plugin-syntax-export-namespace-from@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-export-namespace-from@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.3" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/85740478be5b0de185228e7814451d74ab8ce0a26fcca7613955262a26e99e8e15e9da58f60c754b84515d4c679b590dbd3f2148f0f58025f4ae706f1c5a5d4a - languageName: node - linkType: hard - "@babel/plugin-syntax-flow@npm:^7.25.9": version: 7.26.0 resolution: "@babel/plugin-syntax-flow@npm:7.26.0" @@ -1020,7 +922,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-import-assertions@npm:^7.24.7": +"@babel/plugin-syntax-import-assertions@npm:^7.26.0": version: 7.26.0 resolution: "@babel/plugin-syntax-import-assertions@npm:7.26.0" dependencies: @@ -1031,7 +933,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-import-attributes@npm:^7.24.7": +"@babel/plugin-syntax-import-attributes@npm:^7.26.0": version: 7.26.0 resolution: "@babel/plugin-syntax-import-attributes@npm:7.26.0" dependencies: @@ -1042,28 +944,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-import-meta@npm:^7.10.4": - version: 7.10.4 - resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.10.4" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/166ac1125d10b9c0c430e4156249a13858c0366d38844883d75d27389621ebe651115cb2ceb6dc011534d5055719fa1727b59f39e1ab3ca97820eef3dcab5b9b - languageName: node - linkType: hard - -"@babel/plugin-syntax-json-strings@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-json-strings@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/bf5aea1f3188c9a507e16efe030efb996853ca3cadd6512c51db7233cc58f3ac89ff8c6bdfb01d30843b161cfe7d321e1bf28da82f7ab8d7e6bc5464666f354a - languageName: node - linkType: hard - "@babel/plugin-syntax-jsx@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-syntax-jsx@npm:7.25.9" @@ -1075,94 +955,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4": - version: 7.10.4 - resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.10.4" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/aff33577037e34e515911255cdbb1fd39efee33658aa00b8a5fd3a4b903585112d037cce1cc9e4632f0487dc554486106b79ccd5ea63a2e00df4363f6d4ff886 - languageName: node - linkType: hard - -"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/87aca4918916020d1fedba54c0e232de408df2644a425d153be368313fdde40d96088feed6c4e5ab72aac89be5d07fef2ddf329a15109c5eb65df006bf2580d1 - languageName: node - linkType: hard - -"@babel/plugin-syntax-numeric-separator@npm:^7.10.4": - version: 7.10.4 - resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.10.4" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/01ec5547bd0497f76cc903ff4d6b02abc8c05f301c88d2622b6d834e33a5651aa7c7a3d80d8d57656a4588f7276eba357f6b7e006482f5b564b7a6488de493a1 - languageName: node - linkType: hard - -"@babel/plugin-syntax-object-rest-spread@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/fddcf581a57f77e80eb6b981b10658421bc321ba5f0a5b754118c6a92a5448f12a0c336f77b8abf734841e102e5126d69110a306eadb03ca3e1547cab31f5cbf - languageName: node - linkType: hard - -"@babel/plugin-syntax-optional-catch-binding@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-optional-catch-binding@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/910d90e72bc90ea1ce698e89c1027fed8845212d5ab588e35ef91f13b93143845f94e2539d831dc8d8ededc14ec02f04f7bd6a8179edd43a326c784e7ed7f0b9 - languageName: node - linkType: hard - -"@babel/plugin-syntax-optional-chaining@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/eef94d53a1453361553c1f98b68d17782861a04a392840341bc91780838dd4e695209c783631cf0de14c635758beafb6a3a65399846ffa4386bff90639347f30 - languageName: node - linkType: hard - -"@babel/plugin-syntax-private-property-in-object@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-private-property-in-object@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.14.5" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/b317174783e6e96029b743ccff2a67d63d38756876e7e5d0ba53a322e38d9ca452c13354a57de1ad476b4c066dbae699e0ca157441da611117a47af88985ecda - languageName: node - linkType: hard - -"@babel/plugin-syntax-top-level-await@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.14.5" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/bbd1a56b095be7820029b209677b194db9b1d26691fe999856462e66b25b281f031f3dfd91b1619e9dcf95bebe336211833b854d0fb8780d618e35667c2d0d7e - languageName: node - linkType: hard - "@babel/plugin-syntax-unicode-sets-regex@npm:^7.18.6": version: 7.18.6 resolution: "@babel/plugin-syntax-unicode-sets-regex@npm:7.18.6" @@ -1175,7 +967,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-arrow-functions@npm:^7.24.7": +"@babel/plugin-transform-arrow-functions@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-arrow-functions@npm:7.25.9" dependencies: @@ -1186,7 +978,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-async-generator-functions@npm:^7.25.4": +"@babel/plugin-transform-async-generator-functions@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-async-generator-functions@npm:7.25.9" dependencies: @@ -1199,7 +991,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-async-to-generator@npm:^7.24.7": +"@babel/plugin-transform-async-to-generator@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-async-to-generator@npm:7.25.9" dependencies: @@ -1212,7 +1004,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-block-scoped-functions@npm:^7.24.7": +"@babel/plugin-transform-block-scoped-functions@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.25.9" dependencies: @@ -1223,7 +1015,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-block-scoping@npm:^7.25.0": +"@babel/plugin-transform-block-scoping@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-block-scoping@npm:7.25.9" dependencies: @@ -1234,7 +1026,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-class-properties@npm:^7.25.4": +"@babel/plugin-transform-class-properties@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-class-properties@npm:7.25.9" dependencies: @@ -1246,7 +1038,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-class-static-block@npm:^7.24.7": +"@babel/plugin-transform-class-static-block@npm:^7.26.0": version: 7.26.0 resolution: "@babel/plugin-transform-class-static-block@npm:7.26.0" dependencies: @@ -1258,7 +1050,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.25.4": +"@babel/plugin-transform-classes@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-classes@npm:7.25.9" dependencies: @@ -1274,7 +1066,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-computed-properties@npm:^7.24.7": +"@babel/plugin-transform-computed-properties@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-computed-properties@npm:7.25.9" dependencies: @@ -1286,7 +1078,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-destructuring@npm:^7.24.8": +"@babel/plugin-transform-destructuring@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-destructuring@npm:7.25.9" dependencies: @@ -1297,7 +1089,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-dotall-regex@npm:^7.24.7": +"@babel/plugin-transform-dotall-regex@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-dotall-regex@npm:7.25.9" dependencies: @@ -1309,7 +1101,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-duplicate-keys@npm:^7.24.7": +"@babel/plugin-transform-duplicate-keys@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-duplicate-keys@npm:7.25.9" dependencies: @@ -1320,7 +1112,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.25.0": +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.25.9" dependencies: @@ -1332,7 +1124,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-dynamic-import@npm:^7.24.7": +"@babel/plugin-transform-dynamic-import@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-dynamic-import@npm:7.25.9" dependencies: @@ -1343,19 +1135,18 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-exponentiation-operator@npm:^7.24.7": - version: 7.25.9 - resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.25.9" +"@babel/plugin-transform-exponentiation-operator@npm:^7.25.9": + version: 7.26.3 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.26.3" dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.25.9" "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/57e1bb4135dd16782fe84b49dd360cce8f9bf5f62eb10424dcdaf221e54a8bacdf50f2541c5ac01dea9f833a6c628613d71be915290938a93454389cba4de06b + checksum: 10/0d8da2e552a50a775fe8e6e3c32621d20d3c5d1af7ab40ca2f5c7603de057b57b1b5850f74040e4ecbe36c09ac86d92173ad1e223a2a3b3df3cc359ca4349738 languageName: node linkType: hard -"@babel/plugin-transform-export-namespace-from@npm:^7.24.7": +"@babel/plugin-transform-export-namespace-from@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-export-namespace-from@npm:7.25.9" dependencies: @@ -1366,7 +1157,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-flow-strip-types@npm:^7.24.7": +"@babel/plugin-transform-flow-strip-types@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-flow-strip-types@npm:7.25.9" dependencies: @@ -1378,7 +1169,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-for-of@npm:^7.24.7": +"@babel/plugin-transform-for-of@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-for-of@npm:7.25.9" dependencies: @@ -1390,7 +1181,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-function-name@npm:^7.25.1": +"@babel/plugin-transform-function-name@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-function-name@npm:7.25.9" dependencies: @@ -1403,7 +1194,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-json-strings@npm:^7.24.7": +"@babel/plugin-transform-json-strings@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-json-strings@npm:7.25.9" dependencies: @@ -1414,7 +1205,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-literals@npm:^7.25.2": +"@babel/plugin-transform-literals@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-literals@npm:7.25.9" dependencies: @@ -1425,7 +1216,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-logical-assignment-operators@npm:^7.24.7": +"@babel/plugin-transform-logical-assignment-operators@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.25.9" dependencies: @@ -1436,7 +1227,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-member-expression-literals@npm:^7.24.7": +"@babel/plugin-transform-member-expression-literals@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-member-expression-literals@npm:7.25.9" dependencies: @@ -1447,7 +1238,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-amd@npm:^7.24.7": +"@babel/plugin-transform-modules-amd@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-modules-amd@npm:7.25.9" dependencies: @@ -1459,20 +1250,19 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.24.8": - version: 7.25.9 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.25.9" +"@babel/plugin-transform-modules-commonjs@npm:^7.25.9": + version: 7.26.3 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.26.3" dependencies: - "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helper-module-transforms": "npm:^7.26.0" "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-simple-access": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/a7390ca999373ccdef91075f274d1ace3a5cb79f9b9118ed6f76e94867ed454cf798a6f312ce2c4cdc1e035a25d810d754e4cb2e4d866acb4219490f3585de60 + checksum: 10/f817f02fa04d13f1578f3026239b57f1003bebcf9f9b8d854714bed76a0e4986c79bd6d2e0ac14282c5d309454a8dab683c179709ca753b0152a69c69f3a78e3 languageName: node linkType: hard -"@babel/plugin-transform-modules-systemjs@npm:^7.25.0": +"@babel/plugin-transform-modules-systemjs@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-modules-systemjs@npm:7.25.9" dependencies: @@ -1486,7 +1276,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-umd@npm:^7.24.7": +"@babel/plugin-transform-modules-umd@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-modules-umd@npm:7.25.9" dependencies: @@ -1498,7 +1288,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.24.7": +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.25.9" dependencies: @@ -1510,7 +1300,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-new-target@npm:^7.24.7": +"@babel/plugin-transform-new-target@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-new-target@npm:7.25.9" dependencies: @@ -1521,7 +1311,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.7": +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.25.9" dependencies: @@ -1532,7 +1322,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-numeric-separator@npm:^7.24.7": +"@babel/plugin-transform-numeric-separator@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-numeric-separator@npm:7.25.9" dependencies: @@ -1543,7 +1333,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-object-rest-spread@npm:^7.24.7": +"@babel/plugin-transform-object-rest-spread@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-object-rest-spread@npm:7.25.9" dependencies: @@ -1556,7 +1346,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-object-super@npm:^7.24.7": +"@babel/plugin-transform-object-super@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-object-super@npm:7.25.9" dependencies: @@ -1568,7 +1358,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-optional-catch-binding@npm:^7.24.7": +"@babel/plugin-transform-optional-catch-binding@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.25.9" dependencies: @@ -1579,7 +1369,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-optional-chaining@npm:^7.24.8, @babel/plugin-transform-optional-chaining@npm:^7.25.9": +"@babel/plugin-transform-optional-chaining@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-optional-chaining@npm:7.25.9" dependencies: @@ -1591,7 +1381,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.24.7, @babel/plugin-transform-parameters@npm:^7.25.9": +"@babel/plugin-transform-parameters@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-parameters@npm:7.25.9" dependencies: @@ -1602,7 +1392,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-private-methods@npm:^7.25.4": +"@babel/plugin-transform-private-methods@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-private-methods@npm:7.25.9" dependencies: @@ -1614,7 +1404,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-private-property-in-object@npm:^7.24.7": +"@babel/plugin-transform-private-property-in-object@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-private-property-in-object@npm:7.25.9" dependencies: @@ -1627,7 +1417,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-property-literals@npm:^7.24.7": +"@babel/plugin-transform-property-literals@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-property-literals@npm:7.25.9" dependencies: @@ -1638,7 +1428,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-react-display-name@npm:^7.24.7": +"@babel/plugin-transform-react-display-name@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-react-display-name@npm:7.25.9" dependencies: @@ -1649,7 +1439,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-development@npm:^7.24.7": +"@babel/plugin-transform-react-jsx-development@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-react-jsx-development@npm:7.25.9" dependencies: @@ -1660,7 +1450,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-react-jsx@npm:^7.24.7, @babel/plugin-transform-react-jsx@npm:^7.25.9": +"@babel/plugin-transform-react-jsx@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-react-jsx@npm:7.25.9" dependencies: @@ -1675,7 +1465,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-react-pure-annotations@npm:^7.24.7": +"@babel/plugin-transform-react-pure-annotations@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.25.9" dependencies: @@ -1687,7 +1477,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-regenerator@npm:^7.24.7": +"@babel/plugin-transform-regenerator@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-regenerator@npm:7.25.9" dependencies: @@ -1699,7 +1489,19 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-reserved-words@npm:^7.24.7": +"@babel/plugin-transform-regexp-modifiers@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.26.0" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/726deca486bbd4b176f8a966eb0f4aabc19d9def3b8dabb8b3a656778eca0df1fda3f3c92b213aa5a184232fdafd5b7bd73b4e24ca4345c498ef6baff2bda4e1 + languageName: node + linkType: hard + +"@babel/plugin-transform-reserved-words@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-reserved-words@npm:7.25.9" dependencies: @@ -1710,7 +1512,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-shorthand-properties@npm:^7.24.7": +"@babel/plugin-transform-shorthand-properties@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-shorthand-properties@npm:7.25.9" dependencies: @@ -1721,7 +1523,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-spread@npm:^7.24.7": +"@babel/plugin-transform-spread@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-spread@npm:7.25.9" dependencies: @@ -1733,7 +1535,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-sticky-regex@npm:^7.24.7": +"@babel/plugin-transform-sticky-regex@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-sticky-regex@npm:7.25.9" dependencies: @@ -1744,7 +1546,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-template-literals@npm:^7.24.7": +"@babel/plugin-transform-template-literals@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-template-literals@npm:7.25.9" dependencies: @@ -1755,7 +1557,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-typeof-symbol@npm:^7.24.8": +"@babel/plugin-transform-typeof-symbol@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-typeof-symbol@npm:7.25.9" dependencies: @@ -1766,7 +1568,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-unicode-escapes@npm:^7.24.7": +"@babel/plugin-transform-unicode-escapes@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-unicode-escapes@npm:7.25.9" dependencies: @@ -1777,7 +1579,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-unicode-property-regex@npm:^7.24.7": +"@babel/plugin-transform-unicode-property-regex@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.25.9" dependencies: @@ -1789,7 +1591,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-unicode-regex@npm:^7.24.7": +"@babel/plugin-transform-unicode-regex@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-unicode-regex@npm:7.25.9" dependencies: @@ -1801,7 +1603,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-unicode-sets-regex@npm:^7.25.4": +"@babel/plugin-transform-unicode-sets-regex@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.25.9" dependencies: @@ -1813,109 +1615,95 @@ __metadata: languageName: node linkType: hard -"@babel/preset-env@npm:7.25.4": - version: 7.25.4 - resolution: "@babel/preset-env@npm:7.25.4" +"@babel/preset-env@npm:7.26.0": + version: 7.26.0 + resolution: "@babel/preset-env@npm:7.26.0" dependencies: - "@babel/compat-data": "npm:^7.25.4" - "@babel/helper-compilation-targets": "npm:^7.25.2" - "@babel/helper-plugin-utils": "npm:^7.24.8" - "@babel/helper-validator-option": "npm:^7.24.8" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.25.3" - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.25.0" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.25.0" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.24.7" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.25.0" + "@babel/compat-data": "npm:^7.26.0" + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-validator-option": "npm:^7.25.9" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.25.9" + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.25.9" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.25.9" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.25.9" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.25.9" "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-async-generators": "npm:^7.8.4" - "@babel/plugin-syntax-class-properties": "npm:^7.12.13" - "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" - "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" - "@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3" - "@babel/plugin-syntax-import-assertions": "npm:^7.24.7" - "@babel/plugin-syntax-import-attributes": "npm:^7.24.7" - "@babel/plugin-syntax-import-meta": "npm:^7.10.4" - "@babel/plugin-syntax-json-strings": "npm:^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" - "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" - "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" - "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" - "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" - "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" - "@babel/plugin-syntax-top-level-await": "npm:^7.14.5" + "@babel/plugin-syntax-import-assertions": "npm:^7.26.0" + "@babel/plugin-syntax-import-attributes": "npm:^7.26.0" "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" - "@babel/plugin-transform-arrow-functions": "npm:^7.24.7" - "@babel/plugin-transform-async-generator-functions": "npm:^7.25.4" - "@babel/plugin-transform-async-to-generator": "npm:^7.24.7" - "@babel/plugin-transform-block-scoped-functions": "npm:^7.24.7" - "@babel/plugin-transform-block-scoping": "npm:^7.25.0" - "@babel/plugin-transform-class-properties": "npm:^7.25.4" - "@babel/plugin-transform-class-static-block": "npm:^7.24.7" - "@babel/plugin-transform-classes": "npm:^7.25.4" - "@babel/plugin-transform-computed-properties": "npm:^7.24.7" - "@babel/plugin-transform-destructuring": "npm:^7.24.8" - "@babel/plugin-transform-dotall-regex": "npm:^7.24.7" - "@babel/plugin-transform-duplicate-keys": "npm:^7.24.7" - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.25.0" - "@babel/plugin-transform-dynamic-import": "npm:^7.24.7" - "@babel/plugin-transform-exponentiation-operator": "npm:^7.24.7" - "@babel/plugin-transform-export-namespace-from": "npm:^7.24.7" - "@babel/plugin-transform-for-of": "npm:^7.24.7" - "@babel/plugin-transform-function-name": "npm:^7.25.1" - "@babel/plugin-transform-json-strings": "npm:^7.24.7" - "@babel/plugin-transform-literals": "npm:^7.25.2" - "@babel/plugin-transform-logical-assignment-operators": "npm:^7.24.7" - "@babel/plugin-transform-member-expression-literals": "npm:^7.24.7" - "@babel/plugin-transform-modules-amd": "npm:^7.24.7" - "@babel/plugin-transform-modules-commonjs": "npm:^7.24.8" - "@babel/plugin-transform-modules-systemjs": "npm:^7.25.0" - "@babel/plugin-transform-modules-umd": "npm:^7.24.7" - "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.24.7" - "@babel/plugin-transform-new-target": "npm:^7.24.7" - "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.24.7" - "@babel/plugin-transform-numeric-separator": "npm:^7.24.7" - "@babel/plugin-transform-object-rest-spread": "npm:^7.24.7" - "@babel/plugin-transform-object-super": "npm:^7.24.7" - "@babel/plugin-transform-optional-catch-binding": "npm:^7.24.7" - "@babel/plugin-transform-optional-chaining": "npm:^7.24.8" - "@babel/plugin-transform-parameters": "npm:^7.24.7" - "@babel/plugin-transform-private-methods": "npm:^7.25.4" - "@babel/plugin-transform-private-property-in-object": "npm:^7.24.7" - "@babel/plugin-transform-property-literals": "npm:^7.24.7" - "@babel/plugin-transform-regenerator": "npm:^7.24.7" - "@babel/plugin-transform-reserved-words": "npm:^7.24.7" - "@babel/plugin-transform-shorthand-properties": "npm:^7.24.7" - "@babel/plugin-transform-spread": "npm:^7.24.7" - "@babel/plugin-transform-sticky-regex": "npm:^7.24.7" - "@babel/plugin-transform-template-literals": "npm:^7.24.7" - "@babel/plugin-transform-typeof-symbol": "npm:^7.24.8" - "@babel/plugin-transform-unicode-escapes": "npm:^7.24.7" - "@babel/plugin-transform-unicode-property-regex": "npm:^7.24.7" - "@babel/plugin-transform-unicode-regex": "npm:^7.24.7" - "@babel/plugin-transform-unicode-sets-regex": "npm:^7.25.4" + "@babel/plugin-transform-arrow-functions": "npm:^7.25.9" + "@babel/plugin-transform-async-generator-functions": "npm:^7.25.9" + "@babel/plugin-transform-async-to-generator": "npm:^7.25.9" + "@babel/plugin-transform-block-scoped-functions": "npm:^7.25.9" + "@babel/plugin-transform-block-scoping": "npm:^7.25.9" + "@babel/plugin-transform-class-properties": "npm:^7.25.9" + "@babel/plugin-transform-class-static-block": "npm:^7.26.0" + "@babel/plugin-transform-classes": "npm:^7.25.9" + "@babel/plugin-transform-computed-properties": "npm:^7.25.9" + "@babel/plugin-transform-destructuring": "npm:^7.25.9" + "@babel/plugin-transform-dotall-regex": "npm:^7.25.9" + "@babel/plugin-transform-duplicate-keys": "npm:^7.25.9" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.25.9" + "@babel/plugin-transform-dynamic-import": "npm:^7.25.9" + "@babel/plugin-transform-exponentiation-operator": "npm:^7.25.9" + "@babel/plugin-transform-export-namespace-from": "npm:^7.25.9" + "@babel/plugin-transform-for-of": "npm:^7.25.9" + "@babel/plugin-transform-function-name": "npm:^7.25.9" + "@babel/plugin-transform-json-strings": "npm:^7.25.9" + "@babel/plugin-transform-literals": "npm:^7.25.9" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.25.9" + "@babel/plugin-transform-member-expression-literals": "npm:^7.25.9" + "@babel/plugin-transform-modules-amd": "npm:^7.25.9" + "@babel/plugin-transform-modules-commonjs": "npm:^7.25.9" + "@babel/plugin-transform-modules-systemjs": "npm:^7.25.9" + "@babel/plugin-transform-modules-umd": "npm:^7.25.9" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.25.9" + "@babel/plugin-transform-new-target": "npm:^7.25.9" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.25.9" + "@babel/plugin-transform-numeric-separator": "npm:^7.25.9" + "@babel/plugin-transform-object-rest-spread": "npm:^7.25.9" + "@babel/plugin-transform-object-super": "npm:^7.25.9" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.25.9" + "@babel/plugin-transform-optional-chaining": "npm:^7.25.9" + "@babel/plugin-transform-parameters": "npm:^7.25.9" + "@babel/plugin-transform-private-methods": "npm:^7.25.9" + "@babel/plugin-transform-private-property-in-object": "npm:^7.25.9" + "@babel/plugin-transform-property-literals": "npm:^7.25.9" + "@babel/plugin-transform-regenerator": "npm:^7.25.9" + "@babel/plugin-transform-regexp-modifiers": "npm:^7.26.0" + "@babel/plugin-transform-reserved-words": "npm:^7.25.9" + "@babel/plugin-transform-shorthand-properties": "npm:^7.25.9" + "@babel/plugin-transform-spread": "npm:^7.25.9" + "@babel/plugin-transform-sticky-regex": "npm:^7.25.9" + "@babel/plugin-transform-template-literals": "npm:^7.25.9" + "@babel/plugin-transform-typeof-symbol": "npm:^7.25.9" + "@babel/plugin-transform-unicode-escapes": "npm:^7.25.9" + "@babel/plugin-transform-unicode-property-regex": "npm:^7.25.9" + "@babel/plugin-transform-unicode-regex": "npm:^7.25.9" + "@babel/plugin-transform-unicode-sets-regex": "npm:^7.25.9" "@babel/preset-modules": "npm:0.1.6-no-external-plugins" babel-plugin-polyfill-corejs2: "npm:^0.4.10" babel-plugin-polyfill-corejs3: "npm:^0.10.6" babel-plugin-polyfill-regenerator: "npm:^0.6.1" - core-js-compat: "npm:^3.37.1" + core-js-compat: "npm:^3.38.1" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/45ca65bdc7fa11ca51167804052460eda32bf2e6620c7ba998e2d95bc867595913532ee7d748e97e808eabcc66aabe796bd75c59014d996ec8183fa5a7245862 + checksum: 10/a7a80314f845deea713985a6316361c476621c76cfe5c6c28e8b9558f01634b49bbfdd3581ef94b5d6cff5c2b8830468aa53a73f5b5c1224db2dfea5db7e676f languageName: node linkType: hard -"@babel/preset-flow@npm:7.24.7": - version: 7.24.7 - resolution: "@babel/preset-flow@npm:7.24.7" +"@babel/preset-flow@npm:7.25.9": + version: 7.25.9 + resolution: "@babel/preset-flow@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-validator-option": "npm:^7.24.7" - "@babel/plugin-transform-flow-strip-types": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-validator-option": "npm:^7.25.9" + "@babel/plugin-transform-flow-strip-types": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/20fe02b5bc3a9d5b353d164d5ef89841032605434ae351d14309a041d6dc5bd0df3417d0510a6468813392d54793825ba6b04d8c5a5377eee31fc2b55503bf26 + checksum: 10/b1591ea63a7ace7e34bcefa6deba9e2814d7f082e3c074e2648efb68a1a49016ccefbea024156ba28bd3042a4e768e3eb8b5ecfe433978144fdaaadd36203ba2 languageName: node linkType: hard @@ -1932,19 +1720,19 @@ __metadata: languageName: node linkType: hard -"@babel/preset-react@npm:7.24.7": - version: 7.24.7 - resolution: "@babel/preset-react@npm:7.24.7" +"@babel/preset-react@npm:7.26.3": + version: 7.26.3 + resolution: "@babel/preset-react@npm:7.26.3" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-validator-option": "npm:^7.24.7" - "@babel/plugin-transform-react-display-name": "npm:^7.24.7" - "@babel/plugin-transform-react-jsx": "npm:^7.24.7" - "@babel/plugin-transform-react-jsx-development": "npm:^7.24.7" - "@babel/plugin-transform-react-pure-annotations": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-validator-option": "npm:^7.25.9" + "@babel/plugin-transform-react-display-name": "npm:^7.25.9" + "@babel/plugin-transform-react-jsx": "npm:^7.25.9" + "@babel/plugin-transform-react-jsx-development": "npm:^7.25.9" + "@babel/plugin-transform-react-pure-annotations": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/e861e6b923e8eacb01c2e931310b4a5b2ae2514a089a37390051700d1103ab87003f2abc0b389a12db7be24971dd8eaabee794b799d3e854cb0c22ba07a33100 + checksum: 10/88cb78c402b79f32389ee06451da51698d5b1da7641d9a47482883f537fe5441a138bd4c077d8533fd6d557406b08911c47b94402cea843db598e020bdd9a373 languageName: node linkType: hard @@ -1957,7 +1745,7 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.25.0, @babel/template@npm:^7.25.9": +"@babel/template@npm:^7.25.9": version: 7.25.9 resolution: "@babel/template@npm:7.25.9" dependencies: @@ -1968,7 +1756,7 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.23.2, @babel/traverse@npm:^7.25.2, @babel/traverse@npm:^7.25.9": +"@babel/traverse@npm:^7.23.2, @babel/traverse@npm:^7.25.9": version: 7.25.9 resolution: "@babel/traverse@npm:7.25.9" dependencies: @@ -1983,13 +1771,20 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.25.2, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0, @babel/types@npm:^7.4.4": - version: 7.26.0 - resolution: "@babel/types@npm:7.26.0" +"@babel/types@npm:^7.25.4, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0, @babel/types@npm:^7.26.3, @babel/types@npm:^7.4.4": + version: 7.26.3 + resolution: "@babel/types@npm:7.26.3" dependencies: "@babel/helper-string-parser": "npm:^7.25.9" "@babel/helper-validator-identifier": "npm:^7.25.9" - checksum: 10/40780741ecec886ed9edae234b5eb4976968cc70d72b4e5a40d55f83ff2cc457de20f9b0f4fe9d858350e43dab0ea496e7ef62e2b2f08df699481a76df02cd6e + checksum: 10/c31d0549630a89abfa11410bf82a318b0c87aa846fbf5f9905e47ba5e2aa44f41cc746442f105d622c519e4dc532d35a8d8080460ff4692f9fc7485fbf3a00eb + languageName: node + linkType: hard + +"@bcoe/v8-coverage@npm:^0.2.3": + version: 0.2.3 + resolution: "@bcoe/v8-coverage@npm:0.2.3" + checksum: 10/1a1f0e356a3bb30b5f1ced6f79c413e6ebacf130421f15fac5fcd8be5ddf98aedb4404d7f5624e3285b700e041f9ef938321f3ca4d359d5b716f96afa120d88d languageName: node linkType: hard @@ -2034,9 +1829,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/aix-ppc64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/aix-ppc64@npm:0.24.0" +"@esbuild/aix-ppc64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/aix-ppc64@npm:0.24.2" conditions: os=aix & cpu=ppc64 languageName: node linkType: hard @@ -2048,9 +1843,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/android-arm64@npm:0.24.0" +"@esbuild/android-arm64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/android-arm64@npm:0.24.2" conditions: os=android & cpu=arm64 languageName: node linkType: hard @@ -2062,9 +1857,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/android-arm@npm:0.24.0" +"@esbuild/android-arm@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/android-arm@npm:0.24.2" conditions: os=android & cpu=arm languageName: node linkType: hard @@ -2076,9 +1871,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-x64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/android-x64@npm:0.24.0" +"@esbuild/android-x64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/android-x64@npm:0.24.2" conditions: os=android & cpu=x64 languageName: node linkType: hard @@ -2090,9 +1885,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/darwin-arm64@npm:0.24.0" +"@esbuild/darwin-arm64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/darwin-arm64@npm:0.24.2" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -2104,9 +1899,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/darwin-x64@npm:0.24.0" +"@esbuild/darwin-x64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/darwin-x64@npm:0.24.2" conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -2118,9 +1913,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/freebsd-arm64@npm:0.24.0" +"@esbuild/freebsd-arm64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/freebsd-arm64@npm:0.24.2" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard @@ -2132,9 +1927,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/freebsd-x64@npm:0.24.0" +"@esbuild/freebsd-x64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/freebsd-x64@npm:0.24.2" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard @@ -2146,9 +1941,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/linux-arm64@npm:0.24.0" +"@esbuild/linux-arm64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-arm64@npm:0.24.2" conditions: os=linux & cpu=arm64 languageName: node linkType: hard @@ -2160,9 +1955,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-arm@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/linux-arm@npm:0.24.0" +"@esbuild/linux-arm@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-arm@npm:0.24.2" conditions: os=linux & cpu=arm languageName: node linkType: hard @@ -2174,9 +1969,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/linux-ia32@npm:0.24.0" +"@esbuild/linux-ia32@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-ia32@npm:0.24.2" conditions: os=linux & cpu=ia32 languageName: node linkType: hard @@ -2188,9 +1983,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/linux-loong64@npm:0.24.0" +"@esbuild/linux-loong64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-loong64@npm:0.24.2" conditions: os=linux & cpu=loong64 languageName: node linkType: hard @@ -2202,9 +1997,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-mips64el@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/linux-mips64el@npm:0.24.0" +"@esbuild/linux-mips64el@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-mips64el@npm:0.24.2" conditions: os=linux & cpu=mips64el languageName: node linkType: hard @@ -2216,9 +2011,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-ppc64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/linux-ppc64@npm:0.24.0" +"@esbuild/linux-ppc64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-ppc64@npm:0.24.2" conditions: os=linux & cpu=ppc64 languageName: node linkType: hard @@ -2230,9 +2025,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/linux-riscv64@npm:0.24.0" +"@esbuild/linux-riscv64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-riscv64@npm:0.24.2" conditions: os=linux & cpu=riscv64 languageName: node linkType: hard @@ -2244,9 +2039,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/linux-s390x@npm:0.24.0" +"@esbuild/linux-s390x@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-s390x@npm:0.24.2" conditions: os=linux & cpu=s390x languageName: node linkType: hard @@ -2258,13 +2053,20 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/linux-x64@npm:0.24.0" +"@esbuild/linux-x64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-x64@npm:0.24.2" conditions: os=linux & cpu=x64 languageName: node linkType: hard +"@esbuild/netbsd-arm64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/netbsd-arm64@npm:0.24.2" + conditions: os=netbsd & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/netbsd-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/netbsd-x64@npm:0.21.5" @@ -2272,16 +2074,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/netbsd-x64@npm:0.24.0" +"@esbuild/netbsd-x64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/netbsd-x64@npm:0.24.2" conditions: os=netbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/openbsd-arm64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/openbsd-arm64@npm:0.24.0" +"@esbuild/openbsd-arm64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/openbsd-arm64@npm:0.24.2" conditions: os=openbsd & cpu=arm64 languageName: node linkType: hard @@ -2293,9 +2095,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/openbsd-x64@npm:0.24.0" +"@esbuild/openbsd-x64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/openbsd-x64@npm:0.24.2" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard @@ -2307,9 +2109,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/sunos-x64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/sunos-x64@npm:0.24.0" +"@esbuild/sunos-x64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/sunos-x64@npm:0.24.2" conditions: os=sunos & cpu=x64 languageName: node linkType: hard @@ -2321,9 +2123,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/win32-arm64@npm:0.24.0" +"@esbuild/win32-arm64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/win32-arm64@npm:0.24.2" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -2335,9 +2137,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/win32-ia32@npm:0.24.0" +"@esbuild/win32-ia32@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/win32-ia32@npm:0.24.2" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard @@ -2349,9 +2151,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-x64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/win32-x64@npm:0.24.0" +"@esbuild/win32-x64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/win32-x64@npm:0.24.2" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -2367,39 +2169,34 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:4.11.1": - version: 4.11.1 - resolution: "@eslint-community/regexpp@npm:4.11.1" - checksum: 10/934b6d3588c7f16b18d41efec4fdb89616c440b7e3256b8cb92cfd31ae12908600f2b986d6c1e61a84cbc10256b1dd3448cd1eec79904bd67ac365d0f1aba2e2 - languageName: node - linkType: hard - -"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.12.1, @eslint-community/regexpp@npm:^4.8.0": +"@eslint-community/regexpp@npm:4.12.1, @eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.12.1, @eslint-community/regexpp@npm:^4.8.0": version: 4.12.1 resolution: "@eslint-community/regexpp@npm:4.12.1" checksum: 10/c08f1dd7dd18fbb60bdd0d85820656d1374dd898af9be7f82cb00451313402a22d5e30569c150315b4385907cdbca78c22389b2a72ab78883b3173be317620cc languageName: node linkType: hard -"@eslint/config-array@npm:^0.18.0": - version: 0.18.0 - resolution: "@eslint/config-array@npm:0.18.0" +"@eslint/config-array@npm:^0.19.0": + version: 0.19.1 + resolution: "@eslint/config-array@npm:0.19.1" dependencies: - "@eslint/object-schema": "npm:^2.1.4" + "@eslint/object-schema": "npm:^2.1.5" debug: "npm:^4.3.1" minimatch: "npm:^3.1.2" - checksum: 10/60ccad1eb4806710b085cd739568ec7afd289ee5af6ca0383f0876f9fe375559ef525f7b3f86bdb3f961493de952f2cf3ab4aa4a6ccaef0ae3cd688267cabcb3 + checksum: 10/1243b01f463de85c970c18f0994f9d1850dafe8cc8c910edb64105d845edd3cacaa0bbf028bf35a6daaf5a179021140b6a8b1dc7a2f915b42c2d35f022a9c201 languageName: node linkType: hard -"@eslint/core@npm:^0.7.0": - version: 0.7.0 - resolution: "@eslint/core@npm:0.7.0" - checksum: 10/69227f33fddd9b402b7b0830732a6e84cae77d202cb5b56f0dbcc462882e07d00e80216b796cf2f243f5b775af3ef27545a0c439d78e66122eab71da4773b81c +"@eslint/core@npm:^0.9.0": + version: 0.9.1 + resolution: "@eslint/core@npm:0.9.1" + dependencies: + "@types/json-schema": "npm:^7.0.15" + checksum: 10/f2263f8f94fdf84fc34573e027de98f1fce6287120513ae672ddf0652c75b9fa77c314d565628fc58e0a6f959766acc34c8191f9b94f1757b910408ffa04adde languageName: node linkType: hard -"@eslint/eslintrc@npm:^3.1.0": +"@eslint/eslintrc@npm:^3.2.0": version: 3.2.0 resolution: "@eslint/eslintrc@npm:3.2.0" dependencies: @@ -2416,36 +2213,36 @@ __metadata: languageName: node linkType: hard -"@eslint/js@npm:9.14.0": - version: 9.14.0 - resolution: "@eslint/js@npm:9.14.0" - checksum: 10/897e26bd68f898e56e96f85c92a1d823ef3d9f34e17d88d0ff40e88882ddae28d2f35915150c21cf640e0c64cb23703d0fbe6f7c9b9d6328aabe58ca30d9b4fe +"@eslint/js@npm:9.17.0": + version: 9.17.0 + resolution: "@eslint/js@npm:9.17.0" + checksum: 10/1a89e62f5c50e75d44565b7f3b91701455a999132c991e10bac59c118fbb54bdd54be22b9bda1ac730f78a2e64604403d65ce5dd7726d80b2632982cfc3d84ac languageName: node linkType: hard -"@eslint/json@npm:^0.6.0": - version: 0.6.0 - resolution: "@eslint/json@npm:0.6.0" +"@eslint/json@npm:^0.9.0": + version: 0.9.0 + resolution: "@eslint/json@npm:0.9.0" dependencies: - "@eslint/plugin-kit": "npm:^0.2.0" - "@humanwhocodes/momoa": "npm:^3.3.0" - checksum: 10/51b688b72dc7447b7cec6372824ce139dfb0a9da3de9ecb03fc3a7937d393e399c042ad98e7e3c3334e9e0d9a3bc6ea07115da430448640bbbeb5669d92b5803 + "@eslint/plugin-kit": "npm:^0.2.3" + "@humanwhocodes/momoa": "npm:^3.3.4" + checksum: 10/c81bb99c8f894c25e42da1383cabfc9fc02be25b9c82f614217b742a30570c4185ceb1b8f83112ef5729975dd178856b12dbd8607c55445dd12f1e447c1160a0 languageName: node linkType: hard -"@eslint/object-schema@npm:^2.1.4": - version: 2.1.4 - resolution: "@eslint/object-schema@npm:2.1.4" - checksum: 10/221e8d9f281c605948cd6e030874aacce83fe097f8f9c1964787037bccf08e82b7aa9eff1850a30fffac43f1d76555727ec22a2af479d91e268e89d1e035131e +"@eslint/object-schema@npm:^2.1.5": + version: 2.1.5 + resolution: "@eslint/object-schema@npm:2.1.5" + checksum: 10/bb07ec53357047f20de923bcd61f0306d9eee83ef41daa32e633e154a44796b5bd94670169eccb8fd8cb4ff42228a43b86953a6321f789f98194baba8207b640 languageName: node linkType: hard -"@eslint/plugin-kit@npm:^0.2.0": - version: 0.2.3 - resolution: "@eslint/plugin-kit@npm:0.2.3" +"@eslint/plugin-kit@npm:^0.2.3": + version: 0.2.4 + resolution: "@eslint/plugin-kit@npm:0.2.4" dependencies: levn: "npm:^0.4.1" - checksum: 10/0d0653ef840823fd5c0354ef8f1937e7763dbe830173eb6d2d55a19374bf04a06dff0e5214330c10a9425cf38655f632bb0d7d0666249b366e506ae291d82f7e + checksum: 10/e34d02ea1dccd716e51369620263a4b2167aff3c0510ed776e21336cc3ad7158087449a76931baf07cdc33810cb6919db375f2e9f409435d2c6e0dd5f4786b25 languageName: node linkType: hard @@ -2572,16 +2369,16 @@ __metadata: languageName: node linkType: hard -"@firebase/app-compat@npm:0.2.46, @firebase/app-compat@npm:^0.2.46": - version: 0.2.46 - resolution: "@firebase/app-compat@npm:0.2.46" +"@firebase/app-compat@npm:0.2.47, @firebase/app-compat@npm:^0.2.47": + version: 0.2.47 + resolution: "@firebase/app-compat@npm:0.2.47" dependencies: - "@firebase/app": "npm:0.10.16" + "@firebase/app": "npm:0.10.17" "@firebase/component": "npm:0.6.11" "@firebase/logger": "npm:0.4.4" "@firebase/util": "npm:1.10.2" tslib: "npm:^2.1.0" - checksum: 10/0f2ec7bab69a05799cd546edf60c5192744e32765519de727ef56523c4359077893085e626823e371943154d86ee72c3dad8f78167c62aaa8a25e6ed84c48d91 + checksum: 10/9162f9c991334c5ce4dca96855b85905de9cfc1da756bc459bf444d596a6501bab4e6b01a1f7c3c444dc22c10da087699fccc3904c9c9641896a1aabbca2e858 languageName: node linkType: hard @@ -2592,16 +2389,16 @@ __metadata: languageName: node linkType: hard -"@firebase/app@npm:0.10.16, @firebase/app@npm:^0.10.16": - version: 0.10.16 - resolution: "@firebase/app@npm:0.10.16" +"@firebase/app@npm:0.10.17, @firebase/app@npm:^0.10.17": + version: 0.10.17 + resolution: "@firebase/app@npm:0.10.17" dependencies: "@firebase/component": "npm:0.6.11" "@firebase/logger": "npm:0.4.4" "@firebase/util": "npm:1.10.2" idb: "npm:7.1.1" tslib: "npm:^2.1.0" - checksum: 10/8c41d3d6cf9714af6add02b62b790c9645cb6090f30b24ecb951d4d36eb2ab5c4cff541963b11b2d2b72ed0440b864f06b619ef103fa3eeb173bdc881b1d44d6 + checksum: 10/399087eeeafca308f5440c47a34046a3e49384e431a4c07f655f2a541aeaf04f6006b159ae05c99f37e115ae969c569d7a8e50267ed7e2c55dd68bbd048b16d7 languageName: node linkType: hard @@ -2665,9 +2462,9 @@ __metadata: languageName: node linkType: hard -"@firebase/data-connect@npm:0.1.2": - version: 0.1.2 - resolution: "@firebase/data-connect@npm:0.1.2" +"@firebase/data-connect@npm:0.1.3": + version: 0.1.3 + resolution: "@firebase/data-connect@npm:0.1.3" dependencies: "@firebase/auth-interop-types": "npm:0.2.4" "@firebase/component": "npm:0.6.11" @@ -2676,7 +2473,7 @@ __metadata: tslib: "npm:^2.1.0" peerDependencies: "@firebase/app": 0.x - checksum: 10/d3cd9cf2ffeaba22dc42b4add4adbed45cf59ffe1ccdced953384912db82e07e06dd9e7bcd53fe1d568e8bb8152c7bbc6e8b32ee5325c2d8863f48e582c72307 + checksum: 10/8cb2b00971c5e04ba003eb8718584d817ec23c3bcdbb1820aeb08159bd3aa638689aa7b3e1b24192c4052e0a0a4bfffd11bcd2f69925609ae285991243decd44 languageName: node linkType: hard @@ -2761,18 +2558,18 @@ __metadata: languageName: node linkType: hard -"@firebase/functions-compat@npm:0.3.16": - version: 0.3.16 - resolution: "@firebase/functions-compat@npm:0.3.16" +"@firebase/functions-compat@npm:0.3.17": + version: 0.3.17 + resolution: "@firebase/functions-compat@npm:0.3.17" dependencies: "@firebase/component": "npm:0.6.11" - "@firebase/functions": "npm:0.11.10" + "@firebase/functions": "npm:0.12.0" "@firebase/functions-types": "npm:0.6.3" "@firebase/util": "npm:1.10.2" tslib: "npm:^2.1.0" peerDependencies: "@firebase/app-compat": 0.x - checksum: 10/d2a20c8146fc16c127bb649e9a15dba1ab95a67041e09c47ee0796129eac5991348c0083f79d647a45acfc6c91285f37d2a25ae30493a198f7fe00138902a164 + checksum: 10/435f6f5c2f2fd31932ceee3b23f385d4a48459bfff8559c16caf3f40090d67421dacebacb0e6bec67ee105448f6b586712103423ecab1933c2dd5e73cf9e8994 languageName: node linkType: hard @@ -2783,9 +2580,9 @@ __metadata: languageName: node linkType: hard -"@firebase/functions@npm:0.11.10": - version: 0.11.10 - resolution: "@firebase/functions@npm:0.11.10" +"@firebase/functions@npm:0.12.0": + version: 0.12.0 + resolution: "@firebase/functions@npm:0.12.0" dependencies: "@firebase/app-check-interop-types": "npm:0.3.3" "@firebase/auth-interop-types": "npm:0.2.4" @@ -2795,7 +2592,7 @@ __metadata: tslib: "npm:^2.1.0" peerDependencies: "@firebase/app": 0.x - checksum: 10/d85cfba698e69000cb32e42576a17cff598748ff8aa25bb774e8b4b746f60e1f6574d27942692bb3a51b276602f8ac39a411f156ff9bd35b0ff5b85c23f9e405 + checksum: 10/1d9c2a17d3c4be52ca2678a1ab36be5e9bab8a4a40660996312e22cdcde0c4d25f9830c4f00a8896d378f23cd78907d824805293d3a9a14f8f81557c3903cacd languageName: node linkType: hard @@ -2846,17 +2643,17 @@ __metadata: languageName: node linkType: hard -"@firebase/messaging-compat@npm:0.2.14": - version: 0.2.14 - resolution: "@firebase/messaging-compat@npm:0.2.14" +"@firebase/messaging-compat@npm:0.2.15": + version: 0.2.15 + resolution: "@firebase/messaging-compat@npm:0.2.15" dependencies: "@firebase/component": "npm:0.6.11" - "@firebase/messaging": "npm:0.12.14" + "@firebase/messaging": "npm:0.12.15" "@firebase/util": "npm:1.10.2" tslib: "npm:^2.1.0" peerDependencies: "@firebase/app-compat": 0.x - checksum: 10/b8e05546e7dea6061a02b087058f6e487346e17a459dab0cd07df936a5e8da0ca8a11cb60eb24001b190aa5f7a859f6e9d3d64a250ec2443139bc2de736df9be + checksum: 10/1899d40fef5f2221276a835c5b7cf14eb4d47c3b98952f5d57aa2e51353473fb2de14faf6cb0fa08e4ff1e2f675e5aabb59a42f53fa34c618c0b878a42a02e66 languageName: node linkType: hard @@ -2867,9 +2664,9 @@ __metadata: languageName: node linkType: hard -"@firebase/messaging@npm:0.12.14": - version: 0.12.14 - resolution: "@firebase/messaging@npm:0.12.14" +"@firebase/messaging@npm:0.12.15": + version: 0.12.15 + resolution: "@firebase/messaging@npm:0.12.15" dependencies: "@firebase/component": "npm:0.6.11" "@firebase/installations": "npm:0.6.11" @@ -2879,7 +2676,7 @@ __metadata: tslib: "npm:^2.1.0" peerDependencies: "@firebase/app": 0.x - checksum: 10/d86925daacd94bc4aae590cebda0df031fe08980562828ee9d3ff678a4d832dbe2849214faba69d2e3bad33ca741214ee334e16b757f1bf2f46c59d7b6665f13 + checksum: 10/29daf4f8d970b3893b234c4a38dff22233ac8d541c940de737803e5ff5a1da84271b96f5ab142fd8c7ae0afb95df2d4939c294dccc99ac7ebf9343827097fe0a languageName: node linkType: hard @@ -3015,9 +2812,9 @@ __metadata: languageName: node linkType: hard -"@firebase/vertexai@npm:1.0.1": - version: 1.0.1 - resolution: "@firebase/vertexai@npm:1.0.1" +"@firebase/vertexai@npm:1.0.2": + version: 1.0.2 + resolution: "@firebase/vertexai@npm:1.0.2" dependencies: "@firebase/app-check-interop-types": "npm:0.3.3" "@firebase/component": "npm:0.6.11" @@ -3027,7 +2824,7 @@ __metadata: peerDependencies: "@firebase/app": 0.x "@firebase/app-types": 0.x - checksum: 10/d2a8a365c578c9fe33a3f1e412b4157cf9b8b0c092809d0cb96056a99f6567848fdf35c721946f17a7f2d189f1835c331d3ba03f1976d8baa07c67e162571cbc + checksum: 10/637916b2398a23d0de2ab2252297b4a4907f52880d51acf5c997b8f0c2ee002e36423169b25fd57e4f1253b775503a1a862254f7b8b3fac3b72cbf4d34311621 languageName: node linkType: hard @@ -3097,10 +2894,10 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/momoa@npm:^3.3.0": - version: 3.3.3 - resolution: "@humanwhocodes/momoa@npm:3.3.3" - checksum: 10/ad7202b0f94cecb12c08e9b557dc749d90123f423e6af7f435748bd6d5fef2c2a943213fb4249d375ecae4703620762a8651ba72edaa0d151e14532f384818a8 +"@humanwhocodes/momoa@npm:^3.3.4": + version: 3.3.5 + resolution: "@humanwhocodes/momoa@npm:3.3.5" + checksum: 10/c907bb9f60464485c2f0cb7248acde19ac2cf48781bddd02f19e7a7571d2d977e59891ca456392d975ae051245d0466447e4104e412ed9186adbe2bb1fb7e544 languageName: node linkType: hard @@ -3111,7 +2908,7 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/retry@npm:^0.4.0": +"@humanwhocodes/retry@npm:^0.4.1": version: 0.4.1 resolution: "@humanwhocodes/retry@npm:0.4.1" checksum: 10/39fafc7319e88f61befebd5e1b4f0136534ea6a9bd10d74366698187bd63544210ec5d79a87ed4d91297f1cc64c4c53d45fb0077a2abfdce212cf0d3862d5f04 @@ -3132,6 +2929,13 @@ __metadata: languageName: node linkType: hard +"@istanbuljs/schema@npm:^0.1.2": + version: 0.1.3 + resolution: "@istanbuljs/schema@npm:0.1.3" + checksum: 10/a9b1e49acdf5efc2f5b2359f2df7f90c5c725f2656f16099e8b2cd3a000619ecca9fc48cf693ba789cf0fd989f6e0df6a22bc05574be4223ecdbb7997d04384b + languageName: node + linkType: hard + "@jridgewell/gen-mapping@npm:^0.3.2, @jridgewell/gen-mapping@npm:^0.3.5": version: 0.3.5 resolution: "@jridgewell/gen-mapping@npm:0.3.5" @@ -3174,7 +2978,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": +"@jridgewell/trace-mapping@npm:^0.3.23, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": version: 0.3.25 resolution: "@jridgewell/trace-mapping@npm:0.3.25" dependencies: @@ -3242,26 +3046,26 @@ __metadata: languageName: node linkType: hard -"@metamask/json-rpc-engine@npm:^10.0.1": - version: 10.0.1 - resolution: "@metamask/json-rpc-engine@npm:10.0.1" +"@metamask/json-rpc-engine@npm:^10.0.2": + version: 10.0.2 + resolution: "@metamask/json-rpc-engine@npm:10.0.2" dependencies: - "@metamask/rpc-errors": "npm:^7.0.1" + "@metamask/rpc-errors": "npm:^7.0.2" "@metamask/safe-event-emitter": "npm:^3.0.0" - "@metamask/utils": "npm:^10.0.0" - checksum: 10/15a8eeab9af39b9ed87311da728e81169484ace733a8ef9fc469bd887654e37afa19f9e5228246dc80daad3fbf9b16067e73b2969d37d44acf5bc6ffa2c70082 + "@metamask/utils": "npm:^11.0.1" + checksum: 10/479e4c36ee10ecaa9b26bf8aaea375f7dbe68b5379fabc0f78ac087e310d0040b0e7a2d55eccebd820089404a2170f498c4e2b82eb7f0d34c5becbd811340d49 languageName: node linkType: hard -"@metamask/json-rpc-middleware-stream@npm:^8.0.5": - version: 8.0.5 - resolution: "@metamask/json-rpc-middleware-stream@npm:8.0.5" +"@metamask/json-rpc-middleware-stream@npm:^8.0.6": + version: 8.0.6 + resolution: "@metamask/json-rpc-middleware-stream@npm:8.0.6" dependencies: - "@metamask/json-rpc-engine": "npm:^10.0.1" + "@metamask/json-rpc-engine": "npm:^10.0.2" "@metamask/safe-event-emitter": "npm:^3.0.0" - "@metamask/utils": "npm:^10.0.0" + "@metamask/utils": "npm:^11.0.1" readable-stream: "npm:^3.6.2" - checksum: 10/486a4c64d445dc7ac7927ac5b9d01818ecef3fbb23d17eadada4748ed6cae9e259741e3c9380829b04a5c141d0972384647aedfde906dc83501b9d7f700ed621 + checksum: 10/4df2ddf068ee935b5ea29b833df243ee43e0a17ea0151bc312d4eaeec541612f7416761be2b66f316c0b12f577f0257831b83844f6b9addbaf5fe9d9c5638262 languageName: node linkType: hard @@ -3275,16 +3079,16 @@ __metadata: languageName: node linkType: hard -"@metamask/providers@npm:^18.2.0": - version: 18.2.0 - resolution: "@metamask/providers@npm:18.2.0" +"@metamask/providers@npm:^18.3.1": + version: 18.3.1 + resolution: "@metamask/providers@npm:18.3.1" dependencies: - "@metamask/json-rpc-engine": "npm:^10.0.1" - "@metamask/json-rpc-middleware-stream": "npm:^8.0.5" + "@metamask/json-rpc-engine": "npm:^10.0.2" + "@metamask/json-rpc-middleware-stream": "npm:^8.0.6" "@metamask/object-multiplex": "npm:^2.0.0" - "@metamask/rpc-errors": "npm:^7.0.1" + "@metamask/rpc-errors": "npm:^7.0.2" "@metamask/safe-event-emitter": "npm:^3.1.1" - "@metamask/utils": "npm:^10.0.0" + "@metamask/utils": "npm:^11.0.1" detect-browser: "npm:^5.2.0" extension-port-stream: "npm:^4.1.0" fast-deep-equal: "npm:^3.1.3" @@ -3292,17 +3096,17 @@ __metadata: readable-stream: "npm:^3.6.2" peerDependencies: webextension-polyfill: ^0.10.0 || ^0.11.0 || ^0.12.0 - checksum: 10/d808f14fc5cf6e240abec61c6b0cb93c0a1d883078ee3d005b9cd49c44e65767a4227d828b19c31500da8e94d85c3632d6957ab35da20b250f6f3a52746ed6b3 + checksum: 10/0e21ba9cce926a49dedbfe30fc964cd2349ee6bf9156f525fb894dcbc147a3ae480384884131a6b1a0a508989b547d8c8d2aeb3d10e11f67a8ee5230c45631a8 languageName: node linkType: hard -"@metamask/rpc-errors@npm:^7.0.1": - version: 7.0.1 - resolution: "@metamask/rpc-errors@npm:7.0.1" +"@metamask/rpc-errors@npm:^7.0.2": + version: 7.0.2 + resolution: "@metamask/rpc-errors@npm:7.0.2" dependencies: - "@metamask/utils": "npm:^10.0.0" + "@metamask/utils": "npm:^11.0.1" fast-safe-stringify: "npm:^2.0.6" - checksum: 10/819708b4a7d9695ee67fd867d8f94bb5a273b479a242b17bd53c83d1fceec421fc42928f0bb340f4f138ec803dd82ec9659ce7b09a86aedad6a81d5a39ec5c35 + checksum: 10/daf77a48b3f970585ef1f2efe3383d620fd4bffb550e8c6378b04a052f6948724a0b7e8a3e45b8b73298c70c4b9594b71fe0272664ea99620fe36e23443f8545 languageName: node linkType: hard @@ -3320,9 +3124,9 @@ __metadata: languageName: node linkType: hard -"@metamask/utils@npm:^10.0.0": - version: 10.0.1 - resolution: "@metamask/utils@npm:10.0.1" +"@metamask/utils@npm:^11.0.1": + version: 11.0.1 + resolution: "@metamask/utils@npm:11.0.1" dependencies: "@ethereumjs/tx": "npm:^4.2.0" "@metamask/superstruct": "npm:^3.1.0" @@ -3333,7 +3137,7 @@ __metadata: pony-cause: "npm:^2.1.10" semver: "npm:^7.5.4" uuid: "npm:^9.0.1" - checksum: 10/c8e3d7578d05a1da4abb6c6712ec78ef6990801269f6529f4bb237b7d6e228d10a40738ccab81ad554f2fd51670267d086dc5be1a31c6d1f7040d4c0469d9d13 + checksum: 10/3949d16c8021bfb5f70e3b1c99f097ffaf43158116734197b039b32be6aabecb12178deb62c0b182e45295b0865618636324020059821c5b053029d8bdc90d70 languageName: node linkType: hard @@ -3521,9 +3325,9 @@ __metadata: languageName: node linkType: hard -"@rollup/plugin-commonjs@npm:^28.0.1": - version: 28.0.1 - resolution: "@rollup/plugin-commonjs@npm:28.0.1" +"@rollup/plugin-commonjs@npm:^28.0.2": + version: 28.0.2 + resolution: "@rollup/plugin-commonjs@npm:28.0.2" dependencies: "@rollup/pluginutils": "npm:^5.0.1" commondir: "npm:^1.0.1" @@ -3537,7 +3341,7 @@ __metadata: peerDependenciesMeta: rollup: optional: true - checksum: 10/e01d26ce411cec587eeac805aaa181f042a30bac1cf7f714b65028ed2abab7907d67de835e3fe99fd38f26eee17a60373d5c37518b29829de79b7c1b24a29e0d + checksum: 10/07365e28628e65bacae714dc6ebfbadaa11bdd8291ec27f6633bf5a20f73faa9e6b4b0c6f65a05e3deac0d42f61c83174f8d5a38e4cb93e83112a1fca4d60a09 languageName: node linkType: hard @@ -3555,9 +3359,9 @@ __metadata: languageName: node linkType: hard -"@rollup/plugin-typescript@npm:^12.1.1": - version: 12.1.1 - resolution: "@rollup/plugin-typescript@npm:12.1.1" +"@rollup/plugin-typescript@npm:^12.1.2": + version: 12.1.2 + resolution: "@rollup/plugin-typescript@npm:12.1.2" dependencies: "@rollup/pluginutils": "npm:^5.1.0" resolve: "npm:^1.22.1" @@ -3570,7 +3374,7 @@ __metadata: optional: true tslib: optional: true - checksum: 10/838d5e67d1b383154fab7ae1b0c58e91844c70380210b12c1d5f2ed5d2264d4fbd21ff991a13a4a72078dce897b5c482c70554a21671269219aa9d2525f14dcd + checksum: 10/1fd201b9430125686bcdb3eecfa4f8d9d5005a9d454f2d733c0fdc0f58e28f772209ecbfe4f5d1a42a2a7ac25746a5f37d15897d695326eaea0fe3a30857375d languageName: node linkType: hard @@ -3590,139 +3394,139 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.27.4" +"@rollup/rollup-android-arm-eabi@npm:4.28.1": + version: 4.28.1 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.28.1" conditions: os=android & cpu=arm languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-android-arm64@npm:4.27.4" +"@rollup/rollup-android-arm64@npm:4.28.1": + version: 4.28.1 + resolution: "@rollup/rollup-android-arm64@npm:4.28.1" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-darwin-arm64@npm:4.27.4" +"@rollup/rollup-darwin-arm64@npm:4.28.1": + version: 4.28.1 + resolution: "@rollup/rollup-darwin-arm64@npm:4.28.1" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-darwin-x64@npm:4.27.4" +"@rollup/rollup-darwin-x64@npm:4.28.1": + version: 4.28.1 + resolution: "@rollup/rollup-darwin-x64@npm:4.28.1" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-freebsd-arm64@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-freebsd-arm64@npm:4.27.4" +"@rollup/rollup-freebsd-arm64@npm:4.28.1": + version: 4.28.1 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.28.1" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-freebsd-x64@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-freebsd-x64@npm:4.27.4" +"@rollup/rollup-freebsd-x64@npm:4.28.1": + version: 4.28.1 + resolution: "@rollup/rollup-freebsd-x64@npm:4.28.1" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.27.4" +"@rollup/rollup-linux-arm-gnueabihf@npm:4.28.1": + version: 4.28.1 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.28.1" conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm-musleabihf@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.27.4" +"@rollup/rollup-linux-arm-musleabihf@npm:4.28.1": + version: 4.28.1 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.28.1" conditions: os=linux & cpu=arm & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.27.4" +"@rollup/rollup-linux-arm64-gnu@npm:4.28.1": + version: 4.28.1 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.28.1" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.27.4" +"@rollup/rollup-linux-arm64-musl@npm:4.28.1": + version: 4.28.1 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.28.1" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-powerpc64le-gnu@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.27.4" +"@rollup/rollup-linux-loongarch64-gnu@npm:4.28.1": + version: 4.28.1 + resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.28.1" + conditions: os=linux & cpu=loong64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-powerpc64le-gnu@npm:4.28.1": + version: 4.28.1 + resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.28.1" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.27.4" +"@rollup/rollup-linux-riscv64-gnu@npm:4.28.1": + version: 4.28.1 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.28.1" conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.27.4" +"@rollup/rollup-linux-s390x-gnu@npm:4.28.1": + version: 4.28.1 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.28.1" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.27.4" +"@rollup/rollup-linux-x64-gnu@npm:4.28.1": + version: 4.28.1 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.28.1" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.27.4" +"@rollup/rollup-linux-x64-musl@npm:4.28.1": + version: 4.28.1 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.28.1" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.27.4" +"@rollup/rollup-win32-arm64-msvc@npm:4.28.1": + version: 4.28.1 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.28.1" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.27.4" +"@rollup/rollup-win32-ia32-msvc@npm:4.28.1": + version: 4.28.1 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.28.1" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.27.4" +"@rollup/rollup-win32-x64-msvc@npm:4.28.1": + version: 4.28.1 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.28.1" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@rtsao/scc@npm:^1.1.0": - version: 1.1.0 - resolution: "@rtsao/scc@npm:1.1.0" - checksum: 10/17d04adf404e04c1e61391ed97bca5117d4c2767a76ae3e879390d6dec7b317fcae68afbf9e98badee075d0b64fa60f287729c4942021b4d19cd01db77385c01 - languageName: node - linkType: hard - "@scure/base@npm:^1.1.3, @scure/base@npm:^1.2.1, @scure/base@npm:~1.2.1": version: 1.2.1 resolution: "@scure/base@npm:1.2.1" @@ -3768,41 +3572,6 @@ __metadata: languageName: node linkType: hard -"@shikijs/core@npm:1.23.1": - version: 1.23.1 - resolution: "@shikijs/core@npm:1.23.1" - dependencies: - "@shikijs/engine-javascript": "npm:1.23.1" - "@shikijs/engine-oniguruma": "npm:1.23.1" - "@shikijs/types": "npm:1.23.1" - "@shikijs/vscode-textmate": "npm:^9.3.0" - "@types/hast": "npm:^3.0.4" - hast-util-to-html: "npm:^9.0.3" - checksum: 10/0474253945faf16a2ba30cb92e57d737cb75b2c476f2cbfe0a9ac26061968f5a2b0dbad3367c8b6cfba69b19a5b2533168b4d8f940f0ae097839d9558fbeb3e2 - languageName: node - linkType: hard - -"@shikijs/engine-javascript@npm:1.23.1": - version: 1.23.1 - resolution: "@shikijs/engine-javascript@npm:1.23.1" - dependencies: - "@shikijs/types": "npm:1.23.1" - "@shikijs/vscode-textmate": "npm:^9.3.0" - oniguruma-to-es: "npm:0.4.1" - checksum: 10/e36e214c5f4df9629b5c5134875fe8c16f80c9b742a36c62fc28402a13b7daf673548e0ecc74accd71cf0a7cb22d6de0cc5a0cc8b95f828b9d149a500b15138f - languageName: node - linkType: hard - -"@shikijs/engine-oniguruma@npm:1.23.1": - version: 1.23.1 - resolution: "@shikijs/engine-oniguruma@npm:1.23.1" - dependencies: - "@shikijs/types": "npm:1.23.1" - "@shikijs/vscode-textmate": "npm:^9.3.0" - checksum: 10/aefa6f09aa14fc434318e99de315d404f93505df02fd8c855311396017c877b82cad52fb169f9f69c3166402f5f7602f9c114fa4885a8a53196dfabe2d7332de - languageName: node - linkType: hard - "@shikijs/engine-oniguruma@npm:^1.24.0": version: 1.24.0 resolution: "@shikijs/engine-oniguruma@npm:1.24.0" @@ -3813,16 +3582,6 @@ __metadata: languageName: node linkType: hard -"@shikijs/types@npm:1.23.1": - version: 1.23.1 - resolution: "@shikijs/types@npm:1.23.1" - dependencies: - "@shikijs/vscode-textmate": "npm:^9.3.0" - "@types/hast": "npm:^3.0.4" - checksum: 10/4c11732f26e5940f56227c7b4bd81f8dd85f5e2abb8f3e6f1da22976d3b3d55fd34a2b5379077c108051dc2fae3a1b4d20815c6c545360cacce4f706172f5302 - languageName: node - linkType: hard - "@shikijs/types@npm:1.24.0, @shikijs/types@npm:^1.24.0": version: 1.24.0 resolution: "@shikijs/types@npm:1.24.0" @@ -4331,9 +4090,9 @@ __metadata: languageName: node linkType: hard -"@stylistic/eslint-plugin@npm:^2.10.1, @stylistic/eslint-plugin@npm:^2.11.0": - version: 2.11.0 - resolution: "@stylistic/eslint-plugin@npm:2.11.0" +"@stylistic/eslint-plugin@npm:^2.12.1": + version: 2.12.1 + resolution: "@stylistic/eslint-plugin@npm:2.12.1" dependencies: "@typescript-eslint/utils": "npm:^8.13.0" eslint-visitor-keys: "npm:^4.2.0" @@ -4342,94 +4101,94 @@ __metadata: picomatch: "npm:^4.0.2" peerDependencies: eslint: ">=8.40.0" - checksum: 10/b39b22465d5d92e2e645fdd8c771617536047106343fe00af5b551698da5f569c6c8b32a7f6abf2c727b0ebd942e4667b60fea46e520392784d4976062da697d + checksum: 10/acc6a7b7cddbd7b26a32b9aded5a49193b6e7df61169845a4130d60ce38a171b8a25365b2e500d8560d29d040d5850ddaa26150a65c22213891696652f0b8d91 languageName: node linkType: hard -"@swc/core-darwin-arm64@npm:1.10.0": - version: 1.10.0 - resolution: "@swc/core-darwin-arm64@npm:1.10.0" +"@swc/core-darwin-arm64@npm:1.10.1": + version: 1.10.1 + resolution: "@swc/core-darwin-arm64@npm:1.10.1" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@swc/core-darwin-x64@npm:1.10.0": - version: 1.10.0 - resolution: "@swc/core-darwin-x64@npm:1.10.0" +"@swc/core-darwin-x64@npm:1.10.1": + version: 1.10.1 + resolution: "@swc/core-darwin-x64@npm:1.10.1" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@swc/core-linux-arm-gnueabihf@npm:1.10.0": - version: 1.10.0 - resolution: "@swc/core-linux-arm-gnueabihf@npm:1.10.0" +"@swc/core-linux-arm-gnueabihf@npm:1.10.1": + version: 1.10.1 + resolution: "@swc/core-linux-arm-gnueabihf@npm:1.10.1" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@swc/core-linux-arm64-gnu@npm:1.10.0": - version: 1.10.0 - resolution: "@swc/core-linux-arm64-gnu@npm:1.10.0" +"@swc/core-linux-arm64-gnu@npm:1.10.1": + version: 1.10.1 + resolution: "@swc/core-linux-arm64-gnu@npm:1.10.1" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-arm64-musl@npm:1.10.0": - version: 1.10.0 - resolution: "@swc/core-linux-arm64-musl@npm:1.10.0" +"@swc/core-linux-arm64-musl@npm:1.10.1": + version: 1.10.1 + resolution: "@swc/core-linux-arm64-musl@npm:1.10.1" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@swc/core-linux-x64-gnu@npm:1.10.0": - version: 1.10.0 - resolution: "@swc/core-linux-x64-gnu@npm:1.10.0" +"@swc/core-linux-x64-gnu@npm:1.10.1": + version: 1.10.1 + resolution: "@swc/core-linux-x64-gnu@npm:1.10.1" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-x64-musl@npm:1.10.0": - version: 1.10.0 - resolution: "@swc/core-linux-x64-musl@npm:1.10.0" +"@swc/core-linux-x64-musl@npm:1.10.1": + version: 1.10.1 + resolution: "@swc/core-linux-x64-musl@npm:1.10.1" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@swc/core-win32-arm64-msvc@npm:1.10.0": - version: 1.10.0 - resolution: "@swc/core-win32-arm64-msvc@npm:1.10.0" +"@swc/core-win32-arm64-msvc@npm:1.10.1": + version: 1.10.1 + resolution: "@swc/core-win32-arm64-msvc@npm:1.10.1" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@swc/core-win32-ia32-msvc@npm:1.10.0": - version: 1.10.0 - resolution: "@swc/core-win32-ia32-msvc@npm:1.10.0" +"@swc/core-win32-ia32-msvc@npm:1.10.1": + version: 1.10.1 + resolution: "@swc/core-win32-ia32-msvc@npm:1.10.1" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@swc/core-win32-x64-msvc@npm:1.10.0": - version: 1.10.0 - resolution: "@swc/core-win32-x64-msvc@npm:1.10.0" +"@swc/core-win32-x64-msvc@npm:1.10.1": + version: 1.10.1 + resolution: "@swc/core-win32-x64-msvc@npm:1.10.1" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@swc/core@npm:1.10.0, @swc/core@npm:^1.9.2": - version: 1.10.0 - resolution: "@swc/core@npm:1.10.0" - dependencies: - "@swc/core-darwin-arm64": "npm:1.10.0" - "@swc/core-darwin-x64": "npm:1.10.0" - "@swc/core-linux-arm-gnueabihf": "npm:1.10.0" - "@swc/core-linux-arm64-gnu": "npm:1.10.0" - "@swc/core-linux-arm64-musl": "npm:1.10.0" - "@swc/core-linux-x64-gnu": "npm:1.10.0" - "@swc/core-linux-x64-musl": "npm:1.10.0" - "@swc/core-win32-arm64-msvc": "npm:1.10.0" - "@swc/core-win32-ia32-msvc": "npm:1.10.0" - "@swc/core-win32-x64-msvc": "npm:1.10.0" +"@swc/core@npm:1.10.1, @swc/core@npm:^1.10.1": + version: 1.10.1 + resolution: "@swc/core@npm:1.10.1" + dependencies: + "@swc/core-darwin-arm64": "npm:1.10.1" + "@swc/core-darwin-x64": "npm:1.10.1" + "@swc/core-linux-arm-gnueabihf": "npm:1.10.1" + "@swc/core-linux-arm64-gnu": "npm:1.10.1" + "@swc/core-linux-arm64-musl": "npm:1.10.1" + "@swc/core-linux-x64-gnu": "npm:1.10.1" + "@swc/core-linux-x64-musl": "npm:1.10.1" + "@swc/core-win32-arm64-msvc": "npm:1.10.1" + "@swc/core-win32-ia32-msvc": "npm:1.10.1" + "@swc/core-win32-x64-msvc": "npm:1.10.1" "@swc/counter": "npm:^0.1.3" "@swc/types": "npm:^0.1.17" peerDependencies: @@ -4458,7 +4217,7 @@ __metadata: peerDependenciesMeta: "@swc/helpers": optional: true - checksum: 10/986c85e762c83b6651423bcaa3b8cef78a39993c42f417fa944c95dba239a01ca0fbff26a6b3d55d5abd4aba22d9efb42750ead0abac35abde2211319f0e2b34 + checksum: 10/e9c8a42488db77b3c199d1696d45bb9c7e917267e810c091e5161a7096f3db9c01813ade1e942290285210b4590ec7a00399b2ba3edc4d8cae9b2e824fac7d45 languageName: node linkType: hard @@ -4569,6 +4328,13 @@ __metadata: languageName: node linkType: hard +"@types/doctrine@npm:^0.0.9": + version: 0.0.9 + resolution: "@types/doctrine@npm:0.0.9" + checksum: 10/64ef06e6eea2f4f9684d259fedbcb8bf21c954630b96ea2e04875ca42763552b0ba3b01b3dd27ec0f9ea6f8b3b0dba4965d31d5a925cd4c6225fd13a93ae9354 + languageName: node + linkType: hard + "@types/estree@npm:*, @types/estree@npm:1.0.6, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6": version: 1.0.6 resolution: "@types/estree@npm:1.0.6" @@ -4609,24 +4375,14 @@ __metadata: languageName: node linkType: hard -"@types/geojson@npm:*, @types/geojson@npm:^7946.0.14": - version: 7946.0.14 - resolution: "@types/geojson@npm:7946.0.14" - checksum: 10/ae511bee6488ae3bd5a3a3347aedb0371e997b14225b8983679284e22fa4ebd88627c6e3ff8b08bf4cc35068cb29310c89427311ffc9322c255615821a922e71 - languageName: node - linkType: hard - -"@types/glob@npm:^7.1.1": - version: 7.2.0 - resolution: "@types/glob@npm:7.2.0" - dependencies: - "@types/minimatch": "npm:*" - "@types/node": "npm:*" - checksum: 10/6ae717fedfdfdad25f3d5a568323926c64f52ef35897bcac8aca8e19bc50c0bd84630bbd063e5d52078b2137d8e7d3c26eabebd1a2f03ff350fff8a91e79fc19 +"@types/geojson@npm:*, @types/geojson@npm:^7946.0.15": + version: 7946.0.15 + resolution: "@types/geojson@npm:7946.0.15" + checksum: 10/226d7ab59540632b19f7889c76c4c586a5104c18c43a81f32974aa035eafe557f86bd5a79ca5568bb63cbe5bfa9014c8e9a29cb0bb3d2f0bd71b0cc13ad8ccb3 languageName: node linkType: hard -"@types/hast@npm:^3.0.0, @types/hast@npm:^3.0.4": +"@types/hast@npm:^3.0.4": version: 3.0.4 resolution: "@types/hast@npm:3.0.4" dependencies: @@ -4656,13 +4412,6 @@ __metadata: languageName: node linkType: hard -"@types/json5@npm:^0.0.29": - version: 0.0.29 - resolution: "@types/json5@npm:0.0.29" - checksum: 10/4e5aed58cabb2bbf6f725da13421aa50a49abb6bc17bfab6c31b8774b073fa7b50d557c61f961a09a85f6056151190f8ac95f13f5b48136ba5841f7d4484ec56 - languageName: node - linkType: hard - "@types/jsonpath@npm:^0.2.4": version: 0.2.4 resolution: "@types/jsonpath@npm:0.2.4" @@ -4688,15 +4437,6 @@ __metadata: languageName: node linkType: hard -"@types/mdast@npm:^4.0.0": - version: 4.0.4 - resolution: "@types/mdast@npm:4.0.4" - dependencies: - "@types/unist": "npm:*" - checksum: 10/efe3ec11b9ee0015a396c4fb4cd1b6f31b51b8ae9783c59560e6fc0bf6c2fa1dcc7fccaf45fa09a6c8b3397fab9dc8d431433935cae3835caa70a18f7fc775f8 - languageName: node - linkType: hard - "@types/methods@npm:^1.1.4": version: 1.1.4 resolution: "@types/methods@npm:1.1.4" @@ -4711,13 +4451,6 @@ __metadata: languageName: node linkType: hard -"@types/minimatch@npm:*": - version: 5.1.2 - resolution: "@types/minimatch@npm:5.1.2" - checksum: 10/94db5060d20df2b80d77b74dd384df3115f01889b5b6c40fa2dfa27cfc03a68fb0ff7c1f2a0366070263eb2e9d6bfd8c87111d4bc3ae93c3f291297c1bf56c85 - languageName: node - linkType: hard - "@types/minimatch@npm:^3.0.3": version: 3.0.5 resolution: "@types/minimatch@npm:3.0.5" @@ -4739,12 +4472,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*, @types/node@npm:>=10.0.0, @types/node@npm:>=12.12.47, @types/node@npm:>=13.7.0, @types/node@npm:^22.10.1, @types/node@npm:^22.9.0": - version: 22.10.1 - resolution: "@types/node@npm:22.10.1" +"@types/node@npm:*, @types/node@npm:>=10.0.0, @types/node@npm:>=12.12.47, @types/node@npm:>=13.7.0, @types/node@npm:^22.10.2": + version: 22.10.2 + resolution: "@types/node@npm:22.10.2" dependencies: undici-types: "npm:~6.20.0" - checksum: 10/c802a526da2f3fa3ccefd00a71244e7cb825329951719e79e8fec62b1dbc2855388c830489770611584665ce10be23c05ed585982038b24924e1ba2c2cce03fd + checksum: 10/451adfefed4add58b069407173e616220fd4aaa3307cdde1bb701aa053b65b54ced8483db2f870dcedec7a58cb3b06101fbc19d85852716672ec1fd3660947fa languageName: node linkType: hard @@ -4867,7 +4600,7 @@ __metadata: languageName: node linkType: hard -"@types/unist@npm:*, @types/unist@npm:^3.0.0": +"@types/unist@npm:*": version: 3.0.3 resolution: "@types/unist@npm:3.0.3" checksum: 10/96e6453da9e075aaef1dc22482463898198acdc1eeb99b465e65e34303e2ec1e3b1ed4469a9118275ec284dc98019f63c3f5d49422f0e4ac707e5ab90fb3b71a @@ -4911,231 +4644,141 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:7.16.1": - version: 7.16.1 - resolution: "@typescript-eslint/eslint-plugin@npm:7.16.1" +"@typescript-eslint/eslint-plugin@npm:^8.18.1": + version: 8.18.1 + resolution: "@typescript-eslint/eslint-plugin@npm:8.18.1" dependencies: "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:7.16.1" - "@typescript-eslint/type-utils": "npm:7.16.1" - "@typescript-eslint/utils": "npm:7.16.1" - "@typescript-eslint/visitor-keys": "npm:7.16.1" + "@typescript-eslint/scope-manager": "npm:8.18.1" + "@typescript-eslint/type-utils": "npm:8.18.1" + "@typescript-eslint/utils": "npm:8.18.1" + "@typescript-eslint/visitor-keys": "npm:8.18.1" graphemer: "npm:^1.4.0" ignore: "npm:^5.3.1" natural-compare: "npm:^1.4.0" ts-api-utils: "npm:^1.3.0" peerDependencies: - "@typescript-eslint/parser": ^7.0.0 - eslint: ^8.56.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10/fddbfe461f85d10ee3967b89efa3c704806074af6806833f982915b21754567a98c5a486627174cc6b0ac4cb5f1282865d64ae251a5cbf6dbbbe191d0268520a + "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.8.0" + checksum: 10/ec061a9c64477260d1ef0fc6283d8754838181e17aa90b3b8b9a70936a2ca4bae11607070917a7701e13f5301ced2b6da4b4b6e5cf525c484f97481e540b5111 languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^8.14.0, @typescript-eslint/eslint-plugin@npm:^8.17.0": - version: 8.17.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.17.0" +"@typescript-eslint/parser@npm:^8.18.1": + version: 8.18.1 + resolution: "@typescript-eslint/parser@npm:8.18.1" dependencies: - "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:8.17.0" - "@typescript-eslint/type-utils": "npm:8.17.0" - "@typescript-eslint/utils": "npm:8.17.0" - "@typescript-eslint/visitor-keys": "npm:8.17.0" - graphemer: "npm:^1.4.0" - ignore: "npm:^5.3.1" - natural-compare: "npm:^1.4.0" - ts-api-utils: "npm:^1.3.0" - peerDependencies: - "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0 - eslint: ^8.57.0 || ^9.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10/753630802632dc1bb15d4b86afe60b5280d080cc6715648f6b717093a81d31f8aa621f823d0aa5632d1cf05f3c8f4ea356eff49efd11d9f7c154cb16d2ac2d79 - languageName: node - linkType: hard - -"@typescript-eslint/parser@npm:^8.14.0, @typescript-eslint/parser@npm:^8.17.0": - version: 8.17.0 - resolution: "@typescript-eslint/parser@npm:8.17.0" - dependencies: - "@typescript-eslint/scope-manager": "npm:8.17.0" - "@typescript-eslint/types": "npm:8.17.0" - "@typescript-eslint/typescript-estree": "npm:8.17.0" - "@typescript-eslint/visitor-keys": "npm:8.17.0" + "@typescript-eslint/scope-manager": "npm:8.18.1" + "@typescript-eslint/types": "npm:8.18.1" + "@typescript-eslint/typescript-estree": "npm:8.18.1" + "@typescript-eslint/visitor-keys": "npm:8.18.1" debug: "npm:^4.3.4" peerDependencies: eslint: ^8.57.0 || ^9.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10/464981e1424e4a7849ca7253b54092a67d33130d28ecf492efd56d5ce69e640a876b7f84e59f1e368e763125432c34e7de28d78c0eef1bda4e9a9d52de0ccac5 - languageName: node - linkType: hard - -"@typescript-eslint/scope-manager@npm:7.16.1": - version: 7.16.1 - resolution: "@typescript-eslint/scope-manager@npm:7.16.1" - dependencies: - "@typescript-eslint/types": "npm:7.16.1" - "@typescript-eslint/visitor-keys": "npm:7.16.1" - checksum: 10/57ce02c2624e49988b01666b3e13d1adb44ab78f2dafc47a56800d57bff624779b348928a905393fa5f2cce94a5844173ab81f32b81f0bb2897f10bbaf9cab6a - languageName: node - linkType: hard - -"@typescript-eslint/scope-manager@npm:8.17.0": - version: 8.17.0 - resolution: "@typescript-eslint/scope-manager@npm:8.17.0" - dependencies: - "@typescript-eslint/types": "npm:8.17.0" - "@typescript-eslint/visitor-keys": "npm:8.17.0" - checksum: 10/fa934d9fd88070833c57a3e79c0f933d0b68884c00293a1d571889b882e5c9680ccfdc5c77a7160d5a4b8b46657f93db2468a4726a517fce4d3bc764b66f1995 + typescript: ">=4.8.4 <5.8.0" + checksum: 10/09a601ef8b837962e5bb2687358520f337f9d0bbac5c6d5e159654faa5caaffb24d990e8d6bc4dc51ff5008dd9e182315c35bc5e9e3789090ccef8b8040e7659 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:7.16.1": - version: 7.16.1 - resolution: "@typescript-eslint/type-utils@npm:7.16.1" +"@typescript-eslint/scope-manager@npm:8.18.1, @typescript-eslint/scope-manager@npm:^8.1.0": + version: 8.18.1 + resolution: "@typescript-eslint/scope-manager@npm:8.18.1" dependencies: - "@typescript-eslint/typescript-estree": "npm:7.16.1" - "@typescript-eslint/utils": "npm:7.16.1" - debug: "npm:^4.3.4" - ts-api-utils: "npm:^1.3.0" - peerDependencies: - eslint: ^8.56.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10/38a72a3de8a2c3455d19e6d43e67ac6e1dc23e93b2d84571282b0323fadadcab33df1a89787c76fc99e45514e41a08bc9f5cb51287a7da48f56c64b512a3269b + "@typescript-eslint/types": "npm:8.18.1" + "@typescript-eslint/visitor-keys": "npm:8.18.1" + checksum: 10/14f7c09924c3a006b20752e5204b33c2b6974fc00bea16c23f471e65f2fb089fcbd3fb5296bcfd6727ac95c32ba24ebb15ba84fbf1deadc17b4cc5ca7f41c72a languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.17.0": - version: 8.17.0 - resolution: "@typescript-eslint/type-utils@npm:8.17.0" +"@typescript-eslint/type-utils@npm:8.18.1": + version: 8.18.1 + resolution: "@typescript-eslint/type-utils@npm:8.18.1" dependencies: - "@typescript-eslint/typescript-estree": "npm:8.17.0" - "@typescript-eslint/utils": "npm:8.17.0" + "@typescript-eslint/typescript-estree": "npm:8.18.1" + "@typescript-eslint/utils": "npm:8.18.1" debug: "npm:^4.3.4" ts-api-utils: "npm:^1.3.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10/a755935a0c16d6b9456effb1cad5e9605936e60799b57394cd143620dd862a90bcac12f720a009e32cafdae315fda343252117db4dc83520e0d21f1c28889792 - languageName: node - linkType: hard - -"@typescript-eslint/types@npm:7.16.1": - version: 7.16.1 - resolution: "@typescript-eslint/types@npm:7.16.1" - checksum: 10/cfb48821ffb5a5307e67ce05b9ec2f4775c560dc53011e313d4fa75d033e0130ce0d364ac92ad3634d325c16a889ddc3201e8a742217c73be8d34385da85620b - languageName: node - linkType: hard - -"@typescript-eslint/types@npm:8.17.0": - version: 8.17.0 - resolution: "@typescript-eslint/types@npm:8.17.0" - checksum: 10/46baf69ab30dd814a390590b94ca64c407ac725cb0143590ddcaf72fa43c940cec180539752ce4af26ac7e0ae2f5f921cfd0d07b088ca680f8a28800d4d33a5f + typescript: ">=4.8.4 <5.8.0" + checksum: 10/cde53d05f4ca6e172239918cba2b560b9f837aa1fc7d5220784b1a6af9c8c525db020a5160822087e320305492fe359b7fb191420789b5f1e47a01e0cda21ac9 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:7.16.1": - version: 7.16.1 - resolution: "@typescript-eslint/typescript-estree@npm:7.16.1" - dependencies: - "@typescript-eslint/types": "npm:7.16.1" - "@typescript-eslint/visitor-keys": "npm:7.16.1" - debug: "npm:^4.3.4" - globby: "npm:^11.1.0" - is-glob: "npm:^4.0.3" - minimatch: "npm:^9.0.4" - semver: "npm:^7.6.0" - ts-api-utils: "npm:^1.3.0" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10/7f88176f2d25779ec2d40df4c6bd0a26aa41494ee0302d4895b4d0cb4e284385c1e218ac2ad67ed90b5e1bf82b78b8aa4b903b5906fbf7101b08c409ce778e9c +"@typescript-eslint/types@npm:8.18.1": + version: 8.18.1 + resolution: "@typescript-eslint/types@npm:8.18.1" + checksum: 10/57a6141ba17be929291a644991f3a76f94fce330376f6a079decb20fb53378d636ad6878f8f9b6fcb8244cf1ca8b118f9e8901ae04cf3de2aa9f9ff57791d97a languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.17.0": - version: 8.17.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.17.0" +"@typescript-eslint/typescript-estree@npm:8.18.1": + version: 8.18.1 + resolution: "@typescript-eslint/typescript-estree@npm:8.18.1" dependencies: - "@typescript-eslint/types": "npm:8.17.0" - "@typescript-eslint/visitor-keys": "npm:8.17.0" + "@typescript-eslint/types": "npm:8.18.1" + "@typescript-eslint/visitor-keys": "npm:8.18.1" debug: "npm:^4.3.4" fast-glob: "npm:^3.3.2" is-glob: "npm:^4.0.3" minimatch: "npm:^9.0.4" semver: "npm:^7.6.0" ts-api-utils: "npm:^1.3.0" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10/8a1f8be767b82e75d41eedda7fdb5135787ceaab480671b6d9891b5f92ee3a13f19ad6f48d5abf5e4f2afc4dd3317c621c1935505ef098f22b67be2f9d01ab7b - languageName: node - linkType: hard - -"@typescript-eslint/utils@npm:7.16.1": - version: 7.16.1 - resolution: "@typescript-eslint/utils@npm:7.16.1" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:7.16.1" - "@typescript-eslint/types": "npm:7.16.1" - "@typescript-eslint/typescript-estree": "npm:7.16.1" peerDependencies: - eslint: ^8.56.0 - checksum: 10/b3c279d706ff1b3a0002c8e0f0fcf559b63f4296e218199a25863054bda5b28d5a7ab6ad4ad1d0b7fa2c6cd9f2d0dcd7f784c3f75026fae7b58846695481ec45 + typescript: ">=4.8.4 <5.8.0" + checksum: 10/8ecc1b50b9fc32116eee1b3b00f3fb29cf18026c0bbb50ab5f6e01db58ef62b8ac01824f2950f132479be6e1b82466a2bfd1e2cb4525aa8dbce4c27fc2494cfc languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.17.0, @typescript-eslint/utils@npm:^8.1.0, @typescript-eslint/utils@npm:^8.13.0": - version: 8.17.0 - resolution: "@typescript-eslint/utils@npm:8.17.0" +"@typescript-eslint/utils@npm:8.18.1, @typescript-eslint/utils@npm:^8.1.0, @typescript-eslint/utils@npm:^8.13.0": + version: 8.18.1 + resolution: "@typescript-eslint/utils@npm:8.18.1" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:8.17.0" - "@typescript-eslint/types": "npm:8.17.0" - "@typescript-eslint/typescript-estree": "npm:8.17.0" + "@typescript-eslint/scope-manager": "npm:8.18.1" + "@typescript-eslint/types": "npm:8.18.1" + "@typescript-eslint/typescript-estree": "npm:8.18.1" peerDependencies: eslint: ^8.57.0 || ^9.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10/e82934468bece55ccf633be9f3fe6cae26791fa6488b5af08ea22566f6b32e1296917e46cb1fe39bba7717ebdf0dca49935112760c4439a11af36b3b7925917a - languageName: node - linkType: hard - -"@typescript-eslint/visitor-keys@npm:7.16.1": - version: 7.16.1 - resolution: "@typescript-eslint/visitor-keys@npm:7.16.1" - dependencies: - "@typescript-eslint/types": "npm:7.16.1" - eslint-visitor-keys: "npm:^3.4.3" - checksum: 10/f5088d72b6ca48f4e525b7b5d6c6c9254d0d039d2959fd91200691218e8ac8f3e56287ec8bc411a79609e9d85ed5fc6c4f7d2edd80fadf734aeb6f6bfc833322 + typescript: ">=4.8.4 <5.8.0" + checksum: 10/7b33d2ac273ad606a3dcb776bcf02c901812952550cdc93d4ece272b3b0e5d2a4e05fa92f9bd466f4a296ddd5992902d3b6623aa1c29d09e8e392897103e42a8 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.17.0": - version: 8.17.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.17.0" +"@typescript-eslint/visitor-keys@npm:8.18.1": + version: 8.18.1 + resolution: "@typescript-eslint/visitor-keys@npm:8.18.1" dependencies: - "@typescript-eslint/types": "npm:8.17.0" + "@typescript-eslint/types": "npm:8.18.1" eslint-visitor-keys: "npm:^4.2.0" - checksum: 10/e7a3c3b9430ecefb8e720f735f8a94f87901f055c75dc8eec60052dfdf90cc28dd33f03c11cd8244551dc988bf98d1db9bd09ef8fd3c51236912cab3680b9c6b + checksum: 10/00e88b1640a68c3afea08731395eb09a8216892248fee819cb7526e99093256743239d6b9e880a499f1c0ddfe2ffa4d1ad895d9e778b5d42e702d5880db1a594 languageName: node linkType: hard -"@ungap/structured-clone@npm:^1.0.0": - version: 1.2.0 - resolution: "@ungap/structured-clone@npm:1.2.0" - checksum: 10/c6fe89a505e513a7592e1438280db1c075764793a2397877ff1351721fe8792a966a5359769e30242b3cd023f2efb9e63ca2ca88019d73b564488cc20e3eab12 +"@vitest/coverage-v8@npm:^2.1.8": + version: 2.1.8 + resolution: "@vitest/coverage-v8@npm:2.1.8" + dependencies: + "@ampproject/remapping": "npm:^2.3.0" + "@bcoe/v8-coverage": "npm:^0.2.3" + debug: "npm:^4.3.7" + istanbul-lib-coverage: "npm:^3.2.2" + istanbul-lib-report: "npm:^3.0.1" + istanbul-lib-source-maps: "npm:^5.0.6" + istanbul-reports: "npm:^3.1.7" + magic-string: "npm:^0.30.12" + magicast: "npm:^0.3.5" + std-env: "npm:^3.8.0" + test-exclude: "npm:^7.0.1" + tinyrainbow: "npm:^1.2.0" + peerDependencies: + "@vitest/browser": 2.1.8 + vitest: 2.1.8 + peerDependenciesMeta: + "@vitest/browser": + optional: true + checksum: 10/2e1e7fe2a20c1eec738f6d84d890bed4aa5138094943dd1229962c2c42428a1a517c8a4ad4fb52637d7494f044440e061e9bc5982a83df95223db185d5a28f4d languageName: node linkType: hard @@ -5277,148 +4920,149 @@ __metadata: languageName: node linkType: hard -"@xylabs/array@npm:^4.4.10": - version: 4.4.10 - resolution: "@xylabs/array@npm:4.4.10" +"@xylabs/array@npm:^4.4.25": + version: 4.4.25 + resolution: "@xylabs/array@npm:4.4.25" dependencies: - "@xylabs/exists": "npm:^4.4.10" - checksum: 10/6686f920e5ff96a5fe7ccf93e2f4b1e516e917776658d71776a6f5efcfb462dce8a602959c62f7729a570c59a44306c2710246f7a4e61fe6cffd9a688433a48d + "@xylabs/exists": "npm:^4.4.25" + checksum: 10/1c7478ca85ee3c9248179c0970908f99ff1febc5af9906bc04f445d196b20c468d58fc9167819bb03da2ff1c45852136e85499e55b939261aff8110a864826a3 languageName: node linkType: hard -"@xylabs/arraybuffer@npm:^4.4.10": - version: 4.4.10 - resolution: "@xylabs/arraybuffer@npm:4.4.10" +"@xylabs/arraybuffer@npm:^4.4.25": + version: 4.4.25 + resolution: "@xylabs/arraybuffer@npm:4.4.25" dependencies: "@scure/base": "npm:^1.2.1" - "@xylabs/assert": "npm:^4.4.10" - checksum: 10/af5b591d222f539daffdcd781ae379f61912a00e197cad9cb1bb5541a21bac48e3bd279df14801e570436a67d95718036ffacb4bf89a2e08547c448a8d3ef488 + "@xylabs/assert": "npm:^4.4.25" + checksum: 10/b99f48c03496e7aa918aac2e567fa0a29ac0aaf5dd7f12a134c3458747b8cd44f8cd722d3ac1d52756e9c73ef9e52e09b00e14ca90096ee2124f4faa736491c6 languageName: node linkType: hard -"@xylabs/assert@npm:^4.3.13, @xylabs/assert@npm:^4.4.10": - version: 4.4.10 - resolution: "@xylabs/assert@npm:4.4.10" - checksum: 10/413cfa2c65cae73c64a568b7392b0a48e46b172ff26bfa5fcff20aa7de4cd6b1e4da8d38fc8436972d99299f049f42f239d7c15403165241ce9e21afc6b20929 +"@xylabs/assert@npm:^4.3.13, @xylabs/assert@npm:^4.4.25": + version: 4.4.25 + resolution: "@xylabs/assert@npm:4.4.25" + checksum: 10/94303d33b6662689bcf6165f3120a1f7008f5b8331dac1fc84a4559c5e3841e24a5bca86d143e0bfa736694cc2ba4ca882aaae0f0204f24131ca5a352e6512cd languageName: node linkType: hard -"@xylabs/axios@npm:^4.4.10": - version: 4.4.10 - resolution: "@xylabs/axios@npm:4.4.10" +"@xylabs/axios@npm:^4.4.25": + version: 4.4.25 + resolution: "@xylabs/axios@npm:4.4.25" dependencies: "@types/pako": "npm:^2.0.3" - "@xylabs/logger": "npm:^4.4.10" - axios: "npm:^1.7.8" + "@xylabs/logger": "npm:^4.4.25" + axios: "npm:^1.7.9" pako: "npm:^2.1.0" - checksum: 10/014282cefd7cc32d8180e9c6455e97c4ccbbaf49c5cc9f1ae09b1c1210853df69c36923c221f29cfd6963eead429c9b2a77ea5f807b2d8e4971cabc8a41683a6 + checksum: 10/bfc5854cd0bb2193c8ad89714ddc776fda2eaebf2efd1fc592190c62a65ba02ab91ef2f9ac4b1b8475e210e99a3fad15e385c03cc838953e13eefbad3c52186a languageName: node linkType: hard -"@xylabs/delay@npm:^4.4.10": - version: 4.4.10 - resolution: "@xylabs/delay@npm:4.4.10" +"@xylabs/delay@npm:^4.4.25": + version: 4.4.25 + resolution: "@xylabs/delay@npm:4.4.25" dependencies: - "@xylabs/timer": "npm:^4.4.10" - checksum: 10/ad92cbdd0541b36ee6312c01297c90ca7edbf366a205db9b0fa4b90f403dc90991dfc4fa197a8f0e79546998e401e45eafd6b45d2a3b5466fceb07e4feddee44 + "@xylabs/timer": "npm:^4.4.25" + checksum: 10/1b5c671611f19ff8ed359a3e0c9e00e292603b5444c65cb2c569096d1526dfde3cc9110c8795e232ccd9ac06430ecf00adb2a869c988ab6cf2fd2b0994991e0b languageName: node linkType: hard -"@xylabs/error@npm:^4.4.10": - version: 4.4.10 - resolution: "@xylabs/error@npm:4.4.10" - checksum: 10/3ec5c5d791ef83a23fa0ddcb3d6ea8eab7f5a294617d5e4c87020e9d7ff2a843155ceb82862408167fe0c0f3281d947c4bd68f0910307c42b04527eaee9cc0b1 +"@xylabs/error@npm:^4.4.25": + version: 4.4.25 + resolution: "@xylabs/error@npm:4.4.25" + checksum: 10/991899de5982c3a1b7eca22afaba0509834e8c2c716609761c6b84b315e6ec40e9c0ff1bd5716c9202ae1a2750c4a974d26db2a775b05b9f94d6eeb47893ace9 languageName: node linkType: hard -"@xylabs/eslint-config-flat@npm:^4.2.4": - version: 4.2.4 - resolution: "@xylabs/eslint-config-flat@npm:4.2.4" +"@xylabs/eslint-config-flat@npm:^4.2.6": + version: 4.2.6 + resolution: "@xylabs/eslint-config-flat@npm:4.2.6" dependencies: - "@eslint/json": "npm:^0.6.0" - "@stylistic/eslint-plugin": "npm:^2.10.1" - "@typescript-eslint/eslint-plugin": "npm:^8.14.0" - "@typescript-eslint/parser": "npm:^8.14.0" - eslint: "npm:^9.14.0" + "@eslint/json": "npm:^0.9.0" + "@stylistic/eslint-plugin": "npm:^2.12.1" + "@typescript-eslint/eslint-plugin": "npm:^8.18.1" + "@typescript-eslint/parser": "npm:^8.18.1" + eslint: "npm:^9.17.0" eslint-plugin-depend: "npm:^0.12.0" - eslint-plugin-import-x: "npm:^4.4.2" + eslint-plugin-import-x: "npm:^4.5.1" eslint-plugin-md: "npm:^1.0.19" - eslint-plugin-package-json: "npm:^0.15.6" + eslint-plugin-package-json: "npm:^0.18.0" eslint-plugin-simple-import-sort: "npm:^12.1.1" - eslint-plugin-sonarjs: "npm:^2.0.4" - eslint-plugin-unicorn: "npm:^56.0.0" + eslint-plugin-sonarjs: "npm:^3.0.1" + eslint-plugin-unicorn: "npm:^56.0.1" eslint-plugin-workspaces: "npm:^0.10.1" - checksum: 10/021498942f976be55283b47d3ea13c0446b58e5fe00d10cc2961dc97a914f4d90b30fba0fb426a3958d1c28dfca7699a5661642d81de067b040b5e8c2667af89 + jsonc-eslint-parser: "npm:^2.4.0" + checksum: 10/54675f4f253796c9b46ffa015d271b460b5c8055a61728d96b583c320295b646de80ace8b4a7fa3c75dcfbd938a8541387e5fb4fa7b7e46064aaa71ab1129859 languageName: node linkType: hard -"@xylabs/exists@npm:^4.4.10": - version: 4.4.10 - resolution: "@xylabs/exists@npm:4.4.10" - checksum: 10/26551482b70300b162b7d3fb7144b8453f0a46febd68803a4309a7a7e4faf34530907b6a0187a339d3d98c2023b01d16212b53f75f392058c9b472270783cf04 +"@xylabs/exists@npm:^4.4.25": + version: 4.4.25 + resolution: "@xylabs/exists@npm:4.4.25" + checksum: 10/c8bad6caaf91a7a2aeef7554791ff4f55f314c804d7762bb72fa051d02a25b11f5e03fc1504c9f4ee940977b65380564367dcee9db7195659c5e34c0399b9e1d languageName: node linkType: hard -"@xylabs/forget@npm:^4.4.10": - version: 4.4.10 - resolution: "@xylabs/forget@npm:4.4.10" +"@xylabs/forget@npm:^4.4.25": + version: 4.4.25 + resolution: "@xylabs/forget@npm:4.4.25" dependencies: - "@xylabs/delay": "npm:^4.4.10" - checksum: 10/eb53cfc2efb6a4e2b62c0b89ef058884078c030ac2c67c76306d9f7c1f341a9c6cfe37b5451c6a6b2c753437ac033bec904c6832193c7cc25bfbcfb16ce3498c + "@xylabs/delay": "npm:^4.4.25" + checksum: 10/919fda1fe632268038719e646e33aa817aa63492c030e63343c87ea9667426d45b3e9fa962cdd55fd7c434060f16c7903e76b470f0ccda0b1684996a5f27edf0 languageName: node linkType: hard -"@xylabs/hex@npm:^4.4.10": - version: 4.4.10 - resolution: "@xylabs/hex@npm:4.4.10" - checksum: 10/d39a65f3ca14a15c3bb50d175f218ca67ff59376b54467f788cf4102cb963a1a6af50fe0c8eebd22b090c4debe1b8de1af980a027f2551e25630b691c905ef12 +"@xylabs/hex@npm:^4.4.25": + version: 4.4.25 + resolution: "@xylabs/hex@npm:4.4.25" + checksum: 10/dd73f4b9f1030da4deb4ae28da920194f352f464c58bd14b4e4749427a630113e066beef54ff729a535d3397669bfe1da34bde162e8488dade7ff97cc90dba5b languageName: node linkType: hard -"@xylabs/logger@npm:^4.4.10": - version: 4.4.10 - resolution: "@xylabs/logger@npm:4.4.10" +"@xylabs/logger@npm:^4.4.25": + version: 4.4.25 + resolution: "@xylabs/logger@npm:4.4.25" dependencies: - "@xylabs/error": "npm:^4.4.10" - checksum: 10/64027fa5bc21b5821433b4f752934ec9eb71a6eb572d4afff02f996eef059ed55b4115e4f40aab677f8a258f500acef2c52bc41aa59cf4602eb18fc99eaf535c + "@xylabs/error": "npm:^4.4.25" + checksum: 10/f2163d9accaabff975d67bcc00fc53920d6596a74cb654f2f71a706b3d6970555f4297d4d8fcd9e467fec91aace9b782f0c8df9ed453c65c185caef498966c42 languageName: node linkType: hard -"@xylabs/object@npm:^4.4.10": - version: 4.4.10 - resolution: "@xylabs/object@npm:4.4.10" +"@xylabs/object@npm:^4.4.25": + version: 4.4.25 + resolution: "@xylabs/object@npm:4.4.25" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/logger": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/typeof": "npm:^4.4.10" - checksum: 10/049e03eb6bb6389e43c25306d2fb85277a22b81257646487bfb316a2d6f5fd37bf4a1c9c76e1fd3f150c2100fbaea51a1857cb097d369ede155ce980b5026fce + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/logger": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/typeof": "npm:^4.4.25" + checksum: 10/c1c5474aa108178162e453b1c60a2f0ed21308f4561f43c32bddeb3903fdf3646526a94c85cc978a6f81bbca706fdb1cd8b0765c72033e6e001bb0b386fc4108 languageName: node linkType: hard -"@xylabs/platform@npm:^4.4.10": - version: 4.4.10 - resolution: "@xylabs/platform@npm:4.4.10" - checksum: 10/661d5276610568c841129484192c031c11e531d095c6b4e8a49760b87176f4a6dcd82b38784605c9b5d5d17d559b9199ef438a97608ba10b3935053affb71cec +"@xylabs/platform@npm:^4.4.25": + version: 4.4.25 + resolution: "@xylabs/platform@npm:4.4.25" + checksum: 10/03b7742cdcf1b00fbfb92151b57df23fcf6e931e5697c76eb7e3256d6c5041d911bf185f4d4ea222b4ef4117b19877e2d0aa11b4cf313e4ed40fe6e8c0e40881 languageName: node linkType: hard -"@xylabs/promise@npm:^4.4.10": - version: 4.4.10 - resolution: "@xylabs/promise@npm:4.4.10" +"@xylabs/promise@npm:^4.4.25": + version: 4.4.25 + resolution: "@xylabs/promise@npm:4.4.25" dependencies: - "@xylabs/typeof": "npm:^4.4.10" - checksum: 10/2b1f732327472491a3a39d35c310bc9227111456d9dbd299b20274bc036f57a36cb77e66b695865ea04cbc553f6d51645b0c21905eb07243aba4a6d805deb08f + "@xylabs/typeof": "npm:^4.4.25" + checksum: 10/fb32bcf55c6208bdacd1bd9a3ba213128ef6d170f652b8e59e78024e3d3fae7b0bb3575bf25de3c8a11407899be2550b64f1cae6a30d116e40bafc089c98deb4 languageName: node linkType: hard -"@xylabs/retry@npm:^4.4.10": - version: 4.4.10 - resolution: "@xylabs/retry@npm:4.4.10" +"@xylabs/retry@npm:^4.4.25": + version: 4.4.25 + resolution: "@xylabs/retry@npm:4.4.25" dependencies: - "@xylabs/delay": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - checksum: 10/717c4fae34d82db7c790b32942010ded65d16c45ed2ecdb721b9241eb8b17daf300062f5f63789dab056bb80c7fffdac5054c366a4361c50f1803cd79fcc850e + "@xylabs/delay": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + checksum: 10/250e28a4e10721f357b97a5b6096dcff2da78c1563098629f6716bcd32de347e10d8240982ec592ed6ab7ed1994cb5ad1811ab72e30ff549ac52b606394d2f98 languageName: node linkType: hard @@ -5442,66 +5086,66 @@ __metadata: languageName: node linkType: hard -"@xylabs/set@npm:^4.4.10": - version: 4.4.10 - resolution: "@xylabs/set@npm:4.4.10" - checksum: 10/08547f834ba6e8d51fb32a6d4ada36bc68062dd54ec797229648dec56c51b62234102563173ae912ea02fd2fa4694843020de95d334aa1f2d214699d0ce27947 +"@xylabs/set@npm:^4.4.25": + version: 4.4.25 + resolution: "@xylabs/set@npm:4.4.25" + checksum: 10/9ca6e045743ddc2db58f14e41ad814fc0b6547c843d858885bd6f0ad795e435c2b34444838b8074c5bf3faef9168ea4a515ffa08b932ea7ff644b7dc364245e1 languageName: node linkType: hard -"@xylabs/static-implements@npm:^4.4.10": - version: 4.4.10 - resolution: "@xylabs/static-implements@npm:4.4.10" - checksum: 10/347bf325d6c371718387594ed4e6a95933c1323c61f033f3e32b16f14db465150f10dc80675be87dd1889aefa130f8f8db0809ad8fc20f57dc91b5a26de6b192 +"@xylabs/static-implements@npm:^4.4.25": + version: 4.4.25 + resolution: "@xylabs/static-implements@npm:4.4.25" + checksum: 10/db81fef336991e54cd87f1ae5099953f60bf64c24031fe89ff458aafd4e71af3d453321f2cbbdfcc3cc2691cbfdc5bbf6e87b56e04593685a587581532279131 languageName: node linkType: hard -"@xylabs/threads@npm:^4.4.10": - version: 4.4.10 - resolution: "@xylabs/threads@npm:4.4.10" +"@xylabs/threads@npm:^4.4.25": + version: 4.4.25 + resolution: "@xylabs/threads@npm:4.4.25" dependencies: callsites-3-1-0: "npm:callsites@3.1.0" - debug: "npm:^4.3.7" + debug: "npm:^4.4.0" is-observable-2-1-0: "npm:is-observable@2.1.0" observable-fns: "npm:^0.6.1" tiny-worker: "npm:^2.3.0" dependenciesMeta: tiny-worker: optional: true - checksum: 10/5e5261cd9506aa972104dc060233cf9212913710dbfbc3de98f1ae521c070d2b62c431d4154c587789ec582e23d4cf7de129e065f211b98828286909643d5cd0 + checksum: 10/0ad54073a2403ea5991cf38262b447f4529c5ec29c4e1dbf1e5f867a6b319f8633745456a8239fd086465907bfe999d1c56d193169ee62ed8d07c4f5519ad7ed languageName: node linkType: hard -"@xylabs/timer@npm:^4.4.10": - version: 4.4.10 - resolution: "@xylabs/timer@npm:4.4.10" +"@xylabs/timer@npm:^4.4.25": + version: 4.4.25 + resolution: "@xylabs/timer@npm:4.4.25" dependencies: - "@xylabs/assert": "npm:^4.4.10" - checksum: 10/353137e533b79a00ce2e8ed179e441167c0a05ce8963620969aff34957698c6f1218a5b3ec97803078da90de68ede559238e8c46e4c4d90bd7c9732163d509c5 + "@xylabs/assert": "npm:^4.4.25" + checksum: 10/03edcaf9b296c86382c66738f619ed29899aa572567e3e0c79323b9873fbf6a4c27b94cbbd70165672a5281cd04cdf6e4bc0f6b38c0a2b7789e5dcbb1167c4ac languageName: node linkType: hard -"@xylabs/ts-scripts-yarn3@npm:^4.2.4": - version: 4.2.4 - resolution: "@xylabs/ts-scripts-yarn3@npm:4.2.4" +"@xylabs/ts-scripts-yarn3@npm:^4.2.6": + version: 4.2.6 + resolution: "@xylabs/ts-scripts-yarn3@npm:4.2.6" dependencies: - "@rollup/plugin-commonjs": "npm:^28.0.1" + "@rollup/plugin-commonjs": "npm:^28.0.2" "@rollup/plugin-json": "npm:^6.1.0" - "@rollup/plugin-typescript": "npm:^12.1.1" - "@swc/core": "npm:^1.9.2" - "@types/node": "npm:^22.9.0" + "@rollup/plugin-typescript": "npm:^12.1.2" + "@swc/core": "npm:^1.10.1" + "@types/node": "npm:^22.10.2" "@types/yargs": "npm:^17.0.33" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/tsconfig-dom": "npm:^4.2.4" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/tsconfig-dom": "npm:^4.2.6" async-mutex: "npm:^0.5.0" chalk: "npm:^5.3.0" cosmiconfig: "npm:^9.0.0" - cosmiconfig-typescript-loader: "npm:^6.0.0" + cosmiconfig-typescript-loader: "npm:^6.1.0" cpy: "npm:^11.1.0" deepmerge: "npm:^4.3.1" depcheck: "npm:^1.4.7" esbuild: "npm:^0.24.0" - eslint: "npm:^9.14.0" + eslint: "npm:^9.17.0" glob: "npm:^11.0.0" jsonc-eslint-parser: "npm:^2.4.0" license-checker: "npm:^25.0.1" @@ -5512,19 +5156,19 @@ __metadata: parse-git-config: "npm:^3.0.0" publint: "npm:^0.2.12" reflect-metadata: "npm:^0.2.2" - rollup: "npm:^4.25.0" + rollup: "npm:^4.28.1" rollup-plugin-exclude-dependencies-from-bundle: "npm:^1.1.23" - rollup-plugin-node-externals: "npm:^7.1.3" - sort-package-json: "npm:^2.10.1" + rollup-plugin-node-externals: "npm:^8.0.0" + sort-package-json: "npm:^2.12.0" supertest: "npm:^7.0.0" ts-node: "npm:^10.9.2" ts-prune: "npm:^0.10.3" tsc-prog: "npm:^2.3.0" tslib: "npm:^2.8.1" tsup: "npm:^8.3.5" - typedoc: "npm:^0.26.11" + typedoc: "npm:^0.27.5" types-package-json: "npm:^2.0.39" - vitest: "npm:^2.1.4" + vitest: "npm:^2.1.8" yargs: "npm:^17.7.2" peerDependencies: typescript: ^5 @@ -5576,47 +5220,47 @@ __metadata: xy: dist/bin/xy.mjs xy-ts: src/bin/xy-ts.ts yarn3only: dist/bin/yarn3only.mjs - checksum: 10/a388515be55e5a1725b79e0755f06b94e58ed1b51b381c35aee2e23fba23f6b4e033eefb3693fa38a7ef68680fbf8f1eae07ae7db3e6e8465688d7de5ea17cd6 + checksum: 10/3bd8542eac366fb35e723e0f29ac99f9444bbdacfd7671d08c8c6f9f0564ba571f62ff40714df8273e699358bc89783b6b0a69d1a8fb64ef59b4dbe0b5154643 languageName: node linkType: hard -"@xylabs/tsconfig-dom@npm:^4.2.4": - version: 4.2.4 - resolution: "@xylabs/tsconfig-dom@npm:4.2.4" +"@xylabs/tsconfig-dom@npm:^4.2.6": + version: 4.2.6 + resolution: "@xylabs/tsconfig-dom@npm:4.2.6" dependencies: - "@xylabs/tsconfig": "npm:^4.2.4" - checksum: 10/b39967f187b5e717d45cde62362f9c7f8dddaa3db7094e6f88a593cea91f4c4d4bdff09ad540a6ead68bec82b846de2618e74f61d27de3d7db6e4556fba7b300 + "@xylabs/tsconfig": "npm:^4.2.6" + checksum: 10/e1a67665e45ca79b886c1ff55a989f96966de573b9614db5e62ce384e728a07050af6f5d7ca86eb1db763ed0cdcd027019c7b019896a5f1896358e1f913ada67 languageName: node linkType: hard -"@xylabs/tsconfig@npm:^4.2.4": - version: 4.2.4 - resolution: "@xylabs/tsconfig@npm:4.2.4" - checksum: 10/2840f6ce5ebee4a581fcea9e1fca633ac990595b7533500355f5614b9f7d469cabcb3d74b7e72027fec22b657d5df5d6cba1fe487bae7855c080ac7a72fdab61 +"@xylabs/tsconfig@npm:^4.2.6": + version: 4.2.6 + resolution: "@xylabs/tsconfig@npm:4.2.6" + checksum: 10/a763f1822c4f03c7dfa5ff1e6de6e2650269d58798d6b5e0456d9b37ea85205eb0c0a6a4bd6d29ae47c00b71dcc02a9764af9bd475c33ea1fe74343110955a07 languageName: node linkType: hard -"@xylabs/typeof@npm:^4.4.10": - version: 4.4.10 - resolution: "@xylabs/typeof@npm:4.4.10" - checksum: 10/47289f01b0d7c59968bcd7e3310acd6ade2602842cf02438db4ccb999005e260fe73bb700eb02478eb3f1e3b352c11bed7c0875da922f72b651b8b40024ed0bb +"@xylabs/typeof@npm:^4.4.25": + version: 4.4.25 + resolution: "@xylabs/typeof@npm:4.4.25" + checksum: 10/af70eca0c932ff5faef1c3e7b271583a349f2829e35d23e21d378c14aed9812883a32b7842cd6714e30e111ea4c027b1b120d153e787c4300ddc626b6ac93a45 languageName: node linkType: hard -"@xylabs/vitest-extended@npm:^4.4.10": - version: 4.4.10 - resolution: "@xylabs/vitest-extended@npm:4.4.10" +"@xylabs/vitest-extended@npm:^4.4.25": + version: 4.4.25 + resolution: "@xylabs/vitest-extended@npm:4.4.25" dependencies: - "@xylabs/vitest-matchers": "npm:^4.4.10" - vitest: "npm:^2.1.6" - checksum: 10/3d6b7b13448c3469788f7226df93180bfe8210eae64d93e97e4a76475918e3a30642f4e290c07b89b505251b83f2fe86794baf1523b8fd7419d2ef845949ca09 + "@xylabs/vitest-matchers": "npm:^4.4.25" + vitest: "npm:^2.1.8" + checksum: 10/c8c8bf5ea03bbe4faad4c36b1f508dadb6665dda7420cba22bf3d8899500e3067caa46040aa1a41fe1f29a92e191bc775fc31dff34fe895253b5929cc66482cd languageName: node linkType: hard -"@xylabs/vitest-matchers@npm:^4.4.10": - version: 4.4.10 - resolution: "@xylabs/vitest-matchers@npm:4.4.10" - checksum: 10/e55cba6492cf233c143c06c2873446edd40c2363b3572045b4cc0d683df0ba46747132a2cf78b53024b061d7a2bb1b60029cbcbbe90d06fd959a2969f97160f1 +"@xylabs/vitest-matchers@npm:^4.4.25": + version: 4.4.25 + resolution: "@xylabs/vitest-matchers@npm:4.4.25" + checksum: 10/adb45f118ab35eb11e41d42866c856ca1472ba5d59938456c4bd71b525a3913acc420fcc740910869b3bb8f4154e5b07b8867bb949c36fbb6697b65fef6f5062 languageName: node linkType: hard @@ -5624,12 +5268,12 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/abstract-witness@workspace:packages/modules/packages/witness/packages/abstract" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/account-model": "workspace:^" "@xyo-network/archivist-model": "workspace:^" "@xyo-network/boundwitness-model": "workspace:^" @@ -5648,10 +5292,10 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/account-model@workspace:packages/protocol/packages/account/packages/account-model" dependencies: - "@xylabs/arraybuffer": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/arraybuffer": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/key-model": "workspace:^" "@xyo-network/previous-hash-store-model": "workspace:^" ethers: "npm:^6.13.4" @@ -5670,15 +5314,15 @@ __metadata: dependencies: "@bitauth/libauth": "npm:^3.0.0" "@scure/bip39": "npm:^1.5.0" - "@xylabs/arraybuffer": "npm:^4.4.10" - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/static-implements": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" - "@xylabs/vitest-matchers": "npm:^4.4.10" + "@xylabs/arraybuffer": "npm:^4.4.25" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/static-implements": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" + "@xylabs/vitest-matchers": "npm:^4.4.25" "@xyo-network/account-model": "workspace:^" "@xyo-network/data": "workspace:^" "@xyo-network/key-model": "workspace:^" @@ -5697,9 +5341,9 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/address-payload-plugin@workspace:packages/core-payload-plugins/packages/address" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/module-model": "workspace:^" "@xyo-network/payload-plugin": "workspace:^" typescript: "npm:^5.7.2" @@ -5711,8 +5355,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/api-models@workspace:packages/sdk-utils/packages/api-models" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" axios: "npm:^1.7.9" typescript: "npm:^5.7.2" languageName: unknown @@ -5722,13 +5366,13 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/api@workspace:packages/sdk-utils/packages/api" dependencies: - "@types/node": "npm:^22.10.1" + "@types/node": "npm:^22.10.2" "@types/uuid": "npm:^10.0.0" - "@xylabs/axios": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/axios": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/api-models": "workspace:^" "@xyo-network/boundwitness-model": "workspace:^" "@xyo-network/diviner-model": "workspace:^" @@ -5747,14 +5391,14 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/archivist-abstract@workspace:packages/modules/packages/archivist/packages/abstract" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/exists": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/set": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/exists": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/set": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/account-model": "workspace:^" "@xyo-network/archivist-model": "workspace:^" "@xyo-network/boundwitness-model": "workspace:^" @@ -5772,13 +5416,13 @@ __metadata: resolution: "@xyo-network/archivist-cookie@workspace:packages/modules/packages/archivist/packages/cookie" dependencies: "@types/js-cookie": "npm:^3.0.6" - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/delay": "npm:^4.4.10" - "@xylabs/exists": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/delay": "npm:^4.4.25" + "@xylabs/exists": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/archivist-abstract": "workspace:^" "@xyo-network/archivist-model": "workspace:^" "@xyo-network/boundwitness-model": "workspace:^" @@ -5797,20 +5441,19 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/archivist-firebase@workspace:packages/modules/packages/archivist/packages/firebase" dependencies: - "@firebase/app": "npm:^0.10.16" + "@firebase/app": "npm:^0.10.17" "@firebase/firestore": "npm:^4.7.5" "@firebase/rules-unit-testing": "npm:^4.0.1" - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/exists": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/exists": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/archivist-abstract": "workspace:^" "@xyo-network/archivist-model": "workspace:^" "@xyo-network/module-model": "workspace:^" - "@xyo-network/payload-builder": "workspace:^" "@xyo-network/payload-model": "workspace:^" - firebase: "npm:^11.0.2" + firebase: "npm:^11.1.0" typescript: "npm:^5.7.2" vitest: "npm:^2.1.8" languageName: unknown @@ -5820,13 +5463,14 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/archivist-indexeddb@workspace:packages/modules/packages/archivist/packages/indexeddb" dependencies: - "@xylabs/array": "npm:^4.4.10" - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/exists": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/array": "npm:^4.4.25" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/delay": "npm:^4.4.25" + "@xylabs/exists": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/account": "workspace:^" "@xyo-network/archivist-abstract": "workspace:^" "@xyo-network/archivist-model": "workspace:^" @@ -5836,7 +5480,7 @@ __metadata: "@xyo-network/payload-model": "workspace:^" "@xyo-network/payload-wrapper": "workspace:^" fake-indexeddb: "npm:^6.0.0" - idb: "npm:^8.0.0" + idb: "npm:^8.0.1" typescript: "npm:^5.7.2" vitest: "npm:^2.1.8" languageName: unknown @@ -5846,18 +5490,20 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/archivist-memory@workspace:packages/modules/packages/archivist/packages/memory" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/exists": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/delay": "npm:^4.4.25" + "@xylabs/exists": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/account": "workspace:^" "@xyo-network/archivist-abstract": "workspace:^" "@xyo-network/archivist-model": "workspace:^" "@xyo-network/boundwitness-model": "workspace:^" + "@xyo-network/id-payload-plugin": "workspace:^" "@xyo-network/module-model": "workspace:^" "@xyo-network/payload-builder": "workspace:^" "@xyo-network/payload-model": "workspace:^" @@ -5871,12 +5517,12 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/archivist-model@workspace:packages/modules/packages/archivist/packages/model" dependencies: - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/typeof": "npm:^4.4.10" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/typeof": "npm:^4.4.25" "@xyo-network/account-model": "workspace:^" "@xyo-network/module-events": "workspace:^" "@xyo-network/module-model": "workspace:^" @@ -5889,14 +5535,14 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/archivist-storage@workspace:packages/modules/packages/archivist/packages/storage" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/delay": "npm:^4.4.10" - "@xylabs/exists": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/delay": "npm:^4.4.25" + "@xylabs/exists": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/account": "workspace:^" "@xyo-network/archivist-abstract": "workspace:^" "@xyo-network/archivist-memory": "workspace:^" @@ -5919,10 +5565,10 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/archivist-view@workspace:packages/modules/packages/archivist/packages/view" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/archivist-abstract": "workspace:^" "@xyo-network/archivist-memory": "workspace:^" "@xyo-network/archivist-model": "workspace:^" @@ -5939,10 +5585,10 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/archivist-wrapper@workspace:packages/modules/packages/archivist/packages/wrapper" dependencies: - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/account": "workspace:^" "@xyo-network/account-model": "workspace:^" "@xyo-network/archivist-memory": "workspace:^" @@ -5960,8 +5606,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/archivist@workspace:packages/modules/packages/archivist" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/archivist-abstract": "workspace:^" "@xyo-network/archivist-cookie": "workspace:^" "@xyo-network/archivist-indexeddb": "workspace:^" @@ -5981,8 +5627,8 @@ __metadata: "@noble/hashes": "npm:^1.6.1" "@scure/base": "npm:^1.2.1" "@scure/bip39": "npm:^1.5.0" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" typescript: "npm:^5.7.2" languageName: unknown linkType: soft @@ -5991,13 +5637,13 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/boundwitness-builder@workspace:packages/protocol/packages/boundwitness/packages/builder" dependencies: - "@xylabs/arraybuffer": "npm:^4.4.10" - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/arraybuffer": "npm:^4.4.25" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/account": "workspace:^" "@xyo-network/account-model": "workspace:^" "@xyo-network/boundwitness-model": "workspace:^" @@ -6015,11 +5661,11 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/boundwitness-loader@workspace:packages/protocol/packages/boundwitness/packages/loader" dependencies: - "@xylabs/exists": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/exists": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/archivist-memory": "workspace:^" "@xyo-network/archivist-model": "workspace:^" "@xyo-network/boundwitness-model": "workspace:^" @@ -6035,11 +5681,11 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/boundwitness-model@workspace:packages/protocol/packages/boundwitness/packages/model" dependencies: - "@types/node": "npm:^22.10.1" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@types/node": "npm:^22.10.2" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/payload-model": "workspace:^" typescript: "npm:^5.7.2" languageName: unknown @@ -6049,13 +5695,13 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/boundwitness-validator@workspace:packages/protocol/packages/boundwitness/packages/validator" dependencies: - "@xylabs/array": "npm:^4.4.10" - "@xylabs/arraybuffer": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/typeof": "npm:^4.4.10" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/array": "npm:^4.4.25" + "@xylabs/arraybuffer": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/typeof": "npm:^4.4.25" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/account": "workspace:^" "@xyo-network/boundwitness-builder": "workspace:^" "@xyo-network/boundwitness-model": "workspace:^" @@ -6072,13 +5718,14 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/boundwitness-wrapper@workspace:packages/protocol/packages/boundwitness/packages/wrapper" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/exists": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/exists": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/boundwitness-model": "workspace:^" "@xyo-network/boundwitness-validator": "workspace:^" "@xyo-network/payload": "workspace:^" @@ -6094,8 +5741,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/boundwitness@workspace:packages/protocol/packages/boundwitness" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/boundwitness-builder": "workspace:^" "@xyo-network/boundwitness-loader": "workspace:^" "@xyo-network/boundwitness-model": "workspace:^" @@ -6109,14 +5756,14 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/bridge-abstract@workspace:packages/modules/packages/bridge/packages/abstract" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/exists": "npm:^4.4.10" - "@xylabs/forget": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/exists": "npm:^4.4.25" + "@xylabs/forget": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/account": "workspace:^" "@xyo-network/account-model": "workspace:^" "@xyo-network/archivist-model": "workspace:^" @@ -6150,18 +5797,18 @@ __metadata: resolution: "@xyo-network/bridge-http@workspace:packages/modules/packages/bridge/packages/http" dependencies: "@types/express": "npm:^5.0.0" - "@types/node": "npm:^22.10.1" - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/axios": "npm:^4.4.10" - "@xylabs/exists": "npm:^4.4.10" - "@xylabs/forget": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" + "@types/node": "npm:^22.10.2" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/axios": "npm:^4.4.25" + "@xylabs/exists": "npm:^4.4.25" + "@xylabs/forget": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" "@xylabs/sdk-api-express-ecs": "npm:^2.1.0" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/account": "workspace:^" "@xyo-network/api-models": "workspace:^" "@xyo-network/archivist-model": "workspace:^" @@ -6180,12 +5827,17 @@ __metadata: "@xyo-network/payload-wrapper": "workspace:^" async-mutex: "npm:^0.5.0" axios: "npm:^1.7.9" - express: "npm:^4.21.1" + express: "npm:^4.21.2" get-port-please: "npm:^3.1.2" http-status-codes: "npm:^2.3.0" lru-cache: "npm:^11.0.2" typescript: "npm:^5.7.2" vitest: "npm:^2.1.8" + peerDependencies: + "@xylabs/sdk-api-express-ecs": ^2.1.0 + peerDependenciesMeta: + "@xylabs/sdk-api-express-ecs": + optional: true languageName: unknown linkType: soft @@ -6193,12 +5845,12 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/bridge-model@workspace:packages/modules/packages/bridge/packages/model" dependencies: - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/typeof": "npm:^4.4.10" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/typeof": "npm:^4.4.25" "@xyo-network/boundwitness-model": "workspace:^" "@xyo-network/module-events": "workspace:^" "@xyo-network/module-model": "workspace:^" @@ -6211,8 +5863,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/bridge-module-resolver@workspace:packages/modules/packages/bridge/packages/module-resolver" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" typescript: "npm:^5.7.2" languageName: unknown linkType: soft @@ -6221,19 +5873,19 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/bridge-pub-sub@workspace:packages/modules/packages/bridge/packages/pub-sub" dependencies: - "@xylabs/array": "npm:^4.4.10" - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/delay": "npm:^4.4.10" - "@xylabs/exists": "npm:^4.4.10" - "@xylabs/forget": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/logger": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/timer": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/array": "npm:^4.4.25" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/delay": "npm:^4.4.25" + "@xylabs/exists": "npm:^4.4.25" + "@xylabs/forget": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/logger": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/timer": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/account": "workspace:^" "@xyo-network/archivist-memory": "workspace:^" "@xyo-network/archivist-model": "workspace:^" @@ -6262,13 +5914,13 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/bridge-websocket@workspace:packages/modules/packages/bridge/packages/websocket" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/account": "workspace:^" "@xyo-network/archivist-model": "workspace:^" "@xyo-network/boundwitness-model": "workspace:^" @@ -6295,14 +5947,14 @@ __metadata: resolution: "@xyo-network/bridge-worker@workspace:packages/modules/packages/bridge/packages/worker" dependencies: "@scure/bip39": "npm:^1.5.0" - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/forget": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/logger": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/forget": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/logger": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/account": "workspace:^" "@xyo-network/archivist-model": "workspace:^" "@xyo-network/boundwitness-model": "workspace:^" @@ -6323,9 +5975,9 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/bridge-wrapper@workspace:packages/modules/packages/bridge/packages/wrapper" dependencies: - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/bridge-model": "workspace:^" "@xyo-network/module-model": "workspace:^" "@xyo-network/module-wrapper": "workspace:^" @@ -6337,9 +5989,9 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/bridge@workspace:packages/modules/packages/bridge" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/bridge-abstract": "workspace:^" "@xyo-network/bridge-http": "workspace:^" "@xyo-network/bridge-model": "workspace:^" @@ -6357,10 +6009,10 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/config-payload-plugin@workspace:packages/core-payload-plugins/packages/config" dependencies: - "@xylabs/object": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/payload-model": "workspace:^" "@xyo-network/payload-plugin": "workspace:^" typescript: "npm:^5.7.2" @@ -6372,8 +6024,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/core-payload-plugins@workspace:packages/core-payload-plugins" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/address-payload-plugin": "workspace:^" "@xyo-network/config-payload-plugin": "workspace:^" "@xyo-network/domain-payload-plugin": "workspace:^" @@ -6390,9 +6042,9 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/core@workspace:packages/protocol/packages/core" dependencies: - "@types/node": "npm:^22.10.1" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@types/node": "npm:^22.10.2" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/data": "workspace:^" "@xyo-network/hash": "workspace:^" "@xyo-network/wasm": "workspace:^" @@ -6405,12 +6057,12 @@ __metadata: resolution: "@xyo-network/data@workspace:packages/protocol/packages/core/packages/data" dependencies: "@scure/base": "npm:^1.2.1" - "@xylabs/arraybuffer": "npm:^4.4.10" - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/arraybuffer": "npm:^4.4.25" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" ethers: "npm:6.13.4" typescript: "npm:^5.7.2" vitest: "npm:^2.1.8" @@ -6421,12 +6073,12 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-abstract@workspace:packages/modules/packages/diviner/packages/abstract" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/retry": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/retry": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/account-model": "workspace:^" "@xyo-network/boundwitness-model": "workspace:^" "@xyo-network/boundwitness-wrapper": "workspace:^" @@ -6443,8 +6095,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-address-chain-abstract@workspace:packages/modules/packages/diviner/packages/addresschain/packages/abstract" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-abstract": "workspace:^" "@xyo-network/diviner-address-chain-model": "workspace:^" "@xyo-network/diviner-model": "workspace:^" @@ -6457,11 +6109,13 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-address-chain-memory@workspace:packages/modules/packages/diviner/packages/addresschain/packages/memory" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/array": "npm:^4.4.25" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/delay": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/account": "workspace:^" "@xyo-network/archivist-memory": "workspace:^" "@xyo-network/archivist-model": "workspace:^" @@ -6486,9 +6140,9 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-address-chain-model@workspace:packages/modules/packages/diviner/packages/addresschain/packages/model" dependencies: - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-model": "workspace:^" "@xyo-network/module-model": "workspace:^" "@xyo-network/payload-model": "workspace:^" @@ -6500,8 +6154,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-address-chain@workspace:packages/modules/packages/diviner/packages/addresschain" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-address-chain-abstract": "workspace:^" "@xyo-network/diviner-address-chain-memory": "workspace:^" "@xyo-network/diviner-address-chain-model": "workspace:^" @@ -6513,9 +6167,9 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-address-history-model@workspace:packages/modules/packages/diviner/packages/addresshistory/packages/model" dependencies: - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-model": "workspace:^" "@xyo-network/module-model": "workspace:^" "@xyo-network/payload-model": "workspace:^" @@ -6527,12 +6181,12 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-address-history@workspace:packages/modules/packages/diviner/packages/addresshistory" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/exists": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/exists": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/account": "workspace:^" "@xyo-network/archivist-memory": "workspace:^" "@xyo-network/archivist-model": "workspace:^" @@ -6554,8 +6208,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-address-space-abstract@workspace:packages/modules/packages/diviner/packages/addressspace/packages/abstract" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-abstract": "workspace:^" "@xyo-network/diviner-address-space-model": "workspace:^" "@xyo-network/diviner-model": "workspace:^" @@ -6568,11 +6222,11 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-address-space-memory@workspace:packages/modules/packages/diviner/packages/addressspace/packages/memory" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/account": "workspace:^" "@xyo-network/archivist-memory": "workspace:^" "@xyo-network/archivist-wrapper": "workspace:^" @@ -6593,8 +6247,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-address-space-model@workspace:packages/modules/packages/diviner/packages/addressspace/packages/model" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-model": "workspace:^" "@xyo-network/module-model": "workspace:^" typescript: "npm:^5.7.2" @@ -6605,8 +6259,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-address-space@workspace:packages/modules/packages/diviner/packages/addressspace" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-address-space-abstract": "workspace:^" "@xyo-network/diviner-address-space-memory": "workspace:^" "@xyo-network/diviner-address-space-model": "workspace:^" @@ -6618,9 +6272,9 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-archivist@workspace:packages/modules/packages/diviner/packages/archivist" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-abstract": "workspace:^" "@xyo-network/diviner-huri": "workspace:^" "@xyo-network/diviner-model": "workspace:^" @@ -6635,8 +6289,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-boundwitness-abstract@workspace:packages/modules/packages/diviner/packages/boundwitness/packages/abstract" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/boundwitness-model": "workspace:^" "@xyo-network/diviner-abstract": "workspace:^" "@xyo-network/diviner-boundwitness-model": "workspace:^" @@ -6650,11 +6304,13 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-boundwitness-indexeddb@workspace:packages/modules/packages/diviner/packages/indexeddb/packages/boundwitness" dependencies: - "@xylabs/array": "npm:^4.4.10" - "@xylabs/exists": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/array": "npm:^4.4.25" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/delay": "npm:^4.4.25" + "@xylabs/exists": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/archivist-indexeddb": "workspace:^" "@xyo-network/archivist-model": "workspace:^" "@xyo-network/boundwitness-builder": "workspace:^" @@ -6667,7 +6323,7 @@ __metadata: "@xyo-network/payload-builder": "workspace:^" "@xyo-network/payload-model": "workspace:^" fake-indexeddb: "npm:^6.0.0" - idb: "npm:^8.0.0" + idb: "npm:^8.0.1" typescript: "npm:^5.7.2" vitest: "npm:^2.1.8" languageName: unknown @@ -6677,13 +6333,14 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-boundwitness-memory@workspace:packages/modules/packages/diviner/packages/boundwitness/packages/memory" dependencies: - "@xylabs/array": "npm:^4.4.10" - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/exists": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/array": "npm:^4.4.25" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/delay": "npm:^4.4.25" + "@xylabs/exists": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/account": "workspace:^" "@xyo-network/archivist-memory": "workspace:^" "@xyo-network/boundwitness-builder": "workspace:^" @@ -6702,8 +6359,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-boundwitness-model@workspace:packages/modules/packages/diviner/packages/boundwitness/packages/model" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/boundwitness-model": "workspace:^" "@xyo-network/diviner-model": "workspace:^" "@xyo-network/diviner-payload-model": "workspace:^" @@ -6717,8 +6374,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-boundwitness-stats-abstract@workspace:packages/modules/packages/diviner/packages/boundwitnessstats/packages/abstract" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-abstract": "workspace:^" "@xyo-network/diviner-boundwitness-stats-model": "workspace:^" "@xyo-network/diviner-model": "workspace:^" @@ -6731,10 +6388,10 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-boundwitness-stats-memory@workspace:packages/modules/packages/diviner/packages/boundwitnessstats/packages/memory" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/boundwitness-model": "workspace:^" "@xyo-network/diviner-boundwitness-stats-abstract": "workspace:^" "@xyo-network/diviner-boundwitness-stats-model": "workspace:^" @@ -6748,8 +6405,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-boundwitness-stats-model@workspace:packages/modules/packages/diviner/packages/boundwitnessstats/packages/model" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-model": "workspace:^" "@xyo-network/module-model": "workspace:^" "@xyo-network/payload-model": "workspace:^" @@ -6761,8 +6418,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-boundwitness-stats@workspace:packages/modules/packages/diviner/packages/boundwitnessstats" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-boundwitness-stats-abstract": "workspace:^" "@xyo-network/diviner-boundwitness-stats-memory": "workspace:^" "@xyo-network/diviner-boundwitness-stats-model": "workspace:^" @@ -6774,8 +6431,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-boundwitness@workspace:packages/modules/packages/diviner/packages/boundwitness" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-boundwitness-abstract": "workspace:^" "@xyo-network/diviner-boundwitness-memory": "workspace:^" "@xyo-network/diviner-boundwitness-model": "workspace:^" @@ -6787,8 +6444,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-coin-user-locations-abstract@workspace:packages/modules/packages/diviner/packages/coin/packages/userlocations/packages/abstract" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-abstract": "workspace:^" "@xyo-network/diviner-coin-user-locations-model": "workspace:^" "@xyo-network/diviner-model": "workspace:^" @@ -6801,8 +6458,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-coin-user-locations-model@workspace:packages/modules/packages/diviner/packages/coin/packages/userlocations/packages/model" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-model": "workspace:^" "@xyo-network/module-model": "workspace:^" "@xyo-network/payload-model": "workspace:^" @@ -6814,8 +6471,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-coin-user-locations@workspace:packages/modules/packages/diviner/packages/coin/packages/userlocations" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-coin-user-locations-abstract": "workspace:^" "@xyo-network/diviner-coin-user-locations-model": "workspace:^" typescript: "npm:^5.7.2" @@ -6826,8 +6483,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-coin@workspace:packages/modules/packages/diviner/packages/coin" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-coin-user-locations": "workspace:^" typescript: "npm:^5.7.2" languageName: unknown @@ -6837,9 +6494,9 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-distinct-model@workspace:packages/modules/packages/diviner/packages/distinct/packages/model" dependencies: - "@xylabs/object": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-model": "workspace:^" typescript: "npm:^5.7.2" languageName: unknown @@ -6849,10 +6506,10 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-distinct@workspace:packages/modules/packages/diviner/packages/distinct" dependencies: - "@xylabs/object": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/diviner-abstract": "workspace:^" "@xyo-network/diviner-distinct-model": "workspace:^" "@xyo-network/diviner-model": "workspace:^" @@ -6868,9 +6525,9 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-forecasting-abstract@workspace:packages/modules/packages/diviner/packages/forecasting/packages/abstract" dependencies: - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-abstract": "workspace:^" "@xyo-network/diviner-forecasting-model": "workspace:^" "@xyo-network/diviner-model": "workspace:^" @@ -6886,10 +6543,10 @@ __metadata: resolution: "@xyo-network/diviner-forecasting-memory@workspace:packages/modules/packages/diviner/packages/forecasting/packages/memory" dependencies: "@types/jsonpath": "npm:^0.2.4" - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/exists": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/exists": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/archivist-model": "workspace:^" "@xyo-network/boundwitness-model": "workspace:^" "@xyo-network/diviner-boundwitness-model": "workspace:^" @@ -6897,6 +6554,7 @@ __metadata: "@xyo-network/diviner-forecasting-method-arima": "workspace:^" "@xyo-network/diviner-forecasting-model": "workspace:^" "@xyo-network/diviner-model": "workspace:^" + "@xyo-network/module-model": "workspace:^" "@xyo-network/payload-model": "workspace:^" jsonpath: "npm:^1.1.1" typescript: "npm:^5.7.2" @@ -6907,9 +6565,9 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-forecasting-method-arima@workspace:packages/modules/packages/diviner/packages/forecasting/packages/arima" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/diviner-forecasting-model": "workspace:^" "@xyo-network/payload-model": "workspace:^" arima: "npm:^0.2.5" @@ -6922,10 +6580,10 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-forecasting-model@workspace:packages/modules/packages/diviner/packages/forecasting/packages/model" dependencies: - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-model": "workspace:^" "@xyo-network/module-model": "workspace:^" "@xyo-network/payload-model": "workspace:^" @@ -6937,8 +6595,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-forecasting@workspace:packages/modules/packages/diviner/packages/forecasting" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-forecasting-abstract": "workspace:^" "@xyo-network/diviner-forecasting-memory": "workspace:^" "@xyo-network/diviner-forecasting-model": "workspace:^" @@ -6950,8 +6608,9 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-hash-lease@workspace:packages/modules/packages/diviner/packages/hash" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-abstract": "workspace:^" "@xyo-network/diviner-model": "workspace:^" "@xyo-network/module-model": "workspace:^" @@ -6964,11 +6623,11 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-huri@workspace:packages/modules/packages/diviner/packages/huri" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/exists": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/exists": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-abstract": "workspace:^" "@xyo-network/diviner-model": "workspace:^" "@xyo-network/huri": "workspace:^" @@ -6982,10 +6641,10 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-identity@workspace:packages/modules/packages/diviner/packages/identity" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-abstract": "workspace:^" "@xyo-network/diviner-model": "workspace:^" "@xyo-network/module-model": "workspace:^" @@ -6998,8 +6657,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-indexeddb@workspace:packages/modules/packages/diviner/packages/indexeddb" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-boundwitness-indexeddb": "workspace:^" "@xyo-network/diviner-payload-indexeddb": "workspace:^" typescript: "npm:^5.7.2" @@ -7010,11 +6669,11 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-indexing-memory@workspace:packages/modules/packages/diviner/packages/indexing/packages/memory" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/timer": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/timer": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/archivist-wrapper": "workspace:^" "@xyo-network/boundwitness-builder": "workspace:^" "@xyo-network/boundwitness-model": "workspace:^" @@ -7034,9 +6693,10 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-indexing-model@workspace:packages/modules/packages/diviner/packages/indexing/packages/model" dependencies: - "@xylabs/object": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-model": "workspace:^" "@xyo-network/module-model": "workspace:^" "@xyo-network/payload-model": "workspace:^" @@ -7048,8 +6708,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-indexing@workspace:packages/modules/packages/diviner/packages/indexing" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-indexing-memory": "workspace:^" "@xyo-network/diviner-indexing-model": "workspace:^" "@xyo-network/diviner-temporal-indexing": "workspace:^" @@ -7061,11 +6721,11 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-jsonpatch-memory@workspace:packages/modules/packages/diviner/packages/jsonpatch/packages/memory" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/exists": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/exists": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/account": "workspace:^" "@xyo-network/diviner-abstract": "workspace:^" "@xyo-network/diviner-jsonpatch-model": "workspace:^" @@ -7081,8 +6741,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-jsonpatch-model@workspace:packages/modules/packages/diviner/packages/jsonpatch/packages/model" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-model": "workspace:^" "@xyo-network/module-model": "workspace:^" fast-json-patch: "npm:^3.1.1" @@ -7094,8 +6754,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-jsonpatch@workspace:packages/modules/packages/diviner/packages/jsonpatch" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-jsonpatch-memory": "workspace:^" "@xyo-network/diviner-jsonpatch-model": "workspace:^" typescript: "npm:^5.7.2" @@ -7106,11 +6766,11 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-jsonpath-aggregate-memory@workspace:packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/memory" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/exists": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/exists": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/account": "workspace:^" "@xyo-network/account-model": "workspace:^" "@xyo-network/boundwitness-builder": "workspace:^" @@ -7132,9 +6792,9 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-jsonpath-aggregate-model@workspace:packages/modules/packages/diviner/packages/jsonpath/packages/aggregate/packages/model" dependencies: - "@xylabs/object": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-model": "workspace:^" "@xyo-network/module-model": "workspace:^" "@xyo-network/payload-model": "workspace:^" @@ -7146,8 +6806,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-jsonpath-aggregate@workspace:packages/modules/packages/diviner/packages/jsonpath/packages/aggregate" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-jsonpath-aggregate-memory": "workspace:^" "@xyo-network/diviner-jsonpath-aggregate-model": "workspace:^" typescript: "npm:^5.7.2" @@ -7159,10 +6819,10 @@ __metadata: resolution: "@xyo-network/diviner-jsonpath-memory@workspace:packages/modules/packages/diviner/packages/jsonpath/packages/memory" dependencies: "@types/jsonpath": "npm:^0.2.4" - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/account": "workspace:^" "@xyo-network/diviner-abstract": "workspace:^" "@xyo-network/diviner-jsonpath-model": "workspace:^" @@ -7180,9 +6840,9 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-jsonpath-model@workspace:packages/modules/packages/diviner/packages/jsonpath/packages/model" dependencies: - "@xylabs/object": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-model": "workspace:^" "@xyo-network/module-model": "workspace:^" "@xyo-network/payload-model": "workspace:^" @@ -7194,8 +6854,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-jsonpath@workspace:packages/modules/packages/diviner/packages/jsonpath" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-jsonpath-memory": "workspace:^" "@xyo-network/diviner-jsonpath-model": "workspace:^" typescript: "npm:^5.7.2" @@ -7206,12 +6866,12 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-model@workspace:packages/modules/packages/diviner/packages/model" dependencies: - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/retry": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/typeof": "npm:^4.4.10" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/retry": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/typeof": "npm:^4.4.25" "@xyo-network/account-model": "workspace:^" "@xyo-network/module-events": "workspace:^" "@xyo-network/module-model": "workspace:^" @@ -7224,8 +6884,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-models@workspace:packages/modules/packages/diviner/packages/models" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-address-chain-model": "workspace:^" "@xyo-network/diviner-address-history-model": "workspace:^" "@xyo-network/diviner-address-space-model": "workspace:^" @@ -7245,8 +6905,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-payload-abstract@workspace:packages/modules/packages/diviner/packages/payload/packages/abstract" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-abstract": "workspace:^" "@xyo-network/diviner-model": "workspace:^" "@xyo-network/diviner-payload-model": "workspace:^" @@ -7259,13 +6919,14 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-payload-generic@workspace:packages/modules/packages/diviner/packages/payload/packages/generic" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/forget": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/array": "npm:^4.4.25" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/delay": "npm:^4.4.25" + "@xylabs/forget": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/archivist-indexeddb": "workspace:^" "@xyo-network/archivist-memory": "workspace:^" "@xyo-network/archivist-model": "workspace:^" @@ -7287,14 +6948,14 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-payload-indexeddb@workspace:packages/modules/packages/diviner/packages/indexeddb/packages/payload" dependencies: - "@xylabs/array": "npm:^4.4.10" - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/exists": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/array": "npm:^4.4.25" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/delay": "npm:^4.4.25" + "@xylabs/exists": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/archivist-indexeddb": "workspace:^" "@xyo-network/archivist-model": "workspace:^" "@xyo-network/diviner-model": "workspace:^" @@ -7305,7 +6966,7 @@ __metadata: "@xyo-network/payload-builder": "workspace:^" "@xyo-network/payload-model": "workspace:^" fake-indexeddb: "npm:^6.0.0" - idb: "npm:^8.0.0" + idb: "npm:^8.0.1" typescript: "npm:^5.7.2" vitest: "npm:^2.1.8" languageName: unknown @@ -7315,15 +6976,12 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-payload-memory@workspace:packages/modules/packages/diviner/packages/payload/packages/memory" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/delay": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/delay": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/archivist-memory": "workspace:^" - "@xyo-network/diviner-model": "workspace:^" - "@xyo-network/diviner-payload-abstract": "workspace:^" + "@xyo-network/diviner-payload-generic": "workspace:^" "@xyo-network/diviner-payload-model": "workspace:^" "@xyo-network/node-memory": "workspace:^" "@xyo-network/payload-builder": "workspace:^" @@ -7337,10 +6995,9 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-payload-model@workspace:packages/modules/packages/diviner/packages/payload/packages/model" dependencies: - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-model": "workspace:^" "@xyo-network/module-model": "workspace:^" "@xyo-network/payload-model": "workspace:^" @@ -7353,12 +7010,13 @@ __metadata: resolution: "@xyo-network/diviner-payload-pointer-memory@workspace:packages/modules/packages/diviner/packages/payloadpointer/packages/memory" dependencies: "@types/uuid": "npm:^10.0.0" - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/exists": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/delay": "npm:^4.4.25" + "@xylabs/exists": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/account": "workspace:^" "@xyo-network/account-model": "workspace:^" "@xyo-network/archivist-memory": "workspace:^" @@ -7372,6 +7030,7 @@ __metadata: "@xyo-network/diviner-boundwitness-model": "workspace:^" "@xyo-network/diviner-model": "workspace:^" "@xyo-network/diviner-payload-abstract": "workspace:^" + "@xyo-network/diviner-payload-generic": "workspace:^" "@xyo-network/diviner-payload-memory": "workspace:^" "@xyo-network/diviner-payload-model": "workspace:^" "@xyo-network/diviner-payload-pointer-model": "workspace:^" @@ -7391,9 +7050,10 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-payload-pointer-model@workspace:packages/modules/packages/diviner/packages/payloadpointer/packages/model" dependencies: - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/exists": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/boundwitness-model": "workspace:^" "@xyo-network/diviner-model": "workspace:^" "@xyo-network/diviner-payload-model": "workspace:^" @@ -7407,8 +7067,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-payload-pointer@workspace:packages/modules/packages/diviner/packages/payloadpointer" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-payload-pointer-memory": "workspace:^" "@xyo-network/diviner-payload-pointer-model": "workspace:^" typescript: "npm:^5.7.2" @@ -7419,8 +7079,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-payload-stats-abstract@workspace:packages/modules/packages/diviner/packages/payloadstats/packages/abstract" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-abstract": "workspace:^" "@xyo-network/diviner-model": "workspace:^" "@xyo-network/diviner-payload-stats-model": "workspace:^" @@ -7433,10 +7093,10 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-payload-stats-memory@workspace:packages/modules/packages/diviner/packages/payloadstats/packages/memory" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/boundwitness-model": "workspace:^" "@xyo-network/diviner-payload-stats-abstract": "workspace:^" "@xyo-network/diviner-payload-stats-model": "workspace:^" @@ -7450,8 +7110,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-payload-stats-model@workspace:packages/modules/packages/diviner/packages/payloadstats/packages/model" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-model": "workspace:^" "@xyo-network/module-model": "workspace:^" "@xyo-network/payload-model": "workspace:^" @@ -7463,8 +7123,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-payload-stats@workspace:packages/modules/packages/diviner/packages/payloadstats" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-payload-stats-abstract": "workspace:^" "@xyo-network/diviner-payload-stats-memory": "workspace:^" "@xyo-network/diviner-payload-stats-model": "workspace:^" @@ -7476,8 +7136,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-payload@workspace:packages/modules/packages/diviner/packages/payload" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-payload-abstract": "workspace:^" "@xyo-network/diviner-payload-generic": "workspace:^" "@xyo-network/diviner-payload-memory": "workspace:^" @@ -7490,9 +7150,9 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-range-model@workspace:packages/modules/packages/diviner/packages/range/packages/model" dependencies: - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-model": "workspace:^" "@xyo-network/payload-model": "workspace:^" typescript: "npm:^5.7.2" @@ -7503,10 +7163,10 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-range@workspace:packages/modules/packages/diviner/packages/range" dependencies: - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/diviner-abstract": "workspace:^" "@xyo-network/diviner-model": "workspace:^" "@xyo-network/diviner-range-model": "workspace:^" @@ -7521,8 +7181,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-schema-list-abstract@workspace:packages/modules/packages/diviner/packages/schemalist/packages/abstract" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-abstract": "workspace:^" "@xyo-network/diviner-model": "workspace:^" "@xyo-network/diviner-schema-list-model": "workspace:^" @@ -7535,11 +7195,11 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-schema-list-memory@workspace:packages/modules/packages/diviner/packages/schemalist/packages/memory" dependencies: - "@xylabs/array": "npm:^4.4.10" - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/array": "npm:^4.4.25" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/boundwitness-model": "workspace:^" "@xyo-network/diviner-schema-list-abstract": "workspace:^" "@xyo-network/diviner-schema-list-model": "workspace:^" @@ -7553,8 +7213,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-schema-list-model@workspace:packages/modules/packages/diviner/packages/schemalist/packages/model" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-model": "workspace:^" "@xyo-network/module-model": "workspace:^" "@xyo-network/payload-model": "workspace:^" @@ -7566,8 +7226,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-schema-list@workspace:packages/modules/packages/diviner/packages/schemalist" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-schema-list-abstract": "workspace:^" "@xyo-network/diviner-schema-list-memory": "workspace:^" "@xyo-network/diviner-schema-list-model": "workspace:^" @@ -7579,8 +7239,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-schema-stats-abstract@workspace:packages/modules/packages/diviner/packages/schemastats/packages/abstract" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-abstract": "workspace:^" "@xyo-network/diviner-model": "workspace:^" "@xyo-network/diviner-schema-stats-model": "workspace:^" @@ -7593,10 +7253,10 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-schema-stats-memory@workspace:packages/modules/packages/diviner/packages/schemastats/packages/memory" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/boundwitness-model": "workspace:^" "@xyo-network/diviner-schema-stats-abstract": "workspace:^" "@xyo-network/diviner-schema-stats-model": "workspace:^" @@ -7610,8 +7270,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-schema-stats-model@workspace:packages/modules/packages/diviner/packages/schemastats/packages/model" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-model": "workspace:^" "@xyo-network/module-model": "workspace:^" "@xyo-network/payload-model": "workspace:^" @@ -7623,8 +7283,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-schema-stats@workspace:packages/modules/packages/diviner/packages/schemastats" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-schema-stats-abstract": "workspace:^" "@xyo-network/diviner-schema-stats-memory": "workspace:^" "@xyo-network/diviner-schema-stats-model": "workspace:^" @@ -7636,11 +7296,12 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-stateful@workspace:packages/modules/packages/diviner/packages/stateful" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/account": "workspace:^" "@xyo-network/archivist-memory": "workspace:^" "@xyo-network/archivist-model": "workspace:^" @@ -7668,20 +7329,21 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-temporal-indexing-memory@workspace:packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/memory" dependencies: - "@xylabs/array": "npm:^4.4.10" - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/delay": "npm:^4.4.10" - "@xylabs/exists": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/array": "npm:^4.4.25" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/delay": "npm:^4.4.25" + "@xylabs/exists": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/account": "workspace:^" "@xyo-network/archivist-memory": "workspace:^" "@xyo-network/archivist-model": "workspace:^" "@xyo-network/archivist-wrapper": "workspace:^" "@xyo-network/boundwitness-builder": "workspace:^" "@xyo-network/boundwitness-model": "workspace:^" + "@xyo-network/boundwitness-validator": "workspace:^" "@xyo-network/diviner-abstract": "workspace:^" "@xyo-network/diviner-boundwitness-abstract": "workspace:^" "@xyo-network/diviner-boundwitness-model": "workspace:^" @@ -7710,9 +7372,9 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-temporal-indexing-model@workspace:packages/modules/packages/diviner/packages/indexing/packages/temporal/packages/model" dependencies: - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-boundwitness-model": "workspace:^" "@xyo-network/diviner-indexing-model": "workspace:^" "@xyo-network/diviner-jsonpath-model": "workspace:^" @@ -7727,8 +7389,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-temporal-indexing@workspace:packages/modules/packages/diviner/packages/indexing/packages/temporal" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-temporal-indexing-memory": "workspace:^" "@xyo-network/diviner-temporal-indexing-model": "workspace:^" typescript: "npm:^5.7.2" @@ -7739,8 +7401,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-transform-abstract@workspace:packages/modules/packages/diviner/packages/transform/packages/abstract" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-abstract": "workspace:^" "@xyo-network/diviner-model": "workspace:^" "@xyo-network/diviner-transform-model": "workspace:^" @@ -7755,9 +7417,9 @@ __metadata: resolution: "@xyo-network/diviner-transform-memory@workspace:packages/modules/packages/diviner/packages/transform/packages/memory" dependencies: "@types/jsonpath": "npm:^0.2.4" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/account": "workspace:^" "@xyo-network/diviner-transform-abstract": "workspace:^" "@xyo-network/diviner-transform-model": "workspace:^" @@ -7773,9 +7435,9 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-transform-model@workspace:packages/modules/packages/diviner/packages/transform/packages/model" dependencies: - "@xylabs/object": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-model": "workspace:^" "@xyo-network/payload-model": "workspace:^" typescript: "npm:^5.7.2" @@ -7786,8 +7448,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-transform@workspace:packages/modules/packages/diviner/packages/transform" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-transform-abstract": "workspace:^" "@xyo-network/diviner-transform-memory": "workspace:^" "@xyo-network/diviner-transform-model": "workspace:^" @@ -7799,10 +7461,10 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner-wrapper@workspace:packages/modules/packages/diviner/packages/wrapper" dependencies: - "@xylabs/retry": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/retry": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/account-model": "workspace:^" "@xyo-network/diviner-identity": "workspace:^" "@xyo-network/diviner-model": "workspace:^" @@ -7819,8 +7481,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/diviner@workspace:packages/modules/packages/diviner" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/diviner-abstract": "workspace:^" "@xyo-network/diviner-address-chain": "workspace:^" "@xyo-network/diviner-address-history": "workspace:^" @@ -7848,9 +7510,9 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/dns@workspace:packages/sdk-utils/packages/dns" dependencies: - "@xylabs/axios": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/axios": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" typescript: "npm:^5.7.2" languageName: unknown linkType: soft @@ -7859,13 +7521,13 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/domain-payload-plugin@workspace:packages/core-payload-plugins/packages/domain" dependencies: - "@xylabs/axios": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/platform": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/axios": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/platform": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/api-models": "workspace:^" "@xyo-network/dns": "workspace:^" "@xyo-network/huri": "workspace:^" @@ -7884,20 +7546,19 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/filesystem-archivist@workspace:packages/modules/packages/archivist/packages/filesystem" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/error": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/error": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/account": "workspace:^" "@xyo-network/archivist-abstract": "workspace:^" "@xyo-network/archivist-memory": "workspace:^" "@xyo-network/archivist-model": "workspace:^" "@xyo-network/boundwitness-model": "workspace:^" "@xyo-network/module-model": "workspace:^" - "@xyo-network/payload-builder": "workspace:^" "@xyo-network/payload-model": "workspace:^" typescript: "npm:^5.7.2" vitest: "npm:^2.1.8" @@ -7908,18 +7569,18 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/hash@workspace:packages/protocol/packages/core/packages/hash" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/delay": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/platform": "npm:^4.4.10" - "@xylabs/threads": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/typeof": "npm:^4.4.10" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/delay": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/platform": "npm:^4.4.25" + "@xylabs/threads": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/typeof": "npm:^4.4.25" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/wasm": "workspace:^" - esbuild: "npm:^0.24.0" + esbuild: "npm:^0.24.2" hash-wasm: "npm:^4.12.0" publint: "npm:^0.2.12" typescript: "npm:^5.7.2" @@ -7931,13 +7592,13 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/huri@workspace:packages/protocol/packages/payload/packages/huri" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/axios": "npm:^4.4.10" - "@xylabs/delay": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/axios": "npm:^4.4.25" + "@xylabs/delay": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/account": "workspace:^" "@xyo-network/payload-model": "workspace:^" typescript: "npm:^5.7.2" @@ -7949,9 +7610,10 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/id-payload-plugin@workspace:packages/core-payload-plugins/packages/id" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/payload-model": "workspace:^" "@xyo-network/payload-plugin": "workspace:^" typescript: "npm:^5.7.2" @@ -7963,9 +7625,9 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/key-model@workspace:packages/protocol/packages/account/packages/keypair-model" dependencies: - "@types/node": "npm:^22.10.1" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@types/node": "npm:^22.10.2" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/data": "workspace:^" typescript: "npm:^5.7.2" languageName: unknown @@ -7975,10 +7637,10 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/manifest-model@workspace:packages/manifest/packages/model" dependencies: - "@types/node": "npm:^22.10.1" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@types/node": "npm:^22.10.2" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/payload-model": "workspace:^" typescript: "npm:^5.7.2" typescript-json-schema: "npm:^0.65.1" @@ -7989,11 +7651,11 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/manifest-wrapper@workspace:packages/manifest/packages/wrapper" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/account": "workspace:^" "@xyo-network/manifest-model": "workspace:^" "@xyo-network/module-factory-locator": "workspace:^" @@ -8012,9 +7674,9 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/manifest@workspace:packages/manifest" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/manifest-model": "workspace:^" "@xyo-network/manifest-wrapper": "workspace:^" ajv: "npm:^8.17.1" @@ -8027,10 +7689,10 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/metamask-connector@workspace:packages/sdk-utils/packages/metamask-connector" dependencies: - "@metamask/providers": "npm:^18.2.0" - "@xylabs/forget": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig-dom": "npm:^4.2.4" + "@metamask/providers": "npm:^18.3.1" + "@xylabs/forget": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig-dom": "npm:^4.2.6" ethers: "npm:6.13.4" typescript: "npm:^5.7.2" languageName: unknown @@ -8040,17 +7702,17 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/module-abstract@workspace:packages/modules/packages/module/packages/abstract" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/error": "npm:^4.4.10" - "@xylabs/exists": "npm:^4.4.10" - "@xylabs/forget": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/logger": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/error": "npm:^4.4.25" + "@xylabs/exists": "npm:^4.4.25" + "@xylabs/forget": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/logger": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/account": "workspace:^" "@xyo-network/account-model": "workspace:^" "@xyo-network/archivist-model": "workspace:^" @@ -8077,9 +7739,9 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/module-event-emitter@workspace:packages/modules/packages/module/packages/emitter" dependencies: - "@xylabs/object": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/module-events": "workspace:^" typescript: "npm:^5.7.2" languageName: unknown @@ -8089,15 +7751,15 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/module-events@workspace:packages/modules/packages/module/packages/events" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/delay": "npm:^4.4.10" - "@xylabs/error": "npm:^4.4.10" - "@xylabs/forget": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/delay": "npm:^4.4.25" + "@xylabs/error": "npm:^4.4.25" + "@xylabs/forget": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" typescript: "npm:^5.7.2" vitest: "npm:^2.1.8" languageName: unknown @@ -8107,9 +7769,9 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/module-factory-locator@workspace:packages/modules/packages/module/packages/locator" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/archivist-memory": "workspace:^" "@xyo-network/archivist-view": "workspace:^" "@xyo-network/bridge-http": "workspace:^" @@ -8131,17 +7793,17 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/module-model@workspace:packages/modules/packages/module/packages/model" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/exists": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/logger": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/retry": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/typeof": "npm:^4.4.10" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/exists": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/logger": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/retry": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/typeof": "npm:^4.4.25" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/account-model": "workspace:^" "@xyo-network/boundwitness-model": "workspace:^" "@xyo-network/manifest-model": "workspace:^" @@ -8156,14 +7818,14 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/module-resolver@workspace:packages/modules/packages/module/packages/resolver" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/exists": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/exists": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/diviner-model": "workspace:^" "@xyo-network/diviner-payload-model": "workspace:^" "@xyo-network/module-model": "workspace:^" @@ -8177,14 +7839,14 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/module-wrapper@workspace:packages/modules/packages/module/packages/wrapper" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/exists": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/logger": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/exists": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/logger": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/account-model": "workspace:^" "@xyo-network/boundwitness-builder": "workspace:^" "@xyo-network/boundwitness-model": "workspace:^" @@ -8202,8 +7864,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/module@workspace:packages/modules/packages/module" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/module-abstract": "workspace:^" "@xyo-network/module-event-emitter": "workspace:^" "@xyo-network/module-events": "workspace:^" @@ -8219,11 +7881,11 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/modules@workspace:packages/modules" dependencies: - "@swc/core": "npm:1.10.0" - "@xylabs/delay": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@swc/core": "npm:1.10.1" + "@xylabs/delay": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/account": "workspace:^" "@xyo-network/archivist": "workspace:^" "@xyo-network/archivist-memory": "workspace:^" @@ -8256,10 +7918,10 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/network@workspace:packages/sdk-utils/packages/network" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/payload-builder": "workspace:^" "@xyo-network/payload-model": "workspace:^" "@xyo-network/payload-wrapper": "workspace:^" @@ -8271,12 +7933,12 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/node-abstract@workspace:packages/modules/packages/node/packages/abstract" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/account-model": "workspace:^" "@xyo-network/boundwitness-model": "workspace:^" "@xyo-network/boundwitness-wrapper": "workspace:^" @@ -8294,12 +7956,12 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/node-memory@workspace:packages/modules/packages/node/packages/memory" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/exists": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/exists": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/module-events": "workspace:^" "@xyo-network/module-model": "workspace:^" "@xyo-network/module-resolver": "workspace:^" @@ -8314,11 +7976,11 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/node-model@workspace:packages/modules/packages/node/packages/model" dependencies: - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/typeof": "npm:^4.4.10" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/typeof": "npm:^4.4.25" "@xyo-network/account-model": "workspace:^" "@xyo-network/module-events": "workspace:^" "@xyo-network/module-model": "workspace:^" @@ -8331,11 +7993,11 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/node-view@workspace:packages/modules/packages/node/packages/view" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/exists": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/exists": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/module-events": "workspace:^" "@xyo-network/module-model": "workspace:^" "@xyo-network/module-resolver": "workspace:^" @@ -8351,9 +8013,9 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/node-wrapper@workspace:packages/modules/packages/node/packages/wrapper" dependencies: - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/account-model": "workspace:^" "@xyo-network/manifest-model": "workspace:^" "@xyo-network/module-model": "workspace:^" @@ -8369,11 +8031,11 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/node@workspace:packages/modules/packages/node" dependencies: - "@xylabs/delay": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" - "@xylabs/vitest-matchers": "npm:^4.4.10" + "@xylabs/delay": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" + "@xylabs/vitest-matchers": "npm:^4.4.25" "@xyo-network/account": "workspace:^" "@xyo-network/account-model": "workspace:^" "@xyo-network/archivist-memory": "workspace:^" @@ -8399,9 +8061,9 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/object@workspace:packages/protocol/packages/core/packages/object" dependencies: - "@xylabs/object": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" typescript: "npm:^5.7.2" languageName: unknown linkType: soft @@ -8410,14 +8072,14 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/payload-builder@workspace:packages/protocol/packages/payload/packages/builder" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/logger": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/logger": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/hash": "workspace:^" "@xyo-network/payload-model": "workspace:^" typescript: "npm:^5.7.2" @@ -8429,11 +8091,13 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/payload-model@workspace:packages/protocol/packages/payload/packages/model" dependencies: - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/arraybuffer": "npm:^4.4.25" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" typescript: "npm:^5.7.2" vitest: "npm:^2.1.8" languageName: unknown @@ -8443,10 +8107,10 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/payload-plugin@workspace:packages/sdk-utils/packages/payload-plugin" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/payload-builder": "workspace:^" "@xyo-network/payload-model": "workspace:^" "@xyo-network/payload-validator": "workspace:^" @@ -8459,12 +8123,12 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/payload-utils@workspace:packages/protocol/packages/payload/packages/utils" dependencies: - "@xylabs/exists": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/set": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/exists": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/set": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/boundwitness-builder": "workspace:^" "@xyo-network/boundwitness-model": "workspace:^" "@xyo-network/hash": "workspace:^" @@ -8479,11 +8143,11 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/payload-validator@workspace:packages/protocol/packages/payload/packages/validator" dependencies: - "@xylabs/object": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/payload-model": "workspace:^" "@xyo-network/schema-name-validator": "workspace:^" typescript: "npm:^5.7.2" @@ -8495,11 +8159,11 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/payload-wrapper@workspace:packages/protocol/packages/payload/packages/wrapper" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/payload-builder": "workspace:^" "@xyo-network/payload-model": "workspace:^" "@xyo-network/payload-validator": "workspace:^" @@ -8512,8 +8176,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/payload@workspace:packages/protocol/packages/payload" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/huri": "workspace:^" "@xyo-network/payload-builder": "workspace:^" "@xyo-network/payload-model": "workspace:^" @@ -8527,11 +8191,11 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/payloadset-plugin@workspace:packages/sdk-utils/packages/payloadset-plugin" dependencies: - "@xylabs/forget": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/forget": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/boundwitness-model": "workspace:^" "@xyo-network/boundwitness-wrapper": "workspace:^" "@xyo-network/diviner-model": "workspace:^" @@ -8546,14 +8210,14 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/previous-hash-store-indexeddb@workspace:packages/protocol/packages/account/packages/previous-hash-store/packages/indexeddb" dependencies: - "@types/node": "npm:^22.10.1" + "@types/node": "npm:^22.10.2" "@types/uuid": "npm:10.0.0" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/previous-hash-store-model": "workspace:^" fake-indexeddb: "npm:^6.0.0" - idb: "npm:^8.0.0" + idb: "npm:^8.0.1" typescript: "npm:^5.7.2" uuid: "npm:^11.0.3" vitest: "npm:^2.1.8" @@ -8564,9 +8228,9 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/previous-hash-store-model@workspace:packages/protocol/packages/account/packages/previous-hash-store/packages/model" dependencies: - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" typescript: "npm:^5.7.2" languageName: unknown linkType: soft @@ -8575,11 +8239,11 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/previous-hash-store-storage@workspace:packages/protocol/packages/account/packages/previous-hash-store/packages/storage" dependencies: - "@types/node": "npm:^22.10.1" + "@types/node": "npm:^22.10.2" "@types/uuid": "npm:^10.0.0" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/previous-hash-store-model": "workspace:^" store2: "npm:^2.14.3" typescript: "npm:^5.7.2" @@ -8592,8 +8256,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/previous-hash-store@workspace:packages/protocol/packages/account/packages/previous-hash-store" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/previous-hash-store-indexeddb": "workspace:^" "@xyo-network/previous-hash-store-model": "workspace:^" "@xyo-network/previous-hash-store-storage": "workspace:^" @@ -8605,8 +8269,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/protocol@workspace:packages/protocol" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/account": "workspace:^" "@xyo-network/boundwitness": "workspace:^" "@xyo-network/core": "workspace:^" @@ -8619,13 +8283,13 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/quadkey@workspace:packages/sdk-utils/packages/quadkey" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/sdk-geo": "npm:^3.0.2" - mapbox-gl: "npm:^3.8.0" + mapbox-gl: "npm:^3.9.0" typescript: "npm:^5.7.2" vitest: "npm:^2.1.8" languageName: unknown @@ -8635,9 +8299,9 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/query-payload-plugin@workspace:packages/core-payload-plugins/packages/query" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/payload-model": "workspace:^" "@xyo-network/payload-plugin": "workspace:^" typescript: "npm:^5.7.2" @@ -8649,12 +8313,12 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/schema-cache@workspace:packages/sdk-utils/packages/schema-cache" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/delay": "npm:^4.4.10" - "@xylabs/error": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig-dom": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/delay": "npm:^4.4.25" + "@xylabs/error": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig-dom": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/domain-payload-plugin": "workspace:^" "@xyo-network/huri": "workspace:^" "@xyo-network/network": "workspace:^" @@ -8673,8 +8337,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/schema-name-validator@workspace:packages/sdk-utils/packages/schema-name-validator" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/dns": "workspace:^" typescript: "npm:^5.7.2" languageName: unknown @@ -8684,9 +8348,9 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/schema-payload-plugin@workspace:packages/core-payload-plugins/packages/schema" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/payload-model": "workspace:^" "@xyo-network/payload-plugin": "workspace:^" typescript: "npm:^5.7.2" @@ -8709,17 +8373,18 @@ __metadata: resolution: "@xyo-network/sdk-js@workspace:." dependencies: "@babel/core": "npm:^7.26.0" - "@firebase/app": "npm:^0.10.16" - "@firebase/app-compat": "npm:^0.2.46" - "@stylistic/eslint-plugin": "npm:^2.11.0" + "@firebase/app": "npm:^0.10.17" + "@firebase/app-compat": "npm:^0.2.47" + "@stylistic/eslint-plugin": "npm:^2.12.1" "@types/supertest": "npm:^6.0.2" - "@typescript-eslint/eslint-plugin": "npm:^8.17.0" - "@typescript-eslint/parser": "npm:^8.17.0" - "@xylabs/eslint-config-flat": "npm:^4.2.4" - "@xylabs/forget": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@typescript-eslint/eslint-plugin": "npm:^8.18.1" + "@typescript-eslint/parser": "npm:^8.18.1" + "@vitest/coverage-v8": "npm:^2.1.8" + "@xylabs/eslint-config-flat": "npm:^4.2.6" + "@xylabs/forget": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/core-payload-plugins": "workspace:^" "@xyo-network/manifest": "workspace:^" "@xyo-network/modules": "workspace:^" @@ -8727,14 +8392,14 @@ __metadata: "@xyo-network/sdk-utils": "workspace:^" "@xyo-network/shared": "workspace:^" dotenv: "npm:^16.4.7" - eslint: "npm:^9.16.0" + eslint: "npm:^9.17.0" eslint-import-resolver-typescript: "npm:^3.7.0" jsdom: "npm:^25.0.1" reflect-metadata: "npm:^0.2.2" supertest: "npm:^7.0.0" ts-node: "npm:^10.9.2" tslib: "npm:^2.8.1" - typedoc: "npm:^0.27.3" + typedoc: "npm:^0.27.5" typedoc-material-theme: "npm:^1.2.0" typescript: "npm:^5.7.2" vitest: "npm:^2.1.8" @@ -8745,8 +8410,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/sdk-utils@workspace:packages/sdk-utils" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/api-models": "workspace:^" "@xyo-network/dns": "workspace:^" "@xyo-network/metamask-connector": "workspace:^" @@ -8764,17 +8429,18 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/sentinel-abstract@workspace:packages/modules/packages/sentinel/packages/abstract" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/forget": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/forget": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/account-model": "workspace:^" "@xyo-network/boundwitness-builder": "workspace:^" "@xyo-network/boundwitness-model": "workspace:^" "@xyo-network/boundwitness-wrapper": "workspace:^" "@xyo-network/module-abstract": "workspace:^" "@xyo-network/module-model": "workspace:^" + "@xyo-network/payload-builder": "workspace:^" "@xyo-network/payload-model": "workspace:^" "@xyo-network/sentinel-model": "workspace:^" typescript: "npm:^5.7.2" @@ -8785,14 +8451,14 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/sentinel-memory@workspace:packages/modules/packages/sentinel/packages/memory" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/delay": "npm:^4.4.10" - "@xylabs/forget": "npm:^4.4.10" - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/delay": "npm:^4.4.25" + "@xylabs/forget": "npm:^4.4.25" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/abstract-witness": "workspace:^" "@xyo-network/archivist-memory": "workspace:^" "@xyo-network/diviner-model": "workspace:^" @@ -8815,11 +8481,11 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/sentinel-model@workspace:packages/modules/packages/sentinel/packages/model" dependencies: - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/account-model": "workspace:^" "@xyo-network/archivist-model": "workspace:^" "@xyo-network/boundwitness-model": "workspace:^" @@ -8836,10 +8502,10 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/sentinel-wrapper@workspace:packages/modules/packages/sentinel/packages/wrapper" dependencies: - "@xylabs/delay": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/delay": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/abstract-witness": "workspace:^" "@xyo-network/account": "workspace:^" "@xyo-network/account-model": "workspace:^" @@ -8864,8 +8530,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/sentinel@workspace:packages/modules/packages/sentinel" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/sentinel-abstract": "workspace:^" "@xyo-network/sentinel-memory": "workspace:^" "@xyo-network/sentinel-model": "workspace:^" @@ -8877,9 +8543,9 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/shared@workspace:packages/shared" dependencies: - "@xylabs/logger": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/logger": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" typescript: "npm:^5.7.2" languageName: unknown linkType: soft @@ -8888,9 +8554,9 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/typeof@workspace:packages/shared/packages/typeof" dependencies: - "@types/node": "npm:^22.10.1" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@types/node": "npm:^22.10.2" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" typescript: "npm:^5.7.2" languageName: unknown linkType: soft @@ -8899,10 +8565,10 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/value-payload-plugin@workspace:packages/core-payload-plugins/packages/value" dependencies: - "@xylabs/object": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/payload-model": "workspace:^" "@xyo-network/payload-plugin": "workspace:^" typescript: "npm:^5.7.2" @@ -8914,9 +8580,9 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/wallet-model@workspace:packages/protocol/packages/account/packages/wallet-model" dependencies: - "@xylabs/hex": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/hex": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/account-model": "workspace:^" ethers: "npm:^6.13.4" typescript: "npm:^5.7.2" @@ -8932,9 +8598,9 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/wasm@workspace:packages/protocol/packages/core/packages/wasm" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" typescript: "npm:^5.7.2" vitest: "npm:^2.1.8" wasm-feature-detect: "npm:^1.8.0" @@ -8945,10 +8611,10 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/witness-adhoc@workspace:packages/modules/packages/witness/packages/adhoc" dependencies: - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/abstract-witness": "workspace:^" "@xyo-network/account": "workspace:^" "@xyo-network/module-model": "workspace:^" @@ -8965,11 +8631,11 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/witness-blockchain-abstract@workspace:packages/modules/packages/witness/packages/blockchain/packages/abstract" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/abstract-witness": "workspace:^" "@xyo-network/module-model": "workspace:^" "@xyo-network/payload-model": "workspace:^" @@ -8983,8 +8649,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/witness-blockchain@workspace:packages/modules/packages/witness/packages/blockchain" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/witness-blockchain-abstract": "workspace:^" typescript: "npm:^5.7.2" languageName: unknown @@ -8994,13 +8660,14 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/witness-environment@workspace:packages/modules/packages/witness/packages/environment" dependencies: - "@xylabs/object": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/abstract-witness": "workspace:^" "@xyo-network/account": "workspace:^" "@xyo-network/module-model": "workspace:^" + "@xyo-network/payload-builder": "workspace:^" "@xyo-network/payload-model": "workspace:^" "@xyo-network/value-payload-plugin": "workspace:^" "@xyo-network/witness-model": "workspace:^" @@ -9013,11 +8680,11 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/witness-evm-abstract@workspace:packages/modules/packages/witness/packages/evm/packages/abstract" dependencies: - "@xylabs/assert": "npm:^4.4.10" - "@xylabs/object": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/assert": "npm:^4.4.25" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/abstract-witness": "workspace:^" "@xyo-network/module-model": "workspace:^" "@xyo-network/payload-model": "workspace:^" @@ -9031,8 +8698,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/witness-evm@workspace:packages/modules/packages/witness/packages/evm" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/witness-evm-abstract": "workspace:^" typescript: "npm:^5.7.2" languageName: unknown @@ -9042,11 +8709,11 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/witness-model@workspace:packages/modules/packages/witness/packages/model" dependencies: - "@xylabs/object": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/typeof": "npm:^4.4.10" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/typeof": "npm:^4.4.25" "@xyo-network/account-model": "workspace:^" "@xyo-network/module-events": "workspace:^" "@xyo-network/module-model": "workspace:^" @@ -9059,10 +8726,10 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/witness-timestamp@workspace:packages/modules/packages/witness/packages/timestamp" dependencies: - "@xylabs/object": "npm:^4.4.10" - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/object": "npm:^4.4.25" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/abstract-witness": "workspace:^" "@xyo-network/module-model": "workspace:^" "@xyo-network/payload-model": "workspace:^" @@ -9075,10 +8742,10 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/witness-wrapper@workspace:packages/modules/packages/witness/packages/wrapper" dependencies: - "@xylabs/promise": "npm:^4.4.10" - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" - "@xylabs/vitest-extended": "npm:^4.4.10" + "@xylabs/promise": "npm:^4.4.25" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" + "@xylabs/vitest-extended": "npm:^4.4.25" "@xyo-network/abstract-witness": "workspace:^" "@xyo-network/account": "workspace:^" "@xyo-network/account-model": "workspace:^" @@ -9095,8 +8762,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/witness@workspace:packages/modules/packages/witness" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/abstract-witness": "workspace:^" "@xyo-network/witness-evm": "workspace:^" "@xyo-network/witness-model": "workspace:^" @@ -9110,8 +8777,8 @@ __metadata: version: 0.0.0-use.local resolution: "@xyo-network/witnesses@workspace:packages/sdk-utils/packages/witnesses" dependencies: - "@xylabs/ts-scripts-yarn3": "npm:^4.2.4" - "@xylabs/tsconfig": "npm:^4.2.4" + "@xylabs/ts-scripts-yarn3": "npm:^4.2.6" + "@xylabs/tsconfig": "npm:^4.2.6" "@xyo-network/abstract-witness": "workspace:^" "@xyo-network/payload-model": "workspace:^" "@xyo-network/witness-model": "workspace:^" @@ -9152,7 +8819,7 @@ __metadata: languageName: node linkType: hard -"acorn-jsx@npm:^5.3.2": +"acorn-jsx@npm:^5.2.0, acorn-jsx@npm:^5.3.2": version: 5.3.2 resolution: "acorn-jsx@npm:5.3.2" peerDependencies: @@ -9170,6 +8837,15 @@ __metadata: languageName: node linkType: hard +"acorn@npm:^7.1.1": + version: 7.4.1 + resolution: "acorn@npm:7.4.1" + bin: + acorn: bin/acorn + checksum: 10/8be2a40714756d713dfb62544128adce3b7102c6eb94bc312af196c2cc4af76e5b93079bd66b05e9ca31b35a9b0ce12171d16bc55f366cafdb794fdab9d753ec + languageName: node + linkType: hard + "acorn@npm:^8.11.0, acorn@npm:^8.14.0, acorn@npm:^8.4.1, acorn@npm:^8.5.0, acorn@npm:^8.9.0": version: 8.14.0 resolution: "acorn@npm:8.14.0" @@ -9214,7 +8890,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^6.12.4, ajv@npm:^6.12.6": +"ajv@npm:^6.10.0, ajv@npm:^6.10.2, ajv@npm:^6.12.4, ajv@npm:^6.12.6": version: 6.12.6 resolution: "ajv@npm:6.12.6" dependencies: @@ -9238,6 +8914,22 @@ __metadata: languageName: node linkType: hard +"ansi-escapes@npm:^4.2.1": + version: 4.3.2 + resolution: "ansi-escapes@npm:4.3.2" + dependencies: + type-fest: "npm:^0.21.3" + checksum: 10/8661034456193ffeda0c15c8c564a9636b0c04094b7f78bd01517929c17c504090a60f7a75f949f5af91289c264d3e1001d91492c1bd58efc8e100500ce04de2 + languageName: node + linkType: hard + +"ansi-regex@npm:^4.1.0": + version: 4.1.1 + resolution: "ansi-regex@npm:4.1.1" + checksum: 10/b1a6ee44cb6ecdabaa770b2ed500542714d4395d71c7e5c25baa631f680fb2ad322eb9ba697548d498a6fd366949fc8b5bfcf48d49a32803611f648005b01888 + languageName: node + linkType: hard + "ansi-regex@npm:^5.0.1": version: 5.0.1 resolution: "ansi-regex@npm:5.0.1" @@ -9252,7 +8944,7 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^3.2.1": +"ansi-styles@npm:^3.2.0, ansi-styles@npm:^3.2.1": version: 3.2.1 resolution: "ansi-styles@npm:3.2.1" dependencies: @@ -9307,15 +8999,6 @@ __metadata: languageName: node linkType: hard -"aria-query@npm:~5.1.3": - version: 5.1.3 - resolution: "aria-query@npm:5.1.3" - dependencies: - deep-equal: "npm:^2.0.5" - checksum: 10/e5da608a7c4954bfece2d879342b6c218b6b207e2d9e5af270b5e38ef8418f02d122afdc948b68e32649b849a38377785252059090d66fa8081da95d1609c0d2 - languageName: node - linkType: hard - "arima@npm:^0.2.5": version: 0.2.5 resolution: "arima@npm:0.2.5" @@ -9323,7 +9006,7 @@ __metadata: languageName: node linkType: hard -"array-buffer-byte-length@npm:^1.0.0, array-buffer-byte-length@npm:^1.0.1": +"array-buffer-byte-length@npm:^1.0.1": version: 1.0.1 resolution: "array-buffer-byte-length@npm:1.0.1" dependencies: @@ -9354,7 +9037,7 @@ __metadata: languageName: node linkType: hard -"array-includes@npm:^3.1.6, array-includes@npm:^3.1.8": +"array-includes@npm:^3.1.6": version: 3.1.8 resolution: "array-includes@npm:3.1.8" dependencies: @@ -9375,35 +9058,7 @@ __metadata: languageName: node linkType: hard -"array.prototype.findlast@npm:^1.2.5": - version: 1.2.5 - resolution: "array.prototype.findlast@npm:1.2.5" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.2" - es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.0.0" - es-shim-unscopables: "npm:^1.0.2" - checksum: 10/7dffcc665aa965718ad6de7e17ac50df0c5e38798c0a5bf9340cf24feb8594df6ec6f3fcbe714c1577728a1b18b5704b15669474b27bceeca91ef06ce2a23c31 - languageName: node - linkType: hard - -"array.prototype.findlastindex@npm:^1.2.5": - version: 1.2.5 - resolution: "array.prototype.findlastindex@npm:1.2.5" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.2" - es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.0.0" - es-shim-unscopables: "npm:^1.0.2" - checksum: 10/7c5c821f357cd53ab6cc305de8086430dd8d7a2485db87b13f843e868055e9582b1fd338f02338f67fc3a1603ceaf9610dd2a470b0b506f9d18934780f95b246 - languageName: node - linkType: hard - -"array.prototype.flat@npm:^1.3.1, array.prototype.flat@npm:^1.3.2": +"array.prototype.flat@npm:^1.3.1": version: 1.3.2 resolution: "array.prototype.flat@npm:1.3.2" dependencies: @@ -9415,31 +9070,6 @@ __metadata: languageName: node linkType: hard -"array.prototype.flatmap@npm:^1.3.2": - version: 1.3.2 - resolution: "array.prototype.flatmap@npm:1.3.2" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - es-shim-unscopables: "npm:^1.0.0" - checksum: 10/33f20006686e0cbe844fde7fd290971e8366c6c5e3380681c2df15738b1df766dd02c7784034aeeb3b037f65c496ee54de665388288edb323a2008bb550f77ea - languageName: node - linkType: hard - -"array.prototype.tosorted@npm:^1.1.4": - version: 1.1.4 - resolution: "array.prototype.tosorted@npm:1.1.4" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.3" - es-errors: "npm:^1.3.0" - es-shim-unscopables: "npm:^1.0.2" - checksum: 10/874694e5d50e138894ff5b853e639c29b0aa42bbd355acda8e8e9cd337f1c80565f21edc15e8c727fa4c0877fd9d8783c575809e440cc4d2d19acaa048bf967d - languageName: node - linkType: hard - "arraybuffer.prototype.slice@npm:^1.0.3": version: 1.0.3 resolution: "arraybuffer.prototype.slice@npm:1.0.3" @@ -9484,10 +9114,10 @@ __metadata: languageName: node linkType: hard -"ast-types-flow@npm:^0.0.8": - version: 0.0.8 - resolution: "ast-types-flow@npm:0.0.8" - checksum: 10/85a1c24af4707871c27cfe456bd2ff7fcbe678f3d1c878ac968c9557735a171a17bdcc8c8f903ceab3fc3c49d5b3da2194e6ab0a6be7fec0e133fa028f21ba1b +"astral-regex@npm:^1.0.0": + version: 1.0.0 + resolution: "astral-regex@npm:1.0.0" + checksum: 10/93417fc0879531cd95ace2560a54df865c9461a3ac0714c60cbbaa5f1f85d2bee85489e78d82f70b911b71ac25c5f05fc5a36017f44c9bb33c701bee229ff848 languageName: node linkType: hard @@ -9523,13 +9153,6 @@ __metadata: languageName: node linkType: hard -"axe-core@npm:^4.10.0": - version: 4.10.2 - resolution: "axe-core@npm:4.10.2" - checksum: 10/a69423b2ff16c15922c4ea7cf9cc5112728a2817bbe0f2cc212248d648885ffd1ba554e3a341dfc289cd9e67fc0d06f333b5c6837c5c38ca6652507381216fc1 - languageName: node - linkType: hard - "axios@npm:^1": version: 1.7.7 resolution: "axios@npm:1.7.7" @@ -9541,13 +9164,6 @@ __metadata: languageName: node linkType: hard -"axobject-query@npm:^4.1.0": - version: 4.1.0 - resolution: "axobject-query@npm:4.1.0" - checksum: 10/e275dea9b673f71170d914f2d2a18be5d57d8d29717b629e7fedd907dcc2ebdc7a37803ff975874810bd423f222f299c020d28fde40a146f537448bf6bfecb6e - languageName: node - linkType: hard - "babel-plugin-polyfill-corejs2@npm:^0.4.10": version: 0.4.12 resolution: "babel-plugin-polyfill-corejs2@npm:0.4.12" @@ -9816,13 +9432,6 @@ __metadata: languageName: node linkType: hard -"ccount@npm:^2.0.0": - version: 2.0.1 - resolution: "ccount@npm:2.0.1" - checksum: 10/48193dada54c9e260e0acf57fc16171a225305548f9ad20d5471e0f7a8c026aedd8747091dccb0d900cde7df4e4ddbd235df0d8de4a64c71b12f0d3303eeafd4 - languageName: node - linkType: hard - "chai@npm:^5.1.2": version: 5.1.2 resolution: "chai@npm:5.1.2" @@ -9836,7 +9445,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^2.4.1": +"chalk@npm:^2.1.0, chalk@npm:^2.4.1": version: 2.4.2 resolution: "chalk@npm:2.4.2" dependencies: @@ -9871,13 +9480,6 @@ __metadata: languageName: node linkType: hard -"character-entities-html4@npm:^2.0.0": - version: 2.1.0 - resolution: "character-entities-html4@npm:2.1.0" - checksum: 10/7034aa7c7fa90309667f6dd50499c8a760c3d3a6fb159adb4e0bada0107d194551cdbad0714302f62d06ce4ed68565c8c2e15fdef2e8f8764eb63fa92b34b11d - languageName: node - linkType: hard - "character-entities-legacy@npm:^1.0.0": version: 1.1.4 resolution: "character-entities-legacy@npm:1.1.4" @@ -9885,13 +9487,6 @@ __metadata: languageName: node linkType: hard -"character-entities-legacy@npm:^3.0.0": - version: 3.0.0 - resolution: "character-entities-legacy@npm:3.0.0" - checksum: 10/7582af055cb488b626d364b7d7a4e46b06abd526fb63c0e4eb35bcb9c9799cc4f76b39f34fdccef2d1174ac95e53e9ab355aae83227c1a2505877893fce77731 - languageName: node - linkType: hard - "character-entities@npm:^1.0.0": version: 1.2.4 resolution: "character-entities@npm:1.2.4" @@ -9906,6 +9501,13 @@ __metadata: languageName: node linkType: hard +"chardet@npm:^0.7.0": + version: 0.7.0 + resolution: "chardet@npm:0.7.0" + checksum: 10/b0ec668fba5eeec575ed2559a0917ba41a6481f49063c8445400e476754e0957ee09e44dc032310f526182b8f1bf25e9d4ed371f74050af7be1383e06bc44952 + languageName: node + linkType: hard + "cheap-ruler@npm:^4.0.0": version: 4.0.0 resolution: "cheap-ruler@npm:4.0.0" @@ -9959,6 +9561,22 @@ __metadata: languageName: node linkType: hard +"cli-cursor@npm:^3.1.0": + version: 3.1.0 + resolution: "cli-cursor@npm:3.1.0" + dependencies: + restore-cursor: "npm:^3.1.0" + checksum: 10/2692784c6cd2fd85cfdbd11f53aea73a463a6d64a77c3e098b2b4697a20443f430c220629e1ca3b195ea5ac4a97a74c2ee411f3807abf6df2b66211fec0c0a29 + languageName: node + linkType: hard + +"cli-width@npm:^3.0.0": + version: 3.0.0 + resolution: "cli-width@npm:3.0.0" + checksum: 10/8730848b04fb189666ab037a35888d191c8f05b630b1d770b0b0e4c920b47bb5cc14bddf6b8ffe5bfc66cee97c8211d4d18e756c1ffcc75d7dbe7e1186cd7826 + languageName: node + linkType: hard + "cliui@npm:^7.0.2": version: 7.0.4 resolution: "cliui@npm:7.0.4" @@ -10080,13 +9698,6 @@ __metadata: languageName: node linkType: hard -"comma-separated-tokens@npm:^2.0.0": - version: 2.0.3 - resolution: "comma-separated-tokens@npm:2.0.3" - checksum: 10/e3bf9e0332a5c45f49b90e79bcdb4a7a85f28d6a6f0876a94f1bb9b2bfbdbbb9292aac50e1e742d8c0db1e62a0229a106f57917e2d067fca951d81737651700d - languageName: node - linkType: hard - "commander@npm:^4.0.0": version: 4.1.1 resolution: "commander@npm:4.1.1" @@ -10216,7 +9827,7 @@ __metadata: languageName: node linkType: hard -"core-js-compat@npm:^3.37.1, core-js-compat@npm:^3.38.0, core-js-compat@npm:^3.38.1": +"core-js-compat@npm:^3.38.0, core-js-compat@npm:^3.38.1": version: 3.39.0 resolution: "core-js-compat@npm:3.39.0" dependencies: @@ -10235,16 +9846,16 @@ __metadata: languageName: node linkType: hard -"cosmiconfig-typescript-loader@npm:^6.0.0": - version: 6.0.0 - resolution: "cosmiconfig-typescript-loader@npm:6.0.0" +"cosmiconfig-typescript-loader@npm:^6.1.0": + version: 6.1.0 + resolution: "cosmiconfig-typescript-loader@npm:6.1.0" dependencies: - jiti: "npm:^2.3.3" + jiti: "npm:^2.4.1" peerDependencies: "@types/node": "*" cosmiconfig: ">=9" typescript: ">=5" - checksum: 10/af7d665316cae65c8429aa92a3f41d3e63e3b4a8c93c70b6df72baf27dcf8e73a485fb2dbc2a04339c06ba935c3660aca02875af0b2de0a354355104c3b7a15f + checksum: 10/e8b28b08759753c46a991e3d4db675480ea0081da9c098e426a89f4a12395e448c3090536d1ec1cb7adb5d7beb0ea266b7717053e3adbc283806a3b62339b68d languageName: node linkType: hard @@ -10325,7 +9936,20 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2": +"cross-spawn@npm:^6.0.5": + version: 6.0.6 + resolution: "cross-spawn@npm:6.0.6" + dependencies: + nice-try: "npm:^1.0.4" + path-key: "npm:^2.0.1" + semver: "npm:^5.5.0" + shebang-command: "npm:^1.2.0" + which: "npm:^1.2.9" + checksum: 10/7abf6137b23293103a22bfeaf320f2d63faae70d97ddb4b58597237501d2efdd84cdc69a30246977e0c5f68216593894d41a7f122915dd4edf448db14c74171b + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.6": version: 7.0.6 resolution: "cross-spawn@npm:7.0.6" dependencies: @@ -10352,13 +9976,6 @@ __metadata: languageName: node linkType: hard -"damerau-levenshtein@npm:^1.0.8": - version: 1.0.8 - resolution: "damerau-levenshtein@npm:1.0.8" - checksum: 10/f4eba1c90170f96be25d95fa3857141b5f81e254f7e4d530da929217b19990ea9a0390fc53d3c1cafac9152fda78e722ea4894f765cf6216be413b5af1fbf821 - languageName: node - linkType: hard - "data-urls@npm:^5.0.0": version: 5.0.0 resolution: "data-urls@npm:5.0.0" @@ -10411,15 +10028,15 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.7, debug@npm:~4.3.1, debug@npm:~4.3.2, debug@npm:~4.3.4": - version: 4.3.7 - resolution: "debug@npm:4.3.7" +"debug@npm:4, debug@npm:^4.0.1, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.7, debug@npm:^4.4.0": + version: 4.4.0 + resolution: "debug@npm:4.4.0" dependencies: ms: "npm:^2.1.3" peerDependenciesMeta: supports-color: optional: true - checksum: 10/71168908b9a78227ab29d5d25fe03c5867750e31ce24bf2c44a86efc5af041758bb56569b0a3d48a9b5344c00a24a777e6f4100ed6dfd9534a42c1dde285125a + checksum: 10/1847944c2e3c2c732514b93d11886575625686056cd765336212dc15de2d2b29612b6cd80e1afba767bb8e1803b778caf9973e98169ef1a24a7a7009e1820367 languageName: node linkType: hard @@ -10432,6 +10049,18 @@ __metadata: languageName: node linkType: hard +"debug@npm:~4.3.1, debug@npm:~4.3.2, debug@npm:~4.3.4": + version: 4.3.7 + resolution: "debug@npm:4.3.7" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10/71168908b9a78227ab29d5d25fe03c5867750e31ce24bf2c44a86efc5af041758bb56569b0a3d48a9b5344c00a24a777e6f4100ed6dfd9534a42c1dde285125a + languageName: node + linkType: hard + "debuglog@npm:^1.0.1": version: 1.0.1 resolution: "debuglog@npm:1.0.1" @@ -10479,32 +10108,6 @@ __metadata: languageName: node linkType: hard -"deep-equal@npm:^2.0.5": - version: 2.2.3 - resolution: "deep-equal@npm:2.2.3" - dependencies: - array-buffer-byte-length: "npm:^1.0.0" - call-bind: "npm:^1.0.5" - es-get-iterator: "npm:^1.1.3" - get-intrinsic: "npm:^1.2.2" - is-arguments: "npm:^1.1.1" - is-array-buffer: "npm:^3.0.2" - is-date-object: "npm:^1.0.5" - is-regex: "npm:^1.1.4" - is-shared-array-buffer: "npm:^1.0.2" - isarray: "npm:^2.0.5" - object-is: "npm:^1.1.5" - object-keys: "npm:^1.1.1" - object.assign: "npm:^4.1.4" - regexp.prototype.flags: "npm:^1.5.1" - side-channel: "npm:^1.0.4" - which-boxed-primitive: "npm:^1.0.2" - which-collection: "npm:^1.0.1" - which-typed-array: "npm:^1.1.13" - checksum: 10/1ce49d0b71d0f14d8ef991a742665eccd488dfc9b3cada069d4d7a86291e591c92d2589c832811dea182b4015736b210acaaebce6184be356c1060d176f5a05f - languageName: node - linkType: hard - "deep-is@npm:^0.1.3, deep-is@npm:~0.1.3": version: 0.1.4 resolution: "deep-is@npm:0.1.4" @@ -10530,7 +10133,7 @@ __metadata: languageName: node linkType: hard -"define-properties@npm:^1.1.3, define-properties@npm:^1.2.0, define-properties@npm:^1.2.1": +"define-properties@npm:^1.2.0, define-properties@npm:^1.2.1": version: 1.2.1 resolution: "define-properties@npm:1.2.1" dependencies: @@ -10595,13 +10198,6 @@ __metadata: languageName: node linkType: hard -"dequal@npm:^2.0.0": - version: 2.0.3 - resolution: "dequal@npm:2.0.3" - checksum: 10/6ff05a7561f33603df87c45e389c9ac0a95e3c056be3da1a0c4702149e3a7f6fe5ffbb294478687ba51a9e95f3a60e8b6b9005993acd79c292c7d15f71964b6b - languageName: node - linkType: hard - "destroy@npm:1.2.0": version: 1.2.0 resolution: "destroy@npm:1.2.0" @@ -10623,7 +10219,7 @@ __metadata: languageName: node linkType: hard -"detect-indent@npm:6.1.0, detect-indent@npm:^6.0.0": +"detect-indent@npm:6.1.0": version: 6.1.0 resolution: "detect-indent@npm:6.1.0" checksum: 10/ab953a73c72dbd4e8fc68e4ed4bfd92c97eb6c43734af3900add963fd3a9316f3bc0578b018b24198d4c31a358571eff5f0656e81a1f3b9ad5c547d58b2d093d @@ -10651,15 +10247,6 @@ __metadata: languageName: node linkType: hard -"devlop@npm:^1.0.0": - version: 1.1.0 - resolution: "devlop@npm:1.1.0" - dependencies: - dequal: "npm:^2.0.0" - checksum: 10/3cc5f903d02d279d6dc4aa71ab6ed9898b9f4d1f861cc5421ce7357893c21b9520de78afb203c92bd650a6977ad0ca98195453a0707a39958cf5fea3b0a8ddd8 - languageName: node - linkType: hard - "dezalgo@npm:^1.0.0, dezalgo@npm:^1.0.4": version: 1.0.4 resolution: "dezalgo@npm:1.0.4" @@ -10686,15 +10273,6 @@ __metadata: languageName: node linkType: hard -"doctrine@npm:^2.1.0": - version: 2.1.0 - resolution: "doctrine@npm:2.1.0" - dependencies: - esutils: "npm:^2.0.2" - checksum: 10/555684f77e791b17173ea86e2eea45ef26c22219cb64670669c4f4bebd26dbc95cd90ec1f4159e9349a6bb9eb892ce4dde8cd0139e77bedd8bf4518238618474 - languageName: node - linkType: hard - "doctrine@npm:^3.0.0": version: 3.0.0 resolution: "doctrine@npm:3.0.0" @@ -10748,10 +10326,10 @@ __metadata: languageName: node linkType: hard -"emoji-regex-xs@npm:^1.0.0": - version: 1.0.0 - resolution: "emoji-regex-xs@npm:1.0.0" - checksum: 10/e216ec4270f765e1097cefc1b9518a7166b872b4424c60a85d79765f318d989cd458e036c76c13e9ce2ed1fe1bb5935a7fd5c1fab7600668bc8e92a789045b3c +"emoji-regex@npm:^7.0.1": + version: 7.0.3 + resolution: "emoji-regex@npm:7.0.3" + checksum: 10/9159b2228b1511f2870ac5920f394c7e041715429a68459ebe531601555f11ea782a8e1718f969df2711d38c66268174407cbca57ce36485544f695c2dfdc96e languageName: node linkType: hard @@ -10886,7 +10464,7 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.17.5, es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3, es-abstract@npm:^1.23.5": +"es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.5": version: 1.23.5 resolution: "es-abstract@npm:1.23.5" dependencies: @@ -10956,46 +10534,6 @@ __metadata: languageName: node linkType: hard -"es-get-iterator@npm:^1.1.3": - version: 1.1.3 - resolution: "es-get-iterator@npm:1.1.3" - dependencies: - call-bind: "npm:^1.0.2" - get-intrinsic: "npm:^1.1.3" - has-symbols: "npm:^1.0.3" - is-arguments: "npm:^1.1.1" - is-map: "npm:^2.0.2" - is-set: "npm:^2.0.2" - is-string: "npm:^1.0.7" - isarray: "npm:^2.0.5" - stop-iteration-iterator: "npm:^1.0.0" - checksum: 10/bc2194befbe55725f9489098626479deee3c801eda7e83ce0dff2eb266a28dc808edb9b623ff01d31ebc1328f09d661333d86b601036692c2e3c1a6942319433 - languageName: node - linkType: hard - -"es-iterator-helpers@npm:^1.0.19": - version: 1.2.0 - resolution: "es-iterator-helpers@npm:1.2.0" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.3" - es-errors: "npm:^1.3.0" - es-set-tostringtag: "npm:^2.0.3" - function-bind: "npm:^1.1.2" - get-intrinsic: "npm:^1.2.4" - globalthis: "npm:^1.0.4" - gopd: "npm:^1.0.1" - has-property-descriptors: "npm:^1.0.2" - has-proto: "npm:^1.0.3" - has-symbols: "npm:^1.0.3" - internal-slot: "npm:^1.0.7" - iterator.prototype: "npm:^1.1.3" - safe-array-concat: "npm:^1.1.2" - checksum: 10/a4159e36c6bae03d4b636894fff2ff1acfcedc16c622939298b00adf4d2da6356ad92f682cc75c037a012a4b06adb903f67dfdfd05bac61847e9b763de2acbcb - languageName: node - linkType: hard - "es-module-lexer@npm:^1.5.4": version: 1.5.4 resolution: "es-module-lexer@npm:1.5.4" @@ -11023,7 +10561,7 @@ __metadata: languageName: node linkType: hard -"es-shim-unscopables@npm:^1.0.0, es-shim-unscopables@npm:^1.0.2": +"es-shim-unscopables@npm:^1.0.0": version: 1.0.2 resolution: "es-shim-unscopables@npm:1.0.2" dependencies: @@ -11123,34 +10661,35 @@ __metadata: languageName: node linkType: hard -"esbuild@npm:^0.24.0": - version: 0.24.0 - resolution: "esbuild@npm:0.24.0" - dependencies: - "@esbuild/aix-ppc64": "npm:0.24.0" - "@esbuild/android-arm": "npm:0.24.0" - "@esbuild/android-arm64": "npm:0.24.0" - "@esbuild/android-x64": "npm:0.24.0" - "@esbuild/darwin-arm64": "npm:0.24.0" - "@esbuild/darwin-x64": "npm:0.24.0" - "@esbuild/freebsd-arm64": "npm:0.24.0" - "@esbuild/freebsd-x64": "npm:0.24.0" - "@esbuild/linux-arm": "npm:0.24.0" - "@esbuild/linux-arm64": "npm:0.24.0" - "@esbuild/linux-ia32": "npm:0.24.0" - "@esbuild/linux-loong64": "npm:0.24.0" - "@esbuild/linux-mips64el": "npm:0.24.0" - "@esbuild/linux-ppc64": "npm:0.24.0" - "@esbuild/linux-riscv64": "npm:0.24.0" - "@esbuild/linux-s390x": "npm:0.24.0" - "@esbuild/linux-x64": "npm:0.24.0" - "@esbuild/netbsd-x64": "npm:0.24.0" - "@esbuild/openbsd-arm64": "npm:0.24.0" - "@esbuild/openbsd-x64": "npm:0.24.0" - "@esbuild/sunos-x64": "npm:0.24.0" - "@esbuild/win32-arm64": "npm:0.24.0" - "@esbuild/win32-ia32": "npm:0.24.0" - "@esbuild/win32-x64": "npm:0.24.0" +"esbuild@npm:^0.24.0, esbuild@npm:^0.24.2": + version: 0.24.2 + resolution: "esbuild@npm:0.24.2" + dependencies: + "@esbuild/aix-ppc64": "npm:0.24.2" + "@esbuild/android-arm": "npm:0.24.2" + "@esbuild/android-arm64": "npm:0.24.2" + "@esbuild/android-x64": "npm:0.24.2" + "@esbuild/darwin-arm64": "npm:0.24.2" + "@esbuild/darwin-x64": "npm:0.24.2" + "@esbuild/freebsd-arm64": "npm:0.24.2" + "@esbuild/freebsd-x64": "npm:0.24.2" + "@esbuild/linux-arm": "npm:0.24.2" + "@esbuild/linux-arm64": "npm:0.24.2" + "@esbuild/linux-ia32": "npm:0.24.2" + "@esbuild/linux-loong64": "npm:0.24.2" + "@esbuild/linux-mips64el": "npm:0.24.2" + "@esbuild/linux-ppc64": "npm:0.24.2" + "@esbuild/linux-riscv64": "npm:0.24.2" + "@esbuild/linux-s390x": "npm:0.24.2" + "@esbuild/linux-x64": "npm:0.24.2" + "@esbuild/netbsd-arm64": "npm:0.24.2" + "@esbuild/netbsd-x64": "npm:0.24.2" + "@esbuild/openbsd-arm64": "npm:0.24.2" + "@esbuild/openbsd-x64": "npm:0.24.2" + "@esbuild/sunos-x64": "npm:0.24.2" + "@esbuild/win32-arm64": "npm:0.24.2" + "@esbuild/win32-ia32": "npm:0.24.2" + "@esbuild/win32-x64": "npm:0.24.2" dependenciesMeta: "@esbuild/aix-ppc64": optional: true @@ -11186,6 +10725,8 @@ __metadata: optional: true "@esbuild/linux-x64": optional: true + "@esbuild/netbsd-arm64": + optional: true "@esbuild/netbsd-x64": optional: true "@esbuild/openbsd-arm64": @@ -11202,7 +10743,7 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: 10/500f83a1216d6548053007b85c070d8293395db344605b17418c6cf1217e5e8d338fa77fc8af27c23faa121c5528e5b0004d46d3a0cdeb87d48f1b5fa0164bc5 + checksum: 10/95425071c9f24ff88bf61e0710b636ec0eb24ddf8bd1f7e1edef3044e1221104bbfa7bbb31c18018c8c36fa7902c5c0b843f829b981ebc89160cf5eebdaa58f4 languageName: node linkType: hard @@ -11289,18 +10830,6 @@ __metadata: languageName: node linkType: hard -"eslint-module-utils@npm:^2.9.0": - version: 2.12.0 - resolution: "eslint-module-utils@npm:2.12.0" - dependencies: - debug: "npm:^3.2.7" - peerDependenciesMeta: - eslint: - optional: true - checksum: 10/dd27791147eca17366afcb83f47d6825b6ce164abb256681e5de4ec1d7e87d8605641eb869298a0dbc70665e2446dbcc2f40d3e1631a9475dd64dd23d4ca5dee - languageName: node - linkType: hard - "eslint-plugin-depend@npm:^0.12.0": version: 0.12.0 resolution: "eslint-plugin-depend@npm:0.12.0" @@ -11312,10 +10841,12 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-import-x@npm:^4.4.2": - version: 4.4.3 - resolution: "eslint-plugin-import-x@npm:4.4.3" +"eslint-plugin-import-x@npm:^4.5.1": + version: 4.5.1 + resolution: "eslint-plugin-import-x@npm:4.5.1" dependencies: + "@types/doctrine": "npm:^0.0.9" + "@typescript-eslint/scope-manager": "npm:^8.1.0" "@typescript-eslint/utils": "npm:^8.1.0" debug: "npm:^4.3.4" doctrine: "npm:^3.0.0" @@ -11328,61 +10859,7 @@ __metadata: tslib: "npm:^2.6.3" peerDependencies: eslint: ^8.57.0 || ^9.0.0 - checksum: 10/e0c459b3bab2af70a52caac5291e5f177e7a5445d29b0a062e47be767eeaef9c1e7901e4ae5f5381b3d7d17389db0e31184f868ec90f15c0d277d7f768b0a252 - languageName: node - linkType: hard - -"eslint-plugin-import@npm:2.30.0": - version: 2.30.0 - resolution: "eslint-plugin-import@npm:2.30.0" - dependencies: - "@rtsao/scc": "npm:^1.1.0" - array-includes: "npm:^3.1.8" - array.prototype.findlastindex: "npm:^1.2.5" - array.prototype.flat: "npm:^1.3.2" - array.prototype.flatmap: "npm:^1.3.2" - debug: "npm:^3.2.7" - doctrine: "npm:^2.1.0" - eslint-import-resolver-node: "npm:^0.3.9" - eslint-module-utils: "npm:^2.9.0" - hasown: "npm:^2.0.2" - is-core-module: "npm:^2.15.1" - is-glob: "npm:^4.0.3" - minimatch: "npm:^3.1.2" - object.fromentries: "npm:^2.0.8" - object.groupby: "npm:^1.0.3" - object.values: "npm:^1.2.0" - semver: "npm:^6.3.1" - tsconfig-paths: "npm:^3.15.0" - peerDependencies: - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - checksum: 10/a5f85dfe76e27286c28a01d137769726ce3f758bcc03aa6b6f9e18700a40a08f57239f82e07efcab763c4b03a02d425edcc29fbecf40aad0124286978c6bc63c - languageName: node - linkType: hard - -"eslint-plugin-jsx-a11y@npm:6.10.0": - version: 6.10.0 - resolution: "eslint-plugin-jsx-a11y@npm:6.10.0" - dependencies: - aria-query: "npm:~5.1.3" - array-includes: "npm:^3.1.8" - array.prototype.flatmap: "npm:^1.3.2" - ast-types-flow: "npm:^0.0.8" - axe-core: "npm:^4.10.0" - axobject-query: "npm:^4.1.0" - damerau-levenshtein: "npm:^1.0.8" - emoji-regex: "npm:^9.2.2" - es-iterator-helpers: "npm:^1.0.19" - hasown: "npm:^2.0.2" - jsx-ast-utils: "npm:^3.3.5" - language-tags: "npm:^1.0.9" - minimatch: "npm:^3.1.2" - object.fromentries: "npm:^2.0.8" - safe-regex-test: "npm:^1.0.3" - string.prototype.includes: "npm:^2.0.0" - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 - checksum: 10/d66e5e541a5a747d8a7ffd6e45b79c9da416b42be5891c259f3d9af63ed8897b5ff67373b00682ecdfc04fe2a2bc9df9c23b2f1749a228221d2dae0914543303 + checksum: 10/f8f12b51977722bcc5fcb99575b715245d00ccfcee2815bc070675db7951898537edaf37626b24421d136ac2c40b24036963e303479ad3fec5ddae852327f6d1 languageName: node linkType: hard @@ -11401,9 +10878,9 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-package-json@npm:^0.15.6": - version: 0.15.6 - resolution: "eslint-plugin-package-json@npm:0.15.6" +"eslint-plugin-package-json@npm:^0.18.0": + version: 0.18.0 + resolution: "eslint-plugin-package-json@npm:0.18.0" dependencies: "@altano/repository-tools": "npm:^0.1.1" detect-indent: "npm:6.1.0" @@ -11411,49 +10888,12 @@ __metadata: package-json-validator: "npm:^0.7.0" semver: "npm:^7.5.4" sort-object-keys: "npm:^1.1.3" - sort-package-json: "npm:^1.57.0" + sort-package-json: "npm:^2.12.0" validate-npm-package-name: "npm:^6.0.0" peerDependencies: eslint: ">=8.0.0" jsonc-eslint-parser: ^2.0.0 - checksum: 10/1ace161632a9a17bb99ab073997f0703e8b2a7da2e771f2484e59993a14e4ed0363905de131c2cf15017ae0b54f946c6303851b7c930386628a73fd80161d561 - languageName: node - linkType: hard - -"eslint-plugin-react-hooks@npm:4.6.2": - version: 4.6.2 - resolution: "eslint-plugin-react-hooks@npm:4.6.2" - peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - checksum: 10/5a0680941f34e70cf505bcb6082df31a3e445d193ee95a88ff3483041eb944f4cefdaf7e81b0eb1feb4eeceee8c7c6ddb8a2a6e8c4c0388514a42e16ac7b7a69 - languageName: node - linkType: hard - -"eslint-plugin-react@npm:7.36.1": - version: 7.36.1 - resolution: "eslint-plugin-react@npm:7.36.1" - dependencies: - array-includes: "npm:^3.1.8" - array.prototype.findlast: "npm:^1.2.5" - array.prototype.flatmap: "npm:^1.3.2" - array.prototype.tosorted: "npm:^1.1.4" - doctrine: "npm:^2.1.0" - es-iterator-helpers: "npm:^1.0.19" - estraverse: "npm:^5.3.0" - hasown: "npm:^2.0.2" - jsx-ast-utils: "npm:^2.4.1 || ^3.0.0" - minimatch: "npm:^3.1.2" - object.entries: "npm:^1.1.8" - object.fromentries: "npm:^2.0.8" - object.values: "npm:^1.2.0" - prop-types: "npm:^15.8.1" - resolve: "npm:^2.0.0-next.5" - semver: "npm:^6.3.1" - string.prototype.matchall: "npm:^4.0.11" - string.prototype.repeat: "npm:^1.0.0" - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - checksum: 10/bca154b446c35af4859a92fd043dcfe5c74851eb27652234020548570bb81d37cc9f1eb1795b3c9e7514de6c9b48f42fcc00153062eca879dab45ab84e49d0b1 + checksum: 10/dc3dd00ff30b08be99a89b4739ae4edafef60ff7b66865f6d44b248dd629f074d79b68c23f0c552938000a206144fc9cdb33a4e3bc03731ac1cb89d4dc8c8a8c languageName: node linkType: hard @@ -11466,40 +10906,32 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-sonarjs@npm:^2.0.4": - version: 2.0.4 - resolution: "eslint-plugin-sonarjs@npm:2.0.4" - dependencies: - "@babel/core": "npm:7.25.2" - "@babel/eslint-parser": "npm:7.25.1" - "@babel/plugin-proposal-decorators": "npm:7.24.7" - "@babel/preset-env": "npm:7.25.4" - "@babel/preset-flow": "npm:7.24.7" - "@babel/preset-react": "npm:7.24.7" - "@eslint-community/regexpp": "npm:4.11.1" - "@typescript-eslint/eslint-plugin": "npm:7.16.1" - "@typescript-eslint/utils": "npm:7.16.1" +"eslint-plugin-sonarjs@npm:^3.0.1": + version: 3.0.1 + resolution: "eslint-plugin-sonarjs@npm:3.0.1" + dependencies: + "@babel/core": "npm:7.26.0" + "@babel/eslint-parser": "npm:7.25.9" + "@babel/plugin-proposal-decorators": "npm:7.25.9" + "@babel/preset-env": "npm:7.26.0" + "@babel/preset-flow": "npm:7.25.9" + "@babel/preset-react": "npm:7.26.3" + "@eslint-community/regexpp": "npm:4.12.1" builtin-modules: "npm:3.3.0" bytes: "npm:3.1.2" - eslint-plugin-import: "npm:2.30.0" - eslint-plugin-jsx-a11y: "npm:6.10.0" - eslint-plugin-react: "npm:7.36.1" - eslint-plugin-react-hooks: "npm:4.6.2" - eslint-scope: "npm:8.1.0" functional-red-black-tree: "npm:1.0.1" jsx-ast-utils: "npm:3.3.5" - minimatch: "npm:10.0.1" + minimatch: "npm:9.0.5" scslre: "npm:0.3.0" semver: "npm:7.6.3" - typescript: "npm:5.6.2" - vue-eslint-parser: "npm:9.4.3" + typescript: "npm:^5" peerDependencies: eslint: ^8.0.0 || ^9.0.0 - checksum: 10/4f068f24abd83553ac74bdf8fb7da26f285c0b811a64a7ba109630a930c08c8d52740076e2abc5e55899d3b9b42101806bb799eabae184b7841e16edac93bf32 + checksum: 10/ffb04d1e010bb2dd21b5c80e40f138514f098ab7599ec9b6b19f7b980ab7828b4226fd96516bf0468264beea401496371b574a6dfb5ddcc2b95c183c3d86a843 languageName: node linkType: hard -"eslint-plugin-unicorn@npm:^56.0.0": +"eslint-plugin-unicorn@npm:^56.0.1": version: 56.0.1 resolution: "eslint-plugin-unicorn@npm:56.0.1" dependencies: @@ -11534,7 +10966,7 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:5.1.1": +"eslint-scope@npm:5.1.1, eslint-scope@npm:^5.0.0": version: 5.1.1 resolution: "eslint-scope@npm:5.1.1" dependencies: @@ -11544,33 +10976,29 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:8.1.0": - version: 8.1.0 - resolution: "eslint-scope@npm:8.1.0" +"eslint-scope@npm:^8.2.0": + version: 8.2.0 + resolution: "eslint-scope@npm:8.2.0" dependencies: esrecurse: "npm:^4.3.0" estraverse: "npm:^5.2.0" - checksum: 10/4c34a12fbeb0677822a9e93e81f2027e39e6f27557c17bc1e5ff76debbd41e748c3673517561792bda9e276245f89fbfd9b0b24fcec3b33a04ee2196729b3489 + checksum: 10/cd9ab60d5a68f3a0fcac04d1cff5a7383d0f331964d5f1c446259123caec5b3ccc542284d07846e4f4d1389da77750821cc9a6e1ce18558c674977351666f9a6 languageName: node linkType: hard -"eslint-scope@npm:^7.1.1": - version: 7.2.2 - resolution: "eslint-scope@npm:7.2.2" +"eslint-utils@npm:^1.4.3": + version: 1.4.3 + resolution: "eslint-utils@npm:1.4.3" dependencies: - esrecurse: "npm:^4.3.0" - estraverse: "npm:^5.2.0" - checksum: 10/5c660fb905d5883ad018a6fea2b49f3cb5b1cbf2cd4bd08e98646e9864f9bc2c74c0839bed2d292e90a4a328833accc197c8f0baed89cbe8d605d6f918465491 + eslint-visitor-keys: "npm:^1.1.0" + checksum: 10/77079d7123385011fc63c438ab95b01482eac04f2b9cd6e942d1f645ea430d610d721fe150bed8ec4ac17e7c4a11f2d6253a8182551ece09444c62c6a9973ad7 languageName: node linkType: hard -"eslint-scope@npm:^8.2.0": - version: 8.2.0 - resolution: "eslint-scope@npm:8.2.0" - dependencies: - esrecurse: "npm:^4.3.0" - estraverse: "npm:^5.2.0" - checksum: 10/cd9ab60d5a68f3a0fcac04d1cff5a7383d0f331964d5f1c446259123caec5b3ccc542284d07846e4f4d1389da77750821cc9a6e1ce18558c674977351666f9a6 +"eslint-visitor-keys@npm:^1.1.0": + version: 1.3.0 + resolution: "eslint-visitor-keys@npm:1.3.0" + checksum: 10/595ab230e0fcb52f86ba0986a9a473b9fcae120f3729b43f1157f88f27f8addb1e545c4e3d444185f2980e281ca15be5ada6f65b4599eec227cf30e41233b762 languageName: node linkType: hard @@ -11581,7 +11009,7 @@ __metadata: languageName: node linkType: hard -"eslint-visitor-keys@npm:^3.0.0, eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": +"eslint-visitor-keys@npm:^3.0.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": version: 3.4.3 resolution: "eslint-visitor-keys@npm:3.4.3" checksum: 10/3f357c554a9ea794b094a09bd4187e5eacd1bc0d0653c3adeb87962c548e6a1ab8f982b86963ae1337f5d976004146536dcee5d0e2806665b193fbfbf1a9231b @@ -11595,25 +11023,72 @@ __metadata: languageName: node linkType: hard -"eslint@npm:9.14.0": - version: 9.14.0 - resolution: "eslint@npm:9.14.0" +"eslint@npm:^6.8.0": + version: 6.8.0 + resolution: "eslint@npm:6.8.0" + dependencies: + "@babel/code-frame": "npm:^7.0.0" + ajv: "npm:^6.10.0" + chalk: "npm:^2.1.0" + cross-spawn: "npm:^6.0.5" + debug: "npm:^4.0.1" + doctrine: "npm:^3.0.0" + eslint-scope: "npm:^5.0.0" + eslint-utils: "npm:^1.4.3" + eslint-visitor-keys: "npm:^1.1.0" + espree: "npm:^6.1.2" + esquery: "npm:^1.0.1" + esutils: "npm:^2.0.2" + file-entry-cache: "npm:^5.0.1" + functional-red-black-tree: "npm:^1.0.1" + glob-parent: "npm:^5.0.0" + globals: "npm:^12.1.0" + ignore: "npm:^4.0.6" + import-fresh: "npm:^3.0.0" + imurmurhash: "npm:^0.1.4" + inquirer: "npm:^7.0.0" + is-glob: "npm:^4.0.0" + js-yaml: "npm:^3.13.1" + json-stable-stringify-without-jsonify: "npm:^1.0.1" + levn: "npm:^0.3.0" + lodash: "npm:^4.17.14" + minimatch: "npm:^3.0.4" + mkdirp: "npm:^0.5.1" + natural-compare: "npm:^1.4.0" + optionator: "npm:^0.8.3" + progress: "npm:^2.0.0" + regexpp: "npm:^2.0.1" + semver: "npm:^6.1.2" + strip-ansi: "npm:^5.2.0" + strip-json-comments: "npm:^3.0.1" + table: "npm:^5.2.3" + text-table: "npm:^0.2.0" + v8-compile-cache: "npm:^2.0.3" + bin: + eslint: ./bin/eslint.js + checksum: 10/a3e9dd67f801d1164a4689794c688a1c6f8ddd4862721d1e543ed498688b9ce9ab969977df19e378bf3b57e83751f79139128ad785c4b9c863a0037c72b99bdc + languageName: node + linkType: hard + +"eslint@npm:^9.17.0": + version: 9.17.0 + resolution: "eslint@npm:9.17.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" "@eslint-community/regexpp": "npm:^4.12.1" - "@eslint/config-array": "npm:^0.18.0" - "@eslint/core": "npm:^0.7.0" - "@eslint/eslintrc": "npm:^3.1.0" - "@eslint/js": "npm:9.14.0" - "@eslint/plugin-kit": "npm:^0.2.0" + "@eslint/config-array": "npm:^0.19.0" + "@eslint/core": "npm:^0.9.0" + "@eslint/eslintrc": "npm:^3.2.0" + "@eslint/js": "npm:9.17.0" + "@eslint/plugin-kit": "npm:^0.2.3" "@humanfs/node": "npm:^0.16.6" "@humanwhocodes/module-importer": "npm:^1.0.1" - "@humanwhocodes/retry": "npm:^0.4.0" + "@humanwhocodes/retry": "npm:^0.4.1" "@types/estree": "npm:^1.0.6" "@types/json-schema": "npm:^7.0.15" ajv: "npm:^6.12.4" chalk: "npm:^4.0.0" - cross-spawn: "npm:^7.0.2" + cross-spawn: "npm:^7.0.6" debug: "npm:^4.3.2" escape-string-regexp: "npm:^4.0.0" eslint-scope: "npm:^8.2.0" @@ -11633,7 +11108,6 @@ __metadata: minimatch: "npm:^3.1.2" natural-compare: "npm:^1.4.0" optionator: "npm:^0.9.3" - text-table: "npm:^0.2.0" peerDependencies: jiti: "*" peerDependenciesMeta: @@ -11641,7 +11115,7 @@ __metadata: optional: true bin: eslint: bin/eslint.js - checksum: 10/6ce59dda56ecff9483c6e8cd28e91138d2c43cbf08c923f731f507fd9b4aba9d72761c99882dc313a72ea915a5e380ab0b4f01e208a7a37d71490ddfd29ee063 + checksum: 10/a48ee67dd4e737974bbb49ca5d12d0ce35bcd874507807599e3655bb398320ab27c9deed1aad508a963967815e626c21208f52158c2fc0796d0cc8186528efeb languageName: node linkType: hard @@ -11663,7 +11137,18 @@ __metadata: languageName: node linkType: hard -"espree@npm:^9.0.0, espree@npm:^9.3.1": +"espree@npm:^6.1.2": + version: 6.2.1 + resolution: "espree@npm:6.2.1" + dependencies: + acorn: "npm:^7.1.1" + acorn-jsx: "npm:^5.2.0" + eslint-visitor-keys: "npm:^1.1.0" + checksum: 10/e8b1edc0f8c6cdb1ef7c40e633ff1f1ea1585c46aa75c16f5525a3ca7f1a518197ad5fd40cedee31936ff4e1b5a396d585e6742e1f8a4c7dc2a17b3ed1d64c88 + languageName: node + linkType: hard + +"espree@npm:^9.0.0": version: 9.6.1 resolution: "espree@npm:9.6.1" dependencies: @@ -11694,7 +11179,7 @@ __metadata: languageName: node linkType: hard -"esquery@npm:^1.4.0, esquery@npm:^1.5.0, esquery@npm:^1.6.0": +"esquery@npm:^1.0.1, esquery@npm:^1.5.0, esquery@npm:^1.6.0": version: 1.6.0 resolution: "esquery@npm:1.6.0" dependencies: @@ -11827,9 +11312,9 @@ __metadata: languageName: node linkType: hard -"express@npm:^4.21.1": - version: 4.21.1 - resolution: "express@npm:4.21.1" +"express@npm:^4.21.2": + version: 4.21.2 + resolution: "express@npm:4.21.2" dependencies: accepts: "npm:~1.3.8" array-flatten: "npm:1.1.1" @@ -11850,7 +11335,7 @@ __metadata: methods: "npm:~1.1.2" on-finished: "npm:2.4.1" parseurl: "npm:~1.3.3" - path-to-regexp: "npm:0.1.10" + path-to-regexp: "npm:0.1.12" proxy-addr: "npm:~2.0.7" qs: "npm:6.13.0" range-parser: "npm:~1.2.1" @@ -11862,7 +11347,7 @@ __metadata: type-is: "npm:~1.6.18" utils-merge: "npm:1.0.1" vary: "npm:~1.1.2" - checksum: 10/5d4a36dd03c1d1cce93172e9b185b5cd13a978d29ee03adc51cd278be7b4a514ae2b63e2fdaec0c00fdc95c6cfb396d9dd1da147917ffd337d6cd0778e08c9bc + checksum: 10/34571c442fc8c9f2c4b442d2faa10ea1175cf8559237fc6a278f5ce6254a8ffdbeb9a15d99f77c1a9f2926ab183e3b7ba560e3261f1ad4149799e3412ab66bd1 languageName: node linkType: hard @@ -11884,6 +11369,17 @@ __metadata: languageName: node linkType: hard +"external-editor@npm:^3.0.3": + version: 3.1.0 + resolution: "external-editor@npm:3.1.0" + dependencies: + chardet: "npm:^0.7.0" + iconv-lite: "npm:^0.4.24" + tmp: "npm:^0.0.33" + checksum: 10/776dff1d64a1d28f77ff93e9e75421a81c062983fd1544279d0a32f563c0b18c52abbb211f31262e2827e48edef5c9dc8f960d06dd2d42d1654443b88568056b + languageName: node + linkType: hard + "fake-indexeddb@npm:^4": version: 4.0.2 resolution: "fake-indexeddb@npm:4.0.2" @@ -11907,7 +11403,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.0.3, fast-glob@npm:^3.2.7, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2": +"fast-glob@npm:^3.2.7, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2": version: 3.3.2 resolution: "fast-glob@npm:3.3.2" dependencies: @@ -12021,6 +11517,24 @@ __metadata: languageName: node linkType: hard +"figures@npm:^3.0.0": + version: 3.2.0 + resolution: "figures@npm:3.2.0" + dependencies: + escape-string-regexp: "npm:^1.0.5" + checksum: 10/a3bf94e001be51d3770500789157f067218d4bc681a65e1f69d482de15120bcac822dceb1a7b3803f32e4e3a61a46df44f7f2c8ba95d6375e7491502e0dd3d97 + languageName: node + linkType: hard + +"file-entry-cache@npm:^5.0.1": + version: 5.0.1 + resolution: "file-entry-cache@npm:5.0.1" + dependencies: + flat-cache: "npm:^2.0.1" + checksum: 10/585f3d19043d3552a06ec3e20e13cee054f255d3decce6def7fea5cba50448ce82fb9f779115da61cc58b98e7889cf5cc3b388943100bbd0305f00b11d0f4d84 + languageName: node + linkType: hard + "file-entry-cache@npm:^8.0.0": version: 8.0.0 resolution: "file-entry-cache@npm:8.0.0" @@ -12121,30 +11635,30 @@ __metadata: languageName: node linkType: hard -"firebase@npm:^11.0.2": - version: 11.0.2 - resolution: "firebase@npm:11.0.2" +"firebase@npm:^11.1.0": + version: 11.1.0 + resolution: "firebase@npm:11.1.0" dependencies: "@firebase/analytics": "npm:0.10.10" "@firebase/analytics-compat": "npm:0.2.16" - "@firebase/app": "npm:0.10.16" + "@firebase/app": "npm:0.10.17" "@firebase/app-check": "npm:0.8.10" "@firebase/app-check-compat": "npm:0.3.17" - "@firebase/app-compat": "npm:0.2.46" + "@firebase/app-compat": "npm:0.2.47" "@firebase/app-types": "npm:0.9.3" "@firebase/auth": "npm:1.8.1" "@firebase/auth-compat": "npm:0.5.16" - "@firebase/data-connect": "npm:0.1.2" + "@firebase/data-connect": "npm:0.1.3" "@firebase/database": "npm:1.0.10" "@firebase/database-compat": "npm:2.0.1" "@firebase/firestore": "npm:4.7.5" "@firebase/firestore-compat": "npm:0.3.40" - "@firebase/functions": "npm:0.11.10" - "@firebase/functions-compat": "npm:0.3.16" + "@firebase/functions": "npm:0.12.0" + "@firebase/functions-compat": "npm:0.3.17" "@firebase/installations": "npm:0.6.11" "@firebase/installations-compat": "npm:0.2.11" - "@firebase/messaging": "npm:0.12.14" - "@firebase/messaging-compat": "npm:0.2.14" + "@firebase/messaging": "npm:0.12.15" + "@firebase/messaging-compat": "npm:0.2.15" "@firebase/performance": "npm:0.6.11" "@firebase/performance-compat": "npm:0.2.11" "@firebase/remote-config": "npm:0.4.11" @@ -12152,8 +11666,19 @@ __metadata: "@firebase/storage": "npm:0.13.4" "@firebase/storage-compat": "npm:0.3.14" "@firebase/util": "npm:1.10.2" - "@firebase/vertexai": "npm:1.0.1" - checksum: 10/0cf44a876be463fbd63af3a1094619653f77c4df26deddede9da6f23c34f541299600274a9a7dc915fec09f65cc10a2694c863d7493338256f7e2c18a6e54b19 + "@firebase/vertexai": "npm:1.0.2" + checksum: 10/ff75b0b09b99b5cc28e54f0408a5791f5d96d5d63fb795a514fbb699fbb5ed745b77f0ca715d852bad06c564c22c27ad0303046eca776fcc9cfd000a65f8deb7 + languageName: node + linkType: hard + +"flat-cache@npm:^2.0.1": + version: 2.0.1 + resolution: "flat-cache@npm:2.0.1" + dependencies: + flatted: "npm:^2.0.0" + rimraf: "npm:2.6.3" + write: "npm:1.0.3" + checksum: 10/334891772e9af0e860e1e602f0e577c2b0ac5af4e7fbc672f8396b08a48a4dbe9001f7a7e1d8f8060da4cfe592bb51b35d8a8e6159c1cd62337d97c0847fdb44 languageName: node linkType: hard @@ -12167,6 +11692,13 @@ __metadata: languageName: node linkType: hard +"flatted@npm:^2.0.0": + version: 2.0.2 + resolution: "flatted@npm:2.0.2" + checksum: 10/473c754db7a529e125a22057098f1a4c905ba17b8cc269c3acf77352f0ffa6304c851eb75f6a1845f74461f560e635129ca6b0b8a78fb253c65cea4de3d776f2 + languageName: node + linkType: hard + "flatted@npm:^3.2.9": version: 3.3.2 resolution: "flatted@npm:3.3.2" @@ -12316,7 +11848,7 @@ __metadata: languageName: node linkType: hard -"functional-red-black-tree@npm:1.0.1": +"functional-red-black-tree@npm:1.0.1, functional-red-black-tree@npm:^1.0.1": version: 1.0.1 resolution: "functional-red-black-tree@npm:1.0.1" checksum: 10/debe73e92204341d1fa5f89614e44284d3add26dee660722978d8c50829170f87d1c74768f68c251d215ae461c11db7bac13101c77f4146ff051da75466f7a12 @@ -12358,7 +11890,7 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.2, get-intrinsic@npm:^1.2.3, get-intrinsic@npm:^1.2.4": +"get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.3, get-intrinsic@npm:^1.2.4": version: 1.2.4 resolution: "get-intrinsic@npm:1.2.4" dependencies: @@ -12412,13 +11944,6 @@ __metadata: languageName: node linkType: hard -"git-hooks-list@npm:1.0.3": - version: 1.0.3 - resolution: "git-hooks-list@npm:1.0.3" - checksum: 10/a1dd03d39c1d727ba08a35dbdbdcc6e96de8c4170c942dc95bf787ca6e34998d39fb5295a00242b58a3d265de0b69a0686d0cf583baa6b7830f268542c4576b9 - languageName: node - linkType: hard - "git-hooks-list@npm:^3.0.0": version: 3.1.0 resolution: "git-hooks-list@npm:3.1.0" @@ -12433,7 +11958,7 @@ __metadata: languageName: node linkType: hard -"glob-parent@npm:^5.1.2": +"glob-parent@npm:^5.0.0, glob-parent@npm:^5.1.2": version: 5.1.2 resolution: "glob-parent@npm:5.1.2" dependencies: @@ -12451,7 +11976,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^10.2.2, glob@npm:^10.3.10": +"glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.4.1": version: 10.4.5 resolution: "glob@npm:10.4.5" dependencies: @@ -12541,6 +12066,15 @@ __metadata: languageName: node linkType: hard +"globals@npm:^12.1.0": + version: 12.4.0 + resolution: "globals@npm:12.4.0" + dependencies: + type-fest: "npm:^0.8.1" + checksum: 10/11b38ef0077f5d8d616b1bc5effac20667247fc42c65c6f8fac4fc3758cd14ad73ccd36eff376c29ef395caf5f4c33e8460b78f79c37ce44cf3ab568a3b7623b + languageName: node + linkType: hard + "globals@npm:^14.0.0": version: 14.0.0 resolution: "globals@npm:14.0.0" @@ -12565,22 +12099,6 @@ __metadata: languageName: node linkType: hard -"globby@npm:10.0.0": - version: 10.0.0 - resolution: "globby@npm:10.0.0" - dependencies: - "@types/glob": "npm:^7.1.1" - array-union: "npm:^2.1.0" - dir-glob: "npm:^3.0.1" - fast-glob: "npm:^3.0.3" - glob: "npm:^7.1.3" - ignore: "npm:^5.1.1" - merge2: "npm:^1.2.3" - slash: "npm:^3.0.0" - checksum: 10/d0c94128706b5e12a251ddbd1b87cf0e67e57e373c816f242bb7a4a2fbe931602db1a330780d511a5bce675c25fac297622ac01d540c8479cca9c8177528947a - languageName: node - linkType: hard - "globby@npm:^11.1.0": version: 11.1.0 resolution: "globby@npm:11.1.0" @@ -12715,34 +12233,6 @@ __metadata: languageName: node linkType: hard -"hast-util-to-html@npm:^9.0.3": - version: 9.0.3 - resolution: "hast-util-to-html@npm:9.0.3" - dependencies: - "@types/hast": "npm:^3.0.0" - "@types/unist": "npm:^3.0.0" - ccount: "npm:^2.0.0" - comma-separated-tokens: "npm:^2.0.0" - hast-util-whitespace: "npm:^3.0.0" - html-void-elements: "npm:^3.0.0" - mdast-util-to-hast: "npm:^13.0.0" - property-information: "npm:^6.0.0" - space-separated-tokens: "npm:^2.0.0" - stringify-entities: "npm:^4.0.0" - zwitch: "npm:^2.0.4" - checksum: 10/cdf860be567137d045490b0f27590bcafc7032f0725a84667e8950d7bf2ce175d0dfc635b7ce05f3a8d1963ac4c74cae4d93513047429aad909222decdb2f7d1 - languageName: node - linkType: hard - -"hast-util-whitespace@npm:^3.0.0": - version: 3.0.0 - resolution: "hast-util-whitespace@npm:3.0.0" - dependencies: - "@types/hast": "npm:^3.0.0" - checksum: 10/8c7e9eeb8131fc18702f3a42623eb6b0b09d470347aa8badacac70e6d91f79657ab8c6b57c4c6fee3658cff405fac30e816d1cdfb3ed1fbf6045d0a4555cf4d4 - languageName: node - linkType: hard - "hexoid@npm:^2.0.0": version: 2.0.0 resolution: "hexoid@npm:2.0.0" @@ -12784,10 +12274,10 @@ __metadata: languageName: node linkType: hard -"html-void-elements@npm:^3.0.0": - version: 3.0.0 - resolution: "html-void-elements@npm:3.0.0" - checksum: 10/59be397525465a7489028afa064c55763d9cccd1d7d9f630cca47137317f0e897a9ca26cef7e745e7cff1abc44260cfa407742b243a54261dfacd42230e94fce +"html-escaper@npm:^2.0.0": + version: 2.0.2 + resolution: "html-escaper@npm:2.0.2" + checksum: 10/034d74029dcca544a34fb6135e98d427acd73019796ffc17383eaa3ec2fe1c0471dcbbc8f8ed39e46e86d43ccd753a160631615e4048285e313569609b66d5b7 languageName: node linkType: hard @@ -12845,7 +12335,7 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:0.4.24": +"iconv-lite@npm:0.4.24, iconv-lite@npm:^0.4.24": version: 0.4.24 resolution: "iconv-lite@npm:0.4.24" dependencies: @@ -12870,10 +12360,10 @@ __metadata: languageName: node linkType: hard -"idb@npm:^8.0.0": - version: 8.0.0 - resolution: "idb@npm:8.0.0" - checksum: 10/6ff47b46ead4bf02ac3a9145bb2f48bac707b950cf33282a72eec8efcda610ffb0a09aab6eea58450f6c87373060bf50998d307085830a302e9e231eee6cd37d +"idb@npm:^8.0.1": + version: 8.0.1 + resolution: "idb@npm:8.0.1" + checksum: 10/98415c4f7b633ff34d69230e3849a3dbe065c7aac6c8474ab4f728862725b3e65affd2aae8a8fc03ef070b4e1cab16f6782133e166b1c81579b7e40691ddff3c languageName: node linkType: hard @@ -12893,14 +12383,21 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^5.1.1, ignore@npm:^5.2.0, ignore@npm:^5.2.4, ignore@npm:^5.3.1": +"ignore@npm:^4.0.6": + version: 4.0.6 + resolution: "ignore@npm:4.0.6" + checksum: 10/e04d6bd60d9da12cfe8896acf470824172843dddc25a9be0726199d5e031254634a69ce8479a82f194154b9b28cb3b08bb7a53e56f7f7eba2663e04791e74742 + languageName: node + linkType: hard + +"ignore@npm:^5.2.0, ignore@npm:^5.2.4, ignore@npm:^5.3.1": version: 5.3.2 resolution: "ignore@npm:5.3.2" checksum: 10/cceb6a457000f8f6a50e1196429750d782afce5680dd878aa4221bd79972d68b3a55b4b1458fc682be978f4d3c6a249046aa0880637367216444ab7b014cfc98 languageName: node linkType: hard -"import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0": +"import-fresh@npm:^3.0.0, import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0": version: 3.3.0 resolution: "import-fresh@npm:3.3.0" dependencies: @@ -12948,7 +12445,28 @@ __metadata: languageName: node linkType: hard -"internal-slot@npm:^1.0.4, internal-slot@npm:^1.0.7": +"inquirer@npm:^7.0.0": + version: 7.3.3 + resolution: "inquirer@npm:7.3.3" + dependencies: + ansi-escapes: "npm:^4.2.1" + chalk: "npm:^4.1.0" + cli-cursor: "npm:^3.1.0" + cli-width: "npm:^3.0.0" + external-editor: "npm:^3.0.3" + figures: "npm:^3.0.0" + lodash: "npm:^4.17.19" + mute-stream: "npm:0.0.8" + run-async: "npm:^2.4.0" + rxjs: "npm:^6.6.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + through: "npm:^2.3.6" + checksum: 10/052c6fce2d467343ced6500080b4b70eaf2ca996933fc3b5c9b0dd1ea275dd9c2a1070880f5f163f42bd13acf25c1ab8ab384444c1a413050db34aab69112583 + languageName: node + linkType: hard + +"internal-slot@npm:^1.0.7": version: 1.0.7 resolution: "internal-slot@npm:1.0.7" dependencies: @@ -13014,17 +12532,7 @@ __metadata: languageName: node linkType: hard -"is-arguments@npm:^1.1.1": - version: 1.1.1 - resolution: "is-arguments@npm:1.1.1" - dependencies: - call-bind: "npm:^1.0.2" - has-tostringtag: "npm:^1.0.0" - checksum: 10/a170c7e26082e10de9be6e96d32ae3db4d5906194051b792e85fae3393b53cf2cb5b3557863e5c8ccbab55e2fd8f2f75aa643d437613f72052cf0356615c34be - languageName: node - linkType: hard - -"is-array-buffer@npm:^3.0.2, is-array-buffer@npm:^3.0.4": +"is-array-buffer@npm:^3.0.4": version: 3.0.4 resolution: "is-array-buffer@npm:3.0.4" dependencies: @@ -13108,7 +12616,7 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.12.0, is-core-module@npm:^2.13.0, is-core-module@npm:^2.15.1, is-core-module@npm:^2.5.0": +"is-core-module@npm:^2.12.0, is-core-module@npm:^2.13.0, is-core-module@npm:^2.5.0": version: 2.15.1 resolution: "is-core-module@npm:2.15.1" dependencies: @@ -13158,6 +12666,13 @@ __metadata: languageName: node linkType: hard +"is-fullwidth-code-point@npm:^2.0.0": + version: 2.0.0 + resolution: "is-fullwidth-code-point@npm:2.0.0" + checksum: 10/eef9c6e15f68085fec19ff6a978a6f1b8f48018fd1265035552078ee945573594933b09bbd6f562553e2a241561439f1ef5339276eba68d272001343084cfab8 + languageName: node + linkType: hard + "is-fullwidth-code-point@npm:^3.0.0": version: 3.0.0 resolution: "is-fullwidth-code-point@npm:3.0.0" @@ -13197,7 +12712,7 @@ __metadata: languageName: node linkType: hard -"is-map@npm:^2.0.2, is-map@npm:^2.0.3": +"is-map@npm:^2.0.3": version: 2.0.3 resolution: "is-map@npm:2.0.3" checksum: 10/8de7b41715b08bcb0e5edb0fb9384b80d2d5bcd10e142188f33247d19ff078abaf8e9b6f858e2302d8d05376a26a55cd23a3c9f8ab93292b02fcd2cc9e4e92bb @@ -13234,13 +12749,6 @@ __metadata: languageName: node linkType: hard -"is-plain-obj@npm:2.1.0, is-plain-obj@npm:^2.0.0": - version: 2.1.0 - resolution: "is-plain-obj@npm:2.1.0" - checksum: 10/cec9100678b0a9fe0248a81743041ed990c2d4c99f893d935545cfbc42876cbe86d207f3b895700c690ad2fa520e568c44afc1605044b535a7820c1d40e38daa - languageName: node - linkType: hard - "is-plain-obj@npm:^1.1.0": version: 1.1.0 resolution: "is-plain-obj@npm:1.1.0" @@ -13248,6 +12756,13 @@ __metadata: languageName: node linkType: hard +"is-plain-obj@npm:^2.0.0": + version: 2.1.0 + resolution: "is-plain-obj@npm:2.1.0" + checksum: 10/cec9100678b0a9fe0248a81743041ed990c2d4c99f893d935545cfbc42876cbe86d207f3b895700c690ad2fa520e568c44afc1605044b535a7820c1d40e38daa + languageName: node + linkType: hard + "is-plain-obj@npm:^3.0.0": version: 3.0.0 resolution: "is-plain-obj@npm:3.0.0" @@ -13288,7 +12803,7 @@ __metadata: languageName: node linkType: hard -"is-set@npm:^2.0.2, is-set@npm:^2.0.3": +"is-set@npm:^2.0.3": version: 2.0.3 resolution: "is-set@npm:2.0.3" checksum: 10/5685df33f0a4a6098a98c72d94d67cad81b2bc72f1fb2091f3d9283c4a1c582123cd709145b02a9745f0ce6b41e3e43f1c944496d1d74d4ea43358be61308669 @@ -13413,16 +12928,42 @@ __metadata: languageName: node linkType: hard -"iterator.prototype@npm:^1.1.3": - version: 1.1.3 - resolution: "iterator.prototype@npm:1.1.3" +"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.2": + version: 3.2.2 + resolution: "istanbul-lib-coverage@npm:3.2.2" + checksum: 10/40bbdd1e937dfd8c830fa286d0f665e81b7a78bdabcd4565f6d5667c99828bda3db7fb7ac6b96a3e2e8a2461ddbc5452d9f8bc7d00cb00075fa6a3e99f5b6a81 + languageName: node + linkType: hard + +"istanbul-lib-report@npm:^3.0.0, istanbul-lib-report@npm:^3.0.1": + version: 3.0.1 + resolution: "istanbul-lib-report@npm:3.0.1" dependencies: - define-properties: "npm:^1.2.1" - get-intrinsic: "npm:^1.2.1" - has-symbols: "npm:^1.0.3" - reflect.getprototypeof: "npm:^1.0.4" - set-function-name: "npm:^2.0.1" - checksum: 10/1a2a508d3baac121b76c834404ff552d1bb96a173b1d74ff947b2c5763840c0b1e5be01be7e2183a19b08e99e38729812668ff1f23b35f6655a366017bc32519 + istanbul-lib-coverage: "npm:^3.0.0" + make-dir: "npm:^4.0.0" + supports-color: "npm:^7.1.0" + checksum: 10/86a83421ca1cf2109a9f6d193c06c31ef04a45e72a74579b11060b1e7bb9b6337a4e6f04abfb8857e2d569c271273c65e855ee429376a0d7c91ad91db42accd1 + languageName: node + linkType: hard + +"istanbul-lib-source-maps@npm:^5.0.6": + version: 5.0.6 + resolution: "istanbul-lib-source-maps@npm:5.0.6" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.23" + debug: "npm:^4.1.1" + istanbul-lib-coverage: "npm:^3.0.0" + checksum: 10/569dd0a392ee3464b1fe1accbaef5cc26de3479eacb5b91d8c67ebb7b425d39fd02247d85649c3a0e9c29b600809fa60b5af5a281a75a89c01f385b1e24823a2 + languageName: node + linkType: hard + +"istanbul-reports@npm:^3.1.7": + version: 3.1.7 + resolution: "istanbul-reports@npm:3.1.7" + dependencies: + html-escaper: "npm:^2.0.0" + istanbul-lib-report: "npm:^3.0.0" + checksum: 10/f1faaa4684efaf57d64087776018d7426312a59aa6eeb4e0e3a777347d23cd286ad18f427e98f0e3dee666103d7404c9d7abc5f240406a912fa16bd6695437fa languageName: node linkType: hard @@ -13448,12 +12989,12 @@ __metadata: languageName: node linkType: hard -"jiti@npm:^2.3.3": - version: 2.4.0 - resolution: "jiti@npm:2.4.0" +"jiti@npm:^2.4.1": + version: 2.4.2 + resolution: "jiti@npm:2.4.2" bin: jiti: lib/jiti-cli.mjs - checksum: 10/10aa999a4f9bccc82b1dab9ebaf4484a8770450883c1bf7fafc07f8fca1e417fd8e7731e651337d1060c9e2ff3f97362dcdfd27e86d1f385db97f4adf7b5a21d + checksum: 10/e2b07eb2e3fbb245e29ad288dddecab31804967fc84d5e01d39858997d2743b5e248946defcecf99272275a00284ecaf7ec88b8c841331324f0c946d8274414b languageName: node linkType: hard @@ -13471,14 +13012,14 @@ __metadata: languageName: node linkType: hard -"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": +"js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" checksum: 10/af37d0d913fb56aec6dc0074c163cc71cd23c0b8aad5c2350747b6721d37ba118af35abdd8b33c47ec2800de07dedb16a527ca9c530ee004093e04958bd0cbf2 languageName: node linkType: hard -"js-yaml@npm:^3.14.1": +"js-yaml@npm:^3.13.1, js-yaml@npm:^3.14.1": version: 3.14.1 resolution: "js-yaml@npm:3.14.1" dependencies: @@ -13602,17 +13143,6 @@ __metadata: languageName: node linkType: hard -"json5@npm:^1.0.2": - version: 1.0.2 - resolution: "json5@npm:1.0.2" - dependencies: - minimist: "npm:^1.2.0" - bin: - json5: lib/cli.js - checksum: 10/a78d812dbbd5642c4f637dd130954acfd231b074965871c3e28a5bbd571f099d623ecf9161f1960c4ddf68e0cc98dee8bebfdb94a71ad4551f85a1afc94b63f6 - languageName: node - linkType: hard - "json5@npm:^2.1.3, json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" @@ -13652,7 +13182,7 @@ __metadata: languageName: node linkType: hard -"jsx-ast-utils@npm:3.3.5, jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.3.5": +"jsx-ast-utils@npm:3.3.5": version: 3.3.5 resolution: "jsx-ast-utils@npm:3.3.5" dependencies: @@ -13701,19 +13231,13 @@ __metadata: languageName: node linkType: hard -"language-subtag-registry@npm:^0.3.20": - version: 0.3.23 - resolution: "language-subtag-registry@npm:0.3.23" - checksum: 10/fe13ed74ab9f862db8e5747b98cc9aa08d52a19f85b5cdb4975cd364c8539bd2da3380e4560d2dbbd728ec33dff8a4b4421fcb2e5b1b1bdaa21d16f91a54d0d4 - languageName: node - linkType: hard - -"language-tags@npm:^1.0.9": - version: 1.0.9 - resolution: "language-tags@npm:1.0.9" +"levn@npm:^0.3.0, levn@npm:~0.3.0": + version: 0.3.0 + resolution: "levn@npm:0.3.0" dependencies: - language-subtag-registry: "npm:^0.3.20" - checksum: 10/d3a7c14b694e67f519153d6df6cb200681648d38d623c3bfa9d6a66a5ec5493628acb88e9df5aceef3cf1902ab263a205e7d59ee4cf1d6bb67e707b83538bd6d + prelude-ls: "npm:~1.1.2" + type-check: "npm:~0.3.2" + checksum: 10/e1c3e75b5c430d9aa4c32c83c8a611e4ca53608ca78e3ea3bf6bbd9d017e4776d05d86e27df7901baebd3afa732abede9f26f715b8c1be19e95505c7a3a7b589 languageName: node linkType: hard @@ -13727,16 +13251,6 @@ __metadata: languageName: node linkType: hard -"levn@npm:~0.3.0": - version: 0.3.0 - resolution: "levn@npm:0.3.0" - dependencies: - prelude-ls: "npm:~1.1.2" - type-check: "npm:~0.3.2" - checksum: 10/e1c3e75b5c430d9aa4c32c83c8a611e4ca53608ca78e3ea3bf6bbd9d017e4776d05d86e27df7901baebd3afa732abede9f26f715b8c1be19e95505c7a3a7b589 - languageName: node - linkType: hard - "license-checker@npm:^25.0.1": version: 25.0.1 resolution: "license-checker@npm:25.0.1" @@ -13833,7 +13347,7 @@ __metadata: languageName: node linkType: hard -"lodash@npm:^4.17.15, lodash@npm:^4.17.21, lodash@npm:^4.7.0": +"lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.21, lodash@npm:^4.7.0": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: 10/c08619c038846ea6ac754abd6dd29d2568aa705feb69339e836dfa8d8b09abbb2f859371e86863eda41848221f9af43714491467b5b0299122431e202bb0c532 @@ -13878,17 +13392,6 @@ __metadata: languageName: node linkType: hard -"loose-envify@npm:^1.4.0": - version: 1.4.0 - resolution: "loose-envify@npm:1.4.0" - dependencies: - js-tokens: "npm:^3.0.0 || ^4.0.0" - bin: - loose-envify: cli.js - checksum: 10/6517e24e0cad87ec9888f500c5b5947032cdfe6ef65e1c1936a0c48a524b81e65542c9c3edc91c97d5bddc806ee2a985dbc79be89215d613b1de5db6d1cfe6f4 - languageName: node - linkType: hard - "loupe@npm:^3.1.0, loupe@npm:^3.1.2": version: 3.1.2 resolution: "loupe@npm:3.1.2" @@ -13951,6 +13454,26 @@ __metadata: languageName: node linkType: hard +"magicast@npm:^0.3.5": + version: 0.3.5 + resolution: "magicast@npm:0.3.5" + dependencies: + "@babel/parser": "npm:^7.25.4" + "@babel/types": "npm:^7.25.4" + source-map-js: "npm:^1.2.0" + checksum: 10/3a2dba6b0bdde957797361d09c7931ebdc1b30231705360eeb40ed458d28e1c3112841c3ed4e1b87ceb28f741e333c7673cd961193aa9fdb4f4946b202e6205a + languageName: node + linkType: hard + +"make-dir@npm:^4.0.0": + version: 4.0.0 + resolution: "make-dir@npm:4.0.0" + dependencies: + semver: "npm:^7.5.3" + checksum: 10/bf0731a2dd3aab4db6f3de1585cea0b746bb73eb5a02e3d8d72757e376e64e6ada190b1eddcde5b2f24a81b688a9897efd5018737d05e02e2a671dda9cff8a8a + languageName: node + linkType: hard + "make-error@npm:^1.1.1": version: 1.3.6 resolution: "make-error@npm:1.3.6" @@ -13992,9 +13515,9 @@ __metadata: languageName: node linkType: hard -"mapbox-gl@npm:^3.6.0, mapbox-gl@npm:^3.8.0": - version: 3.8.0 - resolution: "mapbox-gl@npm:3.8.0" +"mapbox-gl@npm:^3.6.0, mapbox-gl@npm:^3.9.0": + version: 3.9.0 + resolution: "mapbox-gl@npm:3.9.0" dependencies: "@mapbox/jsonlint-lines-primitives": "npm:^2.0.2" "@mapbox/mapbox-gl-supported": "npm:^3.0.0" @@ -14003,7 +13526,7 @@ __metadata: "@mapbox/unitbezier": "npm:^0.0.1" "@mapbox/vector-tile": "npm:^1.3.1" "@mapbox/whoots-js": "npm:^3.1.0" - "@types/geojson": "npm:^7946.0.14" + "@types/geojson": "npm:^7946.0.15" "@types/geojson-vt": "npm:^3.2.5" "@types/mapbox__point-geometry": "npm:^0.1.4" "@types/mapbox__vector-tile": "npm:^1.3.4" @@ -14024,7 +13547,7 @@ __metadata: supercluster: "npm:^8.0.1" tinyqueue: "npm:^3.0.0" vt-pbf: "npm:^3.1.3" - checksum: 10/ce1a4b0b1e69fc627aabc626874bd614e546c2d5151e32bc5866aa82b5353259d31f6d346197109c88d95d3f55973ca7ce7448803da578561793966b3401fe17 + checksum: 10/d550f5218e38f8a83a0d364a6e133e932f34cfff94af4b377f82e2992657f3520180727d5b9cd57ed7d411e5d3ec91ea4cb8901a3097c606d77dd466c9bdf758 languageName: node linkType: hard @@ -14090,23 +13613,6 @@ __metadata: languageName: node linkType: hard -"mdast-util-to-hast@npm:^13.0.0": - version: 13.2.0 - resolution: "mdast-util-to-hast@npm:13.2.0" - dependencies: - "@types/hast": "npm:^3.0.0" - "@types/mdast": "npm:^4.0.0" - "@ungap/structured-clone": "npm:^1.0.0" - devlop: "npm:^1.0.0" - micromark-util-sanitize-uri: "npm:^2.0.0" - trim-lines: "npm:^3.0.0" - unist-util-position: "npm:^5.0.0" - unist-util-visit: "npm:^5.0.0" - vfile: "npm:^6.0.0" - checksum: 10/b17ee338f843af31a1c7a2ebf0df6f0b41c9380b7119a63ab521d271df665456578e1234bb7617883e8d860fe878038dcf2b76ab2f21e0f7451215a096d26cce - languageName: node - linkType: hard - "mdast-util-to-string@npm:^1.0.2": version: 1.1.0 resolution: "mdast-util-to-string@npm:1.1.0" @@ -14155,7 +13661,7 @@ __metadata: languageName: node linkType: hard -"merge2@npm:^1.2.3, merge2@npm:^1.3.0, merge2@npm:^1.4.1": +"merge2@npm:^1.3.0, merge2@npm:^1.4.1": version: 1.4.1 resolution: "merge2@npm:1.4.1" checksum: 10/7268db63ed5169466540b6fb947aec313200bcf6d40c5ab722c22e242f651994619bcd85601602972d3c85bd2cc45a358a4c61937e9f11a061919a1da569b0c2 @@ -14176,48 +13682,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-character@npm:^2.0.0": - version: 2.1.1 - resolution: "micromark-util-character@npm:2.1.1" - dependencies: - micromark-util-symbol: "npm:^2.0.0" - micromark-util-types: "npm:^2.0.0" - checksum: 10/85da8f8e5f7ed16046575bef5b0964ca3fca3162b87b74ae279f1e48eb7160891313eb64f04606baed81c58b514dbdb64f1a9d110a51baaaa79225d72a7b1852 - languageName: node - linkType: hard - -"micromark-util-encode@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-util-encode@npm:2.0.1" - checksum: 10/be890b98e78dd0cdd953a313f4148c4692cc2fb05533e56fef5f421287d3c08feee38ca679f318e740530791fc251bfe8c80efa926fcceb4419b269c9343d226 - languageName: node - linkType: hard - -"micromark-util-sanitize-uri@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-util-sanitize-uri@npm:2.0.1" - dependencies: - micromark-util-character: "npm:^2.0.0" - micromark-util-encode: "npm:^2.0.0" - micromark-util-symbol: "npm:^2.0.0" - checksum: 10/064c72abfc9777864ca0521a016dde62ab3e7af5215d10fd27e820798500d5d305da638459c589275c1a093cf588f493cc2f65273deac5a5331ecefc6c9ea78a - languageName: node - linkType: hard - -"micromark-util-symbol@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-util-symbol@npm:2.0.1" - checksum: 10/497e6d95fc21c2bb5265b78a6a60db518c376dc438739b2e7d4aee6f9f165222711724b456c63163314f32b8eea68a064687711d41e986262926eab23ddb9229 - languageName: node - linkType: hard - -"micromark-util-types@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-util-types@npm:2.0.1" - checksum: 10/69c5e18e6ba4e12473d6fe5f1a7cc113ac1d4bfc23c7ad57b16a5e4bfd09ef48b7c17a40c39d43996f2078ad898efd3f1945007c14f395abd55f2af03d413acd - languageName: node - linkType: hard - "micromatch@npm:^4.0.4, micromatch@npm:^4.0.7": version: 4.0.8 resolution: "micromatch@npm:4.0.8" @@ -14262,6 +13726,13 @@ __metadata: languageName: node linkType: hard +"mimic-fn@npm:^2.1.0": + version: 2.1.0 + resolution: "mimic-fn@npm:2.1.0" + checksum: 10/d2421a3444848ce7f84bd49115ddacff29c15745db73f54041edc906c14b131a38d05298dae3081667627a59b2eb1ca4b436ff2e1b80f69679522410418b478a + languageName: node + linkType: hard + "min-indent@npm:^1.0.0": version: 1.0.1 resolution: "min-indent@npm:1.0.1" @@ -14269,7 +13740,16 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:10.0.1, minimatch@npm:^10.0.0": +"minimatch@npm:9.0.5, minimatch@npm:^9.0.3, minimatch@npm:^9.0.4, minimatch@npm:^9.0.5": + version: 9.0.5 + resolution: "minimatch@npm:9.0.5" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10/dd6a8927b063aca6d910b119e1f2df6d2ce7d36eab91de83167dd136bb85e1ebff97b0d3de1cb08bd1f7e018ca170b4962479fefab5b2a69e2ae12cb2edc8348 + languageName: node + linkType: hard + +"minimatch@npm:^10.0.0": version: 10.0.1 resolution: "minimatch@npm:10.0.1" dependencies: @@ -14305,15 +13785,6 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.3, minimatch@npm:^9.0.4, minimatch@npm:^9.0.5": - version: 9.0.5 - resolution: "minimatch@npm:9.0.5" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 10/dd6a8927b063aca6d910b119e1f2df6d2ce7d36eab91de83167dd136bb85e1ebff97b0d3de1cb08bd1f7e018ca170b4962479fefab5b2a69e2ae12cb2edc8348 - languageName: node - linkType: hard - "minimist-options@npm:4.1.0": version: 4.1.0 resolution: "minimist-options@npm:4.1.0" @@ -14325,7 +13796,7 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.0, minimist@npm:^1.2.6": +"minimist@npm:^1.2.6": version: 1.2.8 resolution: "minimist@npm:1.2.8" checksum: 10/908491b6cc15a6c440ba5b22780a0ba89b9810e1aea684e253e43c4e3b8d56ec1dcdd7ea96dde119c29df59c936cde16062159eae4225c691e19c70b432b6e6f @@ -14496,6 +13967,13 @@ __metadata: languageName: node linkType: hard +"mute-stream@npm:0.0.8": + version: 0.0.8 + resolution: "mute-stream@npm:0.0.8" + checksum: 10/a2d2e79dde87e3424ffc8c334472c7f3d17b072137734ca46e6f221131f1b014201cc593b69a38062e974fb2394d3d1cb4349f80f012bbf8b8ac1b28033e515f + languageName: node + linkType: hard + "mz@npm:^2.7.0": version: 2.7.0 resolution: "mz@npm:2.7.0" @@ -14537,6 +14015,13 @@ __metadata: languageName: node linkType: hard +"nice-try@npm:^1.0.4": + version: 1.0.5 + resolution: "nice-try@npm:1.0.5" + checksum: 10/0b4af3b5bb5d86c289f7a026303d192a7eb4417231fe47245c460baeabae7277bcd8fd9c728fb6bd62c30b3e15cd6620373e2cf33353b095d8b403d3e8a15aff + languageName: node + linkType: hard + "node-cache@npm:^5.1.2": version: 5.1.2 resolution: "node-cache@npm:5.1.2" @@ -14717,7 +14202,7 @@ __metadata: languageName: node linkType: hard -"object-assign@npm:^4, object-assign@npm:^4.0.1, object-assign@npm:^4.1.1": +"object-assign@npm:^4, object-assign@npm:^4.0.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" checksum: 10/fcc6e4ea8c7fe48abfbb552578b1c53e0d194086e2e6bbbf59e0a536381a292f39943c6e9628af05b5528aa5e3318bb30d6b2e53cadaf5b8fe9e12c4b69af23f @@ -14731,16 +14216,6 @@ __metadata: languageName: node linkType: hard -"object-is@npm:^1.1.5": - version: 1.1.6 - resolution: "object-is@npm:1.1.6" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - checksum: 10/4f6f544773a595da21c69a7531e0e1d6250670f4e09c55f47eb02c516035cfcb1b46ceb744edfd3ecb362309dbccb6d7f88e43bf42e4d4595ac10a329061053a - languageName: node - linkType: hard - "object-keys@npm:^1.1.1": version: 1.1.1 resolution: "object-keys@npm:1.1.1" @@ -14760,41 +14235,7 @@ __metadata: languageName: node linkType: hard -"object.entries@npm:^1.1.8": - version: 1.1.8 - resolution: "object.entries@npm:1.1.8" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-object-atoms: "npm:^1.0.0" - checksum: 10/2301918fbd1ee697cf6ff7cd94f060c738c0a7d92b22fd24c7c250e9b593642c9707ad2c44d339303c1439c5967d8964251cdfc855f7f6ec55db2dd79e8dc2a7 - languageName: node - linkType: hard - -"object.fromentries@npm:^2.0.8": - version: 2.0.8 - resolution: "object.fromentries@npm:2.0.8" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.2" - es-object-atoms: "npm:^1.0.0" - checksum: 10/5b2e80f7af1778b885e3d06aeb335dcc86965e39464671adb7167ab06ac3b0f5dd2e637a90d8ebd7426d69c6f135a4753ba3dd7d0fe2a7030cf718dcb910fd92 - languageName: node - linkType: hard - -"object.groupby@npm:^1.0.3": - version: 1.0.3 - resolution: "object.groupby@npm:1.0.3" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.2" - checksum: 10/44cb86dd2c660434be65f7585c54b62f0425b0c96b5c948d2756be253ef06737da7e68d7106e35506ce4a44d16aa85a413d11c5034eb7ce5579ec28752eb42d0 - languageName: node - linkType: hard - -"object.values@npm:^1.1.6, object.values@npm:^1.2.0": +"object.values@npm:^1.1.6": version: 1.2.0 resolution: "object.values@npm:1.2.0" dependencies: @@ -14848,18 +14289,16 @@ __metadata: languageName: node linkType: hard -"oniguruma-to-es@npm:0.4.1": - version: 0.4.1 - resolution: "oniguruma-to-es@npm:0.4.1" +"onetime@npm:^5.1.0": + version: 5.1.2 + resolution: "onetime@npm:5.1.2" dependencies: - emoji-regex-xs: "npm:^1.0.0" - regex: "npm:^5.0.0" - regex-recursion: "npm:^4.2.1" - checksum: 10/f88d99a5b1332260dd40635efa0ab81fee3b93fe0bc86b860bfe6734c5a153d2729d31d35828788c6a6a325d6c87e8b4aff96c01d00c75e85687af05d35d4a12 + mimic-fn: "npm:^2.1.0" + checksum: 10/e9fd0695a01cf226652f0385bf16b7a24153dbbb2039f764c8ba6d2306a8506b0e4ce570de6ad99c7a6eb49520743afdb66edd95ee979c1a342554ed49a9aadd languageName: node linkType: hard -"optionator@npm:^0.8.1": +"optionator@npm:^0.8.1, optionator@npm:^0.8.3": version: 0.8.3 resolution: "optionator@npm:0.8.3" dependencies: @@ -14894,7 +14333,7 @@ __metadata: languageName: node linkType: hard -"os-tmpdir@npm:^1.0.0": +"os-tmpdir@npm:^1.0.0, os-tmpdir@npm:~1.0.2": version: 1.0.2 resolution: "os-tmpdir@npm:1.0.2" checksum: 10/5666560f7b9f10182548bf7013883265be33620b1c1b4a4d405c25be2636f970c5488ff3e6c48de75b55d02bde037249fe5dbfbb4c0fb7714953d56aed062e6d @@ -15114,6 +14553,13 @@ __metadata: languageName: node linkType: hard +"path-key@npm:^2.0.1": + version: 2.0.1 + resolution: "path-key@npm:2.0.1" + checksum: 10/6e654864e34386a2a8e6bf72cf664dcabb76574dd54013add770b374384d438aca95f4357bb26935b514a4e4c2c9b19e191f2200b282422a76ee038b9258c5e7 + languageName: node + linkType: hard + "path-key@npm:^3.1.0": version: 3.1.1 resolution: "path-key@npm:3.1.1" @@ -15148,10 +14594,10 @@ __metadata: languageName: node linkType: hard -"path-to-regexp@npm:0.1.10": - version: 0.1.10 - resolution: "path-to-regexp@npm:0.1.10" - checksum: 10/894e31f1b20e592732a87db61fff5b95c892a3fe430f9ab18455ebe69ee88ef86f8eb49912e261f9926fc53da9f93b46521523e33aefd9cb0a7b0d85d7096006 +"path-to-regexp@npm:0.1.12": + version: 0.1.12 + resolution: "path-to-regexp@npm:0.1.12" + checksum: 10/2e30f6a0144679c1f95c98e166b96e6acd1e72be9417830fefc8de7ac1992147eb9a4c7acaa59119fb1b3c34eec393b2129ef27e24b2054a3906fc4fb0d1398e languageName: node linkType: hard @@ -15360,6 +14806,13 @@ __metadata: languageName: node linkType: hard +"progress@npm:^2.0.0": + version: 2.0.3 + resolution: "progress@npm:2.0.3" + checksum: 10/e6f0bcb71f716eee9dfac0fe8a2606e3704d6a64dd93baaf49fbadbc8499989a610fe14cf1bc6f61b6d6653c49408d94f4a94e124538084efd8e4cf525e0293d + languageName: node + linkType: hard + "promise-retry@npm:^2.0.1": version: 2.0.1 resolution: "promise-retry@npm:2.0.1" @@ -15370,24 +14823,6 @@ __metadata: languageName: node linkType: hard -"prop-types@npm:^15.8.1": - version: 15.8.1 - resolution: "prop-types@npm:15.8.1" - dependencies: - loose-envify: "npm:^1.4.0" - object-assign: "npm:^4.1.1" - react-is: "npm:^16.13.1" - checksum: 10/7d959caec002bc964c86cdc461ec93108b27337dabe6192fb97d69e16a0c799a03462713868b40749bfc1caf5f57ef80ac3e4ffad3effa636ee667582a75e2c0 - languageName: node - linkType: hard - -"property-information@npm:^6.0.0": - version: 6.5.0 - resolution: "property-information@npm:6.5.0" - checksum: 10/fced94f3a09bf651ad1824d1bdc8980428e3e480e6d01e98df6babe2cc9d45a1c52eee9a7736d2006958f9b394eb5964dedd37e23038086ddc143fc2fd5e426c - languageName: node - linkType: hard - "protobufjs@npm:^7.2.5": version: 7.4.0 resolution: "protobufjs@npm:7.4.0" @@ -15517,13 +14952,6 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^16.13.1": - version: 16.13.1 - resolution: "react-is@npm:16.13.1" - checksum: 10/5aa564a1cde7d391ac980bedee21202fc90bdea3b399952117f54fb71a932af1e5902020144fb354b4690b2414a0c7aafe798eb617b76a3d441d956db7726fdf - languageName: node - linkType: hard - "read-installed@npm:~4.0.3": version: 4.0.3 resolution: "read-installed@npm:4.0.3" @@ -15666,7 +15094,7 @@ __metadata: languageName: node linkType: hard -"reflect.getprototypeof@npm:^1.0.4, reflect.getprototypeof@npm:^1.0.6": +"reflect.getprototypeof@npm:^1.0.6": version: 1.0.7 resolution: "reflect.getprototypeof@npm:1.0.7" dependencies: @@ -15713,31 +15141,6 @@ __metadata: languageName: node linkType: hard -"regex-recursion@npm:^4.2.1": - version: 4.2.1 - resolution: "regex-recursion@npm:4.2.1" - dependencies: - regex-utilities: "npm:^2.3.0" - checksum: 10/5a67346878ec7133173a65d87c0b341d427b9e657fcc345b400b07226abb0518ffd092b897963dd78b6b637e7cf919ddc2cba85f9e898198e8f5cab23afb138d - languageName: node - linkType: hard - -"regex-utilities@npm:^2.3.0": - version: 2.3.0 - resolution: "regex-utilities@npm:2.3.0" - checksum: 10/d11519c31f379488cbc6278b8645d72f16339ee325c79a4b8b3a6477738016a52983158dc69ae1b5867f8b06978ff5d83933520257a57f7e5c3e4ac6a1ea3cc7 - languageName: node - linkType: hard - -"regex@npm:^5.0.0": - version: 5.0.2 - resolution: "regex@npm:5.0.2" - dependencies: - regex-utilities: "npm:^2.3.0" - checksum: 10/c9dab5adc2df30a37bed0665b4830be170e413e48bb0fc149388161995dc250049ce0aa5e579757b3c6c0ecb8cb2b9afe50d3a5de229cbed36132ff9cc93efa6 - languageName: node - linkType: hard - "regexp-ast-analysis@npm:^0.7.0": version: 0.7.1 resolution: "regexp-ast-analysis@npm:0.7.1" @@ -15757,7 +15160,7 @@ __metadata: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.5.1, regexp.prototype.flags@npm:^1.5.2, regexp.prototype.flags@npm:^1.5.3": +"regexp.prototype.flags@npm:^1.5.3": version: 1.5.3 resolution: "regexp.prototype.flags@npm:1.5.3" dependencies: @@ -15769,6 +15172,13 @@ __metadata: languageName: node linkType: hard +"regexpp@npm:^2.0.1": + version: 2.0.1 + resolution: "regexpp@npm:2.0.1" + checksum: 10/06581aa8564f0f6c707de8c6871088f823431cd6379f2504834a84c4b6c09210e2d35791292d6263b6ac8cecb08da60153c1f2a7ee8f48a46d97188be4e16324 + languageName: node + linkType: hard + "regexpu-core@npm:^6.1.1": version: 6.2.0 resolution: "regexpu-core@npm:6.2.0" @@ -16563,19 +15973,6 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^2.0.0-next.5": - version: 2.0.0-next.5 - resolution: "resolve@npm:2.0.0-next.5" - dependencies: - is-core-module: "npm:^2.13.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10/2d6fd28699f901744368e6f2032b4268b4c7b9185fd8beb64f68c93ac6b22e52ae13560ceefc96241a665b985edf9ffd393ae26d2946a7d3a07b7007b7d51e79 - languageName: node - linkType: hard - "resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin, resolve@patch:resolve@npm%3A^1.22.3#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin": version: 1.22.8 resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" @@ -16589,16 +15986,13 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A^2.0.0-next.5#optional!builtin": - version: 2.0.0-next.5 - resolution: "resolve@patch:resolve@npm%3A2.0.0-next.5#optional!builtin::version=2.0.0-next.5&hash=c3c19d" +"restore-cursor@npm:^3.1.0": + version: 3.1.0 + resolution: "restore-cursor@npm:3.1.0" dependencies: - is-core-module: "npm:^2.13.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10/05fa778de9d0347c8b889eb7a18f1f06bf0f801b0eb4610b4871a4b2f22e220900cf0ad525e94f990bb8d8921c07754ab2122c0c225ab4cdcea98f36e64fa4c2 + onetime: "npm:^5.1.0" + signal-exit: "npm:^3.0.2" + checksum: 10/f877dd8741796b909f2a82454ec111afb84eb45890eb49ac947d87991379406b3b83ff9673a46012fca0d7844bb989f45cc5b788254cf1a39b6b5a9659de0630 languageName: node linkType: hard @@ -16616,6 +16010,17 @@ __metadata: languageName: node linkType: hard +"rimraf@npm:2.6.3": + version: 2.6.3 + resolution: "rimraf@npm:2.6.3" + dependencies: + glob: "npm:^7.1.3" + bin: + rimraf: ./bin.js + checksum: 10/756419f2fa99aa119c46a9fc03e09d84ecf5421a80a72d1944c5088c9e4671e77128527a900a313ed9d3fdbdd37e2ae05486cd7e9116d5812d8c31f2399d7c86 + languageName: node + linkType: hard + "rollbar@npm:^2.26.4": version: 2.26.4 resolution: "rollbar@npm:2.26.4" @@ -16644,37 +16049,38 @@ __metadata: languageName: node linkType: hard -"rollup-plugin-node-externals@npm:^7.1.3": - version: 7.1.3 - resolution: "rollup-plugin-node-externals@npm:7.1.3" +"rollup-plugin-node-externals@npm:^8.0.0": + version: 8.0.0 + resolution: "rollup-plugin-node-externals@npm:8.0.0" peerDependencies: - rollup: ^3.0.0 || ^4.0.0 - checksum: 10/4e8d38ebc3c8a29cb72d11a73f97ba810a4560b5b0f0be445ba32180875073ce4752a9ea4d0b658717ddae642d314738047677e5c818b1893f3d715d18fe413c - languageName: node - linkType: hard - -"rollup@npm:^4.20.0, rollup@npm:^4.24.0, rollup@npm:^4.25.0": - version: 4.27.4 - resolution: "rollup@npm:4.27.4" - dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.27.4" - "@rollup/rollup-android-arm64": "npm:4.27.4" - "@rollup/rollup-darwin-arm64": "npm:4.27.4" - "@rollup/rollup-darwin-x64": "npm:4.27.4" - "@rollup/rollup-freebsd-arm64": "npm:4.27.4" - "@rollup/rollup-freebsd-x64": "npm:4.27.4" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.27.4" - "@rollup/rollup-linux-arm-musleabihf": "npm:4.27.4" - "@rollup/rollup-linux-arm64-gnu": "npm:4.27.4" - "@rollup/rollup-linux-arm64-musl": "npm:4.27.4" - "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.27.4" - "@rollup/rollup-linux-riscv64-gnu": "npm:4.27.4" - "@rollup/rollup-linux-s390x-gnu": "npm:4.27.4" - "@rollup/rollup-linux-x64-gnu": "npm:4.27.4" - "@rollup/rollup-linux-x64-musl": "npm:4.27.4" - "@rollup/rollup-win32-arm64-msvc": "npm:4.27.4" - "@rollup/rollup-win32-ia32-msvc": "npm:4.27.4" - "@rollup/rollup-win32-x64-msvc": "npm:4.27.4" + rollup: ^4.0.0 + checksum: 10/ef5565e8fdba4acbba81c4b214f789e03d3a3d049cbbe372679151c4f749a21a7f51d8448eff82b0b1bbbe5d2d64862cd292795e0f92e1fcad2afc9954a6fbdd + languageName: node + linkType: hard + +"rollup@npm:^4.20.0, rollup@npm:^4.24.0, rollup@npm:^4.28.1": + version: 4.28.1 + resolution: "rollup@npm:4.28.1" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.28.1" + "@rollup/rollup-android-arm64": "npm:4.28.1" + "@rollup/rollup-darwin-arm64": "npm:4.28.1" + "@rollup/rollup-darwin-x64": "npm:4.28.1" + "@rollup/rollup-freebsd-arm64": "npm:4.28.1" + "@rollup/rollup-freebsd-x64": "npm:4.28.1" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.28.1" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.28.1" + "@rollup/rollup-linux-arm64-gnu": "npm:4.28.1" + "@rollup/rollup-linux-arm64-musl": "npm:4.28.1" + "@rollup/rollup-linux-loongarch64-gnu": "npm:4.28.1" + "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.28.1" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.28.1" + "@rollup/rollup-linux-s390x-gnu": "npm:4.28.1" + "@rollup/rollup-linux-x64-gnu": "npm:4.28.1" + "@rollup/rollup-linux-x64-musl": "npm:4.28.1" + "@rollup/rollup-win32-arm64-msvc": "npm:4.28.1" + "@rollup/rollup-win32-ia32-msvc": "npm:4.28.1" + "@rollup/rollup-win32-x64-msvc": "npm:4.28.1" "@types/estree": "npm:1.0.6" fsevents: "npm:~2.3.2" dependenciesMeta: @@ -16698,6 +16104,8 @@ __metadata: optional: true "@rollup/rollup-linux-arm64-musl": optional: true + "@rollup/rollup-linux-loongarch64-gnu": + optional: true "@rollup/rollup-linux-powerpc64le-gnu": optional: true "@rollup/rollup-linux-riscv64-gnu": @@ -16718,7 +16126,7 @@ __metadata: optional: true bin: rollup: dist/bin/rollup - checksum: 10/ff7dcb877fcb6240b5135292dcb5c6aa66d06071e6570bb8aa2ce0863ae1f879e5dd04aff7ed3a77d29633da40393361553549bf819c02cc199d7be94801da66 + checksum: 10/4337898d07e646835b52494b43b4ccd6929da87af2b0febc05ab217fd2425cfda05af5efaea6037c1641c90d803eb5b3e491eefdd47b28fda85af4f46a0dad34 languageName: node linkType: hard @@ -16729,6 +16137,13 @@ __metadata: languageName: node linkType: hard +"run-async@npm:^2.4.0": + version: 2.4.1 + resolution: "run-async@npm:2.4.1" + checksum: 10/c79551224dafa26ecc281cb1efad3510c82c79116aaf681f8a931ce70fdf4ca880d58f97d3b930a38992c7aad7955a08e065b32ec194e1dd49d7790c874ece50 + languageName: node + linkType: hard + "run-parallel@npm:^1.1.9": version: 1.2.0 resolution: "run-parallel@npm:1.2.0" @@ -16738,6 +16153,15 @@ __metadata: languageName: node linkType: hard +"rxjs@npm:^6.6.0": + version: 6.6.7 + resolution: "rxjs@npm:6.6.7" + dependencies: + tslib: "npm:^1.9.0" + checksum: 10/c8263ebb20da80dd7a91c452b9e96a178331f402344bbb40bc772b56340fcd48d13d1f545a1e3d8e464893008c5e306cc42a1552afe0d562b1a6d4e1e6262b03 + languageName: node + linkType: hard + "sade@npm:^1.8.1": version: 1.8.1 resolution: "sade@npm:1.8.1" @@ -16827,7 +16251,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:7.6.3, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.6, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.2, semver@npm:^7.6.3": +"semver@npm:7.6.3, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.2, semver@npm:^7.6.3": version: 7.6.3 resolution: "semver@npm:7.6.3" bin: @@ -16836,7 +16260,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^6.3.1": +"semver@npm:^6.1.2, semver@npm:^6.3.1": version: 6.3.1 resolution: "semver@npm:6.3.1" bin: @@ -16899,7 +16323,7 @@ __metadata: languageName: node linkType: hard -"set-function-name@npm:^2.0.1, set-function-name@npm:^2.0.2": +"set-function-name@npm:^2.0.2": version: 2.0.2 resolution: "set-function-name@npm:2.0.2" dependencies: @@ -16918,6 +16342,15 @@ __metadata: languageName: node linkType: hard +"shebang-command@npm:^1.2.0": + version: 1.2.0 + resolution: "shebang-command@npm:1.2.0" + dependencies: + shebang-regex: "npm:^1.0.0" + checksum: 10/9eed1750301e622961ba5d588af2212505e96770ec376a37ab678f965795e995ade7ed44910f5d3d3cb5e10165a1847f52d3348c64e146b8be922f7707958908 + languageName: node + linkType: hard + "shebang-command@npm:^2.0.0": version: 2.0.0 resolution: "shebang-command@npm:2.0.0" @@ -16927,6 +16360,13 @@ __metadata: languageName: node linkType: hard +"shebang-regex@npm:^1.0.0": + version: 1.0.0 + resolution: "shebang-regex@npm:1.0.0" + checksum: 10/404c5a752cd40f94591dfd9346da40a735a05139dac890ffc229afba610854d8799aaa52f87f7e0c94c5007f2c6af55bdcaeb584b56691926c5eaf41dc8f1372 + languageName: node + linkType: hard + "shebang-regex@npm:^3.0.0": version: 3.0.0 resolution: "shebang-regex@npm:3.0.0" @@ -16934,20 +16374,6 @@ __metadata: languageName: node linkType: hard -"shiki@npm:^1.16.2": - version: 1.23.1 - resolution: "shiki@npm:1.23.1" - dependencies: - "@shikijs/core": "npm:1.23.1" - "@shikijs/engine-javascript": "npm:1.23.1" - "@shikijs/engine-oniguruma": "npm:1.23.1" - "@shikijs/types": "npm:1.23.1" - "@shikijs/vscode-textmate": "npm:^9.3.0" - "@types/hast": "npm:^3.0.4" - checksum: 10/2ef930d0b738db497de8e6bc060c82cf9689e8c56808557775863fea75478d8a95ba610fe639f4cb191e439becfd5f9bcabd0c94a92fb356f94ea74442d050d6 - languageName: node - linkType: hard - "side-channel@npm:^1.0.4, side-channel@npm:^1.0.6": version: 1.0.6 resolution: "side-channel@npm:1.0.6" @@ -16967,6 +16393,13 @@ __metadata: languageName: node linkType: hard +"signal-exit@npm:^3.0.2": + version: 3.0.7 + resolution: "signal-exit@npm:3.0.7" + checksum: 10/a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318 + languageName: node + linkType: hard + "signal-exit@npm:^4.0.1": version: 4.1.0 resolution: "signal-exit@npm:4.1.0" @@ -16997,6 +16430,17 @@ __metadata: languageName: node linkType: hard +"slice-ansi@npm:^2.1.0": + version: 2.1.0 + resolution: "slice-ansi@npm:2.1.0" + dependencies: + ansi-styles: "npm:^3.2.0" + astral-regex: "npm:^1.0.0" + is-fullwidth-code-point: "npm:^2.0.0" + checksum: 10/4e82995aa59cef7eb03ef232d73c2239a15efa0ace87a01f3012ebb942e963fbb05d448ce7391efcd52ab9c32724164aba2086f5143e0445c969221dde3b6b1e + languageName: node + linkType: hard + "sliced@npm:^1.0.1": version: 1.0.1 resolution: "sliced@npm:1.0.1" @@ -17093,23 +16537,7 @@ __metadata: languageName: node linkType: hard -"sort-package-json@npm:^1.57.0": - version: 1.57.0 - resolution: "sort-package-json@npm:1.57.0" - dependencies: - detect-indent: "npm:^6.0.0" - detect-newline: "npm:3.1.0" - git-hooks-list: "npm:1.0.3" - globby: "npm:10.0.0" - is-plain-obj: "npm:2.1.0" - sort-object-keys: "npm:^1.1.3" - bin: - sort-package-json: cli.js - checksum: 10/abc217315070ffd6559b32b95917b92c8376880c0d17b4ad2b0eeacdffb38bf723b892a56c56d91ae6999fca3369bfdf5e29b1b02b2fc944b0cbb299c069d0e8 - languageName: node - linkType: hard - -"sort-package-json@npm:^2.10.1": +"sort-package-json@npm:^2.12.0": version: 2.12.0 resolution: "sort-package-json@npm:2.12.0" dependencies: @@ -17157,13 +16585,6 @@ __metadata: languageName: node linkType: hard -"space-separated-tokens@npm:^2.0.0": - version: 2.0.2 - resolution: "space-separated-tokens@npm:2.0.2" - checksum: 10/202e97d7ca1ba0758a0aa4fe226ff98142073bcceeff2da3aad037968878552c3bbce3b3231970025375bbba5aee00c5b8206eda408da837ab2dc9c0f26be990 - languageName: node - linkType: hard - "spdx-compare@npm:^1.0.0": version: 1.0.0 resolution: "spdx-compare@npm:1.0.0" @@ -17315,15 +16736,6 @@ __metadata: languageName: node linkType: hard -"stop-iteration-iterator@npm:^1.0.0": - version: 1.0.0 - resolution: "stop-iteration-iterator@npm:1.0.0" - dependencies: - internal-slot: "npm:^1.0.4" - checksum: 10/2a23a36f4f6bfa63f46ae2d53a3f80fe8276110b95a55345d8ed3d92125413494033bc8697eb774e8f7aeb5725f70e3d69753caa2ecacdac6258c16fa8aa8b0f - languageName: node - linkType: hard - "store2@npm:^2.14.3": version: 2.14.3 resolution: "store2@npm:2.14.3" @@ -17342,6 +16754,17 @@ __metadata: languageName: node linkType: hard +"string-width@npm:^3.0.0": + version: 3.1.0 + resolution: "string-width@npm:3.1.0" + dependencies: + emoji-regex: "npm:^7.0.1" + is-fullwidth-code-point: "npm:^2.0.0" + strip-ansi: "npm:^5.1.0" + checksum: 10/57f7ca73d201682816d573dc68bd4bb8e1dff8dc9fcf10470fdfc3474135c97175fec12ea6a159e67339b41e86963112355b64529489af6e7e70f94a7caf08b2 + languageName: node + linkType: hard + "string-width@npm:^5.0.1, string-width@npm:^5.1.2": version: 5.1.2 resolution: "string-width@npm:5.1.2" @@ -17353,47 +16776,6 @@ __metadata: languageName: node linkType: hard -"string.prototype.includes@npm:^2.0.0": - version: 2.0.1 - resolution: "string.prototype.includes@npm:2.0.1" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.3" - checksum: 10/939a5447e4a99a86f29cc97fa24f358e5071f79e34746de4c7eb2cd736ed626ad24870a1e356f33915b3b352bb87f7e4d1cebc15d1e1aaae0923777e21b1b28b - languageName: node - linkType: hard - -"string.prototype.matchall@npm:^4.0.11": - version: 4.0.11 - resolution: "string.prototype.matchall@npm:4.0.11" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.2" - es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.0.0" - get-intrinsic: "npm:^1.2.4" - gopd: "npm:^1.0.1" - has-symbols: "npm:^1.0.3" - internal-slot: "npm:^1.0.7" - regexp.prototype.flags: "npm:^1.5.2" - set-function-name: "npm:^2.0.2" - side-channel: "npm:^1.0.6" - checksum: 10/a902ff4500f909f2a08e55cc5ab1ffbbc905f603b36837674370ee3921058edd0392147e15891910db62a2f31ace2adaf065eaa3bc6e9810bdbc8ca48e05a7b5 - languageName: node - linkType: hard - -"string.prototype.repeat@npm:^1.0.0": - version: 1.0.0 - resolution: "string.prototype.repeat@npm:1.0.0" - dependencies: - define-properties: "npm:^1.1.3" - es-abstract: "npm:^1.17.5" - checksum: 10/4b1bd91b75fa8fdf0541625184ebe80e445a465ce4253c19c3bccd633898005dadae0f74b85ae72662a53aafb8035bf48f8f5c0755aec09bc106a7f13959d05e - languageName: node - linkType: hard - "string.prototype.trim@npm:^1.2.9": version: 1.2.9 resolution: "string.prototype.trim@npm:1.2.9" @@ -17450,16 +16832,6 @@ __metadata: languageName: node linkType: hard -"stringify-entities@npm:^4.0.0": - version: 4.0.4 - resolution: "stringify-entities@npm:4.0.4" - dependencies: - character-entities-html4: "npm:^2.0.0" - character-entities-legacy: "npm:^3.0.0" - checksum: 10/42bd2f37528795a7b4386bd39dc4699515fb0f0b8c418a6bb29ae205ce66eaff9e8801a2bee65b8049c918c9475a71c7e5911f6a88c19f1d84ebdcba3d881a2d - languageName: node - linkType: hard - "strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": version: 6.0.1 resolution: "strip-ansi@npm:6.0.1" @@ -17469,6 +16841,15 @@ __metadata: languageName: node linkType: hard +"strip-ansi@npm:^5.1.0, strip-ansi@npm:^5.2.0": + version: 5.2.0 + resolution: "strip-ansi@npm:5.2.0" + dependencies: + ansi-regex: "npm:^4.1.0" + checksum: 10/bdb5f76ade97062bd88e7723aa019adbfacdcba42223b19ccb528ffb9fb0b89a5be442c663c4a3fb25268eaa3f6ea19c7c3fbae830bd1562d55adccae1fcec46 + languageName: node + linkType: hard + "strip-ansi@npm:^7.0.1": version: 7.1.0 resolution: "strip-ansi@npm:7.1.0" @@ -17478,13 +16859,6 @@ __metadata: languageName: node linkType: hard -"strip-bom@npm:^3.0.0": - version: 3.0.0 - resolution: "strip-bom@npm:3.0.0" - checksum: 10/8d50ff27b7ebe5ecc78f1fe1e00fcdff7af014e73cf724b46fb81ef889eeb1015fc5184b64e81a2efe002180f3ba431bdd77e300da5c6685d702780fbf0c8d5b - languageName: node - linkType: hard - "strip-indent@npm:^3.0.0": version: 3.0.0 resolution: "strip-indent@npm:3.0.0" @@ -17494,7 +16868,7 @@ __metadata: languageName: node linkType: hard -"strip-json-comments@npm:^3.1.1": +"strip-json-comments@npm:^3.0.1, strip-json-comments@npm:^3.1.1": version: 3.1.1 resolution: "strip-json-comments@npm:3.1.1" checksum: 10/492f73e27268f9b1c122733f28ecb0e7e8d8a531a6662efbd08e22cccb3f9475e90a1b82cab06a392f6afae6d2de636f977e231296400d0ec5304ba70f166443 @@ -17594,6 +16968,18 @@ __metadata: languageName: node linkType: hard +"table@npm:^5.2.3": + version: 5.4.6 + resolution: "table@npm:5.4.6" + dependencies: + ajv: "npm:^6.10.2" + lodash: "npm:^4.17.14" + slice-ansi: "npm:^2.1.0" + string-width: "npm:^3.0.0" + checksum: 10/a00b96779fdeae58fc8b2b10ca7a1dcb81d4a14d1511b2f0202e1ef4ea890ca4d2730cc9b78f399254b9a641458e4897c639079d57dfb7d6726997dd8735a6c3 + languageName: node + linkType: hard + "tapable@npm:^2.2.0": version: 2.2.1 resolution: "tapable@npm:2.2.1" @@ -17615,6 +17001,17 @@ __metadata: languageName: node linkType: hard +"test-exclude@npm:^7.0.1": + version: 7.0.1 + resolution: "test-exclude@npm:7.0.1" + dependencies: + "@istanbuljs/schema": "npm:^0.1.2" + glob: "npm:^10.4.1" + minimatch: "npm:^9.0.4" + checksum: 10/e6f6f4e1df2e7810e082e8d7dfc53be51a931e6e87925f5e1c2ef92cc1165246ba3bf2dae6b5d86251c16925683dba906bd41e40169ebc77120a2d1b5a0dbbe0 + languageName: node + linkType: hard + "text-hex@npm:1.0.x": version: 1.0.0 resolution: "text-hex@npm:1.0.0" @@ -17647,6 +17044,13 @@ __metadata: languageName: node linkType: hard +"through@npm:^2.3.6": + version: 2.3.8 + resolution: "through@npm:2.3.8" + checksum: 10/5da78346f70139a7d213b65a0106f3c398d6bc5301f9248b5275f420abc2c4b1e77c2abc72d218dedc28c41efb2e7c312cb76a7730d04f9c2d37d247da3f4198 + languageName: node + linkType: hard + "tiny-worker@npm:^2.3.0": version: 2.3.0 resolution: "tiny-worker@npm:2.3.0" @@ -17726,6 +17130,15 @@ __metadata: languageName: node linkType: hard +"tmp@npm:^0.0.33": + version: 0.0.33 + resolution: "tmp@npm:0.0.33" + dependencies: + os-tmpdir: "npm:~1.0.2" + checksum: 10/09c0abfd165cff29b32be42bc35e80b8c64727d97dedde6550022e88fa9fd39a084660415ed8e3ebaa2aca1ee142f86df8b31d4196d4f81c774a3a20fd4b6abf + languageName: node + linkType: hard + "to-regex-range@npm:^5.0.1": version: 5.0.1 resolution: "to-regex-range@npm:5.0.1" @@ -17801,13 +17214,6 @@ __metadata: languageName: node linkType: hard -"trim-lines@npm:^3.0.0": - version: 3.0.1 - resolution: "trim-lines@npm:3.0.1" - checksum: 10/7a1325e4ce8ff7e9e52007600e9c9862a166d0db1f1cf0c9357e359e410acab1278fcd91cc279dfa5123fc37b69f080de02f471e91dbbc61b155b9ca92597929 - languageName: node - linkType: hard - "trim-newlines@npm:^3.0.0": version: 3.0.1 resolution: "trim-newlines@npm:3.0.1" @@ -17939,18 +17345,6 @@ __metadata: languageName: node linkType: hard -"tsconfig-paths@npm:^3.15.0": - version: 3.15.0 - resolution: "tsconfig-paths@npm:3.15.0" - dependencies: - "@types/json5": "npm:^0.0.29" - json5: "npm:^1.0.2" - minimist: "npm:^1.2.6" - strip-bom: "npm:^3.0.0" - checksum: 10/2041beaedc6c271fc3bedd12e0da0cc553e65d030d4ff26044b771fac5752d0460944c0b5e680f670c2868c95c664a256cec960ae528888db6ded83524e33a14 - languageName: node - linkType: hard - "tslib@npm:2.7.0": version: 2.7.0 resolution: "tslib@npm:2.7.0" @@ -17958,6 +17352,13 @@ __metadata: languageName: node linkType: hard +"tslib@npm:^1.9.0": + version: 1.14.1 + resolution: "tslib@npm:1.14.1" + checksum: 10/7dbf34e6f55c6492637adb81b555af5e3b4f9cc6b998fb440dac82d3b42bdc91560a35a5fb75e20e24a076c651438234da6743d139e4feabf0783f3cdfe1dddb + languageName: node + linkType: hard + "tslib@npm:^2.1.0, tslib@npm:^2.4.0, tslib@npm:^2.6.2, tslib@npm:^2.6.3, tslib@npm:^2.8.1": version: 2.8.1 resolution: "tslib@npm:2.8.1" @@ -18031,6 +17432,13 @@ __metadata: languageName: node linkType: hard +"type-fest@npm:^0.21.3": + version: 0.21.3 + resolution: "type-fest@npm:0.21.3" + checksum: 10/f4254070d9c3d83a6e573bcb95173008d73474ceadbbf620dd32d273940ca18734dff39c2b2480282df9afe5d1675ebed5499a00d791758748ea81f61a38961f + languageName: node + linkType: hard + "type-fest@npm:^0.6.0": version: 0.6.0 resolution: "type-fest@npm:0.6.0" @@ -18126,26 +17534,9 @@ __metadata: languageName: node linkType: hard -"typedoc@npm:^0.26.11": - version: 0.26.11 - resolution: "typedoc@npm:0.26.11" - dependencies: - lunr: "npm:^2.3.9" - markdown-it: "npm:^14.1.0" - minimatch: "npm:^9.0.5" - shiki: "npm:^1.16.2" - yaml: "npm:^2.5.1" - peerDependencies: - typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x - bin: - typedoc: bin/typedoc - checksum: 10/969833b6ffaf1afc96ade3e2b6e594d2f072cc6e92bbc02e40f73c26e16eae8df01b63ccc4a445e2ef9ea2d3c7901ec7c8af476af526225a4b02ed014cdf88b7 - languageName: node - linkType: hard - -"typedoc@npm:^0.27.3": - version: 0.27.3 - resolution: "typedoc@npm:0.27.3" +"typedoc@npm:^0.27.5": + version: 0.27.5 + resolution: "typedoc@npm:0.27.5" dependencies: "@gerrit0/mini-shiki": "npm:^1.24.0" lunr: "npm:^2.3.9" @@ -18156,7 +17547,7 @@ __metadata: typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x bin: typedoc: bin/typedoc - checksum: 10/f62eeb0f3f37b9a09e137e5d6e2042b374c670cb8fbdfc6f1427a1b1bb449a30755bdd6be2c503676c66150207aa3c49c4d850f0154b20f8e2ca49b1e522cc76 + checksum: 10/de683457a23d5031a6632801315b82b8a554a4f650aefbcee1cf191b484939be226b45cf5b40a0c831d523cdffd854d27799df546ba173f5b71d60d3c14d0164 languageName: node linkType: hard @@ -18185,17 +17576,7 @@ __metadata: languageName: node linkType: hard -"typescript@npm:5.6.2": - version: 5.6.2 - resolution: "typescript@npm:5.6.2" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10/f95365d4898f357823e93d334ecda9fcade54f009b397c7d05b7621cd9e865981033cf89ccde0f3e3a7b73b1fdbae18e92bc77db237b43e912f053fef0f9a53b - languageName: node - linkType: hard - -"typescript@npm:^5.7.2": +"typescript@npm:^5, typescript@npm:^5.7.2": version: 5.7.2 resolution: "typescript@npm:5.7.2" bin: @@ -18215,17 +17596,7 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A5.6.2#optional!builtin": - version: 5.6.2 - resolution: "typescript@patch:typescript@npm%3A5.6.2#optional!builtin::version=5.6.2&hash=8c6c40" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10/8bfc7ca0d9feca4c3fcbd6c70741abfcd714197d6448e68225ae71e462447d904d3bfba49759a8fbe4956d87f054e2d346833c8349c222daa594a2626d4e1be8 - languageName: node - linkType: hard - -"typescript@patch:typescript@npm%3A^5.7.2#optional!builtin": +"typescript@patch:typescript@npm%3A^5#optional!builtin, typescript@patch:typescript@npm%3A^5.7.2#optional!builtin": version: 5.7.2 resolution: "typescript@patch:typescript@npm%3A5.7.2#optional!builtin::version=5.7.2&hash=5786d5" bin: @@ -18430,15 +17801,6 @@ __metadata: languageName: node linkType: hard -"unist-util-is@npm:^6.0.0": - version: 6.0.0 - resolution: "unist-util-is@npm:6.0.0" - dependencies: - "@types/unist": "npm:^3.0.0" - checksum: 10/edd6a93fb2255addf4b9eeb304c1da63c62179aef793169dd64ab955cf2f6814885fe25f95f8105893e3562dead348af535718d7a84333826e0491c04bf42511 - languageName: node - linkType: hard - "unist-util-position@npm:^3.0.0": version: 3.1.0 resolution: "unist-util-position@npm:3.1.0" @@ -18446,15 +17808,6 @@ __metadata: languageName: node linkType: hard -"unist-util-position@npm:^5.0.0": - version: 5.0.0 - resolution: "unist-util-position@npm:5.0.0" - dependencies: - "@types/unist": "npm:^3.0.0" - checksum: 10/89d4da00e74618d7562ac7ac288961df9bcd4ccca6df3b5a90650f018eceb6b95de6e771e88bdbef46cc9d96861d456abe57b7ad1108921e0feb67c6292aa29d - languageName: node - linkType: hard - "unist-util-remove-position@npm:^1.0.0": version: 1.1.4 resolution: "unist-util-remove-position@npm:1.1.4" @@ -18473,15 +17826,6 @@ __metadata: languageName: node linkType: hard -"unist-util-stringify-position@npm:^4.0.0": - version: 4.0.0 - resolution: "unist-util-stringify-position@npm:4.0.0" - dependencies: - "@types/unist": "npm:^3.0.0" - checksum: 10/d15c88aca7a31902d95d5b5355bbe09583cf6f6ff6e59e134ef76c76d3c30bc1021f2d7ea5b7897c6d0858ed5f3770c1b19de9c78274f50d72f95a0d05f1af71 - languageName: node - linkType: hard - "unist-util-visit-parents@npm:^2.0.0": version: 2.1.2 resolution: "unist-util-visit-parents@npm:2.1.2" @@ -18491,16 +17835,6 @@ __metadata: languageName: node linkType: hard -"unist-util-visit-parents@npm:^6.0.0": - version: 6.0.1 - resolution: "unist-util-visit-parents@npm:6.0.1" - dependencies: - "@types/unist": "npm:^3.0.0" - unist-util-is: "npm:^6.0.0" - checksum: 10/645b3cbc5e923bc692b1eb1a9ca17bffc5aabc25e6090ff3f1489bff8effd1890b28f7a09dc853cb6a7fa0da8581bfebc9b670a68b53c4c086cb9610dfd37701 - languageName: node - linkType: hard - "unist-util-visit@npm:^1.0.0, unist-util-visit@npm:^1.1.0, unist-util-visit@npm:^1.1.1, unist-util-visit@npm:^1.4.0": version: 1.4.1 resolution: "unist-util-visit@npm:1.4.1" @@ -18510,17 +17844,6 @@ __metadata: languageName: node linkType: hard -"unist-util-visit@npm:^5.0.0": - version: 5.0.0 - resolution: "unist-util-visit@npm:5.0.0" - dependencies: - "@types/unist": "npm:^3.0.0" - unist-util-is: "npm:^6.0.0" - unist-util-visit-parents: "npm:^6.0.0" - checksum: 10/f2bbde23641e9ade7640358c06ddeec0f38342322eb8e7819d9ee380b0f859d25d084dde22bf63db0280b3b2f36575f15aa1d6c23acf276c91c2493cf799e3b0 - languageName: node - linkType: hard - "unpipe@npm:1.0.0, unpipe@npm:~1.0.0": version: 1.0.0 resolution: "unpipe@npm:1.0.0" @@ -18597,6 +17920,13 @@ __metadata: languageName: node linkType: hard +"v8-compile-cache@npm:^2.0.3": + version: 2.4.0 + resolution: "v8-compile-cache@npm:2.4.0" + checksum: 10/49e726d7b2825ef7bc92187ecd57c59525957badbddb18fa529b0458b9280c59a1607ad3da4abe7808e9f9a00ec99b0fc07e485ffb7358cd5c11b2ef68d2145f + languageName: node + linkType: hard + "validate-npm-package-license@npm:^3.0.1": version: 3.0.4 resolution: "validate-npm-package-license@npm:3.0.4" @@ -18645,16 +17975,6 @@ __metadata: languageName: node linkType: hard -"vfile-message@npm:^4.0.0": - version: 4.0.2 - resolution: "vfile-message@npm:4.0.2" - dependencies: - "@types/unist": "npm:^3.0.0" - unist-util-stringify-position: "npm:^4.0.0" - checksum: 10/1a5a72bf4945a7103750a3001bd979088ce42f6a01efa8590e68b2425e1afc61ddc5c76f2d3c4a7053b40332b24c09982b68743223e99281158fe727135719fc - languageName: node - linkType: hard - "vfile@npm:^4.0.0": version: 4.2.1 resolution: "vfile@npm:4.2.1" @@ -18667,16 +17987,6 @@ __metadata: languageName: node linkType: hard -"vfile@npm:^6.0.0": - version: 6.0.3 - resolution: "vfile@npm:6.0.3" - dependencies: - "@types/unist": "npm:^3.0.0" - vfile-message: "npm:^4.0.0" - checksum: 10/a5a85293c9eb8787aa42e180edaef00c13199a493d6ed82fecf13ab29a68526850788e22434d77808ea6b17a74e03ff899b9b4711df5b9eee75afcddd7c2e1fb - languageName: node - linkType: hard - "vite-node@npm:2.1.8": version: 2.1.8 resolution: "vite-node@npm:2.1.8" @@ -18735,7 +18045,7 @@ __metadata: languageName: node linkType: hard -"vitest@npm:^2.1.4, vitest@npm:^2.1.6, vitest@npm:^2.1.8": +"vitest@npm:^2.1.8": version: 2.1.8 resolution: "vitest@npm:2.1.8" dependencies: @@ -18796,23 +18106,6 @@ __metadata: languageName: node linkType: hard -"vue-eslint-parser@npm:9.4.3": - version: 9.4.3 - resolution: "vue-eslint-parser@npm:9.4.3" - dependencies: - debug: "npm:^4.3.4" - eslint-scope: "npm:^7.1.1" - eslint-visitor-keys: "npm:^3.3.0" - espree: "npm:^9.3.1" - esquery: "npm:^1.4.0" - lodash: "npm:^4.17.21" - semver: "npm:^7.3.6" - peerDependencies: - eslint: ">=6.0.0" - checksum: 10/228e43f0067e5f1fa87a4192f355ebbb4a224f0c7e170b1fbd4205fdf42fe7b3c6820a7e467496a8174e51ba351bc9caed00389d05519206cfa1615cac44516c - languageName: node - linkType: hard - "w3c-xmlserializer@npm:^5.0.0": version: 5.0.0 resolution: "w3c-xmlserializer@npm:5.0.0" @@ -18957,7 +18250,7 @@ __metadata: languageName: node linkType: hard -"which-collection@npm:^1.0.1, which-collection@npm:^1.0.2": +"which-collection@npm:^1.0.2": version: 1.0.2 resolution: "which-collection@npm:1.0.2" dependencies: @@ -18969,7 +18262,7 @@ __metadata: languageName: node linkType: hard -"which-typed-array@npm:^1.1.13, which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.15": +"which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.15": version: 1.1.15 resolution: "which-typed-array@npm:1.1.15" dependencies: @@ -18982,7 +18275,7 @@ __metadata: languageName: node linkType: hard -"which@npm:^1.2.14": +"which@npm:^1.2.14, which@npm:^1.2.9": version: 1.3.1 resolution: "which@npm:1.3.1" dependencies: @@ -19103,6 +18396,15 @@ __metadata: languageName: node linkType: hard +"write@npm:1.0.3": + version: 1.0.3 + resolution: "write@npm:1.0.3" + dependencies: + mkdirp: "npm:^0.5.1" + checksum: 10/abb3a249df922dbd4060d4cab5017b6c07268523d6b3d8c933a7f64afe3078c58507543e4b830065ea02beb8ab25e40dc2f8be8eea5cdfc08d91e89e65e952b5 + languageName: node + linkType: hard + "ws@npm:8.17.1, ws@npm:~8.17.1": version: 8.17.1 resolution: "ws@npm:8.17.1" @@ -19189,7 +18491,7 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^2.3.4, yaml@npm:^2.5.1, yaml@npm:^2.6.1": +"yaml@npm:^2.3.4, yaml@npm:^2.6.1": version: 2.6.1 resolution: "yaml@npm:2.6.1" bin: @@ -19255,10 +18557,3 @@ __metadata: checksum: 10/f77b3d8d00310def622123df93d4ee654fc6a0096182af8bd60679ddcdfb3474c56c6c7190817c84a2785648cdee9d721c0154eb45698c62176c322fb46fc700 languageName: node linkType: hard - -"zwitch@npm:^2.0.4": - version: 2.0.4 - resolution: "zwitch@npm:2.0.4" - checksum: 10/f22ec5fc2d5f02c423c93d35cdfa83573a3a3bd98c66b927c368ea4d0e7252a500df2a90a6b45522be536a96a73404393c958e945fdba95e6832c200791702b6 - languageName: node - linkType: hard