{"_id":"@litusarchieve18/agricore-utils","_rev":"37-f407b8a57760f477ca1966fb9625f9fc","name":"@litusarchieve18/agricore-utils","dist-tags":{"latest":"1.0.37"},"versions":{"1.0.1":{"name":"@litusarchieve18/agricore-utils","version":"1.0.1","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.1","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"20abb9fa80122b0dd39af79ba574926eb470961c","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.1.tgz","fileCount":5,"integrity":"sha512-adHLTd3Z+z6D8dAxjBZeD+bz/x0KAnDfQASYLATSRLTIKDB2rZlkYRjuk8UsFMmSPsnCKStADNeIwCAGsWlFlg==","signatures":[{"sig":"MEYCIQCoO/S7UQIxgQI7sYa+UFVAx35ml3XjUqh9j7SdOpNxgwIhAJTTkSzXKq9ywvdU5KN89A5Q4rcs9ZJLKr1pMtWejWFo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93856},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"e85b3c10f0a738002d83495f8f1f5886f242ca14","scripts":{"build":"tsup src/index.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.1_1776389815767_0.6223831335895589","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@litusarchieve18/agricore-utils","version":"1.0.2","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.2","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"1c7b287fb96c67d1b607a73d690fc4130c9f708d","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.2.tgz","fileCount":6,"integrity":"sha512-1mWNjM8m4dFKy1Lg+Ujny1gg/CfzP0/iP+LzL2FK1q4hFFN+gjLSxWdJlqevRqPkH/NRU0Vf01RM68avxOnRGA==","signatures":[{"sig":"MEQCIButtotCjAyKoQeieKxoqxtkFIzrs6qKXOuCoESCuRsCAiBqVJvnw2+b0dsYr9GQLIsOynPcOEUC2QYZwHMN7fOofw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99264},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"e85b3c10f0a738002d83495f8f1f5886f242ca14","scripts":{"build":"tsup src/index.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.2_1776810572898_0.2922169626169737","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@litusarchieve18/agricore-utils","version":"1.0.3","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.3","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"df78a3a05d9477f07ed257c2d165f03718148f93","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.3.tgz","fileCount":6,"integrity":"sha512-rDjjPZ9RIxmJIBzpZ40BvnS3DymVtVyNtHnEC+WN8sBAZm4JQ8rCUftzR/0srctwqEeIKrQimJ+dZuEdSC+mxw==","signatures":[{"sig":"MEQCIBj2X1UJ4m9pQbCt4V47whcuqeERWR9FHGl/vw/BCVxHAiBRPtPMFqtrauGRgkk9/u16ckp6JVoqP5szz5pjNGjRFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99355},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"e85b3c10f0a738002d83495f8f1f5886f242ca14","scripts":{"build":"tsup src/index.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.3_1776814663900_0.43984647344135097","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@litusarchieve18/agricore-utils","version":"1.0.4","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.4","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"1d7c869a96e0dbd460ce9fef3b66359e394a722a","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.4.tgz","fileCount":6,"integrity":"sha512-pnj2jzkUERYfOFS+ed/rO5dMpkv4u6h8itLLz8PZGoI3YClJl5vMTbwiyY+Ha32wZDJSEMoW6RlMnfhIqPVrdg==","signatures":[{"sig":"MEUCIQCdgtWSaB76k+t4vl3+PYl6PSK2/OCuoq+mtGixlLm3FgIgDN345TFmgMlUAm+gALDtmTLSVAA+CCbdQRlumWS0sdg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":111349},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"e85b3c10f0a738002d83495f8f1f5886f242ca14","scripts":{"build":"tsup src/index.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.4_1777000591105_0.345276156102144","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@litusarchieve18/agricore-utils","version":"1.0.5","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.5","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"caa25592143f01f9d576a7650e7626a95dbcfdda","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.5.tgz","fileCount":6,"integrity":"sha512-TEK2yw2b1+JF+pAgdEA1f6IQ9GtHYOMaVx9ZV1tWUkkwpbhbLzgf8zZvePkICp2uIsFep8YK+0728soiPgZY/A==","signatures":[{"sig":"MEUCIQDyvfPSOFjoyavZI+7GZfG0nYkdLg7nKp0aVO1eIq1BPgIgNmzQMlo//Cv7a7YVcpW6m1d7yh9/7K2KBKM1vdzPbC0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112372},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"e85b3c10f0a738002d83495f8f1f5886f242ca14","scripts":{"build":"tsup src/index.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.5_1777006834979_0.6328205302989198","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@litusarchieve18/agricore-utils","version":"1.0.6","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.6","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"a628f1fb044e9c90c59a9d3c5d8e2f6886ffd6e9","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.6.tgz","fileCount":6,"integrity":"sha512-VaUa00d8ptBiSO1U23hLhFXJZ+CBitezVxRzpWnBTyecz+09sEZjkzhQGzVYlt9+WkY73Z/q7XFELGLxg1DCMw==","signatures":[{"sig":"MEUCIQDhXLyZ2QsB64pRcLB41CYDPUOHyR62zCdypwbwrQu/ngIgE80GjmoUwtNd6IqZek7ualIkOt8VxV+xEhPkfkqG0zY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":113148},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"e85b3c10f0a738002d83495f8f1f5886f242ca14","scripts":{"build":"tsup src/index.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.6_1777010250128_0.6462637605533792","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@litusarchieve18/agricore-utils","version":"1.0.7","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.7","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"cd2f4519528e34cf244811a4d963f23c38a979c3","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.7.tgz","fileCount":6,"integrity":"sha512-0N4cFVAXKK3UKD5lwgflkmzuP8kcxhOTAMx5K7UkheqrH+Tj/yN4B3vfL0+iioe0UENk7NCpTlfvF5C/SV7ShA==","signatures":[{"sig":"MEYCIQDpD3r3HbF2DcKd4K686zqDjFEDUvH+BWi8CLzwOzvqtgIhAISU8A6EUpIuRKYrc5TSajmo0wADIpEQi1tz+ijPB3yl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119930},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"bca63ef159cc0eeb75e1929dcd09fffcfd6cd079","scripts":{"build":"tsup src/index.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.7_1777016098712_0.8823453946881585","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@litusarchieve18/agricore-utils","version":"1.0.8","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.8","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"6a63b1edda4384e28787f2746801fde01b9c0a11","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.8.tgz","fileCount":6,"integrity":"sha512-/Xytx+7yDYysCeIPIoiacEaczslQRno9UUT+47k+o2BntAlcTo7CN6nBilJUKZ1qoWig4AavHiP8tB+DWXMX1w==","signatures":[{"sig":"MEYCIQDcO22ioem7acybgrMzpOibQfL/bn+BB7jMTUyNQPiw1gIhAN5Vylcsuoc9e2h9zSyqvD1ogttas/FermZMmI3CtBKQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":128968},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"bca63ef159cc0eeb75e1929dcd09fffcfd6cd079","scripts":{"build":"tsup src/index.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.8_1777018423601_0.0463825845361725","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@litusarchieve18/agricore-utils","version":"1.0.9","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.9","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"860fa0d4fde813fe793270bbcc63e8a9f6b44cfc","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.9.tgz","fileCount":6,"integrity":"sha512-Cwq/Rk24JppL6LZz131fExRIzb8XktC+iO0KuKiUmXHP6ncULEPzBsP8fPmGOvw8ZLGt9wYbfWH25K46JBuoKA==","signatures":[{"sig":"MEUCIQCwC7FpVl83vplc2G6YxY6/4gsJkPzOs0vuOtQD8atDbgIgSIjwGn70BDg/MIaAmElKq71UErfUK0+buT8NxOKJSHk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":132485},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"bca63ef159cc0eeb75e1929dcd09fffcfd6cd079","scripts":{"build":"tsup src/index.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.9_1777261089849_0.5205909420606694","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@litusarchieve18/agricore-utils","version":"1.0.10","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.10","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"03229ee2f206f4fffff09f0beda32c983616a7bf","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.10.tgz","fileCount":6,"integrity":"sha512-q1bsz74EOF2GQfsUiHKDdccjfRL0kxfs4b6RlNS/8sjWvBja1/y75uhVZqgRyv/5Q2+BzMe9pY97aav2ncKpOw==","signatures":[{"sig":"MEUCIF2jXqoYCmsV2ldjgfjDUr0tYtnYInU6IGVyd+DXqY7VAiEA34Py51CU2LWOBuUPMxxw1tHgM/UNTTqDw7WudrDYtUA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":132718},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"ea13c4d65e49e2334d9f73e043f4b63a68e3b954","scripts":{"build":"tsup src/index.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.10_1777266302219_0.05462738056470795","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@litusarchieve18/agricore-utils","version":"1.0.11","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.11","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"07c6257531018d834a061f1db4d4866110a651c0","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.11.tgz","fileCount":6,"integrity":"sha512-nry0Kbke7EAkuCHq+FWRT2AT1vCTnr0CASJsvn1Vh8qOW6+rHsJwO2WQcYypyBT8hygYUm7XyiOoV0mwk42mDw==","signatures":[{"sig":"MEUCIQDOMzcJ/B90YN2NTxbp4lYr0t1XKHVqUa1UHmQ3VNeo+AIgUOJDQxiTSTm8YIvwJuuOASzFR5dpdFGdHYOjqGyFZnA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":132832},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"ea13c4d65e49e2334d9f73e043f4b63a68e3b954","scripts":{"build":"tsup src/index.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.11_1778640347559_0.014259244996885911","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@litusarchieve18/agricore-utils","version":"1.0.12","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.12","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"5a7c6224793c44860b5e41b72b62b77cd3e7c1be","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.12.tgz","fileCount":6,"integrity":"sha512-m4mUAUrA81OvEkkFZmPFNxVifEQtcse4U8MKx1Eh70kHw184vsLK7kDXeqnahBKERS+8knVcI2qt1ijz7nho4g==","signatures":[{"sig":"MEQCIEgxpHXiD5BnCMtiKkDmQgXWRXdNZOwpkp3EKinaQk5SAiBEyxjg5fw6rhu5Pq3gqU7zo1PnnXop3R7wM8kE/phqPw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":146787},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"ea13c4d65e49e2334d9f73e043f4b63a68e3b954","scripts":{"build":"tsup src/index.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.12_1779932957355_0.9787441228852611","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"@litusarchieve18/agricore-utils","version":"1.0.13","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.13","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"3796d48a5772ba053c7f7b2eb98b1f22f9189706","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.13.tgz","fileCount":13,"integrity":"sha512-WpPBC4IMEU7UVDBRUaI2WJTnTB0w3t9oxwQ0PBk69FrtSGfY3vSW6mBHPRs7Z39N/m3Q2ri1utINFUtQ65UYsg==","signatures":[{"sig":"MEYCIQDHQUfblvgMWdHuBCX+pKKvGU4KyRsUiz6a+PpyqEhtAQIhAP1p1uOe/wRZb3920z4uB3coWHNyBvffLq4rPzKSImLX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":184332},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js"},"./constants":{"types":"./dist/constants.d.ts","import":"./dist/constants.mjs","default":"./dist/constants.mjs"}},"gitHead":"acd8aeb79bbecbbb0fe5df8f29f2bf804f068974","scripts":{"build":"tsup src/index.ts src/constants.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.13_1779941944244_0.6977300062465661","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"@litusarchieve18/agricore-utils","version":"1.0.14","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.14","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"9d04342fa0a2a40ba9d5967dde176df453afc035","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.14.tgz","fileCount":13,"integrity":"sha512-zG5yKIkf/cfU/84NgdEqvvZK3fbB1s15zZCzzopw4Fv9/MFrGUjcNvbCmLQiwz1SAubshT+53OCNaXcMdejkiA==","signatures":[{"sig":"MEUCIEbuEyUGBd9OfU4lQqh4nFFgIFhtuWBTPQS72/ku3koiAiEAn/MwaHEAQXbho2W0WY6IoIbBv4G62e05bvFcnJsudX8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":210401},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js"},"./constants":{"types":"./dist/constants.d.ts","import":"./dist/constants.mjs","default":"./dist/constants.mjs"}},"gitHead":"561a21e01f747a8cfedd7c6639c368a950810578","scripts":{"build":"tsup src/index.ts src/constants.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.14_1780008566288_0.15903959469858409","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"@litusarchieve18/agricore-utils","version":"1.0.15","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.15","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"98325ae1e7c67253c252c9204b4bce334061cc49","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.15.tgz","fileCount":13,"integrity":"sha512-FYhONPE8U5vxJjIfOa6RY8iEDRcW5W6672XTM/2KvntglkX7HnTonJdu8v+0zxkCQhfaq1yMZpR/2Aawl2H2sA==","signatures":[{"sig":"MEQCIG4/miG8oBgH8goTIYNnNd1Kc4/M/isng4IRx7eCqaIGAiA0zr3XXCwgiHviBlx0jDGZIpA914V6uoq08L6AK67iYA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":227332},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js"},"./constants":{"types":"./dist/constants.d.ts","import":"./dist/constants.mjs","default":"./dist/constants.mjs"}},"gitHead":"0b2d204cf8962add56fe05e4ca8136cb20e873a1","scripts":{"build":"tsup src/index.ts src/constants.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.15_1780356926692_0.5502553791217784","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"name":"@litusarchieve18/agricore-utils","version":"1.0.16","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.16","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"5d47c7a6c3de2bdd3a5ba2a2daab24bfa9d6d5c5","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.16.tgz","fileCount":13,"integrity":"sha512-jvAng+xWrEmcv25WaOx23e1OsWPaj94gHCNNGVv8TUc6xPom40jkRj7rYlRj1nWIKgFFRH3IwvQvp0rrlGzgOw==","signatures":[{"sig":"MEQCIFb6it+knJPKWfP+bDgRbwVom2Y2BYWi2REP2UYSPO7DAiAxSQQzZw5bafv18t3MXN420FGB8+8JtxEtturAgB90Sg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":236233},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js"},"./constants":{"types":"./dist/constants.d.ts","import":"./dist/constants.mjs","default":"./dist/constants.mjs"}},"gitHead":"0b2d204cf8962add56fe05e4ca8136cb20e873a1","scripts":{"build":"tsup src/index.ts src/constants.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.16_1780889951367_0.633393665661127","host":"s3://npm-registry-packages-npm-production"}},"1.0.17":{"name":"@litusarchieve18/agricore-utils","version":"1.0.17","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.17","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"767157f05e700ef99133cc14e263d0a093db1be3","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.17.tgz","fileCount":13,"integrity":"sha512-JhYk/rqvgVuOy2XUkurvlVjT3RW1hJJZCl55rjXG3ZT0Qw2sOexPlne/dXa2iVuMNpb3CUL1UMW4U9zE0AEmvQ==","signatures":[{"sig":"MEYCIQDgYCwSohFo8YfZ1DC6iJTHNHVybgTGRNkIgLFKp41LxwIhANvwqc9QQMb4zWYXkSjkt9bo+qd7KY1dBj8Bj3ss6VOv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":237508},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js"},"./constants":{"types":"./dist/constants.d.ts","import":"./dist/constants.mjs","default":"./dist/constants.mjs"}},"gitHead":"0b2d204cf8962add56fe05e4ca8136cb20e873a1","scripts":{"build":"tsup src/index.ts src/constants.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.17_1780890895421_0.865168444298303","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"@litusarchieve18/agricore-utils","version":"1.0.18","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.18","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"3963cbde889cd4474c798d8eddeb59ffc33ecc76","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.18.tgz","fileCount":13,"integrity":"sha512-s/x9Nca13Mgi4/nuMDM9zNfphqyZncMXBs/JN4wdwVgf6zhD3RYdvGz9MxkK8HmVqMyaE4bN5SC5WX77YsNcTQ==","signatures":[{"sig":"MEQCIFYdOknbnm4zSA4aHpaV/yQpFVpGXQhwOv2phsShmxfnAiApY48c1LTmzz6zqetHML4nWz5LMpEo+z2Dukqp8Xfk5g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":243925},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js"},"./constants":{"types":"./dist/constants.d.ts","import":"./dist/constants.mjs","default":"./dist/constants.mjs"}},"gitHead":"b6d27fe38769388af6b4803a0873688a9174f256","scripts":{"build":"tsup src/index.ts src/constants.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.18_1780967214221_0.15729184780853878","host":"s3://npm-registry-packages-npm-production"}},"1.0.19":{"name":"@litusarchieve18/agricore-utils","version":"1.0.19","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.19","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"5552e6e20f4031a38ad16a29ec18cd673a4597cb","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.19.tgz","fileCount":13,"integrity":"sha512-+T3RVZoWAx+lGOZNHXqTydXbScF25ECpD+SF87tLKmeqJSE7/m02AdiiURyeze//M8P0B28TJhzujPAM3a18Jw==","signatures":[{"sig":"MEQCIB3uTczfcIgs1Dutmbit2Yr/3AAys/MoLGEixB9pL0P2AiAQ2HCPdvv5BBlcyRIDpJwMvipmBxgyyY28U1CJur96Ow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":252698},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js"},"./constants":{"types":"./dist/constants.d.ts","import":"./dist/constants.mjs","default":"./dist/constants.mjs"}},"gitHead":"b6d27fe38769388af6b4803a0873688a9174f256","scripts":{"build":"tsup src/index.ts src/constants.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.19_1780976175378_0.6472019097223927","host":"s3://npm-registry-packages-npm-production"}},"1.0.20":{"name":"@litusarchieve18/agricore-utils","version":"1.0.20","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.20","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"a55cb68dad06d4d634b0b5eeb7cfcd139d393369","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.20.tgz","fileCount":13,"integrity":"sha512-rxGdzuuqrX74b+KseUaofHTEdBm9K2B65n0J2Ifeb6OQKmpXgERYnQtKWQmWnDyullyAWm0YX4DQEQILFgIysw==","signatures":[{"sig":"MEQCIHcVYFKBcf44FnTt3mmb/scATXdCNBsJbx9yGlrk6pYcAiBZINpwm0zpnQsFOxXFy3dsVQiveN4bVMphj0NuRu/TJA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":254972},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js"},"./constants":{"types":"./dist/constants.d.ts","import":"./dist/constants.mjs","default":"./dist/constants.mjs"}},"gitHead":"b6d27fe38769388af6b4803a0873688a9174f256","scripts":{"build":"tsup src/index.ts src/constants.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.20_1781060930317_0.4093725520799798","host":"s3://npm-registry-packages-npm-production"}},"1.0.21":{"name":"@litusarchieve18/agricore-utils","version":"1.0.21","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.21","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"2aa83a30e23bef016ca9ca1acd190c01494e3988","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.21.tgz","fileCount":13,"integrity":"sha512-8bi7VLnXCrBNlcDX7rElU3QL/DnjXZ6b0sUi+aKpvqnOXfER2+RIu0YEFePUVIH6PghRFSr4RTxFrGmFPIxdQg==","signatures":[{"sig":"MEQCIGokNzhxzP8UXKpG0TCPf/rwtcRXuRnMsI7HbltaGQ14AiBmPQi103cwlodUVEDtrNRWHMcw3BCBAIVII7pBz8rKrw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":254501},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js"},"./constants":{"types":"./dist/constants.d.ts","import":"./dist/constants.mjs","default":"./dist/constants.mjs"}},"gitHead":"b6d27fe38769388af6b4803a0873688a9174f256","scripts":{"build":"tsup src/index.ts src/constants.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.21_1782084580694_0.230093925478001","host":"s3://npm-registry-packages-npm-production"}},"1.0.22":{"name":"@litusarchieve18/agricore-utils","version":"1.0.22","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.22","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"db6bf3c4e7ffdb0a18dc7ea72c5d458e7d761de1","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.22.tgz","fileCount":13,"integrity":"sha512-PjCezc55uoDW8G8kIAittYmdPdax1Je0WVsxGmfyKiw4maY7fGeN8Rv4sMNhugQigo/2s3GbVx+c2kcba9Ta0Q==","signatures":[{"sig":"MEQCIAjVeP+5C9EiTRIMd4BKr97dsrOOQcKhKsOlkBce1DdXAiAX6/4d74j9OPH68RAOJTQ+pniwPNLit+gGdkitYLGXSQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":269707},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js"},"./constants":{"types":"./dist/constants.d.ts","import":"./dist/constants.mjs","default":"./dist/constants.mjs"}},"gitHead":"c096dce568058d3351b3fba11aded1b302ca2cb1","scripts":{"build":"tsup src/index.ts src/constants.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.22_1782101063403_0.052136168512876724","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"@litusarchieve18/agricore-utils","version":"1.0.23","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.23","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"93d1ac0c5deffd0b81541f68ca80b3e41376ca22","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.23.tgz","fileCount":13,"integrity":"sha512-ZMRguDlLYbk6wGuNhv8ItVegYv72EnBxWyz1hQ0mXnZAhwJZGv9kdYy85VTdTrCSVcPqtZBGUrCXxJrTXrCCxg==","signatures":[{"sig":"MEUCIQDkn+6SVnMOBnXqwWh/JZ+nN884CI3i199UyoREn3MGYgIgHr+d24AABjOPvmzY0wbgZGJpx5IokQjyTjJ2sHZp4Yg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":275929},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js"},"./constants":{"types":"./dist/constants.d.ts","import":"./dist/constants.mjs","default":"./dist/constants.mjs"}},"gitHead":"c096dce568058d3351b3fba11aded1b302ca2cb1","scripts":{"build":"tsup src/index.ts src/constants.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.23_1782169104745_0.14688238093602357","host":"s3://npm-registry-packages-npm-production"}},"1.0.24":{"name":"@litusarchieve18/agricore-utils","version":"1.0.24","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.24","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"3313f81623c6e1f47f6d63e9847e6cb25628a412","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.24.tgz","fileCount":13,"integrity":"sha512-rfE+akpw04QygOm6Rn7EprQ7I0NFEsP80cv7uVSExrZbtVzZEGLYTzY4iBOSQ2bmWvhwZMfsI+ydNoS6JpoA/w==","signatures":[{"sig":"MEUCIFW+eS+PLkahlJ6QRk9eVnoDq0xfVT4snJ7rMGy6F1v6AiEApDaPuz/FCO+DKSVftbW2m4tUSH1em/YPjpkqA70RnYs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":275442},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js"},"./constants":{"types":"./dist/constants.d.ts","import":"./dist/constants.mjs","default":"./dist/constants.mjs"}},"gitHead":"c096dce568058d3351b3fba11aded1b302ca2cb1","scripts":{"build":"tsup src/index.ts src/constants.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.24_1782170411273_0.8608408591373569","host":"s3://npm-registry-packages-npm-production"}},"1.0.25":{"name":"@litusarchieve18/agricore-utils","version":"1.0.25","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.25","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"69b5485f49fc31f50371e6c74677963d8c98f99b","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.25.tgz","fileCount":13,"integrity":"sha512-5n/cyg8HpmvBWM97kJNeq0L/t4BGybecrjEeiNlihrMTOTvvPQCsvRWqOdOk9bs0E6+x+9n9INWZ+Tp6qSqYFQ==","signatures":[{"sig":"MEYCIQD6yz7NBLe2b+3jxdINVlCi73fzUutv8ssKVuVuD+tOvgIhAPyIxNl0gQjDZdiQQWHKovzCKHb4hnoovOIuac/7VLwi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":275515},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js"},"./constants":{"types":"./dist/constants.d.ts","import":"./dist/constants.mjs","default":"./dist/constants.mjs"}},"gitHead":"c096dce568058d3351b3fba11aded1b302ca2cb1","scripts":{"build":"tsup src/index.ts src/constants.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.25_1782278616752_0.29959572819096447","host":"s3://npm-registry-packages-npm-production"}},"1.0.26":{"name":"@litusarchieve18/agricore-utils","version":"1.0.26","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.26","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"e6faa4dadc9e3e95827ad80b9002b5504d52ff37","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.26.tgz","fileCount":13,"integrity":"sha512-GyXNBkT0/rGSJ9htdG/LlgwmWlfUqokPKCquYhb8fZ2c4VyDR1aA9JLiTXkgvldfg7oX+Af3PZYvqcO99vujGg==","signatures":[{"sig":"MEYCIQD1MeSkSt+KdbgfrldZ7GcfE9dU/EdohWvsn3hddzkd3gIhAIuFJSo8OvrS4jCZD8v8q9FhJZ+u/4nmRLV8WFevgBjN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":276499},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js"},"./constants":{"types":"./dist/constants.d.ts","import":"./dist/constants.mjs","default":"./dist/constants.mjs"}},"gitHead":"c096dce568058d3351b3fba11aded1b302ca2cb1","scripts":{"build":"tsup src/index.ts src/constants.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.26_1782438240241_0.15768383294526722","host":"s3://npm-registry-packages-npm-production"}},"1.0.27":{"name":"@litusarchieve18/agricore-utils","version":"1.0.27","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.27","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"0b91895081df4bb7988972c10f189e3a588318ca","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.27.tgz","fileCount":13,"integrity":"sha512-ptTXhf4xrf7FtmLEV/rErJo1GjjmLfebY0Bqft9us0hztzqWqg/n2gfIU8mQJaItlviE8FNNn/MJOZdoITpXIw==","signatures":[{"sig":"MEYCIQC3NvhPHnYIXgCGuip16DWtyEvI/8Py3bFJzTorguMxSAIhANEWXscQPpOB0Zfgb4j3sGsc2AJbjMQiiZr8/Bueh6QI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":297229},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js"},"./constants":{"types":"./dist/constants.d.ts","import":"./dist/constants.mjs","default":"./dist/constants.mjs"}},"gitHead":"edb72b5cd1423477e8e19317e6978c2fa70db92e","scripts":{"build":"tsup src/index.ts src/constants.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.27_1782863284419_0.8684249187092881","host":"s3://npm-registry-packages-npm-production"}},"1.0.28":{"name":"@litusarchieve18/agricore-utils","version":"1.0.28","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.28","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"09071fd1455c8423c2330a090f3807f2633f45ab","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.28.tgz","fileCount":13,"integrity":"sha512-sOUtVFPNM7WWHfFJDU2ZQEaNf4vFjQeUR2eIEe6GUZG+lvw0By4DaRNccYbTYMleAsIjOTaOCSNUBYURTtKVsA==","signatures":[{"sig":"MEUCIAT3y8Q7qI4P85+CSGbG5LNAQbG7TTlqSEny1YMqZb++AiEA4gQjxU/xYp4uPECcZ2UrNPJi+LMAoILVodUNoIupWbk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":301953},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js"},"./constants":{"types":"./dist/constants.d.ts","import":"./dist/constants.mjs","default":"./dist/constants.mjs"}},"gitHead":"edb72b5cd1423477e8e19317e6978c2fa70db92e","scripts":{"build":"tsup src/index.ts src/constants.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.28_1782869433284_0.8383263928368458","host":"s3://npm-registry-packages-npm-production"}},"1.0.29":{"name":"@litusarchieve18/agricore-utils","version":"1.0.29","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.29","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"751796fda33493183938f7afb245177232d7f9d1","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.29.tgz","fileCount":13,"integrity":"sha512-871suuFAhtJlQsEBjPu/2Aiesce3KZjAmoVd+RGJ7hwsu6DS/IMjY+rWeR5vbnAKFGepNZxYnolyudfQN3zZ1Q==","signatures":[{"sig":"MEUCIQDE3ZXE48Kh5jekN2SJFGaJQqOFNbl9KqIOIv4UnP5VJAIgQB/R9VVbX2WHfw8d9lNBKx+UZOSI61LCNjvzKZ6VF0I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":302076},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js"},"./constants":{"types":"./dist/constants.d.ts","import":"./dist/constants.mjs","default":"./dist/constants.mjs"}},"gitHead":"edb72b5cd1423477e8e19317e6978c2fa70db92e","scripts":{"build":"tsup src/index.ts src/constants.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.29_1782881602575_0.587754556146646","host":"s3://npm-registry-packages-npm-production"}},"1.0.30":{"name":"@litusarchieve18/agricore-utils","version":"1.0.30","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.30","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"fac1d129cb9828031d67477dcfc15b5c15028857","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.30.tgz","fileCount":13,"integrity":"sha512-hPbQwSSfV0jaeD1zpKG+KEgoVBEMqpbAszeJujupODQQEuLlN6rfBHWMgkkB+hC+AL9zcfP/9mBHAnbk4VADZA==","signatures":[{"sig":"MEYCIQCEtG8yuij6FEpouDKPkgliJ6T7rpiTiIwwzJglhi/QwAIhAMgp1WX/QOKYsl4juFBk3qdZEnoKiEO/xxo+y3LwuUc8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":303539},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js"},"./constants":{"types":"./dist/constants.d.ts","import":"./dist/constants.mjs","default":"./dist/constants.mjs"}},"gitHead":"edb72b5cd1423477e8e19317e6978c2fa70db92e","scripts":{"build":"tsup src/index.ts src/constants.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.30_1783295759985_0.5095805689340038","host":"s3://npm-registry-packages-npm-production"}},"1.0.31":{"name":"@litusarchieve18/agricore-utils","version":"1.0.31","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.31","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"5fcb173d64cf4a3dd4a179a4d68c45d23df321c6","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.31.tgz","fileCount":13,"integrity":"sha512-/x+szcwhXM2SXSTZDM0bGt1rIbw7iHdt4QmHjBPmudgBmq9HmlkF2fKJC4ICFSFxqtzheDIzK6awxg5+Xgd1nA==","signatures":[{"sig":"MEYCIQC1nYD7fewmqWR7b99Z0HqjdJh4PN0NnMTj6jJ7Gu8QWQIhAK2OXCnU6yBclU+JNjMipHqrCqhdaPz1xoaAeCqES6Fw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":336429},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js"},"./constants":{"types":"./dist/constants.d.ts","import":"./dist/constants.mjs","default":"./dist/constants.mjs"}},"gitHead":"edb72b5cd1423477e8e19317e6978c2fa70db92e","scripts":{"build":"tsup src/index.ts src/constants.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.31_1783903152433_0.04139320975640093","host":"s3://npm-registry-packages-npm-production"}},"1.0.32":{"name":"@litusarchieve18/agricore-utils","version":"1.0.32","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.32","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"f1d803ccee8173b1e6f620ae8a6998ffa5ce729d","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.32.tgz","fileCount":13,"integrity":"sha512-lL3MqYamlsyO2026YKOvq0DaMylLElLy75ioNGcQ6iYcQgkHbxDXdMvjQeVjfBBVRfgA1ivYd3jwftrOoOmdHQ==","signatures":[{"sig":"MEQCIHLyWfQTpr48aJotZAWUnI+AjAgsWA4CPObHXyA14yAkAiBoe0/zEjlcNur8pyT9nLw00i9zQqbFBWByvQttbz+xsw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":343264},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js"},"./constants":{"types":"./dist/constants.d.ts","import":"./dist/constants.mjs","default":"./dist/constants.mjs"}},"gitHead":"edb72b5cd1423477e8e19317e6978c2fa70db92e","scripts":{"build":"tsup src/index.ts src/constants.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.32_1783907391815_0.1818187299102021","host":"s3://npm-registry-packages-npm-production"}},"1.0.33":{"name":"@litusarchieve18/agricore-utils","version":"1.0.33","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.33","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"93e1c157d45f707f6bfbe7570182ec68d9dbeb1f","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.33.tgz","fileCount":13,"integrity":"sha512-KTdTqTKULIm7YZUSQFbdwkedAo0bFauhKUkrwCefqXwURle4grAX4PNwpmv1Uq51CbOhQW+NdxjrrCFoVLEJsA==","signatures":[{"sig":"MEUCIAhvdHGdqBQ0brcJ+M32svM+1fyEz73senGaD1GkiLsiAiEAiD2TlOXEOf++mZLZt0hT/QQEbtm6sAhL9sK8mvUcmHo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":363782},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js"},"./constants":{"types":"./dist/constants.d.ts","import":"./dist/constants.mjs","default":"./dist/constants.mjs"}},"gitHead":"edb72b5cd1423477e8e19317e6978c2fa70db92e","scripts":{"build":"tsup src/index.ts src/constants.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.33_1784602052452_0.2394416044012686","host":"s3://npm-registry-packages-npm-production"}},"1.0.34":{"name":"@litusarchieve18/agricore-utils","version":"1.0.34","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.34","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"a34038051b127b44589d711fbd37fef6114bd263","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.34.tgz","fileCount":13,"integrity":"sha512-PIz+aUZPnbe1g8P5RN6f2olQ7Hfp0p+4xHRIZ6c9KHbP9oU5S4UtFNlGClpOD5rYcgk2i9tTsqAnePjxLkprzw==","signatures":[{"sig":"MEQCIEBwmSmaEApzjUCagVNYyBLCFrRzfXDwhaRsuitziA+HAiABsZELixu1IyYSKzWN21w0UFBRa2rl4ekAHB+kpr98XA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":364365},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js"},"./constants":{"types":"./dist/constants.d.ts","import":"./dist/constants.mjs","default":"./dist/constants.mjs"}},"gitHead":"edb72b5cd1423477e8e19317e6978c2fa70db92e","scripts":{"build":"tsup src/index.ts src/constants.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.34_1784695706195_0.40800747021568506","host":"s3://npm-registry-packages-npm-production"}},"1.0.35":{"name":"@litusarchieve18/agricore-utils","version":"1.0.35","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.35","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"3cdb824d48ef46536b58f443ca7474bb828e48d1","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.35.tgz","fileCount":13,"integrity":"sha512-pHav8QEUmHaaIGvbD099GlTBWUcN2Kw1TzyxUQNDSbc2+wMo6Z1izF2n78I3ERW0n1EJHuhUP99aErDCytMatA==","signatures":[{"sig":"MEYCIQC2fj7zSsk5sv1kAS/eL5F6DdsFiwLHVPXz5KbBDKlTTgIhAJbR3mcYKXwMk4XAbkdZ3+dhwUgIfi2JpAudIoJU4029","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":409280},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js"},"./constants":{"types":"./dist/constants.d.ts","import":"./dist/constants.mjs","default":"./dist/constants.mjs"}},"gitHead":"edb72b5cd1423477e8e19317e6978c2fa70db92e","scripts":{"build":"tsup src/index.ts src/constants.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.35_1784780617457_0.914460769294416","host":"s3://npm-registry-packages-npm-production"}},"1.0.36":{"name":"@litusarchieve18/agricore-utils","version":"1.0.36","keywords":["agricore","utils","backend"],"author":{"name":"Vincent"},"license":"ISC","_id":"@litusarchieve18/agricore-utils@1.0.36","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"dist":{"shasum":"b5a64482a0e8813e8d47dab215f716b6e5067646","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.36.tgz","fileCount":13,"integrity":"sha512-Beq/wDQ09wla/g6EJlqeWjmKfHhvX7rQqj2Rwu0WCUrVuM9jeeVOOdoxjBHRnVU1m6am6NdcpKizboC2/1Nt6Q==","signatures":[{"sig":"MEQCIGq3gIJqDBB09bEKneYbjMnuqFZzTjW7a4aZBhTsmwdwAiA0F44Ok7gYamh/RmpNE79B1i+OBq3LwSkQoQedSBvw8A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":416599},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js"},"./constants":{"types":"./dist/constants.d.ts","import":"./dist/constants.mjs","default":"./dist/constants.mjs"}},"gitHead":"3570d94a4e43fd1fdbce90d4aef510ce1c4a9f85","scripts":{"build":"tsup src/index.ts src/constants.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agricore-utils_1.0.36_1785979480934_0.7623060835891557","host":"s3://npm-registry-packages-npm-production"}},"1.0.37":{"_id":"@litusarchieve18/agricore-utils@1.0.37","dist":{"shasum":"f67d1e5272fd4b07bf9bf68f54246c87af23481e","tarball":"https://registry.npmjs.org/@litusarchieve18/agricore-utils/-/agricore-utils-1.0.37.tgz","fileCount":13,"integrity":"sha512-PXfJvWChpGUM5nc+CwumgXVTU6OUv7c8m5rCLsEI9jk8a+1BBNkRqMpDluN02GwQK2sHE0kMWbT5ezdMIon4hA==","signatures":[{"sig":"MEYCIQCdYkIrUbxjsd0AmHITfrUR0PqhYjs21nuWFqjRI2BGZQIhAPcWGMF9sU5fMBfE/EINnUKg5mKC6vkOqGIjWNM+V0dU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDvfA3apzFviF7HqZUPd/YD87m3+irMvBdmnpeaXoh+qAIhAO6QPFwpq/9HwErF0O5feCsd7lDR1Dq6nCGY5gQJIL7W"}],"unpackedSize":431340},"main":"./dist/index.js","name":"@litusarchieve18/agricore-utils","types":"./dist/index.d.ts","author":{"name":"Vincent"},"module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js"},"./constants":{"types":"./dist/constants.d.ts","import":"./dist/constants.mjs","default":"./dist/constants.mjs"}},"gitHead":"9e220f8298dad88bf3d6c3cdb32f3f2803c0d6bd","license":"ISC","scripts":{"build":"tsup src/index.ts src/constants.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"version":"1.0.37","_npmUser":{"name":"litusarchieve18","email":"vincen9t@gmail.com"},"keywords":["agricore","utils","backend"],"_npmVersion":"10.8.2","description":"Canonical Backend Utility Library for AgriCore","directories":{},"maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/agricore-utils_1.0.37_1790047963419_0.805347928321996"}}},"time":{"created":"2026-04-17T01:36:55.648Z","modified":"2026-09-22T03:32:43.674Z","1.0.1":"2026-04-17T01:36:55.904Z","1.0.2":"2026-04-21T22:29:33.006Z","1.0.3":"2026-04-21T23:37:44.041Z","1.0.4":"2026-04-24T03:16:31.270Z","1.0.5":"2026-04-24T05:00:35.114Z","1.0.6":"2026-04-24T05:57:30.268Z","1.0.7":"2026-04-24T07:34:58.833Z","1.0.8":"2026-04-24T08:13:43.797Z","1.0.9":"2026-04-27T03:38:09.976Z","1.0.10":"2026-04-27T05:05:02.353Z","1.0.11":"2026-05-13T02:45:47.708Z","1.0.12":"2026-05-28T01:49:17.546Z","1.0.13":"2026-05-28T04:19:04.473Z","1.0.14":"2026-05-28T22:49:26.447Z","1.0.15":"2026-06-01T23:35:26.877Z","1.0.16":"2026-06-08T03:39:11.502Z","1.0.17":"2026-06-08T03:54:55.572Z","1.0.18":"2026-06-09T01:06:54.368Z","1.0.19":"2026-06-09T03:36:15.534Z","1.0.20":"2026-06-10T03:08:50.475Z","1.0.21":"2026-06-21T23:29:40.843Z","1.0.22":"2026-06-22T04:04:23.584Z","1.0.23":"2026-06-22T22:58:24.909Z","1.0.24":"2026-06-22T23:20:11.433Z","1.0.25":"2026-06-24T05:23:36.911Z","1.0.26":"2026-06-26T01:44:00.374Z","1.0.27":"2026-06-30T23:48:04.610Z","1.0.28":"2026-07-01T01:30:33.437Z","1.0.29":"2026-07-01T04:53:22.701Z","1.0.30":"2026-07-05T23:56:00.139Z","1.0.31":"2026-07-13T00:39:12.569Z","1.0.32":"2026-07-13T01:49:51.958Z","1.0.33":"2026-07-21T02:47:32.576Z","1.0.34":"2026-07-22T04:48:26.369Z","1.0.35":"2026-07-23T04:23:37.605Z","1.0.36":"2026-08-06T01:24:41.089Z","1.0.37":"2026-09-22T03:32:43.524Z"},"author":{"name":"Vincent"},"license":"ISC","keywords":["agricore","utils","backend"],"description":"Canonical Backend Utility Library for AgriCore","maintainers":[{"name":"litusarchieve18","email":"vincen9t@gmail.com"}],"readme":"# @litusarchieve18/agricore-utils\r\n\r\nThe Canonical Backend Utility Library for the **AgriCore** ecosystem. \r\n\r\nThis library provides the foundational \"plumbing\" for the AgriCore backend, including standardized error handling, data middleware, domain enums, and the core security session contracts. It is specifically optimized to be framework-agnostic and lightweight, with native support for the **Base44 / Deno** deployment environment.\r\n\r\n## 📦 Installation\r\n\r\nBecause Base44 Deno functions require module resolution at runtime without private authentication headers, this package is published to the **public NPM registry**.\r\n\r\n### For Node.js Environments\r\n```bash\r\nnpm install @litusarchieve18/agricore-utils\r\n\r\nFor Base44 / Deno Environments\r\nYou do not need a .npmrc or GITHUB_TOKEN to use this library in Base44. Import it directly using the npm: protocol:\r\nimport { AgriLogger, AppError, MOD } from 'npm:@litusarchieve18/agricore-utils@^1.0.4';\r\n\r\n🏗️ Core Architecture & Features\r\nThis library is designed with the \"Adapter Pattern\" in mind. It defines strict contracts (AgriCoreSession) so that your business logic remains completely isolated from the underlying Base44 database infrastructure.\r\n\r\n1. The AgriCore Session (v2)\r\nThe universal contract for authenticated users. The v2 upgrade includes injected UI-ready navigation data (availableScopes) and tenant configurations to prevent unnecessary frontend API calls.\r\n\r\nTypeScript\r\nimport { AgriCoreSession } from 'npm:@litusarchieve18/agricore-utils@^1.0.4';\r\n\r\n// Example of the v2 structure:\r\nconst session: AgriCoreSession = {\r\n  userId: \"69e1a1...\",\r\n  companyId: \"69e6a3...\",\r\n  activeScopeId: \"660216...\",\r\n  companyConfig: { isMultiEntity: true },\r\n  role: \"owner\",\r\n  privileges: [\"finance\", \"hr\", \"auditCompliance\", \"admin\"],\r\n  enabledModules: [\"farm_management\", \"packhouse\"],\r\n  readScopes: [\"...\"],\r\n  writeScopes: [\"...\"],\r\n  availableScopes: [\r\n    { authScopeId: \"...\", base44Id: \"...\",  type: \"company\", name: \"Acme Corp\", parentId: null }\r\n  ],\r\n  resourceOverrides: { /* ... */ }\r\n}\r\n2. Security Pillars & Middleware\r\nPure functions that enforce Row Level Security (RLS) and standardized data preparation without requiring direct database access.\r\n\r\nassertCanWrite(session, targetScopeId)\r\n\r\nbuildRlsFilter(session)\r\n\r\nwithSaveMiddleware(data)\r\n\r\ngenerateCanonicalId()\r\n\r\n3. Error Registry & Handling\r\nStandardized error tracking using Module (MOD), Category (CAT), and Action (ACT) constants.\r\n\r\nAppError class\r\n\r\nErrorFactory\r\n\r\n4. Domain Enums\r\nThe universal vocabulary of the AgriCore platform, ensuring type-safety across all microservices (e.g., UserRole, UserPrivilege, AccessLevel, FacilityType, NotificationMode, TaskStatus, RESOURCE_PATHS).\r\n\r\n🔐 Security & Access Control\r\nThe library now includes a centralized logic layer to enforce granular permissions across all AgriCore services.\r\n\r\n---------------------------------------------------------------------\r\n\r\nevaluateBaseAccess: Automatically determines a user's base permission level (NONE, READ, or WRITE) for a specific resource path (e.g., records.financials). It respects the OWNER role \"God Mode\" bypass and uses ROLE_SECTIONS_BY_KEY to provide sensible defaults for different app sections.\r\n\r\nAccess Ranking (resolveEffectiveAccess): Implements an additive permission model. By ranking levels (NONE < READ < WRITE), it allows the system to compare base permissions against specific user overrides and resolve the highest authorized access level.\r\n\r\n🛡️ Multi-Tenant Boundary Protection (Backend Only)\r\nTo ensure absolute data isolation in our multi-tenant environment, the library provides a \"Boundary Guard.\"\r\n\r\nassertTenantBoundary: A critical security function that prevents \"Cross-Tenant\" attacks. It validates that any target userId or authScopeId (Facility/Legal Entity) involved in a request belongs specifically to the requester's companyId. This serves as a final, mandatory check before any database write operations.\r\n\r\n🌳 Infrastructure & Hierarchy Resolution\r\nAgriCore data records require a full \"Infrastructure Path\" (Company ID, Legal Entity ID, and Facility ID). Instead of manual lookups, the library automates tree-walking.\r\n\r\ngenerateInfrastructureFields: This utility takes a user’s activeScope and their availableScopes tree. It recursively walks up the hierarchy—from a specific Facility to the Legal Entity and finally to the Root Company. It resolves all relevant infrastructure IDs and generates a new canonicalId, ensuring that every data record is correctly anchored in the organizational hierarchy.\r\n\r\n// Example: Using the new utilities in a Base44 Save Hook\r\nconst infrastructure = generateInfrastructureFields(activeScope, session.availableScopes);\r\n\r\n// Ensure the user isn't trying to save data into a company they don't belong to\r\nawait assertTenantBoundary(db, session.companyId, { authScopeId: infrastructure.authScopeId });\r\n\r\nconst recordToSave = {\r\n  ...userInput,\r\n  ...infrastructure, // Injects canonicalId, companyId, legalEntityId, etc.\r\n};\r\n\r\nTo completely eliminate database bottlenecks and solve serverless rate-limiting, AgriCore has migrated to a state-of-the-art, \"Zero-DB\" authorization architecture. By decoupling our security rules from the database SDK, our backend API endpoints now resolve complex multi-tenant boundaries and granular role-based access controls in roughly 1 millisecond.\r\n\r\n---------------------------------------------------------------------\r\n\r\nKey Features of the New Security Engine:\r\n\r\nOne-Time Session Generation: On login, the backend dynamically aggregates a user's full hierarchical profile—including role assignments, availableScopes (Company > Legal Entity > Facility), and granular resourceOverrides—into a single, cryptographically signed JSON Web Token (JWT).\r\n\r\nZero-DB Library Validations: The @litusarchieve18/agricore-utils library has been upgraded to utilize pure, synchronous functions. Deep hierarchical access checks (findSpecificOverride) and tenant isolation (assertTenantBoundary) are now resolved directly against the JWT payload in-memory, completely bypassing the database for routine requests.\r\n\r\nSmart Frontend Interceptor: A centralized React hook (useApiClient) acts as an automated API wrapper. It seamlessly injects the user's customJWT and the globally selected activeScopeId into every outbound request. This keeps UI forms completely decoupled from authentication logic.\r\n\r\nInstant Context Switching: Because the JWT securely holds the user's entire \"VIP List\" of permitted scopes, users can instantly switch between farms, legal entities, and facilities in the frontend global dropdown without triggering a new authentication handshake or database query.\r\n\r\n---------------------------------------------------------------------\r\n\r\nThis Document Management Engine provides a standardized, compliant, and migration-ready architecture for handling agricultural records. It ensures that files are stored predictably and matched against audit requirements with high precision.\r\n\r\nDocument Management & Compliance Engine\r\nThis module handles the lifecycle of file assets, from standardized naming and path generation to intelligent metadata matching for compliance audits.\r\n\r\n1. Standardized Taxonomy (DocumentType)\r\nThe DocumentType enum serves as the single source of truth for the AgriCore document ecosystem. It categorizes every record—from SPRAY_RECORD to MAPPING_FARM_MAPS—ensuring that the database remains searchable and consistent across different farms and legal entities.\r\n\r\n2. Smart Routing (generateDocumentPath)\r\nThis function enforces the \"Core vs. Seasonal\" storage architecture. It ensures that permanent files (Fixed Assets) and crop-cycle files (Working Assets) are physically and logically separated:\r\n\r\nStatic Assets (isStatic: true): Routed to {SiteName}/_CORE/{DocumentType}.\r\n\r\nSeasonal Assets: Routed to a strict temporal hierarchy: {SiteName}/_SEASONAL/{Year}/{DocumentType}/{Crop}.\r\n\r\n3. Intelligence Engine (calculateFileMetadataMatch)\r\nA 3-tier matching algorithm used to automatically suggest evidence for audit questions. It evaluates the relevance of a file based on three layers:\r\n\r\nStatic Hard Fails: Strict equality checks for properties like documentType.\r\n\r\nDynamic Hard Fails (mustMatchContext): Ensures files belong to the correct boundaries (e.g., siteId array inclusion) based on the current AuditHeader.\r\n\r\nSoft Relevance Scoring (contextMatch): Calculates a percentage score based on environmental tags like seasonId or crop, allowing the UI to surface the \"best matches\" first.\r\n\r\nQuick Example\r\nTypeScript\r\n// 1. Generate a path for a seasonal spray record\r\nconst path = generateDocumentPath({\r\n  siteName: \"North Farm\",\r\n  docType: DocumentType.SPRAY_RECORD,\r\n  year: 2026,\r\n  crop: \"Mango\"\r\n}); \r\n// Output: North_Farm/_SEASONAL/2026/SPRAY_RECORD/MANGO\r\n\r\n// 2. Score a file against an audit requirement\r\nconst score = calculateFileMetadataMatch(\r\n  { \r\n    mustMatch: { documentType: \"SPRAY_RECORD\" },\r\n    mustMatchContext: [\"siteId\"], // Hard fail if wrong farm\r\n    contextMatch: [\"seasonId\"]    // Soft score for season relevance\r\n  },\r\n  file.metadata,\r\n  auditHeader.context\r\n);\r\n\r\n============================================================================\r\n\r\n🛠️ Development & Publishing Guide\r\nZero Dependencies\r\nTo keep the package ultra-lightweight (~30KB), this library has zero runtime dependencies. All build tools (tsup, typescript) are strictly kept in devDependencies, and the package.json uses the \"files\": [\"dist\"] array to ensure only compiled code is uploaded.\r\n\r\nBuilding Locally\r\nThis project uses tsup for rapid, zero-config bundling into both CommonJS and ES Modules.\r\n\r\nBash\r\nnpm run build\r\nThe \"No-PIN\" Publishing Workflow (NPM 2FA Workaround)\r\nDue to NPM's deprecation of CLI TOTP apps and Windows Security (Passkey) loop issues, publishing updates requires a Granular Access Token with 2FA Bypass.\r\n\r\nTo publish a new version:\r\n\r\nBump the \"version\" in package.json.\r\n\r\nEnsure you have your granular token in a local (git-ignored) .npmrc file:\r\n\r\nIni, TOML\r\n//registry.npmjs.org/:_authToken=npm_YOUR_GRANULAR_TOKEN\r\n(Note: This token MUST be generated from the NPM website with the \"Bypass Two-Factor Authentication\" checkbox enabled for the @litusarchieve18 scope).\r\n\r\nRun the publish command:\r\n\r\nBash\r\nnpm publish --access public\r\n📝 Version History\r\nV1.0.37 — splitting field application and irrigation, adding weekly review, task completion and standardize resource requirement and resource map, except for unused menu\r\nV1.0.36 — splitting blueprint and sites to different menu, operations, and equipment\r\n\r\nV1.0.35 — adding helper quantityTracking and unitCost Units, adjusting priceHelpers as well according to new schema\r\n\r\nV1.0.34 — adding budgetAllocation to chemical and maintenance\r\n\r\nV1.0.33 — creating a function to calculate the concentrationEquivalent\r\n\r\nV1.0.32 — generalize sanitizeSiteName and added export to procurement related object, and generateSystemFolderPath\r\n\r\nV1.0.31 — Added Receival menu path, moving some procurement enum to library, and added a functional calculatePaymentDueDate function \r\n\r\nV1.0.30 — altered authscoped Id to receive a list of string not a single string\r\n\r\nV1.0.29 — altered filtering logic from validFrom_lte: targetIso to validFrom: { $lte: targetIso }\r\n\r\nV1.0.28 — altered the logic and added scope aware filtering and write-time validation in priceHelpers.ts\r\n\r\nV1.0.27 — adding get price helper, and adding adapter pattern to handle the conflicting price\r\n\r\nV1.0.26 — updating evaluatebaseAccess to try look up the parent scope given the current scope is not \r\n\r\nV1.0.25 — adding privileges and changing RESOURCE_PATHS\r\n\r\nV1.0.24 — splitting role dependency into a new file\r\n\r\nV1.0.23 — add two more utility function getScopeAncestry, transformRoleAssignments, evaluateBaseAccess\r\n\r\nV1.0.22 — refactor session object to include multiple roles and privileges\r\n\r\nV1.0.21 — add finance access and some top menu section that were missing\r\n\r\nV1.0.20 — add inventory access reconcile\r\n \r\nV1.0.19 — refactor inventory access in RESOURCE_PATHS \r\n\r\nV1.0.18 — refactor menu structure\r\n\r\nV1.0.17 — refactor type and enum\r\n\r\nV1.0.16 — BarcodeType, BarcodeNamespace, ProductType, ProductUnit, CatalogSyncStatus, StorageTier\r\n\r\nV1.0.15 — add some standardized enum and types for CAR \r\n\r\nV1.0.14 — add DOCUMENT_DISPLAY_INFO do manage the grouping and a little description for UI \r\n\r\nV1.0.13 — add DocumentMenuMap and refactoring library code to export enum\r\n\r\nV1.0.12 — add some functionality to add a file tag\r\n\r\nV1.0.11 — add userName and userEmail to AgriCoreSession\r\n\r\nV1.0.10 — add an explicit exports map\r\n\r\nV1.0.9 — added jwt function\r\n\r\nv1.0.8 — added temporary RESOURCE_REQUIREMENTS\r\n\r\nv1.0.7 — add RESOURCE_MODULE_MAP\r\n\r\nv1.0.6 — adding more logic\r\n\r\nv1.0.5 — refactor the code and edit readme\r\n\r\nv1.0.4 — add generateInfrastructureFields, security access control and multi tenant boundary\r\n\r\nv1.0.3 — add the base44Id\r\n\r\nv1.0.2 — Breaking Change: Upgraded AgriCoreSession interface. Added companyConfig and UI-ready availableScopes arrays to support the frontend hierarchy dropdown without secondary API calls.\r\n\r\nv1.0.1 — Migrated package from private GitHub Registry to public NPM Registry for Base44/Deno compatibility. Removed baseUrl from tsconfig.json for NodeNext compatibility. Cleaned build artifacts from dependencies.\r\n\r\nv1.0.0 — Initial release. Core logging, error factory, and validation utilities.\r\n\r\n\r\n### Analyst Notes on the Process:\r\nThis README captures the entire technical journey we just completed:\r\n1. It explains **how** to import the code into Base44 using the `npm:` prefix.\r\n2. It highlights the **Adapter pattern** and the **v2 Session Object** so future developers know *why* the data is shaped that way.\r\n3. Most importantly, it documents the exact **Publishing Workflow** and the **2FA bypas","readmeFilename":"README.md"}