@beignet/core 0.0.49 → 0.0.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +160 -6
  3. package/dist/events/index.d.ts +54 -5
  4. package/dist/events/index.d.ts.map +1 -1
  5. package/dist/events/index.js +183 -32
  6. package/dist/events/index.js.map +1 -1
  7. package/dist/idempotency/index.d.ts +7 -3
  8. package/dist/idempotency/index.d.ts.map +1 -1
  9. package/dist/idempotency/index.js +45 -12
  10. package/dist/idempotency/index.js.map +1 -1
  11. package/dist/mail/index.d.ts.map +1 -1
  12. package/dist/mail/index.js +6 -3
  13. package/dist/mail/index.js.map +1 -1
  14. package/dist/ports/best-effort-work.d.ts +21 -0
  15. package/dist/ports/best-effort-work.d.ts.map +1 -0
  16. package/dist/ports/best-effort-work.js +2 -0
  17. package/dist/ports/best-effort-work.js.map +1 -0
  18. package/dist/ports/events.d.ts +7 -5
  19. package/dist/ports/events.d.ts.map +1 -1
  20. package/dist/ports/index.d.ts +6 -1
  21. package/dist/ports/index.d.ts.map +1 -1
  22. package/dist/ports/index.js +1 -0
  23. package/dist/ports/index.js.map +1 -1
  24. package/dist/ports/testing.d.ts +15 -0
  25. package/dist/ports/testing.d.ts.map +1 -1
  26. package/dist/ports/testing.js +38 -0
  27. package/dist/ports/testing.js.map +1 -1
  28. package/dist/providers/provider.d.ts +8 -5
  29. package/dist/providers/provider.d.ts.map +1 -1
  30. package/dist/providers/provider.js.map +1 -1
  31. package/dist/server/hooks/cors.d.ts +2 -2
  32. package/dist/server/hooks/cors.d.ts.map +1 -1
  33. package/dist/server/hooks/cors.js +2 -1
  34. package/dist/server/hooks/cors.js.map +1 -1
  35. package/dist/server/hooks/logging.d.ts +2 -2
  36. package/dist/server/hooks/logging.d.ts.map +1 -1
  37. package/dist/server/hooks/logging.js.map +1 -1
  38. package/dist/server/hooks/security.d.ts +2 -2
  39. package/dist/server/hooks/security.d.ts.map +1 -1
  40. package/dist/server/hooks/security.js.map +1 -1
  41. package/dist/server/http.d.ts +21 -2
  42. package/dist/server/http.d.ts.map +1 -1
  43. package/dist/server/index.d.ts +4 -0
  44. package/dist/server/index.d.ts.map +1 -1
  45. package/dist/server/index.js +4 -0
  46. package/dist/server/index.js.map +1 -1
  47. package/dist/server/instrumentation.d.ts.map +1 -1
  48. package/dist/server/instrumentation.js +5 -3
  49. package/dist/server/instrumentation.js.map +1 -1
  50. package/dist/server/request-executor.d.ts.map +1 -1
  51. package/dist/server/request-executor.js +9 -0
  52. package/dist/server/request-executor.js.map +1 -1
  53. package/dist/server/request-preparation.d.ts.map +1 -1
  54. package/dist/server/request-preparation.js +20 -2
  55. package/dist/server/request-preparation.js.map +1 -1
  56. package/dist/server/response-finalization.d.ts +2 -2
  57. package/dist/server/response-finalization.d.ts.map +1 -1
  58. package/dist/server/response-finalization.js +25 -8
  59. package/dist/server/response-finalization.js.map +1 -1
  60. package/dist/server/route-matching.d.ts.map +1 -1
  61. package/dist/server/route-matching.js +12 -1
  62. package/dist/server/route-matching.js.map +1 -1
  63. package/dist/server/server-sent-events.d.ts +94 -0
  64. package/dist/server/server-sent-events.d.ts.map +1 -0
  65. package/dist/server/server-sent-events.js +275 -0
  66. package/dist/server/server-sent-events.js.map +1 -0
  67. package/dist/server/server.d.ts.map +1 -1
  68. package/dist/server/server.js +41 -22
  69. package/dist/server/server.js.map +1 -1
  70. package/dist/server/trusted-proxy-internal.d.ts +4 -0
  71. package/dist/server/trusted-proxy-internal.d.ts.map +1 -1
  72. package/dist/server/trusted-proxy-internal.js +20 -0
  73. package/dist/server/trusted-proxy-internal.js.map +1 -1
  74. package/dist/server/trusted-proxy.d.ts.map +1 -1
  75. package/dist/server/trusted-proxy.js +3 -8
  76. package/dist/server/trusted-proxy.js.map +1 -1
  77. package/dist/testing/index.d.ts +17 -0
  78. package/dist/testing/index.d.ts.map +1 -1
  79. package/dist/testing/index.js +6 -1
  80. package/dist/testing/index.js.map +1 -1
  81. package/package.json +1 -1
  82. package/skills/app-architecture/SKILL.md +23 -3
  83. package/src/events/index.ts +263 -38
  84. package/src/idempotency/index.ts +65 -17
  85. package/src/mail/index.ts +7 -3
  86. package/src/ports/best-effort-work.ts +21 -0
  87. package/src/ports/events.ts +9 -4
  88. package/src/ports/index.ts +9 -0
  89. package/src/ports/testing.ts +45 -0
  90. package/src/providers/provider.ts +8 -5
  91. package/src/server/hooks/cors.ts +11 -5
  92. package/src/server/hooks/logging.ts +6 -2
  93. package/src/server/hooks/security.ts +8 -4
  94. package/src/server/http.ts +23 -2
  95. package/src/server/index.ts +4 -0
  96. package/src/server/instrumentation.ts +12 -4
  97. package/src/server/request-executor.ts +14 -0
  98. package/src/server/request-preparation.ts +23 -3
  99. package/src/server/response-finalization.ts +51 -15
  100. package/src/server/route-matching.ts +24 -1
  101. package/src/server/server-sent-events.ts +415 -0
  102. package/src/server/server.ts +46 -22
  103. package/src/server/trusted-proxy-internal.ts +20 -0
  104. package/src/server/trusted-proxy.ts +6 -7
  105. package/src/testing/index.ts +30 -0
  106. package/dist/query-codec.d.ts +0 -27
  107. package/dist/query-codec.d.ts.map +0 -1
  108. package/dist/query-codec.js +0 -245
  109. package/dist/query-codec.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,YAAY,EAEjB,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,mBAAmB,CAAC;AACtE,OAAO,EACL,KAAK,SAAS,EAGf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,SAAS,EAOd,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAML,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAQ/E,cAAc,qBAAqB,CAAC;AAEpC;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,OAAO,GAAG,QAAQ;IACjD,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB;;;;;OAKG;IACH,KAAK,EAAE,YAAY,CAAC;IACpB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,QAAQ,EAAE,YAAY,CAAC;IACvB;;OAEG;IACH,aAAa,EAAE,uBAAuB,CAAC;IACvC;;;OAGG;IACH,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC5B;;OAEG;IACH,KAAK,EAAE,eAAe,CAAC;IACvB;;OAEG;IACH,WAAW,EAAE,sBAAsB,CAAC;IACpC;;OAEG;IACH,GAAG,EAAE,eAAe,CAAC;IACrB;;OAEG;IACH,IAAI,EAAE,iBAAiB,CAAC;IACxB;;OAEG;IACH,MAAM,EAAE,UAAU,CAAC;IACnB;;OAEG;IACH,KAAK,EAAE,eAAe,CAAC;IACvB;;OAEG;IACH,MAAM,EAAE,gBAAgB,CAAC;IACzB;;OAEG;IACH,aAAa,EAAE,sBAAsB,CAAC;IACtC;;OAEG;IACH,MAAM,EAAE,gBAAgB,CAAC;IACzB;;OAEG;IACH,QAAQ,EAAE,kBAAkB,CAAC;IAC7B;;OAEG;IACH,MAAM,EAAE,gBAAgB,CAAC;IACzB;;OAEG;IACH,SAAS,EAAE,aAAa,CAAC;IACzB;;OAEG;IACH,OAAO,EAAE,WAAW,CAAC;IACrB;;OAEG;IACH,GAAG,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAC/B,KAAK,SAAS,QAAQ,GAAG,eAAe,EACxC,OAAO,GAAG,KAAK;IAEf;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;IACb;;OAEG;IACH,KAAK,EAAE,kBAAkB,CAAC;IAC1B;;OAEG;IACH,QAAQ,EAAE,YAAY,CAAC;IACvB;;OAEG;IACH,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB;;OAEG;IACH,aAAa,EAAE,uBAAuB,CAAC;IACvC;;OAEG;IACH,IAAI,EAAE,iBAAiB,CAAC;IACxB;;OAEG;IACH,cAAc,EAAE,mBAAmB,EAAE,CAAC;IACtC;;OAEG;IACH,MAAM,EAAE,gBAAgB,CAAC;IACzB;;OAEG;IACH,aAAa,EAAE,sBAAsB,CAAC;IACtC;;OAEG;IACH,MAAM,EAAE,gBAAgB,CAAC;IACzB;;OAEG;IACH,QAAQ,EAAE,kBAAkB,CAAC;IAC7B;;OAEG;IACH,OAAO,EAAE,WAAW,CAAC;IACrB;;OAEG;IACH,WAAW,EAAE,sBAAsB,CAAC;IACpC;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,KAAK,EAAE,eAAe,CAAC;IACvB;;OAEG;IACH,SAAS,EAAE,aAAa,CAAC;IACzB;;OAEG;IACH,MAAM,EAAE,UAAU,CAAC;IACnB;;OAEG;IACH,KAAK,EAAE,eAAe,CAAC;IACvB;;OAEG;IACH,MAAM,EAAE,gBAAgB,CAAC;IACzB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,GAAG,EAAE,eAAe,CAAC;IACrB;;OAEG;IACH,GAAG,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,iCAAiC,CAChD,KAAK,SAAS,QAAQ,EACtB,OAAO;IAEP;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC;IAC9C;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IAClD;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IACpE;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,CAAC,IAAI,IAAI,IAAI,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,GAC3E,IAAI,GACJ,IAAI,SAAS,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,GACb,IAAI,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,kBAAkB,CAAC,KAAK,SAAS,QAAQ,IAAI;KACtD,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAChD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,sBAAsB,CACrC,KAAK,SAAS,QAAQ,EACtB,OAAO,GAAG,KAAK;IAEf;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE;SAAG,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,OAAO;KAAE,CAAC;IACxC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACtC;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,GAAG,CAAC,EAAE,eAAe,CAAC;IACtB;;OAEG;IACH,WAAW,CAAC,EAAE,iCAAiC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;CACjE;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,KAAK,SAAS,QAAQ,GAAG,eAAe,EACxC,OAAO,GAAG,KAAK,EAEf,OAAO,GAAE,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAM,GACnD,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAuIlC;AAoGD;;GAEG;AACH,MAAM,MAAM,qBAAqB,CAAC,KAAK,SAAS,QAAQ,IAAI,KAAK,SAAS;IACxE,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,MAAM,KAAK,CAAA;KAAE,CAAC;CAC9C,GACG,KAAK,GACL,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;AAY3B;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS,QAAQ,IAAI;IACtD;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;IACrB;;OAEG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;IACb;;OAEG;IACH,IAAI,CAAC,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC;CACrC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,+BAA+B,CAAC,GAAG,EAAE,KAAK,SAAS,QAAQ;IAC1E;;OAEG;IACH,KAAK,EAAE,KAAK,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC;IAC7B;;;;OAIG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;OAEG;IACH,MAAM,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;CAC3E;AAED;;GAEG;AACH,MAAM,MAAM,2BAA2B,CAAC,GAAG,EAAE,KAAK,SAAS,QAAQ,IAAI,OAAO,CAC5E,IAAI,CACF,+BAA+B,CAAC,GAAG,EAAE,KAAK,CAAC,EAC3C,OAAO,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAChE,CACF,GAAG;IACF;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,SAAS,MAAM,EAClB,KAAK,SAAS,QAAQ,EAEtB,OAAO,EAAE,+BAA+B,CAAC,GAAG,EAAE,KAAK,CAAC,GACnD,CAAC,SAAS,CAAC,EAAE,2BAA2B,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,GAAG,CAgC9D;AAyCD,QAAA,MAAM,aAAa,EAAE,OAAO,MAAM,CAAC,OACwC,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,wBAAwB,CAAC,GAAG,EAAE,KAAK,SAAS,QAAQ;IACnE;;;;OAIG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;;;OAIG;IACH,MAAM,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;OAIG;IACH,IAAI,CAAC,EAAE;SAAG,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,OAAO;KAAE,CAAC;IACxC;;OAEG;IACH,KAAK,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAClC;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,GAAG,CAAC,EAAE,eAAe,CAAC;IACtB;;OAEG;IACH,WAAW,CAAC,EAAE,iCAAiC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAChE;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACrB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,GAAG,EAAE,KAAK,SAAS,QAAQ,CAC7D,SAAQ,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC;IACxC;;OAEG;IACH,GAAG,EAAE,GAAG,CAAC;IACT;;OAEG;IACH,OAAO,IAAI,IAAI,CAAC;IAChB;;;OAGG;IACH,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,SAAS;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,KAAK,CACpE,OAAO,CAAC,EAAE,wBAAwB,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,KAClD,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAuDzC;AAqBD;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9D;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B;;;OAGG;IACH,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9E;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,GAAE,6BAAkC,GAC1C,OAAO,CAAC,wBAAwB,CAAC,CAgCnC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM;IAC5D;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAC;IAC9B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,IACzD,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAEzB;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAC1B,KAAK,SAAS,MAAM,EACpB,IAAI,SAAS,MAAM,GAAG,MAAM,IAE1B,OAAO,CAAC,KAAK,CAAC,GACd,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,oBAAoB,CACnC,IAAI,SAAS,MAAM,EACnB,KAAK,SAAS,MAAM,EACpB,GAAG,GAAG,OAAO,EACb,OAAO,GAAG,KAAK;IAEf;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAC9C;;OAEG;IACH,OAAO,CAAC,CACN,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC,GAC7B,YAAY,CAAC,OAAO,CAAC,CAAC;IACzB;;OAEG;IACH,GAAG,CAAC,EAAE,eAAe,CAAC;IACtB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU,CACzB,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,KAAK,SAAS,MAAM,GAAG,MAAM,EAC7B,GAAG,GAAG,OAAO,EACb,OAAO,GAAG,KAAK;IAEf;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;IACxD;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC;IAC7E;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9E;;OAEG;IACH,UAAU,CACR,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,GACxC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACtB;;OAEG;IACH,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,GAAG;IACpC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,OAAO,CAAC,GAAG,GAAG,OAAO,EAAE,IAAI,SAAS,MAAM,GAAG,MAAM;IAClE;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,GAAG;IAClC;;OAEG;IACH,GAAG,EAAE,GAAG,CAAC;IACT;;OAEG;IACH,KAAK,EAAE,SAAS,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,gCAAgC,CAAC,QAAQ,EAAE,GAAG;IAC7D;;OAEG;IACH,MAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC;IACjC;;OAEG;IACH,GAAG,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAAC;IAC7B;;OAEG;IACH,KAAK,CAAC,CAAC,QAAQ,EAAE,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/C;;OAEG;IACH,KAAK,CAAC,CAAC,QAAQ,EAAE,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/C;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,CAAC;IACzD;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB,CAAC,GAAG;IAC3C;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAAC,QAAQ,EAAE,GAAG;IAChD;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB;;OAEG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB,CAAC,QAAQ,EAAE,GAAG;IAChD;;OAEG;IACH,KAAK,CACH,OAAO,CAAC,EAAE,wBAAwB,CAAC,GAAG,CAAC,GACtC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/C;;OAEG;IACH,cAAc,IAAI,IAAI,CAAC;IACvB;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;gBAEZ,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO;CAM1C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,GAAG,SAAS,EAAE,SAAS,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,GACzD,IAAI,CAIN;AAqCD;;GAEG;AACH,wBAAgB,aAAa,CAC3B,KAAK,CAAC,IAAI,SAAS,MAAM,EACzB,KAAK,SAAS,MAAM,EACpB,GAAG,GAAG,OAAO,EACb,OAAO,GAAG,KAAK,EAEf,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,GACvD,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CA8DvC;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,CAAC,IAAI,SAAS,MAAM,EAAE,GAAG,GAAG,OAAO,EACjE,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAC9B,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAOpB;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,GAAG,EAChC,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CAQf;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,GAAG,EACrD,OAAO,EAAE,gCAAgC,CAAC,QAAQ,EAAE,GAAG,CAAC,GACvD,mBAAmB,CAAC,QAAQ,EAAE,GAAG,CAAC,CA2DpC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ import { createMemoryCache } from "../ports/cache.js";
