@pattern-stack/codegen 0.15.1 → 0.15.2

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 (521) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/dist/chunk-24CWKBK5.js +94 -0
  3. package/dist/chunk-24CWKBK5.js.map +1 -0
  4. package/dist/chunk-2E224ZSN.js +20 -0
  5. package/dist/chunk-2E224ZSN.js.map +1 -0
  6. package/dist/chunk-2FTZLDBP.js +179 -0
  7. package/dist/chunk-2FTZLDBP.js.map +1 -0
  8. package/dist/chunk-2N4UG4VD.js +20 -0
  9. package/dist/chunk-2N4UG4VD.js.map +1 -0
  10. package/dist/chunk-2TVVBC53.js +92 -0
  11. package/dist/chunk-2TVVBC53.js.map +1 -0
  12. package/dist/chunk-2VHZ7EKC.js +37 -0
  13. package/dist/chunk-2VHZ7EKC.js.map +1 -0
  14. package/dist/chunk-32BMMV4H.js +109 -0
  15. package/dist/chunk-32BMMV4H.js.map +1 -0
  16. package/dist/chunk-32DOFN3T.js +4042 -0
  17. package/dist/chunk-32DOFN3T.js.map +1 -0
  18. package/dist/chunk-36U5UGIO.js +107 -0
  19. package/dist/chunk-36U5UGIO.js.map +1 -0
  20. package/dist/chunk-3CJFPU6Q.js +14 -0
  21. package/dist/chunk-3CJFPU6Q.js.map +1 -0
  22. package/dist/chunk-3NMCDN7L.js +90 -0
  23. package/dist/chunk-3NMCDN7L.js.map +1 -0
  24. package/dist/chunk-3SZFUTXE.js +62 -0
  25. package/dist/chunk-3SZFUTXE.js.map +1 -0
  26. package/dist/chunk-4DOJBQTP.js +117 -0
  27. package/dist/chunk-4DOJBQTP.js.map +1 -0
  28. package/dist/chunk-4JLJYWJC.js +308 -0
  29. package/dist/chunk-4JLJYWJC.js.map +1 -0
  30. package/dist/chunk-4KNXX6TI.js +29 -0
  31. package/dist/chunk-4KNXX6TI.js.map +1 -0
  32. package/dist/chunk-4LH67P4U.js +17 -0
  33. package/dist/chunk-4LH67P4U.js.map +1 -0
  34. package/dist/chunk-4MVGAMUA.js +40 -0
  35. package/dist/chunk-4MVGAMUA.js.map +1 -0
  36. package/dist/chunk-4OMHBMZJ.js +75 -0
  37. package/dist/chunk-4OMHBMZJ.js.map +1 -0
  38. package/dist/chunk-4RFHUZXU.js +635 -0
  39. package/dist/chunk-4RFHUZXU.js.map +1 -0
  40. package/dist/chunk-5A432NZJ.js +7 -0
  41. package/dist/chunk-5A432NZJ.js.map +1 -0
  42. package/dist/chunk-5Y7W3XR6.js +356 -0
  43. package/dist/chunk-5Y7W3XR6.js.map +1 -0
  44. package/dist/chunk-6DWFJNIK.js +15 -0
  45. package/dist/chunk-6DWFJNIK.js.map +1 -0
  46. package/dist/chunk-6I7ULIN6.js +15 -0
  47. package/dist/chunk-6I7ULIN6.js.map +1 -0
  48. package/dist/chunk-6XY6ZMMD.js +25 -0
  49. package/dist/chunk-6XY6ZMMD.js.map +1 -0
  50. package/dist/chunk-7B3RYX45.js +63 -0
  51. package/dist/chunk-7B3RYX45.js.map +1 -0
  52. package/dist/chunk-7C3FOSDI.js +1 -0
  53. package/dist/chunk-7C3FOSDI.js.map +1 -0
  54. package/dist/chunk-7KOW6PU6.js +59 -0
  55. package/dist/chunk-7KOW6PU6.js.map +1 -0
  56. package/dist/chunk-7LKAMLV4.js +92 -0
  57. package/dist/chunk-7LKAMLV4.js.map +1 -0
  58. package/dist/chunk-7RELQJIN.js +22 -0
  59. package/dist/chunk-7RELQJIN.js.map +1 -0
  60. package/dist/chunk-AHV4GDYM.js +63 -0
  61. package/dist/chunk-AHV4GDYM.js.map +1 -0
  62. package/dist/chunk-AQFQ4BYM.js +81 -0
  63. package/dist/chunk-AQFQ4BYM.js.map +1 -0
  64. package/dist/chunk-AS3NAZB6.js +14 -0
  65. package/dist/chunk-AS3NAZB6.js.map +1 -0
  66. package/dist/chunk-BGULBWKJ.js +88 -0
  67. package/dist/chunk-BGULBWKJ.js.map +1 -0
  68. package/dist/chunk-BIO6F7YI.js +17 -0
  69. package/dist/chunk-BIO6F7YI.js.map +1 -0
  70. package/dist/chunk-BOPZWRJK.js +36 -0
  71. package/dist/chunk-BOPZWRJK.js.map +1 -0
  72. package/dist/chunk-BPARRK6F.js +14 -0
  73. package/dist/chunk-BPARRK6F.js.map +1 -0
  74. package/dist/chunk-CO6LUM72.js +59 -0
  75. package/dist/chunk-CO6LUM72.js.map +1 -0
  76. package/dist/chunk-COGHTKXY.js +84 -0
  77. package/dist/chunk-COGHTKXY.js.map +1 -0
  78. package/dist/chunk-DCCZB4UC.js +100 -0
  79. package/dist/chunk-DCCZB4UC.js.map +1 -0
  80. package/dist/chunk-DKKFTHHI.js +53 -0
  81. package/dist/chunk-DKKFTHHI.js.map +1 -0
  82. package/dist/chunk-DV4RV2DC.js +59 -0
  83. package/dist/chunk-DV4RV2DC.js.map +1 -0
  84. package/dist/chunk-EDKJU5BO.js +11 -0
  85. package/dist/chunk-EDKJU5BO.js.map +1 -0
  86. package/dist/chunk-EO2QPOKH.js +116 -0
  87. package/dist/chunk-EO2QPOKH.js.map +1 -0
  88. package/dist/chunk-EOLLMEAH.js +155 -0
  89. package/dist/chunk-EOLLMEAH.js.map +1 -0
  90. package/dist/chunk-EWYCWP4H.js +14 -0
  91. package/dist/chunk-EWYCWP4H.js.map +1 -0
  92. package/dist/chunk-EXVDJMIY.js +33 -0
  93. package/dist/chunk-EXVDJMIY.js.map +1 -0
  94. package/dist/chunk-FASRXRX5.js +19 -0
  95. package/dist/chunk-FASRXRX5.js.map +1 -0
  96. package/dist/chunk-FI34KYZ5.js +1 -0
  97. package/dist/chunk-FI34KYZ5.js.map +1 -0
  98. package/dist/chunk-FN2PYDPP.js +1 -0
  99. package/dist/chunk-FN2PYDPP.js.map +1 -0
  100. package/dist/chunk-GM3RMJIJ.js +92 -0
  101. package/dist/chunk-GM3RMJIJ.js.map +1 -0
  102. package/dist/chunk-GYGNEQSC.js +9 -0
  103. package/dist/chunk-GYGNEQSC.js.map +1 -0
  104. package/dist/chunk-H5NH7KPE.js +21 -0
  105. package/dist/chunk-H5NH7KPE.js.map +1 -0
  106. package/dist/chunk-HNWZFNKP.js +168 -0
  107. package/dist/chunk-HNWZFNKP.js.map +1 -0
  108. package/dist/chunk-HUH73XGI.js +1 -0
  109. package/dist/chunk-HUH73XGI.js.map +1 -0
  110. package/dist/chunk-I6MG4M3F.js +201 -0
  111. package/dist/chunk-I6MG4M3F.js.map +1 -0
  112. package/dist/chunk-I6MVCB5A.js +39 -0
  113. package/dist/chunk-I6MVCB5A.js.map +1 -0
  114. package/dist/chunk-IBGER4YK.js +12 -0
  115. package/dist/chunk-IBGER4YK.js.map +1 -0
  116. package/dist/chunk-IF5I3DAA.js +92 -0
  117. package/dist/chunk-IF5I3DAA.js.map +1 -0
  118. package/dist/chunk-IP4OO26U.js +54 -0
  119. package/dist/chunk-IP4OO26U.js.map +1 -0
  120. package/dist/chunk-IWAOY6KC.js +1 -0
  121. package/dist/chunk-IWAOY6KC.js.map +1 -0
  122. package/dist/chunk-J37YWU7Y.js +19 -0
  123. package/dist/chunk-J37YWU7Y.js.map +1 -0
  124. package/dist/chunk-J6KZS54B.js +269 -0
  125. package/dist/chunk-J6KZS54B.js.map +1 -0
  126. package/dist/chunk-J6MN42LG.js +19 -0
  127. package/dist/chunk-J6MN42LG.js.map +1 -0
  128. package/dist/chunk-JRQO2IOF.js +65 -0
  129. package/dist/chunk-JRQO2IOF.js.map +1 -0
  130. package/dist/chunk-JRVNVKN6.js +212 -0
  131. package/dist/chunk-JRVNVKN6.js.map +1 -0
  132. package/dist/chunk-JWNHNUYL.js +96 -0
  133. package/dist/chunk-JWNHNUYL.js.map +1 -0
  134. package/dist/chunk-K2I6XIK5.js +122 -0
  135. package/dist/chunk-K2I6XIK5.js.map +1 -0
  136. package/dist/chunk-KMZCQASO.js +111 -0
  137. package/dist/chunk-KMZCQASO.js.map +1 -0
  138. package/dist/chunk-KVOWSC5S.js +1 -0
  139. package/dist/chunk-KVOWSC5S.js.map +1 -0
  140. package/dist/chunk-KYR3B3OW.js +79 -0
  141. package/dist/chunk-KYR3B3OW.js.map +1 -0
  142. package/dist/chunk-L3LZWWSX.js +61 -0
  143. package/dist/chunk-L3LZWWSX.js.map +1 -0
  144. package/dist/chunk-L4SDDEEU.js +1 -0
  145. package/dist/chunk-L4SDDEEU.js.map +1 -0
  146. package/dist/chunk-L6FTY45T.js +13 -0
  147. package/dist/chunk-L6FTY45T.js.map +1 -0
  148. package/dist/chunk-L7BNNRGI.js +134 -0
  149. package/dist/chunk-L7BNNRGI.js.map +1 -0
  150. package/dist/chunk-LG57S2SC.js +150 -0
  151. package/dist/chunk-LG57S2SC.js.map +1 -0
  152. package/dist/chunk-M6QLSLPO.js +97 -0
  153. package/dist/chunk-M6QLSLPO.js.map +1 -0
  154. package/dist/chunk-MZ6GV4YF.js +21 -0
  155. package/dist/chunk-MZ6GV4YF.js.map +1 -0
  156. package/dist/chunk-N5OTOWTP.js +55 -0
  157. package/dist/chunk-N5OTOWTP.js.map +1 -0
  158. package/dist/chunk-NN7XZEGF.js +14 -0
  159. package/dist/chunk-NN7XZEGF.js.map +1 -0
  160. package/dist/chunk-NPFPZ2HO.js +13 -0
  161. package/dist/chunk-NPFPZ2HO.js.map +1 -0
  162. package/dist/chunk-NXXDZ6ZF.js +42 -0
  163. package/dist/chunk-NXXDZ6ZF.js.map +1 -0
  164. package/dist/chunk-NYBCQZC7.js +11 -0
  165. package/dist/chunk-NYBCQZC7.js.map +1 -0
  166. package/dist/chunk-OFRRBC7M.js +78 -0
  167. package/dist/chunk-OFRRBC7M.js.map +1 -0
  168. package/dist/chunk-OGIZXGPY.js +222 -0
  169. package/dist/chunk-OGIZXGPY.js.map +1 -0
  170. package/dist/chunk-OKXZ63IA.js +168 -0
  171. package/dist/chunk-OKXZ63IA.js.map +1 -0
  172. package/dist/chunk-OSQRXVG2.js +58 -0
  173. package/dist/chunk-OSQRXVG2.js.map +1 -0
  174. package/dist/chunk-OTDN3OUQ.js +215 -0
  175. package/dist/chunk-OTDN3OUQ.js.map +1 -0
  176. package/dist/chunk-OZZJDRGW.js +122 -0
  177. package/dist/chunk-OZZJDRGW.js.map +1 -0
  178. package/dist/chunk-PNZSGAB2.js +114 -0
  179. package/dist/chunk-PNZSGAB2.js.map +1 -0
  180. package/dist/chunk-PRWIX6UW.js +21 -0
  181. package/dist/chunk-PRWIX6UW.js.map +1 -0
  182. package/dist/chunk-PSXUNOVU.js +7 -0
  183. package/dist/chunk-PSXUNOVU.js.map +1 -0
  184. package/dist/chunk-QLTJSCE6.js +44 -0
  185. package/dist/chunk-QLTJSCE6.js.map +1 -0
  186. package/dist/chunk-RC23QROE.js +447 -0
  187. package/dist/chunk-RC23QROE.js.map +1 -0
  188. package/dist/chunk-RFH7N6EP.js +36 -0
  189. package/dist/chunk-RFH7N6EP.js.map +1 -0
  190. package/dist/chunk-RHVN6NA7.js +134 -0
  191. package/dist/chunk-RHVN6NA7.js.map +1 -0
  192. package/dist/chunk-S7C6TIIF.js +21 -0
  193. package/dist/chunk-S7C6TIIF.js.map +1 -0
  194. package/dist/chunk-SNQ3TOWP.js +20 -0
  195. package/dist/chunk-SNQ3TOWP.js.map +1 -0
  196. package/dist/chunk-SOVM2VEK.js +14 -0
  197. package/dist/chunk-SOVM2VEK.js.map +1 -0
  198. package/dist/chunk-SQDOBLBP.js +13 -0
  199. package/dist/chunk-SQDOBLBP.js.map +1 -0
  200. package/dist/chunk-SR7F3TJY.js +130 -0
  201. package/dist/chunk-SR7F3TJY.js.map +1 -0
  202. package/dist/chunk-SZVPIHWE.js +129 -0
  203. package/dist/chunk-SZVPIHWE.js.map +1 -0
  204. package/dist/chunk-T4BIIU5E.js +89 -0
  205. package/dist/chunk-T4BIIU5E.js.map +1 -0
  206. package/dist/chunk-T6C4LFLC.js +112 -0
  207. package/dist/chunk-T6C4LFLC.js.map +1 -0
  208. package/dist/chunk-TNXH7BJS.js +48 -0
  209. package/dist/chunk-TNXH7BJS.js.map +1 -0
  210. package/dist/chunk-U64T4YZE.js +9 -0
  211. package/dist/chunk-U64T4YZE.js.map +1 -0
  212. package/dist/chunk-UQ5EHOH2.js +39 -0
  213. package/dist/chunk-UQ5EHOH2.js.map +1 -0
  214. package/dist/chunk-UTN4GBPQ.js +1 -0
  215. package/dist/chunk-UTN4GBPQ.js.map +1 -0
  216. package/dist/chunk-V4AF6DI4.js +16 -0
  217. package/dist/chunk-V4AF6DI4.js.map +1 -0
  218. package/dist/chunk-W72PRNJY.js +126 -0
  219. package/dist/chunk-W72PRNJY.js.map +1 -0
  220. package/dist/chunk-WEVWJKOW.js +81 -0
  221. package/dist/chunk-WEVWJKOW.js.map +1 -0
  222. package/dist/chunk-WL67FZGF.js +21 -0
  223. package/dist/chunk-WL67FZGF.js.map +1 -0
  224. package/dist/chunk-WPXNN6QS.js +290 -0
  225. package/dist/chunk-WPXNN6QS.js.map +1 -0
  226. package/dist/chunk-WRUUSZDJ.js +29 -0
  227. package/dist/chunk-WRUUSZDJ.js.map +1 -0
  228. package/dist/chunk-X2GMTYPA.js +50 -0
  229. package/dist/chunk-X2GMTYPA.js.map +1 -0
  230. package/dist/chunk-XCEI7NUH.js +41 -0
  231. package/dist/chunk-XCEI7NUH.js.map +1 -0
  232. package/dist/chunk-Y7GDG744.js +88 -0
  233. package/dist/chunk-Y7GDG744.js.map +1 -0
  234. package/dist/chunk-Y7RRSEOC.js +9 -0
  235. package/dist/chunk-Y7RRSEOC.js.map +1 -0
  236. package/dist/chunk-YPWODKD5.js +184 -0
  237. package/dist/chunk-YPWODKD5.js.map +1 -0
  238. package/dist/chunk-YSLTTQLC.js +25 -0
  239. package/dist/chunk-YSLTTQLC.js.map +1 -0
  240. package/dist/chunk-YTN6BKWA.js +121 -0
  241. package/dist/chunk-YTN6BKWA.js.map +1 -0
  242. package/dist/chunk-Z7PQCAVK.js +200 -0
  243. package/dist/chunk-Z7PQCAVK.js.map +1 -0
  244. package/dist/chunk-ZUKFQL6E.js +47 -0
  245. package/dist/chunk-ZUKFQL6E.js.map +1 -0
  246. package/dist/chunk-ZUMULSEQ.js +1 -0
  247. package/dist/chunk-ZUMULSEQ.js.map +1 -0
  248. package/dist/runtime/analytics/index.js +8 -41
  249. package/dist/runtime/analytics/index.js.map +1 -1
  250. package/dist/runtime/analytics/types.js +8 -41
  251. package/dist/runtime/analytics/types.js.map +1 -1
  252. package/dist/runtime/base-classes/activity-entity-repository.js +6 -312
  253. package/dist/runtime/base-classes/activity-entity-repository.js.map +1 -1
  254. package/dist/runtime/base-classes/activity-entity-service.js +6 -212
  255. package/dist/runtime/base-classes/activity-entity-service.js.map +1 -1
  256. package/dist/runtime/base-classes/base-read-use-cases.js +5 -27
  257. package/dist/runtime/base-classes/base-read-use-cases.js.map +1 -1
  258. package/dist/runtime/base-classes/base-repository.js +5 -277
  259. package/dist/runtime/base-classes/base-repository.js.map +1 -1
  260. package/dist/runtime/base-classes/base-service.js +5 -184
  261. package/dist/runtime/base-classes/base-service.js.map +1 -1
  262. package/dist/runtime/base-classes/index.js +59 -1076
  263. package/dist/runtime/base-classes/index.js.map +1 -1
  264. package/dist/runtime/base-classes/integrated-entity-repository.js +6 -486
  265. package/dist/runtime/base-classes/integrated-entity-repository.js.map +1 -1
  266. package/dist/runtime/base-classes/integrated-entity-service.js +6 -213
  267. package/dist/runtime/base-classes/integrated-entity-service.js.map +1 -1
  268. package/dist/runtime/base-classes/junction-integration-repository.js +8 -448
  269. package/dist/runtime/base-classes/junction-integration-repository.js.map +1 -1
  270. package/dist/runtime/base-classes/knowledge-entity-repository.js +6 -283
  271. package/dist/runtime/base-classes/knowledge-entity-repository.js.map +1 -1
  272. package/dist/runtime/base-classes/knowledge-entity-service.js +6 -190
  273. package/dist/runtime/base-classes/knowledge-entity-service.js.map +1 -1
  274. package/dist/runtime/base-classes/lifecycle-events.js +8 -70
  275. package/dist/runtime/base-classes/lifecycle-events.js.map +1 -1
  276. package/dist/runtime/base-classes/metadata-entity-repository.js +6 -330
  277. package/dist/runtime/base-classes/metadata-entity-repository.js.map +1 -1
  278. package/dist/runtime/base-classes/metadata-entity-service.js +6 -212
  279. package/dist/runtime/base-classes/metadata-entity-service.js.map +1 -1
  280. package/dist/runtime/base-classes/tenant-context.js +10 -36
  281. package/dist/runtime/base-classes/tenant-context.js.map +1 -1
  282. package/dist/runtime/base-classes/with-analytics.js +4 -7
  283. package/dist/runtime/base-classes/with-analytics.js.map +1 -1
  284. package/dist/runtime/constants/tokens.js +5 -3
  285. package/dist/runtime/constants/tokens.js.map +1 -1
  286. package/dist/runtime/eav-helpers.js +2 -0
  287. package/dist/runtime/eav-helpers.js.map +1 -1
  288. package/dist/runtime/pipes/zod-validation.pipe.js +3 -10
  289. package/dist/runtime/pipes/zod-validation.pipe.js.map +1 -1
  290. package/dist/runtime/shared/openapi/error-response.dto.js +5 -8
  291. package/dist/runtime/shared/openapi/error-response.dto.js.map +1 -1
  292. package/dist/runtime/shared/openapi/errors.js +5 -19
  293. package/dist/runtime/shared/openapi/errors.js.map +1 -1
  294. package/dist/runtime/shared/openapi/index.js +15 -106
  295. package/dist/runtime/shared/openapi/index.js.map +1 -1
  296. package/dist/runtime/shared/openapi/registry.js +6 -103
  297. package/dist/runtime/shared/openapi/registry.js.map +1 -1
  298. package/dist/runtime/shared/openapi/registry.tokens.js +4 -2
  299. package/dist/runtime/shared/openapi/registry.tokens.js.map +1 -1
  300. package/dist/runtime/subsystems/analytics/analytics.module.js +8 -117
  301. package/dist/runtime/subsystems/analytics/analytics.module.js.map +1 -1
  302. package/dist/runtime/subsystems/analytics/analytics.tokens.js +7 -8
  303. package/dist/runtime/subsystems/analytics/analytics.tokens.js.map +1 -1
  304. package/dist/runtime/subsystems/analytics/cube-backend.js +6 -71
  305. package/dist/runtime/subsystems/analytics/cube-backend.js.map +1 -1
  306. package/dist/runtime/subsystems/analytics/index.js +16 -117
  307. package/dist/runtime/subsystems/analytics/index.js.map +1 -1
  308. package/dist/runtime/subsystems/analytics/noop-backend.js +4 -21
  309. package/dist/runtime/subsystems/analytics/noop-backend.js.map +1 -1
  310. package/dist/runtime/subsystems/auth/auth-oauth-state.schema.js +4 -8
  311. package/dist/runtime/subsystems/auth/auth-oauth-state.schema.js.map +1 -1
  312. package/dist/runtime/subsystems/auth/auth.module.js +12 -359
  313. package/dist/runtime/subsystems/auth/auth.module.js.map +1 -1
  314. package/dist/runtime/subsystems/auth/auth.tokens.js +12 -13
  315. package/dist/runtime/subsystems/auth/auth.tokens.js.map +1 -1
  316. package/dist/runtime/subsystems/auth/backends/encryption-key/env.js +4 -49
  317. package/dist/runtime/subsystems/auth/backends/encryption-key/env.js.map +1 -1
  318. package/dist/runtime/subsystems/auth/backends/state-store.drizzle-backend.js +6 -64
  319. package/dist/runtime/subsystems/auth/backends/state-store.drizzle-backend.js.map +1 -1
  320. package/dist/runtime/subsystems/auth/backends/state-store.memory-backend.js +5 -47
  321. package/dist/runtime/subsystems/auth/backends/state-store.memory-backend.js.map +1 -1
  322. package/dist/runtime/subsystems/auth/controllers/auth.controller.js +5 -139
  323. package/dist/runtime/subsystems/auth/controllers/auth.controller.js.map +1 -1
  324. package/dist/runtime/subsystems/auth/index.js +53 -542
  325. package/dist/runtime/subsystems/auth/index.js.map +1 -1
  326. package/dist/runtime/subsystems/auth/middleware/requester-context.js +9 -65
  327. package/dist/runtime/subsystems/auth/middleware/requester-context.js.map +1 -1
  328. package/dist/runtime/subsystems/auth/protocols/oauth-state-store.js +4 -9
  329. package/dist/runtime/subsystems/auth/protocols/oauth-state-store.js.map +1 -1
  330. package/dist/runtime/subsystems/auth/runtime/connection-broken.error.js +4 -15
  331. package/dist/runtime/subsystems/auth/runtime/connection-broken.error.js.map +1 -1
  332. package/dist/runtime/subsystems/auth/runtime/oauth2-refresh.strategy.js +5 -104
  333. package/dist/runtime/subsystems/auth/runtime/oauth2-refresh.strategy.js.map +1 -1
  334. package/dist/runtime/subsystems/auth/runtime/session-expired.error.js +5 -16
  335. package/dist/runtime/subsystems/auth/runtime/session-expired.error.js.map +1 -1
  336. package/dist/runtime/subsystems/auth/runtime/with-auth-retry.js +5 -29
  337. package/dist/runtime/subsystems/auth/runtime/with-auth-retry.js.map +1 -1
  338. package/dist/runtime/subsystems/bridge/assert-tenant-id.js +5 -18
  339. package/dist/runtime/subsystems/bridge/assert-tenant-id.js.map +1 -1
  340. package/dist/runtime/subsystems/bridge/bridge-delivery-handler.js +12 -184
  341. package/dist/runtime/subsystems/bridge/bridge-delivery-handler.js.map +1 -1
  342. package/dist/runtime/subsystems/bridge/bridge-delivery.drizzle-backend.js +10 -448
  343. package/dist/runtime/subsystems/bridge/bridge-delivery.drizzle-backend.js.map +1 -1
  344. package/dist/runtime/subsystems/bridge/bridge-delivery.memory-backend.js +5 -126
  345. package/dist/runtime/subsystems/bridge/bridge-delivery.memory-backend.js.map +1 -1
  346. package/dist/runtime/subsystems/bridge/bridge-delivery.schema.js +6 -308
  347. package/dist/runtime/subsystems/bridge/bridge-delivery.schema.js.map +1 -1
  348. package/dist/runtime/subsystems/bridge/bridge-errors.js +6 -35
  349. package/dist/runtime/subsystems/bridge/bridge-errors.js.map +1 -1
  350. package/dist/runtime/subsystems/bridge/bridge-outbox-drain-hook.js +14 -606
  351. package/dist/runtime/subsystems/bridge/bridge-outbox-drain-hook.js.map +1 -1
  352. package/dist/runtime/subsystems/bridge/bridge.module.js +35 -3476
  353. package/dist/runtime/subsystems/bridge/bridge.module.js.map +1 -1
  354. package/dist/runtime/subsystems/bridge/bridge.tokens.js +9 -7
  355. package/dist/runtime/subsystems/bridge/bridge.tokens.js.map +1 -1
  356. package/dist/runtime/subsystems/bridge/event-flow.service.js +11 -137
  357. package/dist/runtime/subsystems/bridge/event-flow.service.js.map +1 -1
  358. package/dist/runtime/subsystems/bridge/generated/registry.js +4 -2
  359. package/dist/runtime/subsystems/bridge/generated/registry.js.map +1 -1
  360. package/dist/runtime/subsystems/bridge/index.js +60 -3470
  361. package/dist/runtime/subsystems/bridge/index.js.map +1 -1
  362. package/dist/runtime/subsystems/bridge/reserved-pools.js +4 -6
  363. package/dist/runtime/subsystems/bridge/reserved-pools.js.map +1 -1
  364. package/dist/runtime/subsystems/cache/cache.drizzle-backend.js +10 -133
  365. package/dist/runtime/subsystems/cache/cache.drizzle-backend.js.map +1 -1
  366. package/dist/runtime/subsystems/cache/cache.memory-backend.js +6 -101
  367. package/dist/runtime/subsystems/cache/cache.memory-backend.js.map +1 -1
  368. package/dist/runtime/subsystems/cache/cache.module.js +10 -278
  369. package/dist/runtime/subsystems/cache/cache.module.js.map +1 -1
  370. package/dist/runtime/subsystems/cache/cache.schema.js +4 -14
  371. package/dist/runtime/subsystems/cache/cache.schema.js.map +1 -1
  372. package/dist/runtime/subsystems/cache/cache.tokens.js +6 -7
  373. package/dist/runtime/subsystems/cache/cache.tokens.js.map +1 -1
  374. package/dist/runtime/subsystems/cache/index.js +20 -278
  375. package/dist/runtime/subsystems/cache/index.js.map +1 -1
  376. package/dist/runtime/subsystems/events/domain-events.schema.js +3 -72
  377. package/dist/runtime/subsystems/events/domain-events.schema.js.map +1 -1
  378. package/dist/runtime/subsystems/events/event-bus.drizzle-backend.js +9 -413
  379. package/dist/runtime/subsystems/events/event-bus.drizzle-backend.js.map +1 -1
  380. package/dist/runtime/subsystems/events/event-bus.memory-backend.js +7 -235
  381. package/dist/runtime/subsystems/events/event-bus.memory-backend.js.map +1 -1
  382. package/dist/runtime/subsystems/events/event-bus.redis-backend.js +8 -20
  383. package/dist/runtime/subsystems/events/event-bus.redis-backend.js.map +1 -1
  384. package/dist/runtime/subsystems/events/event-keyset-cursor.js +8 -30
  385. package/dist/runtime/subsystems/events/event-keyset-cursor.js.map +1 -1
  386. package/dist/runtime/subsystems/events/event-read.protocol.js +2 -0
  387. package/dist/runtime/subsystems/events/event-read.protocol.js.map +1 -1
  388. package/dist/runtime/subsystems/events/events-errors.js +4 -11
  389. package/dist/runtime/subsystems/events/events-errors.js.map +1 -1
  390. package/dist/runtime/subsystems/events/events.module.js +15 -949
  391. package/dist/runtime/subsystems/events/events.module.js.map +1 -1
  392. package/dist/runtime/subsystems/events/events.tokens.js +10 -11
  393. package/dist/runtime/subsystems/events/events.tokens.js.map +1 -1
  394. package/dist/runtime/subsystems/events/generated/bus.js +9 -240
  395. package/dist/runtime/subsystems/events/generated/bus.js.map +1 -1
  396. package/dist/runtime/subsystems/events/generated/index.js +23 -240
  397. package/dist/runtime/subsystems/events/generated/index.js.map +1 -1
  398. package/dist/runtime/subsystems/events/generated/registry.js +5 -82
  399. package/dist/runtime/subsystems/events/generated/registry.js.map +1 -1
  400. package/dist/runtime/subsystems/events/generated/schemas.js +12 -52
  401. package/dist/runtime/subsystems/events/generated/schemas.js.map +1 -1
  402. package/dist/runtime/subsystems/events/generated/types.js +1 -0
  403. package/dist/runtime/subsystems/events/index.js +32 -949
  404. package/dist/runtime/subsystems/events/index.js.map +1 -1
  405. package/dist/runtime/subsystems/index.js +171 -5912
  406. package/dist/runtime/subsystems/index.js.map +1 -1
  407. package/dist/runtime/subsystems/integration/build-change-source.js +6 -178
  408. package/dist/runtime/subsystems/integration/build-change-source.js.map +1 -1
  409. package/dist/runtime/subsystems/integration/deep-equal.differ.js +4 -109
  410. package/dist/runtime/subsystems/integration/deep-equal.differ.js.map +1 -1
  411. package/dist/runtime/subsystems/integration/detection-config.schema.js +11 -78
  412. package/dist/runtime/subsystems/integration/detection-config.schema.js.map +1 -1
  413. package/dist/runtime/subsystems/integration/entity-change-source-registry.memory.js +5 -30
  414. package/dist/runtime/subsystems/integration/entity-change-source-registry.memory.js.map +1 -1
  415. package/dist/runtime/subsystems/integration/entity-change-source-registry.protocol.js +4 -9
  416. package/dist/runtime/subsystems/integration/entity-change-source-registry.protocol.js.map +1 -1
  417. package/dist/runtime/subsystems/integration/execute-integration.use-case.js +6 -239
  418. package/dist/runtime/subsystems/integration/execute-integration.use-case.js.map +1 -1
  419. package/dist/runtime/subsystems/integration/incremental-read.js +5 -144
  420. package/dist/runtime/subsystems/integration/incremental-read.js.map +1 -1
  421. package/dist/runtime/subsystems/integration/index.js +83 -1352
  422. package/dist/runtime/subsystems/integration/index.js.map +1 -1
  423. package/dist/runtime/subsystems/integration/integration-audit.schema.js +10 -155
  424. package/dist/runtime/subsystems/integration/integration-audit.schema.js.map +1 -1
  425. package/dist/runtime/subsystems/integration/integration-cursor-store.drizzle-backend.js +7 -270
  426. package/dist/runtime/subsystems/integration/integration-cursor-store.drizzle-backend.js.map +1 -1
  427. package/dist/runtime/subsystems/integration/integration-cursor-store.memory-backend.js +4 -65
  428. package/dist/runtime/subsystems/integration/integration-cursor-store.memory-backend.js.map +1 -1
  429. package/dist/runtime/subsystems/integration/integration-errors.js +5 -15
  430. package/dist/runtime/subsystems/integration/integration-errors.js.map +1 -1
  431. package/dist/runtime/subsystems/integration/integration-field-diff.protocol.js +5 -7
  432. package/dist/runtime/subsystems/integration/integration-field-diff.protocol.js.map +1 -1
  433. package/dist/runtime/subsystems/integration/integration-run-recorder.drizzle-backend.js +8 -303
  434. package/dist/runtime/subsystems/integration/integration-run-recorder.drizzle-backend.js.map +1 -1
  435. package/dist/runtime/subsystems/integration/integration-run-recorder.memory-backend.js +5 -125
  436. package/dist/runtime/subsystems/integration/integration-run-recorder.memory-backend.js.map +1 -1
  437. package/dist/runtime/subsystems/integration/integration.module.js +13 -700
  438. package/dist/runtime/subsystems/integration/integration.module.js.map +1 -1
  439. package/dist/runtime/subsystems/integration/integration.tokens.js +11 -9
  440. package/dist/runtime/subsystems/integration/integration.tokens.js.map +1 -1
  441. package/dist/runtime/subsystems/integration/loopback.middleware.js +4 -16
  442. package/dist/runtime/subsystems/integration/loopback.middleware.js.map +1 -1
  443. package/dist/runtime/subsystems/integration/poll-change-source.js +4 -89
  444. package/dist/runtime/subsystems/integration/poll-change-source.js.map +1 -1
  445. package/dist/runtime/subsystems/integration/webhook-change-source.js +4 -70
  446. package/dist/runtime/subsystems/integration/webhook-change-source.js.map +1 -1
  447. package/dist/runtime/subsystems/jobs/bullmq.config.js +9 -140
  448. package/dist/runtime/subsystems/jobs/bullmq.config.js.map +1 -1
  449. package/dist/runtime/subsystems/jobs/index.js +88 -2691
  450. package/dist/runtime/subsystems/jobs/index.js.map +1 -1
  451. package/dist/runtime/subsystems/jobs/job-handler.base.js +10 -49
  452. package/dist/runtime/subsystems/jobs/job-handler.base.js.map +1 -1
  453. package/dist/runtime/subsystems/jobs/job-orchestration.schema.js +13 -152
  454. package/dist/runtime/subsystems/jobs/job-orchestration.schema.js.map +1 -1
  455. package/dist/runtime/subsystems/jobs/job-orchestrator.bullmq-backend.js +36 -699
  456. package/dist/runtime/subsystems/jobs/job-orchestrator.bullmq-backend.js.map +1 -1
  457. package/dist/runtime/subsystems/jobs/job-orchestrator.drizzle-backend.js +10 -564
  458. package/dist/runtime/subsystems/jobs/job-orchestrator.drizzle-backend.js.map +1 -1
  459. package/dist/runtime/subsystems/jobs/job-orchestrator.memory-backend.js +10 -824
  460. package/dist/runtime/subsystems/jobs/job-orchestrator.memory-backend.js.map +1 -1
  461. package/dist/runtime/subsystems/jobs/job-run-keyset-cursor.js +9 -51
  462. package/dist/runtime/subsystems/jobs/job-run-keyset-cursor.js.map +1 -1
  463. package/dist/runtime/subsystems/jobs/job-run-service.drizzle-backend.js +9 -416
  464. package/dist/runtime/subsystems/jobs/job-run-service.drizzle-backend.js.map +1 -1
  465. package/dist/runtime/subsystems/jobs/job-run-service.memory-backend.js +9 -290
  466. package/dist/runtime/subsystems/jobs/job-run-service.memory-backend.js.map +1 -1
  467. package/dist/runtime/subsystems/jobs/job-step-service.drizzle-backend.js +5 -213
  468. package/dist/runtime/subsystems/jobs/job-step-service.drizzle-backend.js.map +1 -1
  469. package/dist/runtime/subsystems/jobs/job-step-service.memory-backend.js +5 -131
  470. package/dist/runtime/subsystems/jobs/job-step-service.memory-backend.js.map +1 -1
  471. package/dist/runtime/subsystems/jobs/job-worker.bullmq-backend.js +9 -175
  472. package/dist/runtime/subsystems/jobs/job-worker.bullmq-backend.js.map +1 -1
  473. package/dist/runtime/subsystems/jobs/job-worker.js +14 -613
  474. package/dist/runtime/subsystems/jobs/job-worker.js.map +1 -1
  475. package/dist/runtime/subsystems/jobs/job-worker.module.js +23 -2647
  476. package/dist/runtime/subsystems/jobs/job-worker.module.js.map +1 -1
  477. package/dist/runtime/subsystems/jobs/jobs-domain.module.js +19 -1897
  478. package/dist/runtime/subsystems/jobs/jobs-domain.module.js.map +1 -1
  479. package/dist/runtime/subsystems/jobs/jobs-domain.tokens.js +8 -9
  480. package/dist/runtime/subsystems/jobs/jobs-domain.tokens.js.map +1 -1
  481. package/dist/runtime/subsystems/jobs/jobs-errors.js +10 -78
  482. package/dist/runtime/subsystems/jobs/jobs-errors.js.map +1 -1
  483. package/dist/runtime/subsystems/jobs/memory-job-store.js +4 -15
  484. package/dist/runtime/subsystems/jobs/memory-job-store.js.map +1 -1
  485. package/dist/runtime/subsystems/jobs/pool-config.loader.js +9 -124
  486. package/dist/runtime/subsystems/jobs/pool-config.loader.js.map +1 -1
  487. package/dist/runtime/subsystems/observability/index.js +21 -310
  488. package/dist/runtime/subsystems/observability/index.js.map +1 -1
  489. package/dist/runtime/subsystems/observability/observability-errors.js +4 -9
  490. package/dist/runtime/subsystems/observability/observability-errors.js.map +1 -1
  491. package/dist/runtime/subsystems/observability/observability.module.js +11 -300
  492. package/dist/runtime/subsystems/observability/observability.module.js.map +1 -1
  493. package/dist/runtime/subsystems/observability/observability.service.js +9 -197
  494. package/dist/runtime/subsystems/observability/observability.service.js.map +1 -1
  495. package/dist/runtime/subsystems/observability/observability.tokens.js +5 -3
  496. package/dist/runtime/subsystems/observability/observability.tokens.js.map +1 -1
  497. package/dist/runtime/subsystems/observability/reporters/bridge-metrics.reporter.js +4 -84
  498. package/dist/runtime/subsystems/observability/reporters/bridge-metrics.reporter.js.map +1 -1
  499. package/dist/runtime/subsystems/observability/reporters/index.js +5 -84
  500. package/dist/runtime/subsystems/observability/reporters/index.js.map +1 -1
  501. package/dist/runtime/subsystems/storage/index.js +15 -200
  502. package/dist/runtime/subsystems/storage/index.js.map +1 -1
  503. package/dist/runtime/subsystems/storage/storage.local-backend.js +4 -103
  504. package/dist/runtime/subsystems/storage/storage.local-backend.js.map +1 -1
  505. package/dist/runtime/subsystems/storage/storage.memory-backend.js +5 -68
  506. package/dist/runtime/subsystems/storage/storage.memory-backend.js.map +1 -1
  507. package/dist/runtime/subsystems/storage/storage.module.js +8 -200
  508. package/dist/runtime/subsystems/storage/storage.module.js.map +1 -1
  509. package/dist/runtime/subsystems/storage/storage.tokens.js +5 -6
  510. package/dist/runtime/subsystems/storage/storage.tokens.js.map +1 -1
  511. package/dist/runtime/subsystems/storage/storage.utils.js +4 -14
  512. package/dist/runtime/subsystems/storage/storage.utils.js.map +1 -1
  513. package/dist/runtime/subsystems/token-key.js +5 -3
  514. package/dist/runtime/subsystems/token-key.js.map +1 -1
  515. package/dist/src/cli/index.js +637 -5454
  516. package/dist/src/cli/index.js.map +1 -1
  517. package/dist/src/index.js +68 -4170
  518. package/dist/src/index.js.map +1 -1
  519. package/package.json +1 -1
  520. package/runtime/subsystems/bridge/bridge-outbox-drain-hook.ts +44 -21
  521. package/runtime/subsystems/jobs/job-worker.ts +17 -11
