
OmniQueue
One API โ every queue.
Ship messages through RabbitMQ, AWS SQS, Azure Service Bus, ActiveMQ, Kafka, and NATS / JetStream without changing a line of business code.
๐ ๏ธ Quick Install
Adapters use peer dependenciesโinstall only what you need, nothing else is downloaded or bundled.
๐น Unified Interface
Single Broker
interface with send
, receive
, explicit
ack()/nack()
Queue autoprovisioning (streams / topics / queues)
Type-safe payloads, pluggable serializers
Tiny core (<10 kB)
โจ Magic Add-ons
later()
โ cross-broker delayed messages
Time-travel DLQ replay
OpenTelemetry auto-trace
Idempotent consumer decorator
Zero-Drop outbox for exactly-once publish
๐ Quick Start
import "@omniqueue/rabbitmq";
const mq = await create("rabbitmq", { url: "amqp://localhost" });
await mq.send("tasks", { body: { id: 1 } });
await mq.receive("tasks", async msg => {
console.log("got", msg.body);
await msg.ack();
});
๐ฆ Supported Adapters
Package | Broker | Notes |
---|---|---|
@omniqueue/rabbitmq |
RabbitMQ | needs amqplib |
@omniqueue/sqs |
AWS SQS (Standard + FIFO) | modular AWS SDK v3 |
@omniqueue/azuresb |
Azure Service Bus | queues, topics, sessions |
@omniqueue/activemq |
ActiveMQ (Artemis / Classic) | STOMP |
@omniqueue/kafka + driver |
Kafka | pick kafka-kafkajs or kafka-rdkafka |
@omniqueue/nats + driver |
NATS / JetStream | pick nats-natsjs |
๐บ๏ธ Coming Soon
CLI tools, gRPC/HTTP code-gen stubs, delay-topic poller containers, and Grafana dashboard plugins
๐ค Contributing
- Fork โ
pnpm i
โpnpm -r build
- Add tests (
pnpm test
) โ Docker compose spins local RabbitMQ, LocalStack, etc. - Submit PR. All adapters follow the same driver interface; lint passes = merge.