--- title: "Configuration" description: "Configuration — Node.js BabelQueue SDK (1.x)." source: https://babelqueue.com/docs/babelqueue-node/1.x/configuration/ updated: 2026-06-06T00:00:00.000Z --- # Configuration The core is a codec, so there's almost nothing to configure — the "wiring" is your own broker client plus a couple of optional behaviours. ## Envelope options `EnvelopeCodec.make` takes options for the queue name (written to `meta.queue`) and trace continuation across a hop: ```ts import { EnvelopeCodec } from "@babelqueue/core"; const env = EnvelopeCodec.make( "urn:babel:orders:created", { order_id: 1042 }, { queue: "orders", traceId: inbound.trace_id }, // omit traceId to mint a fresh one ); ``` ## Dead-letter On failure, wrap the envelope in an additive `dead_letter` block and publish the copy to your dead-letter queue (e.g. `orders.dlq`): ```ts import { annotate, EnvelopeCodec } from "@babelqueue/core"; const dlq = annotate(env, "failed", "orders", { attempts: 3, error: "boom" }); // publish EnvelopeCodec.encode(dlq) to the "orders.dlq" queue ``` `annotate` returns a copy — the original envelope is preserved unchanged inside the dead-lettered message, so any-language consumer can still read it. ## Unknown-URN strategy For adapters routing inbound messages, `UnknownUrnStrategy` (`FAIL`, `DELETE`, `RELEASE`, `DEAD_LETTER`) describes what to do with a URN you don't handle. Next: [Producing messages](/docs/babelqueue-node/1.x/producing-messages/).