@@ -1,610 +1,18 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __decorateClass = (decorators, target, key, kind) => {
4
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
5
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
6
- if (decorator = decorators[i])
7
- result = (kind ? decorator(target, key, result) : decorator(result)) || result;
8
- if (kind && result) __defProp(target, key, result);
9
- return result;
10
- };
11
- var __decorateParam = (index4, decorator) => (target, key) => decorator(target, key, index4);
12
-
13
- // runtime/subsystems/bridge/bridge-outbox-drain-hook.ts
14
- import { Inject as Inject2, Injectable as Injectable2, Logger as Logger2, Optional as Optional2 } from "@nestjs/common";
15
- import { randomUUID } from "crypto";
16
-
17
- // runtime/subsystems/bridge/bridge-delivery.schema.ts
18
- import {
19
- index as index3,
20
- jsonb as jsonb3,
21
- pgEnum as pgEnum2,
22
- pgTable as pgTable3,
23
- text as text3,
24
- timestamp as timestamp3,
25
- unique,
26
- uuid as uuid3
27
- } from "drizzle-orm/pg-core";
28
- import { sql as sql3 } from "drizzle-orm";
29
-
30
- // runtime/subsystems/events/domain-events.schema.ts
31
- import {
32
- check,
33
- index,
34
- jsonb,
35
- pgTable,
36
- text,
37
- timestamp,
38
- uuid
39
- } from "drizzle-orm/pg-core";
40
- import { sql } from "drizzle-orm";
41
- var domainEvents = pgTable(
42
- "domain_events",
43
- {
44
- id: uuid("id").primaryKey(),
45
- type: text("type").notNull(),
46
- aggregateId: text("aggregate_id").notNull(),
47
- aggregateType: text("aggregate_type").notNull(),
48
- payload: jsonb("payload").notNull().$type(),
49
- occurredAt: timestamp("occurred_at", { withTimezone: true }).notNull(),
50
- processedAt: timestamp("processed_at", { withTimezone: true }),
51
- /** Lifecycle status: pending | processed | failed */
52
- status: text("status").notNull().default("pending"),
53
- /** Error message from the last failed dispatch attempt. */
54
- error: text("error"),
55
- metadata: jsonb("metadata").$type(),
56
- /** Routing pool (e.g. `events_inbound`, `events_change`, `events_outbound`). Populated by DrizzleEventBus.publish() in EVT-4. NULL when `tier='audit'`. */
57
- pool: text("pool"),
58
- /** Routing direction: `inbound` | `change` | `outbound`. Populated by DrizzleEventBus.publish() in EVT-4. NULL when `tier='audit'`. */
59
- direction: text("direction"),
60
- /**
61
- * Event tier: `'domain'` (default) or `'audit'`. Audit-tier rows are
62
- * observability-only and have null `pool`/`direction` by construction —
63
- * enforced by the `domain_events_tier_routing_check` CHECK constraint
64
- * declared below. (AUDIT-1)
65
- */
66
- tier: text("tier").notNull().default("domain"),
67
- // conditional: emitted only when events.multi_tenant: true
68
- tenantId: text("tenant_id")
69
- },
70
- (t) => ({
71
- /** Polling drain filter (existing — promoted from comment to declaration in EVT-1). */
72
- idxDomainEventsStatusOccurredAt: index("idx_domain_events_status_occurred_at").on(
73
- t.status,
74
- t.occurredAt
75
- ),
76
- /** Event replay per aggregate (existing — promoted from comment to declaration in EVT-1). */
77
- idxDomainEventsAggregate: index("idx_domain_events_aggregate").on(
78
- t.aggregateId,
79
- t.aggregateType
80
- ),
81
- /** Per-pool drain filter (EVT-1). Enables DrizzleEventBus to drain a single pool without scanning all events. */
82
- idxDomainEventsPoolStatusOccurredAt: index(
83
- "idx_domain_events_pool_status_occurred_at"
84
- ).on(t.pool, t.status, t.occurredAt),
85
- /** Per-tier filter (AUDIT-1). Backs the observability viewer's tier toggle. */
86
- idxDomainEventsTierStatusOccurredAt: index(
87
- "idx_domain_events_tier_status_occurred_at"
88
- ).on(t.tier, t.status, t.occurredAt),
89
- /**
90
- * Tier ↔ routing-fields invariant (AUDIT-1):
91
- * - `tier` is one of `'domain' | 'audit'`.
92
- * - `tier='audit'` ⇔ `pool IS NULL AND direction IS NULL`.
93
- * - `tier='domain'` ⇒ `pool` and `direction` are populated (the
94
- * DrizzleEventBus inserts always supply them; the bus stamps them
95
- * in AUDIT-3).
96
- */
97
- tierRoutingCheck: check(
98
- "domain_events_tier_routing_check",
99
- sql`${t.tier} in ('domain','audit') AND ((${t.tier} = 'audit') = (${t.pool} is null and ${t.direction} is null))`
100
- )
101
- })
102
- );
103
-
104
- // runtime/subsystems/jobs/job-orchestration.schema.ts
105
1
  import {
106
- pgEnum,
107
- pgTable as pgTable2,
108
- uuid as uuid2,
109
- text as text2,
110
- jsonb as jsonb2,
111
- integer,
112
- timestamp as timestamp2,
113
- index as index2,
114
- uniqueIndex
115
- } from "drizzle-orm/pg-core";
116
- import { sql as sql2 } from "drizzle-orm";
117
- var jobRunStatusEnum = pgEnum("job_run_status", [
118
- "pending",
119
- "running",
120
- "waiting",
121
- "completed",
122
- "failed",
123
- "timed_out",
124
- "canceled"
125
- ]);
126
- var jobStepKindEnum = pgEnum("job_step_kind", ["task"]);
127
- var jobStepStatusEnum = pgEnum("job_step_status", [
128
- "pending",
129
- "running",
130
- "completed",
131
- "failed",
132
- "skipped"
133
- ]);
134
- var collisionModeEnum = pgEnum("job_collision_mode", [
135
- "queue",
136
- "reject",
137
- "replace"
138
- ]);
139
- var replayFromEnum = pgEnum("job_replay_from", [
140
- "scratch",
141
- "last_step",
142
- "last_checkpoint"
143
- ]);
144
- var parentClosePolicyEnum = pgEnum("job_parent_close_policy", [
145
- "terminate",
146
- "cancel",
147
- "abandon"
148
- ]);
149
- var waitKindEnum = pgEnum("job_wait_kind", ["signal"]);
150
- var triggerSourceEnum = pgEnum("job_trigger_source", [
151
- "manual",
152
- "schedule",
153
- "event",
154
- "parent"
155
- ]);
156
- var jobs = pgTable2("job", {
157
- type: text2("type").primaryKey(),
158
- version: integer("version").notNull().default(1),
159
- pool: text2("pool").notNull(),
160
- scopeEntityType: text2("scope_entity_type"),
161
- retryPolicy: jsonb2("retry_policy").notNull().$type(),
162
- timeoutMs: integer("timeout_ms"),
163
- concurrencyKeyTemplate: text2("concurrency_key_template"),
164
- collisionMode: collisionModeEnum("collision_mode").notNull().default("queue"),
165
- dedupeKeyTemplate: text2("dedupe_key_template"),
166
- dedupeWindowMs: integer("dedupe_window_ms"),
167
- priorityDefault: integer("priority_default").notNull().default(0),
168
- replayFrom: replayFromEnum("replay_from").notNull().default("last_checkpoint"),
169
- createdAt: timestamp2("created_at", { withTimezone: true }).notNull().defaultNow(),
170
- updatedAt: timestamp2("updated_at", { withTimezone: true }).notNull().defaultNow()
171
- });
172
- var jobRuns = pgTable2(
173
- "job_run",
174
- {
175
- id: uuid2("id").primaryKey().defaultRandom(),
176
- jobType: text2("job_type").notNull().references(() => jobs.type),
177
- jobVersion: integer("job_version").notNull(),
178
- parentRunId: uuid2("parent_run_id").references(() => jobRuns.id),
179
- /**
180
- * Service generates `id` client-side via randomUUID() and sets
181
- * root_run_id = id for root runs (single INSERT, no self-FK race).
182
- */
183
- rootRunId: uuid2("root_run_id").notNull(),
184
- parentClosePolicy: parentClosePolicyEnum("parent_close_policy").notNull().default("terminate"),
185
- scopeEntityType: text2("scope_entity_type"),
186
- scopeEntityId: text2("scope_entity_id"),
187
- tenantId: text2("tenant_id"),
188
- tags: jsonb2("tags").notNull().default({}).$type(),
189
- pool: text2("pool").notNull(),
190
- priority: integer("priority").notNull().default(0),
191
- concurrencyKey: text2("concurrency_key"),
192
- dedupeKey: text2("dedupe_key"),
193
- status: jobRunStatusEnum("status").notNull().default("pending"),
194
- input: jsonb2("input").notNull().$type(),
195
- output: jsonb2("output").$type(),
196
- error: jsonb2("error").$type(),
197
- triggerSource: triggerSourceEnum("trigger_source").notNull(),
198
- triggerRef: text2("trigger_ref"),
199
- runAt: timestamp2("run_at", { withTimezone: true }).notNull().defaultNow(),
200
- startedAt: timestamp2("started_at", { withTimezone: true }),
201
- finishedAt: timestamp2("finished_at", { withTimezone: true }),
202
- claimedAt: timestamp2("claimed_at", { withTimezone: true }),
203
- attempts: integer("attempts").notNull().default(0),
204
- // Phase 3 placeholder — see ADR-025
205
- waitKind: waitKindEnum("wait_kind"),
206
- // Phase 3 placeholder — see ADR-025
207
- resumeToken: text2("resume_token"),
208
- // Phase 3 placeholder — see ADR-025
209
- waitDeadline: timestamp2("wait_deadline", { withTimezone: true }),
210
- createdAt: timestamp2("created_at", { withTimezone: true }).notNull().defaultNow(),
211
- updatedAt: timestamp2("updated_at", { withTimezone: true }).notNull().defaultNow()
212
- },
213
- (t) => ({
214
- /** Claim query: ORDER BY priority DESC, run_at ASC. */
215
- idxJobRunClaim: index2("idx_job_run_claim").on(t.status, t.pool, t.runAt),
216
- /** Tree traversal / cascade cancel. */
217
- idxJobRunRoot: index2("idx_job_run_root").on(t.rootRunId),
218
- /** listForScope query. */
219
- idxJobRunScope: index2("idx_job_run_scope").on(t.scopeEntityType, t.scopeEntityId),
220
- /** Idempotency collapse — partial index. */
221
- idxJobRunDedupe: index2("idx_job_run_dedupe").on(t.jobType, t.dedupeKey).where(sql2`${t.dedupeKey} IS NOT NULL`),
222
- /** Collision check — partial index. */
223
- idxJobRunConcurrency: index2("idx_job_run_concurrency").on(t.concurrencyKey).where(
224
- sql2`${t.concurrencyKey} IS NOT NULL AND ${t.status} IN ('pending','running')`
225
- )
226
- })
227
- );
228
- var jobSteps = pgTable2(
229
- "job_step",
230
- {
231
- id: uuid2("id").primaryKey().defaultRandom(),
232
- jobRunId: uuid2("job_run_id").notNull().references(() => jobRuns.id),
233
- stepId: text2("step_id").notNull(),
234
- kind: jobStepKindEnum("kind").notNull().default("task"),
235
- /**
236
- * Monotonic within run. integer (max ~2B per run) is sufficient —
237
- * downgraded from ADR-022's bigint; revisit only if a single run
238
- * ever exceeds 2 billion steps.
239
- */
240
- seq: integer("seq").notNull(),
241
- status: jobStepStatusEnum("status").notNull().default("pending"),
242
- input: jsonb2("input").$type(),
243
- /** Memoised on success for replay. */
244
- output: jsonb2("output").$type(),
245
- error: jsonb2("error").$type(),
246
- attempts: integer("attempts").notNull().default(0),
247
- startedAt: timestamp2("started_at", { withTimezone: true }),
248
- finishedAt: timestamp2("finished_at", { withTimezone: true })
249
- },
250
- (t) => ({
251
- /** No duplicate step IDs per run. */
252
- idxJobStepRunStep: uniqueIndex("idx_job_step_run_step").on(t.jobRunId, t.stepId),
253
- /** Ordered timeline reads. */
254
- idxJobStepTimeline: index2("idx_job_step_timeline").on(t.jobRunId, t.seq)
255
- })
256
- );
257
-
258
- // runtime/subsystems/bridge/bridge-delivery.schema.ts
259
- var bridgeDeliveryStatusEnum = pgEnum2("bridge_delivery_status", [
260
- "pending",
261
- "delivered",
262
- "skipped",
263
- "failed"
264
- ]);
265
- var bridgeDelivery = pgTable3(
266
- "bridge_delivery",
267
- {
268
- id: uuid3("id").primaryKey().defaultRandom(),
269
- /** FK to the source event in the outbox. */
270
- eventId: uuid3("event_id").notNull().references(() => domainEvents.id),
271
- /**
272
- * Stable codegen-emitted identifier for the (job, trigger) pair, of the
273
- * form `<job_type>#<triggerIndex>` (BRIDGE-6). Forms the second half of
274
- * the UNIQUE idempotency key.
275
- */
276
- triggerId: text3("trigger_id").notNull(),
277
- /**
278
- * Wrapper `job_run.id` (the framework `@framework/bridge_delivery` run
279
- * that drove this delivery). Nullable: the facade-eager path
280
- * (`publishAndStart` Case B) pre-writes a delivered row with no wrapper.
281
- */
282
- wrapperRunId: uuid3("wrapper_run_id").references(() => jobRuns.id),
283
- /**
284
- * Spawned user `job_run.id`. Null until status is `delivered`; remains
285
- * null for `skipped` and `failed` deliveries.
286
- */
287
- userRunId: uuid3("user_run_id").references(() => jobRuns.id),
288
- status: bridgeDeliveryStatusEnum("status").notNull().default("pending"),
289
- /** Populated when status=`skipped` (e.g. `'when_returned_false'`, `'trigger_unregistered'`). */
290
- skipReason: text3("skip_reason"),
291
- /** Populated when status=`failed`. Mirrors `job_run.error` shape. */
292
- error: jsonb3("error").$type(),
293
- /**
294
- * Emitted unconditionally and nullable (JOB-8 / SYNC-6 precedent).
295
- * Enforcement gated on `BRIDGE_MULTI_TENANT` at the service layer
296
- * (BRIDGE-8); no DB constraint.
297
- */
298
- tenantId: text3("tenant_id"),
299
- attemptedAt: timestamp3("attempted_at", { withTimezone: true }).notNull().defaultNow(),
300
- deliveredAt: timestamp3("delivered_at", { withTimezone: true })
301
- },
302
- (t) => ({
303
- /**
304
- * Idempotency ledger. Outbox replays and facade-vs-drain collisions both
305
- * dedup through this constraint.
306
- */
307
- uqBridgeDeliveryEventTrigger: unique("uq_bridge_delivery_event_trigger").on(
308
- t.eventId,
309
- t.triggerId
310
- ),
311
- /** Lookup all deliveries for an event (fanout report, debugging). */
312
- idxBridgeDeliveryEvent: index3("idx_bridge_delivery_event").on(t.eventId),
313
- /**
314
- * Ops dashboard filter — only the actionable states. Partial index keeps
315
- * it small at scale (the bulk of rows will be `delivered`).
316
- */
317
- idxBridgeDeliveryStatus: index3("idx_bridge_delivery_status").on(t.status).where(sql3`${t.status} IN ('pending','failed')`),
318
- /**
319
- * Reverse lookup from a spawned user run back to its delivery row.
320
- * Partial — most rows in the bridge ledger but only successful
321
- * deliveries have a `user_run_id`.
322
- */
323
- idxBridgeDeliveryUserRun: index3("idx_bridge_delivery_user_run").on(t.userRunId).where(sql3`${t.userRunId} IS NOT NULL`)
324
- })
325
- );
326
-
327
- // runtime/subsystems/bridge/bridge.tokens.ts
328
- var BRIDGE_DELIVERY_REPO = "BRIDGE_DELIVERY_REPO";
329
- var BRIDGE_MULTI_TENANT = "BRIDGE_MULTI_TENANT";
330
- var BRIDGE_REGISTRY = "BRIDGE_REGISTRY";
331
-
332
- // runtime/subsystems/bridge/bridge-delivery-handler.ts
333
- import { Inject, Injectable, Logger, Optional } from "@nestjs/common";
334
-
335
- // runtime/subsystems/token-key.ts
336
- var PKG = "@pattern-stack/codegen";
337
- var tokenKey = (area, name) => `${PKG}.${area}.${name}`;
338
-
339
- // runtime/subsystems/jobs/jobs-domain.tokens.ts
340
- var JOB_ORCHESTRATOR = Symbol.for(tokenKey("jobs", "orchestrator"));
341
- var JOB_RUN_SERVICE = Symbol.for(tokenKey("jobs", "run-service"));
342
- var JOB_STEP_SERVICE = Symbol.for(tokenKey("jobs", "step-service"));
343
- var JOBS_MULTI_TENANT = Symbol.for(tokenKey("jobs", "multi-tenant"));
344
-
345
- // runtime/subsystems/jobs/job-handler.base.ts
346
- var JobHandlerBase = class {
347
- };
348
- var JOB_HANDLER_REGISTRY = /* @__PURE__ */ new Map();
349
- var JOB_HANDLER_METADATA_KEY = Symbol.for(tokenKey("jobs", "handler-metadata"));
350
- function JobHandler(type, meta) {
351
- return (target) => {
352
- if (JOB_HANDLER_REGISTRY.has(type)) {
353
- const env = process.env.NODE_ENV;
354
- if (env === "production") {
355
- throw new Error(
356
- `[JobHandler] Duplicate registration for job type '${type}'. Each @JobHandler must declare a unique type.`
357
- );
358
- }
359
- if (env !== "test") {
360
- console.warn(
361
- `[JobHandler] Duplicate registration for job type '${type}'. Overwriting previous handler \u2014 this is almost certainly a bug.`
362
- );
363
- }
364
- }
365
- Reflect.defineMetadata(JOB_HANDLER_METADATA_KEY, { type, meta }, target);
366
- JOB_HANDLER_REGISTRY.set(type, {
367
- type,
368
- meta,
369
- handlerClass: target
370
- });
371
- };
372
- }
373
- var HandlerRegistry;
374
- ((HandlerRegistry2) => {
375
- function getAll() {
376
- return Array.from(JOB_HANDLER_REGISTRY.values());
377
- }
378
- HandlerRegistry2.getAll = getAll;
379
- function get(type) {
380
- return JOB_HANDLER_REGISTRY.get(type);
381
- }
382
- HandlerRegistry2.get = get;
383
- })(HandlerRegistry || (HandlerRegistry = {}));
384
-
385
- // runtime/subsystems/events/events.tokens.ts
386
- var EVENT_BUS = "EVENT_BUS";
387
- var REDIS_URL = Symbol.for(tokenKey("events", "redis-url"));
388
-
389
- // runtime/subsystems/bridge/bridge-errors.ts
390
- var MissingTenantIdError = class extends Error {
391
- constructor(callSite) {
392
- super(
393
- `MissingTenantIdError: BridgeModule was configured with multiTenant=true but ${callSite} was called without tenantId (undefined). Pass an explicit tenantId, or pass null for cross-tenant work.`
394
- );
395
- this.callSite = callSite;
396
- }
397
- callSite;
398
- name = "MissingTenantIdError";
399
- };
400
-
401
- // runtime/subsystems/bridge/assert-tenant-id.ts
402
- function assertTenantId(site, multiTenant, tenantId) {
403
- if (multiTenant && tenantId === void 0) {
404
- throw new MissingTenantIdError(site);
405
- }
406
- }
407
-
408
- // runtime/subsystems/bridge/bridge-delivery-handler.ts
409
- var BRIDGE_DELIVERY_JOB_TYPE = "@framework/bridge_delivery";
410
- var SPAWN_USER_RUN_STEP = "spawn_user_run";
411
- var BridgeDeliveryHandler = class extends JobHandlerBase {
412
- constructor(repo, orchestrator, events, registry, multiTenant = false) {
413
- super();
414
- this.repo = repo;
415
- this.orchestrator = orchestrator;
416
- this.events = events;
417
- this.registry = registry;
418
- this.multiTenant = multiTenant;
419
- }
420
- repo;
421
- orchestrator;
422
- events;
423
- registry;
424
- multiTenant;
425
- classLogger = new Logger(BridgeDeliveryHandler.name);
426
- async run(ctx) {
427
- const { deliveryId } = ctx.input;
428
- const delivery = await this.repo.findDeliveryById(deliveryId);
429
- if (!delivery) {
430
- this.classLogger.warn(
431
- `bridge_delivery row '${deliveryId}' not found; wrapper completes without spawning a user job.`
432
- );
433
- return { skipped: true, reason: "delivery_row_missing" };
434
- }
435
- assertTenantId(
436
- "BridgeDeliveryHandler.run",
437
- this.multiTenant,
438
- delivery.tenantId
439
- );
440
- const event = await this.events.findById(delivery.eventId);
441
- if (!event) {
442
- this.classLogger.warn(
443
- `domain_events row '${delivery.eventId}' missing for delivery '${deliveryId}'; marking skipped.`
444
- );
445
- await this.repo.markSkipped(delivery.id, "event_row_missing");
446
- return { skipped: true, reason: "event_row_missing" };
447
- }
448
- const entry = this.findRegistryEntry(event.type, delivery.triggerId);
449
- if (!entry) {
450
- await this.repo.markSkipped(delivery.id, "trigger_unregistered");
451
- return { skipped: true, reason: "trigger_unregistered" };
452
- }
453
- if (entry.when && !entry.when(event)) {
454
- await this.repo.markSkipped(delivery.id, "predicate_false");
455
- return { skipped: true, reason: "predicate_false" };
456
- }
457
- const input = entry.map(event);
458
- const { runId } = await ctx.step(
459
- SPAWN_USER_RUN_STEP,
460
- async () => {
461
- const run = await this.orchestrator.start(entry.jobType, input, {
462
- parentRunId: ctx.run.id,
463
- triggerSource: "event",
464
- triggerRef: delivery.eventId,
465
- tenantId: delivery.tenantId
466
- });
467
- return { runId: run.id };
468
- }
469
- );
470
- await this.repo.markDelivered(delivery.id, runId);
471
- return { runId };
472
- }
473
- /**
474
- * Locate the registry entry for `(eventType, triggerId)`. Linear scan
475
- * over the per-event-type array — N is the number of triggers declared
476
- * for one event, typically 1–5; the table is not big enough to warrant
477
- * a secondary index.
478
- */
479
- findRegistryEntry(eventType, triggerId) {
480
- const candidates = this.registry[eventType] ?? void 0;
481
- if (!candidates) return void 0;
482
- return candidates.find((c) => c.triggerId === triggerId);
483
- }
484
- };
485
- BridgeDeliveryHandler = __decorateClass([
486
- Injectable(),
487
- JobHandler(BRIDGE_DELIVERY_JOB_TYPE, {
488
- pool: "events_change",
489
- retry: { attempts: 3, backoff: "exponential", baseMs: 250 },
490
- replayFrom: "last_step"
491
- }),
492
- __decorateParam(0, Inject(BRIDGE_DELIVERY_REPO)),
493
- __decorateParam(1, Inject(JOB_ORCHESTRATOR)),
494
- __decorateParam(2, Inject(EVENT_BUS)),
495
- __decorateParam(3, Inject(BRIDGE_REGISTRY)),
496
- __decorateParam(4, Optional()),
497
- __decorateParam(4, Inject(BRIDGE_MULTI_TENANT))
498
- ], BridgeDeliveryHandler);
499
-
500
- // runtime/subsystems/bridge/bridge-outbox-drain-hook.ts
501
- var POOL_BY_DIRECTION = {
502
- inbound: "events_inbound",
503
- change: "events_change",
504
- outbound: "events_outbound"
505
- };
506
- var BridgeOutboxDrainHook = class {
507
- constructor(registry = {}) {
508
- this.registry = registry;
509
- }
510
- registry;
511
- logger = new Logger2(BridgeOutboxDrainHook.name);
512
- warnedNullDirection = false;
513
- warnedAuditTypes = /* @__PURE__ */ new Set();
514
- async processEvent(event, tx) {
515
- if (event.metadata?.["tier"] === "audit") {
516
- this.warnAuditBlockedOnce(event);
517
- return {
518
- delivered: 0,
519
- dedupSkips: 0,
520
- triggerCount: 0,
521
- auditBlocked: 1
522
- };
523
- }
524
- const triggers = this.lookupTriggers(event.type);
525
- if (triggers.length === 0) {
526
- return {
527
- delivered: 0,
528
- dedupSkips: 0,
529
- triggerCount: 0,
530
- auditBlocked: 0
531
- };
532
- }
533
- const direction = event.metadata?.["direction"] ?? null;
534
- const tenantId = event.metadata?.["tenantId"] ?? null;
535
- const wrapperPool = direction ? POOL_BY_DIRECTION[direction] : void 0;
536
- if (!wrapperPool) {
537
- if (!this.warnedNullDirection) {
538
- this.warnedNullDirection = true;
539
- this.logger.warn(
540
- `Skipping bridge fanout for events with null/unknown direction. event.id=${event.id} event.type=${event.type} direction=${String(direction)}. The wrapper pool is derived from direction (events_<direction>); publishers must use TypedEventBus.publish() so direction is stamped on the outbox row.`
541
- );
542
- }
543
- return {
544
- delivered: 0,
545
- dedupSkips: 0,
546
- triggerCount: triggers.length,
547
- auditBlocked: 0
548
- };
549
- }
550
- let delivered = 0;
551
- let dedupSkips = 0;
552
- const client = tx;
553
- for (const trigger of triggers) {
554
- const deliveryId = randomUUID();
555
- const wrapperRunId = randomUUID();
556
- const inserted = await tx.insert(bridgeDelivery).values({
557
- id: deliveryId,
558
- eventId: event.id,
559
- triggerId: trigger.triggerId,
560
- wrapperRunId,
561
- status: "pending",
562
- tenantId
563
- }).onConflictDoNothing({
564
- target: [bridgeDelivery.eventId, bridgeDelivery.triggerId]
565
- }).returning({ id: bridgeDelivery.id });
566
- if (inserted.length === 0) {
567
- dedupSkips++;
568
- continue;
569
- }
570
- await tx.insert(jobRuns).values({
571
- id: wrapperRunId,
572
- jobType: BRIDGE_DELIVERY_JOB_TYPE,
573
- jobVersion: 1,
574
- rootRunId: wrapperRunId,
575
- pool: wrapperPool,
576
- status: "pending",
577
- input: { deliveryId },
578
- triggerSource: "event",
579
- triggerRef: event.id,
580
- tenantId
581
- });
582
- delivered++;
583
- }
584
- return {
585
- delivered,
586
- dedupSkips,
587
- triggerCount: triggers.length,
588
- auditBlocked: 0
589
- };
590
- }
591
- warnAuditBlockedOnce(event) {
592
- if (this.warnedAuditTypes.has(event.type)) return;
593
- this.warnedAuditTypes.add(event.type);
594
- this.logger.warn(
595
- `Bridge guard blocked audit-tier event '${event.type}' (event.id=${event.id}). Registry says this event is not bridge-eligible; a bridge_trigger row exists out-of-band. Investigate registry/runtime drift.`
596
- );
597
- }
598
- lookupTriggers(eventType) {
599
- const candidates = this.registry[eventType];
600
- return candidates ?? [];
601
- }
602
- };
603
- BridgeOutboxDrainHook = __decorateClass([
604
- Injectable2(),
605
- __decorateParam(0, Optional2()),
606
- __decorateParam(0, Inject2(BRIDGE_REGISTRY))
607
- ], BridgeOutboxDrainHook);
2
+ BridgeOutboxDrainHook
3
+ } from "../../../chunk-L7BNNRGI.js";
4
+ import "../../../chunk-YTN6BKWA.js";
5
+ import "../../../chunk-6DWFJNIK.js";
6
+ import "../../../chunk-2TVVBC53.js";
7
+ import "../../../chunk-NXXDZ6ZF.js";
8
+ import "../../../chunk-CO6LUM72.js";
9
+ import "../../../chunk-BIO6F7YI.js";
10
+ import "../../../chunk-H5NH7KPE.js";
11
+ import "../../../chunk-4LH67P4U.js";
12
+ import "../../../chunk-OKXZ63IA.js";
13
+ import "../../../chunk-OFRRBC7M.js";
14
+ import "../../../chunk-GYGNEQSC.js";
15
+ import "../../../chunk-2E224ZSN.js";
608
16
  export {
609
17
  BridgeOutboxDrainHook
610
18
  };