{"_id":"@absolutejs/queue","_rev":"21-e1a1d6a05bb0cf1712b6666723eaa66e","name":"@absolutejs/queue","dist-tags":{"latest":"0.8.1"},"versions":{"0.0.1":{"name":"@absolutejs/queue","version":"0.0.1","keywords":["queue","jobs","background-jobs","worker","absolutejs","elysia","bun"],"author":"Alex Kahn","license":"CC BY-NC 4.0","_id":"@absolutejs/queue@0.0.1","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"dist":{"shasum":"5723ebde3c101e8fa568f77c1d6cc1ed1b7927db","tarball":"https://registry.npmjs.org/@absolutejs/queue/-/queue-0.0.1.tgz","fileCount":15,"integrity":"sha512-qjGRyOJygjuLE61Mo+waGn/UltVVdGnrc1kbWjVDuKnPz4pGk/xi+0KcSWe87LRQLbRkeBs/N5LO37bSfw9yAQ==","signatures":[{"sig":"MEUCIQCqwUQiY1qTUM+bt12kYqluHVfP2kEBp3lcQSr1f27ARwIgKkpw8itpOhJ6LoC7rwHa9mMq1DJlNnl+H3p4gwTHysM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48769},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"5723ebde3c101e8fa568f77c1d6cc1ed1b7927db","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts --outdir dist --sourcemap --target=bun --external elysia && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-qjGRyOJygjuLE61Mo+waGn/UltVVdGnrc1kbWjVDuKnPz4pGk/xi+0KcSWe87LRQLbRkeBs/N5LO37bSfw9yAQ==","repository":{"url":"https://github.com/absolutejs/queue.git","type":"git"},"_npmVersion":"10.8.3","description":"A durable, typed job queue for Elysia and the AbsoluteJS ecosystem","directories":{},"_nodeVersion":"24.3.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"elysia":"1.4.26","prettier":"3.5.3","@types/bun":"1.2.9","typescript":"5.8.3"},"peerDependencies":{"elysia":">= 1.4.26"},"_npmOperationalInternal":{"tmp":"tmp/queue_0.0.1_1779546912281_0.5975960782254077","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@absolutejs/queue","version":"0.0.2","keywords":["queue","jobs","background-jobs","worker","absolutejs","elysia","bun"],"author":"Alex Kahn","license":"CC BY-NC 4.0","_id":"@absolutejs/queue@0.0.2","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"dist":{"shasum":"e1bcb03f101ca4ad296ee51025635e904a7e0846","tarball":"https://registry.npmjs.org/@absolutejs/queue/-/queue-0.0.2.tgz","fileCount":17,"integrity":"sha512-w0vaoKq629mzmhXYoR8rdrdp3+N+JuiasfWofrYredENluVoYtjswrmG+ORcf3F7pgcy1zZv1X4DXTRk0Z3UpA==","signatures":[{"sig":"MEUCIBqIsMy5zbLxLTfxK67elx+PtUNk1iXBUjU2SQ67D3uxAiEAlOBbyX0Y489zawM7fsUZBxePz/Tq0f/qFd3Fl0yVviQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":738368},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"e1bcb03f101ca4ad296ee51025635e904a7e0846","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts --outdir dist --sourcemap --target=bun --external elysia && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-w0vaoKq629mzmhXYoR8rdrdp3+N+JuiasfWofrYredENluVoYtjswrmG+ORcf3F7pgcy1zZv1X4DXTRk0Z3UpA==","repository":{"url":"https://github.com/absolutejs/queue.git","type":"git"},"_npmVersion":"10.8.3","description":"A durable, typed job queue for Elysia and the AbsoluteJS ecosystem","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"elysia":"1.4.26","prettier":"3.5.3","@types/bun":"1.2.9","typescript":"5.8.3"},"peerDependencies":{"elysia":">= 1.4.26"},"_npmOperationalInternal":{"tmp":"tmp/queue_0.0.2_1779550471234_0.4734166450424564","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@absolutejs/queue","version":"0.0.3","keywords":["queue","jobs","background-jobs","worker","absolutejs","elysia","bun"],"author":"Alex Kahn","license":"CC BY-NC 4.0","_id":"@absolutejs/queue@0.0.3","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"dist":{"shasum":"dbb89a41a66d2f2437be0aec82a582b3d8f69f26","tarball":"https://registry.npmjs.org/@absolutejs/queue/-/queue-0.0.3.tgz","fileCount":17,"integrity":"sha512-2Z2r/C1oOQ4MtEi3/j5ZCWGE6HoSMJ2ofMIztUHtzmSWwmbDDxIwV4Sz7aFQFHYSd5tJVu9C86V1b86e3ltCsw==","signatures":[{"sig":"MEUCIEB2ipDz0g6p4tJyX6OkH3xgszat9QE4JbE10SjfDxX2AiEA9gDylJ3C86pUl70dPjnTLubhwxSP8s0jNtOk2cVAiRw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":738594},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"dbb89a41a66d2f2437be0aec82a582b3d8f69f26","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts --outdir dist --sourcemap --target=bun --external elysia && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-2Z2r/C1oOQ4MtEi3/j5ZCWGE6HoSMJ2ofMIztUHtzmSWwmbDDxIwV4Sz7aFQFHYSd5tJVu9C86V1b86e3ltCsw==","repository":{"url":"https://github.com/absolutejs/queue.git","type":"git"},"_npmVersion":"10.8.3","description":"A durable, typed job queue for Elysia and the AbsoluteJS ecosystem","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"elysia":"1.4.26","prettier":"3.5.3","@types/bun":"1.2.9","typescript":"5.8.3"},"peerDependencies":{"elysia":">= 1.4.26"},"_npmOperationalInternal":{"tmp":"tmp/queue_0.0.3_1779551726139_0.1602598997315683","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@absolutejs/queue","version":"0.0.4","keywords":["queue","jobs","background-jobs","worker","absolutejs","elysia","bun"],"author":"Alex Kahn","license":"CC BY-NC 4.0","_id":"@absolutejs/queue@0.0.4","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"dist":{"shasum":"739d1a72c9c850989b6ad2bca72cc0cd6b279a8f","tarball":"https://registry.npmjs.org/@absolutejs/queue/-/queue-0.0.4.tgz","fileCount":18,"integrity":"sha512-nIwSibAvkqyY+zpDXWgY/8Z3BK8HRdpbb+ECrs9Nno60QgU8/ehG6pdCkmQKJrHIHx6Ls+oGvsbFXksjlO8HOw==","signatures":[{"sig":"MEYCIQCsTRMdUY+sGZIbj93dAS1FCFgGoWcBqMvEiYSBnHn/vAIhAO6RWHLnu1Y2VpSnFoZFA0baKDdNMaFRWUxEx7e6gE34","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":745708},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"739d1a72c9c850989b6ad2bca72cc0cd6b279a8f","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts --outdir dist --sourcemap --target=bun --external elysia && tsc --project tsconfig.build.json","config":"absolute config","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-nIwSibAvkqyY+zpDXWgY/8Z3BK8HRdpbb+ECrs9Nno60QgU8/ehG6pdCkmQKJrHIHx6Ls+oGvsbFXksjlO8HOw==","repository":{"url":"https://github.com/absolutejs/queue.git","type":"git"},"_npmVersion":"10.8.3","description":"A durable, typed job queue for Elysia and the AbsoluteJS ecosystem","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"elysia":"1.4.26","prettier":"3.5.3","@types/bun":"1.2.9","typescript":"5.8.3","@absolutejs/absolute":"^0.19.0-beta.1051"},"peerDependencies":{"elysia":">= 1.4.26"},"_npmOperationalInternal":{"tmp":"tmp/queue_0.0.4_1779891274326_0.6971066314754901","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@absolutejs/queue","version":"0.0.5","keywords":["queue","jobs","background-jobs","worker","absolutejs","elysia","bun"],"author":"Alex Kahn","license":"BSL-1.1","_id":"@absolutejs/queue@0.0.5","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"dist":{"shasum":"fc4355250c81ba8541ba9422bdd26747945d3dbb","tarball":"https://registry.npmjs.org/@absolutejs/queue/-/queue-0.0.5.tgz","fileCount":19,"integrity":"sha512-xirBAlQlcm3st3FBH3nV3a96lf2yjBbdv1omo4GHAxk45TWHe86JNt2rIMv1giw/13o0nVjf/of47UomYGEMNA==","signatures":[{"sig":"MEQCID/SD5AZpoMWICwwVw581xjEl3ZmBE+5oUseKABzqvFTAiB0iGNOfq3h0giGZn+SkYyI55Q4oI5++Q71xHH6B39F9g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":749256},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"fc4355250c81ba8541ba9422bdd26747945d3dbb","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts --outdir dist --sourcemap --target=bun --external elysia && tsc --project tsconfig.build.json","config":"absolute config","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-xirBAlQlcm3st3FBH3nV3a96lf2yjBbdv1omo4GHAxk45TWHe86JNt2rIMv1giw/13o0nVjf/of47UomYGEMNA==","repository":{"url":"https://github.com/absolutejs/queue.git","type":"git"},"_npmVersion":"10.8.3","description":"A durable, typed job queue for Elysia and the AbsoluteJS ecosystem","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"elysia":"1.4.26","prettier":"3.5.3","@types/bun":"1.2.9","typescript":"5.8.3","@absolutejs/absolute":"^0.19.0-beta.1051"},"peerDependencies":{"elysia":">= 1.4.26"},"_npmOperationalInternal":{"tmp":"tmp/queue_0.0.5_1780071409502_0.36117543003350616","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@absolutejs/queue","version":"0.0.6","keywords":["queue","jobs","background-jobs","worker","absolutejs","elysia","bun"],"author":"Alex Kahn","license":"BSL-1.1","_id":"@absolutejs/queue@0.0.6","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"dist":{"shasum":"ed4c294bcb166819e00d1ad3f224986c4fe91937","tarball":"https://registry.npmjs.org/@absolutejs/queue/-/queue-0.0.6.tgz","fileCount":19,"integrity":"sha512-7MnhEey89Y8PSK3PDKd+IJ1QJp4U2E9by0c+ntdTB/hWuTGKYTJT03Nd6j6il9HluQNBvgLm2rH+PE5LlrhSXg==","signatures":[{"sig":"MEUCIHi8IW75653P1fnV4CmwXhsTvatWq644fPX3vEsKzC1yAiEAqNrG1Wiv5aL9mNVa1zaAzEoKtNgpQyalksBSS4r7gjk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":749256},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"ed4c294bcb166819e00d1ad3f224986c4fe91937","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts --outdir dist --sourcemap --target=bun --external elysia && tsc --project tsconfig.build.json","config":"absolute config","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-7MnhEey89Y8PSK3PDKd+IJ1QJp4U2E9by0c+ntdTB/hWuTGKYTJT03Nd6j6il9HluQNBvgLm2rH+PE5LlrhSXg==","repository":{"url":"https://github.com/absolutejs/queue.git","type":"git"},"_npmVersion":"10.8.3","description":"A durable, typed job queue for Elysia and the AbsoluteJS ecosystem","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"elysia":"1.4.26","prettier":"3.5.3","@types/bun":"1.2.9","typescript":"5.8.3","@absolutejs/absolute":"^0.19.0-beta.1051"},"peerDependencies":{"elysia":">= 1.4.26"},"_npmOperationalInternal":{"tmp":"tmp/queue_0.0.6_1780071544864_0.6744794373357694","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@absolutejs/queue","version":"0.1.0","keywords":["queue","jobs","background-jobs","worker","absolutejs","elysia","bun"],"author":"Alex Kahn","license":"BSL-1.1","_id":"@absolutejs/queue@0.1.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"dist":{"shasum":"133b91166ade319bf5570c7b7ad98c3a1a0a46bf","tarball":"https://registry.npmjs.org/@absolutejs/queue/-/queue-0.1.0.tgz","fileCount":19,"integrity":"sha512-vKU0Yip9jh1+j2NqkqsM1X8f3p8lsEfW3P7IjlvBIJPG3pvyE5/AV760G9atONql8+nK2hNoWtrxxdYFQLKDSQ==","signatures":[{"sig":"MEYCIQDoifW4ducFIjcHXpzNZM17ii/y3T3A6HPJr03y8XCpcwIhAKpJe1zSFFbJi2AcY/lsEc6qm8Fip5As4uxBpBpmkSrk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":756534},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"133b91166ade319bf5570c7b7ad98c3a1a0a46bf","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts --outdir dist --sourcemap --target=bun --external elysia && tsc --project tsconfig.build.json","config":"absolute config","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-vKU0Yip9jh1+j2NqkqsM1X8f3p8lsEfW3P7IjlvBIJPG3pvyE5/AV760G9atONql8+nK2hNoWtrxxdYFQLKDSQ==","repository":{"url":"https://github.com/absolutejs/queue.git","type":"git"},"_npmVersion":"10.8.3","description":"A durable, typed job queue for Elysia and the AbsoluteJS ecosystem","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"elysia":"1.4.26","prettier":"3.5.3","@types/bun":"1.2.9","typescript":"5.8.3","@absolutejs/absolute":"^0.19.0-beta.1051"},"peerDependencies":{"elysia":">= 1.4.26"},"_npmOperationalInternal":{"tmp":"tmp/queue_0.1.0_1780108499424_0.4644196803643874","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@absolutejs/queue","version":"0.2.0","keywords":["queue","jobs","background-jobs","worker","absolutejs","elysia","bun"],"author":"Alex Kahn","license":"BSL-1.1","_id":"@absolutejs/queue@0.2.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"dist":{"shasum":"0d81e820152f4878dafb02121088b1262638ec4c","tarball":"https://registry.npmjs.org/@absolutejs/queue/-/queue-0.2.0.tgz","fileCount":19,"integrity":"sha512-7fn3MLUjCuvFpuB71vEhSDl6dUx8Hu7lwcLgQmDFWhBbjgjsR7EbYUnWhszNJmDt+2QhkG4SZigTwCaRDb7U4Q==","signatures":[{"sig":"MEUCIQCJvmy3QGrSwZJAb7KGlsxJxefMFs45IZMrog+F873pggIgRRug+E/pnnGp6Ccq+r3ZOGqNhyDyflCAR6OhNGagNb0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":765678},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"0d81e820152f4878dafb02121088b1262638ec4c","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts --outdir dist --sourcemap --target=bun --external elysia && tsc --project tsconfig.build.json","config":"absolute config","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-7fn3MLUjCuvFpuB71vEhSDl6dUx8Hu7lwcLgQmDFWhBbjgjsR7EbYUnWhszNJmDt+2QhkG4SZigTwCaRDb7U4Q==","repository":{"url":"https://github.com/absolutejs/queue.git","type":"git"},"_npmVersion":"10.8.3","description":"A durable, typed job queue for Elysia and the AbsoluteJS ecosystem","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/telemetry":"^0.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"elysia":"1.4.26","prettier":"3.5.3","@types/bun":"1.2.9","typescript":"5.8.3","@absolutejs/absolute":"^0.19.0-beta.1051"},"peerDependencies":{"elysia":">= 1.4.26"},"_npmOperationalInternal":{"tmp":"tmp/queue_0.2.0_1780168263310_0.6326454069844709","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@absolutejs/queue","version":"0.3.0","keywords":["queue","jobs","background-jobs","worker","absolutejs","elysia","bun"],"author":"Alex Kahn","license":"BSL-1.1","_id":"@absolutejs/queue@0.3.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"dist":{"shasum":"5d61a46d5d081330566774af643e6ded65a64f10","tarball":"https://registry.npmjs.org/@absolutejs/queue/-/queue-0.3.0.tgz","fileCount":19,"integrity":"sha512-DAelxuyfDh4k+mTsBHWszC4JT+Eoid/TikxSkQ+5ySYyHMBmBlSNdEv/tQbZpFeJFfrkM0Yn3GUgdstqwm7BoQ==","signatures":[{"sig":"MEYCIQDu02SCg5Q0XBADmmrdFt5WUwf3w11EiCWJNwjp2cW44wIhAIGYlaYYxAnpHpK1qjtn62KC8qTS9VIgY3q/5SfUkn8H","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":770509},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"5d61a46d5d081330566774af643e6ded65a64f10","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts --outdir dist --sourcemap --target=bun --external elysia && tsc --project tsconfig.build.json","config":"absolute config","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-DAelxuyfDh4k+mTsBHWszC4JT+Eoid/TikxSkQ+5ySYyHMBmBlSNdEv/tQbZpFeJFfrkM0Yn3GUgdstqwm7BoQ==","repository":{"url":"https://github.com/absolutejs/queue.git","type":"git"},"_npmVersion":"10.8.3","description":"A durable, typed job queue for Elysia and the AbsoluteJS ecosystem","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/telemetry":"^0.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"elysia":"1.4.26","prettier":"3.5.3","@types/bun":"1.2.9","typescript":"5.8.3","@absolutejs/absolute":"^0.19.0-beta.1051"},"peerDependencies":{"elysia":">= 1.4.26"},"_npmOperationalInternal":{"tmp":"tmp/queue_0.3.0_1780562832676_0.26682351528146797","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@absolutejs/queue","version":"0.3.1","keywords":["queue","jobs","background-jobs","worker","absolutejs","elysia","bun"],"author":"Alex Kahn","license":"BSL-1.1","_id":"@absolutejs/queue@0.3.1","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/queue","bugs":{"url":"https://github.com/absolutejs/queue/issues"},"dist":{"shasum":"beff2e8aff2c16a649ea535b466d87b96903b131","tarball":"https://registry.npmjs.org/@absolutejs/queue/-/queue-0.3.1.tgz","fileCount":23,"integrity":"sha512-QLLDj167ZTHJdGCT8ShxZOWPhCn2+X6XdkKGlkRlblB8PTFfl8p1XNWQv8O05pNd/mS3Q7e7UfYKzCIckTgM6w==","signatures":[{"sig":"MEUCIAQbYLw8/U5CqulyeQ6Pz0nfosSrWxOuX92kYJwOWlGDAiEAzDiuSDd4vipdAdM+nilr0XWc4N3JNOAjeWvroT2veJQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1871578},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"beff2e8aff2c16a649ea535b466d87b96903b131","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts src/manifest.ts --outdir dist --sourcemap --target=bun --external elysia && tsc --project tsconfig.build.json && absolute-manifest emit","config":"absolute config","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-QLLDj167ZTHJdGCT8ShxZOWPhCn2+X6XdkKGlkRlblB8PTFfl8p1XNWQv8O05pNd/mS3Q7e7UfYKzCIckTgM6w==","absolutejs":{"manifestContract":1},"repository":{"url":"https://github.com/absolutejs/queue.git","type":"git"},"_npmVersion":"10.8.3","description":"A durable, typed job queue for Elysia and the AbsoluteJS ecosystem","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.1.0","@absolutejs/telemetry":"^0.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"elysia":"1.4.26","prettier":"3.5.3","@types/bun":"1.2.9","typescript":"5.8.3","@absolutejs/absolute":"^0.19.0-beta.1051"},"peerDependencies":{"elysia":">= 1.4.26"},"_npmOperationalInternal":{"tmp":"tmp/queue_0.3.1_1783964365021_0.7144766535622833","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@absolutejs/queue","version":"0.4.0","keywords":["queue","jobs","background-jobs","worker","absolutejs","elysia","bun"],"author":"Alex Kahn","license":"BSL-1.1","_id":"@absolutejs/queue@0.4.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/queue","bugs":{"url":"https://github.com/absolutejs/queue/issues"},"dist":{"shasum":"c9d47e92cfa7e77445a300746cf9234dd69ac2a8","tarball":"https://registry.npmjs.org/@absolutejs/queue/-/queue-0.4.0.tgz","fileCount":25,"integrity":"sha512-0mAhXFed1xCrfCyi+sVwtckj5CJOaj7ORNvoMXRCRkskpEp8ugcdqPnhVElkciVfAiByocAbnUaDNUcvNYSWrQ==","signatures":[{"sig":"MEQCIC7cxa8E7tQ+NOVmuC2R7FGq5IajKiawMshNCgNZVAANAiBQH8Gp7jdOI/WpvceF2jy/u+77vNHEoYozkqMmly3hSg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1925016},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"c9d47e92cfa7e77445a300746cf9234dd69ac2a8","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts src/manifest.ts --outdir dist --sourcemap --target=bun --external elysia && tsc --project tsconfig.build.json && absolute-manifest emit","config":"absolute config","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-0mAhXFed1xCrfCyi+sVwtckj5CJOaj7ORNvoMXRCRkskpEp8ugcdqPnhVElkciVfAiByocAbnUaDNUcvNYSWrQ==","absolutejs":{"manifestContract":1},"repository":{"url":"https://github.com/absolutejs/queue.git","type":"git"},"_npmVersion":"10.8.3","description":"A durable, typed job queue for Elysia and the AbsoluteJS ecosystem","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.1.0","@absolutejs/telemetry":"^0.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"elysia":"1.4.26","prettier":"3.5.3","@types/bun":"1.2.9","typescript":"5.8.3","@absolutejs/absolute":"^0.19.0-beta.1051"},"peerDependencies":{"elysia":">= 1.4.26"},"_npmOperationalInternal":{"tmp":"tmp/queue_0.4.0_1783976075663_0.709640793157003","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@absolutejs/queue","version":"0.4.1","keywords":["queue","jobs","background-jobs","worker","absolutejs","elysia","bun"],"author":"Alex Kahn","license":"BSL-1.1","_id":"@absolutejs/queue@0.4.1","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/queue","bugs":{"url":"https://github.com/absolutejs/queue/issues"},"dist":{"shasum":"96159293cb69b667f63686d3887e08379a4a0656","tarball":"https://registry.npmjs.org/@absolutejs/queue/-/queue-0.4.1.tgz","fileCount":25,"integrity":"sha512-H5HTczwboYh/pCmvwUanimAMe+EGYQskN/LZeybDjbumtQjPFKAFMISDLjJEv/ibruJayygLjitxcDBgtlgzhg==","signatures":[{"sig":"MEUCIA3i+obHhEqK/mvH2Vbts9YSd1qijFRpj1wyzR9zVzsfAiEA+qbiTKfGdqmEOR0jcnsMm8Q2u/AmNPQtMZbeirkQZQk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1925431},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"96159293cb69b667f63686d3887e08379a4a0656","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts src/manifest.ts --outdir dist --sourcemap --target=bun --external elysia && tsc --project tsconfig.build.json && absolute-manifest emit","config":"absolute config","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-H5HTczwboYh/pCmvwUanimAMe+EGYQskN/LZeybDjbumtQjPFKAFMISDLjJEv/ibruJayygLjitxcDBgtlgzhg==","absolutejs":{"manifestContract":1},"repository":{"url":"https://github.com/absolutejs/queue.git","type":"git"},"_npmVersion":"10.8.3","description":"A durable, typed job queue for Elysia and the AbsoluteJS ecosystem","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.1.0","@absolutejs/telemetry":"^0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"elysia":"1.4.26","prettier":"3.5.3","@types/bun":"1.2.9","typescript":"5.8.3","@absolutejs/absolute":"^0.19.0-beta.1051"},"peerDependencies":{"elysia":">= 1.4.26"},"_npmOperationalInternal":{"tmp":"tmp/queue_0.4.1_1784047983362_0.5316598224878666","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@absolutejs/queue","version":"0.4.2","keywords":["queue","jobs","background-jobs","worker","absolutejs","elysia","bun"],"author":"Alex Kahn","license":"BSL-1.1","_id":"@absolutejs/queue@0.4.2","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/queue","bugs":{"url":"https://github.com/absolutejs/queue/issues"},"dist":{"shasum":"6c192b17aee9dd512cc5d0b3f04c490fcfd0697f","tarball":"https://registry.npmjs.org/@absolutejs/queue/-/queue-0.4.2.tgz","fileCount":26,"integrity":"sha512-aSFa/bMbLE5wC+eNQh3Y+3Zy1iCD1r3no+CogV02fhvuJunz0HJ35FWype0Z7zgw5DMpPM/GnKoPGc6RSnm3Zw==","signatures":[{"sig":"MEQCIHZ8zDtT+ehwxsj1SJFFK8ks5tAPkm2sf0UsYKKapLp+AiBY7wasDgVUjVY5ehiU0r+a57CxcxraP9XhcXgT5a5Uxw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1925970},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"6c192b17aee9dd512cc5d0b3f04c490fcfd0697f","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts src/manifest.ts --outdir dist --sourcemap --target=bun --external elysia && tsc --project tsconfig.build.json && absolute-manifest emit","config":"absolute config","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-aSFa/bMbLE5wC+eNQh3Y+3Zy1iCD1r3no+CogV02fhvuJunz0HJ35FWype0Z7zgw5DMpPM/GnKoPGc6RSnm3Zw==","absolutejs":{"manifestContract":1},"repository":{"url":"https://github.com/absolutejs/queue.git","type":"git"},"_npmVersion":"10.8.3","description":"A durable, typed job queue for Elysia and the AbsoluteJS ecosystem","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.1.0","@absolutejs/telemetry":"^0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"elysia":"1.4.26","prettier":"3.5.3","@types/bun":"1.2.9","typescript":"5.8.3","@absolutejs/absolute":"^0.19.0-beta.1051"},"peerDependencies":{"elysia":">= 1.4.26"},"_npmOperationalInternal":{"tmp":"tmp/queue_0.4.2_1784328610949_0.6291058458648779","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@absolutejs/queue","version":"0.4.3","keywords":["queue","jobs","background-jobs","worker","absolutejs","elysia","bun"],"author":"Alex Kahn","license":"BSL-1.1","_id":"@absolutejs/queue@0.4.3","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/queue","bugs":{"url":"https://github.com/absolutejs/queue/issues"},"dist":{"shasum":"fde1d88abcb1400eb4e6ec2a54e1164ed7115a8a","tarball":"https://registry.npmjs.org/@absolutejs/queue/-/queue-0.4.3.tgz","fileCount":25,"integrity":"sha512-HY/A3kkIcQZQun22EG8WeySD0vDi9r8kTzOLgNWMtghwPaHe4VGs8GOi78Su6yYV8g3urrCGC+6lhRNgbx916w==","signatures":[{"sig":"MEQCIQDhGk2vsYyjOUb0/V715Xvs43FQLwxs7MVzsYG+xitM2wIfbaAW3sLa0/9PmcHSv9vLpDQVh9YcQjVonxZvLkwsfg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1925959},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"fde1d88abcb1400eb4e6ec2a54e1164ed7115a8a","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts src/manifest.ts --outdir dist --sourcemap --target=bun --external elysia && tsc --project tsconfig.build.json && absolute-manifest emit","config":"absolute config","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-HY/A3kkIcQZQun22EG8WeySD0vDi9r8kTzOLgNWMtghwPaHe4VGs8GOi78Su6yYV8g3urrCGC+6lhRNgbx916w==","absolutejs":{"manifestContract":1},"repository":{"url":"https://github.com/absolutejs/queue.git","type":"git"},"_npmVersion":"10.8.3","description":"A durable, typed job queue for Elysia and the AbsoluteJS ecosystem","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.1.0","@absolutejs/telemetry":"^0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"elysia":"1.4.26","prettier":"3.5.3","@types/bun":"1.2.9","typescript":"5.8.3","@absolutejs/absolute":"^0.19.0-beta.1051"},"peerDependencies":{"elysia":">= 1.4.26"},"_npmOperationalInternal":{"tmp":"tmp/queue_0.4.3_1784328671398_0.8902111899029099","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@absolutejs/queue","version":"0.5.0","keywords":["queue","jobs","background-jobs","worker","absolutejs","elysia","bun"],"author":{"name":"Alex Kahn"},"license":"BSL-1.1","_id":"@absolutejs/queue@0.5.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/queue","bugs":{"url":"https://github.com/absolutejs/queue/issues"},"dist":{"shasum":"e6c5919c2394aee4eaa7c2074ad9b5cae5c5d485","tarball":"https://registry.npmjs.org/@absolutejs/queue/-/queue-0.5.0.tgz","fileCount":25,"integrity":"sha512-Rw0pIQ/8eR85FGkN76X7AeELRH18RZMUv+2btkmjl657iHDGulggHGSIf8owDhUw7zFw3XxTwShOKMpY9RrPIQ==","signatures":[{"sig":"MEUCIQDnLBzt37gfE5B+MQB+5c2toW4Kbi7uh5Co5hbGN7Xz5QIgdSAGVdZn+M1FLmUrhnH/ZWpSfvx2pnIkh1Q0JMl7IxE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1926128},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"gitHead":"da0fb24762bf368c23f9d0b285756abc8ebb280e","scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts src/manifest.ts --outdir dist --sourcemap --target=bun --external elysia && tsc --project tsconfig.build.json && absolute-manifest emit","config":"absolute config","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"absolutejs":{"manifestContract":1},"repository":{"url":"git+https://github.com/absolutejs/queue.git","type":"git"},"_npmVersion":"10.9.2","description":"A durable, typed job queue for Elysia and the AbsoluteJS ecosystem","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.1.0","@absolutejs/telemetry":"^0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"elysia":"1.4.26","prettier":"3.5.3","@types/bun":"1.2.9","typescript":"5.8.3","@absolutejs/absolute":"^0.19.0-beta.1051"},"peerDependencies":{"elysia":">= 1.4.26"},"_npmOperationalInternal":{"tmp":"tmp/queue_0.5.0_1784536203597_0.7940615332287217","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@absolutejs/queue","version":"0.6.0","keywords":["queue","jobs","background-jobs","worker","absolutejs","elysia","bun"],"author":{"name":"Alex Kahn"},"license":"BSL-1.1","_id":"@absolutejs/queue@0.6.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/queue","bugs":{"url":"https://github.com/absolutejs/queue/issues"},"dist":{"shasum":"865b5b29456ecbe2086e58347d4d9351d74f0798","tarball":"https://registry.npmjs.org/@absolutejs/queue/-/queue-0.6.0.tgz","fileCount":25,"integrity":"sha512-LAdy8MwciOhXoiathqsbSJ1ofl1Hf2Yy7k/BhtUih56IQjLoyhRVVhFitYh0iBPGLhOnytSgELzDVR55gloVWQ==","signatures":[{"sig":"MEUCIQDOJp2Hft5C98uoYw1a1E1R7w2lCkSxVq7HQhOJQ2HMsQIgEFyKP2knhs4htHBjFkYNDRkpfOXDh79g8GwkcmqDlKw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1950266},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"gitHead":"49b7af0351086aa82108ca26afde85a923d29747","scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts src/manifest.ts --outdir dist --sourcemap --target=bun --external elysia && tsc --project tsconfig.build.json && absolute-manifest emit","config":"absolute config","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/queue.git","type":"git"},"_npmVersion":"10.9.2","description":"A durable, typed job queue for Elysia and the AbsoluteJS ecosystem","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.4.0","@absolutejs/telemetry":"^0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"elysia":"1.4.26","prettier":"3.5.3","@types/bun":"1.2.9","typescript":"5.8.3","@absolutejs/absolute":"^0.19.0-beta.1051"},"peerDependencies":{"elysia":">= 1.4.26"},"_npmOperationalInternal":{"tmp":"tmp/queue_0.6.0_1784806785201_0.19741853842977064","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@absolutejs/queue","version":"0.7.0","keywords":["queue","jobs","background-jobs","worker","absolutejs","elysia","bun"],"author":"Alex Kahn","license":"BSL-1.1","_id":"@absolutejs/queue@0.7.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/queue","bugs":{"url":"https://github.com/absolutejs/queue/issues"},"dist":{"shasum":"40bbb78ffaf73d1389e4e07bb7bdb00c2e85833f","tarball":"https://registry.npmjs.org/@absolutejs/queue/-/queue-0.7.0.tgz","fileCount":25,"integrity":"sha512-Cj7YqdYzG26pAoSraRGaBatfbtPqprWRSKfk/dawgLmiDV8sAstHvHs9d5EaeNYR7q/kCo5m7xX+5NpfKS3wog==","signatures":[{"sig":"MEQCIE1WvbAbIrla2yXLHDPyvhMpaKkFcNVTPKkVaB5S04u/AiAurzAzzGSfMN0P2cfLYQBup10taFBEN4Ffm87X07H+NQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1292856},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"40bbb78ffaf73d1389e4e07bb7bdb00c2e85833f","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts src/manifest.ts --outdir dist --sourcemap --target=bun --external elysia && tsc --project tsconfig.build.json && absolute-manifest emit","config":"absolute config","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-Cj7YqdYzG26pAoSraRGaBatfbtPqprWRSKfk/dawgLmiDV8sAstHvHs9d5EaeNYR7q/kCo5m7xX+5NpfKS3wog==","absolutejs":{"runtimePeers":{"elysia":{"range":">=1.4.29 <2","tested":"1.4.29","buildExternals":["elysia"],"artifactImports":["elysia"]}},"manifestContract":2},"repository":{"url":"https://github.com/absolutejs/queue.git","type":"git"},"_npmVersion":"10.8.3","description":"A durable, typed job queue for Elysia and the AbsoluteJS ecosystem","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.7.1","@absolutejs/telemetry":"^0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"elysia":"1.4.29","prettier":"3.5.3","@types/bun":"1.2.9","typescript":"5.8.3","@absolutejs/absolute":"^0.19.0-beta.1051"},"peerDependencies":{"elysia":">=1.4.29 <2"},"_npmOperationalInternal":{"tmp":"tmp/queue_0.7.0_1784913390882_0.5241171273632939","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@absolutejs/queue","version":"0.7.1","keywords":["queue","jobs","background-jobs","worker","absolutejs","elysia","bun"],"author":"Alex Kahn","license":"BSL-1.1","_id":"@absolutejs/queue@0.7.1","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/queue","bugs":{"url":"https://github.com/absolutejs/queue/issues"},"dist":{"shasum":"df71dc75e9721290a42fe247b73fe421e5e79911","tarball":"https://registry.npmjs.org/@absolutejs/queue/-/queue-0.7.1.tgz","fileCount":25,"integrity":"sha512-6+oNorKYZnWdSe63G7FqAlK2c2YyMTGCXoTCb04V4ESljS6efM+4tqCo8UB0L+pf1PTkQDPWxQhOG3xRHI/eKw==","signatures":[{"sig":"MEQCIDaeR7GEReu6MYX7ndzTyjsRg5ZtZKnd2FsqO0JhO/R2AiB48j2Iv8jGOzMGoIn7IGHv6K7VESXL++nz9OVTy/eHfA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1296041},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"df71dc75e9721290a42fe247b73fe421e5e79911","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts src/manifest.ts --outdir dist --sourcemap --target=bun --external elysia && tsc --project tsconfig.build.json && absolute-manifest emit","config":"absolute config","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-6+oNorKYZnWdSe63G7FqAlK2c2YyMTGCXoTCb04V4ESljS6efM+4tqCo8UB0L+pf1PTkQDPWxQhOG3xRHI/eKw==","absolutejs":{"runtimePeers":{"elysia":{"range":">=1.4.29 <2","tested":"1.4.29","buildExternals":["elysia"],"artifactImports":["elysia"]}},"manifestContract":2},"repository":{"url":"https://github.com/absolutejs/queue.git","type":"git"},"_npmVersion":"10.8.3","description":"A durable, typed job queue for Elysia and the AbsoluteJS ecosystem","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.7.2","@absolutejs/telemetry":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"elysia":"1.4.29","prettier":"3.5.3","@types/bun":"1.2.9","typescript":"5.8.3","@absolutejs/absolute":"^0.19.0-beta.1051"},"peerDependencies":{"elysia":">=1.4.29 <2"},"_npmOperationalInternal":{"tmp":"tmp/queue_0.7.1_1784959098934_0.22287840463066377","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"@absolutejs/queue","version":"0.7.2","keywords":["queue","jobs","background-jobs","worker","absolutejs","elysia","bun"],"author":{"name":"Alex Kahn"},"license":"BSL-1.1","_id":"@absolutejs/queue@0.7.2","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/queue","bugs":{"url":"https://github.com/absolutejs/queue/issues"},"dist":{"shasum":"714d53b23a45b759d995946a012e7a851f14a6ef","tarball":"https://registry.npmjs.org/@absolutejs/queue/-/queue-0.7.2.tgz","fileCount":25,"integrity":"sha512-tNj5jigjiUcGWd9V4R3Ji2WrFJUaBol5HRssUvtXDGgxKgMYnKxRxs4EeMltRqV9iXP8YBxcSpKaYAlJc7j8Iw==","signatures":[{"sig":"MEUCIQDvifrFx2l+TFFKsf+vvcz8gWB5GAqePjuDf20nNhfYhgIgQE4PXkGzmJQbvD0oeparLwsZRb/6qWbuIXyKLu9fXek=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1306262},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts src/manifest.ts --outdir dist --sourcemap --target=bun --external elysia && tsc --project tsconfig.build.json && absolute-manifest emit","config":"absolute config","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"absolutejs":{"runtimePeers":{"elysia":{"range":">=1.4.29 <2","tested":"1.4.29","buildExternals":["elysia"],"artifactImports":["elysia"]}},"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/queue.git","type":"git"},"_npmVersion":"10.9.2","description":"A durable, typed job queue for Elysia and the AbsoluteJS ecosystem","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.7.2","@absolutejs/telemetry":"^0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"elysia":"1.4.29","prettier":"3.5.3","@types/bun":"1.2.9","typescript":"5.8.3","@absolutejs/absolute":"^0.19.0-beta.1051"},"peerDependencies":{"elysia":">=1.4.29 <2"},"_npmOperationalInternal":{"tmp":"tmp/queue_0.7.2_1786078110043_0.9123510784770881","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@absolutejs/queue","version":"0.8.0","keywords":["queue","jobs","background-jobs","worker","absolutejs","elysia","bun"],"author":{"name":"Alex Kahn"},"license":"BSL-1.1","_id":"@absolutejs/queue@0.8.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/queue","bugs":{"url":"https://github.com/absolutejs/queue/issues"},"dist":{"shasum":"47ee40c4d10df8566c55407c87b9ab2077edea62","tarball":"https://registry.npmjs.org/@absolutejs/queue/-/queue-0.8.0.tgz","fileCount":25,"integrity":"sha512-uWO2hgzi+kzBivgTNcXvvtpxKzVAPpWOeVPo/PyQZ4UAVaG0wooaZbXQLCX2m541ShfvSGSsBY04daqnxyULtA==","signatures":[{"sig":"MEUCIQCMadSNs6RTkEq+m198g4aIrPt4+JPX6UfbKH5PgDboEwIgQANmmAhYr1lhfCWe+E6Z1ASyH6OJdNHYfVprvUMNDQo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2033560},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"gitHead":"983ba3b1095766be7a97bcfebfa047a487102e2f","scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts src/manifest.ts --outdir dist --sourcemap --target=bun --external elysia && tsc --project tsconfig.build.json && absolute-manifest emit","config":"absolute config","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/queue.git","type":"git"},"_npmVersion":"10.9.2","description":"A durable, typed job queue for Elysia and the AbsoluteJS ecosystem","directories":{},"_nodeVersion":"22.14.0","dependencies":{"typebox":"1.3.16","@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.9.0","@absolutejs/telemetry":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"elysia":"2.0.0-beta.6","prettier":"3.5.3","@types/bun":"1.2.9","typescript":"5.8.3","exact-mirror":"1.2.4","@absolutejs/absolute":"^0.20.0-beta.0"},"peerDependencies":{"elysia":"^2.0.0-beta.6"},"_npmOperationalInternal":{"tmp":"tmp/queue_0.8.0_1787188197671_0.9044060701202199","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@absolutejs/queue","version":"0.8.1","description":"A durable, typed job queue for Elysia and the AbsoluteJS ecosystem","repository":{"type":"git","url":"git+https://github.com/absolutejs/queue.git"},"homepage":"https://github.com/absolutejs/queue","bugs":{"url":"https://github.com/absolutejs/queue/issues"},"main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","type":"module","license":"BSL-1.1","author":{"name":"Alex Kahn"},"absolutejs":{"manifestContract":2},"publishConfig":{"access":"public"},"keywords":["queue","jobs","background-jobs","worker","absolutejs","elysia","bun"],"scripts":{"build":"rm -rf dist && bun build src/index.ts src/manifest.ts --outdir dist --sourcemap --target=bun --external elysia && tsc --project tsconfig.build.json && absolute-manifest emit","config":"absolute config","test":"bun test","typecheck":"tsc --noEmit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run build && bun publish"},"dependencies":{"@absolutejs/manifest":"^0.9.0","@absolutejs/telemetry":">=0.2.0 <0.4.0","@sinclair/typebox":"^0.34.0","typebox":"1.3.16"},"peerDependencies":{"elysia":"^2.0.0-beta.6"},"devDependencies":{"@absolutejs/absolute":"^0.20.0-beta.0","@types/bun":"1.2.9","elysia":"2.0.0-beta.6","exact-mirror":"1.2.4","prettier":"3.5.3","typescript":"5.8.3"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"_id":"@absolutejs/queue@0.8.1","gitHead":"8e33295ce7c7279c99cb3022f0e5d832d0802f7b","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-zadRH3Pc6AX/qTXAbt+PwrT+H5cdBOfw6609z0LpvwcRoemzfwzF5HiWict2cEAoVfeURpbX+Nah6ohnQ+d+YA==","shasum":"2c8bc83f887fa7e3bfded128c8e696c127298d22","tarball":"https://registry.npmjs.org/@absolutejs/queue/-/queue-0.8.1.tgz","fileCount":25,"unpackedSize":2033568,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEzsIzic8Nk40dyth2wd3zS1AfMOcRRYkTHJtjVlaG8qAiASkJ7DRN/Hx18+owAZZMDrGnf8v1xK3mi+93hfE+qi4w=="}]},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"directories":{},"maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/queue_0.8.1_1787449013937_0.7919961593629667"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-23T14:35:11.863Z","modified":"2026-08-23T01:36:54.257Z","0.0.1":"2026-05-23T14:35:12.431Z","0.0.2":"2026-05-23T15:34:31.382Z","0.0.3":"2026-05-23T15:55:26.292Z","0.0.4":"2026-05-27T14:14:34.465Z","0.0.5":"2026-05-29T16:16:49.837Z","0.0.6":"2026-05-29T16:19:05.018Z","0.1.0":"2026-05-30T02:34:59.574Z","0.2.0":"2026-05-30T19:11:03.476Z","0.3.0":"2026-06-04T08:47:12.824Z","0.3.1":"2026-07-13T17:39:25.193Z","0.4.0":"2026-07-13T20:54:35.810Z","0.4.1":"2026-07-14T16:53:03.583Z","0.4.2":"2026-07-17T22:50:11.122Z","0.4.3":"2026-07-17T22:51:11.528Z","0.5.0":"2026-07-20T08:30:03.790Z","0.6.0":"2026-07-23T11:39:45.374Z","0.7.0":"2026-07-24T17:16:31.083Z","0.7.1":"2026-07-25T05:58:19.100Z","0.7.2":"2026-08-07T04:48:30.219Z","0.8.0":"2026-08-20T01:09:57.824Z","0.8.1":"2026-08-23T01:36:54.086Z"},"bugs":{"url":"https://github.com/absolutejs/queue/issues"},"author":{"name":"Alex Kahn"},"license":"BSL-1.1","homepage":"https://github.com/absolutejs/queue","keywords":["queue","jobs","background-jobs","worker","absolutejs","elysia","bun"],"repository":{"type":"git","url":"git+https://github.com/absolutejs/queue.git"},"description":"A durable, typed job queue for Elysia and the AbsoluteJS ecosystem","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"readme":"# @absolutejs/queue\n\nA durable, typed background-job queue for [Elysia](https://elysiajs.com) and the\nAbsoluteJS ecosystem. Persists jobs, claims them safely across workers, retries with\nbackoff, dead-letters, and runs delayed one-shots.\n\nIt does **not** reinvent cron — pair it with\n[`@elysiajs/cron`](https://elysiajs.com/plugins/cron) for recurring triggers. Cron\ndecides _when_; the queue guarantees the work _happens_ (once, surviving restarts).\n\n> Status: early (`0.4.0`). In-memory store, schema-defined typed registry, worker,\n> Elysia plugin, admin routes, standalone worker runner, a `runHandlerOnce`\n> helper for manual triggers / tests, and a control-plane `createWakeScheduler`\n> for waking idle-killed tenants. Production store:\n> [`@absolutejs/queue-postgres`](https://github.com/absolutejs/queue-adapters).\n\n## Install\n\n```bash\nbun add @absolutejs/queue elysia\n```\n\n## Usage\n\n```ts\nimport { Elysia } from 'elysia';\nimport {\n\tcreateInMemoryJobStore,\n\tcreateJobRegistry,\n\tdefineJobs,\n\tqueue,\n\tt\n} from '@absolutejs/queue';\n\n// Define jobs once: kind -> payload schema. Payload types are inferred from this\n// (no hand-written job map, no generics) and validated at enqueue + dequeue.\n// Build schemas with `t` from this package so they share one TypeBox instance.\nconst jobs = defineJobs({\n\t'email.send': t.Object({ to: t.String(), subject: t.String() }),\n\t'webhook.deliver': t.Object({ url: t.String(), body: t.Unknown() })\n});\n\nconst store = createInMemoryJobStore(jobs);\nconst registry = createJobRegistry(jobs)\n\t.on('email.send', async ({ to, subject }) => {\n\t\t// to: string, subject: string — inferred from the schema\n\t})\n\t.on('webhook.deliver', async ({ url, body }, { attempts }) => {\n\t\t// retried automatically; `attempts` is which try this is\n\t});\n\nconst app = new Elysia()\n\t.use(queue({ registry, store })) // in-process worker auto-starts\n\t.post('/welcome/:email', ({ params, queue }) =>\n\t\tqueue.enqueue('email.send', {\n\t\t\tsubject: 'Welcome',\n\t\t\tto: params.email\n\t\t})\n\t)\n\t.post('/notify', ({ body, queue }) =>\n\t\t// delayed one-shot: deliver the webhook in 1 hour\n\t\tqueue.enqueue(\n\t\t\t'webhook.deliver',\n\t\t\t{ body, url: 'https://example.com/hook' },\n\t\t\t{ runAt: Date.now() + 60 * 60 * 1000 }\n\t\t)\n\t)\n\t.listen(3000);\n```\n\n### Recurring jobs (with `@elysiajs/cron`)\n\nPattern: keep the `store` at module scope so both the queue plugin's worker\nand the cron triggers reference the same backing state. The cron `run`\ncallback doesn't receive an Elysia `Context`, so it can't reach the queue\nvia decorators — it closes over the imported `store` directly.\n\n```ts\n// src/jobs/index.ts\nimport {\n\tcreateInMemoryJobStore,\n\tcreateJobRegistry,\n\tdefineJobs,\n\tqueue,\n\tt\n} from '@absolutejs/queue';\nimport { cron } from '@elysiajs/cron';\nimport { Elysia } from 'elysia';\n\nconst jobs = defineJobs({\n\t'email.send': t.Object({ to: t.String(), subject: t.String() })\n});\n\n// Module-scoped so cron + worker reference the same backing state.\nexport const store = createInMemoryJobStore(jobs);\nexport const registry = createJobRegistry(jobs).on(\n\t'email.send',\n\tasync () => {}\n);\n\nexport const backgroundJobs = new Elysia({ name: 'background-jobs' })\n\t.use(queue({ registry, store }))\n\t.use(\n\t\tcron({\n\t\t\tname: 'weekly-digest',\n\t\t\tpattern: '0 8 * * 1', // Mondays at 08:00\n\t\t\trun: () =>\n\t\t\t\tstore.enqueue({\n\t\t\t\t\tidempotencyKey: `weekly-digest:${new Date().toISOString().slice(0, 10)}`,\n\t\t\t\t\tkind: 'email.send',\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tsubject: 'Weekly digest',\n\t\t\t\t\t\tto: 'team@example.com'\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t})\n\t);\n```\n\nTag enqueues with a per-day `idempotencyKey` so a misfire doesn't double-run.\n\n### Waking idle-killed tenants (`createWakeScheduler`)\n\nOn a PaaS, tenant processes get idle-killed — and with them dies every\nin-process timer. A customer cron that triggers every 6 hours won't fire if\nthe tenant has been asleep for 5 of them. The fix is architectural: the\n**control plane** (which is never idle-killed) owns the schedule and pokes\nthe tenant awake; the tenant's own queue worker then does the actual work.\n\n`createWakeScheduler` is that control-plane side: a durable scheduler that\nfires per-tenant schedules (`every` interval or 5-field UTC cron) and calls\na caller-supplied `wake` action — an HTTP poke, `runtime.ensure(tenant)`,\nwhatever brings the tenant up.\n\n```ts\nimport { createWakeScheduler, httpWake } from '@absolutejs/queue';\n\n// Runs on the CONTROL PLANE (always-on), not in tenant processes.\nconst wakeScheduler = createWakeScheduler({\n\tentries: [\n\t\t// Exactly one of `every` (ms) or `cron` (5-field, UTC) per entry.\n\t\t{\n\t\t\tevery: 6 * 60 * 60 * 1000,\n\t\t\tid: 'acme-digest',\n\t\t\ttenant: 'acme',\n\t\t\turl: 'https://acme.internal/wake'\n\t\t},\n\t\t{ cron: '0 8 * * 1', id: 'globex-report', tenant: 'globex' }\n\t],\n\t// The wake is the single seam. httpWake() POSTs entry.url and treats\n\t// non-2xx as an error...\n\twake: httpWake(),\n\tonError: (error, entry) => console.error(entry?.id, error)\n});\nwakeScheduler.start();\n```\n\nPairing with [`@absolutejs/runtime`](https://github.com/absolutejs/runtime),\nthe wake IS the process resurrection — `ensure` boots the tenant if it's\ndown, and the tenant's queue worker picks up its due jobs on startup:\n\n```ts\nconst wakeScheduler = createWakeScheduler({\n\tentries: tenantSchedules,\n\twake: async (entry) => {\n\t\tawait runtime.ensure(entry.tenant);\n\t}\n});\n```\n\nWhat the scheduler guarantees:\n\n- **Restart safety** — `snapshot()` / `restore(snap)` persist the entries\n  plus per-entry `lastFiredAt` (same idiom as the in-memory store's\n  snapshot/restore), so a control-plane restart neither double-fires nor\n  loses schedules. `catchUp: 'skip'` (default) drops firings missed during\n  downtime and resumes the cadence; `catchUp: 'once'` fires a single\n  compensating wake. Either way `metrics().missedSkipped` counts them.\n- **Error isolation** — wakes fire concurrently; one tenant's failing wake\n  hits `onError` + the `errors` counter and never blocks the rest. A failed\n  wake waits for its next slot (a wake is a poke, not a job — no backoff\n  ladder).\n- **No double-fire** — a cron entry fires at most once per matching minute;\n  overlapping ticks are skipped and counted, never run twice.\n- **Operator surface** — `add` / `remove` / `enable` / `disable` / `list`,\n  `metrics()` (`entries`, `enabled`, `firings`, `errors`, `missedSkipped`,\n  `skippedTicks`, `lastTickMs`, `byTenant`), and `drain()` symmetric with\n  `worker.drain()`. `tick()` is exposed for tests with an injected `now`;\n  `jitterMs` spreads same-cadence fleets via an injectable `random`.\n- **Tracing** — with a `tracerProvider`, every firing is a `queue.wake`\n  span carrying `abs.tenant` + `abs.wake.id`, matching `queue.runJob`.\n\nThe in-repo cron parser is deliberately minimal: 5 fields\n(`minute hour day-of-month month day-of-week`), `*`, numbers, comma lists,\nranges, `/n` steps on `*` or a range, day-of-week `0-7` (both `0` and `7`\nare Sunday), standard either-day-field-matches semantics, **UTC only**. No\nnames (`MON`), no `L`/`W`/`#`, no seconds, no macros — if you need those,\nrun a real cron and call `wake` yourself.\n\n### One-shot manual triggers (`runHandlerOnce`)\n\nSometimes you want to invoke a handler directly — manual backfills, admin\nre-runs, unit tests, or `bun scripts/foo.ts` wrappers that share logic with\nthe cron. Use `runHandlerOnce`: it validates the payload through the\nregistry's schema and synthesises a `JobContext` for you, then runs the\nhandler — no worker, no store writes.\n\n```ts\n// scripts/runWeeklyDigest.ts\nimport { runHandlerOnce } from '@absolutejs/queue';\nimport { registry } from '../src/jobs/registry'; // direct import — see warning below\n\nawait runHandlerOnce(registry, 'email.send', {\n\tto: 'team@example.com',\n\tsubject: 'Weekly digest (manual trigger)'\n});\n```\n\n> **Don't import the barrel that re-exports `backgroundJobs`.** Importing the\n> Elysia plugin pulls in `@elysiajs/cron`, which keeps timers alive and\n> prevents your script from exiting. Either (a) split your jobs module so the\n> `registry` is exported from a different file than `backgroundJobs`, or\n> (b) `process.exit(0)` at the end of your script.\n\n`runHandlerOnce` accepts an `options.context` override (for `attempts`,\n`maxAttempts`, `id`, etc.) and an `options.validators` override (`false` to\nskip validation, or a pre-compiled `JobValidators` for hot loops).\n\n## How it works\n\n- **Schema-defined jobs** — `defineJobs` is the single source of truth: payload\n  types are inferred from TypeBox schemas (no hand-written job map, no `<Jobs>`\n  generics), and payloads are validated at enqueue and dequeue.\n- **Typed registry** — `kind → payload → handler`, checked end to end.\n- **`JobStore` interface** — `enqueue`, `claimDue` (atomic), `complete`, `fail`,\n  `reapStuck`, `listByKind`. Swap `createInMemoryJobStore` for a durable adapter in prod.\n- **Worker** — claims due jobs up to a concurrency cap, runs handlers, retries with\n  exponential backoff, dead-letters after `maxAttempts`, and reaps jobs whose worker\n  died (lease + `reapStuck`).\n- **Idempotency** — pass `idempotencyKey` to `enqueue` to dedupe.\n\n## License\n\nBSL-1.1 — see [LICENSE](./LICENSE). Converts to Apache 2.0 on the Change Date per the license terms.\n","readmeFilename":"README.md"}