{"_id":"@serve.zone/corestore","_rev":"29-f67e60348c103bfab29dd1c2934a1840","name":"@serve.zone/corestore","dist-tags":{"corestore5":"5.2.1","latest":"32.5.0"},"versions":{"4.5.0":{"name":"@serve.zone/corestore","version":"4.5.0","keywords":["serve.zone","corestore","smartstorage","smartdb","s3","mongodb","database","storage","docker"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@serve.zone/corestore@4.5.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"bin":{"corestore":"cli.js"},"dist":{"shasum":"e72b4082b4f0e270c1b8a3254a90dfd67b61297c","tarball":"https://registry.npmjs.org/@serve.zone/corestore/-/corestore-4.5.0.tgz","fileCount":57,"integrity":"sha512-7khpizB7AmoOR4FVDTTKR1ZjP4de9ZAOp4PBhNnEo25oz+LeDwSRnvB3W4Av2Ft8bR2FVGwg/7dJ4n9+yzl++w==","signatures":[{"sig":"MEUCIQCGDOHwWqkUHH4CyfBD0ldU/IBJ3iLgTLAVS/EyspLowAIgR9ebBnYURDFjMFJWNpwOewph2QyTSka9NjYgDbuwVFU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2494400},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"(tstest test/)","build":"tsbuild tsfolders --allowimplicitany","start":"node cli.js","watch":"tswatch service","startTs":"node cli.ts.js","build:docker":"tsdocker build --verbose","release:docker":"tsdocker push --verbose","migrate:legacy-mongodb-to-smartdb":"node migration.js legacy-mongodb-to-smartdb"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"ssh://git@code.foss.global:29419/serve.zone/corestore.git","type":"git"},"description":"Node-local database and S3 storage provider for serve.zone workloads.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"mongodb":"7.2.0","@push.rocks/smartdb":"3.0.1","@push.rocks/smartjwt":"^2.4.0","@push.rocks/smartdata":"11.4.0","@push.rocks/smartpath":"^6.0.0","@serve.zone/interfaces":"25.0.0","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartbucket":"4.10.0","@push.rocks/smartstorage":"8.0.4","@serve.zone/containerarchive":"0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.1.2","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^4.0.0","@git.zone/tsbuild":"^4.4.2","@git.zone/tswatch":"^3.3.5","@git.zone/tsdocker":"^3.4.1"},"_npmOperationalInternal":{"tmp":"tmp/corestore_4.5.0_1786147556528_0.7915983627289263","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"@serve.zone/corestore","version":"5.0.0","keywords":["serve.zone","corestore","smartstorage","smartdb","s3","mongodb","database","storage","docker"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@serve.zone/corestore@5.0.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"bin":{"corestore":"cli.js"},"dist":{"shasum":"53f66b4f4c9aec32f33b17ca6480a7e7c2c7bfbd","tarball":"https://registry.npmjs.org/@serve.zone/corestore/-/corestore-5.0.0.tgz","fileCount":57,"integrity":"sha512-pcdx0OIGfN01ZZS3E4LbXqqCvsA22CXHKDhHC1E9LU2Qu7BPtl8a5gENuaiwXcxYyopieHKxD67Vjk7ZZqmjNg==","signatures":[{"sig":"MEQCIEuxUO6/9lwl+JDj4x65MrMSqKncXp2Wnk7fURuAL99gAiAvlfRWhZh9V1lqudeA0H3vsa/S/FDBuquJQauMGvI7Ig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2546358},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"(tstest test/)","build":"tsbuild tsfolders --allowimplicitany","start":"node cli.js","watch":"tswatch service","startTs":"node cli.ts.js","build:docker":"tsdocker build --verbose","release:docker":"tsdocker push --verbose","migrate:legacy-mongodb-to-smartdb":"node migration.js legacy-mongodb-to-smartdb"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"ssh://git@code.foss.global:29419/serve.zone/corestore.git","type":"git"},"description":"Node-local database and S3 storage provider for serve.zone workloads.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"mongodb":"7.2.0","@push.rocks/smartdb":"4.0.1","@push.rocks/smartjwt":"^2.4.0","@push.rocks/smartdata":"11.4.0","@push.rocks/smartpath":"^6.0.0","@serve.zone/interfaces":"25.0.0","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartbucket":"4.10.0","@push.rocks/smartstorage":"8.0.4","@serve.zone/containerarchive":"0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.2.0","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^4.0.0","@git.zone/tsbuild":"^4.4.2","@git.zone/tswatch":"^3.3.5","@git.zone/tsdocker":"^3.4.1"},"_npmOperationalInternal":{"tmp":"tmp/corestore_5.0.0_1786276793357_0.08195042079348958","host":"s3://npm-registry-packages-npm-production"}},"5.1.0":{"name":"@serve.zone/corestore","version":"5.1.0","keywords":["serve.zone","corestore","smartstorage","smartdb","s3","mongodb","database","storage","docker"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@serve.zone/corestore@5.1.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"bin":{"corestore":"cli.js"},"dist":{"shasum":"f4911e565ada2348551158f2f3d9b78f212355bd","tarball":"https://registry.npmjs.org/@serve.zone/corestore/-/corestore-5.1.0.tgz","fileCount":60,"integrity":"sha512-JPCXuQ9F+RFYagQdEEbktSemRwduEvMvQ0Y3oSeXai90s6ReTYxgw6jMkqdlKWXFUvj4bNvOqUXcbqyfYniPQg==","signatures":[{"sig":"MEUCIQCk8jIOHO0JCQidlMHPvrz8p2XWtM7ZMT8nxtSRiIUHBQIgDvVAhxvQiN35IMv9DrEP83ZnpfUOm2r8wSqRVmOVhmY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2730847},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"(tstest test/)","build":"tsbuild tsfolders --allowimplicitany","start":"node cli.js","watch":"tswatch service","startTs":"node cli.ts.js","build:docker":"tsdocker build --verbose","release:docker":"tsdocker push --verbose","migrate:legacy-mongodb-to-smartdb":"node migration.js legacy-mongodb-to-smartdb"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"ssh://git@code.foss.global:29419/serve.zone/corestore.git","type":"git"},"description":"Node-local database and S3 storage provider for serve.zone workloads.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"mongodb":"7.2.0","@push.rocks/smartdb":"4.0.2","@push.rocks/smartjwt":"^2.4.0","@push.rocks/smartdata":"11.4.0","@push.rocks/smartpath":"^6.0.0","@serve.zone/interfaces":"27.2.0","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartbucket":"4.10.0","@push.rocks/smartstorage":"8.1.0","@serve.zone/containerarchive":"0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.2.0","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^4.0.0","@git.zone/tsbuild":"^4.4.2","@git.zone/tswatch":"^3.3.5","@git.zone/tsdocker":"^3.4.1"},"_npmOperationalInternal":{"tmp":"tmp/corestore_5.1.0_1786621692832_0.3519300252770101","host":"s3://npm-registry-packages-npm-production"}},"5.1.1":{"name":"@serve.zone/corestore","version":"5.1.1","keywords":["serve.zone","corestore","smartstorage","smartdb","s3","mongodb","database","storage","docker"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@serve.zone/corestore@5.1.1","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"bin":{"corestore":"cli.js"},"dist":{"shasum":"58df11aed99440b0dbe6dd802f1dc4e987ac63db","tarball":"https://registry.npmjs.org/@serve.zone/corestore/-/corestore-5.1.1.tgz","fileCount":60,"integrity":"sha512-5aagguE/x4TF+0tHVddY9kLaeWXu1/OFDrOlkNLaUDluSiJxe1ibsOdAWph2I0DlBCikVAb4eqF6kcJA9p4zcg==","signatures":[{"sig":"MEUCIQCSZzOy8cBDy5ldbk+JP0UQYTkazO7toEw/owxWCZILzAIgRI6FFLetfBlZB1EotbyIbTMf2Dav9ibQDluruiLdvaY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2731184},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"(tstest test/)","build":"tsbuild tsfolders --allowimplicitany","start":"node cli.js","watch":"tswatch service","startTs":"node cli.ts.js","build:docker":"tsdocker build --verbose","release:docker":"tsdocker push --verbose","migrate:legacy-mongodb-to-smartdb":"node migration.js legacy-mongodb-to-smartdb"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"ssh://git@code.foss.global:29419/serve.zone/corestore.git","type":"git"},"description":"Node-local database and S3 storage provider for serve.zone workloads.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"mongodb":"7.2.0","@push.rocks/smartdb":"4.0.2","@push.rocks/smartjwt":"^2.4.0","@push.rocks/smartdata":"11.4.0","@push.rocks/smartpath":"^6.0.0","@serve.zone/interfaces":"27.2.0","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartbucket":"4.10.0","@push.rocks/smartstorage":"8.1.0","@serve.zone/containerarchive":"0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.2.0","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^4.0.0","@git.zone/tsbuild":"^4.4.2","@git.zone/tswatch":"^3.3.5","@git.zone/tsdocker":"^3.4.1"},"_npmOperationalInternal":{"tmp":"tmp/corestore_5.1.1_1786622523060_0.6275150709103186","host":"s3://npm-registry-packages-npm-production"}},"5.1.2":{"name":"@serve.zone/corestore","version":"5.1.2","keywords":["serve.zone","corestore","smartstorage","smartdb","s3","mongodb","database","storage","docker"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@serve.zone/corestore@5.1.2","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"bin":{"corestore":"cli.js"},"dist":{"shasum":"81bd6621e4b50952980f02bf3c954faf5660087c","tarball":"https://registry.npmjs.org/@serve.zone/corestore/-/corestore-5.1.2.tgz","fileCount":60,"integrity":"sha512-6BbiskYZ1lb7m14W1YJXGxTTdQn6BLZ6YnZ1aXaUTdGThPh+/tTyHd6h47TQcZVH+igU1upx4Z+LtTkKZU09iA==","signatures":[{"sig":"MEYCIQCEdIedigdvCGymJQtucd3YA/t01ZoCxcCGfF/JQe1SVgIhAOtFNJF6xX53CKwDoFQPo7xlH9wZ8VT8nwHn0ae2sdmQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2740737},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"(tstest test/)","build":"tsbuild tsfolders --allowimplicitany","start":"node cli.js","watch":"tswatch service","startTs":"node cli.ts.js","build:docker":"tsdocker build --verbose","release:docker":"tsdocker push --verbose","migrate:legacy-mongodb-to-smartdb":"node migration.js legacy-mongodb-to-smartdb"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"ssh://git@code.foss.global:29419/serve.zone/corestore.git","type":"git"},"description":"Node-local database and S3 storage provider for serve.zone workloads.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"mongodb":"7.2.0","@push.rocks/smartdb":"4.0.2","@push.rocks/smartjwt":"^2.4.0","@push.rocks/smartdata":"11.4.0","@push.rocks/smartpath":"^6.0.0","@serve.zone/interfaces":"27.2.0","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartbucket":"4.10.0","@push.rocks/smartstorage":"8.1.0","@serve.zone/containerarchive":"0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.2.0","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^4.0.0","@git.zone/tsbuild":"^4.4.2","@git.zone/tswatch":"^3.3.5","@git.zone/tsdocker":"^3.4.1"},"_npmOperationalInternal":{"tmp":"tmp/corestore_5.1.2_1786664329661_0.708534898502786","host":"s3://npm-registry-packages-npm-production"}},"6.0.0":{"name":"@serve.zone/corestore","version":"6.0.0","keywords":["serve.zone","corestore","smartstorage","smartdb","s3","mongodb","database","storage","docker"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@serve.zone/corestore@6.0.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"bin":{"corestore":"cli.js"},"dist":{"shasum":"e10348398031ecf3e153dcf4f4e7cd03e11cbaa1","tarball":"https://registry.npmjs.org/@serve.zone/corestore/-/corestore-6.0.0.tgz","fileCount":60,"integrity":"sha512-vAFb/5BKK3TM6HlaDiYacNZvZ52qGJtvln1XQYbIzkAi/guVul8EB+9Agq/j7CA7yTKCScTMf3qeuUI0MoAcUw==","signatures":[{"sig":"MEUCICt4zUMOQfcP0SZF6QCWsqQY7DqQM2X6uMNsUc+rNVP6AiEA/jGavHpboR+L8eYsIVN7llWOsZr7LLJMZinP2bvCWNw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2741284},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"(tstest test/)","build":"tsbuild tsfolders --allowimplicitany","start":"node cli.js","watch":"tswatch service","startTs":"node cli.ts.js","build:docker":"tsdocker build --verbose","release:docker":"tsdocker push --verbose","migrate:legacy-mongodb-to-smartdb":"node migration.js legacy-mongodb-to-smartdb"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"ssh://git@code.foss.global:29419/serve.zone/corestore.git","type":"git"},"description":"Node-local database and S3 storage provider for serve.zone workloads.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"mongodb":"7.2.0","@push.rocks/smartdb":"5.0.0","@push.rocks/smartjwt":"^2.4.0","@push.rocks/smartdata":"11.4.0","@push.rocks/smartpath":"^6.0.0","@serve.zone/interfaces":"27.2.0","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartbucket":"4.10.0","@push.rocks/smartstorage":"8.1.0","@serve.zone/containerarchive":"0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.2.0","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^4.0.0","@git.zone/tsbuild":"^4.4.2","@git.zone/tswatch":"^3.3.5","@git.zone/tsdocker":"^3.4.1"},"_npmOperationalInternal":{"tmp":"tmp/corestore_6.0.0_1786876721146_0.9450400119051192","host":"s3://npm-registry-packages-npm-production"}},"5.2.0":{"name":"@serve.zone/corestore","version":"5.2.0","keywords":["serve.zone","corestore","smartstorage","smartdb","s3","mongodb","database","storage","docker"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@serve.zone/corestore@5.2.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"bin":{"corestore":"cli.js"},"dist":{"shasum":"91e5a93d7c45d37d758bf8838606522939496926","tarball":"https://registry.npmjs.org/@serve.zone/corestore/-/corestore-5.2.0.tgz","fileCount":62,"integrity":"sha512-Vqtj5EgVFw2czq0eFn1GgRgRbK/YX/MAQzmEKGsYb7YXScQTbcSX9pBaMlwb35zVWdxcBNaLg22olghFw4FEtQ==","signatures":[{"sig":"MEYCIQCEeoiYkwafM5hFzYrruKCGEmhDVQcOQjml9UBhz85b8QIhALqpGXsm+06DGZ4S9XTZ4FJiWHA6rCEihWy/nhsuXhCo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2801472},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"(tstest test/)","build":"tsbuild tsfolders --allowimplicitany","start":"node cli.js","watch":"tswatch service","startTs":"node cli.ts.js","build:docker":"tsdocker build --verbose","release:docker":"tsdocker push --verbose","preflight:smartdb5":"node migration.js smartdb5-preflight","migrate:legacy-mongodb-to-smartdb":"node migration.js legacy-mongodb-to-smartdb"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"ssh://git@code.foss.global:29419/serve.zone/corestore.git","type":"git"},"description":"Node-local database and S3 storage provider for serve.zone workloads.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"mongodb":"7.2.0","@push.rocks/smartdb":"4.2.0","@push.rocks/smartjwt":"^2.4.0","@push.rocks/smartdata":"11.4.0","@push.rocks/smartpath":"^6.0.0","@serve.zone/interfaces":"27.2.0","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartbucket":"4.10.0","@push.rocks/smartstorage":"8.1.0","@serve.zone/containerarchive":"0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.2.0","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^4.0.0","@git.zone/tsbuild":"^4.4.2","@git.zone/tswatch":"^3.3.5","@git.zone/tsdocker":"^3.4.1"},"_npmOperationalInternal":{"tmp":"tmp/corestore_5.2.0_1786933333138_0.5690785512496683","host":"s3://npm-registry-packages-npm-production"}},"5.2.1":{"name":"@serve.zone/corestore","version":"5.2.1","keywords":["serve.zone","corestore","smartstorage","smartdb","s3","mongodb","database","storage","docker"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@serve.zone/corestore@5.2.1","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"bin":{"corestore":"cli.js"},"dist":{"shasum":"d481761a1b73f73576f13650e3342ebfe174210a","tarball":"https://registry.npmjs.org/@serve.zone/corestore/-/corestore-5.2.1.tgz","fileCount":62,"integrity":"sha512-IUttse59lphOQW1gA+0oU+fu959vmXAuc14FsCrG5JXQV6DklaVqNU1wmewp4zAYjfBQhuDtL6cH9x2NRogJrw==","signatures":[{"sig":"MEUCIC1ImCpdxFFnIK+QXjbV4iraDezBbLP+Iw7lyyP2/1N5AiEAhy8EVE8vqI99D+x0D88jW5lvLYKOO3R8eIP1jvcC4ZU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2801472},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"(tstest test/)","build":"tsbuild tsfolders --allowimplicitany","start":"node cli.js","watch":"tswatch service","startTs":"node cli.ts.js","build:docker":"tsdocker build --verbose","release:docker":"tsdocker push --verbose","preflight:smartdb5":"node migration.js smartdb5-preflight","migrate:legacy-mongodb-to-smartdb":"node migration.js legacy-mongodb-to-smartdb"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"ssh://git@code.foss.global:29419/serve.zone/corestore.git","type":"git"},"description":"Node-local database and S3 storage provider for serve.zone workloads.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"mongodb":"7.2.0","@push.rocks/smartdb":"4.2.1","@push.rocks/smartjwt":"^2.4.0","@push.rocks/smartdata":"11.4.0","@push.rocks/smartpath":"^6.0.0","@serve.zone/interfaces":"27.2.0","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartbucket":"4.10.0","@push.rocks/smartstorage":"8.1.0","@serve.zone/containerarchive":"0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.2.0","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^4.0.0","@git.zone/tsbuild":"^4.4.2","@git.zone/tswatch":"^3.3.5","@git.zone/tsdocker":"^3.4.1"},"_npmOperationalInternal":{"tmp":"tmp/corestore_5.2.1_1786940907272_0.8200744120716732","host":"s3://npm-registry-packages-npm-production"}},"6.1.0":{"name":"@serve.zone/corestore","version":"6.1.0","keywords":["serve.zone","corestore","smartstorage","smartdb","s3","mongodb","database","storage","docker"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@serve.zone/corestore@6.1.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"bin":{"corestore":"cli.js"},"dist":{"shasum":"a836c835ec840f66eb829d08794742d68a2ac98d","tarball":"https://registry.npmjs.org/@serve.zone/corestore/-/corestore-6.1.0.tgz","fileCount":60,"integrity":"sha512-cO8cVYai/SKayUl4w4J/Zkf8bquJxEIoX9Wo7BGlt0OZ1xRoLMen7O1TjPkWKhpatSzyfpFQg2KsCHmVBAsRYg==","signatures":[{"sig":"MEUCIQC6JTGYEH5mOSFToNKZcoma3RihpWabEKQ9W2vmbtuLQwIgQHVwTLtef72vEARGls/SMmj7su7p38LMLUFs6XtCRy8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2739976},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"(tstest test/)","build":"tsbuild tsfolders --allowimplicitany","start":"node cli.js","watch":"tswatch service","startTs":"node cli.ts.js","build:docker":"tsdocker build --verbose","release:docker":"tsdocker push --verbose","migrate:legacy-mongodb-to-smartdb":"node migration.js legacy-mongodb-to-smartdb"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"ssh://git@code.foss.global:29419/serve.zone/corestore.git","type":"git"},"description":"Node-local database and S3 storage provider for serve.zone workloads.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"mongodb":"7.2.0","@push.rocks/smartdb":"5.0.0","@push.rocks/smartjwt":"^2.4.0","@push.rocks/smartdata":"11.4.0","@push.rocks/smartpath":"^6.0.0","@serve.zone/interfaces":"27.3.0","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartbucket":"4.10.0","@push.rocks/smartstorage":"8.1.0","@serve.zone/containerarchive":"0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.2.0","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^4.0.0","@git.zone/tsbuild":"^4.4.2","@git.zone/tswatch":"^3.3.5","@git.zone/tsdocker":"^3.4.1"},"_npmOperationalInternal":{"tmp":"tmp/corestore_6.1.0_1787047560544_0.7938973811131502","host":"s3://npm-registry-packages-npm-production"}},"6.1.1":{"name":"@serve.zone/corestore","version":"6.1.1","keywords":["serve.zone","corestore","smartstorage","smartdb","s3","mongodb","database","storage","docker"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@serve.zone/corestore@6.1.1","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"bin":{"corestore":"cli.js"},"dist":{"shasum":"c0a0fdef1d773535b0e484f70678ab410fc0ab64","tarball":"https://registry.npmjs.org/@serve.zone/corestore/-/corestore-6.1.1.tgz","fileCount":60,"integrity":"sha512-rnGZ7htR4f4W/pxW8zCrGQpSOT1ojco5jHlqIIfAeYxoKWtUPB2hwTlR5SSeu9f1mp3FQyWk4HHgw9cSwnbxOA==","signatures":[{"sig":"MEYCIQCvgzR2kc4IbkP/lZYdv2/kJvf43U9Ko4neZMNG7TWkEwIhAKo9vEd1T5EXrdr60wrGkBfJy9Yc5vqVvbbwlFxzgVav","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDfSgC1iAXCm3GR/74ddxzyfZBIyn7AubKNY/5gAZOVygIgOA96nlik5Miz0EFPGcLrBsKPndJsVDYdWw1hbc8q5Rg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2739976},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"(tstest test/)","build":"tsbuild tsfolders --allowimplicitany","start":"node cli.js","watch":"tswatch service","startTs":"node cli.ts.js","build:docker":"tsdocker build --verbose","release:docker":"tsdocker push --verbose","migrate:legacy-mongodb-to-smartdb":"node migration.js legacy-mongodb-to-smartdb"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"ssh://git@code.foss.global:29419/serve.zone/corestore.git","type":"git"},"description":"Node-local database and S3 storage provider for serve.zone workloads.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"mongodb":"7.2.0","@push.rocks/smartdb":"5.2.3","@push.rocks/smartjwt":"^2.4.0","@push.rocks/smartdata":"11.4.0","@push.rocks/smartpath":"^6.0.0","@serve.zone/interfaces":"27.3.0","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartbucket":"4.10.0","@push.rocks/smartstorage":"8.1.0","@serve.zone/containerarchive":"0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.2.0","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^4.0.0","@git.zone/tsbuild":"^4.4.2","@git.zone/tswatch":"^3.3.5","@git.zone/tsdocker":"^3.4.2"},"_npmOperationalInternal":{"tmp":"tmp/corestore_6.1.1_1787483091252_0.153439317181997","host":"s3://npm-registry-packages-npm-production"}},"6.2.0":{"name":"@serve.zone/corestore","version":"6.2.0","keywords":["serve.zone","corestore","smartstorage","smartdb","s3","mongodb","database","storage","docker"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@serve.zone/corestore@6.2.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"bin":{"corestore":"cli.js"},"dist":{"shasum":"b11f874ff56af7e8f6f3b4e845e98471b2facade","tarball":"https://registry.npmjs.org/@serve.zone/corestore/-/corestore-6.2.0.tgz","fileCount":64,"integrity":"sha512-+60Mys/3RM4Drecptkl5DxspofDUH2XB/ACVy5IFhiE0b7WdEKZ0yv6xixJeGxmcJUbM9QqSSv1jozmoNCgSUA==","signatures":[{"sig":"MEQCICskYYw3EJr86q6ZHh5/X9R6ObUZC+HCTFDh5NC0FxIDAiBw7bSCT0ZhChlwGRuCrJCbrA//OUkUC/65iMqvgin0lw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDCHghaNFy0pLa0hn7XKvFImiGAiXSP9oDN/DErZsDbvAIgJ3NQfw3AWmaovGf72XOOsPIB8q6KqJ5PawdapuZIWgk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3114698},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"(tstest test/)","build":"tsbuild tsfolders --allowimplicitany","start":"node cli.js","watch":"tswatch service","startTs":"node cli.ts.js","build:docker":"tsdocker build --verbose","release:docker":"tsdocker push --verbose","migrate:legacy-mongodb-to-smartdb":"node migration.js legacy-mongodb-to-smartdb"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"ssh://git@code.foss.global:29419/serve.zone/corestore.git","type":"git"},"description":"Node-local database and S3 storage provider for serve.zone workloads.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"mongodb":"7.2.0","@push.rocks/smartdb":"5.2.3","@push.rocks/smartjwt":"^2.4.0","@push.rocks/smartdata":"11.4.0","@push.rocks/smartpath":"^6.0.0","@serve.zone/interfaces":"27.4.0","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartbucket":"4.10.0","@push.rocks/smartstorage":"8.1.0","@serve.zone/containerarchive":"0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.2.0","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^4.0.0","@git.zone/tsbuild":"^4.4.2","@git.zone/tswatch":"^3.3.5","@git.zone/tsdocker":"3.5.1"},"_npmOperationalInternal":{"tmp":"tmp/corestore_6.2.0_1788120206669_0.33500115378323714","host":"s3://npm-registry-packages-npm-production"}},"6.2.1":{"name":"@serve.zone/corestore","version":"6.2.1","keywords":["serve.zone","corestore","smartstorage","smartdb","s3","mongodb","database","storage","docker"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@serve.zone/corestore@6.2.1","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"bin":{"corestore":"cli.js"},"dist":{"shasum":"1202864a39962c8fee6915d36163f744d712512f","tarball":"https://registry.npmjs.org/@serve.zone/corestore/-/corestore-6.2.1.tgz","fileCount":64,"integrity":"sha512-97s1t6HYmd5TStWv5Oye1ncxmX7s/zDFq/r1WJ2RsE5L20HdKUyg/tcCZdl2dNuWEfJDvyymcPGCzXwoWGhZNw==","signatures":[{"sig":"MEUCICLO4tO9VCG+pg8w2/XCbYKCWF5wvFm7KaRRhjasfaXgAiEAsDl9GR0uUsT3eZVrlyiVcW3WlOdS0Rv2wfAfnPCgUuQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIErMLSWT05KEzeWJYADLZXJ/T7pDE4HbNXV9doW2NzfRAiEA5cN4vt4GtqgkWiZ8ozfjXeJlXDJVVfmbV2/XqZavY64=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3114698},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"(tstest test/)","build":"tsbuild tsfolders --allowimplicitany","start":"node cli.js","watch":"tswatch service","startTs":"node cli.ts.js","build:docker":"tsdocker build --verbose","release:docker":"tsdocker push --verbose","migrate:legacy-mongodb-to-smartdb":"node migration.js legacy-mongodb-to-smartdb"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"ssh://git@code.foss.global:29419/serve.zone/corestore.git","type":"git"},"description":"Node-local database and S3 storage provider for serve.zone workloads.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"mongodb":"7.5.0","@push.rocks/smartdb":"5.2.3","@push.rocks/smartjwt":"^2.5.1","@push.rocks/smartdata":"11.6.1","@push.rocks/smartpath":"^6.0.0","@serve.zone/interfaces":"27.4.0","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartbucket":"4.13.0","@push.rocks/smartstorage":"8.1.0","@serve.zone/containerarchive":"0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.2.0","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^4.0.0","@git.zone/tsbuild":"^4.4.2","@git.zone/tswatch":"^3.3.5","@git.zone/tsdocker":"3.5.2"},"_npmOperationalInternal":{"tmp":"tmp/corestore_6.2.1_1788159481180_0.5309246485485883","host":"s3://npm-registry-packages-npm-production"}},"6.3.0":{"name":"@serve.zone/corestore","version":"6.3.0","keywords":["serve.zone","corestore","smartstorage","smartdb","s3","mongodb","database","storage","docker"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@serve.zone/corestore@6.3.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"bin":{"corestore":"cli.js"},"dist":{"shasum":"c23fee1dab3c71206c952a42f1391a5bdbf696c4","tarball":"https://registry.npmjs.org/@serve.zone/corestore/-/corestore-6.3.0.tgz","fileCount":64,"integrity":"sha512-UjCgTmby3CILmOCg5RpPF2F3BzvIAfG/pNqESp9y2lqSBusTCY7Wd1JSa/aCwtp/PDqW90BF2xNW2kW6A/CoEg==","signatures":[{"sig":"MEYCIQCLiTdtwXHMey+2/OoesI6GATzoCGPp4h/XnMsZRzwnUgIhAKtenK21Cs4wLrBJUrp+maz4pSSmFnK+vc2p34r4Ji/W","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDC/FujMHP1ARypyJbedziV1hqLnu30g/6hQEcuNjZ6kAIgOJQKZYRYekvk8BDMHyoVeicC4jSzW50SWkq3y1gQkRQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3114698},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"(tstest test/)","build":"tsbuild tsfolders --allowimplicitany","start":"node cli.js","watch":"tswatch service","startTs":"node cli.ts.js","build:docker":"tsdocker build --verbose","release:docker":"tsdocker push --verbose","migrate:legacy-mongodb-to-smartdb":"node migration.js legacy-mongodb-to-smartdb"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"ssh://git@code.foss.global:29419/serve.zone/corestore.git","type":"git"},"description":"Node-local database and S3 storage provider for serve.zone workloads.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"mongodb":"7.5.0","@push.rocks/smartdb":"5.5.1","@push.rocks/smartjwt":"^2.5.1","@push.rocks/smartdata":"11.6.1","@push.rocks/smartpath":"^6.0.0","@serve.zone/interfaces":"27.4.0","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartbucket":"4.13.0","@push.rocks/smartstorage":"8.1.0","@serve.zone/containerarchive":"0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.4.1","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^4.0.0","@git.zone/tsbuild":"^4.4.2","@git.zone/tswatch":"^3.3.5","@git.zone/tsdocker":"3.5.2"},"_npmOperationalInternal":{"tmp":"tmp/corestore_6.3.0_1788383025666_0.37498917817824884","host":"s3://npm-registry-packages-npm-production"}},"6.3.1":{"name":"@serve.zone/corestore","version":"6.3.1","keywords":["serve.zone","corestore","smartstorage","smartdb","s3","mongodb","database","storage","docker"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@serve.zone/corestore@6.3.1","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"bin":{"corestore":"cli.js"},"dist":{"shasum":"3b7e1e4b3633093cf2df6140b6671a472a869c53","tarball":"https://registry.npmjs.org/@serve.zone/corestore/-/corestore-6.3.1.tgz","fileCount":64,"integrity":"sha512-jMTiBLcmhIea8kbZsU2bg3pMavAo2UiEx22vPpgfS/+u7fZPyBzVYp2eYIUUnk/QjB3ukzEEJeviG2KgxxiJaA==","signatures":[{"sig":"MEQCIBWuExuefS2ymcTnjsaRhItmt3iT4CmgY4bttl6CKgnjAiBaJehorYB5fjOD3EFlfR1Hz0EYvcfBMoDdaYOS3APWkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDziuzbk3NeeGa/rOLT7GPxcsOOQEMbA4R0xKb/xE2CbAIhAKXWa+TgWDiY/fI4DVLBYqlwpEnDaqebRfH3kThYZqLP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3114698},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"(tstest test/)","build":"tsbuild tsfolders --allowimplicitany","start":"node cli.js","watch":"tswatch service","startTs":"node cli.ts.js","build:docker":"tsdocker build --verbose","release:docker":"tsdocker push --verbose","migrate:legacy-mongodb-to-smartdb":"node migration.js legacy-mongodb-to-smartdb"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"ssh://git@code.foss.global:29419/serve.zone/corestore.git","type":"git"},"description":"Node-local database and S3 storage provider for serve.zone workloads.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"mongodb":"7.5.0","@push.rocks/smartdb":"5.5.2","@push.rocks/smartjwt":"^2.5.1","@push.rocks/smartdata":"11.6.1","@push.rocks/smartpath":"^6.0.0","@serve.zone/interfaces":"27.4.0","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartbucket":"4.13.0","@push.rocks/smartstorage":"8.1.0","@serve.zone/containerarchive":"0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.4.1","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^4.0.0","@git.zone/tsbuild":"^4.4.2","@git.zone/tswatch":"^3.3.5","@git.zone/tsdocker":"3.5.3"},"_npmOperationalInternal":{"tmp":"tmp/corestore_6.3.1_1788551327482_0.893196450715694","host":"s3://npm-registry-packages-npm-production"}},"6.4.0":{"name":"@serve.zone/corestore","version":"6.4.0","keywords":["serve.zone","corestore","smartstorage","smartdb","s3","mongodb","database","storage","docker"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@serve.zone/corestore@6.4.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"bin":{"corestore":"cli.js"},"dist":{"shasum":"eb279be58efaf2149373715d4d54e7fb04988eb8","tarball":"https://registry.npmjs.org/@serve.zone/corestore/-/corestore-6.4.0.tgz","fileCount":64,"integrity":"sha512-JdBxp+sw90QkWN6lGn4XfpOGFoUdYwZzxJRAVie8Wd0c1f0FlDzkOHKNlvzaBOk8fIyjvbgIO7FEaHZS7/tGCQ==","signatures":[{"sig":"MEYCIQDuXLAb3alFEeiuhpeveUAXcJmDi7cSzSlmPBQ9orG31QIhAOtqLSNjUuEKxuWvgPhHMhByEpbV/Dn57G07BrmyNWLC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBrdimgS7FR2IwXqXPZS836isA06MC+ZtxBiJSE53PbqAiAi5ERasl5cpdGwXK6Olru8xJCB1ctGf+OuBkxugukD4Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3115767},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"(tstest test/)","build":"tsbuild tsfolders --allowimplicitany","start":"node cli.js","watch":"tswatch service","startTs":"node cli.ts.js","build:docker":"tsdocker build --verbose","release:docker":"tsdocker push --verbose","migrate:legacy-mongodb-to-smartdb":"node migration.js legacy-mongodb-to-smartdb"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"ssh://git@code.foss.global:29419/serve.zone/corestore.git","type":"git"},"description":"Node-local database and S3 storage provider for serve.zone workloads.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"mongodb":"7.5.0","@push.rocks/smartdb":"5.6.0","@push.rocks/smartjwt":"^2.5.1","@push.rocks/smartdata":"11.8.0","@push.rocks/smartpath":"^6.0.0","@serve.zone/interfaces":"27.4.0","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartbucket":"4.13.0","@push.rocks/smartstorage":"8.1.0","@serve.zone/containerarchive":"0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.4.1","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^4.0.0","@git.zone/tsbuild":"^4.4.2","@git.zone/tswatch":"^3.3.5","@git.zone/tsdocker":"3.5.4"},"_npmOperationalInternal":{"tmp":"tmp/corestore_6.4.0_1788632789111_0.06399030672297124","host":"s3://npm-registry-packages-npm-production"}},"6.5.0":{"name":"@serve.zone/corestore","version":"6.5.0","keywords":["serve.zone","corestore","smartstorage","smartdb","s3","mongodb","database","storage","docker"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@serve.zone/corestore@6.5.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"bin":{"corestore":"cli.js"},"dist":{"shasum":"d246a0aaa6594b488ac07c1ecbf4a3faba2efb32","tarball":"https://registry.npmjs.org/@serve.zone/corestore/-/corestore-6.5.0.tgz","fileCount":64,"integrity":"sha512-c32p9F3xVRiZFr/SArHIDfVA8akMQtEgV0XHTHN2esWKdzWzlsHtJ3txSepps6r6ntPq1gLF8z+dCtdIjd5fPQ==","signatures":[{"sig":"MEQCIHB1bAm9iutpAHsYXwq/wbFd8uV3Vup+KKXLSTi+YC1SAiAtYVNavpv1YXmfYDgbBVs10/kf0U2lCAjyXHfZTja2GA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIECXOg70KOob1BXOAMo2B9BUoIaWoSVICDKYqsD6988ZAiB8BVvUlrGuQzboMej/SvoFcwy1TKEbReZ/oi9FER9oQg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3115916},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"(tstest test/)","build":"tsbuild tsfolders --allowimplicitany","start":"node cli.js","watch":"tswatch service","startTs":"node cli.ts.js","build:docker":"tsdocker build --verbose","release:docker":"tsdocker push --verbose","migrate:legacy-mongodb-to-smartdb":"node migration.js legacy-mongodb-to-smartdb"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"ssh://git@code.foss.global:29419/serve.zone/corestore.git","type":"git"},"description":"Node-local database and S3 storage provider for serve.zone workloads.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"mongodb":"7.5.0","@push.rocks/smartdb":"5.10.0","@push.rocks/smartjwt":"^2.5.1","@push.rocks/smartdata":"11.11.0","@push.rocks/smartpath":"^6.0.0","@serve.zone/interfaces":"27.4.0","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartbucket":"4.13.0","@push.rocks/smartstorage":"8.1.0","@serve.zone/containerarchive":"0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"26.4.0","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^4.0.0","@git.zone/tsbuild":"^4.4.2","@git.zone/tswatch":"^3.3.5","@git.zone/tsdocker":"3.5.4"},"_npmOperationalInternal":{"tmp":"tmp/corestore_6.5.0_1788803992750_0.21313370318894553","host":"s3://npm-registry-packages-npm-production"}},"7.0.0":{"name":"@serve.zone/corestore","version":"7.0.0","keywords":["serve.zone","corestore","objectstorage","nosqldb","s3","mongodb","database","storage","docker"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@serve.zone/corestore@7.0.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"bin":{"corestore":"cli.js"},"dist":{"shasum":"800219f4ce1fb77cc331e2e52e3557e4030a824a","tarball":"https://registry.npmjs.org/@serve.zone/corestore/-/corestore-7.0.0.tgz","fileCount":64,"integrity":"sha512-OA0Umz6RLMIYXrgQ4/h+jTiK/2mzrWSLwSXhGXyCSyrOpFE7BSN1a3rA2H3ULmbReEm+UyQ4ra7IUxeDDXDJKQ==","signatures":[{"sig":"MEQCIE9n0R33sKaBsz6a1f7QNyjj26EbwRUznEhXQlYxfzjTAiBu0x9h4zsZod8Ot2G9IrLOgcxqlCWfx+bRs+uDTzf81A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFlt9EbfzsxY5moj7SqyNUmF/4Aen6OQJ8nqIKUk7p8kAiEAst5i+hy/STbA4GuCTbuR5W/lXETJcJHNmqR4GAZVEtw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3118930},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"(tstest test/)","build":"tsbuild tsfolders --allowimplicitany","start":"node cli.js","watch":"tswatch service","startTs":"node cli.ts.js","build:docker":"tsdocker build --verbose","release:docker":"tsdocker push --verbose","migrate:legacy-mongodb-to-smartdb":"node migration.js legacy-mongodb-to-smartdb"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"ssh://git@code.foss.global:29419/serve.zone/corestore.git","type":"git"},"description":"Node-local database and S3 storage provider for serve.zone workloads.","directories":{},"browserslist":["last 1 chrome versions"],"dependencies":{"mongodb":"7.5.0","@push.rocks/smartjwt":"^2.5.1","@lossless.org/nosqldb":"10.2.0","@push.rocks/smartdata":"11.11.0","@push.rocks/smartpath":"^6.0.0","@serve.zone/interfaces":"27.4.0","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartbucket":"4.13.0","@lossless.org/objectstorage":"10.0.1","@serve.zone/containerarchive":"0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"26.4.1","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^6.0.0","@git.zone/tsbuild":"^4.4.2","@git.zone/tswatch":"^3.3.5","@git.zone/tsdocker":"3.5.8"},"_npmOperationalInternal":{"tmp":"tmp/corestore_7.0.0_1789224464769_0.06322236206384835","host":"s3://npm-registry-packages-npm-production"}},"32.0.0":{"name":"@serve.zone/corestore","version":"32.0.0","keywords":["serve.zone","corestore","objectstorage","nosqldb","s3","mongodb","database","storage","docker"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@serve.zone/corestore@32.0.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"bin":{"corestore":"cli.js"},"dist":{"shasum":"28b2d0ed30216b0b8cabd414a9acd24d2375ff1e","tarball":"https://registry.npmjs.org/@serve.zone/corestore/-/corestore-32.0.0.tgz","fileCount":93,"integrity":"sha512-m27acas3p8oY/5V9KcbTB3nLRWAoNgIkdeLmI8EhlEMDUTV7P5jci119VkEiod6ueRZa6Z26cowwnrH7Gr+JnA==","signatures":[{"sig":"MEUCIFcfKcxJ1D++HwTUSLhBSE4kI1xF1vivBycPW49+fRgtAiEAgHETei3n4mZYbdy+pMxndakz6kt2F+RusxORaKfXLCA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICOxqpwIVboH7SAwj2hN0Pe+KumV25+sNY/RGNV/orBMAiAUrK8IyVRb9uMj/+IspaTE9zbNpTmSKmsF2TMn+HUuEA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3212264},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"(tstest test/)","build":"tsbuild tsfolders --allowimplicitany","start":"node cli.js","watch":"tswatch service","startTs":"node cli.ts.js","build:docker":"tsdocker build --verbose","release:docker":"tsdocker push --verbose","migrate:legacy-mongodb-to-smartdb":"node migration.js legacy-mongodb-to-smartdb"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"ssh://git@code.foss.global:29419/serve.zone/corestore.git","type":"git"},"description":"Node-local database and S3 storage provider for serve.zone workloads.","directories":{},"browserslist":["last 1 chrome versions"],"dependencies":{"mongodb":"7.5.0","@push.rocks/smartjwt":"^2.5.1","@lossless.org/nosqldb":"10.2.0","@push.rocks/smartdata":"11.11.0","@push.rocks/smartpath":"^6.0.0","@serve.zone/interfaces":"32.0.2","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartbucket":"4.13.0","@lossless.org/objectstorage":"10.0.1","@serve.zone/containerarchive":"0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"26.5.1","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^6.1.1","@git.zone/tsbuild":"^4.5.0","@git.zone/tswatch":"^3.3.5","@git.zone/tsdocker":"3.5.9"},"_npmOperationalInternal":{"tmp":"tmp/corestore_32.0.0_1789754985627_0.30493079315764393","host":"s3://npm-registry-packages-npm-production"}},"32.0.1":{"name":"@serve.zone/corestore","version":"32.0.1","keywords":["serve.zone","corestore","objectstorage","nosqldb","s3","mongodb","database","storage","docker"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@serve.zone/corestore@32.0.1","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"bin":{"corestore":"cli.js"},"dist":{"shasum":"88949ac0e886daa3cf8c1cda3dbd2a7f57c76027","tarball":"https://registry.npmjs.org/@serve.zone/corestore/-/corestore-32.0.1.tgz","fileCount":93,"integrity":"sha512-FKhPbWeH8X9D1IbSt+kHvG4pOL1Hr8mpVNBMw+TsSGR2+r5rQqgAD0llhH2EuwgLuVKQh/YsQK4EwKBag+UzsA==","signatures":[{"sig":"MEUCID/d4IYvLiaPY068MMNfvHndGZKE9sIeokGiKPepB5uVAiEA1J2/1jcblbwDEAbmBlmE03JoZ2ughOPnp2ciRNN2r6U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCID68BcZyc/emc5uOiUyBoDjvornwt88gx2dvu+Y//jOQAiByzsSiMRzZMbfSpHaYPRBDUxYSyqfYuPOF8ozP51XvXQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3197976},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"(tstest test/)","build":"tsbuild tsfolders --allowimplicitany","start":"node cli.js","watch":"tswatch service","startTs":"node cli.ts.js","build:docker":"tsdocker build --verbose","release:docker":"tsdocker push --verbose","migrate:legacy-mongodb-to-smartdb":"node migration.js legacy-mongodb-to-smartdb"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"ssh://git@code.foss.global:29419/serve.zone/corestore.git","type":"git"},"description":"Node-local database and S3 storage provider for serve.zone workloads.","directories":{},"browserslist":["last 1 chrome versions"],"dependencies":{"mongodb":"7.5.0","@push.rocks/smartjwt":"^2.5.1","@lossless.org/nosqldb":"10.2.0","@push.rocks/smartdata":"11.11.0","@push.rocks/smartpath":"^6.0.0","@serve.zone/interfaces":"32.3.0","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartbucket":"4.13.0","@lossless.org/objectstorage":"10.0.1","@serve.zone/containerarchive":"0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"26.5.1","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^6.1.1","@git.zone/tsbuild":"^4.5.0","@git.zone/tswatch":"^3.3.5","@git.zone/tsdocker":"3.5.9"},"_npmOperationalInternal":{"tmp":"tmp/corestore_32.0.1_1789779257828_0.19091688314447608","host":"s3://npm-registry-packages-npm-production"}},"32.0.2":{"name":"@serve.zone/corestore","version":"32.0.2","keywords":["serve.zone","corestore","objectstorage","nosqldb","s3","mongodb","database","storage","docker"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@serve.zone/corestore@32.0.2","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"bin":{"corestore":"cli.js"},"dist":{"shasum":"b71ae00df405e2ede248bee119543f75c2ddb70c","tarball":"https://registry.npmjs.org/@serve.zone/corestore/-/corestore-32.0.2.tgz","fileCount":93,"integrity":"sha512-PBSDa1UQSQpW8DLYtAVIBg4SXspTkt63PxR+APf65rSYyROsusKbwD/bk9WICoLhKm9gPpck5OJCRkbLSw/Eeg==","signatures":[{"sig":"MEQCIFY+NYolP5jZC1F7K0BHkSfEJ+M5dI8QnPEE9IbiKjFXAiA2p6px8ogHIfF/zHFVciLDWciyw9zCklHYWH4EKwZSxA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDC7ZvnXNgkt9qW657FVrsMGweAsdU521zhQHcKmYQ2QwIhAJvxQC1VpPKcGUiXlK9jeDFuw3zk9hDDRopqNZDz2dk/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3198394},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"(tstest test/)","build":"tsbuild tsfolders --allowimplicitany","start":"node cli.js","watch":"tswatch service","startTs":"node cli.ts.js","build:docker":"tsdocker build --verbose","release:docker":"tsdocker push --verbose","migrate:legacy-mongodb-to-smartdb":"node migration.js legacy-mongodb-to-smartdb"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"ssh://git@code.foss.global:29419/serve.zone/corestore.git","type":"git"},"description":"Node-local database and S3 storage provider for serve.zone workloads.","directories":{},"browserslist":["last 1 chrome versions"],"dependencies":{"mongodb":"7.5.0","@lossless.org/client":"1.0.0","@push.rocks/smartjwt":"^2.5.1","@lossless.org/nosqldb":"10.2.0","@push.rocks/smartpath":"^6.0.0","@serve.zone/interfaces":"32.3.0","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartbucket":"4.13.0","@lossless.org/objectstorage":"10.0.1","@serve.zone/containerarchive":"0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"26.5.1","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^6.1.1","@git.zone/tsbuild":"^4.5.0","@git.zone/tswatch":"^3.3.5","@git.zone/tsdocker":"3.5.9"},"_npmOperationalInternal":{"tmp":"tmp/corestore_32.0.2_1789788437650_0.26953060196279766","host":"s3://npm-registry-packages-npm-production"}},"32.1.0":{"name":"@serve.zone/corestore","version":"32.1.0","keywords":["serve.zone","corestore","objectstorage","nosqldb","s3","mongodb","database","storage","docker"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@serve.zone/corestore@32.1.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"bin":{"corestore":"cli.js"},"dist":{"shasum":"b37b1189571a93bec422f1cb05bed1de7e006203","tarball":"https://registry.npmjs.org/@serve.zone/corestore/-/corestore-32.1.0.tgz","fileCount":93,"integrity":"sha512-Mv12I3b55sr33qUi6d+HLnnxFd93uxm1IbOsgYQwwg7+AEa7ExOPVKqu6aVwXl0RckclMW/j3N9pPl3r6fWsLw==","signatures":[{"sig":"MEUCIQCvAWuHbsCftMt/fiDdz2h+Gsb48Vk5tsv4a/U+ary8BQIgXqlPaLhMlrExzFmQkES6PDL7MzPVfb8rFdli71OuQQM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCNPk4LPx3TXl2cV0hqbbSDeoihD4maveehUXzQ1g6WigIgV6WCck2zCSQYj/tcbcOksYFC7UBVJsU1uijXFRkr79s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3175174},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"(tstest test/)","build":"tsbuild tsfolders --allowimplicitany","start":"node cli.js","watch":"tswatch service","startTs":"node cli.ts.js","build:docker":"tsdocker build --verbose","release:docker":"tsdocker push --verbose","migrate:legacy-mongodb-to-smartdb":"node migration.js legacy-mongodb-to-smartdb"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"ssh://git@code.foss.global:29419/serve.zone/corestore.git","type":"git"},"description":"Node-local database and S3 storage provider for serve.zone workloads.","directories":{},"browserslist":["last 1 chrome versions"],"dependencies":{"mongodb":"7.5.0","@lossless.org/client":"1.0.0","@push.rocks/smartjwt":"^2.5.1","@lossless.org/nosqldb":"10.2.0","@push.rocks/smartpath":"^6.0.0","@serve.zone/interfaces":"32.3.0","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartbucket":"4.13.0","@lossless.org/objectstorage":"10.0.1","@serve.zone/containerarchive":"0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"26.5.1","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^6.1.1","@git.zone/tsbuild":"^4.5.0","@git.zone/tswatch":"^3.3.5","@git.zone/tsdocker":"3.5.9"},"_npmOperationalInternal":{"tmp":"tmp/corestore_32.1.0_1789793759070_0.21329829520540478","host":"s3://npm-registry-packages-npm-production"}},"32.2.0":{"name":"@serve.zone/corestore","version":"32.2.0","keywords":["serve.zone","corestore","objectstorage","nosqldb","s3","mongodb","database","storage","docker"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@serve.zone/corestore@32.2.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"bin":{"corestore":"cli.js"},"dist":{"shasum":"f03f4e441835b0f3dbe9c184d3fe923bef03bfe7","tarball":"https://registry.npmjs.org/@serve.zone/corestore/-/corestore-32.2.0.tgz","fileCount":98,"integrity":"sha512-eB9/+iWTDHL4mcv8kWjUzcXkfIxre2dQrF8gPut9efht2gzRwkbjh88KEVb7wgCQTdPeAvLLc8FAKJB30LzpSQ==","signatures":[{"sig":"MEYCIQC2lYlKS2dYbEvgZa3wsvYMjdXEo1uhXAoO/Nhu4L1iVAIhAL3lbwrsxQKKNwWU0gUiqMBywO9hhrhFZS/EGC6LhRNe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD4rjDCWIai+5I1Er++2NsLm/bb4jW/BuN34OsFnRmLjwIgHc5Mwk+dU3jNDe9wwtBd4exfDx/1gHCAVJLIV1ep9cg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3413253},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"(tstest test/)","build":"tsbuild tsfolders --allowimplicitany","start":"node cli.js","watch":"tswatch service","startTs":"node cli.ts.js","build:docker":"tsdocker build --verbose","release:docker":"tsdocker push --verbose","migrate:engine-stage":"node migration.js engine-stage","migrate:engine-activate":"node migration.js engine-activate","migrate:engine-source-export":"node migration.js engine-source-export","migrate:engine-source-inventory":"node migration.js engine-source-inventory","migrate:legacy-mongodb-to-smartdb":"node migration.js legacy-mongodb-to-smartdb"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"ssh://git@code.foss.global:29419/serve.zone/corestore.git","type":"git"},"description":"Node-local database and S3 storage provider for serve.zone workloads.","directories":{},"browserslist":["last 1 chrome versions"],"dependencies":{"mongodb":"7.5.0","@lossless.org/client":"1.0.0","@push.rocks/smartjwt":"^2.5.1","@lossless.org/nosqldb":"10.3.0","@push.rocks/smartpath":"^6.0.0","@serve.zone/interfaces":"32.3.0","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartbucket":"4.13.0","@lossless.org/objectstorage":"10.0.1","@serve.zone/containerarchive":"0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"26.5.1","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^6.1.1","@git.zone/tsbuild":"^4.5.0","@git.zone/tswatch":"^3.3.5","@git.zone/tsdocker":"3.6.0"},"_npmOperationalInternal":{"tmp":"tmp/corestore_32.2.0_1789846018318_0.43854018322398547","host":"s3://npm-registry-packages-npm-production"}},"32.2.1":{"name":"@serve.zone/corestore","version":"32.2.1","keywords":["serve.zone","corestore","objectstorage","nosqldb","s3","mongodb","database","storage","docker"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@serve.zone/corestore@32.2.1","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"bin":{"corestore":"cli.js"},"dist":{"shasum":"10b652f7fd16e2f68fc8873be95102eacb4830eb","tarball":"https://registry.npmjs.org/@serve.zone/corestore/-/corestore-32.2.1.tgz","fileCount":98,"integrity":"sha512-2+7b+y1xLDRBB9yNhudi44VmBtmN0vvlkoik39YIFqfdb99Ma++0xIyRpyvkxja1CEdm2SSSC7F7xP9ySAqQdg==","signatures":[{"sig":"MEUCIQCEoxuSv/kYO3TMDfZGt0gG7bevVaBn/Wz1nsxrymIehwIgRFIuuO03JZjZvMvvtjPJvL+ExiR0kd9eufIy+MZBVOU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBEL+jzWgoC0ClpjVDbpY9O7B6mC2QMJTT53ciHtzEvyAiAQOQJQQbJoUn3XH3IJ9x9U5ewIpMFkRd4PIFWmoI2owA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3446061},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"(tstest test/)","build":"tsbuild tsfolders --allowimplicitany","start":"node cli.js","watch":"tswatch service","startTs":"node cli.ts.js","build:docker":"tsdocker build --verbose","release:docker":"tsdocker push --verbose","migrate:engine-stage":"node migration.js engine-stage","migrate:engine-activate":"node migration.js engine-activate","migrate:engine-source-export":"node migration.js engine-source-export","migrate:engine-source-inventory":"node migration.js engine-source-inventory","migrate:legacy-mongodb-to-smartdb":"node migration.js legacy-mongodb-to-smartdb"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"ssh://git@code.foss.global:29419/serve.zone/corestore.git","type":"git"},"description":"Node-local database and S3 storage provider for serve.zone workloads.","directories":{},"browserslist":["last 1 chrome versions"],"dependencies":{"mongodb":"7.5.0","@lossless.org/client":"1.0.0","@push.rocks/smartjwt":"^2.5.1","@lossless.org/nosqldb":"10.3.0","@push.rocks/smartpath":"^6.0.0","@serve.zone/interfaces":"32.3.0","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartbucket":"4.13.0","@lossless.org/objectstorage":"10.0.1","@serve.zone/containerarchive":"0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"26.5.1","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^6.1.1","@git.zone/tsbuild":"^4.5.0","@git.zone/tswatch":"^3.3.5","@git.zone/tsdocker":"3.6.0"},"_npmOperationalInternal":{"tmp":"tmp/corestore_32.2.1_1789865183744_0.6501495393664884","host":"s3://npm-registry-packages-npm-production"}},"32.2.2":{"name":"@serve.zone/corestore","version":"32.2.2","keywords":["serve.zone","corestore","objectstorage","nosqldb","s3","mongodb","database","storage","docker"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@serve.zone/corestore@32.2.2","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"bin":{"corestore":"cli.js"},"dist":{"shasum":"682ab8e44f6f9f0f6f086b693c8c4187c36b8afe","tarball":"https://registry.npmjs.org/@serve.zone/corestore/-/corestore-32.2.2.tgz","fileCount":98,"integrity":"sha512-xk0ElZqUIaqtX3p6vE1EiaNzs3KPXjf24dW+l/v8aUpYqvbaeKFh4aRoSzkOkm3l2ReH3ibCPDa4vsgVkdGrdw==","signatures":[{"sig":"MEUCIQDIv9FAhMibsTtGVJq4EdnjpRtzZqlJsGJkg0eAxU2PNQIgb+FZMzsd1WVa9SmPITrexMHNLUVXAsSV6dAojdVTpis=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDsxJ7MZ8R1X5i7caCMogNctffVHOtI1zVsYqm1o50PXgIhAOHKAQmT7ZACKsubgeApP3LtAaErnABwUgycHyGy59VN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3457531},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"(tstest test/)","build":"tsbuild tsfolders --allowimplicitany","start":"node cli.js","watch":"tswatch service","startTs":"node cli.ts.js","build:docker":"tsdocker build --verbose","release:docker":"tsdocker push --verbose","migrate:engine-stage":"node migration.js engine-stage","migrate:engine-activate":"node migration.js engine-activate","migrate:engine-source-export":"node migration.js engine-source-export","migrate:engine-source-inventory":"node migration.js engine-source-inventory","migrate:legacy-mongodb-to-smartdb":"node migration.js legacy-mongodb-to-smartdb"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"ssh://git@code.foss.global:29419/serve.zone/corestore.git","type":"git"},"description":"Node-local database and S3 storage provider for serve.zone workloads.","directories":{},"browserslist":["last 1 chrome versions"],"dependencies":{"mongodb":"7.5.0","@lossless.org/client":"1.0.0","@push.rocks/smartjwt":"^2.5.1","@lossless.org/nosqldb":"10.3.0","@push.rocks/smartpath":"^6.0.0","@serve.zone/interfaces":"32.3.0","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartbucket":"4.13.0","@lossless.org/objectstorage":"10.0.1","@serve.zone/containerarchive":"0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"26.5.1","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^6.1.1","@git.zone/tsbuild":"^4.5.0","@git.zone/tswatch":"^3.3.5","@git.zone/tsdocker":"3.6.0"},"_npmOperationalInternal":{"tmp":"tmp/corestore_32.2.2_1789889144042_0.7550112156345281","host":"s3://npm-registry-packages-npm-production"}},"32.2.3":{"name":"@serve.zone/corestore","version":"32.2.3","keywords":["serve.zone","corestore","objectstorage","nosqldb","s3","mongodb","database","storage","docker"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@serve.zone/corestore@32.2.3","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"bin":{"corestore":"cli.js"},"dist":{"shasum":"f08cd2a148d8a6839c2e9b395334d8648b0de355","tarball":"https://registry.npmjs.org/@serve.zone/corestore/-/corestore-32.2.3.tgz","fileCount":107,"integrity":"sha512-uddxepBWfmiUBOh97mQRSLK687V9A6LYKL7sqhcfdfQt3fzwGaTgREV7vD4I1k/KCv+HqHUN/tXC6FuxRfyA9w==","signatures":[{"sig":"MEUCIQChSEhZ19hyGzpvoQTPUD2yNe56lo0gD5Avo1RRqphMaAIgD2HC1P0Y+XP3EikpNjwFZpH4700O71jsKyL+oFFpRpQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBjcS4daoOyyhOxViTIzQL/0xqcJ/25rSCha5GHPf8+VAiB20ZKT3M7IWAmdxgOvAnVffpkiYUO7Qvbve4DfNevXOg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3645697},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"(tstest test/)","build":"tsbuild tsfolders --allowimplicitany","start":"node cli.js","watch":"tswatch service","startTs":"node cli.ts.js","build:docker":"tsdocker build --verbose","release:docker":"tsdocker push --verbose","migrate:engine-stage":"node migration.js engine-stage","migrate:engine-activate":"node migration.js engine-activate","migrate:engine-source-export":"node migration.js engine-source-export","migrate:engine-source-inventory":"node migration.js engine-source-inventory","migrate:legacy-mongodb-to-smartdb":"node migration.js legacy-mongodb-to-smartdb"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"ssh://git@code.foss.global:29419/serve.zone/corestore.git","type":"git"},"description":"Node-local database and S3 storage provider for serve.zone workloads.","directories":{},"browserslist":["last 1 chrome versions"],"dependencies":{"mongodb":"7.5.0","@lossless.org/client":"1.0.0","@push.rocks/smartjwt":"^2.5.1","@lossless.org/nosqldb":"10.3.0","@push.rocks/smartpath":"^6.0.0","@serve.zone/interfaces":"32.3.0","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartbucket":"4.13.0","@lossless.org/objectstorage":"10.3.1","@serve.zone/containerarchive":"0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"26.5.1","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^6.1.1","@git.zone/tsbuild":"^4.5.0","@git.zone/tswatch":"^3.3.5","@git.zone/tsdocker":"3.7.0"},"_npmOperationalInternal":{"tmp":"tmp/corestore_32.2.3_1789913914321_0.8882824140866257","host":"s3://npm-registry-packages-npm-production"}},"32.3.0":{"name":"@serve.zone/corestore","version":"32.3.0","keywords":["serve.zone","corestore","objectstorage","nosqldb","s3","mongodb","database","storage","docker"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@serve.zone/corestore@32.3.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"bin":{"corestore":"cli.js"},"dist":{"shasum":"816999e17bb14f074cf04f862b2f4e4a0eb4732f","tarball":"https://registry.npmjs.org/@serve.zone/corestore/-/corestore-32.3.0.tgz","fileCount":117,"integrity":"sha512-buo9YFJdz6g7rmTd3BRlKqsVWeqWc8+9pVPGZH7zLulTOSe5TWRSzbuoANNoZXEntJs+ml5z3udvOMKgJg59Kg==","signatures":[{"sig":"MEUCIQCSiNo0VDhoCD2B32KfWQz/L0K/+0Ij0dGxY/pDmKHjxwIgM+L7Be75vq2xX+5FA+1pdpsfoV0sGOclFLKEItCDGsg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDQNNwBro3dlsNS45zaG4Nc/cL6arcUUgQom7P9d+yqvgIgKXZsdm7KSjTk1v7g9s9uLuQJBtI5R3HX7YQVj62+Bdc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3812753},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"(tstest test/)","build":"tsbuild tsfolders --allowimplicitany","start":"node cli.js","watch":"tswatch service","startTs":"node cli.ts.js","build:docker":"tsdocker build --verbose","release:docker":"tsdocker push --verbose","migrate:engine-stage":"node migration.js engine-stage","adopt:prepared-volume":"node adoption.js","migrate:engine-activate":"node migration.js engine-activate","migrate:engine-source-export":"node migration.js engine-source-export","migrate:engine-source-inventory":"node migration.js engine-source-inventory","migrate:legacy-mongodb-to-smartdb":"node migration.js legacy-mongodb-to-smartdb"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"ssh://git@code.foss.global:29419/serve.zone/corestore.git","type":"git"},"description":"Node-local database and S3 storage provider for serve.zone workloads.","directories":{},"browserslist":["last 1 chrome versions"],"dependencies":{"mongodb":"7.5.0","@lossless.org/client":"1.0.0","@push.rocks/smartjwt":"^2.5.1","@lossless.org/nosqldb":"10.3.0","@push.rocks/smartpath":"^6.0.0","@serve.zone/interfaces":"32.15.0","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartbucket":"4.13.0","@lossless.org/objectstorage":"10.3.1","@serve.zone/containerarchive":"0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"26.5.1","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^6.1.1","@git.zone/tsbuild":"^4.5.0","@git.zone/tswatch":"^3.3.5","@git.zone/tsdocker":"3.7.0"},"_npmOperationalInternal":{"tmp":"tmp/corestore_32.3.0_1789920585122_0.4242692035048472","host":"s3://npm-registry-packages-npm-production"}},"32.4.0":{"name":"@serve.zone/corestore","version":"32.4.0","keywords":["serve.zone","corestore","objectstorage","nosqldb","s3","mongodb","database","storage","docker"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@serve.zone/corestore@32.4.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"bin":{"corestore":"cli.js"},"dist":{"shasum":"32edc5efd3ae23ceae21babc1593aecce1f2ea97","tarball":"https://registry.npmjs.org/@serve.zone/corestore/-/corestore-32.4.0.tgz","fileCount":117,"integrity":"sha512-m+F9M8dHUzaR4b5UvZGWZRkDPSPZjKoot0WhTrDFCu9CV0iy1lLUMloAr9yd8lK5Aa8Ik0C9m4nMPiP9YC16Yg==","signatures":[{"sig":"MEUCIBr1DgKK3LK+X9XnkaOOZ1PzTAntMufIU4zBkm/IreToAiEAsGm+qBz7YrnBAiIEsdHrOS5hgKDqjcnZhpRYBjzp+lU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDPrMIeMJmpwWThq7MHq29ckiRY5f0Jb4S67mrQO5YBpAiAO+8c3cBg3ezXmxVoZql5bi+wsGInEbohYPbFUmA5fsw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3813549},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"(tstest test/)","build":"tsbuild tsfolders --allowimplicitany","start":"node cli.js","watch":"tswatch service","startTs":"node cli.ts.js","build:docker":"tsdocker build --verbose","release:docker":"tsdocker push --verbose","migrate:engine-stage":"node migration.js engine-stage","adopt:prepared-volume":"node adoption.js","migrate:engine-activate":"node migration.js engine-activate","migrate:engine-source-export":"node migration.js engine-source-export","migrate:engine-source-inventory":"node migration.js engine-source-inventory","migrate:legacy-mongodb-to-smartdb":"node migration.js legacy-mongodb-to-smartdb"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"ssh://git@code.foss.global:29419/serve.zone/corestore.git","type":"git"},"description":"Node-local database and S3 storage provider for serve.zone workloads.","directories":{},"browserslist":["last 1 chrome versions"],"dependencies":{"mongodb":"7.5.0","@lossless.org/client":"1.0.0","@push.rocks/smartjwt":"^2.5.1","@lossless.org/nosqldb":"10.5.0","@push.rocks/smartpath":"^6.0.0","@serve.zone/interfaces":"32.15.0","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartbucket":"4.13.0","@lossless.org/objectstorage":"10.3.1","@serve.zone/containerarchive":"0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"26.6.1","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^6.1.5","@git.zone/tsbuild":"^4.5.1","@git.zone/tswatch":"^3.3.5","@git.zone/tsdocker":"3.8.1"},"_npmOperationalInternal":{"tmp":"tmp/corestore_32.4.0_1790151510840_0.5717769223029618","host":"s3://npm-registry-packages-npm-production"}},"32.4.1":{"name":"@serve.zone/corestore","version":"32.4.1","keywords":["serve.zone","corestore","objectstorage","nosqldb","s3","mongodb","database","storage","docker"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@serve.zone/corestore@32.4.1","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"bin":{"corestore":"cli.js"},"dist":{"shasum":"f811b2ecd696472e3f839438d61972131aa498cc","tarball":"https://registry.npmjs.org/@serve.zone/corestore/-/corestore-32.4.1.tgz","fileCount":117,"integrity":"sha512-Y652ADrC8YfFNbaiZlOqoy7p3m9B/7Oa8xxShkooTp7REI9PPaF5OfnSwntBo86eUc2BpFGFyrotMxjgpwuOzQ==","signatures":[{"sig":"MEQCIAoV80VuzDW3lbTcBZ90xoHASbUdHKIgnvSvScIGl5xpAiA3hukHvOhK+csYVC75O6xHAbO4pipEXy5z1kcN1YGIJQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDidKKFLcK3hOApkjTdTxic6Lu8clWocJHxQ22u4FuUzAIhAKE+Gii/4EGe3kxK4JI+VdpzYu+6Im6PTP6gDC5MXLOu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3813549},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"(tstest test/)","build":"tsbuild tsfolders --allowimplicitany","start":"node cli.js","watch":"tswatch service","startTs":"node cli.ts.js","build:docker":"tsdocker build --verbose","release:docker":"tsdocker push --verbose","migrate:engine-stage":"node migration.js engine-stage","adopt:prepared-volume":"node adoption.js","migrate:engine-activate":"node migration.js engine-activate","migrate:engine-source-export":"node migration.js engine-source-export","migrate:engine-source-inventory":"node migration.js engine-source-inventory","migrate:legacy-mongodb-to-smartdb":"node migration.js legacy-mongodb-to-smartdb"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"ssh://git@code.foss.global:29419/serve.zone/corestore.git","type":"git"},"description":"Node-local database and S3 storage provider for serve.zone workloads.","directories":{},"browserslist":["last 1 chrome versions"],"dependencies":{"mongodb":"7.5.0","@lossless.org/client":"1.5.1","@push.rocks/smartjwt":"^2.5.1","@lossless.org/nosqldb":"10.5.0","@push.rocks/smartpath":"^6.0.0","@serve.zone/interfaces":"32.15.0","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartbucket":"4.13.0","@lossless.org/objectstorage":"10.3.1","@serve.zone/containerarchive":"0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"26.6.1","@git.zone/tsrun":"^3.0.0","@git.zone/tstest":"^6.2.0","@git.zone/tsbuild":"^5.0.0","@git.zone/tswatch":"^3.3.5","@git.zone/tsdocker":"3.8.1"},"_npmOperationalInternal":{"tmp":"tmp/corestore_32.4.1_1790216968579_0.9287704734685138","host":"s3://npm-registry-packages-npm-production"}},"32.5.0":{"_id":"@serve.zone/corestore@32.5.0","bin":{"corestore":"cli.js"},"dist":{"shasum":"20736642ef9b5130ad31cc476269a9f0f68351c8","tarball":"https://registry.npmjs.org/@serve.zone/corestore/-/corestore-32.5.0.tgz","fileCount":119,"integrity":"sha512-hlMzD52UO1gCha5gWXeGsc9NpKUte4bVjbCN4NgEIvGDhxJ9BfzvKFpEXtnZXftcu8elwq8jxLjGENxqOhtn/w==","signatures":[{"sig":"MEYCIQCJ76ojfcSrdMgLofjPiV3U/xVvmcXdFUtnp8bpbzXebQIhAIHcHFRn34wkFU/1fmdfwgoZo2ApCLaGjZ/Vx0aJv4Xr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFdTJNrmviW/Rh7Z5UwTlEmhQ6I9vWTZxOzxmFaGE/BaAiAL03e8kF135uyWGVHj1cr0pbbWN0TFqPwWJqJj9sOF9Q=="}],"unpackedSize":3974972},"main":"dist_ts/index.js","name":"@serve.zone/corestore","type":"module","author":"Task Venture Capital GmbH","license":"MIT","private":false,"scripts":{"test":"(tstest test/)","build":"tsbuild tsfolders --allowimplicitany","start":"node cli.js","watch":"tswatch","startTs":"node cli.ts.js","build:docker":"tsdocker build --verbose","release:docker":"tsdocker push --verbose","migrate:engine-stage":"node migration.js engine-stage","adopt:prepared-volume":"node adoption.js","migrate:engine-activate":"node migration.js engine-activate","migrate:engine-source-export":"node migration.js engine-source-export","migrate:engine-source-inventory":"node migration.js engine-source-inventory","migrate:legacy-resource-adoption":"node migration.js legacy-resource-adoption","migrate:legacy-mongodb-to-smartdb":"node migration.js legacy-mongodb-to-smartdb","migrate:engine-source-export-compare":"node migration.js engine-source-export-compare"},"typings":"dist_ts/index.d.ts","version":"32.5.0","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"keywords":["serve.zone","corestore","objectstorage","nosqldb","s3","mongodb","database","storage","docker"],"repository":{"url":"ssh://git@code.foss.global:29419/serve.zone/corestore.git","type":"git"},"description":"Node-local database and S3 storage provider for serve.zone workloads.","directories":{},"maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"browserslist":["last 1 chrome versions"],"dependencies":{"mongodb":"7.5.0","@lossless.org/client":"1.5.1","@push.rocks/smartjwt":"^2.5.1","@lossless.org/nosqldb":"10.5.0","@push.rocks/smartpath":"^6.0.0","@serve.zone/interfaces":"32.23.0","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartbucket":"4.13.0","@lossless.org/objectstorage":"10.3.1","@serve.zone/containerarchive":"0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"26.6.1","@git.zone/tsrun":"^3.0.0","@git.zone/tstest":"^6.2.0","@git.zone/tsbuild":"^5.0.0","@git.zone/tswatch":"^4.0.1","@git.zone/tsdocker":"3.8.1","@push.rocks/smartdb":"2.14.8"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/corestore_32.5.0_1790355258027_0.7442633946458854"}}},"time":{"created":"2026-08-08T00:05:56.241Z","modified":"2026-09-25T16:54:18.376Z","4.5.0":"2026-08-08T00:05:56.676Z","5.0.0":"2026-08-09T11:59:53.510Z","5.1.0":"2026-08-13T11:48:12.979Z","5.1.1":"2026-08-13T12:02:03.238Z","5.1.2":"2026-08-13T23:38:49.833Z","6.0.0":"2026-08-16T10:38:41.291Z","5.2.0":"2026-08-17T02:22:13.339Z","5.2.1":"2026-08-17T04:28:27.424Z","6.1.0":"2026-08-18T10:06:00.716Z","6.1.1":"2026-08-23T11:04:51.351Z","6.2.0":"2026-08-30T20:03:26.785Z","6.2.1":"2026-08-31T06:58:01.275Z","6.3.0":"2026-09-02T21:03:45.769Z","6.3.1":"2026-09-04T19:48:47.602Z","6.4.0":"2026-09-05T18:26:29.342Z","6.5.0":"2026-09-07T17:59:52.863Z","7.0.0":"2026-09-12T14:47:44.864Z","32.0.0":"2026-09-18T18:09:45.747Z","32.0.1":"2026-09-19T00:54:17.980Z","32.0.2":"2026-09-19T03:27:17.789Z","32.1.0":"2026-09-19T04:55:59.205Z","32.2.0":"2026-09-19T19:26:58.395Z","32.2.1":"2026-09-20T00:46:23.864Z","32.2.2":"2026-09-20T07:25:44.160Z","32.2.3":"2026-09-20T14:18:34.429Z","32.3.0":"2026-09-20T16:09:45.231Z","32.4.0":"2026-09-23T08:18:30.983Z","32.4.1":"2026-09-24T02:29:28.688Z","32.5.0":"2026-09-25T16:54:18.179Z"},"author":"Task Venture Capital GmbH","license":"MIT","keywords":["serve.zone","corestore","objectstorage","nosqldb","s3","mongodb","database","storage","docker"],"repository":{"url":"ssh://git@code.foss.global:29419/serve.zone/corestore.git","type":"git"},"description":"Node-local database and S3 storage provider for serve.zone workloads.","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"readme":"# @serve.zone/corestore\n\nCorestore is the node-local storage provider for serve.zone workloads. One process starts a NoSQLDB database endpoint, one ObjectStorage S3-compatible endpoint per configured object-storage pool, a Coreflow-facing control API, and a Docker VolumeDriver plugin. Its storage API reconciles backend-neutral named filesystem and object-storage bindings.\n\n## Issue Reporting and Security\n\nFor reporting bugs, issues, or security vulnerabilities, please visit [community.foss.global/](https://community.foss.global/). This is the central community hub for all issue reporting. Developers who sign and comply with our contribution agreement and go through identification can also get a [code.foss.global/](https://code.foss.global/) account to submit Pull Requests directly.\n\n## What It Provides\n\nCorestore packages the storage primitives that a workload usually needs on a serve.zone node:\n\n- **Database**: `@lossless.org/nosqldb` 10.5.0 provides authoritative allocation fencing, allocation-bound read grants, and restricted persistent views. NoSQLDB is the database server and exposes the MongoDB wire protocol on port `27017`.\n- **Object storage**: `@lossless.org/objectstorage` exposes one S3-compatible endpoint per physical pool; the default local pool uses port `9000`.\n- **Control API**: HTTP JSON API on port `3000` for named storage reconciliation, service-resource provisioning, metrics, snapshots, restores, and archive object replication.\n- **Contract version**: the installed `@serve.zone/interfaces` release is the contract version. Corestore 32.0.0 requires interfaces 32; no request, response, record or digest input carries a version field, and the control paths carry no version segment.\n- **Credential bindings**: Interfaces 32 value-free database and object-storage requests are reconciled under publication grants; plaintext is derived only for authenticated, non-cacheable material delivery.\n- **Docker volumes**: Docker's VolumeDriver API over `/run/docker/plugins/corestore.sock`.\n- **Backups**: `@serve.zone/containerarchive` stores deduplicated volume snapshots under the Corestore data directory.\n\nCorestore is deliberately node-local. Volume data lives on the node where Docker mounts it, and the Docker driver reports `Scope: local`.\n\n### Moving To NoSQLDB And ObjectStorage\n\nCorestore uses the published `@lossless.org/nosqldb` 10.5.0 and `@lossless.org/objectstorage` 10.3.1 APIs. NoSQLDB 10 reads supported existing stores without a startup or read-time format rewrite. Actual writes can introduce its certified document-ordinal records; after those writes, reopening requires NoSQLDB 10 or later. Preserve a pre-upgrade backup when a binary downgrade is required. Startup accepts only the owning engine's supported current format; older, mixed, incomplete allocation or unsupported roots remain rejected. Authentication is stored in the native database; the removed `auth.usersPath` option is no longer passed and no legacy user file is imported or deleted. This upgrade does not convert unsupported data automatically. Follow the owning [NoSQLDB migration and admission documentation](https://code.foss.global/lossless.org/nosqldb#moving-from-pushrockssmartdb) before deploying against existing storage.\n\nObjectStorage 10 requires GNU/Linux amd64 or arm64, glibc 2.34 or later, the matching GNU loader, `libm.so.6` and `libgcc_s.so.1`. Musl-only hosts are unsupported. The service image uses the GNU `ht-docker-node:lts` base. Existing deployments require a separately qualified image rollout and any explicit database format conversion before their persisted runtime image identity is changed.\n\nBoth image stages pin the qualified ht-docker-node 7.0.0 LTS digest. Its native package-manager launcher selects this project's exact pnpm 12.4.2 pin. Release tooling uses tsdocker 3.8.1 and tstest 6.1.5; configured image tests start the compiled Corestore provider and verify database persistence across restart.\n\nProvider values `smartdb` and `smartstorage`, versioned `smartdb.*` and `smartstorage.*` formats, hash domains, export item types, retention metadata, existing data directories and the operator migration command retain their stored identities. Do not rename those values or remove private metadata to force startup. The [ObjectStorage migration documentation](https://code.foss.global/lossless.org/objectstorage#moving-from-pushrockssmartstorage) preserves the corresponding storage and cluster protocols.\n\n### Earlier SmartDB 5 Admission Boundary\n\nSmartDB 5 reserves the physical `system.views` namespace. Before upgrading an existing Corestore installation, inspect every managed database while the older Corestore/SmartDB release is still running and rename or remove any unrelated or noncanonical physical `system.views` collection. Corestore 6 startup fails closed rather than interpreting such data as a view catalog. This is a compatibility boundary; do not bypass the validation or delete unreviewed database contents during the upgrade.\n\n### Workload Database Queries\n\nCorestore embeds NoSQLDB 10.5.0 and persists its own control records with the `@lossless.org/client` 1.5.1 NoSQL client (`@lossless.org/client/nosqldb`). Workloads can use the same public client APIs for declared index hints, bounded counts, sorted offset pages, and owned transactions. Hinted reads and counts inside a transaction use its snapshot plus buffered writes. Sparse hints intentionally omit documents absent from the selected index, including when counting an empty filter.\n\nNon-null database fence observations must include the current engine's canonical `providerRootId`. Corestore validates that identity alongside the exact fence-state schema before continuing a mutation or recovering a durable allocation; missing, malformed or unknown fields fail closed.\n\nNoSQLDB accepts scalar index names and exact ascending/descending key patterns. Missing or ambiguous indexes, `$natural`, hints on views, and forced multikey traversal fail explicitly. The NoSQL client accepts model-declared index names and `_id_`; use its finite `getOffsetPage()` API for pages in an owned transaction. `inspectNamespace()` provides bounded catalog and document-count observations without creating collections or indexes. Set `documentCountMode: 'exact'` for unrestricted counts, including collections above 10,000 records; existing work and time budgets still apply. Its result is observational, so callers still need fencing or quiescence when they require a stable namespace.\n\nWorkload aggregations run on the engine as sent. NoSQLDB 10.5.0 evaluates a composite `$group` key such as `{ _id: { owner: '$owner', repo: '$repo' } }` per document, so the client's two-field `getGroupedTotals()` returns one row per distinct pair. A `$group` key or accumulator operand that uses an operator the engine does not implement, an unsupported accumulator, or a field beside `_id` that is not a single-accumulator document is refused with `TypeMismatch` (code 14) before any document is read. A composite key member whose field is absent is reported as `null` and stays part of the key, where MongoDB omits the member. The owning [NoSQLDB aggregation documentation](https://code.foss.global/lossless.org/nosqldb#aggregation-pipeline) lists the supported operators and accumulators.\n\n## Runtime Layout\n\nDefault data root:\n\n```text\n/data/corestore\n```\n\nInside that root Corestore creates:\n\n| Path | Purpose |\n| --- | --- |\n| `smartdb/` | NoSQLDB file storage, user data, and the authoritative binding, database-mutation, and ObjectStorage provider-lineage registries Corestore writes through its NoSQL client. |\n| `smartstorage/` | S3-compatible object data. |\n| `volumes/` | Docker volume mountpoints. |\n| `volume-archive/` | ContainerArchive repository for volume snapshots. |\n| `restore-staging/` | Bounded archive objects staged for isolated restores. |\n| `restore-control-locks/` | Durable isolated-restore lease and fencing records. |\n| `restore-control-state/` | Durable isolated-restore state and mutation receipts. |\n| `resource-mutation-locks/` | Existing per-target local and cross-process exclusion records. |\n| `resource-mutation-state/` | Existing local coordinator counters. Provider fence lineage and token claims live in the NoSQLDB control models. |\n| `database-export-package-locks/` | Durable offline-package attempt leases and fencing records. |\n| `database-export-package-state/` | Fsynced offline-package preparing, completion, and release state. |\n| `database-export-package-artifacts/` | Private per-attempt repositories, inputs, and retained closures. |\n| `database-export-package-capacity/` | Durable fixed-slot reservations that bound concurrent and retained package artifacts. |\n| `corestore-manifest.json` | Service-resource, volume, and snapshot manifest. It is not authoritative for named storage bindings. |\n| `corestore-secret.json` | Persisted master secret and derived admin credentials. |\n\nCorestore requires its data root and the package lock, state, artifact, and capacity roots to be real directories owned by the effective process user. It hardens accepted roots to mode `0700` and refuses symlinks, foreign ownership, or paths that change identity during startup validation.\n\nThe master secret is generated on first start unless `CORESTORE_MASTER_SECRET` is provided. Database tenant credentials are derived from the service id; named object-storage credentials are derived independently from each stable binding id and are never persisted in binding records.\n\n## Configuration\n\n| Env var | Default | Purpose |\n| --- | --- | --- |\n| `CORESTORE_DATA_DIR` | `/data/corestore` | Persistent data root. |\n| `CORESTORE_BIND_ADDRESS` | `0.0.0.0` | Bind address for control, S3, and DB endpoints. |\n| `CORESTORE_PUBLIC_HOST` | `corestore` | Hostname written into generated service credentials. |\n| `CORESTORE_CONTROL_PORT` | `3000` | Control API port. |\n| `CORESTORE_S3_PORT` | `9000` | S3 endpoint port. |\n| `CORESTORE_OBJECT_STORAGE_POOLS_JSON` | unset | Strict JSON for additional local or host-mounted NFS object-storage pools. |\n| `CORESTORE_DB_PORT` | `27017` | NoSQLDB MongoDB-wire endpoint port. |\n| `CORESTORE_REGION` | `us-east-1` | Region value for S3 credentials. |\n| `CORESTORE_API_TOKEN` | unset | Required 32–4096 byte control token; configure this or `CORESTORE_API_TOKEN_FILE`, never both. |\n| `CORESTORE_API_TOKEN_FILE` | unset | Alternative file containing the control token, with one optional trailing newline. |\n| `CORESTORE_RESTORE_GRANT_KEYRING_FILE` | unset | JSON keyring containing trusted RSA public keys for isolated-restore grants. |\n| `CORESTORE_RESTORE_GRANT_ISSUER` | unset | Exact expected `iss` claim for isolated-restore grants. |\n| `CORESTORE_RESTORE_GRANT_AUDIENCE` | unset | Exact expected `aud` claim for isolated-restore grants. |\n| `CORESTORE_CLUSTER_ID` | unset | Cluster identity to which isolated-restore grants must be bound. |\n| `CORESTORE_NODE_NAME` | unset | Node identity to which isolated-restore grants must be bound. |\n| `CORESTORE_ISOLATED_RESTORE_LEASE_MS` | `3600000` | Durable restore/resource mutation lease duration in milliseconds. |\n| `CORESTORE_DATABASE_EXPORT_PACKAGE_LEASE_MS` | `3600000` | Durable offline-package attempt lease duration in milliseconds. |\n| `CORESTORE_DATABASE_EXPORT_PACKAGE_MAX_RETAINED_BYTES` | `1073741824` | Aggregate package admission ceiling; it must be a positive safe integer yielding between 1 and 4,096 full 256 MiB slots (minimum `268435456`). A remainder below one full slot is discarded. |\n| `CORESTORE_MASTER_SECRET` | generated and persisted | Seed for deterministic tenant credentials. |\n| `CORESTORE_DB_ROOT_USER` | `corestore_root` | NoSQLDB root username. |\n| `CORESTORE_DB_ROOT_PASSWORD` | derived or persisted | NoSQLDB root password override. |\n| `CORESTORE_S3_ADMIN_ACCESS_KEY_ID` | derived or persisted | ObjectStorage admin access key override. |\n| `CORESTORE_S3_ADMIN_SECRET_ACCESS_KEY` | derived or persisted | ObjectStorage admin secret override. |\n| `CORESTORE_VOLUME_PLUGIN_SOCKET` | `/run/docker/plugins/corestore.sock` | Docker VolumeDriver socket path. |\n| `CORESTORE_ARCHIVE_PASSPHRASE` | unset | Optional ContainerArchive encryption passphrase. |\n| `CORESTORE_VERBOSE` | `false` | Enables verbose ObjectStorage logging when set to `true`. |\n\nCorestore refuses to start unless exactly one control-token source is configured. Tokens must contain no whitespace. The file form must be a regular, non-symlink file and is preferable when the orchestrator can mount secrets. Every TCP control API endpoint except `GET /health` requires exactly one `Authorization: Bearer <token>` header; the legacy `x-corestore-token` header is rejected.\n\nThe five isolated-restore settings must be configured together to enable signed restore grants. Partial configuration prevents startup; leaving all five unset keeps ordinary Corestore APIs available but makes isolated-restore operations unavailable. The keyring has this exact shape:\n\n```json\n{\n  \"keys\": [\n    {\n      \"kid\": \"restore-key-1\",\n      \"publicPem\": \"-----BEGIN PUBLIC KEY-----\\n...\\n-----END PUBLIC KEY-----\\n\"\n    }\n  ]\n}\n```\n\n### Object-storage pools\n\nThe implicit `default` pool preserves the existing local ObjectStorage identity at `<CORESTORE_DATA_DIR>/smartstorage` and `CORESTORE_S3_PORT`. Additional pools are configured by `CORESTORE_OBJECT_STORAGE_POOLS_JSON`. Each pool has a unique endpoint, physical root, backend identity, and one or more portable policy classes. Corestore starts and reconciles one ObjectStorage provider per pool.\n\nExample host-mounted NFS capacity pool:\n\n```json\n{\n  \"pools\": [\n    {\n      \"id\": \"archive-hdd\",\n      \"port\": 9001,\n      \"directory\": \"/storage-pools/archive-hdd\",\n      \"backend\": {\n        \"kind\": \"mountedFs\",\n        \"expectedFilesystemType\": \"nfs\",\n        \"expectedSource\": \"192.0.2.10:/volume1/onebox\"\n      },\n      \"classes\": [\n        {\n          \"classId\": \"onebox.object-storage.capacity.v1\",\n          \"revision\": \"1\",\n          \"kind\": \"objectStorage\",\n          \"performanceTiers\": [\"capacity\"],\n          \"durabilities\": [\"persistent\"],\n          \"topologies\": [\"singleNode\"],\n          \"hardQuota\": false,\n          \"snapshotModes\": [\"none\"],\n          \"backup\": false,\n          \"encryptedInTransit\": false,\n          \"accessModes\": [\"readWrite\"],\n          \"versioning\": false,\n          \"retention\": true\n        }\n      ]\n    }\n  ]\n}\n```\n\nThe host must mount NFS before Corestore starts and bind-mount the exact mount root into the Corestore container at the configured `directory`. Corestore does not mount remote filesystems itself. Mounted pools require an exact numeric IPv4 `server:/absolute/export` source and the Linux `nosymfollow` VFS option. NFS server-coordinated locking must remain enabled: `nolock` and `local_lock=all|flock` are rejected, while an absent `local_lock` option, `local_lock=none`, or `local_lock=posix` is accepted. ObjectStorage validates the mount type, source, mountpoint, remote locking, symlink policy, and publication primitives before accepting traffic. A missing, replaced, or mismatched mount fails startup instead of writing into the underlying local directory.\n\nPool ids, ports, directories, class revisions, and backend identities are persisted as an immutable catalog. Once a pool is adopted, its definition cannot be changed or removed, even when no live binding currently refers to it; adding a class revision to that existing pool also changes its immutable identity and is rejected. Add a new pool containing the new class revision and use the fenced migration protocol when physical placement must change.\n\n## Starting Corestore\n\nInstall the published package in a consumer:\n\n```sh\npnpm add @serve.zone/corestore @serve.zone/interfaces@32.15.0\npnpm exec corestore\n```\n\nFor a repository checkout:\n\n```sh\npnpm install\npnpm build\npnpm start\n```\n\nFor TypeScript development:\n\n```sh\npnpm run startTs\n```\n\nProgrammatic startup:\n\n```ts\nimport { CoreStore } from '@serve.zone/corestore';\n\nconst corestore = new CoreStore({\n  dataDir: '/var/lib/serve.zone/corestore',\n  apiTokenFile: '/run/secrets/corestore-api-token',\n  restoreGrantKeyringFile: '/run/secrets/corestore-restore-keyring.json',\n  restoreGrantIssuer: 'https://cloudly.example',\n  restoreGrantAudience: 'corestore.restore',\n  clusterId: 'cluster-1',\n  nodeName: 'node-1',\n});\n\nawait corestore.start();\n```\n\n### Prepared filesystem volume adoption\n\n`adoption.js` is the private offline owner entrypoint for one\n`adoptPreparedFleetCutoverVolume` request from Pallet. Pallet must already hold the exact durable\n`TFleetCutoverVolumeFence` and its per-volume native mutation lane. The old Corestore and every\nlegacy writer must remain stopped for the whole invocation. Put the request object, with exactly\n`handoffIntent` and `palletFence`, in a bounded mode-0600 regular JSON file, then run:\n\n```sh\nCORESTORE_DATA_DIR=/data/corestore \\\nCORESTORE_STORAGE_ADOPTION_REQUEST_PATH=/run/corestore/adoption-request.json \\\nnode adoption.js\n```\n\n`CORESTORE_DB_ROOT_USER` may name the existing control-store root user; it defaults to\n`corestore_root`. The password is read only from the protected `corestore-secret.json` in the data\nroot.\n\nThe command writes only the JSON `{ \"adoption\": ..., \"claim\": ... }` response to stdout and sends\ndiagnostics to stderr. It starts no Corestore service, HTTP endpoint, S3 provider, object-storage\nplugin, or callback. It opens the local control database through a private temporary Unix socket\nwith `fileStorageStartup: \"existing-only\"`, writes the ready binding, private physical lineage,\nexclusive volume/claim owner, full claim and public adoption receipt in one transaction, closes\nevery handle, and removes the socket.\n\nThe data root must be the canonical mode-0700 root owned by the effective user. Its protected\nmanifest and secret must be ordinary private files, the manifest mount must select exactly one\nexisting unmounted volume, and that volume must contain at least one nonempty regular-file payload;\nan empty directory, directories only, or zero-length files only cannot be adopted. `smartdb/` must\nalready be a committed current NoSQLDB root. The one-shot never converts a legacy database engine\nand never creates an empty control store. Complete and verify the documented whole-owner engine\nconversion, including its authenticated old-source envelope preflight, before filesystem adoption.\nA missing, old, mixed, empty, or still-open root is rejected.\n\nAn exact request replay returns the durable original claim and receipt after rechecking the same\nmanifest and physical volume. A changed handoff, fence, claim, manifest, physical lineage, or a\nsecond owner for the volume fails closed. Normal Docker VolumeDriver create, mount, unmount and\nremove operations refuse an adopted volume; Pallet remains the owner of later native attachment\ntransitions and of consuming the held fence.\n\n### Offline MongoDB-wire migration\n\nThe image includes one explicit operator migration that copies a stopped workload's database from a MongoDB-wire-compatible source into Corestore's NoSQLDB backend. The migration is not part of normal startup. First provision the target through Corestore's normal database resource API while Corestore is running, but do not deliver its credentials to the workload. Then stop Corestore and fence every source writer. The migration requires that exact NoSQLDB tenant and its already-durable manifest entry, reads the manifest without rewriting it, replaces an empty target or resumes an exact replay behind NoSQLDB's durable publication hold, releases publication, and verifies canonical BSON documents and complete index definitions. The source database may contain no collections. The migration persists through Corestore's normal database-mutation coordinator, so provision, migration, later snapshot/restore, and deprovision remain in one durable fence lineage. An exact replay with the same migration id and fencing token returns the same released result.\n\nThe migration rejects collection options and index kinds or options that NoSQLDB cannot enforce. It also fails closed above a 96 MiB serialized export, 10,000 collections, 1,000,000 documents, or 100,000 indexes. Fix and release a missing NoSQLDB capability before retrying; split a larger migration through an explicitly reviewed process instead of weakening this preflight.\n\nIf the running Corestore uses `CORESTORE_CLUSTER_ID` and `CORESTORE_NODE_NAME`, the offline migration requires those same values so its NoSQLDB fence remains in the existing resource-mutation scope. Configure both or neither.\n\n```sh\nCORESTORE_MIGRATION_SOURCE_FENCED=true \\\nCORESTORE_MIGRATION_CORESTORE_STOPPED=true \\\nCORESTORE_MIGRATION_TARGET_CREDENTIALS_UNDELIVERED=true \\\nCORESTORE_MIGRATION_SOURCE_MONGODB_URI='<protected MongoDB URI>' \\\nCORESTORE_MIGRATION_SOURCE_DATABASE='<source database>' \\\nCORESTORE_MIGRATION_SERVICE_ID='<stable service id>' \\\nCORESTORE_MIGRATION_SERVICE_NAME='<service name>' \\\nCORESTORE_MIGRATION_ID='<stable migration id>' \\\nCORESTORE_MIGRATION_FENCING_TOKEN='<positive integer>' \\\npnpm run migrate:legacy-mongodb-to-smartdb\n```\n\n`CORESTORE_DATA_DIR`, `CORESTORE_PUBLIC_HOST`, and `CORESTORE_DB_PORT` select the target Corestore instance and keep their normal defaults. Never place the source URI in logs or committed configuration.\n\n### Whole-owner SmartDB 5 to NoSQLDB 10 conversion\n\n`migration.js` also supports a versioned whole-owner engine conversion for a Corestore data root written by SmartDB 5. It is an offline operator operation, never an automatic startup fallback. `engine-source-inventory` reads the protected manifest and MongoDB-wire namespace list and reports only owned database names and allocation status. It requires an exact match between `corestore_control`, every manifest-owned database, and the wire inventory; an unowned database or an `admin` collection refuses conversion. `engine-source-export` exports the control database and every ordinary tenant through bounded read-only wire operations into a new mode-0600 artifact. It preserves canonical BSON numeric widths and complete supported index specifications, including TTL seconds. A preliminary export with `CORESTORE_ENGINE_SOURCE_FENCED=false` is for rehearsal only.\n\nFor an authoritative export, stop all workload writers, establish the orchestrator's source fence, and set `CORESTORE_ENGINE_SOURCE_FENCED=true`. Keep the old Corestore wire endpoint available for that export, then stop Corestore. Preserve a separate verified checkpoint. Copy the complete non-database Corestore data root to an isolated stage, including `corestore-manifest.json`, `corestore-secret.json`, object storage, volumes, and coordinator state; leave `smartdb` absent in the stage. The export artifact and staged root contain private data. Do not deliver target credentials or activate the target during conversion. The stage command refuses any allocation-managed database; finish its owning operation or use its exact supported deprovision/transfer contract first.\n\nGeneric and preliminary wire exports retain a database-wide snapshot transaction. Only an\nauthoritative whole-owner export with both `CORESTORE_ENGINE_SOURCE_FENCED=true` and a validated\nsource digest proof uses bounded nontransactional pages. SmartDB 5 intentionally caps the bytes and\ndocuments materialized by one find, so the converter retries only that exact capacity refusal with a\nstrictly smaller page and discards the complete failed page attempt. It never falls back from a\nsnapshot error. The fenced page order is valid only while the old physical engine is immutable; the\nconverter requires equal collection counts before and after each collection, complete page totals,\nan unchanged collection/index catalog, and exact owner-digest totals. The orchestrator must still\nprove the authenticated old-owner digest is identical before and after export.\n\n```sh\npnpm run migrate:engine-source-inventory\npnpm run migrate:engine-source-export\npnpm run migrate:engine-stage\npnpm run migrate:engine-activate\n```\n\nInventory and export require `CORESTORE_ENGINE_SOURCE_MANIFEST_PATH` and `CORESTORE_ENGINE_SOURCE_SECRET_PATH` in the same read-only mounted source root, plus `CORESTORE_ENGINE_SOURCE_HOST` and `CORESTORE_ENGINE_SOURCE_DB_PORT`. Set `CORESTORE_ENGINE_SOURCE_DB_ROOT_USER` only when the source used a non-default root user. The converter derives the protected wire URI in memory; never pass credentials through Docker environment or command arguments. Export additionally requires an absolute, initially nonexistent `CORESTORE_ENGINE_EXPORT_PATH` and explicit `CORESTORE_ENGINE_SOURCE_FENCED=true` or `false`. Stage reads that private artifact and requires absolute `CORESTORE_ENGINE_STAGE_DATA_DIR` and initially nonexistent `CORESTORE_ENGINE_STAGE_RECEIPT_PATH`, stable `CORESTORE_ENGINE_MIGRATION_ID`, `CORESTORE_PUBLIC_HOST`, `CORESTORE_DB_PORT`, `CORESTORE_S3_PORT`, `CORESTORE_REGION`, and all three assertions `CORESTORE_ENGINE_SOURCE_FENCED=true`, `CORESTORE_ENGINE_CORESTORE_STOPPED=true`, and `CORESTORE_ENGINE_TARGET_CREDENTIALS_UNDELIVERED=true`. Supply the runtime's exact `CORESTORE_CLUSTER_ID`/`CORESTORE_NODE_NAME` pair and `CORESTORE_OBJECT_STORAGE_POOLS_JSON` when configured.\n\nSmartDB 5 can expose an empty physical `system.views` catalog while refusing wire `listIndexes` and reads on it. The converter preserves that namespace and its canonical `_id_` index only with an orchestrator-owned source digest proof. Set `CORESTORE_ENGINE_SOURCE_DIGEST_PROOF_PATH` to the private, exact mode-0600 proof file and `CORESTORE_ENGINE_MIGRATION_ID` to its migration identity for `engine-source-export`. The proof has format `onebox.corestore-engine.source-digest-proof.v1`, binds the checkpoint, source container/image, manifest hash and database names, and contains authenticated old-owner `smartdb.database.content-digest.v1` entries for every ordinary tenant. The orchestrator must obtain those entries through the fenced old Corestore owner's digest endpoint, journal the exact proof bytes and SHA-256 before export, then repeat the digest reads and require equality afterward. Corestore verifies the proof's shape and exact inventory and independently checks collection, document and index totals for every proved ordinary tenant, including one without `system.views`; it cannot authenticate proof authorship by itself. A missing, nonempty, changed or uncertain catalog refuses conversion. The private export artifact retains `sourceDigestProof: { proof, sha256 }`; its value-free stdout summary reports `sourceDigestProofSha256` for the orchestrator's journal check.\n\nThe old engine stores the catalog `_id_` index as `{name,key}` but its wire `listCollections.idIndex` reports `{v:2,key,name}`. The converter uses that canonical wire metadata and compares the complete transformed collection set against the held target readback. It does not compare old-owner and target content-digest SHA values across this metadata normalization; the orchestrator instead requires identical authenticated old-owner digests before and after export.\n\nStage imports `corestore_control` into a fresh NoSQLDB root, verifies it, runs the ordered Corestore control-data migrations, then ensures every ordinary tenant and imports it through Corestore's durable database-mutation coordinator. It independently reads each tenant through the exact held-publication capability and compares canonical BSON documents and index definitions with the fenced source. The stage command writes each value-free held receipt and digest into the new private mode-0600 receipt file and returns its SHA-256 in the stdout summary; the orchestrator durably journals that hash before proceeding. Stage refuses any control-database TTL index because control migrations require its data plane while tenant holds remain closed. A failed or interrupted stage is discarded in full and recreated from the checkpoint and fenced export; never activate a partial stage.\n\n`engine-activate` requires the same staged root, fenced export, migration identity, runtime endpoint and cluster identity, plus `CORESTORE_ENGINE_STAGE_RECEIPT_PATH` pointing at that exact private result and `CORESTORE_ENGINE_ACTIVATE=true`. It reopens the same physical NoSQLDB root, checks the migrated control digest and independently re-exports every still-held tenant before releasing any tenant. Released tenants from an interrupted activation must match their durable held-receipt hash; exact retry resumes the remaining holds. Activation is the deliberate publication step; only then may the orchestrator start the isolated Corestore runtime, qualify native tenant ownership and object access, and reconcile resource consumers. The converter does not copy object bytes itself or rotate previously delivered credentials.\n\nEach database export is limited to 96 MiB, 10,000 collections, 1,000,000 documents, and 100,000 indexes; the whole owner is limited to 256 MiB of serialized database export. Collection options, index kinds or options that the target engine cannot enforce, active allocations, or larger owners require an owning migration capability before conversion. These refusals never authorize dropping data or weakening equality checks.\n\n### Converting a Corestore 3.0.0 root (SmartDB 2.14.8)\n\nA Corestore 3.0.0 root has SmartDB 2.14.8 under `smartdb/`, SmartStorage 8.0.4 under `smartstorage/` (the byte layout ObjectStorage 10.3.1 reads unchanged, including `.smartstorage/retention` and every object's `.retention.json`), a manifest with `version: 1`, lease files with `version`, the 3.0.0 pool catalog, and credential-slot, secret-bundle and schema-2 storage-binding collections. The same inventory, export, stage and activate operations convert it; stage runs the control-data migrations that rewrite all of that. Legacy resources remain in the manifest and move to credential bindings through an authorized adoption (see [Runtime credential bindings](#runtime-credential-bindings)).\n\nSmartDB 2.14.8 differs from SmartDB 5 in three ways the procedure has to absorb:\n\n- **No owner digest endpoint.** 2.14.8 cannot supply the source digest proof, so an export with `CORESTORE_ENGINE_SOURCE_FENCED=true` takes a database-wide snapshot per database instead. The proof that nothing wrote during the export is a second fenced export: `pnpm run migrate:engine-source-export-compare` with `CORESTORE_ENGINE_EXPORT_PATH` and `CORESTORE_ENGINE_COMPARE_EXPORT_PATH` reports each database's collection-set SHA-256 from both private artifacts and exits non-zero unless both are fenced, cover the same inventory and manifest, and every collection set is identical. Stage only the first artifact, and only after the comparison answers `identical`.\n- **Anti-clone identity.** 2.14.8 binds its provider identity and resource-fence registry to the storage root's path, device and inode, and refuses any copied root with `EFENCE_STATE_CORRUPT`. Export either from the original engine while its writers are fenced, or from a disposable copy whose `smartdb/.__rustdb_internal/provider-identity.json` and `smartdb/.__rustdb_internal/resource-fencing/` were removed. The conversion never reads that registry; the new NoSQLDB root establishes its own fences. Never remove them from the original root.\n- **Identity-bound roots.** Stage and activate need the old root's `CORESTORE_PUBLIC_HOST` and `CORESTORE_DB_PORT` (the manifest's credentials embed them), and the converted runtime needs the same data path (the pool catalog records it, `/data/corestore` in the image) and the same `CORESTORE_S3_PORT`. Leave `CORESTORE_CLUSTER_ID` and `CORESTORE_NODE_NAME` unset when 3.0.0 ran without them: the runtime then reproduces 3.0.0's fence scope (`clusterId` `local`, `targetNodeName` = public host), and an adopted bucket continues in that lineage.\n\nCopy `smartstorage/` byte for byte (`cp -a` or `tar` preserving modes); only a byte-exact copy keeps every retain-until. Verify it before and after conversion with a tree hash, for example `(cd smartstorage && find . -type f -print0 | sort -z | xargs -0 sha256sum) | sha256sum`, which must be identical for the source copy and the staged root. After activation and the first start, compare every legacy bucket through S3 as well: list each bucket with the adopting binding's credential and compare key, size and ETag with the same listing taken from the source with the legacy credential before conversion.\n\n## Upgrading from 7.0.0\n\nThis release renames every version-bearing token Corestore owns, so values it already wrote have to\nbe rewritten before the runtime can read them. Corestore does that itself: the first start of 32.0.0\nruns `ts_migration/runner.ts` after the control database opens and before any coordinator reads its\non-disk state. Every step is idempotent, its completion is recorded in the `CoreStoreDataMigration`\ncollection, and a step that meets state it cannot rewrite refuses start-up by name without changing\nanything. A second start is a no-op; an interrupted start resumes where it stopped.\n\nWhat migrates automatically:\n\n| Step | What it rewrites |\n| --- | --- |\n| `storage-binding-fields` | Drops `schemaVersion` from the record and its resolved binding, renames the storage class id and the object-storage file delivery `format`, and recomputes `requestDigest`, `specDigest`, `intentDigest` and `serviceRequestKey` with the runtime's own digest functions. |\n| `credential-binding-fields` | Drops `schemaVersion` from the record, the binding request and the publication grant, recomputes `bindingRequestDigest`, and carries it into the grant and into the object-storage retention evidence. That evidence loses the `version` this release added to its capability evidence, and its `intentSha256` is re-derived because the digest input dropped a `version` member; the provider's own sentinel `version` is kept verbatim. |\n| `database-mutation-fields` | Drops `schemaVersion` and renames the portable payload `format`. It deliberately leaves `requestSha256`, `replaceHistory[].requestSha256` and `smartDbFence` untouched — see below. |\n| `storage-pool-catalog-fields` | Drops `schemaVersion`, renames the class keys and adopts the pool's current `configDigest`, but only while the pool's durable `providerIdentity` still matches the configuration. |\n| `filesystem-volume-options` | Drops `version` from `corestore-manifest.json` and rewrites every Corestore-owned volume's `servezone.storage.*` options to the migrated binding's digest. |\n| `coordinator-protocol-trees` | Collects the lease trees 7.0.0 wrote. Its claims, release markers, commit receipts and export-package capacity reservations carry a `version` member this release refuses, and the export-package coordinator reads them on every start, so a data directory that keeps them cannot start at all. |\n\nPreconditions, all of them checked before the first step writes anything:\n\n- **Quiesce database mutations.** Commit or release every held publication before stopping 7.0.0. A\n  held publication is a NoSQLDB barrier only the issuing release can clear: its held receipt is\n  rebuilt from `requestSha256` and the payload format, both of which this release states\n  differently.\n- **No isolated restore still owns its staging directory.** A restore's coordinator configuration\n  and resource-lease identities both change, so a staged run cannot be resumed across the upgrade,\n  and collecting the 7.0.0 lease trees leaves the start-up sweep no state to read. Only a staging\n  directory whose latest durable state is present and not `cleaned` refuses; the named recovery is\n  to finish that restore under 7.0.0, or to remove the named directory under `restore-staging`.\n  Directories the release already cleaned, and the lock directories left behind under\n  `resource-mutation-locks`, are garbage the migration collects; they are never converted.\n- **No object-storage migration records.** A live object-storage migration is a two-party protocol:\n  its consumer holds `migrationDigest`, `candidateDigest` and the snapshot digests and sends them\n  back. Complete or abort every migration and clear its records first.\n- **7.0.0 database backup receipts are re-exported, not converted.** Their `format` is now\n  `corestore.database.backup`, which the receipt reader does not recognise. Take a fresh export with\n  this release instead; a re-issued receipt for the same backup replays onto the same `restoreId`.\n- **Clients request new read grants after the restart.** Nothing about a read-access grant is\n  persisted, NoSQLDB retires every active grant when its engine restarts, and the credentials derive\n  from a renamed HMAC domain. Ask for a new `grantId`; do not replay the old one.\n\nThe refusals read as the precondition that was missed, with the records that caused them:\n\n```\ncorestore-migration-database-mutation-held-publication: 1 database mutation(s) hold a NoSQLDB\npublication that only the issuing release can commit or release; commit or release them before\nupgrading (<targetResourceId>)\n\ncorestore-migration-isolated-restore-in-flight: an isolated restore is staged by a release whose\ncoordinator configuration and resource lease identities this upgrade renames; finish the restore\nunder that release, or remove its staging directory under <dataDir>/restore-staging (<restoreId>)\n\ncorestore-migration-object-storage-migration-records-present: 1 object-storage migration record(s)\nand 0 migration object record(s) were written by a release whose digests this upgrade renames;\ncomplete or abort every object-storage migration and clear its records before upgrading\n```\n\n`corestore-migration-storage-binding-unmigratable`,\n`corestore-migration-credential-binding-unmigratable`,\n`corestore-migration-credential-operation-claim-unmigratable`,\n`corestore-migration-database-mutation-unmigratable` and\n`corestore-migration-filesystem-volume-unowned` name a single record that does not validate in its\n32 shape after the rewrite; each carries the record's identity and the underlying contract error as\nits cause.\n\nWhy the database fence is not rewritten: NoSQLDB pins a database's durable fence scope at the\nrecord's current token, and the record reader binds `smartDbFence` to the provider receipt inside\n`heldResult` / `releasedResult`. Rewriting the scope would either be refused at the current token or\nrequire forging that receipt. Left as written, the next mutation takes `token + 1`, and the strictly\nnewer token carries the new scope. The cost is that replaying a **pre-upgrade** `restoreId` answers\n409 `database backup restore identity does not match durable state`, because the history entry keeps\nonly the digest and not the request it was computed from.\n\n## Control API\n\n`GET /health` is always unauthenticated:\n\n```sh\ncurl http://corestore:3000/health\n```\n\nAll other control endpoints require exactly one `Authorization: Bearer <token>` header.\n\nUseful endpoints:\n\n| Method | Path | Purpose |\n| --- | --- | --- |\n| `GET` | `/health/details` | Returns authenticated component-level health details. |\n| `GET` | `/metrics` | Returns database, object storage, and volume metrics. |\n| `GET` | `/control/storage/capabilities` | Advertises enforced portable storage guarantees and exact policy revisions. |\n| `POST` | `/control/credential-bindings/reconcile` | Reconciles one Interfaces 32 value-free credential binding under its exact publication grant. |\n| `GET` | `/control/credential-bindings?serviceId=<id>` | Lists secret-free credential binding status, optionally for one service. |\n| `GET` | `/control/credential-bindings/<id>` | Returns one secret-free credential binding status. |\n| `POST` | `/control/credential-bindings/<id>/material` | Returns grant-bound plaintext material with `Cache-Control: no-store` and `Pragma: no-cache`. |\n| `POST` | `/control/credential-bindings/<id>/retain` | Permanently marks an omitted or disabled binding retained without deleting its provider resource. |\n| `GET` | `/control/legacy-resources` | Lists every service's legacy `/resources/provision` resources and their adoption state, value-free (`ICorestoreLegacyResourceInventory`). |\n| `POST` | `/control/ordinary-credentials/rotate` | Rotates one legacy manifest resource under a durable generation and returns a value-free receipt. |\n| `POST` | `/control/ordinary-credentials/material` | Returns current, provider-attested resource environment material for an exact active rotation receipt; never cache it. |\n| `POST` | `/control/storage/bindings/reconcile` | Idempotently reconciles one stable named binding. |\n| `GET` | `/control/storage/bindings?serviceId=<id>` | Lists canonical secret-free bindings for a service. |\n| `GET` | `/control/storage/bindings/<id>` | Gets one canonical secret-free binding. |\n| `POST` | `/control/storage/bindings/<id>/credentials` | Returns object-storage credential material to the authenticated adapter with `Cache-Control: no-store`. |\n| `POST` | `/control/storage/bindings/<id>/release` | Applies the binding's declared retain/delete policy and persists a tombstone. |\n| `GET` | `/control/storage/bindings/<id>/migration-snapshot` | Captures the exact unfenced source binding snapshot required to prepare a migration. |\n| `POST` | `/control/storage/migrations/prepare` | Fences the source and prepares a hidden destination binding on a different pool. |\n| `GET` | `/control/storage/migrations/<id>` | Returns the durable migration phase and required consumer action. |\n| `POST` | `/control/storage/migrations/<id>/quiesce` | Accepts bound quiesce evidence, seals the source, verifies the destination, and performs the durable cutover. |\n| `POST` | `/control/storage/migrations/<id>/activation` | Accepts bound evidence that the consumer started on the destination. |\n| `POST` | `/control/storage/migrations/<id>/cleanup` | Performs fenced source cleanup after destination activation. |\n| `POST` | `/control/storage/migrations/<id>/abort` | Aborts a pre-cutover migration through its exact recovery contract. |\n| `POST` | `/control/storage/migrations/<id>/resume` | Resumes a retryable phase without bypassing its durable fence. |\n| `GET` | `/volumes` | Lists managed Docker volumes. |\n| `GET` | `/volumes/snapshots?name=<volume>` | Lists snapshots for one volume or all volumes. |\n| `POST` | `/volumes/create` | Creates or updates a named managed volume. |\n| `POST` | `/volumes/remove` | Removes an unmounted volume. |\n| `POST` | `/volumes/snapshot` | Creates a ContainerArchive snapshot of a volume. |\n| `POST` | `/volumes/restore` | Restores a snapshot into a volume. |\n| `GET` | `/resources` | Lists provisioned per-service DB/S3 resources, but fails closed when any database is allocation-managed or quarantined because this broad route cannot carry an expected reference. |\n| `POST` | `/resources/status` | Returns exact service-resource status and is allocation-aware through `expectedDatabaseAllocation`. |\n| `POST` | `/resources/provision` | Provisions database and/or object storage for a service. |\n| `POST` | `/resources/deprovision` | Deletes provisioned DB/S3 resources for a service. |\n| `POST` | `/resources/database/digest` | Computes a bounded canonical content digest for exactly one service-owned or credential-binding-owned NoSQLDB database. |\n| `POST` | `/resources/database/read-access-grant/issue` | Issues or exactly replays one fixed-expiry read-only credential for an allocated database. |\n| `POST` | `/resources/database/read-access-grant/revoke` | Idempotently revokes one allocation-bound read-only credential. |\n| `POST` | `/resources/database/export` | Exports exactly one service-owned NoSQLDB database as a bounded portable payload. |\n| `POST` | `/resources/database/import` | Replaces a pre-provisioned service database under a durable fence and returns a held-publication receipt. |\n| `POST` | `/resources/database/import/commit` | Releases the exact held database only after the orchestrator durably records its receipt. |\n| `POST` | `/resources/database/backup/export` | Streams one selected service database as a bounded portable ContainerArchive closure. |\n| `POST` | `/resources/database/backup/package` | Packages one exact offline NoSQLDB database export into a durable, replayable selected closure. |\n| `POST` | `/resources/database/backup/package/release` | Releases one completed package only after the caller reports fsynced closure and receipt identities. |\n| `POST` | `/resources/database/backup/restore` | Verifies a selected closure in isolated staging and durably restores it into a pre-provisioned target database. |\n| `POST` | `/resources/snapshot` | Snapshots service DB/S3 resources. |\n| `POST` | `/resources/restore` | Restores service DB/S3 resources. |\n| `POST` | `/archive/manifest` | Returns a manifest for the local archive repository. |\n| `POST` | `/archive/object/read` | Reads an archive object as base64 with size and SHA-256. |\n| `POST` | `/archive/object/write` | Writes a validated archive object from base64. |\n| `POST` | `/archive/prune` | Prunes archive data under configured retention and free-space bounds. |\n| `POST` | `/isolated-restore/prepare` | Validates an operation-scoped grant, mappings, and archive manifest, then creates durable fenced state. |\n| `POST` | `/isolated-restore/archive/object/write` | Writes one bounded archive object chunk under a `write-object` grant. |\n| `POST` | `/isolated-restore/execute` | Restores only the grant-authorized scratch resources. |\n| `POST` | `/isolated-restore/status` | Returns sanitized durable progress under a `status` grant. |\n| `POST` | `/isolated-restore/cleanup` | Cleans staged artifacts under a `cleanup` grant while preserving durable fencing evidence. |\n\nOrdinary credential rotation accepts `{serviceId, capability, operationId, expectedGeneration}` for a manifest-owned `database` or `objectstorage` resource. A resource with no rotation record starts at generation 0. An exact operation retry returns the same value-free receipt; the separate material route accepts `{receipt}` and returns the current provider-attested environment only while that receipt is active. Deprovision retires the generation before deleting the provider resource, recovers either side of manifest publication on restart, and revokes old material receipts. Reprovision retains the last generation so it cannot silently return to generation-0 credentials.\n\nProvision resources for a service:\n\n```sh\ncurl -X POST http://corestore:3000/resources/provision \\\n  -H 'content-type: application/json' \\\n  -H 'authorization: Bearer <CORESTORE_API_TOKEN>' \\\n  -d '{\"serviceId\":\"svc-123\",\"serviceName\":\"api\",\"capabilities\":[\"database\",\"objectstorage\"]}'\n```\n\nThe response includes service-specific environment variables such as `MONGODB_URI`, `S3_BUCKET`, `AWS_ACCESS_KEY_ID`, and `AWS_ENDPOINT_URL`.\n\n`MONGODB_URI`, `MONGODB_URL`, and the related `MONGO_*` names are intentional: NoSQLDB is the database server, and workloads connect to it through the MongoDB wire protocol. They do not imply that a MongoDB server is running.\n\n### Scratch database allocations\n\nScratch and rehearsal databases are allocated through the database-only `/resources/provision` path. The provisioning body adds `databaseAllocation` with exactly `mode: \"expected-absent\"`, `purpose: \"scratch-rehearsal\"`, and a stable `rehearsalId`; it does not accept `allocationId` or an expected reference. Corestore requires NoSQLDB's authoritative allocation-fencing health contract before recording prepared state, asks NoSQLDB to allocate the tenant, durably fsyncs the manifest binding, and only then returns credentials. The response returns the collision-resistant `allocationId` as part of the safe allocation reference. If the allocation becomes durable but manifest publication fails, provisioning returns HTTP 503 with an explicit restart-recovery instruction; before opening the control API, startup resumes released allocations, prepared allocations whose NoSQLDB lifecycle is still `allocating` or `active`, and completed deletes. Allocation-ownership conflicts quarantine only the affected database and return HTTP 409, while provider unavailability or malformed provider state aborts startup. An exact retry after response loss or restart replays the same allocation; a new rehearsal for the same service advances the allocation generation after the prior tenant has been deprovisioned. Reuse of an allocation or rehearsal identity is rejected.\n\nOrchestrators should import Corestore's canonical allocation normalizers and identity helpers instead of reproducing the protocol rules:\n\n```ts\nimport {\n  coreStoreDatabaseAllocationReferencesEqual,\n  getCoreStoreDatabaseIdentity,\n  normalizeCoreStoreDatabaseAllocationReference,\n  normalizeCoreStoreDatabaseAllocationRequest,\n} from '@serve.zone/corestore';\n```\n\nThese helpers validate the exact allocation request/reference schemas, compare every safe reference field, and derive the same database and username identity used by Corestore provisioning. They do not expose credentials or provider-private allocation evidence.\n\nThe package root also exports `validateCoreStorePersistedDatabaseAllocation`, `getCoreStoreDatabaseAllocationReference`, and `coreStoreSmartDbAllocationIdentitiesEqual` for Corestore-aware provider integrations that already hold the complete persisted allocation record or NoSQLDB allocation identity. General orchestrators should use only the safe request, reference, equality, and database-identity helpers shown above; provider-state helpers accept private allocation structures and must not be used to widen API responses or logs.\n\n```json\n{\n  \"serviceId\": \"Service:scratch-123\",\n  \"serviceName\": \"scratch-123\",\n  \"capabilities\": [\"database\"],\n  \"databaseAllocation\": {\n    \"mode\": \"expected-absent\",\n    \"purpose\": \"scratch-rehearsal\",\n    \"rehearsalId\": \"rehearsal-123\"\n  }\n}\n```\n\nThe safe allocation reference contains only `purpose`, `rehearsalId`, `allocationId`, `generation`, `bindingSha256`, and `receiptSha256`. It intentionally excludes the NoSQLDB principal, publication capability, database URI, password, and provider evidence. Later status, digest, portable export/import/commit, snapshot, ordinary restore, selected database backup export/restore, and deprovision requests use `expectedDatabaseAllocation` and require the exact returned reference whenever the database is allocated. Export operations require the source allocation reference; import, commit, ordinary restore, and backup restore require the target allocation reference. Omitted, malformed, stale, or mismatched references fail before NoSQLDB reads or writes. Existing ordinary databases without allocation metadata retain their ordinary behavior, but Corestore checks NoSQLDB's durable allocation state and quarantines a manifest that omits, corrupts, or conflicts with an active provider allocation instead of treating it as legacy.\n\n### Allocation read access grants\n\nThe grant endpoints accept at most 16 KiB of UTF-8 JSON with exactly `serviceId`, `grantId`, and the active allocation's safe `expectedDatabaseAllocation` reference. They are available only for allocation-managed databases and require the normal bearer control token. Corestore derives the NoSQLDB username and password with domain-separated HMAC-SHA256 over its protected persistent master secret and the exact service, allocation, and grant identity. It does not persist or log those credentials.\n\nIssue returns `serviceId`, `grantId`, the safe `databaseAllocation` reference, `databaseName`, `username`, `authSource`, fixed `roles: [\"read\"]`, `issuedAt`, `expiresAt`, and a Corestore-public-host `mongodbUri`. The URI is the only response field containing the password. An active exact replay returns the same grant; each grant expires after 12 minutes and is not renewable. Revoke returns only `serviceId`, `grantId`, the safe allocation reference, and `revoked: true`.\n\nIssue, revoke, authentication failures, and all error responses use `Cache-Control: no-store`. Grant operations share the database mutation lock with allocation, import, restore, ensure, and deletion. Corestore maps NoSQLDB's exported `EGRANT_*` codes without parsing messages: invalid requests return 400, credential/conflict/replay-capacity failures return 409, and provider-state failures return 503. Unknown or malformed provider failures are sanitized to 503. Request disconnect, shutdown, or the five-minute provider deadline aborts the NoSQLDB management operation; NoSQLDB terminates its engine fail-stop, leaving Corestore unready until the orchestrator restarts it. NoSQLDB retains at most 1,024 retired grant IDs per allocation without eviction and rejects additional IDs when that replay set is full.\n\nIsolated restore consumes that reference. `@serve.zone/interfaces` binds the safe allocation reference into the restore mapping as `IIsolatedRestoreDatabaseMapping.target.databaseAllocation`, and because the mapping is what the restore grant's canonical digest covers, the reference is signed authority rather than a request parameter. `/isolated-restore/prepare` and `/isolated-restore/execute` require a database mapping whose `target.databaseAllocation` is exactly the allocation this Corestore holds whenever the target database is allocation-managed. A missing reference returns HTTP 422 `resourceMappings[<id>].target.databaseAllocation is required for an allocation-managed database`; a reference naming another allocation returns HTTP 422 `... does not match the allocation this corestore holds`; a reference on a database that is not allocation-managed returns HTTP 422 `... names an allocation on a database that is not allocation-managed`. There is no unallocated fallback for an allocated target. The check runs again at execute time for each mapping, so an allocation rotated between prepare and execute is refused before any NoSQLDB mutation. The restore itself runs through the same per-database mutation lock and the same durable NoSQLDB ownership checks as allocation, ordinary restore, ensure, and deletion: the reference is carried into the portable import and its publication commit, and after the commit Corestore re-asserts the claim against both the manifest resource and NoSQLDB's durable allocation state, and refuses the restore if the restored database does not hold the allocation the restore was authorized against. A quarantined target service or quarantined allocation metadata still returns HTTP 409 before any of this. Isolated restore status, archive writes, cleanup, and ordinary unallocated execution are unchanged. Native `/resources/restore` and selected database backup restore support allocated targets as before.\n\n### Portable database handoff\n\nThe portable database endpoints are the database backup and migration boundary. Export resolves the source database only from the requested manifest `serviceId`; import resolves the target database and tenant user only from the pre-provisioned `targetServiceId`. A caller cannot select a target database name or username. For an allocated database, every source descriptor, target, held receipt, and released response carries the safe allocation reference rather than raw provider allocation evidence.\n\n`/resources/database/digest` accepts either `serviceId` or `bindingId`, never both, in a body of at most 16 KiB. `serviceId` resolves the manifest-owned database and, for an allocated database, requires its exact `expectedDatabaseAllocation`; portable export follows the same rule. `bindingId` resolves the database an active credential binding owns from the binding's persisted authority, so an adopted legacy database keeps one digest before and after its manifest entry is removed (`{ \"bindingId\": \"...\" }` accepts no other field). Both resolve through the NoSQLDB durable-ownership boundary. Digest returns the resolved service/resource/database source descriptor, and NoSQLDB's `smartdb.database.content-digest.v1` result. The digest covers collection names, exact BSON document bytes, and persisted index specifications while normalizing enumeration order only. BSON field order and compound-index key order remain significant. Scans are capped at 96 MiB of BSON, 10,000 collections, 1,000,000 documents, and 100,000 indexes. Compare `digest.sha256` and the counters when proving equal content across source and restored databases; do not compare the complete digest objects because `digest.databaseName` is intentionally service-specific.\n\nThe portable payload contains canonical UTF-8 JSON bytes for `smartdb.database.export.v1`, encoded as base64 with an exact byte count and SHA-256. Corestore rejects non-canonical base64, invalid UTF-8, a non-canonical JSON encoding, descriptor mismatches, payloads above 16 MiB, and complete portable request bodies above 24 MiB. NoSQLDB export is additionally capped at 10,000 collections, 1,000,000 documents, and 100,000 indexes.\n\nCorestore-native database snapshots created by `/resources/snapshot` and consumed by ordinary or isolated resource restore use a separate 96 MiB payload ceiling. This matches the explicit offline MongoDB-wire migration envelope without weakening the 16 MiB portable API boundary. The archive reader admits only the single trailing newline written by Corestore in addition to that payload.\n\nImport requires a stable `restoreId` and positive `orchestrationFence`. Portable-import fences are monotonic within the portable API's own ordering domain; internal snapshot and isolated-restore attempts use a separate ordering domain and cannot make the next valid portable fence stale. Corestore durably binds the request to one NoSQLDB fence through the client's exact persistence before mutating the database. When no control record exists yet, Corestore first inspects NoSQLDB's durable released high-water mark and continues at the next token; an active publication, identity mismatch, corrupt state, or exhausted token fails before any coordination record or provider mutation is created. An exact retry after response loss or restart returns the same held receipt; after commit it returns the released receipt. Reusing a completed `restoreId`, submitting a stale portable orchestration fence, or conflicting with an active mutation returns `409`. The imported database remains unavailable until publication is committed.\n\nThe orchestrator must follow this order:\n\n1. Call `/resources/database/import` and receive the held receipt.\n2. Persist the complete receipt and migration checkpoint durably.\n3. Call `/resources/database/import/commit` with that exact receipt and, for an allocated target, the separate top-level `expectedDatabaseAllocation` target reference.\n\nDigest, import, export, commit, and their error responses use `Cache-Control: no-store`. Corestore admits only one memory-bounded portable database operation at a time, rejects concurrent mutations for the same database without queueing them, aborts response delivery on shutdown or disconnect, applies a delivery deadline, and gives lifecycle-critical NoSQLDB management and health calls a five-minute fail-stop deadline. It retains bounded monotonic restore history for each target and ordering domain. Provision, restore, isolated restore, and deprovision share the same per-database resource-mutation namespace; there is no unfenced database mutation path in normal Corestore operation.\n\n### Selected database backup closures\n\nThe database backup endpoints are the operator-scoped backup transport for database payloads larger than the 16 MiB portable handoff envelope. Export accepts a JSON object of at most 16 KiB with `serviceId` and `backupId`; it also requires the selected source database's exact `expectedDatabaseAllocation` when allocated. Backup restore requires the target database's exact reference inside the canonical `x-corestore-database-backup-restore` header. Corestore creates one database snapshot with controlled ownership tags, exports the exact snapshot closure through ContainerArchive, and returns the opaque closure with a non-cacheable receipt header on the bearer-authenticated response. The receipt's SHA-256 fields bind identity and integrity; they are not an independent signature or MAC. MongoDB wire protocol remains the workload interface before and after backup; the closure transports NoSQLDB's canonical database snapshot representation.\n\nThe underlying NoSQLDB snapshot payload is capped at the 96 MiB Corestore-native database envelope. Closure transfer is capped at 256 MiB, 4,096 immutable archive objects, 128 MiB of verified selected plaintext, a 16 KiB canonical receipt header, and five minutes without transfer progress. Restore requires one exact `Content-Length`, identity transfer encoding, no content encoding, and byte length equal to the receipt. It imports only into a new private disposable staging repository, validates the exact one-snapshot ownership and item contract, restores into a pre-provisioned target service database through the normal durable NoSQLDB fence, and removes staging before returning success.\n\nThe restore identity binds the backup, source and target resource identities, snapshot ID, and closure digest. Omitting `restoreAttemptId` preserves the original restore identity exactly. A caller can provide a canonical `restoreAttemptId` to select a new fenced restore attempt: retries with the same value resume or replay the same mutation, while a different value intentionally reapplies the backup to the same exact target allocation. The attempt identifier cannot change or bypass `expectedDatabaseAllocation`.\n\nSelected closure is a semantic backup boundary, not a byte-level tenant-confidentiality boundary. ContainerArchive excludes unrelated snapshot manifests and unselected global-index entries, but immutable reachable packs can contain physical bytes or sidecar descriptions shared with other snapshots. Keep these artifacts inside the trusted operator backup boundary. Onebox continues to back up object storage through the streaming S3 API rather than this database-only closure endpoint.\n\nThe repository-wide `/archive/manifest` and `/archive/object/*` endpoints are legacy node-replication surfaces used by the current Coreflow backup path. They are not safe service-selected backup APIs and must not be used by new consumers; they remain only until Coreflow moves to selected closures.\n\n### Offline database export packaging\n\n`/resources/database/backup/package` accepts one exact canonical `smartdb.database.export.v1` file, including its single trailing LF, without reading or mutating the selected NoSQLDB database contents. It still reads current NoSQLDB ownership and allocation state to validate the source fence. The request body uses exact `application/json`, one exact positive `Content-Length`, identity transfer encoding, and no content encoding. Canonical package metadata from `@serve.zone/interfaces/runtime` is encoded as unpadded base64url in `x-corestore-database-export-package-request`. Metadata is capped at 16 KiB before encoding, input at 96 MiB plus its LF, and the resulting closure at 256 MiB and 4,096 immutable objects. Input and response delivery each fail after five minutes without progress. The control server keeps a bounded 64 KiB aggregate request-header budget so the encoded metadata and authorization header reach the route without weakening the contract limit.\n\nCorestore validates the input length, SHA-256, UTF-8, canonical JSON round trip, database name, collection and index uniqueness, current source ownership, and exact allocation expectation. It ingests the unchanged bytes as the sole `database.json` / `smartdb-database-export` item in an attempt-private ContainerArchive repository using the configured archive encryption profile. A successful response has `runtime.corestoreDatabaseBackupMediaType` (`application/vnd.serve-zone.corestore-database-backup`), the exact closure `Content-Length`, and the raw opaque closure as its body. The normal closure receipt is returned in `x-corestore-database-backup-receipt`; `x-corestore-database-export-package-response` carries the canonical package completion and replay flag. Both headers use unpadded base64url canonical JSON. All package responses are non-cacheable, and failed requests close the connection so an unread rejected body cannot be reused as another HTTP request.\n\nEach `packageAttemptId` has a cross-restart lease and fsynced state. Before binding a new attempt, Corestore atomically publishes a durable fixed-slot reservation for the full 256 MiB per-closure maximum. Once admitted canonical metadata is durably bound, a failed or truncated input leaves that attempt and reservation in `preparing`; the caller must retry the same attempt and metadata rather than minting replacement IDs. The default ceiling provides four slots, bounding admitted incomplete and completed attempts across crashes. Full capacity rejects a new attempt before creating its lease or state with HTTP 507 and `PACKAGE_CAPACITY_EXHAUSTED`; exact preparing/completed retries and releases remain available. Corestore fsyncs and hashes the retained closure before recording completion, then reopens, pins, and revalidates that same descriptor before every delivery. An exact retry must resend and pass validation for the same input bytes and receives the identical retained closure; conflicting reuse returns `ATTEMPT_CONFLICT`. A disconnected response leaves the completed attempt replayable.\n\nThe caller must fsync the received closure and the exact canonical receipt bytes produced by `encodeCorestoreDatabaseBackupReceipt()` before p","readmeFilename":""}