{"_id":"@arbtrage/sdk","name":"@arbtrage/sdk","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@arbtrage/sdk","version":"0.1.0","description":"Feather durable execution platform — Node.js SDK","type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"}},"scripts":{"bundle-proto":"bash ../../scripts/bundle-protos.sh","bundle-ui":"bash ../../scripts/bundle-ui.sh","prebuild":"npm run bundle-proto && npm run bundle-ui","build":"tsc","prepublishOnly":"npm run build","test":"node --test dist/**/*.test.js"},"dependencies":{"@grpc/grpc-js":"^1.12.6","@grpc/proto-loader":"^0.7.13"},"devDependencies":{"@types/node":"^22.13.4","typescript":"^5.7.3"},"engines":{"node":">=20"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/Arbtrage/Feather.git","directory":"packages/sdk-node"},"license":"MIT","_id":"@arbtrage/sdk@0.1.0","gitHead":"8107e981250e189f06619db66777324aba5c174c","bugs":{"url":"https://github.com/Arbtrage/Feather/issues"},"homepage":"https://github.com/Arbtrage/Feather#readme","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-tB/NR4t+anTAtrq+hZWVLwgSkl332UN7mnMaBgiXe3hSLpsLXSrctRvNbdgDgfqOaxrWkBalTmLXq9jArO5lUQ==","shasum":"d0e8d77c3a222cdca09ea527dc2b83cd4f0c2e2b","tarball":"https://registry.npmjs.org/@arbtrage/sdk/-/sdk-0.1.0.tgz","fileCount":22,"unpackedSize":262870,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arbtrage%2fsdk@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDKCjxOCzF4OqGNqYum3CRBYCvDf1uruLVVgojtlYhHvAIgCn4PiysEy5CHFgL2JdeZVF+QVnvN6gA1UWNxLQwtG0g="}]},"_npmUser":{"name":"arbtrage","email":"arbtrage8@gmail.com"},"directories":{},"maintainers":[{"name":"arbtrage","email":"arbtrage8@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk_0.1.0_1785541645429_0.291562060331118"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-31T23:47:25.311Z","0.1.0":"2026-07-31T23:47:25.675Z","modified":"2026-07-31T23:47:26.108Z"},"maintainers":[{"name":"arbtrage","email":"arbtrage8@gmail.com"}],"description":"Feather durable execution platform — Node.js SDK","homepage":"https://github.com/Arbtrage/Feather#readme","repository":{"type":"git","url":"git+https://github.com/Arbtrage/Feather.git","directory":"packages/sdk-node"},"bugs":{"url":"https://github.com/Arbtrage/Feather/issues"},"license":"MIT","readme":"# @arbtrage/sdk\n\nNode.js SDK for [Feather](https://github.com/Arbtrage/Feather) — enqueue tasks, run embedded workers, and optionally serve the monitoring UI.\n\n## Install\n\n```bash\nnpm install @arbtrage/sdk\n```\n\nRequires a running Feather server (`FEATHER_ADDRESS`, default `localhost:50051`).\n\n## Celery-style (embedded — recommended)\n\n```javascript\nimport { FeatherApp } from \"@arbtrage/sdk\";\n\nconst app = new FeatherApp({\n  ui: { enabled: true, port: 3001 },\n});\n\napp.task(\"send-email\", async (ctx) => {\n  const { to } = JSON.parse(ctx.payload.toString());\n  await sendEmail(to);\n});\n\nawait app.startEmbedded(); // worker + UI at http://127.0.0.1:3001\nawait app.delay(\"send-email\", { to: \"user@example.com\" });\n```\n\n## Dedicated worker (optional)\n\n```javascript\nimport { Worker } from \"@arbtrage/sdk\";\n\nconst worker = new Worker({ queues: [\"default\"] });\nworker.task(\"send-email\", handler);\nawait worker.start();\n```\n\n## Publish\n\n```bash\n./scripts/bundle-protos.sh\n./scripts/bundle-ui.sh\ncd packages/sdk-node && npm publish --access public\n```\n\nDocs: https://docs.feather.dev\n","readmeFilename":"README.md","_rev":"1-66dc103c1bea2866503b14e97992cabc"}