{"_id":"@anyq/redis-streams","_rev":"7-56e6f2d84fca690b90a0d2673c77c77d","name":"@anyq/redis-streams","dist-tags":{"latest":"0.5.0"},"versions":{"0.1.0":{"name":"@anyq/redis-streams","version":"0.1.0","keywords":["queue","redis","redis-streams","message-queue","anyq"],"author":{"name":"Shantanu Sharma"},"license":"MIT","_id":"@anyq/redis-streams@0.1.0","maintainers":[{"name":"sns45","email":"notifyshantanu@gmail.com"}],"homepage":"https://github.com/sns45/anyq#readme","bugs":{"url":"https://github.com/sns45/anyq/issues"},"dist":{"shasum":"e5a4503053ec22424122664ea42ae4fb847bddea","tarball":"https://registry.npmjs.org/@anyq/redis-streams/-/redis-streams-0.1.0.tgz","fileCount":10,"integrity":"sha512-Npz5ZhCTWmEl5YuUejgNYlaAThlK9Qvt4WKtASCuaAf6W+/ywb1swmgC8aFwTlP1Cs8hKtpF4Luq5NfFJn7piA==","signatures":[{"sig":"MEUCIEEfaAmRNd2vm9ZlKrgFk8QVX9FmtZWwozMKrp1iuRF5AiEA4zL29pvs0UtcnLe3R74UCvhu28n1sk/PxSbn7JJyOGM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":305136},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"1210b51fe4a55144ebf5bc798db0732b4c89ddba","scripts":{"test":"bun test","build":"bun build ./src/index.ts --outdir ./dist --target bun && bun run build:types","clean":"rm -rf dist","typecheck":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --outDir dist"},"_npmUser":{"name":"sns45","email":"notifyshantanu@gmail.com"},"repository":{"url":"git+https://github.com/sns45/anyq.git","type":"git","directory":"packages/redis-streams"},"_npmVersion":"10.9.2","description":"Redis Streams adapter for anyq","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ioredis":"^5.4.1","@anyq/core":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","typescript":"^5.0.0"},"peerDependencies":{"@anyq/core":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/redis-streams_0.1.0_1765990924333_0.09948531387719295","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@anyq/redis-streams","version":"0.1.1","keywords":["queue","redis","redis-streams","message-queue","anyq"],"author":{"name":"Shantanu Sharma"},"license":"MIT","_id":"@anyq/redis-streams@0.1.1","maintainers":[{"name":"sns45","email":"notifyshantanu@gmail.com"}],"homepage":"https://github.com/sns45/anyq#readme","bugs":{"url":"https://github.com/sns45/anyq/issues"},"dist":{"shasum":"996121b84fccf50174d62ce2b7bf96fea7d03f7c","tarball":"https://registry.npmjs.org/@anyq/redis-streams/-/redis-streams-0.1.1.tgz","fileCount":11,"integrity":"sha512-V1bKyt+/R67BKPwJici9i4QmqwtylbdnRnH47nekAmbpMSZ8qnLeukVo0afu/77MQ4BY2xIiUtCOXY2VuHdluA==","signatures":[{"sig":"MEUCIQDqAitdcxdZfzydojI1645eLxzpB1GCHPbNPxCxae1QsQIgXNOk9Xrl9y7Fd50zag7GW53UDW50Kun13gIC3aLx+54=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":306727},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"30128d564178a5a1d25b736b605bf69644178a0f","scripts":{"test":"bun test","build":"bun build ./src/index.ts --outdir ./dist --target bun && bun run build:types","clean":"rm -rf dist","typecheck":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --outDir dist"},"_npmUser":{"name":"sns45","email":"notifyshantanu@gmail.com"},"repository":{"url":"git+https://github.com/sns45/anyq.git","type":"git","directory":"packages/redis-streams"},"_npmVersion":"10.9.2","description":"Redis Streams adapter for anyq","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ioredis":"^5.4.1","@anyq/core":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","typescript":"^5.0.0"},"peerDependencies":{"@anyq/core":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/redis-streams_0.1.1_1765991338068_0.6815457831907792","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@anyq/redis-streams","version":"0.3.0","keywords":["queue","redis","redis-streams","message-queue","anyq"],"author":"Shantanu Sharma","license":"MIT","_id":"@anyq/redis-streams@0.3.0","maintainers":[{"name":"sns45","email":"notifyshantanu@gmail.com"}],"homepage":"https://github.com/sns45/anyq#readme","bugs":{"url":"https://github.com/sns45/anyq/issues"},"dist":{"shasum":"df034e347f1ba719a7c2113f81c85a3ed0a9bca9","tarball":"https://registry.npmjs.org/@anyq/redis-streams/-/redis-streams-0.3.0.tgz","fileCount":11,"integrity":"sha512-gxZp1pVXN0rSx7v7d8x1Fh1TRdFPmDpBN7uQdWkcZrupDel83e05mFD4BNct51Op/RDWlgfjv63wsKdShCPAhw==","signatures":[{"sig":"MEUCIAM9nYHou3TgyJDFKtmzu1Eo1GN1bSKHJDMC7UWcRM0GAiEA1UNaXJpQUHmVYREuFuQlo4o7vRTmgYEc4MTWDu5tqXk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":314350},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","shasum":"df034e347f1ba719a7c2113f81c85a3ed0a9bca9","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"test":"bun test","build":"bun build ./src/index.ts --outdir ./dist --target bun && bun run build:types","clean":"rm -rf dist","typecheck":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --outDir dist"},"_npmUser":{"name":"sns45","email":"notifyshantanu@gmail.com"},"_integrity":"sha512-gxZp1pVXN0rSx7v7d8x1Fh1TRdFPmDpBN7uQdWkcZrupDel83e05mFD4BNct51Op/RDWlgfjv63wsKdShCPAhw==","repository":{"url":"https://github.com/sns45/anyq","type":"git","directory":"packages/redis-streams"},"_npmVersion":"10.8.3","description":"Redis Streams adapter for anyq","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ioredis":"^5.4.1","@anyq/core":"0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","typescript":"^5.0.0"},"peerDependencies":{"@anyq/core":"0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/redis-streams_0.3.0_1781961969484_0.5963888363821619","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@anyq/redis-streams","version":"0.3.1","keywords":["queue","redis","redis-streams","message-queue","anyq"],"author":"Shantanu Sharma","license":"MIT","_id":"@anyq/redis-streams@0.3.1","maintainers":[{"name":"sns45","email":"notifyshantanu@gmail.com"}],"homepage":"https://github.com/sns45/anyq#readme","bugs":{"url":"https://github.com/sns45/anyq/issues"},"dist":{"shasum":"28785b5571825b9bb552550a4c53698a033837df","tarball":"https://registry.npmjs.org/@anyq/redis-streams/-/redis-streams-0.3.1.tgz","fileCount":11,"integrity":"sha512-gRIzXmECXoIwJjOyEZyTfURSZGx88Hrl7KfWUg8dg20WQCCmHcDqOnl4wj28Vurls8lj/m1xHTJnm64xec2EBw==","signatures":[{"sig":"MEYCIQDTMqoPNE7rEf0QTnx+l1ofhokfdBj9YGyI2BUye9jbZwIhANBApg8TQObTeXnH85C/64AtQUNjts+8FSfpeu2BAd71","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":317088},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","shasum":"28785b5571825b9bb552550a4c53698a033837df","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"test":"bun test","build":"bun build ./src/index.ts --outdir ./dist --target bun && bun run build:types","clean":"rm -rf dist","typecheck":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --outDir dist"},"_npmUser":{"name":"sns45","email":"notifyshantanu@gmail.com"},"_integrity":"sha512-gRIzXmECXoIwJjOyEZyTfURSZGx88Hrl7KfWUg8dg20WQCCmHcDqOnl4wj28Vurls8lj/m1xHTJnm64xec2EBw==","repository":{"url":"https://github.com/sns45/anyq","type":"git","directory":"packages/redis-streams"},"_npmVersion":"10.8.3","description":"Redis Streams adapter for anyq","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ioredis":"^5.4.1","@anyq/core":"0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","typescript":"^5.0.0"},"peerDependencies":{"@anyq/core":"0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/redis-streams_0.3.1_1782054594241_0.8999507061677123","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@anyq/redis-streams","version":"0.3.2","keywords":["queue","redis","redis-streams","message-queue","anyq"],"author":"Shantanu Sharma","license":"MIT","_id":"@anyq/redis-streams@0.3.2","maintainers":[{"name":"sns45","email":"notifyshantanu@gmail.com"}],"homepage":"https://github.com/sns45/anyq#readme","bugs":{"url":"https://github.com/sns45/anyq/issues"},"dist":{"shasum":"0a58234451c7a653392efbb6c36058a6e3e6a517","tarball":"https://registry.npmjs.org/@anyq/redis-streams/-/redis-streams-0.3.2.tgz","fileCount":11,"integrity":"sha512-GwifhcTz/HvKVkSTaIqEcKLI0ZpgW/fX8PMeCw1ryHNUpvjysCk80lgysxZmnLsC24eGePv582Jd80gGYznzpg==","signatures":[{"sig":"MEQCIDaOmmzNpPmTWK4THhpEW66FWFe3CpcoO+kkuXjefKDvAiAbgMgQR3SfeW5fopjm5kLurC2bEPs+ziKLHAfkbw6MTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":317088},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","shasum":"0a58234451c7a653392efbb6c36058a6e3e6a517","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"test":"bun test","build":"bun build ./src/index.ts --outdir ./dist --target bun && bun run build:types","clean":"rm -rf dist","typecheck":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --outDir dist"},"_npmUser":{"name":"sns45","email":"notifyshantanu@gmail.com"},"_integrity":"sha512-GwifhcTz/HvKVkSTaIqEcKLI0ZpgW/fX8PMeCw1ryHNUpvjysCk80lgysxZmnLsC24eGePv582Jd80gGYznzpg==","repository":{"url":"https://github.com/sns45/anyq","type":"git","directory":"packages/redis-streams"},"_npmVersion":"10.8.3","description":"Redis Streams adapter for anyq","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ioredis":"^5.4.1","@anyq/core":"0.3.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","typescript":"^5.0.0"},"peerDependencies":{"@anyq/core":"0.3.2"},"_npmOperationalInternal":{"tmp":"tmp/redis-streams_0.3.2_1784910260897_0.5284718872494925","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@anyq/redis-streams","version":"0.4.0","keywords":["queue","redis","redis-streams","message-queue","anyq"],"author":"Shantanu Sharma","license":"Apache-2.0","_id":"@anyq/redis-streams@0.4.0","maintainers":[{"name":"sns45","email":"notifyshantanu@gmail.com"}],"homepage":"https://github.com/sns45/anyq#readme","bugs":{"url":"https://github.com/sns45/anyq/issues"},"dist":{"shasum":"fa04194440ff6f0be3f9f1127d9e8e6956794995","tarball":"https://registry.npmjs.org/@anyq/redis-streams/-/redis-streams-0.4.0.tgz","fileCount":13,"integrity":"sha512-MN6IOe2fjOWOQiD+RZxQFLGGmeGFEqYmBkG8GOeQZ6M7DcaSYc0U5sKW1+moblWUD3tgYAWvUgdiLeta409JAw==","signatures":[{"sig":"MEQCIBBie5cCnte5lFRgJ+OYnTXO/8RdE71GOnzPyX3wZ2B1AiBtMVILvdN5fJcEbkrm0bjcsOurAsurqnEEsoG5YKEoLg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDF/qmiKp7rCO386YBajz1fXWHcAprBrgUXRBPbQpfzyAiANuE0ResXyrayCUhWVEa724F6ByCV9mS3/rpfGjvjBqw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":329446},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","shasum":"fa04194440ff6f0be3f9f1127d9e8e6956794995","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"test":"bun test","build":"bun build ./src/index.ts --outdir ./dist --target bun && bun run build:types","clean":"rm -rf dist","typecheck":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --outDir dist"},"_npmUser":{"name":"sns45","email":"notifyshantanu@gmail.com"},"_integrity":"sha512-MN6IOe2fjOWOQiD+RZxQFLGGmeGFEqYmBkG8GOeQZ6M7DcaSYc0U5sKW1+moblWUD3tgYAWvUgdiLeta409JAw==","repository":{"url":"https://github.com/sns45/anyq","type":"git","directory":"packages/redis-streams"},"_npmVersion":"10.8.3","description":"Redis Streams adapter for anyq","directories":{},"_nodeVersion":"26.3.0","dependencies":{"ioredis":"^5.4.1","@anyq/core":"0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","typescript":"^5.0.0"},"peerDependencies":{"@anyq/core":"0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/redis-streams_0.4.0_1787860994013_0.8982175058041464","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"_id":"@anyq/redis-streams@0.5.0","bugs":{"url":"https://github.com/sns45/anyq/issues"},"dist":{"shasum":"f1f55d2e0e811a4f7990d86b24afbcef09d804b9","tarball":"https://registry.npmjs.org/@anyq/redis-streams/-/redis-streams-0.5.0.tgz","fileCount":13,"integrity":"sha512-9nHJj9AuLth2s9fkHATxIkuDa65OM0OSg9pLwAlNp0xbiXOMB9rl72GCZMcoNZ1P3CQbhfEx5wgPj3wM7pkR6A==","signatures":[{"sig":"MEYCIQCTf5S1LduXmsCVTW0as+tii7OnO/pfTMI9Mulcz0l6fwIhAK/Rzn3e4Y3pBPSHFKvtYF+usDY9gR/7zIGnKtzqoUF9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCTAt6zUqEGfWohxzY8eEVRyoQLqON2ULN1eTq3uoJoIgIgVUgX4wYyMIxL/MCrs9/aXwZU/79l1eqS+wK97MWpeeE="}],"unpackedSize":329428},"main":"./dist/index.js","name":"@anyq/redis-streams","type":"module","types":"./dist/index.d.ts","author":"Shantanu Sharma","shasum":"f1f55d2e0e811a4f7990d86b24afbcef09d804b9","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"license":"Apache-2.0","scripts":{"test":"bun test","build":"bun build ./src/index.ts --outdir ./dist --target bun && bun run build:types","clean":"rm -rf dist","typecheck":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --outDir dist"},"version":"0.5.0","_npmUser":{"name":"sns45","email":"notifyshantanu@gmail.com"},"homepage":"https://github.com/sns45/anyq#readme","keywords":["queue","redis","redis-streams","message-queue","anyq"],"_integrity":"sha512-9nHJj9AuLth2s9fkHATxIkuDa65OM0OSg9pLwAlNp0xbiXOMB9rl72GCZMcoNZ1P3CQbhfEx5wgPj3wM7pkR6A==","repository":{"url":"https://github.com/sns45/anyq","type":"git","directory":"packages/redis-streams"},"_npmVersion":"10.8.3","description":"Redis Streams adapter for anyq","directories":{},"maintainers":[{"name":"sns45","email":"notifyshantanu@gmail.com"}],"_nodeVersion":"26.3.0","dependencies":{"ioredis":"^5.4.1","@anyq/core":"0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","typescript":"^5.0.0"},"peerDependencies":{"@anyq/core":"0.5.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/redis-streams_0.5.0_1788809044469_0.5491335073008787"}}},"time":{"created":"2025-12-17T17:02:04.186Z","modified":"2026-09-07T19:24:04.747Z","0.1.0":"2025-12-17T17:02:04.535Z","0.1.1":"2025-12-17T17:08:58.229Z","0.3.0":"2026-06-20T13:26:09.625Z","0.3.1":"2026-06-21T15:09:54.379Z","0.3.2":"2026-07-24T16:24:21.043Z","0.4.0":"2026-08-27T20:03:14.105Z","0.5.0":"2026-09-07T19:24:04.555Z"},"bugs":{"url":"https://github.com/sns45/anyq/issues"},"author":"Shantanu Sharma","license":"Apache-2.0","homepage":"https://github.com/sns45/anyq#readme","keywords":["queue","redis","redis-streams","message-queue","anyq"],"repository":{"url":"https://github.com/sns45/anyq","type":"git","directory":"packages/redis-streams"},"description":"Redis Streams adapter for anyq","maintainers":[{"name":"sns45","email":"notifyshantanu@gmail.com"}],"readme":"# @anyq/redis-streams\n\nRedis Streams adapter for **anyq** - lightweight, persistent streaming.\n\n## Installation\n\n```bash\nnpm install @anyq/redis-streams @anyq/core ioredis\n```\n\n## Usage\n\n```typescript\nimport { RedisStreamsProducer, RedisStreamsConsumer } from '@anyq/redis-streams';\n\n// Create producer\nconst producer = new RedisStreamsProducer({\n  connection: { host: 'localhost', port: 6379 },\n  stream: 'my-stream'\n});\n\n// Create consumer\nconst consumer = new RedisStreamsConsumer({\n  connection: { host: 'localhost', port: 6379 },\n  stream: 'my-stream',\n  group: 'my-consumer-group',\n  consumer: 'consumer-1'\n});\n\nawait producer.connect();\nawait consumer.connect();\n\n// Subscribe to messages\nawait consumer.subscribe(async (message) => {\n  console.log('Received:', message.data);\n  await message.ack();\n});\n\n// Publish messages\nawait producer.publish({ event: 'user.created', userId: '123' });\n\n// Cleanup\nawait consumer.disconnect();\nawait producer.disconnect();\n```\n\n## Configuration\n\n```typescript\ninterface RedisStreamsConfig {\n  connection: {\n    host: string;\n    port: number;\n    password?: string;\n    tls?: boolean;\n  };\n  stream: string;           // Stream name\n  group?: string;           // Consumer group\n  consumer?: string;        // Consumer name within group\n  maxLen?: number;          // Max stream length (MAXLEN)\n  blockTime?: number;       // Block time for XREADGROUP (ms)\n}\n```\n\n## Features\n\n- Consumer groups for load balancing\n- Message persistence\n- Auto-claim for stuck messages\n- Exactly-once delivery semantics\n- Stream trimming (MAXLEN)\n\n## Retry strategies (0.3.0)\n\nThis adapter participates in the opt-in pluggable retry strategies from `@anyq/core`. Pass a strategy via `BaseQueueConfig.strategy` and `RedisStreamsConsumer.applyStrategy()` takes over per-message error handling; omit it and the legacy catch behaviour (log; message becomes pending and is re-claimed by `XAUTOCLAIM`) runs unchanged.\n\n| Capability | Support |\n|---|---|\n| `supportsNativeDelay` | **false** (this release) |\n| `park` | downgrades to in-process retry with a `warn` log, capped by `maxAttempts`. The parking sorted-set implementation is a follow-up |\n| `deadLetterMessage` | default (`nack(false)` → `XACK`, removing the entry from the pending list). For a real DLQ, publish to a `<stream>.dlq` from your handler |\n\n```typescript\nimport { retryThenDeadLetter } from '@anyq/core';\n\nconst consumer = new RedisStreamsConsumer({\n  driver: 'redis-streams',\n  streamName: 'orders',\n  consumerGroup: { groupName: 'order-processors', consumerName: 'consumer-1' },\n  redis: { host: 'localhost', port: 6379 },\n  strategy: retryThenDeadLetter({ maxAttempts: 5 }),\n});\n```\n\nSee `@anyq/core` for the full strategy catalogue.\n\n## License\n\nApache License 2.0. See [LICENSE](https://github.com/sns45/anyq/blob/main/LICENSE).\n","readmeFilename":"README.md"}