Files
suaveplan/openspec/archive/2026-04-26-events-generics-and-interceptor-replace/tasks.md
2026-05-27 23:29:53 +01:00

17 lines
1.3 KiB
Markdown

> Archived 2026-04-26: all tasks ticked; change shipped under packages/events/events.
# Tasks: events-generics-and-interceptor-replace
- [x] 1. Update `interceptor/compose.ts` — add `TMap` generic, optional envelope arg on `Next`
- [x] 2. Update `bus/event-bus.ts` — pass `TMap`-bound interceptor list, thread replacement envelope through dispatch
- [x] 3. Capture deferred listener-promise rejections in sync `emit`; add `EmitResult.deferredErrors`
- [x] 4. Add `onSyncEmitWithInterceptors` option + document sync-emit interceptor bypass in `event-bus.md`
- [x] 5. Replace duplicate `Listener<T>` in `idempotent/idempotent.ts` with import from bus types
- [x] 6. Update `observability/with-observability.ts` to use the typed interceptor
- [x] 7. Tests: typed interceptor envelope, envelope replacement via `next(replacement)`, deferred-rejection capture, sync-emit warning hook fires
- [x] 8. Update sibling `.md` docs for changed modules (compose, event-bus, idempotent)
- [x] 9. `bunx turbo lint typecheck test --filter=@suaveplan/events` green
- [x] 10. `bunx turbo test:coverage --filter=@suaveplan/events` at 100/100/100/100
- [x] 11. Build: `bunx turbo build --filter=@suaveplan/events` green
- [x] 12. Fold spec deltas into `openspec/specs/events/spec.md`; archive change folder