@pattern-stack/codegen 0.15.0 → 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 (562) hide show
  1. package/CHANGELOG.md +111 -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/{job-orchestrator.protocol-CARhMLCO.d.ts → job-orchestrator.protocol-DubMVbm9.d.ts} +1 -1
  249. package/dist/runtime/analytics/index.js +8 -41
  250. package/dist/runtime/analytics/index.js.map +1 -1
  251. package/dist/runtime/analytics/types.js +8 -41
  252. package/dist/runtime/analytics/types.js.map +1 -1
  253. package/dist/runtime/base-classes/activity-entity-repository.js +6 -312
  254. package/dist/runtime/base-classes/activity-entity-repository.js.map +1 -1
  255. package/dist/runtime/base-classes/activity-entity-service.js +6 -212
  256. package/dist/runtime/base-classes/activity-entity-service.js.map +1 -1
  257. package/dist/runtime/base-classes/base-read-use-cases.js +5 -27
  258. package/dist/runtime/base-classes/base-read-use-cases.js.map +1 -1
  259. package/dist/runtime/base-classes/base-repository.js +5 -277
  260. package/dist/runtime/base-classes/base-repository.js.map +1 -1
  261. package/dist/runtime/base-classes/base-service.js +5 -184
  262. package/dist/runtime/base-classes/base-service.js.map +1 -1
  263. package/dist/runtime/base-classes/index.js +59 -1076
  264. package/dist/runtime/base-classes/index.js.map +1 -1
  265. package/dist/runtime/base-classes/integrated-entity-repository.js +6 -486
  266. package/dist/runtime/base-classes/integrated-entity-repository.js.map +1 -1
  267. package/dist/runtime/base-classes/integrated-entity-service.js +6 -213
  268. package/dist/runtime/base-classes/integrated-entity-service.js.map +1 -1
  269. package/dist/runtime/base-classes/junction-integration-repository.js +8 -448
  270. package/dist/runtime/base-classes/junction-integration-repository.js.map +1 -1
  271. package/dist/runtime/base-classes/knowledge-entity-repository.js +6 -283
  272. package/dist/runtime/base-classes/knowledge-entity-repository.js.map +1 -1
  273. package/dist/runtime/base-classes/knowledge-entity-service.js +6 -190
  274. package/dist/runtime/base-classes/knowledge-entity-service.js.map +1 -1
  275. package/dist/runtime/base-classes/lifecycle-events.js +8 -70
  276. package/dist/runtime/base-classes/lifecycle-events.js.map +1 -1
  277. package/dist/runtime/base-classes/metadata-entity-repository.js +6 -330
  278. package/dist/runtime/base-classes/metadata-entity-repository.js.map +1 -1
  279. package/dist/runtime/base-classes/metadata-entity-service.js +6 -212
  280. package/dist/runtime/base-classes/metadata-entity-service.js.map +1 -1
  281. package/dist/runtime/base-classes/tenant-context.js +10 -36
  282. package/dist/runtime/base-classes/tenant-context.js.map +1 -1
  283. package/dist/runtime/base-classes/with-analytics.js +4 -7
  284. package/dist/runtime/base-classes/with-analytics.js.map +1 -1
  285. package/dist/runtime/constants/tokens.js +5 -3
  286. package/dist/runtime/constants/tokens.js.map +1 -1
  287. package/dist/runtime/eav-helpers.js +2 -0
  288. package/dist/runtime/eav-helpers.js.map +1 -1
  289. package/dist/runtime/pipes/zod-validation.pipe.js +3 -10
  290. package/dist/runtime/pipes/zod-validation.pipe.js.map +1 -1
  291. package/dist/runtime/shared/openapi/error-response.dto.js +5 -8
  292. package/dist/runtime/shared/openapi/error-response.dto.js.map +1 -1
  293. package/dist/runtime/shared/openapi/errors.js +5 -19
  294. package/dist/runtime/shared/openapi/errors.js.map +1 -1
  295. package/dist/runtime/shared/openapi/index.js +15 -106
  296. package/dist/runtime/shared/openapi/index.js.map +1 -1
  297. package/dist/runtime/shared/openapi/registry.js +6 -103
  298. package/dist/runtime/shared/openapi/registry.js.map +1 -1
  299. package/dist/runtime/shared/openapi/registry.tokens.js +4 -2
  300. package/dist/runtime/shared/openapi/registry.tokens.js.map +1 -1
  301. package/dist/runtime/subsystems/analytics/analytics.module.js +8 -117
  302. package/dist/runtime/subsystems/analytics/analytics.module.js.map +1 -1
  303. package/dist/runtime/subsystems/analytics/analytics.tokens.js +7 -8
  304. package/dist/runtime/subsystems/analytics/analytics.tokens.js.map +1 -1
  305. package/dist/runtime/subsystems/analytics/cube-backend.js +6 -71
  306. package/dist/runtime/subsystems/analytics/cube-backend.js.map +1 -1
  307. package/dist/runtime/subsystems/analytics/index.js +16 -117
  308. package/dist/runtime/subsystems/analytics/index.js.map +1 -1
  309. package/dist/runtime/subsystems/analytics/noop-backend.js +4 -21
  310. package/dist/runtime/subsystems/analytics/noop-backend.js.map +1 -1
  311. package/dist/runtime/subsystems/auth/auth-oauth-state.schema.js +4 -8
  312. package/dist/runtime/subsystems/auth/auth-oauth-state.schema.js.map +1 -1
  313. package/dist/runtime/subsystems/auth/auth.module.js +12 -359
  314. package/dist/runtime/subsystems/auth/auth.module.js.map +1 -1
  315. package/dist/runtime/subsystems/auth/auth.tokens.js +12 -13
  316. package/dist/runtime/subsystems/auth/auth.tokens.js.map +1 -1
  317. package/dist/runtime/subsystems/auth/backends/encryption-key/env.js +4 -49
  318. package/dist/runtime/subsystems/auth/backends/encryption-key/env.js.map +1 -1
  319. package/dist/runtime/subsystems/auth/backends/state-store.drizzle-backend.js +6 -64
  320. package/dist/runtime/subsystems/auth/backends/state-store.drizzle-backend.js.map +1 -1
  321. package/dist/runtime/subsystems/auth/backends/state-store.memory-backend.js +5 -47
  322. package/dist/runtime/subsystems/auth/backends/state-store.memory-backend.js.map +1 -1
  323. package/dist/runtime/subsystems/auth/controllers/auth.controller.js +5 -139
  324. package/dist/runtime/subsystems/auth/controllers/auth.controller.js.map +1 -1
  325. package/dist/runtime/subsystems/auth/index.js +53 -542
  326. package/dist/runtime/subsystems/auth/index.js.map +1 -1
  327. package/dist/runtime/subsystems/auth/middleware/requester-context.js +9 -65
  328. package/dist/runtime/subsystems/auth/middleware/requester-context.js.map +1 -1
  329. package/dist/runtime/subsystems/auth/protocols/oauth-state-store.js +4 -9
  330. package/dist/runtime/subsystems/auth/protocols/oauth-state-store.js.map +1 -1
  331. package/dist/runtime/subsystems/auth/runtime/connection-broken.error.js +4 -15
  332. package/dist/runtime/subsystems/auth/runtime/connection-broken.error.js.map +1 -1
  333. package/dist/runtime/subsystems/auth/runtime/oauth2-refresh.strategy.js +5 -104
  334. package/dist/runtime/subsystems/auth/runtime/oauth2-refresh.strategy.js.map +1 -1
  335. package/dist/runtime/subsystems/auth/runtime/session-expired.error.js +5 -16
  336. package/dist/runtime/subsystems/auth/runtime/session-expired.error.js.map +1 -1
  337. package/dist/runtime/subsystems/auth/runtime/with-auth-retry.js +5 -29
  338. package/dist/runtime/subsystems/auth/runtime/with-auth-retry.js.map +1 -1
  339. package/dist/runtime/subsystems/bridge/assert-tenant-id.js +5 -18
  340. package/dist/runtime/subsystems/bridge/assert-tenant-id.js.map +1 -1
  341. package/dist/runtime/subsystems/bridge/bridge-delivery-handler.d.ts +2 -2
  342. package/dist/runtime/subsystems/bridge/bridge-delivery-handler.js +12 -184
  343. package/dist/runtime/subsystems/bridge/bridge-delivery-handler.js.map +1 -1
  344. package/dist/runtime/subsystems/bridge/bridge-delivery.drizzle-backend.d.ts +1 -1
  345. package/dist/runtime/subsystems/bridge/bridge-delivery.drizzle-backend.js +10 -448
  346. package/dist/runtime/subsystems/bridge/bridge-delivery.drizzle-backend.js.map +1 -1
  347. package/dist/runtime/subsystems/bridge/bridge-delivery.memory-backend.d.ts +1 -1
  348. package/dist/runtime/subsystems/bridge/bridge-delivery.memory-backend.js +5 -126
  349. package/dist/runtime/subsystems/bridge/bridge-delivery.memory-backend.js.map +1 -1
  350. package/dist/runtime/subsystems/bridge/bridge-delivery.schema.js +6 -308
  351. package/dist/runtime/subsystems/bridge/bridge-delivery.schema.js.map +1 -1
  352. package/dist/runtime/subsystems/bridge/bridge-errors.js +6 -35
  353. package/dist/runtime/subsystems/bridge/bridge-errors.js.map +1 -1
  354. package/dist/runtime/subsystems/bridge/bridge-outbox-drain-hook.d.ts +1 -1
  355. package/dist/runtime/subsystems/bridge/bridge-outbox-drain-hook.js +14 -606
  356. package/dist/runtime/subsystems/bridge/bridge-outbox-drain-hook.js.map +1 -1
  357. package/dist/runtime/subsystems/bridge/bridge.module.d.ts +2 -2
  358. package/dist/runtime/subsystems/bridge/bridge.module.js +35 -3476
  359. package/dist/runtime/subsystems/bridge/bridge.module.js.map +1 -1
  360. package/dist/runtime/subsystems/bridge/bridge.protocol.d.ts +1 -1
  361. package/dist/runtime/subsystems/bridge/bridge.tokens.js +9 -7
  362. package/dist/runtime/subsystems/bridge/bridge.tokens.js.map +1 -1
  363. package/dist/runtime/subsystems/bridge/event-flow.service.d.ts +2 -2
  364. package/dist/runtime/subsystems/bridge/event-flow.service.js +11 -137
  365. package/dist/runtime/subsystems/bridge/event-flow.service.js.map +1 -1
  366. package/dist/runtime/subsystems/bridge/generated/registry.d.ts +1 -1
  367. package/dist/runtime/subsystems/bridge/generated/registry.js +4 -2
  368. package/dist/runtime/subsystems/bridge/generated/registry.js.map +1 -1
  369. package/dist/runtime/subsystems/bridge/index.d.ts +2 -2
  370. package/dist/runtime/subsystems/bridge/index.js +60 -3470
  371. package/dist/runtime/subsystems/bridge/index.js.map +1 -1
  372. package/dist/runtime/subsystems/bridge/reserved-pools.js +4 -6
  373. package/dist/runtime/subsystems/bridge/reserved-pools.js.map +1 -1
  374. package/dist/runtime/subsystems/cache/cache.drizzle-backend.js +10 -133
  375. package/dist/runtime/subsystems/cache/cache.drizzle-backend.js.map +1 -1
  376. package/dist/runtime/subsystems/cache/cache.memory-backend.js +6 -101
  377. package/dist/runtime/subsystems/cache/cache.memory-backend.js.map +1 -1
  378. package/dist/runtime/subsystems/cache/cache.module.js +10 -278
  379. package/dist/runtime/subsystems/cache/cache.module.js.map +1 -1
  380. package/dist/runtime/subsystems/cache/cache.schema.js +4 -14
  381. package/dist/runtime/subsystems/cache/cache.schema.js.map +1 -1
  382. package/dist/runtime/subsystems/cache/cache.tokens.js +6 -7
  383. package/dist/runtime/subsystems/cache/cache.tokens.js.map +1 -1
  384. package/dist/runtime/subsystems/cache/index.js +20 -278
  385. package/dist/runtime/subsystems/cache/index.js.map +1 -1
  386. package/dist/runtime/subsystems/events/domain-events.schema.js +3 -72
  387. package/dist/runtime/subsystems/events/domain-events.schema.js.map +1 -1
  388. package/dist/runtime/subsystems/events/event-bus.drizzle-backend.d.ts +1 -1
  389. package/dist/runtime/subsystems/events/event-bus.drizzle-backend.js +9 -413
  390. package/dist/runtime/subsystems/events/event-bus.drizzle-backend.js.map +1 -1
  391. package/dist/runtime/subsystems/events/event-bus.memory-backend.js +7 -235
  392. package/dist/runtime/subsystems/events/event-bus.memory-backend.js.map +1 -1
  393. package/dist/runtime/subsystems/events/event-bus.redis-backend.js +8 -20
  394. package/dist/runtime/subsystems/events/event-bus.redis-backend.js.map +1 -1
  395. package/dist/runtime/subsystems/events/event-keyset-cursor.js +8 -30
  396. package/dist/runtime/subsystems/events/event-keyset-cursor.js.map +1 -1
  397. package/dist/runtime/subsystems/events/event-read.protocol.js +2 -0
  398. package/dist/runtime/subsystems/events/event-read.protocol.js.map +1 -1
  399. package/dist/runtime/subsystems/events/event-registry.d.ts +77 -0
  400. package/dist/runtime/subsystems/events/event-registry.js +1 -0
  401. package/dist/runtime/subsystems/events/event-registry.js.map +1 -0
  402. package/dist/runtime/subsystems/events/events-errors.js +4 -11
  403. package/dist/runtime/subsystems/events/events-errors.js.map +1 -1
  404. package/dist/runtime/subsystems/events/events.module.js +15 -949
  405. package/dist/runtime/subsystems/events/events.module.js.map +1 -1
  406. package/dist/runtime/subsystems/events/events.tokens.js +10 -11
  407. package/dist/runtime/subsystems/events/events.tokens.js.map +1 -1
  408. package/dist/runtime/subsystems/events/generated/bus.js +9 -240
  409. package/dist/runtime/subsystems/events/generated/bus.js.map +1 -1
  410. package/dist/runtime/subsystems/events/generated/index.js +23 -240
  411. package/dist/runtime/subsystems/events/generated/index.js.map +1 -1
  412. package/dist/runtime/subsystems/events/generated/registry.js +5 -82
  413. package/dist/runtime/subsystems/events/generated/registry.js.map +1 -1
  414. package/dist/runtime/subsystems/events/generated/schemas.js +12 -52
  415. package/dist/runtime/subsystems/events/generated/schemas.js.map +1 -1
  416. package/dist/runtime/subsystems/events/generated/types.js +1 -0
  417. package/dist/runtime/subsystems/events/index.d.ts +1 -0
  418. package/dist/runtime/subsystems/events/index.js +32 -949
  419. package/dist/runtime/subsystems/events/index.js.map +1 -1
  420. package/dist/runtime/subsystems/index.d.ts +2 -2
  421. package/dist/runtime/subsystems/index.js +171 -5912
  422. package/dist/runtime/subsystems/index.js.map +1 -1
  423. package/dist/runtime/subsystems/integration/build-change-source.js +6 -178
  424. package/dist/runtime/subsystems/integration/build-change-source.js.map +1 -1
  425. package/dist/runtime/subsystems/integration/deep-equal.differ.js +4 -109
  426. package/dist/runtime/subsystems/integration/deep-equal.differ.js.map +1 -1
  427. package/dist/runtime/subsystems/integration/detection-config.schema.js +11 -78
  428. package/dist/runtime/subsystems/integration/detection-config.schema.js.map +1 -1
  429. package/dist/runtime/subsystems/integration/entity-change-source-registry.memory.js +5 -30
  430. package/dist/runtime/subsystems/integration/entity-change-source-registry.memory.js.map +1 -1
  431. package/dist/runtime/subsystems/integration/entity-change-source-registry.protocol.js +4 -9
  432. package/dist/runtime/subsystems/integration/entity-change-source-registry.protocol.js.map +1 -1
  433. package/dist/runtime/subsystems/integration/execute-integration.use-case.js +6 -239
  434. package/dist/runtime/subsystems/integration/execute-integration.use-case.js.map +1 -1
  435. package/dist/runtime/subsystems/integration/incremental-read.js +5 -144
  436. package/dist/runtime/subsystems/integration/incremental-read.js.map +1 -1
  437. package/dist/runtime/subsystems/integration/index.js +83 -1352
  438. package/dist/runtime/subsystems/integration/index.js.map +1 -1
  439. package/dist/runtime/subsystems/integration/integration-audit.schema.js +10 -155
  440. package/dist/runtime/subsystems/integration/integration-audit.schema.js.map +1 -1
  441. package/dist/runtime/subsystems/integration/integration-cursor-store.drizzle-backend.js +7 -270
  442. package/dist/runtime/subsystems/integration/integration-cursor-store.drizzle-backend.js.map +1 -1
  443. package/dist/runtime/subsystems/integration/integration-cursor-store.memory-backend.js +4 -65
  444. package/dist/runtime/subsystems/integration/integration-cursor-store.memory-backend.js.map +1 -1
  445. package/dist/runtime/subsystems/integration/integration-errors.js +5 -15
  446. package/dist/runtime/subsystems/integration/integration-errors.js.map +1 -1
  447. package/dist/runtime/subsystems/integration/integration-field-diff.protocol.js +5 -7
  448. package/dist/runtime/subsystems/integration/integration-field-diff.protocol.js.map +1 -1
  449. package/dist/runtime/subsystems/integration/integration-run-recorder.drizzle-backend.js +8 -303
  450. package/dist/runtime/subsystems/integration/integration-run-recorder.drizzle-backend.js.map +1 -1
  451. package/dist/runtime/subsystems/integration/integration-run-recorder.memory-backend.js +5 -125
  452. package/dist/runtime/subsystems/integration/integration-run-recorder.memory-backend.js.map +1 -1
  453. package/dist/runtime/subsystems/integration/integration.module.js +13 -700
  454. package/dist/runtime/subsystems/integration/integration.module.js.map +1 -1
  455. package/dist/runtime/subsystems/integration/integration.tokens.js +11 -9
  456. package/dist/runtime/subsystems/integration/integration.tokens.js.map +1 -1
  457. package/dist/runtime/subsystems/integration/loopback.middleware.js +4 -16
  458. package/dist/runtime/subsystems/integration/loopback.middleware.js.map +1 -1
  459. package/dist/runtime/subsystems/integration/poll-change-source.js +4 -89
  460. package/dist/runtime/subsystems/integration/poll-change-source.js.map +1 -1
  461. package/dist/runtime/subsystems/integration/webhook-change-source.js +4 -70
  462. package/dist/runtime/subsystems/integration/webhook-change-source.js.map +1 -1
  463. package/dist/runtime/subsystems/jobs/bullmq.config.js +9 -140
  464. package/dist/runtime/subsystems/jobs/bullmq.config.js.map +1 -1
  465. package/dist/runtime/subsystems/jobs/index.d.ts +2 -2
  466. package/dist/runtime/subsystems/jobs/index.js +88 -2691
  467. package/dist/runtime/subsystems/jobs/index.js.map +1 -1
  468. package/dist/runtime/subsystems/jobs/job-handler.base.d.ts +2 -2
  469. package/dist/runtime/subsystems/jobs/job-handler.base.js +10 -49
  470. package/dist/runtime/subsystems/jobs/job-handler.base.js.map +1 -1
  471. package/dist/runtime/subsystems/jobs/job-orchestration.schema.js +13 -152
  472. package/dist/runtime/subsystems/jobs/job-orchestration.schema.js.map +1 -1
  473. package/dist/runtime/subsystems/jobs/job-orchestrator.bullmq-backend.d.ts +2 -2
  474. package/dist/runtime/subsystems/jobs/job-orchestrator.bullmq-backend.js +36 -699
  475. package/dist/runtime/subsystems/jobs/job-orchestrator.bullmq-backend.js.map +1 -1
  476. package/dist/runtime/subsystems/jobs/job-orchestrator.drizzle-backend.d.ts +2 -2
  477. package/dist/runtime/subsystems/jobs/job-orchestrator.drizzle-backend.js +10 -564
  478. package/dist/runtime/subsystems/jobs/job-orchestrator.drizzle-backend.js.map +1 -1
  479. package/dist/runtime/subsystems/jobs/job-orchestrator.memory-backend.d.ts +2 -2
  480. package/dist/runtime/subsystems/jobs/job-orchestrator.memory-backend.js +10 -824
  481. package/dist/runtime/subsystems/jobs/job-orchestrator.memory-backend.js.map +1 -1
  482. package/dist/runtime/subsystems/jobs/job-orchestrator.protocol.d.ts +2 -2
  483. package/dist/runtime/subsystems/jobs/job-run-keyset-cursor.d.ts +2 -2
  484. package/dist/runtime/subsystems/jobs/job-run-keyset-cursor.js +9 -51
  485. package/dist/runtime/subsystems/jobs/job-run-keyset-cursor.js.map +1 -1
  486. package/dist/runtime/subsystems/jobs/job-run-service.drizzle-backend.d.ts +2 -2
  487. package/dist/runtime/subsystems/jobs/job-run-service.drizzle-backend.js +9 -416
  488. package/dist/runtime/subsystems/jobs/job-run-service.drizzle-backend.js.map +1 -1
  489. package/dist/runtime/subsystems/jobs/job-run-service.memory-backend.d.ts +2 -2
  490. package/dist/runtime/subsystems/jobs/job-run-service.memory-backend.js +9 -290
  491. package/dist/runtime/subsystems/jobs/job-run-service.memory-backend.js.map +1 -1
  492. package/dist/runtime/subsystems/jobs/job-run-service.protocol.d.ts +2 -2
  493. package/dist/runtime/subsystems/jobs/job-step-service.drizzle-backend.js +5 -213
  494. package/dist/runtime/subsystems/jobs/job-step-service.drizzle-backend.js.map +1 -1
  495. package/dist/runtime/subsystems/jobs/job-step-service.memory-backend.js +5 -131
  496. package/dist/runtime/subsystems/jobs/job-step-service.memory-backend.js.map +1 -1
  497. package/dist/runtime/subsystems/jobs/job-worker.bullmq-backend.d.ts +2 -2
  498. package/dist/runtime/subsystems/jobs/job-worker.bullmq-backend.js +9 -175
  499. package/dist/runtime/subsystems/jobs/job-worker.bullmq-backend.js.map +1 -1
  500. package/dist/runtime/subsystems/jobs/job-worker.d.ts +2 -2
  501. package/dist/runtime/subsystems/jobs/job-worker.js +14 -613
  502. package/dist/runtime/subsystems/jobs/job-worker.js.map +1 -1
  503. package/dist/runtime/subsystems/jobs/job-worker.module.d.ts +2 -2
  504. package/dist/runtime/subsystems/jobs/job-worker.module.js +23 -2647
  505. package/dist/runtime/subsystems/jobs/job-worker.module.js.map +1 -1
  506. package/dist/runtime/subsystems/jobs/jobs-domain.module.js +19 -1897
  507. package/dist/runtime/subsystems/jobs/jobs-domain.module.js.map +1 -1
  508. package/dist/runtime/subsystems/jobs/jobs-domain.tokens.js +8 -9
  509. package/dist/runtime/subsystems/jobs/jobs-domain.tokens.js.map +1 -1
  510. package/dist/runtime/subsystems/jobs/jobs-errors.d.ts +2 -2
  511. package/dist/runtime/subsystems/jobs/jobs-errors.js +10 -78
  512. package/dist/runtime/subsystems/jobs/jobs-errors.js.map +1 -1
  513. package/dist/runtime/subsystems/jobs/memory-job-store.js +4 -15
  514. package/dist/runtime/subsystems/jobs/memory-job-store.js.map +1 -1
  515. package/dist/runtime/subsystems/jobs/pool-config.loader.js +9 -124
  516. package/dist/runtime/subsystems/jobs/pool-config.loader.js.map +1 -1
  517. package/dist/runtime/subsystems/observability/index.d.ts +2 -2
  518. package/dist/runtime/subsystems/observability/index.js +21 -310
  519. package/dist/runtime/subsystems/observability/index.js.map +1 -1
  520. package/dist/runtime/subsystems/observability/observability-errors.js +4 -9
  521. package/dist/runtime/subsystems/observability/observability-errors.js.map +1 -1
  522. package/dist/runtime/subsystems/observability/observability.module.js +11 -300
  523. package/dist/runtime/subsystems/observability/observability.module.js.map +1 -1
  524. package/dist/runtime/subsystems/observability/observability.protocol.d.ts +2 -2
  525. package/dist/runtime/subsystems/observability/observability.service.d.ts +2 -2
  526. package/dist/runtime/subsystems/observability/observability.service.js +9 -197
  527. package/dist/runtime/subsystems/observability/observability.service.js.map +1 -1
  528. package/dist/runtime/subsystems/observability/observability.tokens.js +5 -3
  529. package/dist/runtime/subsystems/observability/observability.tokens.js.map +1 -1
  530. package/dist/runtime/subsystems/observability/reporters/bridge-metrics.reporter.d.ts +2 -2
  531. package/dist/runtime/subsystems/observability/reporters/bridge-metrics.reporter.js +4 -84
  532. package/dist/runtime/subsystems/observability/reporters/bridge-metrics.reporter.js.map +1 -1
  533. package/dist/runtime/subsystems/observability/reporters/index.d.ts +2 -2
  534. package/dist/runtime/subsystems/observability/reporters/index.js +5 -84
  535. package/dist/runtime/subsystems/observability/reporters/index.js.map +1 -1
  536. package/dist/runtime/subsystems/storage/index.js +15 -200
  537. package/dist/runtime/subsystems/storage/index.js.map +1 -1
  538. package/dist/runtime/subsystems/storage/storage.local-backend.js +4 -103
  539. package/dist/runtime/subsystems/storage/storage.local-backend.js.map +1 -1
  540. package/dist/runtime/subsystems/storage/storage.memory-backend.js +5 -68
  541. package/dist/runtime/subsystems/storage/storage.memory-backend.js.map +1 -1
  542. package/dist/runtime/subsystems/storage/storage.module.js +8 -200
  543. package/dist/runtime/subsystems/storage/storage.module.js.map +1 -1
  544. package/dist/runtime/subsystems/storage/storage.tokens.js +5 -6
  545. package/dist/runtime/subsystems/storage/storage.tokens.js.map +1 -1
  546. package/dist/runtime/subsystems/storage/storage.utils.js +4 -14
  547. package/dist/runtime/subsystems/storage/storage.utils.js.map +1 -1
  548. package/dist/runtime/subsystems/token-key.js +5 -3
  549. package/dist/runtime/subsystems/token-key.js.map +1 -1
  550. package/dist/src/cli/index.js +653 -5444
  551. package/dist/src/cli/index.js.map +1 -1
  552. package/dist/src/index.js +68 -4170
  553. package/dist/src/index.js.map +1 -1
  554. package/package.json +1 -1
  555. package/runtime/subsystems/bridge/bridge-delivery-handler.ts +1 -1
  556. package/runtime/subsystems/bridge/bridge-outbox-drain-hook.ts +45 -22
  557. package/runtime/subsystems/bridge/bridge.protocol.ts +1 -1
  558. package/runtime/subsystems/bridge/event-flow.service.ts +1 -1
  559. package/runtime/subsystems/events/event-registry.ts +77 -0
  560. package/runtime/subsystems/events/index.ts +12 -0
  561. package/runtime/subsystems/jobs/job-handler.base.ts +1 -1
  562. package/runtime/subsystems/jobs/job-worker.ts +17 -11
