Event Log
August 5, 2026 · View on GitHub
The event log is Chronicle's primary event sequence and is documented in the shared Chronicle docs.
- Events and event logs
- Appending events
- Appending many events
- Optimistic concurrency
- Getting events
- Observing appends
- Event redaction
- Closing streams
- TypeScript client setup
TypeScript client notes
eventLog.redact(sequenceNumber, reason)andeventLog.redactForEventSource(eventSourceId, reason, eventTypes?)permanently rewrite an event's (or an entire event source's) content — a destructive GDPR/compliance erasure, never a field-level mask.eventLog.getForEventSourceIdAndEventTypes(eventSourceId, eventTypes, ...)andeventLog.getFromSequenceNumber(sequenceNumber, eventSourceId?, eventTypes?)read appended events back, filtered by event source and/or event type.eventLog.getNextSequenceNumber()returns the sequence number the next append will receive (EventSequenceNumber.firstwhen the sequence is empty).eventLog.completeStream(eventStreamType, eventStreamId)permanently closes a non-default stream; further appends to it are rejected with aStreamClosedconstraint violation.eventLog.appendOperationsis a hot, multicastAsyncIterableof every append this event log instance makes, together with its result.appendResult.waitForCompletion(timeoutMs?)waits for every observer affected by an append to catch up (or fail) before you read a read model back — see Failed Partitions.- The
appendMany(events: EventForEventSourceId[], options?)overload now applies a distinctoptions.concurrencyScopesentry per event source id in the batch, instead of one shared scope applied to every event source.