11
11
  import { createFrozenClock, createSystemClock, } from "../ports/clock.js";
12
12
  import { createUuidIdGenerator, } from "../ports/id-generator.js";
13
13
  import { createGate, createMemoryRateLimiter, createMemoryStorage, createNoopLogger, createNoopUnitOfWork, } from "../ports/index.js";
14
- import { createRecordingEventBus, createRecordingJobDispatcher, createTestActivityContext, createTestSystemActor, createTestUserActor, } from "../ports/testing.js";
14
+ import { createRecordingBestEffortWork, createRecordingEventBus, createRecordingJobDispatcher, createTestActivityContext, createTestSystemActor, createTestUserActor, } from "../ports/testing.js";
15
15
  import { createMemorySearch } from "../search/index.js";
16
16
  import { createAmbientAuditLog } from "../server/audit-context.js";
17
17
  import { loadProviderConfig } from "../server/providers/loadProviderConfig.js";
@@ -30,6 +30,7 @@ export function createTestPorts(options = {}) {
30
30
  const audit = createMemoryAuditLog();
31
31
  const cache = createMemoryCache();
32
32
  const clock = options.clock ?? createFrozenClock();
33
+ const { bestEffortWork, pending: pendingBestEffortWork, flush: flushBestEffortWork, } = createRecordingBestEffortWork();
33
34
  const { bus: eventBus, events } = createRecordingEventBus();
34
35
  const errorReporter = createMemoryErrorReporter();
35
36
  const flags = createMemoryFlags();
@@ -57,6 +58,7 @@ export function createTestPorts(options = {}) {
57
58
  audit: createAmbientAuditLog(audit),
58
59
  cache,
59
60
  clock,
61
+ bestEffortWork,
60
62
  eventBus,
61
63
  errorReporter,
62
64
  flags,
@@ -128,6 +130,9 @@ export function createTestPorts(options = {}) {
128
130
  return {
129
131
  ports,
130
132
  audit,
133
+ bestEffortWork,
134
+ pendingBestEffortWork,
135
+ flushBestEffortWork,
131
136
  eventBus,
132
137
  events,
133
138
  errorReporter,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@beignet/core",
3
- "version": "0.0.49",
3
+ "version": "0.0.50",
4
4
  "type": "module",
5
5
  "description": "Core framework primitives for Beignet",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: app-architecture
3
- description: "Build Beignet app feature slices with @beignet/core primitives: schemas, contracts, use cases, agent capabilities, app errors, ports, policies, TenantScope, context, providers, runtime integrity, domain events, listeners, jobs, schedules, tasks, notifications, outbox, mail, uploads, seeds, tests, auth helpers, audit, idempotency, storage, cache, rate limits, flags, entitlements, payments, search, webhooks, and explicit core subpath imports. Use when adding or fixing Beignet application behavior, dependency boundaries, tenant-owned repository access, app-facing ports, authorization, workflow primitives, agent entrypoints, or app-bound lib builders."
3
+ description: "Build Beignet app feature slices with @beignet/core primitives: schemas, contracts, use cases, agent capabilities, app errors, ports, policies, TenantScope, context, providers, runtime integrity, domain events, listeners, jobs, schedules, tasks, notifications, outbox, best-effort work, mail, uploads, seeds, tests, auth helpers, audit, idempotency, storage, cache, rate limits, flags, entitlements, payments, search, webhooks, and explicit core subpath imports. Use when adding or fixing Beignet application behavior, dependency boundaries, tenant-owned repository access, app-facing ports, authorization, workflow primitives, agent entrypoints, or app-bound lib builders."
4
4
  ---
5
5
 
6
6
  # Beignet App Architecture
@@ -47,6 +47,15 @@ Small features do not need every file. The starter ships a lean subset;
47
47
  workflow folders, `lib/` builders, and central registries appear when a
48
48
  generator or deliberate feature change introduces that concern.
49
49
 
50
+ App-wide operational sources use these paths:
51
+
52
+ - `drizzle/` contains checked-in SQL migrations and Drizzle metadata.
53
+ - `server/seed.ts` is an optional entrypoint that composes feature seed
54
+ definitions through an application service context.
55
+ - `server/workers/` contains optional long-running runtime entrypoints, such
56
+ as a BullMQ job worker. Do not start them from provider lifecycle hooks or
57
+ serverless routes.
58
+
50
59
  Bind route declarations to the app context once in `lib/routes.ts` with
51
60
  `createRoutes<AppContext>()`. Feature route files should import the resulting
52
61
  `defineRoute` or `defineRouteGroup` helper instead of binding `AppContext`
@@ -167,7 +176,7 @@ or outbox records must commit together.
167
176
  no-op reporters.
168
177
  - `deferred` ports are supplied by providers at startup, such as auth,
169
178
  database, mail, logger, jobs, repositories, idempotency, rate limits,
170
- storage, search, payments, flags, locks, and error reporting.
179
+ storage, search, payments, flags, locks, best-effort work, and error reporting.
171
180
 
172
181
  Do not import provider packages from contracts, use cases, routes, UI, or
173
182
  feature client modules.
@@ -232,7 +241,9 @@ malformed input or unvalidated output into instrumentation.
232
241
 
233
242
  Register workflow artifacts explicitly:
234
243
 
235
- - listeners in `server/listeners.ts`, then through `registerListeners(...)` in server provider wiring
244
+ - listeners in `server/listeners.ts`, then through `registerListeners(...)` in
245
+ server provider wiring; register in `start()`, await `registration.ready`, and
246
+ await `registration.unsubscribe()` in `stop()`
236
247
  - schedules in `server/schedules.ts`
237
248
  - tasks in `server/tasks.ts`
238
249
  - outbox events and jobs in `server/outbox.ts`
@@ -277,6 +288,15 @@ Providers should not start unbounded background loops on server boot. Expose
277
288
  cron routes, worker entrypoints, task runners, schedule runners, or outbox
278
289
  drains instead.
279
290
 
291
+ Use `BestEffortWorkPort` only for non-durable work whose loss cannot change the
292
+ originating operation's result. A platform adapter owns scheduler, callback,
293
+ and error-observer failure isolation. In tests, use
294
+ `createRecordingBestEffortWork()` or the default recorder from
295
+ `createTestPorts(...)`, then flush one bounded batch explicitly. Required or
296
+ retryable delivery belongs in a job or transaction-scoped outbox. Request
297
+ best-effort work only after the authoritative mutation succeeds, typically
298
+ from a listener invoked by an after-commit event flush.
299
+
280
300
  In Next.js 15.1 and newer, an app may request one bounded outbox drain through
281
301
  `after()` after its Unit of Work commits. Treat this as push-assisted polling,
282
302
  not durable execution: the transaction-scoped outbox row owns durability and a
@@ -16,6 +16,9 @@ export type StandardSchema = StandardSchemaV1<unknown, unknown>;
16
16
  */
17
17
  export type MaybePromise<T> = T | Promise<T>;
18
18
 
19
+ const DEFAULT_LISTENER_READY_TIMEOUT_MS = 10_000;
20
+ const MAX_TIMER_MS = 2_147_483_647;
21
+
19
22
  /**
20
23
  * Infer the parsed output type from a Standard Schema.
21
24
  */
@@ -68,6 +71,74 @@ export interface EventPublishOptions {
68
71
  trace?: TraceCarrier;
69
72
  }
70
73
 
74
+ /**
75
+ * Lifecycle handle for one event subscription or a composed listener
76
+ * registration.
77
+ *
78
+ * `ready` proves initial transport readiness. It does not represent ongoing
79
+ * connectivity, durability, replay, or handler success after startup.
80
+ */
81
+ export interface EventSubscription {
82
+ /** Resolves when the subscription can receive events. */
83
+ readonly ready: Promise<void>;
84
+ /** Stop local delivery and await transport cleanup. Idempotent. */
85
+ unsubscribe(): Promise<void>;
86
+ }
87
+
88
+ /** Error used when a subscription closes before initial readiness. */
89
+ export class EventSubscriptionClosedError extends Error {
90
+ constructor(message = "Event subscription closed before it became ready.") {
91
+ super(message);
92
+ this.name = "EventSubscriptionClosedError";
93
+ }
94
+ }
95
+
96
+ /** Error thrown when a listener registry misses its readiness deadline. */
97
+ export class ListenerRegistrationTimeoutError extends Error {
98
+ /** Configured readiness deadline in milliseconds. */
99
+ readonly timeoutMs: number;
100
+ /** Listener names that were part of the registration. */
101
+ readonly listenerNames: readonly string[];
102
+
103
+ constructor(args: {
104
+ timeoutMs: number;
105
+ listenerNames: readonly string[];
106
+ }) {
107
+ const suffix = args.listenerNames.length
108
+ ? `: ${args.listenerNames.join(", ")}`
109
+ : "";
110
+ super(
111
+ `Listeners did not become ready within ${args.timeoutMs}ms${suffix}.`,
112
+ );
113
+ this.name = "ListenerRegistrationTimeoutError";
114
+ this.timeoutMs = args.timeoutMs;
115
+ this.listenerNames = [...args.listenerNames];
116
+ }
117
+ }
118
+
119
+ /** Error thrown when listener rollback misses the registration deadline. */
120
+ export class ListenerRegistrationCleanupTimeoutError extends Error {
121
+ /** Configured registration deadline in milliseconds. */
122
+ readonly timeoutMs: number;
123
+ /** Listener names that were part of the registration. */
124
+ readonly listenerNames: readonly string[];
125
+
126
+ constructor(args: {
127
+ timeoutMs: number;
128
+ listenerNames: readonly string[];
129
+ }) {
130
+ const suffix = args.listenerNames.length
131
+ ? `: ${args.listenerNames.join(", ")}`
132
+ : "";
133
+ super(
134
+ `Listener cleanup did not finish before the ${args.timeoutMs}ms registration deadline${suffix}.`,
135
+ );
136
+ this.name = "ListenerRegistrationCleanupTimeoutError";
137
+ this.timeoutMs = args.timeoutMs;
138
+ this.listenerNames = [...args.listenerNames];
139
+ }
140
+ }
141
+
71
142
  /**
72
143
  * Options for `defineEvent(...)`.
73
144
  */
@@ -153,7 +224,7 @@ export interface EventBusLike {
153
224
  options?: EventPublishOptions,
154
225
  ): MaybePromise<void>;
155
226
  /**
156
- * Subscribe to an event and return an unsubscribe function.
227
+ * Subscribe to an event and return its readiness and cleanup handle.
157
228
  */
158
229
  subscribe<E extends EventPayloadDef>(
159
230
  event: E,
@@ -161,7 +232,7 @@ export interface EventBusLike {
161
232
  payload: InferEventPayload<E>,
162
233
  options?: EventPublishOptions,
163
234
  ) => MaybePromise<void>,
164
- ): () => void;
235
+ ): EventSubscription;
165
236
  }
166
237
 
167
238
  /**
@@ -182,6 +253,12 @@ export interface RegisterListenersOptions<Ctx> {
182
253
  * the event bus subscription callback.
183
254
  */
184
255
  onError?: (error: unknown, listener: ListenerDef<EventDef, Ctx>) => void;
256
+ /**
257
+ * Maximum time for the complete listener registry to become ready. The same
258
+ * registration deadline bounds automatic rollback after startup failure.
259
+ * Defaults to 10 seconds.
260
+ */
261
+ readyTimeoutMs?: number;
185
262
  }
186
263
 
187
264
  /**
@@ -319,54 +396,202 @@ export async function publishEvent<E extends EventPayloadDef>(
319
396
  await eventBus.publish(event, payload, options);
320
397
  }
321
398
 
399
+ function assertReadyTimeoutMs(value: number): void {
400
+ if (Number.isInteger(value) && value >= 1 && value <= MAX_TIMER_MS) return;
401
+ throw new RangeError(
402
+ `readyTimeoutMs must be an integer between 1 and ${MAX_TIMER_MS} milliseconds.`,
403
+ );
404
+ }
405
+
406
+ function errorsFromCleanup(error: unknown): unknown[] {
407
+ return error instanceof AggregateError ? [...error.errors] : [error];
408
+ }
409
+
410
+ function unsubscribeAllSettled(
411
+ subscriptions: readonly EventSubscription[],
412
+ ): Promise<PromiseSettledResult<void>[]> {
413
+ const attempts: Promise<void>[] = [];
414
+ for (const subscription of [...subscriptions].reverse()) {
415
+ try {
416
+ attempts.push(Promise.resolve(subscription.unsubscribe()));
417
+ } catch (error) {
418
+ attempts.push(Promise.reject(error));
419
+ }
420
+ }
421
+
422
+ return Promise.allSettled(attempts);
423
+ }
424
+
425
+ function throwSubscriptionCleanupErrors(
426
+ results: readonly PromiseSettledResult<void>[],
427
+ ): void {
428
+ const errors = results.flatMap((result) =>
429
+ result.status === "rejected" ? errorsFromCleanup(result.reason) : [],
430
+ );
431
+ if (errors.length > 0) {
432
+ throw new AggregateError(errors, "Event subscription cleanup failed");
433
+ }
434
+ }
435
+
436
+ function withListenerDeadline<T>(
437
+ operation: Promise<T>,
438
+ args: {
439
+ deadlineAt: number;
440
+ timeoutError: Error;
441
+ },
442
+ ): Promise<T> {
443
+ let timeout: ReturnType<typeof setTimeout> | undefined;
444
+ const timedOut = new Promise<T>((_, reject) => {
445
+ timeout = setTimeout(
446
+ () => {
447
+ reject(args.timeoutError);
448
+ },
449
+ Math.max(0, args.deadlineAt - performance.now()),
450
+ );
451
+ });
452
+
453
+ return Promise.race([operation, timedOut]).finally(() => {
454
+ if (timeout !== undefined) clearTimeout(timeout);
455
+ });
456
+ }
457
+
322
458
  /**
323
- * Register listeners against an event bus and return an unsubscribe function.
459
+ * Register listeners against an event bus and return a composite lifecycle
460
+ * handle.
324
461
  *
325
462
  * Payloads are validated before listener handlers run. Listener context is
326
- * resolved per delivery when `options.ctx` is a factory.
463
+ * resolved per delivery when `options.ctx` is a factory. Initial registration
464
+ * starts every child cleanup after a synchronous subscribe failure, rejected
465
+ * readiness promise, or readiness timeout. Cleanup that cannot finish inside
466
+ * the registration deadline is reported without extending startup forever.
327
467
  */
328
468
  export function registerListeners<Ctx>(
329
469
  eventBus: EventBusLike,
330
470
  listeners: readonly ListenerDef<EventDef, Ctx>[],
331
471
  options: RegisterListenersOptions<Ctx> = {},
332
- ): () => void {
333
- const unsubscribes = listeners.map((listener) =>
334
- eventBus.subscribe(listener.event, async (rawPayload, publishOptions) => {
335
- try {
336
- const payload = await parseEventPayload(listener.event, rawPayload);
337
- const traceAttributes = {
338
- "beignet.listener.name": listener.name,
339
- "beignet.event.name": listener.event.name,
340
- } as const;
341
- await runWithResolvedTracingContext({
342
- tracing: options.tracing,
343
- ctx: options.ctx as Ctx | (() => MaybePromise<Ctx>),
344
- operation: {
345
- name: `beignet.listener ${listener.name}`,
346
- type: "listener",
347
- kind: "consumer",
348
- parent: parseTraceCarrier(publishOptions?.trace),
349
- attributes: traceAttributes,
350
- metricAttributes: traceAttributes,
472
+ ): EventSubscription {
473
+ const readyTimeoutMs =
474
+ options.readyTimeoutMs ?? DEFAULT_LISTENER_READY_TIMEOUT_MS;
475
+ assertReadyTimeoutMs(readyTimeoutMs);
476
+ const registrationDeadlineAt = performance.now() + readyTimeoutMs;
477
+ const listenerNames = listeners.map(({ name }) => name);
478
+
479
+ const subscriptions: EventSubscription[] = [];
480
+ let registrationError: unknown;
481
+
482
+ for (const listener of listeners) {
483
+ try {
484
+ subscriptions.push(
485
+ eventBus.subscribe(
486
+ listener.event,
487
+ async (rawPayload, publishOptions) => {
488
+ try {
489
+ const payload = await parseEventPayload(
490
+ listener.event,
491
+ rawPayload,
492
+ );
493
+ const traceAttributes = {
494
+ "beignet.listener.name": listener.name,
495
+ "beignet.event.name": listener.event.name,
496
+ } as const;
497
+ await runWithResolvedTracingContext({
498
+ tracing: options.tracing,
499
+ ctx: options.ctx as Ctx | (() => MaybePromise<Ctx>),
500
+ operation: {
501
+ name: `beignet.listener ${listener.name}`,
502
+ type: "listener",
503
+ kind: "consumer",
504
+ parent: parseTraceCarrier(publishOptions?.trace),
505
+ attributes: traceAttributes,
506
+ metricAttributes: traceAttributes,
507
+ },
508
+ run: (ctx) =>
509
+ listener.handle({
510
+ event: listener.event,
511
+ payload,
512
+ ctx,
513
+ }),
514
+ });
515
+ } catch (error) {
516
+ options.onError?.(error, listener);
517
+ if (!options.onError) throw error;
518
+ }
351
519
  },
352
- run: (ctx) =>
353
- listener.handle({
354
- event: listener.event,
355
- payload,
356
- ctx,
520
+ ),
521
+ );
522
+ } catch (error) {
523
+ registrationError = error;
524
+ break;
525
+ }
526
+ }
527
+
528
+ let rejectClosed!: (error: unknown) => void;
529
+ const closedBeforeReady = new Promise<void>((_, reject) => {
530
+ rejectClosed = reject;
531
+ });
532
+ // A consumer may only await cleanup. Keep an explicit observer on the
533
+ // cancellation signal so that use does not create an unhandled rejection.
534
+ void closedBeforeReady.catch(() => undefined);
535
+
536
+ let cleanupPromise: Promise<void> | undefined;
537
+ const cleanup = (deadlineAt?: number): Promise<void> => {
538
+ if (cleanupPromise) return cleanupPromise;
539
+ const operation = unsubscribeAllSettled(subscriptions);
540
+ cleanupPromise =
541
+ deadlineAt === undefined
542
+ ? operation.then(throwSubscriptionCleanupErrors)
543
+ : withListenerDeadline(operation, {
544
+ deadlineAt,
545
+ timeoutError: new ListenerRegistrationCleanupTimeoutError({
546
+ timeoutMs: readyTimeoutMs,
547
+ listenerNames,
357
548
  }),
358
- });
359
- } catch (error) {
360
- options.onError?.(error, listener);
361
- if (!options.onError) throw error;
549
+ }).then(throwSubscriptionCleanupErrors);
550
+ return cleanupPromise;
551
+ };
552
+
553
+ const initialReadiness = registrationError
554
+ ? Promise.reject(registrationError)
555
+ : Promise.all(subscriptions.map(({ ready }) => ready)).then(
556
+ () => undefined,
557
+ );
558
+ let readySettled = false;
559
+ const ready = withListenerDeadline(
560
+ Promise.race([initialReadiness, closedBeforeReady]),
561
+ {
562
+ deadlineAt: registrationDeadlineAt,
563
+ timeoutError: new ListenerRegistrationTimeoutError({
564
+ timeoutMs: readyTimeoutMs,
565
+ listenerNames,
566
+ }),
567
+ },
568
+ )
569
+ .catch(async (primaryError: unknown) => {
570
+ try {
571
+ await cleanup(registrationDeadlineAt);
572
+ } catch (cleanupError) {
573
+ throw new AggregateError(
574
+ [primaryError, ...errorsFromCleanup(cleanupError)],
575
+ "Listener registration failed and cleanup failed",
576
+ );
362
577
  }
363
- }),
364
- );
578
+ throw primaryError;
579
+ })
580
+ .finally(() => {
581
+ readySettled = true;
582
+ });
583
+ // EventSubscription allows callers that only own cleanup. Preserve the
584
+ // rejection for awaiters while preventing process-level unhandled noise.
585
+ void ready.catch(() => undefined);
365
586
 
366
- return () => {
367
- for (const unsubscribe of [...unsubscribes].reverse()) {
368
- unsubscribe();
369
- }
587
+ return {
588
+ ready,
589
+ unsubscribe() {
590
+ if (!readySettled) {
591
+ rejectClosed(new EventSubscriptionClosedError());
592
+ }
593
+ return cleanup(readySettled ? undefined : registrationDeadlineAt);
594
+ },
370
595
  };
371
596
  }
372
597