@@ -1,568 +1,14 @@
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 = (index2, decorator) => (target, key) => decorator(target, key, index2);
12
-
13
- // runtime/subsystems/jobs/job-orchestrator.drizzle-backend.ts
14
- import { randomUUID } from "crypto";
15
- import { Inject, Injectable, Logger } from "@nestjs/common";
16
- import { and, desc, eq, gt, inArray, isNotNull, ne, notInArray, sql as sql2 } from "drizzle-orm";
17
-
18
- // runtime/constants/tokens.ts
19
- var DRIZZLE = "DRIZZLE";
20
-
21
- // runtime/subsystems/jobs/job-orchestration.schema.ts
22
1
  import {
23
- pgEnum,
24
- pgTable,
25
- uuid,
26
- text,
27
- jsonb,
28
- integer,
29
- timestamp,
30
- index,
31
- uniqueIndex
32
- } from "drizzle-orm/pg-core";
33
- import { sql } from "drizzle-orm";
34
- var jobRunStatusEnum = pgEnum("job_run_status", [
35
- "pending",
36
- "running",
37
- "waiting",
38
- "completed",
39
- "failed",
40
- "timed_out",
41
- "canceled"
42
- ]);
43
- var jobStepKindEnum = pgEnum("job_step_kind", ["task"]);
44
- var jobStepStatusEnum = pgEnum("job_step_status", [
45
- "pending",
46
- "running",
47
- "completed",
48
- "failed",
49
- "skipped"
50
- ]);
51
- var collisionModeEnum = pgEnum("job_collision_mode", [
52
- "queue",
53
- "reject",
54
- "replace"
55
- ]);
56
- var replayFromEnum = pgEnum("job_replay_from", [
57
- "scratch",
58
- "last_step",
59
- "last_checkpoint"
60
- ]);
61
- var parentClosePolicyEnum = pgEnum("job_parent_close_policy", [
62
- "terminate",
63
- "cancel",
64
- "abandon"
65
- ]);
66
- var waitKindEnum = pgEnum("job_wait_kind", ["signal"]);
67
- var triggerSourceEnum = pgEnum("job_trigger_source", [
68
- "manual",
69
- "schedule",
70
- "event",
71
- "parent"
72
- ]);
73
- var jobs = pgTable("job", {
74
- type: text("type").primaryKey(),
75
- version: integer("version").notNull().default(1),
76
- pool: text("pool").notNull(),
77
- scopeEntityType: text("scope_entity_type"),
78
- retryPolicy: jsonb("retry_policy").notNull().$type(),
79
- timeoutMs: integer("timeout_ms"),
80
- concurrencyKeyTemplate: text("concurrency_key_template"),
81
- collisionMode: collisionModeEnum("collision_mode").notNull().default("queue"),
82
- dedupeKeyTemplate: text("dedupe_key_template"),
83
- dedupeWindowMs: integer("dedupe_window_ms"),
84
- priorityDefault: integer("priority_default").notNull().default(0),
85
- replayFrom: replayFromEnum("replay_from").notNull().default("last_checkpoint"),
86
- createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
87
- updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow()
88
- });
89
- var jobRuns = pgTable(
90
- "job_run",
91
- {
92
- id: uuid("id").primaryKey().defaultRandom(),
93
- jobType: text("job_type").notNull().references(() => jobs.type),
94
- jobVersion: integer("job_version").notNull(),
95
- parentRunId: uuid("parent_run_id").references(() => jobRuns.id),
96
- /**
97
- * Service generates `id` client-side via randomUUID() and sets
98
- * root_run_id = id for root runs (single INSERT, no self-FK race).
99
- */
100
- rootRunId: uuid("root_run_id").notNull(),
101
- parentClosePolicy: parentClosePolicyEnum("parent_close_policy").notNull().default("terminate"),
102
- scopeEntityType: text("scope_entity_type"),
103
- scopeEntityId: text("scope_entity_id"),
104
- tenantId: text("tenant_id"),
105
- tags: jsonb("tags").notNull().default({}).$type(),
106
- pool: text("pool").notNull(),
107
- priority: integer("priority").notNull().default(0),
108
- concurrencyKey: text("concurrency_key"),
109
- dedupeKey: text("dedupe_key"),
110
- status: jobRunStatusEnum("status").notNull().default("pending"),
111
- input: jsonb("input").notNull().$type(),
112
- output: jsonb("output").$type(),
113
- error: jsonb("error").$type(),
114
- triggerSource: triggerSourceEnum("trigger_source").notNull(),
115
- triggerRef: text("trigger_ref"),
116
- runAt: timestamp("run_at", { withTimezone: true }).notNull().defaultNow(),
117
- startedAt: timestamp("started_at", { withTimezone: true }),
118
- finishedAt: timestamp("finished_at", { withTimezone: true }),
119
- claimedAt: timestamp("claimed_at", { withTimezone: true }),
120
- attempts: integer("attempts").notNull().default(0),
121
- // Phase 3 placeholder — see ADR-025
122
- waitKind: waitKindEnum("wait_kind"),
123
- // Phase 3 placeholder — see ADR-025
124
- resumeToken: text("resume_token"),
125
- // Phase 3 placeholder — see ADR-025
126
- waitDeadline: timestamp("wait_deadline", { withTimezone: true }),
127
- createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
128
- updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow()
129
- },
130
- (t) => ({
131
- /** Claim query: ORDER BY priority DESC, run_at ASC. */
132
- idxJobRunClaim: index("idx_job_run_claim").on(t.status, t.pool, t.runAt),
133
- /** Tree traversal / cascade cancel. */
134
- idxJobRunRoot: index("idx_job_run_root").on(t.rootRunId),
135
- /** listForScope query. */
136
- idxJobRunScope: index("idx_job_run_scope").on(t.scopeEntityType, t.scopeEntityId),
137
- /** Idempotency collapse — partial index. */
138
- idxJobRunDedupe: index("idx_job_run_dedupe").on(t.jobType, t.dedupeKey).where(sql`${t.dedupeKey} IS NOT NULL`),
139
- /** Collision check — partial index. */
140
- idxJobRunConcurrency: index("idx_job_run_concurrency").on(t.concurrencyKey).where(
141
- sql`${t.concurrencyKey} IS NOT NULL AND ${t.status} IN ('pending','running')`
142
- )
143
- })
144
- );
145
- var jobSteps = pgTable(
146
- "job_step",
147
- {
148
- id: uuid("id").primaryKey().defaultRandom(),
149
- jobRunId: uuid("job_run_id").notNull().references(() => jobRuns.id),
150
- stepId: text("step_id").notNull(),
151
- kind: jobStepKindEnum("kind").notNull().default("task"),
152
- /**
153
- * Monotonic within run. integer (max ~2B per run) is sufficient —
154
- * downgraded from ADR-022's bigint; revisit only if a single run
155
- * ever exceeds 2 billion steps.
156
- */
157
- seq: integer("seq").notNull(),
158
- status: jobStepStatusEnum("status").notNull().default("pending"),
159
- input: jsonb("input").$type(),
160
- /** Memoised on success for replay. */
161
- output: jsonb("output").$type(),
162
- error: jsonb("error").$type(),
163
- attempts: integer("attempts").notNull().default(0),
164
- startedAt: timestamp("started_at", { withTimezone: true }),
165
- finishedAt: timestamp("finished_at", { withTimezone: true })
166
- },
167
- (t) => ({
168
- /** No duplicate step IDs per run. */
169
- idxJobStepRunStep: uniqueIndex("idx_job_step_run_step").on(t.jobRunId, t.stepId),
170
- /** Ordered timeline reads. */
171
- idxJobStepTimeline: index("idx_job_step_timeline").on(t.jobRunId, t.seq)
172
- })
173
- );
174
-
175
- // runtime/subsystems/jobs/jobs-errors.ts
176
- var JobTypeNotFoundError = class extends Error {
177
- constructor(jobType) {
178
- super(`No job definition registered for type '${jobType}'.`);
179
- this.jobType = jobType;
180
- }
181
- jobType;
182
- name = "JobTypeNotFoundError";
183
- };
184
- var JobCollisionError = class extends Error {
185
- constructor(jobType, concurrencyKey, incumbent) {
186
- super(
187
- `Job type '${jobType}' has an in-flight run with concurrency_key '${concurrencyKey}' (incumbent ${incumbent.id}); collision_mode=reject.`
188
- );
189
- this.jobType = jobType;
190
- this.concurrencyKey = concurrencyKey;
191
- this.incumbent = incumbent;
192
- }
193
- jobType;
194
- concurrencyKey;
195
- incumbent;
196
- name = "JobCollisionError";
197
- };
198
- var JobNotReplayableError = class extends Error {
199
- constructor(runId, currentStatus) {
200
- super(
201
- `Run ${runId} is not replayable from status '${currentStatus}'. Only 'completed', 'failed', 'timed_out', and 'canceled' are eligible.`
202
- );
203
- this.runId = runId;
204
- this.currentStatus = currentStatus;
205
- }
206
- runId;
207
- currentStatus;
208
- name = "JobNotReplayableError";
209
- };
210
- var JobTemplateFieldMissingError = class extends Error {
211
- constructor(template, field) {
212
- super(
213
- `Template '${template}' references input field '${field}' which is missing or undefined on the payload.`
214
- );
215
- this.template = template;
216
- this.field = field;
217
- }
218
- template;
219
- field;
220
- name = "JobTemplateFieldMissingError";
221
- };
222
- var MissingTenantIdError = class extends Error {
223
- constructor(method) {
224
- super(
225
- `MissingTenantIdError: JobsDomainModule was configured with multiTenant=true but ${method} was called without tenantId (undefined). Pass an explicit tenantId, or pass null for cross-tenant work.`
226
- );
227
- this.method = method;
228
- }
229
- method;
230
- name = "MissingTenantIdError";
231
- };
232
-
233
- // runtime/subsystems/token-key.ts
234
- var PKG = "@pattern-stack/codegen";
235
- var tokenKey = (area, name) => `${PKG}.${area}.${name}`;
236
-
237
- // runtime/subsystems/jobs/jobs-domain.tokens.ts
238
- var JOB_ORCHESTRATOR = Symbol.for(tokenKey("jobs", "orchestrator"));
239
- var JOB_RUN_SERVICE = Symbol.for(tokenKey("jobs", "run-service"));
240
- var JOB_STEP_SERVICE = Symbol.for(tokenKey("jobs", "step-service"));
241
- var JOBS_MULTI_TENANT = Symbol.for(tokenKey("jobs", "multi-tenant"));
242
-
243
- // runtime/subsystems/jobs/job-orchestrator.drizzle-backend.ts
244
- var TERMINAL_STATUSES = [
245
- "completed",
246
- "failed",
247
- "timed_out",
248
- "canceled"
249
- ];
250
- var DEDUPE_EXCLUDED_STATUSES = ["canceled", "failed"];
251
- var IN_FLIGHT_STATUSES = ["pending", "running"];
252
- function evaluateKeyTemplate(template, input) {
253
- return template.replace(/\{\{\s*([a-zA-Z0-9_]+)\s*\}\}/g, (_match, field) => {
254
- const value = input[field];
255
- if (value === void 0 || value === null) {
256
- throw new JobTemplateFieldMissingError(template, field);
257
- }
258
- return String(value);
259
- });
260
- }
261
- var DrizzleJobOrchestrator = class {
262
- constructor(db, multiTenant) {
263
- this.db = db;
264
- this.multiTenant = multiTenant;
265
- }
266
- db;
267
- multiTenant;
268
- // TODO(logging-subsystem): swap to ILogger once ADR-028 lands
269
- logger = new Logger(DrizzleJobOrchestrator.name);
270
- /**
271
- * JOB-8 — resolve `tenantId` for a mutating / targeted-read call.
272
- * Returns the tenant value that should be written to the row (or compared
273
- * against in a WHERE clause). When `multiTenant` is off, the column is
274
- * forced to `null` regardless of what callers pass. When on, `undefined`
275
- * throws; `null` and strings pass through untouched.
276
- */
277
- resolveTenantId(method, tenantId) {
278
- if (!this.multiTenant) return null;
279
- if (tenantId === void 0) throw new MissingTenantIdError(method);
280
- return tenantId;
281
- }
282
- // ==========================================================================
283
- // start
284
- // ==========================================================================
285
- async start(type, input, opts = {}, tx) {
286
- const payload = input ?? {};
287
- const tenantId = this.resolveTenantId("start", opts.tenantId);
288
- const client = tx ?? this.db;
289
- const [def] = await client.select().from(jobs).where(eq(jobs.type, type)).limit(1);
290
- if (!def) throw new JobTypeNotFoundError(type);
291
- const definition = def;
292
- if (definition.dedupeKeyTemplate && definition.dedupeWindowMs) {
293
- const dedupeKey2 = evaluateKeyTemplate(definition.dedupeKeyTemplate, payload);
294
- const windowStart = new Date(Date.now() - definition.dedupeWindowMs);
295
- const existing = await client.select().from(jobRuns).where(
296
- and(
297
- eq(jobRuns.jobType, type),
298
- eq(jobRuns.dedupeKey, dedupeKey2),
299
- gt(jobRuns.createdAt, windowStart),
300
- // status NOT IN ('canceled', 'failed')
301
- notInStatus(DEDUPE_EXCLUDED_STATUSES)
302
- )
303
- ).orderBy(desc(jobRuns.createdAt)).limit(1);
304
- if (existing.length > 0) {
305
- return existing[0];
306
- }
307
- }
308
- let concurrencyKey = null;
309
- if (definition.concurrencyKeyTemplate) {
310
- concurrencyKey = evaluateKeyTemplate(
311
- definition.concurrencyKeyTemplate,
312
- payload
313
- );
314
- const inFlight = await client.select().from(jobRuns).where(
315
- and(
316
- eq(jobRuns.concurrencyKey, concurrencyKey),
317
- inArray(jobRuns.status, IN_FLIGHT_STATUSES)
318
- )
319
- ).limit(1);
320
- if (inFlight.length > 0) {
321
- const incumbent = inFlight[0];
322
- switch (definition.collisionMode) {
323
- case "reject":
324
- throw new JobCollisionError(type, concurrencyKey, incumbent);
325
- case "replace":
326
- await this.cancel(incumbent.id, {
327
- cascade: true,
328
- reason: "replaced",
329
- tenantId: incumbent.tenantId
330
- });
331
- break;
332
- case "queue":
333
- break;
334
- }
335
- }
336
- }
337
- const newId = randomUUID();
338
- let rootRunId = newId;
339
- if (opts.parentRunId) {
340
- const [parent] = await client.select({ rootRunId: jobRuns.rootRunId }).from(jobRuns).where(eq(jobRuns.id, opts.parentRunId)).limit(1);
341
- if (!parent) {
342
- throw new Error(
343
- `parentRunId ${opts.parentRunId} does not reference an existing job_run`
344
- );
345
- }
346
- rootRunId = parent.rootRunId;
347
- }
348
- const dedupeKey = definition.dedupeKeyTemplate ? evaluateKeyTemplate(definition.dedupeKeyTemplate, payload) : null;
349
- const [inserted] = await client.insert(jobRuns).values({
350
- id: newId,
351
- jobType: type,
352
- jobVersion: definition.version,
353
- parentRunId: opts.parentRunId ?? null,
354
- rootRunId,
355
- parentClosePolicy: opts.parentClosePolicy ?? "terminate",
356
- scopeEntityType: opts.scope?.entityType ?? null,
357
- scopeEntityId: opts.scope?.entityId ?? null,
358
- tenantId,
359
- tags: opts.tags ?? {},
360
- pool: opts.pool ?? definition.pool,
361
- priority: opts.priority ?? definition.priorityDefault,
362
- concurrencyKey,
363
- dedupeKey,
364
- status: "pending",
365
- input: payload,
366
- output: null,
367
- error: null,
368
- triggerSource: opts.triggerSource ?? "manual",
369
- triggerRef: opts.triggerRef ?? null,
370
- runAt: opts.runAt ?? /* @__PURE__ */ new Date(),
371
- startedAt: null,
372
- finishedAt: null,
373
- claimedAt: null,
374
- attempts: 0
375
- }).returning();
376
- return inserted;
377
- }
378
- // ==========================================================================
379
- // cancel
380
- // ==========================================================================
381
- async cancel(runId, opts = {}) {
382
- const tenantId = this.resolveTenantId("cancel", opts.tenantId);
383
- const [target] = await this.db.select().from(jobRuns).where(eq(jobRuns.id, runId)).limit(1);
384
- if (!target) return;
385
- if (this.multiTenant && target.tenantId !== tenantId) return;
386
- if (TERMINAL_STATUSES.includes(target.status)) {
387
- return;
388
- }
389
- const [cancelled] = await this.db.update(jobRuns).set({
390
- status: "canceled",
391
- finishedAt: /* @__PURE__ */ new Date(),
392
- updatedAt: /* @__PURE__ */ new Date()
393
- }).where(
394
- and(eq(jobRuns.id, runId), notInStatus([...TERMINAL_STATUSES]))
395
- ).returning();
396
- if (!cancelled) return;
397
- if (opts.cascade === false) return;
398
- const descendants = await this.db.select().from(jobRuns).where(
399
- and(
400
- eq(jobRuns.rootRunId, target.rootRunId),
401
- ne(jobRuns.id, runId),
402
- notInStatus([...TERMINAL_STATUSES])
403
- )
404
- );
405
- for (const child of descendants) {
406
- const policy = child.parentClosePolicy;
407
- if (policy === "abandon") continue;
408
- await this.db.update(jobRuns).set({
409
- status: "canceled",
410
- finishedAt: /* @__PURE__ */ new Date(),
411
- updatedAt: /* @__PURE__ */ new Date()
412
- }).where(
413
- and(
414
- eq(jobRuns.id, child.id),
415
- notInStatus([...TERMINAL_STATUSES])
416
- )
417
- );
418
- }
419
- void opts.reason;
420
- }
421
- // ==========================================================================
422
- // replay
423
- // ==========================================================================
424
- async replay(runId) {
425
- const [target] = await this.db.select().from(jobRuns).where(eq(jobRuns.id, runId)).limit(1);
426
- if (!target) {
427
- throw new Error(`replay: run ${runId} not found`);
428
- }
429
- const run = target;
430
- if (!TERMINAL_STATUSES.includes(run.status)) {
431
- throw new JobNotReplayableError(runId, run.status);
432
- }
433
- const [def] = await this.db.select().from(jobs).where(eq(jobs.type, run.jobType)).limit(1);
434
- if (!def) throw new JobTypeNotFoundError(run.jobType);
435
- const mode = def.replayFrom;
436
- const result = await this.db.transaction(async (tx) => {
437
- if (mode === "scratch") {
438
- await tx.delete(jobSteps).where(eq(jobSteps.jobRunId, runId));
439
- } else if (mode === "last_step") {
440
- await tx.delete(jobSteps).where(
441
- and(eq(jobSteps.jobRunId, runId), ne(jobSteps.status, "completed"))
442
- );
443
- } else {
444
- await tx.delete(jobSteps).where(
445
- and(eq(jobSteps.jobRunId, runId), ne(jobSteps.status, "completed"))
446
- );
447
- }
448
- const [updated] = await tx.update(jobRuns).set({
449
- status: "pending",
450
- attempts: 0,
451
- runAt: /* @__PURE__ */ new Date(),
452
- startedAt: null,
453
- finishedAt: null,
454
- claimedAt: null,
455
- error: null,
456
- output: null,
457
- updatedAt: /* @__PURE__ */ new Date()
458
- }).where(eq(jobRuns.id, runId)).returning();
459
- return updated;
460
- });
461
- return result;
462
- }
463
- // ==========================================================================
464
- // upsertJobRows — boot-time materialisation of `job` definitions
465
- // ==========================================================================
466
- /**
467
- * Hash-gated `INSERT … ON CONFLICT (type) DO UPDATE … WHERE` per Q3
468
- * resolution (2026-04-19): the `UPDATE` branch executes only when one
469
- * of the persisted metadata fields differs from the incoming payload;
470
- * `version` bumps only on real change; concurrent boots with identical
471
- * content are idempotent no-ops.
472
- *
473
- * Why this shape (not `DO NOTHING`, not advisory locks):
474
- * - `DO NOTHING` would let an old-version instance leave a stale row
475
- * that a new-version instance can't overwrite during a rolling deploy.
476
- * - Advisory locks add latency and leak risk under crashes.
477
- * - The `WHERE … IS DISTINCT FROM …` clause makes the conditional
478
- * atomic — no read-modify-write race on `version` between concurrent
479
- * boots.
480
- *
481
- * Orphan detection: a single `SELECT type FROM job WHERE type NOT IN (...)`
482
- * returns the types present in DB but absent from `entries`. Caller (boot
483
- * validator) decides whether to throw `BootValidationError`.
484
- */
485
- async upsertJobRows(entries, poolConfig) {
486
- void poolConfig;
487
- for (const entry of entries) {
488
- const meta = entry.meta;
489
- const pool = meta.pool ?? "batch";
490
- const retryPolicy = meta.retry ?? {
491
- attempts: 1,
492
- backoff: "fixed",
493
- baseMs: 0
494
- };
495
- const concurrencyKeyTemplate = meta.concurrency?.key;
496
- const concurrencyKeyTemplateStr = typeof concurrencyKeyTemplate === "string" ? concurrencyKeyTemplate : null;
497
- const collisionMode = meta.concurrency?.collisionMode ?? "queue";
498
- const dedupeKeyTemplate = meta.dedupe?.key;
499
- const dedupeKeyTemplateStr = typeof dedupeKeyTemplate === "string" ? dedupeKeyTemplate : null;
500
- const dedupeWindowMs = meta.dedupe?.windowMs ?? null;
501
- const timeoutMs = meta.timeoutMs ?? null;
502
- const replayFrom = meta.replayFrom ?? "last_checkpoint";
503
- const scopeEntityType = meta.scope?.entity ?? null;
504
- const priorityDefault = 0;
505
- await this.db.insert(jobs).values({
506
- type: entry.type,
507
- version: 1,
508
- pool,
509
- scopeEntityType,
510
- retryPolicy,
511
- timeoutMs,
512
- concurrencyKeyTemplate: concurrencyKeyTemplateStr,
513
- collisionMode,
514
- dedupeKeyTemplate: dedupeKeyTemplateStr,
515
- dedupeWindowMs,
516
- priorityDefault,
517
- replayFrom
518
- }).onConflictDoUpdate({
519
- target: jobs.type,
520
- set: {
521
- pool: sql2`EXCLUDED.pool`,
522
- scopeEntityType: sql2`EXCLUDED.scope_entity_type`,
523
- retryPolicy: sql2`EXCLUDED.retry_policy`,
524
- timeoutMs: sql2`EXCLUDED.timeout_ms`,
525
- concurrencyKeyTemplate: sql2`EXCLUDED.concurrency_key_template`,
526
- collisionMode: sql2`EXCLUDED.collision_mode`,
527
- dedupeKeyTemplate: sql2`EXCLUDED.dedupe_key_template`,
528
- dedupeWindowMs: sql2`EXCLUDED.dedupe_window_ms`,
529
- priorityDefault: sql2`EXCLUDED.priority_default`,
530
- replayFrom: sql2`EXCLUDED.replay_from`,
531
- version: sql2`${jobs.version} + 1`,
532
- updatedAt: sql2`now()`
533
- },
534
- // The hash gate: every field listed in the Q3 resolution appears
535
- // here. `IS DISTINCT FROM` is the null-safe inequality operator;
536
- // jsonb cast to text gives stable comparison without invoking a
537
- // dedicated hash column (avoids a JOB-1 schema migration).
538
- setWhere: sql2`
539
- ${jobs.pool} IS DISTINCT FROM EXCLUDED.pool OR
540
- ${jobs.retryPolicy}::text IS DISTINCT FROM EXCLUDED.retry_policy::text OR
541
- ${jobs.timeoutMs} IS DISTINCT FROM EXCLUDED.timeout_ms OR
542
- ${jobs.concurrencyKeyTemplate} IS DISTINCT FROM EXCLUDED.concurrency_key_template OR
543
- ${jobs.collisionMode} IS DISTINCT FROM EXCLUDED.collision_mode OR
544
- ${jobs.dedupeKeyTemplate} IS DISTINCT FROM EXCLUDED.dedupe_key_template OR
545
- ${jobs.dedupeWindowMs} IS DISTINCT FROM EXCLUDED.dedupe_window_ms OR
546
- ${jobs.priorityDefault} IS DISTINCT FROM EXCLUDED.priority_default OR
547
- ${jobs.replayFrom} IS DISTINCT FROM EXCLUDED.replay_from OR
548
- ${jobs.scopeEntityType} IS DISTINCT FROM EXCLUDED.scope_entity_type
549
- `
550
- });
551
- }
552
- const types = entries.map((e) => e.type);
553
- const orphans = types.length === 0 ? await this.db.select({ type: jobs.type }).from(jobs) : await this.db.select({ type: jobs.type }).from(jobs).where(notInArray(jobs.type, types));
554
- return { orphaned: orphans.map((o) => o.type) };
555
- }
556
- };
557
- DrizzleJobOrchestrator = __decorateClass([
558
- Injectable(),
559
- __decorateParam(0, Inject(DRIZZLE)),
560
- __decorateParam(1, Inject(JOBS_MULTI_TENANT))
561
- ], DrizzleJobOrchestrator);
562
- function notInStatus(statuses) {
563
- const negated = statuses.map((s) => ne(jobRuns.status, s));
564
- return and(...negated);
565
- }
2
+ DrizzleJobOrchestrator,
3
+ TERMINAL_STATUSES,
4
+ evaluateKeyTemplate
5
+ } from "../../../chunk-5Y7W3XR6.js";
6
+ import "../../../chunk-T4BIIU5E.js";
7
+ import "../../../chunk-BIO6F7YI.js";
8
+ import "../../../chunk-OKXZ63IA.js";
9
+ import "../../../chunk-GYGNEQSC.js";
10
+ import "../../../chunk-U64T4YZE.js";
11
+ import "../../../chunk-2E224ZSN.js";
566
12
  export {
567
13
  DrizzleJobOrchestrator,
568
14
  TERMINAL_STATUSES,