learning_ai_common_plat/services/platform-service/src/modules/event-subscriptions
saravanakumardb1 15e24e5710 feat(platform): Phase 1 — Durable Event Bus + Worker Runtime
- New module: event-subscriptions/ (types, repository, routes, 15 tests)
  - Subscription CRUD: create/list/get/update/delete event subscriptions
  - DLQ: list/retry/delete/purge dead-letter queue entries
  - Event replay: POST /events/replay by topic + time range
- New lib: event-dispatcher.ts — subscription-driven dispatch with retry + DLQ
- New lib: event-store-bridge.ts — persistent event log for replay capability
- Worker runtime hardening (jobs/runner.ts):
  - Concurrency limit (MAX_CONCURRENT_JOBS=5)
  - Stuck-job recovery (10min threshold)
  - Graceful shutdown (30s drain)
  - Active job tracking + diagnostics (getActiveJobs/getActiveJobCount)
  - Per-job dedup (skip if already running)
- Wired dispatcher + event-subscriptions into server.ts startup
- Cosmos containers: event_subscriptions, event_dlq, event_log
- 1,293 tests passing (15 new)
2026-03-20 03:12:54 -07:00
..
repository.ts feat(platform): Phase 1 — Durable Event Bus + Worker Runtime 2026-03-20 03:12:54 -07:00
routes.test.ts feat(platform): Phase 1 — Durable Event Bus + Worker Runtime 2026-03-20 03:12:54 -07:00
routes.ts feat(platform): Phase 1 — Durable Event Bus + Worker Runtime 2026-03-20 03:12:54 -07:00
types.ts feat(platform): Phase 1 — Durable Event Bus + Worker Runtime 2026-03-20 03:12:54 -07:00