@theconduit/provider-nats
v0.1.1
Published
NATS and JetStream transport for Conduit: publish/subscribe and durable consumers via the official nats.js client, including DLQ-oriented helpers for streaming workloads.
Maintainers
Readme
@theconduit/provider-nats
NATS transport provider and nats.js adapter helpers for Conduit dispatch.
Install
pnpm add @theconduit/provider-natsHighlights
NatsProviderfor subject-based asynchronous publish.NatsJsClientadapter fornats.jsconnection API.NatsDLQManagerfor DLQ publishing to dedicated subject.- Built-in resilience controls: retry, timeout, in-flight limit, circuit breaker.
Quick start
import { headers } from "nats";
import { ConduitBuilder } from "@theconduit/core";
import {
NatsProvider,
NatsDLQManager,
NatsJsClient
} from "@theconduit/provider-nats";
const client = new NatsJsClient(natsConnection, () => headers());
const provider = new NatsProvider(client, {
publish_timeout_ms: 1_000,
max_in_flight: 2_000,
subject_resolver: (request) =>
`conduit.${request.route.operation_type.toLowerCase()}.${request.route.operation_name}`
});
const dlq = new NatsDLQManager(client, {
subject: "conduit.dlq"
});
const bus = new ConduitBuilder()
.registerProvider(provider)
.withDlqManager(dlq)
.build();Exports
NatsProviderNatsDLQManagerNatsJsClient
Related docs
docs/guides/transport-hardening.mddocs/guides/choosing-provider.md
