Notification Outbox Workflows
@mgreten/notification-outbox-workflowsv2026.08.23.1
01README
Transport-neutral workflow patterns for atomically enqueuing, exactly scoped dispatching, and explicitly draining notification outbox records.
02Workflows
@mgreten/send-one-notification27bf8818-7eef-4ce8-8302-c9d6bb7e1a15
Send one outbox record through a caller-selected transport, then explicitly fold the transport outcome into the same outbox instance.
deliver
1.send${{ inputs.transportModel }}.${{ inputs.transportMethod }}— Attempt transport delivery. Failure is retained so the failure drain can own retry state.
2.drain-success${{ inputs.outboxModel }}.drainNotifications— Mark the fresh authoritative outbox record delivered only after transport success.
3.drain-failure${{ inputs.outboxModel }}.drainNotifications— Persist the outbox-owned retry state without persisting a transport error.
@mgreten/dispatch-enqueued-notifications512aa8fd-1529-4ea6-9a6f-e21699e5ec55
Dispatch only notification records emitted by one exact enqueue step in one completed workflow run.
dispatch
1.establish-scope— Preserve a valid no-op job when the exact enqueue scope contains no fresh records.
2.send-fresh-pending— Query one enqueue run and fan out only its notification output records.
@mgreten/deliver-thin-watchdog-alertc821554c-9ef6-426f-8a28-68aba3472511
Enqueue a thin watchdog transition and dispatch only the fresh record emitted by this run.
enqueue-and-dispatch
1.enqueue-alert${{ inputs.outboxModel }}.enqueueNotification— Let the outbox atomically deduplicate this watchdog transition before any transport attempt.
2.dispatch-fresh-pending— Dispatch only this run's enqueue output; pending or delivered records deduplicated by the outbox never appear.
03Stats
A
100 / 100
Downloads
0
Archive size
4.7 KB
- Has README or module doc2/2earned
- README has a code example1/1earned
- README is substantive1/1earned
- Most symbols documented1/1earned
- No slow types (deprecated)1/1earned
- Dependencies pass trust audit2/2earned
- Has description1/1earned
- Platform support declared (or universal)2/2earned
- License declared1/1earned
- Verified public repository2/2earned
04Platforms
05Labels