v0.2.0
Domain Events
Add fire-and-forget domain events via NATS JetStream.
New exports
DomainEvent— event type withid,domain,type,orgId, andpayloadEventHandler— handler signature(context, event) => Promise<void>
New methods on Kmicro
publish(event)— publishes to{prefix}.{orgId}.{domain}with JetStream deduplication viamsgIDsubscribe(streamName, consumerName, handler)— consumes from an existing JetStream stream/consumer with ack/nak/term semantics
Details
- Subject convention:
{prefix}.{orgId}.{domain}(prefix configurable via constructor options, default"events") - OTel tracing: producer spans on publish, consumer spans on subscribe
- Streams and consumers are created in infrastructure, not by kmicro
- On handler error →
nak()(JetStream retries), on unmarshal failure →term()(no retry) - New dependency:
@nats-io/jetstream@3.3.1