{"_id":"@spooled/sdk","_rev":"35-d888fe4028326b2cd071c9ea2f073bb6","name":"@spooled/sdk","dist-tags":{"latest":"1.2.1"},"versions":{"1.0.9":{"name":"@spooled/sdk","version":"1.0.9","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","_id":"@spooled/sdk@1.0.9","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"homepage":"https://spooled.cloud","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"91636d8d5bfb5b2e3e30b7f036932dc857b2d570","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.0.9.tgz","fileCount":18,"integrity":"sha512-tBOrA1tP97q59oIn7eAHIN3zzfZM5FmqyHBYgrq9kIvExxr4xTKtdeC5aXoOzngd0SNc2j7uiMlSaSFOdh+Ciw==","signatures":[{"sig":"MEYCIQDLpZpXMm7Nki1GY9e5HNMKzwoO6/MyBL+bar3qWnZuZAIhAJjZWO1r0XQXOwzgU66BAhsFjmxKYz61JIOdq2O6DcuX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.0.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":989267},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"9502a709b4b8da7ab06a35e0e65c856ee823c1f6","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.7.0","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","eventsource":"^2.0.2","@grpc/grpc-js":"^1.10.0","@grpc/proto-loader":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.0.0","tsup":"^8.0.0","eslint":"^8.57.0","vitest":"^1.0.0","prettier":"^3.2.0","@types/ws":"^8.5.10","typescript":"^5.3.0","@types/node":"^20.10.0","@types/eventsource":"^1.1.15","@vitest/coverage-v8":"^1.0.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{},"optionalDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.9_1765769148958_0.09521496478764191","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@spooled/sdk","version":"1.0.10","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","_id":"@spooled/sdk@1.0.10","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"homepage":"https://spooled.cloud","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"ef693ff87b0cdcecabd4f0c167a351ac726401cf","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.0.10.tgz","fileCount":18,"integrity":"sha512-gJWN/IkZ1oc700yDBiFeTKYB6IXy+EeO74CyLYrvlz1RlxG/WAn6eSRGImp6S2Ir7SQoHcgyaDzzi/GIuObK8A==","signatures":[{"sig":"MEQCIBs3e451IEP5qhLhuBMvTkk0BqqbDpg3Nq/cGJMKsULaAiB/w9l4tyI9scEtveaK3zoaR4bHd0Rq2bXwgR+6urMq0w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.0.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":980274},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"b3d2f7f23854bb8a8c03f14d8043a779228490ee","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.7.0","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","eventsource":"^2.0.2","@grpc/grpc-js":"^1.10.0","@grpc/proto-loader":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.0.0","tsup":"^8.0.0","eslint":"^8.57.0","vitest":"^1.0.0","prettier":"^3.2.0","@types/ws":"^8.5.10","typescript":"^5.3.0","@types/node":"^20.10.0","@types/eventsource":"^1.1.15","@vitest/coverage-v8":"^1.0.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{},"optionalDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.10_1765770578622_0.959253199750342","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@spooled/sdk","version":"1.0.11","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","_id":"@spooled/sdk@1.0.11","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"homepage":"https://spooled.cloud","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"5468f43b580fe7e27426bad3af97d1ff25426de2","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.0.11.tgz","fileCount":18,"integrity":"sha512-tn3nv7/2d2LonWh6EN08XMIVFSss5itm2ZlSQdvMTcpmzMRdqzXf+RUy5bG0ilignp0lJC+P+PRcZn1vLGKrcQ==","signatures":[{"sig":"MEUCIAiLnyJmEa/MCGrsU2n7pv9y2qYn9lumiMWeVHzmFTzxAiEAp0gitUNMV2O6AFM/9P5cv/163zsf+hlamYf9RV2jvho=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.0.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":983072},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"9e50e03727125b7c43e11450a2dd9eec0406a9a7","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.7.0","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","eventsource":"^2.0.2","@grpc/grpc-js":"^1.10.0","@grpc/proto-loader":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.0.0","tsup":"^8.0.0","eslint":"^8.57.0","vitest":"^1.0.0","prettier":"^3.2.0","@types/ws":"^8.5.10","typescript":"^5.3.0","@types/node":"^20.10.0","@types/eventsource":"^1.1.15","@vitest/coverage-v8":"^1.0.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{},"optionalDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.11_1765809581843_0.5642804333612248","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@spooled/sdk","version":"1.0.12","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","_id":"@spooled/sdk@1.0.12","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"homepage":"https://spooled.cloud","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"aaafb357e221860588acec850b6e5fe8abfbc9e5","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.0.12.tgz","fileCount":18,"integrity":"sha512-dmTe12E50L+yZ9hgUsJZWOKZAn9ci2JWknEsCLQfLTPa1tWkANNl7JOEKywhqUENNqJpxWz1mjYxfmfDIO9kuA==","signatures":[{"sig":"MEYCIQDVcOQZpHvPN6o1oqBK+TiptD6wPQzjNco1fz07MDl3zwIhALLz4r9YTKOXCOF1Oaq8GQ+5hP6yabp2ipOZK6p+neon","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.0.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":983236},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"fb2bc70a806a1e780907ba72c512264f9a03bf7f","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts","verify:production":"tsx scripts/verify-production.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.7.0","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","eventsource":"^2.0.2","@grpc/grpc-js":"^1.10.0","@grpc/proto-loader":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.0.0","tsx":"^4.7.0","tsup":"^8.0.0","chalk":"^5.3.0","eslint":"^8.57.0","vitest":"^1.0.0","inquirer":"^9.2.0","prettier":"^3.2.0","@types/ws":"^8.5.10","typescript":"^5.3.0","@types/node":"^20.10.0","@types/inquirer":"^9.0.7","@types/eventsource":"^1.1.15","@vitest/coverage-v8":"^1.0.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{},"optionalDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.12_1765844563965_0.9834043361992715","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"@spooled/sdk","version":"1.0.13","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","_id":"@spooled/sdk@1.0.13","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"homepage":"https://spooled.cloud","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"d88d25b8bbeb7a533963102d983027b7e2b48cd2","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.0.13.tgz","fileCount":18,"integrity":"sha512-Q+AJcY0LkJwhDg/q2mP9F6r90Ll2RCUpHh9Tw2wtTMmzYbClft1ZXSZmQNQqNv+mj3MNfHDsQfzQFJNpiiqV7w==","signatures":[{"sig":"MEUCIQDOFipmzDrb6SUTPy2iNgCnZE3EflATQtHghuuTjjXEDQIgaLbQtgGx/VmPF3hS1MgLWzMjq9pN3f9qzIlkom4iaaU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.0.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":994110},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"320302ff949f15f64e29424943fb73ac41c83b46","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts","verify:production":"tsx scripts/verify-production.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.7.0","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","eventsource":"^2.0.2","@grpc/grpc-js":"^1.10.0","@grpc/proto-loader":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.0.0","tsx":"^4.7.0","tsup":"^8.0.0","chalk":"^5.3.0","eslint":"^8.57.0","vitest":"^1.0.0","inquirer":"^9.2.0","prettier":"^3.2.0","@types/ws":"^8.5.10","typescript":"^5.3.0","@types/node":"^20.10.0","@types/inquirer":"^9.0.7","@types/eventsource":"^1.1.15","@vitest/coverage-v8":"^1.0.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{},"optionalDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.13_1765862039948_0.3689100623846764","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"@spooled/sdk","version":"1.0.14","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","_id":"@spooled/sdk@1.0.14","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"homepage":"https://spooled.cloud","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"9210b2b451acf3f62ec31940e0d79de45917a0fd","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.0.14.tgz","fileCount":18,"integrity":"sha512-Tq1nZhaYCAXRQ4BOnZRBB++uMkcbC8450kAVJEuT6IY1sb/RzfdZxBYIf340M4DVsHmp9M0iuVaEJpI0Xy/FLw==","signatures":[{"sig":"MEQCIFIE7ncMtW+rWH8BihSd9uslQcjtulzCN/mbXPrFNhlxAiBRsb0IwFYUXhs92nuL6Xm77R8OluwuV77jJTGBTn38dg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.0.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":996092},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"c21356179ff222b27cb567b3530f247f19e23e93","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts","verify:production":"tsx scripts/verify-production.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.7.0","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","eventsource":"^2.0.2","@grpc/grpc-js":"^1.10.0","@grpc/proto-loader":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.0.0","tsx":"^4.7.0","tsup":"^8.0.0","chalk":"^5.3.0","eslint":"^8.57.0","vitest":"^1.0.0","inquirer":"^9.2.0","prettier":"^3.2.0","@types/ws":"^8.5.10","typescript":"^5.3.0","@types/node":"^20.10.0","@types/inquirer":"^9.0.7","@types/eventsource":"^1.1.15","@vitest/coverage-v8":"^1.0.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{},"optionalDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.14_1765863789607_0.5983694986653652","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"@spooled/sdk","version":"1.0.15","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","_id":"@spooled/sdk@1.0.15","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"homepage":"https://spooled.cloud","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"c9bfd955689f6309e6e17e5b58a92b3b086ccbb5","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.0.15.tgz","fileCount":18,"integrity":"sha512-v7gjsXz9pRAijYTE6chGQLXhgRw81/QCColeaTuJ4mfsY6+6QmJDBEx1dQZlatW4+o9hwVLC6jXx7fwFnSrPbg==","signatures":[{"sig":"MEQCIHZ8LvOh8o6HZhs/yl3eNxFmOU46ZkiJZor7NErFAoqFAiBi1vPfdCPH0L4uqXGQjN/1n1LMjTaXv8LBNpJmouhMGw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.0.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":996084},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"7fc0df598f092f91186f0cbfc024efd2e277f756","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts","verify:production":"tsx scripts/verify-production.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.7.0","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","eventsource":"^2.0.2","@grpc/grpc-js":"^1.10.0","@grpc/proto-loader":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.0.0","tsx":"^4.7.0","tsup":"^8.0.0","chalk":"^5.3.0","eslint":"^8.57.0","vitest":"^1.0.0","inquirer":"^9.2.0","prettier":"^3.2.0","@types/ws":"^8.5.10","typescript":"^5.3.0","@types/node":"^20.10.0","@types/inquirer":"^9.0.7","@types/eventsource":"^1.1.15","@vitest/coverage-v8":"^1.0.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{},"optionalDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.15_1765933687421_0.013494229596223928","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"name":"@spooled/sdk","version":"1.0.16","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","_id":"@spooled/sdk@1.0.16","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"homepage":"https://spooled.cloud","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"2c3ea802e1926b0bc65ea176b04a2ebe584cec39","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.0.16.tgz","fileCount":18,"integrity":"sha512-xTePGTCWf6HZg7dnYIZZYz0U6fKI+AS1dFpoLg1A/27O3TrhzwZ0bU5PI8lUP2MvjyBzA66618kVYkHCwbPgqQ==","signatures":[{"sig":"MEYCIQD9RnnkZW8znOYPRvp+0K+kXxZkmSfzwgw3ZdGfOZ3KnAIhANafJAOE4YlBanTASSH8X+UcKXeDj/W2t/bRAciqPuVQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.0.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":996076},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"17837f0f080a13a78edc080592e9da2d70410d39","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts","verify:production":"tsx scripts/verify-production.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.7.0","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","eventsource":"^2.0.2","@grpc/grpc-js":"^1.10.0","@grpc/proto-loader":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.0.0","tsx":"^4.7.0","tsup":"^8.0.0","chalk":"^5.3.0","eslint":"^8.57.0","vitest":"^1.0.0","inquirer":"^9.2.0","prettier":"^3.2.0","@types/ws":"^8.5.10","typescript":"^5.3.0","@types/node":"^20.10.0","@types/inquirer":"^9.0.7","@types/eventsource":"^1.1.15","@vitest/coverage-v8":"^1.0.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{},"optionalDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.16_1765941818814_0.21835037595477402","host":"s3://npm-registry-packages-npm-production"}},"1.0.17":{"name":"@spooled/sdk","version":"1.0.17","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","_id":"@spooled/sdk@1.0.17","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"homepage":"https://spooled.cloud","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"3433b28d5316a529a93bfd33559a89516b98bfbe","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.0.17.tgz","fileCount":18,"integrity":"sha512-Ae8k9DMKGCD1y75U2CklbKUCm+b8xbX8l1PbxXT5n4hHiCp+q/lHN11hlX79Qq7SWVk50GeGzs7/96l3FmK/Cw==","signatures":[{"sig":"MEYCIQDZ0AyKUadp4A2kEIN5PZ/2E01tJ2bLHtF4bRkO3ApvVwIhAP05T+BqJ36ZvTyNa8cnQDkudZV3H006ZLXPO9ni8u6y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.0.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1018908},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"2c51fcb395280e6b2b21552cc3af8eb46f239357","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts","verify:production":"tsx scripts/verify-production.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.7.0","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","eventsource":"^2.0.2","@grpc/grpc-js":"^1.10.0","@grpc/proto-loader":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.0.0","tsx":"^4.7.0","tsup":"^8.0.0","chalk":"^5.3.0","eslint":"^8.57.0","vitest":"^1.0.0","inquirer":"^9.2.0","prettier":"^3.2.0","@types/ws":"^8.5.10","typescript":"^5.3.0","@types/node":"^20.10.0","@types/inquirer":"^9.0.7","@types/eventsource":"^1.1.15","@vitest/coverage-v8":"^1.0.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{},"optionalDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.17_1765948279104_0.7889949711622044","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"@spooled/sdk","version":"1.0.18","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","_id":"@spooled/sdk@1.0.18","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"homepage":"https://spooled.cloud","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"de010a80bf6642df4cb3813e90ad680947442ac2","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.0.18.tgz","fileCount":18,"integrity":"sha512-yKFJKdgSBQr4SlaFrmMXzAwWzz5ZiuG6t2k5HgQEXHj4DTefpQCw88imclgIaKWHQS7Tq3SJxcypY35QGhgohA==","signatures":[{"sig":"MEUCIFw346sQ1OhSwkGgguB/ica5suWy5+xebXYOJus8oKzwAiEA6jqH1OlVYrGKqLfh2TOxe2sUWQDEXtmCfaFmzEBRi9M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.0.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1019123},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"6bd430245fad5e6f8d4f7ecbdfe9365401ade055","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts","verify:production":"tsx scripts/verify-production.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.7.0","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","eventsource":"^2.0.2","@grpc/grpc-js":"^1.10.0","@grpc/proto-loader":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.0.0","tsx":"^4.7.0","tsup":"^8.0.0","chalk":"^5.3.0","eslint":"^8.57.0","vitest":"^1.0.0","inquirer":"^9.2.0","prettier":"^3.2.0","@types/ws":"^8.5.10","typescript":"^5.3.0","@types/node":"^20.10.0","@types/inquirer":"^9.0.7","@types/eventsource":"^1.1.15","@vitest/coverage-v8":"^1.0.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{},"optionalDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.18_1766012536357_0.6194851216070318","host":"s3://npm-registry-packages-npm-production"}},"1.0.19":{"name":"@spooled/sdk","version":"1.0.19","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","_id":"@spooled/sdk@1.0.19","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"homepage":"https://spooled.cloud","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"0c625b22dab53085c5393b537bb7c9c47cb20621","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.0.19.tgz","fileCount":18,"integrity":"sha512-c6eaCvEgVXei/gZOPhAZJIWjCAT5+/KDj4xbd2zk2WIyj89Na8BTnzHI5fPJKNxs07gEkYdVujgahq7zEnyIJw==","signatures":[{"sig":"MEUCIQCEL+uHk4xZCcgGCyaiLv2Sz33njsY9LBLJeWc+4KOLfwIganjC+6rFe7wyoZvSvioG7dPILYVTcGwa4yfq0VuLK68=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.0.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1019123},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"80c19082ae9c38884616f4639f727f2db613e3ea","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts","verify:production":"tsx scripts/verify-production.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.7.0","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","eventsource":"^2.0.2","@grpc/grpc-js":"^1.10.0","@grpc/proto-loader":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.0.0","tsx":"^4.7.0","tsup":"^8.0.0","chalk":"^5.3.0","eslint":"^8.57.0","vitest":"^1.0.0","inquirer":"^9.2.0","prettier":"^3.2.0","@types/ws":"^8.5.10","typescript":"^5.3.0","@types/node":"^20.10.0","@types/inquirer":"^9.0.7","@types/eventsource":"^1.1.15","@vitest/coverage-v8":"^1.0.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{},"optionalDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.19_1766055664737_0.22224615509218615","host":"s3://npm-registry-packages-npm-production"}},"1.0.20":{"name":"@spooled/sdk","version":"1.0.20","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","_id":"@spooled/sdk@1.0.20","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"homepage":"https://spooled.cloud","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"66a07e7e9b2523a3f11f28d1011de876a7b6a8d0","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.0.20.tgz","fileCount":18,"integrity":"sha512-Dd6zezkFZSU516UOscUeZZInjM84bhBn5j9KjA7b0YOAq8O9Cu5npWdFkRjkllP1FLho01coRpt6MMOer5VEkg==","signatures":[{"sig":"MEQCIEiO7r7puymrstMsZ95uyjleywJgZTfJ9GrfLues6J1JAiADQmLgAmlgtsOilsPNEKFdNvCNUF+dv8fx3OhLNItv7Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.0.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1019408},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"5bb90a83bfd28008883c7ea28cc11b36a7f9acc5","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts","verify:production":"tsx scripts/verify-production.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.7.0","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.16.0","eventsource":"^2.0.2","@grpc/grpc-js":"^1.10.0","@grpc/proto-loader":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.0.0","tsx":"^4.7.0","tsup":"^8.0.0","chalk":"^5.3.0","eslint":"^8.57.0","vitest":"^1.0.0","inquirer":"^9.2.0","prettier":"^3.2.0","@types/ws":"^8.5.10","typescript":"^5.3.0","@types/node":"^20.10.0","@types/inquirer":"^9.0.7","@types/eventsource":"^1.1.15","@vitest/coverage-v8":"^1.0.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{},"optionalDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.20_1766101590677_0.8124140519962839","host":"s3://npm-registry-packages-npm-production"}},"1.0.21":{"name":"@spooled/sdk","version":"1.0.21","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","_id":"@spooled/sdk@1.0.21","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"homepage":"https://spooled.cloud","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"f3cc8a502f3a3ca353c37e9baf0925dba2f303b2","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.0.21.tgz","fileCount":18,"integrity":"sha512-tbSZ23KaQWkUno9TW9KC36dpiV4VoGD3kxcWtVA5ESMOvN1Ebtw5otGbQd71lPqCQrQAhW4hQDVgNr6N4chj6w==","signatures":[{"sig":"MEUCIQCSrgY4jeGMzXumSBHFPR5gCJSWGwqBTAOuoi0/p2YpeAIgYJifATYRROdAVcMoeXjuDgEiqFK5TpMYbMC3PgXSL5c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.0.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1019414},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"157d8f23b09db220891cf32168da5a87122f9c87","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts","verify:production":"tsx scripts/verify-production.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.7.0","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.18.3","eventsource":"^4.1.0","@grpc/grpc-js":"^1.14.3","@grpc/proto-loader":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.4","tsx":"^4.21.0","tsup":"^8.5.1","chalk":"^5.6.2","eslint":"^9.39.2","vitest":"^4.0.16","inquirer":"^13.1.0","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.0.3","@types/inquirer":"^9.0.9","@types/eventsource":"^3.0.0","@vitest/coverage-v8":"^4.0.16","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{},"optionalDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.21_1766108212200_0.48095005803795154","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"@spooled/sdk","version":"1.0.23","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","_id":"@spooled/sdk@1.0.23","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"homepage":"https://spooled.cloud","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"fb2be29b629309d88a584579d6de94f52ad1d04f","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.0.23.tgz","fileCount":18,"integrity":"sha512-U9AEfLKp5qIrbma/cJgQ7KHFlNFyNNv2w/PHzVdEM03DPEuflEozVBzB9TijAtp7U6LWoJnr0l+u/iofsjGFOg==","signatures":[{"sig":"MEUCIQCN3/3eeLljE7X5VNLzhEPhxv7s1GL7Vta11BuzVn6WnAIgXQeJmGa8k5Zfa3QyQFIacuY1S1ye3BBnXPvYosod+Nw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.0.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1023560},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"8cb0881feea5a20cafd87c0020b0c82b0bd74c61","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts","verify:production":"tsx scripts/verify-production.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.7.0","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.18.3","eventsource":"^4.1.0","@grpc/grpc-js":"^1.14.3","@grpc/proto-loader":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.4","tsx":"^4.21.0","tsup":"^8.5.1","chalk":"^5.6.2","eslint":"^9.39.2","vitest":"^4.0.16","inquirer":"^13.1.0","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.0.3","@types/inquirer":"^9.0.9","@types/eventsource":"^3.0.0","@vitest/coverage-v8":"^4.0.16","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{},"optionalDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.23_1766259340667_0.47491501162108585","host":"s3://npm-registry-packages-npm-production"}},"1.0.25":{"name":"@spooled/sdk","version":"1.0.25","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","_id":"@spooled/sdk@1.0.25","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"homepage":"https://spooled.cloud","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"a3329ceafc12035175d25eb4eeafffb48fbdea41","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.0.25.tgz","fileCount":18,"integrity":"sha512-LJ+Ft8HKkPF7txGLMgFv99W9AIsTpF9YxvklCNCB+2dlrSpm2XuDFYNi2QH+wvpQ9qzZjUyDSNTb7VlqLEXLDg==","signatures":[{"sig":"MEYCIQC0Tl15uuiXZ84q4y3ZOdw5wc5M0fyamOn0BzrH7y3XtwIhAK8jgpvcLUkbFZME9TIi9PWjLOtK1kOP2w8ueQDBqQis","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.0.25","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1023670},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"cb4a564fcdf92b816bb28658c49aea7afaa952ea","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts","verify:production":"tsx scripts/verify-production.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.7.0","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.18.3","eventsource":"^4.1.0","@grpc/grpc-js":"^1.14.3","@grpc/proto-loader":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.4","tsx":"^4.21.0","tsup":"^8.5.1","chalk":"^5.6.2","eslint":"^9.39.2","vitest":"^4.0.16","inquirer":"^13.1.0","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.0.3","@types/inquirer":"^9.0.9","@types/eventsource":"^3.0.0","@vitest/coverage-v8":"^4.0.16","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{},"optionalDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.25_1766333218162_0.22291293374606114","host":"s3://npm-registry-packages-npm-production"}},"1.0.26":{"name":"@spooled/sdk","version":"1.0.26","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","_id":"@spooled/sdk@1.0.26","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"homepage":"https://spooled.cloud","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"4a9e49163e5a437819a906d8288b97ef7c9d27fd","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.0.26.tgz","fileCount":18,"integrity":"sha512-pmH2/LOgv4+cKRemaHAbswW4LdrQ4HGPPIaOoRqWaXfNDurhwKBLP1iqiGwo481UlHSU9sA3sFUn8FApb/20AQ==","signatures":[{"sig":"MEUCIQD9r9fLLw4bOKuyfC54CCCNqq2ZnoNSyAbjfc2tbzWAggIgDQtoSkFjGd8Qk5jSs9fEekFpqIMRE0zd3gjwrg8kCvw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.0.26","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1025639},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"f1fbf59f2a0c3e6e661e9d6440f5de94e3a57f26","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts","verify:production":"tsx scripts/verify-production.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.7.0","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.18.3","eventsource":"^4.1.0","@grpc/grpc-js":"^1.14.3","@grpc/proto-loader":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.4","tsx":"^4.21.0","tsup":"^8.5.1","chalk":"^5.6.2","eslint":"^9.39.2","vitest":"^4.0.16","inquirer":"^13.1.0","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.0.3","@types/inquirer":"^9.0.9","@types/eventsource":"^3.0.0","@vitest/coverage-v8":"^4.0.16","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{},"optionalDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.26_1766336852905_0.09141747614630735","host":"s3://npm-registry-packages-npm-production"}},"1.0.27":{"name":"@spooled/sdk","version":"1.0.27","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","_id":"@spooled/sdk@1.0.27","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"homepage":"https://spooled.cloud","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"3f07ac484474bf4e358d13e8e97ffe47fc3d27e1","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.0.27.tgz","fileCount":18,"integrity":"sha512-7UrjUaaoEW7MJvEqZ8K2ByQhbfMINNlAbcHJQtv1Xms1VRYYMy9JuiJi2jpM5e7xJWKQX4UGsqoo8o+u74KlFw==","signatures":[{"sig":"MEYCIQD8IREMi1x5SCLEjR1E0IjRGBoaHghK8ZgVqpFBWXfATgIhALSuzVTXYXC9YHp9IMyfR8FhNxiiiM8CqIoOcini8OJw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.0.27","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1026016},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"4b5a9d9a401c864a910541ecdeb05180563bc824","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts","verify:production":"tsx scripts/verify-production.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.13.0","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.20.0","eventsource":"^4.1.0","@grpc/grpc-js":"^1.14.3","@grpc/proto-loader":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.14.3","tsx":"^4.21.0","tsup":"^8.5.1","chalk":"^5.6.2","eslint":"^9.39.4","vitest":"^4.1.5","inquirer":"^13.4.2","prettier":"^3.8.3","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.6.0","@types/inquirer":"^9.0.9","@types/eventsource":"^3.0.0","@vitest/coverage-v8":"^4.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.59.2","@typescript-eslint/eslint-plugin":"^8.59.2"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.27_1778023378100_0.3343974463955002","host":"s3://npm-registry-packages-npm-production"}},"1.0.28":{"name":"@spooled/sdk","version":"1.0.28","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","_id":"@spooled/sdk@1.0.28","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"homepage":"https://spooled.cloud","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"52832a58c055bd8e64d8f1bfd22f53a6383635e7","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.0.28.tgz","fileCount":18,"integrity":"sha512-znTFhdgvyCLrIyDFmaMLhNWWcODCRsN9Xd0NsFGQCzcrMQJ3pgxfTGJevMRQwTGoXEThuwEzzTaCarNeC8p03A==","signatures":[{"sig":"MEQCIEZsKNO/HEq96QLn9GK5RfTMP/2JOG2YbKL+AHNeD9O1AiBVW7RhsYG0GBi2jWasF5WgXq5aWmHT7Ougtwrh5ye2dQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.0.28","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1025994},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"6d81d76fa69261d69c3df41e9149ff79d3221ada","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts","verify:production":"tsx scripts/verify-production.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.18.0","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.20.0","eventsource":"^4.1.0","@grpc/grpc-js":"^1.14.3","@grpc/proto-loader":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.14.3","tsx":"^4.21.0","tsup":"^8.5.1","chalk":"^5.6.2","eslint":"^9.39.4","vitest":"^4.1.5","inquirer":"^13.4.2","prettier":"^3.8.3","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.6.0","@types/inquirer":"^9.0.9","@types/eventsource":"^3.0.0","@vitest/coverage-v8":"^4.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.59.2","@typescript-eslint/eslint-plugin":"^8.59.2"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.28_1783431179846_0.7741363145750817","host":"s3://npm-registry-packages-npm-production"}},"1.0.29":{"name":"@spooled/sdk","version":"1.0.29","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","_id":"@spooled/sdk@1.0.29","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"homepage":"https://spooled.cloud","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"8d07c3d580aaab6d1daafbd7882473361d79d5b0","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.0.29.tgz","fileCount":18,"integrity":"sha512-QeEWNCX+nA656Jtgq16kp7pjZ/Yk9YNtmZ4yQgE2i9auq+EGesyOpNYZ5QTZxJZh67b+RLuvPWxmIDlVArghqg==","signatures":[{"sig":"MEQCIE7FokYmCbfUMOaGBCmWo3EhcZkAwC0L+qsyIMFZKwHqAiBFTG04ggmju+m917l3h1d9QfEtJFYKIbu9Sb8EMEsV8A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.0.29","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1060778},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"23e722734b52955c14de117d4ded6665dcea7d42","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts","verify:production":"tsx scripts/verify-production.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.18.0","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.20.0","eventsource":"^4.1.0","@grpc/grpc-js":"^1.14.3","@grpc/proto-loader":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.14.3","tsx":"^4.21.0","tsup":"^8.5.1","chalk":"^5.6.2","eslint":"^9.39.4","vitest":"^4.1.5","inquirer":"^13.4.2","prettier":"^3.8.3","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.6.0","@types/inquirer":"^9.0.9","@types/eventsource":"^3.0.0","@vitest/coverage-v8":"^4.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.59.2","@typescript-eslint/eslint-plugin":"^8.59.2"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.29_1783496466332_0.17330756449635754","host":"s3://npm-registry-packages-npm-production"}},"1.0.30":{"name":"@spooled/sdk","version":"1.0.30","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","_id":"@spooled/sdk@1.0.30","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"homepage":"https://spooled.cloud","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"5cdf073fbf4e63dbac8c39e884b34929d6f1a4dc","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.0.30.tgz","fileCount":18,"integrity":"sha512-D12MqMqREu/ibWuSegGKoJhb+qpr8ZR2F+o/236hAtuzdY75sk882/gRPcqlsvxEWMpQ8WgekioxciY8tSAEQA==","signatures":[{"sig":"MEUCID21yzL0mwOsy7cWbTvt4Leoz2azsEtSj0kC0cldB3Q6AiEAlVCorqmrXYEYwEk/QfefLmlP9BYUUSUAutR8C6nMVKw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.0.30","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1067288},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"1548f97a7d52e1d707f55e31caba479f6b5a07c2","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts","verify:production":"tsx scripts/verify-production.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.18.0","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.20.0","eventsource":"^4.1.0","@grpc/grpc-js":"^1.14.3","@grpc/proto-loader":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.14.3","tsx":"^4.21.0","tsup":"^8.5.1","chalk":"^5.6.2","eslint":"^9.39.4","vitest":"^4.1.5","inquirer":"^13.4.2","prettier":"^3.8.3","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.6.0","@types/inquirer":"^9.0.9","@types/eventsource":"^3.0.0","@vitest/coverage-v8":"^4.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.59.2","@typescript-eslint/eslint-plugin":"^8.59.2"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.30_1783509721031_0.49398567430536056","host":"s3://npm-registry-packages-npm-production"}},"1.0.31":{"name":"@spooled/sdk","version":"1.0.31","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","_id":"@spooled/sdk@1.0.31","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"homepage":"https://spooled.cloud","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"e51fd566762bb3d129c8ddb03023dd49d5c16060","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.0.31.tgz","fileCount":18,"integrity":"sha512-081SPLWpMQ6Db4YueFCcha25BJdJY6m0/4CbVkEoSv3KRd/8hN2ELTQ+bOqSHfJxpeTU2qZB6r/BJOpWO2NFHA==","signatures":[{"sig":"MEUCIQC1IGfUXNH098d2hb81wvZnpKLDSepUluldrXERBz4R1wIgRJsOrTbmjFFQuN97h4F9RwwWlPEuWtElB5W16O/64/g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.0.31","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1095266},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"a0c964659af1b4eb6c57495fac06d4f9498c16dc","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts","verify:production":"tsx scripts/verify-production.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.18.0","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.20.0","eventsource":"^4.1.0","@grpc/grpc-js":"^1.14.3","@grpc/proto-loader":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.14.3","tsx":"^4.21.0","tsup":"^8.5.1","chalk":"^5.6.2","eslint":"^9.39.4","vitest":"^4.1.5","inquirer":"^13.4.2","prettier":"^3.8.3","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.6.0","@types/inquirer":"^9.0.9","@types/eventsource":"^3.0.0","@vitest/coverage-v8":"^4.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.59.2","@typescript-eslint/eslint-plugin":"^8.59.2"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.31_1783518991018_0.04830027590641972","host":"s3://npm-registry-packages-npm-production"}},"1.0.32":{"name":"@spooled/sdk","version":"1.0.32","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","_id":"@spooled/sdk@1.0.32","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"homepage":"https://spooled.cloud","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"fb6c743798111a3f26ce3ae5a1d6c33f923286c9","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.0.32.tgz","fileCount":18,"integrity":"sha512-a26vOpTlJzUH6h2X7Yn/XuKmmNJNNlB8q7Zso87S1CPBugJzLdb2EeLZteHFOu85ol7bMVP5sGiEnbqcVNOFqA==","signatures":[{"sig":"MEUCIQD6I6JDD4Crf9zVc3GnQaBpi/SMB1bGxnEo9545DVZhIQIgb1YRx7YN0GnrePe3NUKrWK19TSrFhmJo3U3t5W9LnLc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.0.32","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1098455},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"6f5d92bffb495426fa7edf5afbbe497011894fac","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts","verify:production":"tsx scripts/verify-production.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.18.0","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.20.0","eventsource":"^4.1.0","@grpc/grpc-js":"^1.14.3","@grpc/proto-loader":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.14.3","tsx":"^4.21.0","tsup":"^8.5.1","chalk":"^5.6.2","eslint":"^9.39.4","vitest":"^4.1.5","inquirer":"^13.4.2","prettier":"^3.8.3","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.6.0","@types/inquirer":"^9.0.9","@types/eventsource":"^3.0.0","@vitest/coverage-v8":"^4.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.59.2","@typescript-eslint/eslint-plugin":"^8.59.2"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.32_1783570228924_0.1938143400999377","host":"s3://npm-registry-packages-npm-production"}},"1.0.33":{"name":"@spooled/sdk","version":"1.0.33","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","_id":"@spooled/sdk@1.0.33","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"homepage":"https://spooled.cloud","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"1649ebfdec83f563c1bbb3450f9d92bb59614a75","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.0.33.tgz","fileCount":18,"integrity":"sha512-42P0izoNVDE+q46L8FFIKBVfX9sE3+H89HDj4UET+TyFHhRN6k8tI1DI6AyeXRjTo+GRAd50vyIoN4d2K67CNA==","signatures":[{"sig":"MEUCIQD+gKzbpGSULuUfEzIk6HeJ5khxkI/pKZ3+KgcDst2wtgIgOT7K6Qw5nVEeigL+F40xYPRwl67SHgUrjXtVA/6McZY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.0.33","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1105867},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"ba7435acbc886a8409123c352b79aa3175614b61","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts","verify:production":"tsx scripts/verify-production.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.18.0","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.20.0","eventsource":"^4.1.0","@grpc/grpc-js":"^1.14.3","@grpc/proto-loader":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.14.3","tsx":"^4.21.0","tsup":"^8.5.1","chalk":"^5.6.2","eslint":"^9.39.4","vitest":"^4.1.5","inquirer":"^13.4.2","prettier":"^3.8.3","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.6.0","@types/inquirer":"^9.0.9","@types/eventsource":"^3.0.0","@vitest/coverage-v8":"^4.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.59.2","@typescript-eslint/eslint-plugin":"^8.59.2"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.33_1783630355246_0.011007206370577949","host":"s3://npm-registry-packages-npm-production"}},"1.0.34":{"name":"@spooled/sdk","version":"1.0.34","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","_id":"@spooled/sdk@1.0.34","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"homepage":"https://spooled.cloud","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"f5db5042aeb626f6b78fc799943f17e785847ff5","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.0.34.tgz","fileCount":18,"integrity":"sha512-PcjKg8x9b41gfiMlgkFBChnIWORpw2muEjUf0/VGraf47Rfyz/BPGUmO9M1fDgrwVKzgN8B77RjPQCGyl4ilQA==","signatures":[{"sig":"MEUCIQCV6sN2v+6iYBJBsMBXtOw7q9B2VoOrgIPJCO3/JCjdZgIgXcoSgnpG7Ukpn6fACnLIffVaMykLfCpyvdwH6iyG7TE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.0.34","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1113033},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"93ff7ec8b6a1cf83538f5fa3f020fc0abaf837f7","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts","verify:production":"tsx scripts/verify-production.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.18.0","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.20.0","eventsource":"^4.1.0","@grpc/grpc-js":"^1.14.3","@grpc/proto-loader":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.14.3","tsx":"^4.21.0","tsup":"^8.5.1","chalk":"^5.6.2","eslint":"^9.39.4","vitest":"^4.1.5","inquirer":"^13.4.2","prettier":"^3.8.3","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.6.0","@types/inquirer":"^9.0.9","@types/eventsource":"^3.0.0","@vitest/coverage-v8":"^4.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.59.2","@typescript-eslint/eslint-plugin":"^8.59.2"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.34_1783803173019_0.6251703615309256","host":"s3://npm-registry-packages-npm-production"}},"1.0.35":{"name":"@spooled/sdk","version":"1.0.35","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","_id":"@spooled/sdk@1.0.35","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"homepage":"https://spooled.cloud","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"ef6599cc99d58c5d39dc8eefc93823def6889515","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.0.35.tgz","fileCount":18,"integrity":"sha512-b2rK6dmSi8Fer7xSVfigYaPUs1JUz48hF7wNvguziGW00LXQFf3pkOrb7JvSdw1zuK0P5Cv5WIxzLIMMEeg/SQ==","signatures":[{"sig":"MEUCIQC4AWNKOSKXkjASwlyaC2vJdRTWWK00iaPK5ZoZ6Bi1/AIgLo8uzgGlr9KwpVOGiWyq3/mL4kurbZ84+XSYsv58Xj4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.0.35","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1132791},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"268b1af9c4422bc7bda171de59389be8b21645e9","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts","verify:production":"tsx scripts/verify-production.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.18.0","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.20.0","eventsource":"^4.1.0","@grpc/grpc-js":"^1.14.3","@grpc/proto-loader":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.14.3","tsx":"^4.21.0","tsup":"^8.5.1","chalk":"^5.6.2","eslint":"^9.39.4","vitest":"^4.1.5","inquirer":"^13.4.2","prettier":"^3.8.3","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.6.0","@types/inquirer":"^9.0.9","@types/eventsource":"^3.0.0","@vitest/coverage-v8":"^4.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.59.2","@typescript-eslint/eslint-plugin":"^8.59.2"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.35_1783870680278_0.6360682666076691","host":"s3://npm-registry-packages-npm-production"}},"1.0.36":{"name":"@spooled/sdk","version":"1.0.36","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","_id":"@spooled/sdk@1.0.36","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"homepage":"https://spooled.cloud","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"06eaa2255d93cea979e9fc2b9dcd34dfada42373","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.0.36.tgz","fileCount":18,"integrity":"sha512-pSY0iASC/rc1fZWU6d7bbFvUhXHeWtEULLkO0oYDcRCqkBtPnkMUwUg+Ti0jFundGfcmWpqUgTpxnpXn2oAOTg==","signatures":[{"sig":"MEUCICNenIybj1MkvdBtbBvhoQSzNRUAfGYBYqGeVpP8xar7AiEA4/QSbsXDW1JWKBQFk2I6dPmiC8YlPNIfA8HQIxT3Vog=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.0.36","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1153638},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"907f88306c9539bc800981f81736d84534ed81c3","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts","verify:production":"tsx scripts/verify-production.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.18.0","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.20.0","eventsource":"^3.0.7","@grpc/grpc-js":"^1.14.3","@grpc/proto-loader":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.14.3","tsx":"^4.21.0","tsup":"^8.5.1","chalk":"^5.6.2","eslint":"^9.39.4","vitest":"^4.1.5","inquirer":"^13.4.2","prettier":"^3.8.3","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.6.0","@types/inquirer":"^9.0.9","@types/eventsource":"^3.0.0","@vitest/coverage-v8":"^4.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.59.2","@typescript-eslint/eslint-plugin":"^8.59.2"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.36_1783962459029_0.050327407582276384","host":"s3://npm-registry-packages-npm-production"}},"1.0.37":{"name":"@spooled/sdk","version":"1.0.37","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","_id":"@spooled/sdk@1.0.37","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"homepage":"https://spooled.cloud","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"e9ca19792ab1c51d8234992fe9cffefb9579e2c3","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.0.37.tgz","fileCount":18,"integrity":"sha512-yug4/Pw5yzN9Qk163JHIs7dxunaBK1C0l1w/Net094GVfxrxZxiVdctDHlqo73QnlxIGGqnFzTliblo8NTn46w==","signatures":[{"sig":"MEYCIQDuK8w6M16HbXJ7rPOlx9DmQ1H/TrTudPhZcOet7Of3ZQIhANiKw41WjkR0k0BoRO8mngB+yABFQYUQKd3RBC8DY00N","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.0.37","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1153638},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"ef99d4959f4ad85454915ffae3da61ffcb2394db","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts","verify:production":"tsx scripts/verify-production.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.18.0","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.20.0","eventsource":"^3.0.7","@grpc/grpc-js":"^1.14.3","@grpc/proto-loader":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.14.3","tsx":"^4.21.0","tsup":"^8.5.1","chalk":"^5.6.2","eslint":"^9.39.4","vitest":"^4.1.5","inquirer":"^13.4.2","prettier":"^3.8.3","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.6.0","@types/inquirer":"^9.0.9","@types/eventsource":"^3.0.0","@vitest/coverage-v8":"^4.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.59.2","@typescript-eslint/eslint-plugin":"^8.59.2"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.37_1784062611529_0.4510029733441383","host":"s3://npm-registry-packages-npm-production"}},"1.0.38":{"name":"@spooled/sdk","version":"1.0.38","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","_id":"@spooled/sdk@1.0.38","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"homepage":"https://spooled.cloud","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"1d2a11b1316adfbb7263ba35363897d459ad41ad","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.0.38.tgz","fileCount":18,"integrity":"sha512-spnMw1viC+XCtNyJReqkQd2xvd4AGBtPCi2uaN7LodsI5JbOOrHDQ4sYaPNb67m4QnT7yklcap2hLb4efQ7SgQ==","signatures":[{"sig":"MEUCIQC53IaCQbJjSHUzSNBiQU7jdQ3h1Gfk1x1tkcjB955kvwIgDKkgjSTkFW24Adprgc4yoBHdIYV/nEZ/MFZYmBZbBEU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.0.38","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1157806},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"b33eb15ae612e5948814be3b6a001b25a768d743","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts","verify:production":"tsx scripts/verify-production.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.18.0","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.20.0","eventsource":"^3.0.7","@grpc/grpc-js":"^1.14.3","@grpc/proto-loader":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.14.3","tsx":"^4.21.0","tsup":"^8.5.1","chalk":"^5.6.2","eslint":"^9.39.4","vitest":"^4.1.5","inquirer":"^13.4.2","prettier":"^3.8.3","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.6.0","@types/inquirer":"^9.0.9","@types/eventsource":"^3.0.0","@vitest/coverage-v8":"^4.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.59.2","@typescript-eslint/eslint-plugin":"^8.59.2"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.38_1784078400669_0.7362872140613623","host":"s3://npm-registry-packages-npm-production"}},"1.0.39":{"name":"@spooled/sdk","version":"1.0.39","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","_id":"@spooled/sdk@1.0.39","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"homepage":"https://spooled.cloud","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"4d0d8616caa05900cb7d4a8b403acf2f4f481959","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.0.39.tgz","fileCount":18,"integrity":"sha512-AuEyqMeRcoGkHEUiS5I4VrRH6G4nQ/5Wve1GwWwOPr2TqU4p5emglHHp0omgUdoc5S/btaDZyoMN0M4Id5dORg==","signatures":[{"sig":"MEUCIQDaGG165+GpZttx2lPmVGDRBcQdJvO0pw5z/U+7jqfeIgIgftVsFtl9i84FxBTHwsr/RygzR6xqYj9uosWn+shsRK8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.0.39","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1162287},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"9677aeeeab1b79442df96ee2f97e493e88e520e5","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts","verify:production":"tsx scripts/verify-production.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.18.0","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.20.0","eventsource":"^3.0.7","@grpc/grpc-js":"^1.14.3","@grpc/proto-loader":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.14.3","tsx":"^4.21.0","tsup":"^8.5.1","chalk":"^5.6.2","eslint":"^9.39.4","vitest":"^4.1.5","inquirer":"^13.4.2","prettier":"^3.8.3","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.6.0","@types/inquirer":"^9.0.9","@types/eventsource":"^3.0.0","@vitest/coverage-v8":"^4.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.59.2","@typescript-eslint/eslint-plugin":"^8.59.2"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.39_1784082590468_0.7877072585970746","host":"s3://npm-registry-packages-npm-production"}},"1.0.40":{"name":"@spooled/sdk","version":"1.0.40","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","_id":"@spooled/sdk@1.0.40","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"homepage":"https://spooled.cloud","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"5db8179a18f72b2d21cf81473c5a578d8fb9155a","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.0.40.tgz","fileCount":18,"integrity":"sha512-ULBapbB9CKSOgI5Csx+If1DkSCb/KJHwubRjHmhzccfI7zdtWJ65L9rky1U7WA1BwWvVc6jB3jSYCufLl+g8Wg==","signatures":[{"sig":"MEQCIHlGG+rd7/UoMfckvEEPi49m/A/bId4WwYsyYJHl2CvYAiBHpZfOQZHRVYZc2m8qRJrIrHagwGRDs2dcralotErGGQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.0.40","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1190627},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"06d0f5ddad724239cef7b8b598fb0fbaa45779c0","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts","verify:production":"tsx scripts/verify-production.ts","typecheck:examples":"tsc --noEmit -p tsconfig.examples.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.18.0","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.20.0","eventsource":"^3.0.7","@grpc/grpc-js":"^1.14.3","@grpc/proto-loader":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.14.3","tsx":"^4.21.0","tsup":"^8.5.1","chalk":"^5.6.2","eslint":"^9.39.4","vitest":"^4.1.5","inquirer":"^13.4.2","prettier":"^3.8.3","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.6.0","@types/inquirer":"^9.0.9","@types/eventsource":"^3.0.0","@vitest/coverage-v8":"^4.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.59.2","@typescript-eslint/eslint-plugin":"^8.59.2"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.40_1784472492125_0.21830553268024455","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@spooled/sdk","version":"1.1.0","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","_id":"@spooled/sdk@1.1.0","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"homepage":"https://spooled.cloud","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"c8d2e70bec4b427347f8524ab0339372f8b97f51","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.1.0.tgz","fileCount":18,"integrity":"sha512-3MTODy1d0+mXRtQ4l2VAYzxi3ngRqwwKRf4nDT/2j5BVGw75iA74yJJuHT88lakal1OI44kbDgpVuBAMA1f5YA==","signatures":[{"sig":"MEUCIBZpF9TYi3VR/RMMGekO7LCS/xFs8brTy83X6lbeRbISAiEAy7U8yeQbIla9LZRrQZOzkhtB2lUPfspLCPB229w1F38=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1201805},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"183a6963d9d7eb0cfd7f7fafb8eac6fd5eddeff1","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts","verify:production":"tsx scripts/verify-production.ts","typecheck:examples":"tsc --noEmit -p tsconfig.examples.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.19.0","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.20.0","eventsource":"^3.0.7","@grpc/grpc-js":"^1.14.3","@grpc/proto-loader":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.14.3","tsx":"^4.21.0","tsup":"^8.5.1","chalk":"^5.6.2","eslint":"^9.39.4","vitest":"^4.1.5","inquirer":"^13.4.2","prettier":"^3.8.3","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.6.0","@types/inquirer":"^9.0.9","@types/eventsource":"^3.0.0","@vitest/coverage-v8":"^4.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.59.2","@typescript-eslint/eslint-plugin":"^8.59.2"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.1.0_1786909851236_0.8431589317400707","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@spooled/sdk","version":"1.2.0","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","_id":"@spooled/sdk@1.2.0","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"homepage":"https://spooled.cloud","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"b75bc58238626c5a2a03db05b2ddd4737f8d9fc1","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.2.0.tgz","fileCount":18,"integrity":"sha512-m5QmYfYPbwbRG9IR/Mn3kllqLiUR+Y2fnD5Vxith8H4hB+CHO6aYwlq7Fj7CmuwfWUHWTos0ZEHnvLfJNJFFjQ==","signatures":[{"sig":"MEUCIQDKJYaw8VL4EiThihZ2eVWYwv87bA0NZZBdVPCM6ch76QIgBgpO6/Mr88jGzjyB05g/dVuU4VwGard06BAoeCypZsE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1240571},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"57b09dcf8e7fbbf441cb9570ca66c4376c8a6354","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts","verify:production":"tsx scripts/verify-production.ts","typecheck:examples":"tsc --noEmit -p tsconfig.examples.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.19.1","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.20.0","eventsource":"^3.0.7","@grpc/grpc-js":"^1.14.3","@grpc/proto-loader":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.14.3","tsx":"^4.21.0","tsup":"^8.5.1","chalk":"^5.6.2","eslint":"^9.39.4","vitest":"^4.1.5","inquirer":"^13.4.2","prettier":"^3.8.3","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.6.0","@types/inquirer":"^9.0.9","@types/eventsource":"^3.0.0","@vitest/coverage-v8":"^4.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.59.2","@typescript-eslint/eslint-plugin":"^8.59.2"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.2.0_1789040238516_0.8095780972195084","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"_id":"@spooled/sdk@1.2.1","bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"dist":{"shasum":"377fd445a122908a0a9ac3379cbb194c18c5e3fb","tarball":"https://registry.npmjs.org/@spooled/sdk/-/sdk-1.2.1.tgz","fileCount":18,"integrity":"sha512-e0pJuRypA6Dz7zjOpv723cyQuK5MCam5d9BV3iDDk7ZYLvR84+sdzQswHMyfzSb/uHE8xmjAKgyBK/+S+ItKYg==","signatures":[{"sig":"MEUCIBUtZlhX0aNtGH/JRONp+wnQWju/6JgB+4l1ayUEZ1S1AiEAsYjAVwAlmDxjOeXHbDFU1TRUGVN4/s1EBwAF1yHaF6w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDCkmWjoyfEzBxgSK35dDtmnb4j8eiA3U3VC3W7zcUjWwIgVXeNs6rwY0VwC8pdGZtBHPG74SQIbmDThycT4LYCcIw="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@spooled%2fsdk@1.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1244603},"main":"dist/index.cjs","name":"@spooled/sdk","type":"module","types":"dist/index.d.ts","author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./worker":{"types":"./dist/worker/index.d.ts","import":"./dist/worker/index.js","require":"./dist/worker/index.cjs"}},"gitHead":"a3409ae781eb08504c33dee7eb7ea0438e402c1a","license":"Apache-2.0","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","lint:fix":"eslint src tests --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm run test","test:integration":"vitest run --config vitest.integration.config.ts","verify:production":"tsx scripts/verify-production.ts","typecheck:examples":"tsc --noEmit -p tsconfig.examples.json"},"version":"1.2.1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1682311a-dc6a-4c42-a496-2c2b122ebcd8"}},"homepage":"https://spooled.cloud","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"_npmVersion":"11.20.0","description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","directories":{},"maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.20.0","eventsource":"^3.0.7","@grpc/grpc-js":"^1.14.3","@grpc/proto-loader":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.14.3","tsx":"^4.21.0","tsup":"^8.5.1","chalk":"^5.6.2","eslint":"^9.39.4","vitest":"^4.1.5","inquirer":"^13.4.2","prettier":"^3.8.3","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.6.0","@types/inquirer":"^9.0.9","@types/eventsource":"^3.0.0","@vitest/coverage-v8":"^4.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.59.2","@typescript-eslint/eslint-plugin":"^8.59.2"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk_1.2.1_1790450950408_0.4742004722220654"}}},"time":{"created":"2025-12-15T02:41:00.638Z","modified":"2026-09-26T19:29:10.845Z","1.0.0":"2025-12-15T02:41:00.901Z","1.0.9":"2025-12-15T03:25:49.147Z","1.0.10":"2025-12-15T03:49:38.832Z","1.0.11":"2025-12-15T14:39:42.006Z","1.0.12":"2025-12-16T00:22:44.138Z","1.0.13":"2025-12-16T05:14:00.181Z","1.0.14":"2025-12-16T05:43:09.848Z","1.0.15":"2025-12-17T01:08:07.609Z","1.0.16":"2025-12-17T03:23:39.024Z","1.0.17":"2025-12-17T05:11:19.335Z","1.0.18":"2025-12-17T23:02:16.501Z","1.0.19":"2025-12-18T11:01:04.901Z","1.0.20":"2025-12-18T23:46:30.871Z","1.0.21":"2025-12-19T01:36:52.392Z","1.0.23":"2025-12-20T19:35:40.858Z","1.0.25":"2025-12-21T16:06:58.373Z","1.0.26":"2025-12-21T17:07:33.085Z","1.0.27":"2026-05-05T23:22:58.271Z","1.0.28":"2026-07-07T13:33:00.012Z","1.0.29":"2026-07-08T07:41:06.493Z","1.0.30":"2026-07-08T11:22:01.197Z","1.0.31":"2026-07-08T13:56:31.173Z","1.0.32":"2026-07-09T04:10:29.163Z","1.0.33":"2026-07-09T20:52:35.445Z","1.0.34":"2026-07-11T20:52:53.195Z","1.0.35":"2026-07-12T15:38:00.441Z","1.0.36":"2026-07-13T17:07:39.172Z","1.0.37":"2026-07-14T20:56:51.696Z","1.0.38":"2026-07-15T01:20:00.868Z","1.0.39":"2026-07-15T02:29:50.626Z","1.0.40":"2026-07-19T14:48:12.294Z","1.1.0":"2026-08-16T19:50:51.413Z","1.2.0":"2026-09-10T11:37:18.657Z","1.2.1":"2026-09-26T19:29:10.496Z"},"bugs":{"url":"https://github.com/spooled-cloud/spooled-sdk-nodejs/issues"},"author":{"name":"Spooled Cloud","email":"support@spooled.cloud"},"license":"Apache-2.0","homepage":"https://spooled.cloud","keywords":["spooled","job-queue","task-queue","background-jobs","webhooks","cron","scheduler","workflow"],"repository":{"url":"git+https://github.com/Spooled-Cloud/spooled-sdk-nodejs.git","type":"git"},"description":"Official Node.js/TypeScript SDK for Spooled Cloud job queue service","maintainers":[{"name":"ysalitrynskyi","email":"spooled@ys.contact"}],"readme":"# @spooled/sdk\n\nOfficial Node.js/TypeScript SDK for [Spooled Cloud](https://spooled.cloud) - a modern job queue service for distributed applications.\n\n[**Live Demo (SpriteForge)**](https://example.spooled.cloud) • [Documentation](https://spooled.cloud/docs)\n\n[![npm version](https://badge.fury.io/js/@spooled%2Fsdk.svg)](https://www.npmjs.com/package/@spooled/sdk)\n[![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE)\n\n## Features\n\n- **Full TypeScript support** with comprehensive type definitions\n- **ESM and CommonJS** dual package support\n- **Automatic retries** with exponential backoff and jitter\n- **Circuit breaker** for fault tolerance\n- **Realtime events** via WebSocket and SSE\n- **Worker runtime** for processing jobs\n- **Workflow DAGs** for complex job dependencies\n- **gRPC streaming** for high-performance workers (with automatic limit enforcement)\n- **Tier-based limits** with automatic enforcement across all endpoints\n- **Organization management** with usage tracking\n- **Webhook management** with automatic retries\n- **Dead Letter Queue (DLQ)** operations\n- **API Key management** with Redis caching (~28x faster authentication)\n- **Billing integration** via Stripe\n- **Automatic case conversion** between camelCase (SDK) and snake_case (API)\n\n## Installation\n\n```bash\nnpm install @spooled/sdk\n```\n\n## Quick Start\n\n```typescript\nimport { SpooledClient } from \"@spooled/sdk\";\n\nconst client = new SpooledClient({\n  apiKey: \"sp_live_your_api_key\",\n  // For self-hosted: baseUrl: 'https://your-spooled-server.com'\n});\n\n// Create a job\nconst { id } = await client.jobs.create({\n  queueName: \"email-notifications\",\n  payload: {\n    to: \"user@example.com\",\n    subject: \"Welcome!\",\n    body: \"Thanks for signing up.\",\n  },\n  priority: 5,\n  maxRetries: 3,\n});\n\nconsole.log(`Created job: ${id}`);\n\n// Get job status\nconst job = await client.jobs.get(id);\nconsole.log(`Status: ${job.status}`);\n```\n\n## Documentation\n\n| Guide                                      | Description                         |\n| ------------------------------------------ | ----------------------------------- |\n| [Getting Started](docs/getting-started.md) | Installation, setup, and first job  |\n| [Configuration](docs/configuration.md)     | All configuration options           |\n| [Workers](docs/workers.md)                 | Job processing with SpooledWorker   |\n| [Workflows](docs/workflows.md)             | Building DAGs with job dependencies |\n| [gRPC](docs/grpc.md)                       | High-performance streaming          |\n| [Resources](docs/resources.md)             | Complete API reference              |\n\n## Examples\n\nSee the [`examples/`](examples/) directory for runnable code:\n\n| Example                                           | Description                         |\n| ------------------------------------------------- | ----------------------------------- |\n| [`quick-start.ts`](examples/quick-start.ts)       | Basic SDK usage                     |\n| [`worker.ts`](examples/worker.ts)                 | Processing jobs with SpooledWorker  |\n| [`workflow-dag.ts`](examples/workflow-dag.ts)     | Complex workflows with dependencies |\n| [`grpc-streaming.ts`](examples/grpc-streaming.ts) | High-performance gRPC streaming     |\n| [`realtime.ts`](examples/realtime.ts)             | Real-time event streaming           |\n| [`schedules.ts`](examples/schedules.ts)           | Cron schedules                      |\n| [`error-handling.ts`](examples/error-handling.ts) | Error handling patterns             |\n\n## Real-world examples (beginner friendly)\n\nIf you want 5 copy/paste “real life” setups (Stripe → jobs, GitHub Actions → jobs, cron schedules, CSV import, website signup), see:\n\n- `https://github.com/spooled-cloud/spooled-backend/blob/main/docs/guides/real-world-examples.md`\n\n## Core Concepts\n\n### Jobs\n\nJobs are units of work with payloads, priorities, and retry policies:\n\n```typescript\nconst { id } = await client.jobs.create({\n  queueName: \"my-queue\",\n  payload: { data: \"value\" },\n  priority: 5, // -100 to 100\n  maxRetries: 3,\n  timeoutSeconds: 300,\n  scheduledAt: new Date(Date.now() + 60000),\n  idempotencyKey: \"unique-key\",\n});\n```\n\n### Workers\n\nProcess jobs with the built-in worker runtime:\n\n```typescript\nimport { SpooledClient, SpooledWorker } from \"@spooled/sdk\";\n\nconst client = new SpooledClient({ apiKey: \"sp_live_...\" });\n\nconst worker = new SpooledWorker(client, {\n  queueName: \"my-queue\",\n  workerId: \"my-queue-worker-01\", // stable id — see below\n  concurrency: 10,\n});\n\nworker.process(async (ctx) => {\n  console.log(`Processing job ${ctx.jobId}`);\n  await doSomething(ctx.payload);\n  return { success: true };\n});\n\nawait worker.start();\n\n// Graceful shutdown\nprocess.on(\"SIGTERM\", () => worker.stop());\n```\n\nGive any worker that restarts a stable `workerId` (1-128 chars, `[A-Za-z0-9._-]`). Registration then\nupserts a single row instead of minting a new UUID each start, which otherwise leaves the previous\nregistration counting against your plan's worker limit until the stale-worker reaper clears it\n(~2 minutes).\n\n### Workflows (DAGs)\n\nOrchestrate multiple jobs with dependencies:\n\n```typescript\nconst workflow = await client.workflows.create({\n  name: \"ETL Pipeline\",\n  jobs: [\n    { key: \"extract\", queueName: \"etl\", payload: { step: \"extract\" } },\n    {\n      key: \"transform\",\n      queueName: \"etl\",\n      payload: { step: \"transform\" },\n      dependsOn: [\"extract\"],\n    },\n    {\n      key: \"load\",\n      queueName: \"etl\",\n      payload: { step: \"load\" },\n      dependsOn: [\"transform\"],\n    },\n  ],\n});\n```\n\n### Schedules\n\nRun jobs on a cron schedule:\n\n```typescript\nconst schedule = await client.schedules.create({\n  name: \"Daily Report\",\n  cronExpression: \"0 9 * * *\", // 9 AM daily; 5-field (min hour dom mon dow) or 6-field (leading seconds) both work\n  timezone: \"America/New_York\",\n  queueName: \"reports\",\n  payloadTemplate: { type: \"daily\" },\n});\n```\n\n### Realtime Events\n\nSubscribe to real-time job events:\n\n```typescript\nconst realtime = await client.realtime();\n\nrealtime.on(\"job.completed\", (data) => {\n  console.log(`Job completed: ${data.jobId}`);\n});\n\nawait realtime.connect();\nawait realtime.subscribe({ queueName: \"my-queue\" });\n```\n\n### Organization Management\n\nManage your organization and track usage:\n\n```typescript\n// Get current usage and limits\nconst usage = await client.organizations.getUsage();\nconsole.log(\n  `Active jobs: ${usage.active_jobs.current}/${usage.active_jobs.limit}`,\n);\nconsole.log(`Plan: ${usage.plan.tier}`);\n\n// Generate a unique slug for a new organization\nconst { slug } = await client.organizations.generateSlug(\"My Company\");\n\n// Check if a slug is available\nconst { available } = await client.organizations.checkSlug(\"my-company\");\n```\n\n### Webhooks\n\nConfigure outgoing webhooks for job events:\n\n```typescript\n// Create webhook\nconst webhook = await client.webhooks.create({\n  name: \"App notifications\",\n  url: \"https://your-app.com/webhooks/spooled\",\n  events: [\"job.completed\", \"job.failed\"],\n  secret: \"webhook_secret_key\",\n});\n\n// Retry a failed delivery\nawait client.webhooks.retryDelivery(webhookId, deliveryId);\n\n// Get delivery history (retention-bounded: free 1 day, starter 7, pro 30,\n// enterprise 90 — and only the newest 100 deliveries per webhook)\nconst deliveries = await client.webhooks.getDeliveries(webhookId);\n```\n\nAfter 20 consecutive failed deliveries a webhook is disabled automatically (`enabled: false`,\n`lastStatus: \"auto_disabled\"`) and stops receiving events until you turn it back on:\n\n```typescript\nawait client.webhooks.update(webhookId, { enabled: true });\n```\n\nUpdating changes only the fields you send. `secret` is three-state — omit it to keep the current\nsecret, pass a string to replace it, or pass `null` to clear it. Clearing is destructive: deliveries\nthen go out unsigned, with no `X-Spooled-Signature` header. Do not serialise unchanged fields as\n`null`.\n\n### Dead Letter Queue (DLQ)\n\nManage jobs that have exhausted all retries:\n\n```typescript\n// List DLQ jobs\nconst dlqJobs = await client.jobs.dlq.list({ limit: 100 });\n\n// Retry specific jobs from DLQ\nawait client.jobs.dlq.retry({\n  jobIds: [\"job-1\", \"job-2\"],\n});\n\n// Retry jobs by queue\nawait client.jobs.dlq.retry({\n  queueName: \"my-queue\",\n  limit: 50,\n});\n\n// Purge DLQ (requires confirmation)\nawait client.jobs.dlq.purge({\n  queueName: \"my-queue\",\n  confirm: true,\n});\n```\n\n### API Key Management\n\nManage API keys programmatically:\n\n```typescript\n// Create a new API key\nconst apiKey = await client.apiKeys.create({\n  name: \"Production Worker\",\n  queues: [\"emails\", \"notifications\"],\n  rateLimit: 1000,\n});\n\nconsole.log(`Save this key: ${apiKey.key}`); // Only shown once!\n\n// List all API keys\nconst keys = await client.apiKeys.list();\n\n// Revoke a key\nawait client.apiKeys.revoke(keyId);\n```\n\n### Billing & Subscriptions\n\nManage billing via Stripe integration:\n\n```typescript\n// Get billing status\nconst status = await client.billing.getStatus();\n\n// Create customer portal session\nconst { url } = await client.billing.createPortal({\n  returnUrl: \"https://your-app.com/settings\",\n});\n\n// Redirect user to: url\n```\n\n### Authentication\n\nEmail-based passwordless authentication:\n\n```typescript\n// Start email login flow\nawait client.auth.startEmailLogin(\"user@example.com\");\n// User receives email with login link\n\n// Check if email exists\nconst { exists } = await client.auth.checkEmail(\"user@example.com\");\n\n// Exchange API key for JWT\nconst { accessToken, refreshToken } = await client.auth.login({\n  apiKey: \"sp_live_...\",\n});\n\n// Use JWT for subsequent requests\nconst jwtClient = new SpooledClient({ accessToken });\n```\n\n## Plan Limits\n\nAll operations automatically enforce tier-based limits:\n\n| Tier           | Active Jobs | Daily Jobs | Queues    | Workers   | Webhooks  |\n| -------------- | ----------- | ---------- | --------- | --------- | --------- |\n| **Free**       | 10          | 1,000      | 5         | 3         | 2         |\n| **Starter**    | 100         | 100,000    | 25        | 25        | 10        |\n| **Enterprise** | Unlimited   | Unlimited  | Unlimited | Unlimited | Unlimited |\n\n**Limits are enforced on:**\n\n- ✅ HTTP job creation (`POST /jobs`, `POST /jobs/bulk`)\n- ✅ gRPC job enqueue\n- ✅ Workflow creation (counts all jobs in workflow)\n- ✅ Schedule triggers\n- ✅ DLQ retry operations\n- ✅ Worker registration (re-registering your own stable `workerId` is not charged again)\n- ✅ Queue creation\n- ✅ Webhook creation, and re-enabling a disabled webhook\n\nWhen a plan quota or limit is exceeded, you'll receive an `HTTP 429` response with\n`code: \"QUOTA_EXCEEDED\"`. The SDK reliably preserves the HTTP status, error code, message,\nrequest ID, and rate-limit headers. `error.details` is populated only when the server nests\nmetadata under a JSON `details` field; quota fields sent at the top level of the server payload\n(such as `resource`, `current`, `limit`, and `plan`) are not currently exposed by the SDK.\n\n```typescript\nimport { RateLimitError } from \"@spooled/sdk\";\n\ntry {\n  await client.jobs.create({\n    /* ... */\n  });\n} catch (error) {\n  if (error instanceof RateLimitError && error.code === \"QUOTA_EXCEEDED\") {\n    console.log(`Plan limit: ${error.message}`);\n    console.log(`Request ID: ${error.requestId ?? \"not provided\"}`);\n    // Present only if this server response included a nested `details` object.\n    if (error.details) console.log(\"Details:\", error.details);\n  }\n}\n```\n\n(Per-second rate limiting also returns `429`, as a `RateLimitError` with the default `RATE_LIMIT_EXCEEDED` code.)\n\n## Error Handling\n\nAll errors extend `SpooledError` with specific subclasses:\n\n```typescript\nimport {\n  NotFoundError,\n  RateLimitError,\n  ValidationError,\n  AuthorizationError,\n  isSpooledError,\n} from \"@spooled/sdk\";\n\ntry {\n  await client.jobs.get(\"non-existent\");\n} catch (error) {\n  if (error instanceof NotFoundError) {\n    console.log(\"Job not found\");\n  } else if (error instanceof AuthorizationError) {\n    console.log(`Forbidden: ${error.message}`);\n  } else if (error instanceof RateLimitError) {\n    // 429: either a plan quota (code \"QUOTA_EXCEEDED\") or per-second rate limiting\n    console.log(`Retry after ${error.getRetryAfter()} seconds`);\n  } else if (isSpooledError(error)) {\n    console.log(`API error: ${error.code} - ${error.message}`);\n  }\n}\n```\n\n## gRPC API\n\nFor high-throughput workers, use the native gRPC API with the included gRPC client:\n\n```typescript\nimport { SpooledGrpcClient } from \"@spooled/sdk\";\n\n// Connect to gRPC server (Optimized for Cloudflare Tunnel)\n// useTls: true if connecting to grpc.spooled.cloud:443 (Cloudflare terminates TLS)\n// useTls: false if connecting to localhost or direct backend\nconst grpcClient = new SpooledGrpcClient({\n  address: \"grpc.spooled.cloud:443\",\n  apiKey: \"sp_live_your_key\",\n  useTls: true,\n});\n\n// Register worker\nconst { workerId } = await grpcClient.workers.register({\n  queueName: \"emails\",\n  hostname: \"worker-1\",\n  maxConcurrency: 10,\n});\n\n// Enqueue job (enforces plan limits automatically)\nconst { jobId } = await grpcClient.queue.enqueue({\n  queueName: \"emails\",\n  payload: { to: \"user@example.com\" },\n  priority: 5,\n});\n\n// Dequeue jobs in batch\nconst { jobs } = await grpcClient.queue.dequeue({\n  queueName: \"emails\",\n  workerId,\n  batchSize: 10,\n  leaseDurationSecs: 300,\n});\n\n// Process and complete. Echo leaseId when present so current servers can fence stale executions; legacy servers may omit it and then use worker-ID-only fencing.\nfor (const job of jobs) {\n  await processJob(job);\n  await grpcClient.queue.complete({\n    jobId: job.id,\n    workerId,\n    leaseId: job.leaseId ?? undefined,\n    result: { success: true },\n  });\n}\n```\n\n**gRPC Features:**\n\n- **~28x faster** than HTTP (with Redis cache: ~50ms vs 1400ms)\n- **Automatic plan limit enforcement** on enqueue operations\n- **Batch operations** for higher throughput\n- **Streaming support** for real-time job processing\n- **Secure authentication** via API key metadata\n\nSee [gRPC Guide](docs/grpc.md) for complete documentation.\n\n## TypeScript Support\n\nFull TypeScript support with comprehensive type definitions:\n\n```typescript\nimport type {\n  SpooledClientConfig,\n  Job,\n  JobStatus,\n  CreateJobParams,\n  Queue,\n  QueueStats,\n  Schedule,\n  CreateScheduleParams,\n  Workflow,\n  CreateWorkflowParams,\n  Worker,\n  WorkerStatus,\n} from \"@spooled/sdk\";\n```\n\n## Development and releases\n\nBefore opening a pull request or tagging a release, run the same checks used by the package and publish workflow:\n\n```bash\nnpm ci\nnpm run lint\nnpm run typecheck\nnpm run build\nnpm test\n```\n\nProduction-safe API verification is separate and credentialed: `npm run verify:production`. Integration tests use `npm run test:integration` against a local or isolated test backend.\n\nMaintainers release by pushing a matching `vX.Y.Z` tag. The tag workflow verifies all same-artifact version surfaces before publishing through npm Trusted Publishing (OIDC) with provenance.\n\n### Maintainer release checklist (advisory)\n\nThis checklist records evidence and does not block ordinary commits, experiments, or compatibility research. A mismatch among values that identify the same npm artifact is a release error and cannot be waived for publication. Publishing the SDK is not a service deployment; consumers report new metadata only after upgrading and restarting or redeploying their applications.\n\nBefore pushing `vX.Y.Z`:\n\n- [ ] Set `package.json.version` to `X.Y.Z`.\n- [ ] Regenerate `package-lock.json`; verify both top-level `version` and `packages[\"\"].version` are `X.Y.Z`.\n- [ ] Set `SDK_VERSION` and the default User-Agent in `src/config.ts` to `X.Y.Z`.\n- [ ] Confirm `SpooledWorker` derives its default registration version from `SDK_VERSION`.\n- [ ] Add `## [X.Y.Z] - YYYY-MM-DD` to `CHANGELOG.md` and review version-bearing worker documentation.\n- [ ] Run `npm ci`, lint, typecheck, build, tests, and `npm pack --dry-run`.\n- [ ] Review the packed file list and compiled output; confirm the package contains no local logs, caches, credentials, or unintended generated files.\n- [ ] Record any cross-repository compatibility difference separately; backend, SDK, and application versions are not required to match numerically.\n\nPublish and verify:\n\n- [ ] Create one immutable `vX.Y.Z` tag on the reviewed commit and never move or recreate a pushed tag. Fix forward with a new patch version after external visibility.\n- [ ] Record the tag commit and publish workflow URL.\n- [ ] Verify `npm view @spooled/sdk@X.Y.Z version gitHead dist.integrity dist.attestations --json` against the tag and commit.\n- [ ] Confirm `latest` points to `X.Y.Z` when intended and inspect the published tarball's `SDK_VERSION`, User-Agent, and worker registration default.\n- [ ] Confirm npm provenance names this repository, `.github/workflows/publish.yml`, `refs/tags/vX.Y.Z`, and the release commit.\n- [ ] Record registry publication separately from consumer rollout, backend deployment, or documentation deployment.\n\n## License\n\nApache-2.0 - see [LICENSE](LICENSE) for details.\n","readmeFilename":"README.md"}