{"_id":"@avalw/search-worker","_rev":"18-1e85b3c0fc13d8bd7289f425b1fb7518","name":"@avalw/search-worker","dist-tags":{"latest":"2.3.6"},"versions":{"1.0.0":{"name":"@avalw/search-worker","version":"1.0.0","keywords":["avalw","search","worker","distributed","api","privacy","search-engine","decentralized"],"author":{"name":"AVALW","email":"contact@avalw.com"},"license":"MIT","_id":"@avalw/search-worker@1.0.0","maintainers":[{"name":"avalw_official","email":"office@avalw.com"}],"homepage":"https://worker.avalw.org","bugs":{"url":"https://github.com/avalw/search-worker/issues"},"os":["darwin","linux","win32"],"bin":{"avalw-worker":"bin/cli.js"},"dist":{"shasum":"d8282f373ee34c6538f069ee1f9616f4b7b468a6","tarball":"https://registry.npmjs.org/@avalw/search-worker/-/search-worker-1.0.0.tgz","fileCount":8,"integrity":"sha512-6XC3owzY+WG33smYQ2cyrgBkIWSXu51ziqxVAjd6xTivoR/tSRhqj4qO8dDBL/ixuT6jULayIjYLRBY79SuRgg==","signatures":[{"sig":"MEUCIQDgbGTx8Rq+BHSMN8VWtvPXuhv272hu7JqRSfKEQWpRJgIgVWf/X5HXF/mWMCd4p6kDkj5/JQnc6cJpMLYfKSwk/PI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19729},"main":"lib/worker.js","engines":{"node":">=14.0.0"},"gitHead":"1503eec87c60fc4efac7b7dc41a18ae5c368bc68","scripts":{"test":"node test/test.js","start":"node bin/cli.js"},"_npmUser":{"name":"avalw_official","email":"office@avalw.com"},"repository":{"url":"git+https://github.com/avalw/search-worker.git","type":"git"},"_npmVersion":"11.5.2","description":"AVALW Search Worker - Contribute compute power, get free privacy-focused search API access","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/search-worker_1.0.0_1768420375241_0.9353604349939664","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@avalw/search-worker","version":"1.0.1","keywords":["avalw","search","worker","distributed","api","privacy","search-engine","decentralized"],"author":{"name":"AVALW","email":"contact@avalw.com"},"license":"MIT","_id":"@avalw/search-worker@1.0.1","maintainers":[{"name":"avalw_official","email":"office@avalw.com"}],"homepage":"https://worker.avalw.org","bugs":{"url":"https://github.com/avalw/search-worker/issues"},"os":["darwin","linux","win32"],"bin":{"avalw-worker":"bin/cli.js"},"dist":{"shasum":"344307fa6725830c91c677eaf504a06254ac7bb7","tarball":"https://registry.npmjs.org/@avalw/search-worker/-/search-worker-1.0.1.tgz","fileCount":8,"integrity":"sha512-pQlAtY8cgGQlCpaFy1DhZXIRRdJ/nntPGodTAgjhVnuXbEdXD4q6sj5MhPd4XfqMgWcbMC7bX2YqIhRVAk2EIA==","signatures":[{"sig":"MEQCIGrh1hM8epkCuY08DwEoCEHzSG5giZRylRnMv8f6YxjPAiB9Y/hzz9g7TENQTCy+z+2ko73S56ht35o7qZD0aWUyxg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20756},"main":"lib/worker.js","engines":{"node":">=14.0.0"},"gitHead":"caf4986eab2ae6208fc59a2604f316732a272e93","scripts":{"test":"node test/test.js","start":"node bin/cli.js"},"_npmUser":{"name":"avalw_official","email":"office@avalw.com"},"repository":{"url":"git+https://github.com/avalw/search-worker.git","type":"git"},"_npmVersion":"11.5.2","description":"AVALW Search Worker - Contribute compute power, get free privacy-focused search API access","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/search-worker_1.0.1_1768420530802_0.023305153173276194","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@avalw/search-worker","version":"1.0.2","keywords":["avalw","search","worker","distributed","api","privacy","search-engine","decentralized"],"author":{"name":"AVALW","email":"contact@avalw.com"},"license":"MIT","_id":"@avalw/search-worker@1.0.2","maintainers":[{"name":"avalw_official","email":"office@avalw.com"}],"homepage":"https://worker.avalw.org","os":["darwin","linux","win32"],"bin":{"avalw-worker":"bin/cli.js"},"dist":{"shasum":"cb3c4aa3d2db94488492f9706c75c4317a8e7639","tarball":"https://registry.npmjs.org/@avalw/search-worker/-/search-worker-1.0.2.tgz","fileCount":8,"integrity":"sha512-Z+IQJsPxAr7SV/0alw/ZXfY8G70H/8X7VPypfdn87Ppm5hpLZLkl+KxQLmIEf3+isfjbaTrScumGwc6SmFpmLg==","signatures":[{"sig":"MEYCIQC5tzsS4i/5UM/UKurhcUbFBy8lj9NDDM+MrZzksDMT8QIhAPCGphAtaKDcdTp9D0kkLg+zJDx9amZyCJPng49LzK56","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20398},"main":"lib/worker.js","engines":{"node":">=14.0.0"},"gitHead":"b9f6075db405e998122798fb371eb019a33ea7b6","scripts":{"test":"node test/test.js","start":"node bin/cli.js"},"_npmUser":{"name":"avalw_official","email":"office@avalw.com"},"_npmVersion":"11.5.2","description":"AVALW Search Worker - Contribute compute power, get free privacy-focused search API access","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/search-worker_1.0.2_1768420719974_0.0805974110385046","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@avalw/search-worker","version":"1.0.3","keywords":["avalw","search","worker","distributed","api","privacy","search-engine","decentralized"],"author":{"name":"AVALW","email":"contact@avalw.com"},"license":"MIT","_id":"@avalw/search-worker@1.0.3","maintainers":[{"name":"avalw_official","email":"office@avalw.com"}],"homepage":"https://worker.avalw.org","os":["darwin","linux","win32"],"bin":{"avalw-worker":"bin/cli.js"},"dist":{"shasum":"a64d1caa42947377058779da14f7e4ef9ca2dcaa","tarball":"https://registry.npmjs.org/@avalw/search-worker/-/search-worker-1.0.3.tgz","fileCount":8,"integrity":"sha512-OQdCerbwJoirxBVtQBhdu15x3YcDDmvBfiruXbSK6vkwHUaKVHCeDRsjykDrXmByHLR1PDhr5f+Ho2d2OqWK7A==","signatures":[{"sig":"MEUCIQDZdnf0+aQI4/Bw4roH8RBM0dgwEzbDgsuc/8FyGzMg5QIgRId4UxRnU4EXzSlDybtZSsfl9WDV3VHLfKBT/qGBW/8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20726},"main":"lib/worker.js","engines":{"node":">=14.0.0"},"gitHead":"3eddcafc5aa5f6d983d6590fec6c16511ffb2440","scripts":{"test":"node test/test.js","start":"node bin/cli.js"},"_npmUser":{"name":"avalw_official","email":"office@avalw.com"},"_npmVersion":"11.5.2","description":"AVALW Search Worker - Contribute compute power, get free privacy-focused search API access","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/search-worker_1.0.3_1768421819112_0.2558687069041883","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@avalw/search-worker","version":"1.1.0","keywords":["avalw","search","worker","distributed","api","privacy","search-engine","decentralized"],"author":{"name":"AVALW","email":"contact@avalw.com"},"license":"MIT","_id":"@avalw/search-worker@1.1.0","maintainers":[{"name":"avalw_official","email":"office@avalw.com"}],"homepage":"https://worker.avalw.org","os":["darwin","linux","win32"],"bin":{"avalw-worker":"bin/cli.js"},"dist":{"shasum":"fc30e6e30d631a77bddb6b5491f4cd45e93daff0","tarball":"https://registry.npmjs.org/@avalw/search-worker/-/search-worker-1.1.0.tgz","fileCount":8,"integrity":"sha512-h7uulHRunmKy+9egQXIQxxgKvtaKu+YCST4Qlhs9AbgIZZuIqp6EMxaVY+NI/ZtJ6ukzxXfu5CgxPZOc6V8NUg==","signatures":[{"sig":"MEYCIQDa5xXAItoSYjVbLOwXCtn9/C4QHJ4JV03RvdwWGIk/NQIhAIhPP3+lsCSBpnEaK+PPOAql/oRsXPl3Z9vqC+6aXfXE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50233},"main":"lib/worker.js","engines":{"node":">=14.0.0"},"gitHead":"5124805f6660af1cca61e832d0d9428b8d5b55ee","scripts":{"test":"node test/test.js","start":"node bin/cli.js"},"_npmUser":{"name":"avalw_official","email":"office@avalw.com"},"_npmVersion":"11.5.2","description":"AVALW Search Worker - Contribute compute power, get free privacy-focused search API access","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/search-worker_1.1.0_1768422144485_0.20299141296745815","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@avalw/search-worker","version":"2.1.0","keywords":["avalw","search","worker","distributed","cache","compute"],"author":{"name":"AVALW Team"},"license":"MIT","_id":"@avalw/search-worker@2.1.0","maintainers":[{"name":"avalw_official","email":"office@avalw.com"}],"homepage":"https://worker.avalw.org","bugs":{"url":"https://github.com/avalw/search-worker/issues"},"bin":{"avalw-worker":"bin/cli.js"},"dist":{"shasum":"6c1f54068943d4f6b2efa5d894d28eadfffe36bc","tarball":"https://registry.npmjs.org/@avalw/search-worker/-/search-worker-2.1.0.tgz","fileCount":4,"integrity":"sha512-Idz12JEU2CCvZarlupVOQLYMn9ud1ZBmd4LxnQIQyt2oM4/Efr9G9fNMW7I6W0IsPJ6Jbka1nC6my4SKzk1kXA==","signatures":[{"sig":"MEQCIHzLNLBPbvnUIz+miH2NapyxxdiRR/gclodDygGpXbUOAiBeMtJeTxVCBtzYdjb36QERFVID4X9KAIuXut30MkFx0Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56532},"main":"index.js","engines":{"node":">=14.0.0"},"scripts":{"test":"echo \"Tests coming soon\" && exit 0","start":"node bin/cli.js"},"_npmUser":{"name":"avalw_official","email":"office@avalw.com"},"repository":{"url":"git+https://github.com/avalw/search-worker.git","type":"git"},"_npmVersion":"11.5.2","description":"AVALW Distributed Cache Worker - Intelligent caching with size limits and auto-cleanup","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ws":"^8.14.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/search-worker_2.1.0_1768436521850_0.7675912322144556","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"@avalw/search-worker","version":"2.1.1","keywords":["avalw","search","worker","distributed","cache","compute"],"author":{"name":"AVALW Team"},"license":"MIT","_id":"@avalw/search-worker@2.1.1","maintainers":[{"name":"avalw_official","email":"office@avalw.com"}],"homepage":"https://worker.avalw.org","bugs":{"url":"https://github.com/avalw/search-worker/issues"},"bin":{"avalw-worker":"bin/cli.js"},"dist":{"shasum":"543d52a110601fbc21791746929d63ac8ef2b5da","tarball":"https://registry.npmjs.org/@avalw/search-worker/-/search-worker-2.1.1.tgz","fileCount":4,"integrity":"sha512-AKZSlBQwixq45NgDLswEYY1araZvJ0ac90L7N0cMx9jk0CfaOwMiYDDH2A2lxbcQK4BCp85xgLdb3xwvRe6GYA==","signatures":[{"sig":"MEUCIQCnE/mqadoobZsLfCLuuXjaVMQNbFyUU/gEj0L5J/wWSwIgPkhimoJNxWUr5/tRSnZ3/RcbivjIlyZB1iOUAdCuzgI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56364},"main":"index.js","engines":{"node":">=14.0.0"},"scripts":{"test":"echo \"Tests coming soon\" && exit 0","start":"node bin/cli.js"},"_npmUser":{"name":"avalw_official","email":"office@avalw.com"},"repository":{"url":"git+https://github.com/avalw/search-worker.git","type":"git"},"_npmVersion":"11.5.2","description":"AVALW Distributed Cache Worker - Intelligent caching with size limits and auto-cleanup","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ws":"^8.14.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/search-worker_2.1.1_1768436768625_0.033905828140556205","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@avalw/search-worker","version":"2.2.0","keywords":["avalw","search","worker","distributed","cache","compute"],"author":{"name":"AVALW Team"},"license":"MIT","_id":"@avalw/search-worker@2.2.0","maintainers":[{"name":"avalw_official","email":"office@avalw.com"}],"homepage":"https://worker.avalw.org","bugs":{"url":"https://github.com/avalw/search-worker/issues"},"bin":{"avalw-worker":"bin/cli.js"},"dist":{"shasum":"2c3dcd295c49a6fdd62ab7771b32713b4bac8b2a","tarball":"https://registry.npmjs.org/@avalw/search-worker/-/search-worker-2.2.0.tgz","fileCount":4,"integrity":"sha512-b2+Bj76WoyBVLGQl/Y/FvysJ2rqj10sfcZV5AzK2TjvxQbTY3LUknluFQ6358/DaRr138z1RfrKiE/Rd2lcP9g==","signatures":[{"sig":"MEQCIFE45ILEoD9qzAzT7LpKNxEZiSHsuRxik9hZlE0q+iZJAiAtc7yQ7GkXkhrbD58p3Ib0vJUl0Zb4X9eBOsxFeoS5IQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56697},"main":"index.js","engines":{"node":">=14.0.0"},"scripts":{"test":"echo \"Tests coming soon\" && exit 0","start":"node bin/cli.js"},"_npmUser":{"name":"avalw_official","email":"office@avalw.com"},"repository":{"url":"git+https://github.com/avalw/search-worker.git","type":"git"},"_npmVersion":"11.5.2","description":"AVALW Distributed Cache Worker - Privacy-focused intelligent caching","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ws":"^8.14.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/search-worker_2.2.0_1768445435231_0.9304931124937854","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@avalw/search-worker","version":"2.3.0","keywords":["avalw","search","worker","distributed","cache","compute"],"author":{"name":"AVALW Team"},"license":"MIT","_id":"@avalw/search-worker@2.3.0","maintainers":[{"name":"avalw_official","email":"office@avalw.com"}],"homepage":"https://worker.avalw.org","bugs":{"url":"https://github.com/avalw/search-worker/issues"},"bin":{"avalw-worker":"bin/cli.js"},"dist":{"shasum":"d081e27988699cb59e09d79fd3480f1e93e134dd","tarball":"https://registry.npmjs.org/@avalw/search-worker/-/search-worker-2.3.0.tgz","fileCount":4,"integrity":"sha512-V/aMB9W2aNQiK9LFRIIAIBsyIfQmG/momncieD3AyRW6SHt0Eu7oFa8DSlAw27UNYsUO7hoIq4aWNwNP2QCQrA==","signatures":[{"sig":"MEQCIG6qERkEFJ9/qUIhTTljSslemeXtuKGzcKprYhavHvk9AiBFIzXSSbtuIvvwEJpxnDbhmEqIJjASoF7Ek+/cUUl+ww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58629},"main":"index.js","engines":{"node":">=14.0.0"},"scripts":{"test":"echo \"Tests coming soon\" && exit 0","start":"node bin/cli.js"},"_npmUser":{"name":"avalw_official","email":"office@avalw.com"},"repository":{"url":"git+https://github.com/avalw/search-worker.git","type":"git"},"_npmVersion":"11.5.2","description":"AVALW Distributed Cache Worker - Powers avalw.org & Cronos Browser search","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ws":"^8.14.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/search-worker_2.3.0_1768452712728_0.22101148519839975","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"@avalw/search-worker","version":"2.3.1","keywords":["avalw","search","worker","distributed","cache","compute"],"author":{"name":"AVALW Team"},"license":"MIT","_id":"@avalw/search-worker@2.3.1","maintainers":[{"name":"avalw_official","email":"office@avalw.com"}],"homepage":"https://worker.avalw.org","bugs":{"url":"https://github.com/avalw/search-worker/issues"},"bin":{"avalw-worker":"bin/cli.js"},"dist":{"shasum":"6b4c165ef784772eda84318bf17b703d99ad361e","tarball":"https://registry.npmjs.org/@avalw/search-worker/-/search-worker-2.3.1.tgz","fileCount":4,"integrity":"sha512-qqTgXr4ituvdNnCLyb0EpvH/djGe+HVDT12lA02ahB3ofbbthS5x7kqn9eFSfkWgL80m9FsjPBZxRoQfH3jz6w==","signatures":[{"sig":"MEQCIDcoE4KvgvlxiJWHpuZnNc5p4zXdFFlrwYB4X2baqt/SAiBCovGmkK1CoMxQPXEiaD285Az3u4FzfXVFeJeO2gXOww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57320},"main":"index.js","engines":{"node":">=14.0.0"},"scripts":{"test":"echo \"Tests coming soon\" && exit 0","start":"node bin/cli.js"},"_npmUser":{"name":"avalw_official","email":"office@avalw.com"},"repository":{"url":"git+https://github.com/avalw/search-worker.git","type":"git"},"_npmVersion":"11.5.2","description":"AVALW Distributed Cache Worker - Intelligent caching with size limits and auto-cleanup","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ws":"^8.14.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/search-worker_2.3.1_1768706373444_0.37827261126804235","host":"s3://npm-registry-packages-npm-production"}},"2.3.2":{"name":"@avalw/search-worker","version":"2.3.2","keywords":["avalw","search","worker","distributed","cache","compute"],"author":{"name":"AVALW Team"},"license":"MIT","_id":"@avalw/search-worker@2.3.2","maintainers":[{"name":"avalw_official","email":"office@avalw.com"}],"homepage":"https://worker.avalw.org","bugs":{"url":"https://github.com/avalw/search-worker/issues"},"bin":{"avalw-worker":"bin/cli.js"},"dist":{"shasum":"12827dcdb5974f5ffe76d60ad838b18a0b53ab58","tarball":"https://registry.npmjs.org/@avalw/search-worker/-/search-worker-2.3.2.tgz","fileCount":4,"integrity":"sha512-6YKRLe2PYp6umf15ofYno5R16KNOtEZ21z9C9e1C+iEofbHN6BEmHf+B6DZdnNXIjskr/dujjg6pp0g7EpOlrg==","signatures":[{"sig":"MEQCIAR5EBVzjdsNUoihjp7tC+KCswcRjJ4uXaiI3s2tbMCRAiAwwaTtYZtM1g7L6hfsHfGEZh4I1mjkoBXsrZCH+pjo2A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56381},"main":"index.js","engines":{"node":">=14.0.0"},"scripts":{"test":"echo \"Tests coming soon\" && exit 0","start":"node bin/cli.js"},"_npmUser":{"name":"avalw_official","email":"office@avalw.com"},"repository":{"url":"git+https://github.com/avalw/search-worker.git","type":"git"},"_npmVersion":"11.5.2","description":"AVALW Distributed Cache Worker - Intelligent caching with size limits and auto-cleanup","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ws":"^8.14.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/search-worker_2.3.2_1768709110082_0.2247758483972273","host":"s3://npm-registry-packages-npm-production"}},"2.3.3":{"name":"@avalw/search-worker","version":"2.3.3","keywords":["avalw","search","worker","distributed","cache","compute"],"author":{"name":"AVALW Team"},"license":"MIT","_id":"@avalw/search-worker@2.3.3","maintainers":[{"name":"avalw_official","email":"office@avalw.com"}],"homepage":"https://worker.avalw.org","bugs":{"url":"https://github.com/avalw/search-worker/issues"},"bin":{"avalw-worker":"bin/cli.js"},"dist":{"shasum":"840661ce6da3e689d66f98bdcfee82486ac561b7","tarball":"https://registry.npmjs.org/@avalw/search-worker/-/search-worker-2.3.3.tgz","fileCount":4,"integrity":"sha512-O7YlTDWGAMb1FyOaqx4GNvrDb5MvTcY39Dc0LQ3Jpj2O82cc4PjeTkE3vEuedNTLMOH3mW16C4xpPLAZm9Y8Jw==","signatures":[{"sig":"MEYCIQDNsxt1CIBgJ7cSwiSxxJFf/5LULvUIWaubxsvH1BEjlQIhAJvNnHUBR/9LNusTRf3pBHI461WQ58TRvhpvV7ajXCf5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56483},"main":"index.js","engines":{"node":">=14.0.0"},"scripts":{"test":"echo \"Tests coming soon\" && exit 0","start":"node bin/cli.js"},"_npmUser":{"name":"avalw_official","email":"office@avalw.com"},"deprecated":"Privacy issue - upgrade to 2.3.6","repository":{"url":"git+https://github.com/avalw/search-worker.git","type":"git"},"_npmVersion":"11.5.2","description":"AVALW Distributed Cache Worker - Intelligent caching with size limits and auto-cleanup","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ws":"^8.14.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/search-worker_2.3.3_1768870682757_0.7688949455486007","host":"s3://npm-registry-packages-npm-production"}},"2.3.4":{"name":"@avalw/search-worker","version":"2.3.4","keywords":["avalw","search","worker","distributed","cache","compute"],"author":{"name":"AVALW Team"},"license":"MIT","_id":"@avalw/search-worker@2.3.4","maintainers":[{"name":"avalw_official","email":"office@avalw.com"}],"homepage":"https://worker.avalw.org","bugs":{"url":"https://github.com/avalw/search-worker/issues"},"bin":{"avalw-worker":"bin/cli.js"},"dist":{"shasum":"47945c13c404f22f5f9cf5b2b166a5ae96a27bed","tarball":"https://registry.npmjs.org/@avalw/search-worker/-/search-worker-2.3.4.tgz","fileCount":4,"integrity":"sha512-wRRDkGEFjYIiiZgl6E94LWf+Xtvrcg+N35H8Hpvu18PK7ryWikamawTHDSyxeDGh5m7wIjmOfY/QComzrLq1xw==","signatures":[{"sig":"MEQCIF+9OPQngqTkq4t0m3m5/rLtzYZPVTOavLQLwH+TcRhqAiBVNZipsvzYZmfeuUqCJJ9Xf3yB5YP5EDqoI1b+IVqmyQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56911},"main":"index.js","engines":{"node":">=14.0.0"},"scripts":{"test":"echo \"Tests coming soon\" && exit 0","start":"node bin/cli.js"},"_npmUser":{"name":"avalw_official","email":"office@avalw.com"},"deprecated":"Privacy issue - upgrade to 2.3.6","repository":{"url":"git+https://github.com/avalw/search-worker.git","type":"git"},"_npmVersion":"11.5.2","description":"AVALW Distributed Cache Worker - Intelligent caching with size limits and auto-cleanup","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ws":"^8.14.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/search-worker_2.3.4_1768871012601_0.9840642332997875","host":"s3://npm-registry-packages-npm-production"}},"2.3.5":{"name":"@avalw/search-worker","version":"2.3.5","keywords":["avalw","search","worker","distributed","cache","compute"],"author":{"name":"AVALW Team"},"license":"MIT","_id":"@avalw/search-worker@2.3.5","maintainers":[{"name":"avalw_official","email":"office@avalw.com"}],"homepage":"https://worker.avalw.org","bugs":{"url":"https://github.com/avalw/search-worker/issues"},"bin":{"avalw-worker":"bin/cli.js"},"dist":{"shasum":"fbe7f811fdb1c3ba9b1f9af52ab7411dcfadbac3","tarball":"https://registry.npmjs.org/@avalw/search-worker/-/search-worker-2.3.5.tgz","fileCount":4,"integrity":"sha512-jZHeIHghkGde/PUW9ANy+LD1eX26wNOuObge5Xn3BdfTQbb1S067zJSSH/Lrev0UKcBp2qfA/sUPW19kEr7qaA==","signatures":[{"sig":"MEUCIF2dEKjTgYjOdEA0eg3VPJMR4mRdogcsC8Ko4VWS9kOpAiEAwN5oJIVNFmPGdzDUNefa3dBJ82GuO44BbK2P1uaqn0k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56790},"main":"index.js","engines":{"node":">=14.0.0"},"scripts":{"test":"echo \"Tests coming soon\" && exit 0","start":"node bin/cli.js"},"_npmUser":{"name":"avalw_official","email":"office@avalw.com"},"repository":{"url":"git+https://github.com/avalw/search-worker.git","type":"git"},"_npmVersion":"11.5.2","description":"AVALW Distributed Cache Worker - Intelligent caching with size limits and auto-cleanup","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ws":"^8.14.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/search-worker_2.3.5_1768875014617_0.1463891919811886","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Privacy issue - upgrade to 2.3.6"},"2.3.6":{"name":"@avalw/search-worker","version":"2.3.6","keywords":["avalw","search","worker","distributed","cache","compute"],"author":{"name":"AVALW Team"},"license":"MIT","_id":"@avalw/search-worker@2.3.6","maintainers":[{"name":"avalw_official","email":"office@avalw.com"}],"homepage":"https://worker.avalw.org","bugs":{"url":"https://github.com/avalw/search-worker/issues"},"bin":{"avalw-worker":"bin/cli.js"},"dist":{"shasum":"56b5ec5451b63c327b26bf5a740cb3130086d863","tarball":"https://registry.npmjs.org/@avalw/search-worker/-/search-worker-2.3.6.tgz","fileCount":4,"integrity":"sha512-S2JD8E85NqiOb61L1ftNnd7vdxQCs8EaBsDFN6qt0Zn2vpcfcVsMjHaRw2N9lGsD9FwY1YJRFdODEXJ/WX8cxQ==","signatures":[{"sig":"MEUCIF1krFzJo2vvnU4314S6nxKWbck24lKp0xAvV/E3Bvd0AiEA+RetMwnj+n2WuSYtaQxCH54uD9Ottw8OhxY9AMKYnjA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56651},"main":"index.js","engines":{"node":">=14.0.0"},"scripts":{"test":"echo \"Tests coming soon\" && exit 0","start":"node bin/cli.js"},"_npmUser":{"name":"avalw_official","email":"office@avalw.com"},"repository":{"url":"git+https://github.com/avalw/search-worker.git","type":"git"},"_npmVersion":"11.5.2","description":"AVALW Distributed Cache Worker - Intelligent caching with size limits and auto-cleanup","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ws":"^8.14.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/search-worker_2.3.6_1768900830199_0.6889799549601234","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-01-14T19:52:55.144Z","modified":"2026-01-20T09:22:31.488Z","1.0.0":"2026-01-14T19:52:55.389Z","1.0.1":"2026-01-14T19:55:30.936Z","1.0.2":"2026-01-14T19:58:40.146Z","1.0.3":"2026-01-14T20:16:59.273Z","1.1.0":"2026-01-14T20:22:24.666Z","2.1.0":"2026-01-15T00:22:02.008Z","2.1.1":"2026-01-15T00:26:08.770Z","2.2.0":"2026-01-15T02:50:35.359Z","2.3.0":"2026-01-15T04:51:52.866Z","2.3.1":"2026-01-18T03:19:33.569Z","2.3.2":"2026-01-18T04:05:10.229Z","2.3.3":"2026-01-20T00:58:02.901Z","2.3.4":"2026-01-20T01:03:32.748Z","2.3.5":"2026-01-20T02:10:14.753Z","2.3.6":"2026-01-20T09:20:30.343Z"},"bugs":{"url":"https://github.com/avalw/search-worker/issues"},"author":{"name":"AVALW Team"},"license":"MIT","homepage":"https://worker.avalw.org","keywords":["avalw","search","worker","distributed","cache","compute"],"repository":{"url":"git+https://github.com/avalw/search-worker.git","type":"git"},"description":"AVALW Distributed Cache Worker - Intelligent caching with size limits and auto-cleanup","maintainers":[{"name":"avalw_official","email":"office@avalw.com"}],"readme":"# @avalw/search-worker\r\n\r\n> Distributed Cache Worker for AVALW Search Network\r\n\r\nContribute your computer's cache storage to the AVALW search network and earn free API access in return.\r\n\r\n## How It Works\r\n\r\n```\r\n┌─────────────────────────────────────────────────────────────────────────┐\r\n│                        AVALW DISTRIBUTED CACHE                          │\r\n├─────────────────────────────────────────────────────────────────────────┤\r\n│                                                                         │\r\n│    ┌─────────┐         ┌──────────────┐         ┌─────────────┐        │\r\n│    │  User   │────────▶│  avalw.org   │────────▶│ Coordinator │        │\r\n│    │ Search  │         │   Server     │         │   Server    │        │\r\n│    └─────────┘         └──────────────┘         └──────┬──────┘        │\r\n│                                                        │               │\r\n│                              ┌─────────────────────────┼───────┐       │\r\n│                              │                         │       │       │\r\n│                              ▼                         ▼       ▼       │\r\n│                        ┌──────────┐            ┌──────────┐ ┌──────┐   │\r\n│                        │ Worker 1 │            │ Worker 2 │ │ ...  │   │\r\n│                        │  Cache   │            │  Cache   │ │      │   │\r\n│                        └──────────┘            └──────────┘ └──────┘   │\r\n│                                                                         │\r\n│    YOUR WORKER stores search results and serves them when requested     │\r\n│                                                                         │\r\n└─────────────────────────────────────────────────────────────────────────┘\r\n```\r\n\r\n### The Flow\r\n\r\n```\r\n1. USER SEARCHES          2. CHECK CACHE           3. SERVE RESULT\r\n   \"spotify\"\r\n                          ┌─────────────┐\r\n   ┌──────┐              │ Coordinator  │         ┌──────────┐\r\n   │ User │──search──▶   │   checks     │──hit──▶ │  Worker  │──result──▶ User\r\n   └──────┘              │   workers    │         │  serves  │\r\n                         └─────────────┘          └──────────┘\r\n                               │\r\n                          miss │\r\n                               ▼\r\n                         ┌──────────┐\r\n                         │  Server  │──result──▶ User + Distribute to Workers\r\n                         │ process  │\r\n                         └──────────┘\r\n```\r\n\r\n### What Your Worker Does vs. Doesn't Do\r\n\r\n```\r\n   ✅ DOES                              ❌ DOESN'T\r\n   ─────────────────────────────────    ─────────────────────────────────\r\n   • Store search RESULTS               • Have the search INDEX\r\n   • Serve cached results               • Process raw documents\r\n   • Use 50-200MB RAM                   • Use significant CPU\r\n   • Use 500MB-2GB disk                 • Access your files\r\n   • Connect via WebSocket              • Run arbitrary code\r\n   • Earn you API access                • Collect your data\r\n```\r\n\r\n## Quick Start\r\n\r\n```bash\r\n# 1. Get your token at https://worker.avalw.org\r\n# 2. Run the worker:\r\nnpx @avalw/search-worker --token YOUR_TOKEN\r\n```\r\n\r\nThat's it! Your worker will connect and start contributing.\r\n\r\n## Installation\r\n\r\n```bash\r\n# Global install\r\nnpm install -g @avalw/search-worker\r\n\r\n# Or use npx (no install needed)\r\nnpx @avalw/search-worker --token YOUR_TOKEN\r\n```\r\n\r\n## What's New in v2.1.0\r\n\r\n```\r\n┌────────────────────────────────────────────────────────────────┐\r\n│  INTELLIGENT CACHE SYSTEM                                      │\r\n├────────────────────────────────────────────────────────────────┤\r\n│                                                                │\r\n│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐            │\r\n│  │ Size Limits │  │ Time-Based  │  │ Popularity  │            │\r\n│  │ 100MB - 2GB │  │  Eviction   │  │  Scoring    │            │\r\n│  └─────────────┘  └─────────────┘  └─────────────┘            │\r\n│                                                                │\r\n│  • Cache up to 2GB of search results                          │\r\n│  • Auto-remove queries unused for 7+ days                     │\r\n│  • Popular queries stay cached longer                         │\r\n│  • Background cleanup every hour                              │\r\n│                                                                │\r\n└────────────────────────────────────────────────────────────────┘\r\n```\r\n\r\n## Command Line Options\r\n\r\n```bash\r\n# Basic usage (500MB cache, 7 day retention)\r\nnpx @avalw/search-worker --token abc123\r\n\r\n# Custom cache size (100-2048 MB)\r\nnpx @avalw/search-worker --token abc123 --cache-size 1024\r\n\r\n# Custom retention (1-30 days)\r\nnpx @avalw/search-worker --token abc123 --max-age 14\r\n\r\n# Full customization\r\nnpx @avalw/search-worker \\\r\n  --token abc123 \\\r\n  --cache-size 1024 \\\r\n  --max-age 14\r\n```\r\n\r\n### All Options\r\n\r\n```\r\n┌──────────────────┬─────────────────┬───────────────────────────────────┐\r\n│ Option           │ Default         │ Description                       │\r\n├──────────────────┼─────────────────┼───────────────────────────────────┤\r\n│ -t, --token      │ $AVALW_TOKEN    │ Your worker authentication token  │\r\n│ -s, --cache-size │ 500             │ Max cache size in MB (100-2048)   │\r\n│ -a, --max-age    │ 7               │ Days to keep unused queries (1-30)│\r\n│ -h, --help       │                 │ Show help                         │\r\n│ -v, --version    │                 │ Show version                      │\r\n└──────────────────┴─────────────────┴───────────────────────────────────┘\r\n```\r\n\r\n### Environment Variables\r\n\r\n```bash\r\nexport AVALW_WORKER_TOKEN=your-token-here\r\nexport AVALW_CACHE_SIZE_MB=1024\r\nexport AVALW_MAX_AGE_DAYS=14\r\nnpx @avalw/search-worker\r\n```\r\n\r\n## Programmatic Usage\r\n\r\n```javascript\r\nconst { createWorker } = require('@avalw/search-worker');\r\n\r\nconst worker = createWorker({\r\n  workerToken: 'your-token-here',\r\n\r\n  // Cache configuration\r\n  cacheSizeMB: 1024,       // 1GB cache\r\n  maxAgeDays: 14,          // 14 day retention\r\n\r\n  // Event handlers\r\n  onConnected: (w) => console.log('Connected to coordinator'),\r\n  onDisconnected: (w) => console.log('Disconnected'),\r\n  onCacheHit: (key) => console.log('Served:', key),\r\n  onCacheStore: (key) => console.log('Cached:', key),\r\n  onError: (err) => console.error('Error:', err)\r\n});\r\n\r\n// Connect\r\nworker.connect();\r\n\r\n// Get stats\r\nconst stats = worker.getStats();\r\nconsole.log(`Cache: ${stats.cache.sizeFormatted} / ${stats.cache.maxSizeFormatted}`);\r\nconsole.log(`Hit rate: ${stats.hitRate}%`);\r\n\r\n// Runtime configuration\r\nworker.setCacheSize(2048);  // Change to 2GB\r\nworker.setCacheMaxAge(30);  // Change to 30 days\r\n\r\n// Cleanup\r\nworker.disconnect();\r\n```\r\n\r\n## API Tiers & Rewards\r\n\r\nYour contribution is measured in Core-Hours:\r\n\r\n```\r\n┌─────────────────────────────────────────────────────────────────────┐\r\n│                         CORE-HOURS FORMULA                          │\r\n├─────────────────────────────────────────────────────────────────────┤\r\n│                                                                     │\r\n│   Core-Hours = Cores × (CPU Speed ÷ 3.0 GHz) × Usage% × Hours      │\r\n│                                                                     │\r\n│   Example: 8 cores × (3.5 GHz ÷ 3.0 GHz) × 80% × 1 hour            │\r\n│          = 8 × 1.17 × 0.8 × 1 = 7.5 Core-Hours                     │\r\n│                                                                     │\r\n└─────────────────────────────────────────────────────────────────────┘\r\n```\r\n\r\n### Tier Benefits\r\n\r\n```\r\n┌─────────────┬────────────┬───────────┬─────────────────┐\r\n│ Tier        │ Core-Hours │ Min Cores │ API Requests    │\r\n├─────────────┼────────────┼───────────┼─────────────────┤\r\n│ Starter     │ 3          │ 3         │ 1,000/day       │\r\n│ Basic       │ 12         │ 4         │ 5,000/day       │\r\n│ Pro         │ 36         │ 6         │ 20,000/day      │\r\n│ Business    │ 72         │ 8         │ 50,000/day      │\r\n│ Enterprise  │ 240        │ 16        │ 500,000/day     │\r\n└─────────────┴────────────┴───────────┴─────────────────┘\r\n```\r\n\r\n## Intelligent Cache Details\r\n\r\n### How Eviction Works\r\n\r\n```\r\n┌─────────────────────────────────────────────────────────────┐\r\n│                    EVICTION PRIORITY                        │\r\n├─────────────────────────────────────────────────────────────┤\r\n│                                                             │\r\n│  1. EXPIRED TTL                                             │\r\n│     └── Items past their time-to-live (5 min default)      │\r\n│                                                             │\r\n│  2. MAX AGE EXCEEDED                                        │\r\n│     └── Items not accessed for N days (7 days default)     │\r\n│                                                             │\r\n│  3. LOWEST POPULARITY                                       │\r\n│     └── Score = log2(accessCount) × recency × stability    │\r\n│                                                             │\r\n│  Priority: 1 > 2 > 3 (expired items removed first)         │\r\n│                                                             │\r\n└─────────────────────────────────────────────────────────────┘\r\n```\r\n\r\n### Popularity Scoring\r\n\r\n```\r\nScore = log2(accessCount + 1) × recencyFactor × stabilityFactor\r\n\r\n┌─────────────────┬─────────────────────────────────────────┐\r\n│ Factor          │ Description                             │\r\n├─────────────────┼─────────────────────────────────────────┤\r\n│ accessCount     │ Number of times the query was accessed  │\r\n│ recencyFactor   │ 1.0 → 0.0 over 7 days since last access │\r\n│ stabilityFactor │ Higher for consistent access patterns   │\r\n└─────────────────┴─────────────────────────────────────────┘\r\n\r\nExample: Query accessed 100 times, last accessed 1 day ago\r\nScore = log2(101) × 0.86 × 1.2 = 6.65 × 0.86 × 1.2 = 6.86\r\n```\r\n\r\n## Resource Usage\r\n\r\n```\r\n┌──────────────────────────────────────────────────────────┐\r\n│                 TYPICAL RESOURCE USAGE                   │\r\n├──────────────────────────────────────────────────────────┤\r\n│                                                          │\r\n│  CPU:     1-5%     [▓░░░░░░░░░░░░░░░░░░░] minimal       │\r\n│  RAM:     50-200MB [▓▓▓▓░░░░░░░░░░░░░░░░] light         │\r\n│  Disk:    500MB-2GB [▓▓▓▓▓▓▓▓░░░░░░░░░░░░] configurable │\r\n│  Network: Low       [▓▓░░░░░░░░░░░░░░░░░░] WebSocket    │\r\n│                                                          │\r\n└──────────────────────────────────────────────────────────┘\r\n```\r\n\r\n## Privacy & Security\r\n\r\n```\r\n┌────────────────────────────────────────────────────────────────┐\r\n│                      PRIVACY GUARANTEES                        │\r\n├────────────────────────────────────────────────────────────────┤\r\n│                                                                │\r\n│  ✓ Workers cache RESULTS only, not the search index           │\r\n│  ✓ No IP addresses are logged                                 │\r\n│  ✓ Workers don't see who requested a search                   │\r\n│  ✓ All communication encrypted (WSS/HTTPS)                    │\r\n│  ✓ No access to your local files                              │\r\n│  ✓ Open source - audit the code yourself                      │\r\n│                                                                │\r\n└────────────────────────────────────────────────────────────────┘\r\n```\r\n\r\n## Running as a Service\r\n\r\n### Linux (systemd)\r\n\r\n```bash\r\n# Create service file\r\nsudo nano /etc/systemd/system/avalw-worker.service\r\n```\r\n\r\n```ini\r\n[Unit]\r\nDescription=AVALW Search Worker\r\nAfter=network.target\r\n\r\n[Service]\r\nType=simple\r\nUser=nobody\r\nEnvironment=AVALW_WORKER_TOKEN=your-token-here\r\nEnvironment=AVALW_CACHE_SIZE_MB=1024\r\nEnvironment=AVALW_MAX_AGE_DAYS=14\r\nExecStart=/usr/bin/npx @avalw/search-worker\r\nRestart=always\r\nRestartSec=10\r\n\r\n[Install]\r\nWantedBy=multi-user.target\r\n```\r\n\r\n```bash\r\n# Enable and start\r\nsudo systemctl daemon-reload\r\nsudo systemctl enable avalw-worker\r\nsudo systemctl start avalw-worker\r\n\r\n# Check status\r\nsudo systemctl status avalw-worker\r\n```\r\n\r\n### Docker\r\n\r\n```dockerfile\r\nFROM node:18-alpine\r\nRUN npm install -g @avalw/search-worker\r\nENV AVALW_WORKER_TOKEN=your-token-here\r\nENV AVALW_CACHE_SIZE_MB=1024\r\nENV AVALW_MAX_AGE_DAYS=14\r\nCMD [\"avalw-worker\"]\r\n```\r\n\r\n```bash\r\ndocker build -t avalw-worker .\r\ndocker run -d --name avalw avalw-worker\r\n```\r\n\r\n### PM2\r\n\r\n```bash\r\npm2 start avalw-worker --name \"avalw\" -- --token YOUR_TOKEN --cache-size 1024\r\npm2 save\r\npm2 startup\r\n```\r\n\r\n### Windows (Task Scheduler)\r\n\r\n```batch\r\n@echo off\r\nset AVALW_WORKER_TOKEN=your-token-here\r\nset AVALW_CACHE_SIZE_MB=1024\r\nnpx @avalw/search-worker\r\n```\r\n\r\n## Troubleshooting\r\n\r\n```\r\n┌─────────────────────────────────────────────────────────────────┐\r\n│                      COMMON ISSUES                              │\r\n├─────────────────────────────────────────────────────────────────┤\r\n│                                                                 │\r\n│  \"Connection refused\"                                           │\r\n│  └── Check internet connection, firewall settings               │\r\n│                                                                 │\r\n│  \"Invalid token\"                                                │\r\n│  └── Get a new token at https://worker.avalw.org                │\r\n│                                                                 │\r\n│  \"Cache full, high eviction rate\"                               │\r\n│  └── Increase --cache-size or decrease --max-age                │\r\n│                                                                 │\r\n│  \"Memory usage too high\"                                        │\r\n│  └── Decrease --cache-size (minimum 100MB)                      │\r\n│                                                                 │\r\n│  \"Worker keeps disconnecting\"                                   │\r\n│  └── Check network stability, worker will auto-reconnect        │\r\n│                                                                 │\r\n└─────────────────────────────────────────────────────────────────┘\r\n```\r\n\r\n## System Requirements\r\n\r\n```\r\n┌────────────────┬────────────────────────────────────┐\r\n│ Component      │ Requirement                        │\r\n├────────────────┼────────────────────────────────────┤\r\n│ Node.js        │ 14.0.0 or higher                   │\r\n│ CPU            │ 3+ cores for Starter tier          │\r\n│ RAM            │ 512MB+ free                        │\r\n│ Disk           │ 500MB - 2GB for cache              │\r\n│ Network        │ Stable internet, WebSocket support │\r\n│ OS             │ Windows, macOS, Linux              │\r\n└────────────────┴────────────────────────────────────┘\r\n```\r\n\r\n## Support\r\n\r\n- Dashboard: [worker.avalw.org](https://worker.avalw.org)\r\n- Documentation: [worker.avalw.org/protocol](https://worker.avalw.org/protocol)\r\n- Email: contact@avalw.com\r\n- Search Engine: [avalw.org](https://avalw.org)\r\n\r\n## License\r\n\r\nMIT License - Free to use, modify, and distribute.\r\n\r\n---\r\n\r\n```\r\nMade with transparency in mind by AVALW\r\nhttps://avalw.com\r\n```\r\n","readmeFilename":"README.md"}