@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,546 +1,57 @@
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 = (index, decorator) => (target, key) => decorator(target, key, index);
12
-
13
- // runtime/subsystems/auth/protocols/oauth-state-store.ts
14
- var OAuthStateError = class extends Error {
15
- constructor(message, reason) {
16
- super(message);
17
- this.reason = reason;
18
- this.name = "OAuthStateError";
19
- }
20
- reason;
21
- };
22
-
23
- // runtime/subsystems/token-key.ts
24
- var PKG = "@pattern-stack/codegen";
25
- var tokenKey = (area, name) => `${PKG}.${area}.${name}`;
26
-
27
- // runtime/subsystems/auth/auth.tokens.ts
28
- var ENCRYPTION_KEY = Symbol.for(tokenKey("auth", "encryption-key"));
29
- var OAUTH_STATE_STORE = Symbol.for(tokenKey("auth", "oauth-state-store"));
30
- var AUTH_CONNECTION_READER = Symbol.for(tokenKey("auth", "connection-reader"));
31
- var AUTH_CONNECTION_TOKEN_WRITER = Symbol.for(tokenKey("auth", "connection-token-writer"));
32
- var AUTH_CONNECTION_GRANT_SINK = Symbol.for(tokenKey("auth", "connection-grant-sink"));
33
- var AUTH_USER_CONTEXT = Symbol.for(tokenKey("auth", "user-context"));
34
- var STRATEGY_REGISTRY = Symbol.for(tokenKey("auth", "strategy-registry"));
35
- var AUTH_OPTIONS = Symbol.for(tokenKey("auth", "options"));
36
-
37
- // runtime/subsystems/auth/runtime/connection-broken.error.ts
38
- var ConnectionBrokenError = class extends Error {
39
- constructor(connectionId, errorCode, errorDescription) {
40
- super(
41
- `Connection ${connectionId} broken: ${errorCode} - ${errorDescription}`
42
- );
43
- this.connectionId = connectionId;
44
- this.errorCode = errorCode;
45
- this.errorDescription = errorDescription;
46
- this.name = "ConnectionBrokenError";
47
- }
48
- connectionId;
49
- errorCode;
50
- errorDescription;
51
- };
52
-
53
- // runtime/subsystems/auth/runtime/oauth2-refresh.strategy.ts
54
- var REFRESH_SAFETY_MS = 5 * 60 * 1e3;
55
- var OAuth2RefreshStrategy = class {
56
- connectionReader;
57
- tokenWriter;
58
- fetchImpl;
59
- now;
60
- constructor(opts) {
61
- this.connectionReader = opts.connectionReader;
62
- this.tokenWriter = opts.tokenWriter;
63
- this.fetchImpl = opts.fetch ?? fetch;
64
- this.now = opts.now ?? Date.now;
65
- }
66
- async resolve(connectionId, opts = {}) {
67
- const connection = await this.connectionReader.findByIdDecrypted(connectionId);
68
- if (!connection) {
69
- throw new Error(`Connection ${connectionId} not found`);
70
- }
71
- if (connection.provider !== this.provider) {
72
- throw new Error(
73
- `${this.constructor.name} called for non-${this.provider} connection ${connectionId} (provider=${connection.provider})`
74
- );
75
- }
76
- const needsRefresh = opts.forceRefresh || this.isExpiring(connection.expiresAt) || !connection.accessToken;
77
- if (!needsRefresh) {
78
- return this.buildCredentials(connection.accessToken, connection);
79
- }
80
- if (!connection.refreshToken) {
81
- throw new ConnectionBrokenError(
82
- connectionId,
83
- "no_refresh_token",
84
- "Connection has no refresh token; user must reconnect"
85
- );
86
- }
87
- const { parsed, raw } = await this.executeRefresh(
88
- connectionId,
89
- connection.refreshToken
90
- );
91
- const newExpiresAt = new Date(
92
- this.now() + (parsed.expiresInSec ?? this.defaultExpiresInSec) * 1e3
93
- );
94
- await this.tokenWriter.persistRefresh({
95
- connectionId,
96
- accessToken: parsed.accessToken,
97
- refreshToken: parsed.refreshToken ?? void 0,
98
- expiresAt: newExpiresAt
99
- });
100
- return this.buildCredentials(parsed.accessToken, connection, raw);
101
- }
102
- async executeRefresh(connectionId, refreshToken) {
103
- const body = new URLSearchParams({
104
- grant_type: "refresh_token",
105
- refresh_token: refreshToken,
106
- ...this.refreshBodyExtras()
107
- });
108
- const response = await this.fetchImpl(this.tokenEndpoint(), {
109
- method: "POST",
110
- headers: { "Content-Type": "application/x-www-form-urlencoded" },
111
- body: body.toString()
112
- });
113
- if (!response.ok) {
114
- const err = await safeJson(response);
115
- if (response.status === 400 && (err.error === "invalid_grant" || err.error === "invalid_token")) {
116
- throw new ConnectionBrokenError(
117
- connectionId,
118
- err.error ?? "invalid_grant",
119
- err.error_description ?? err.message ?? "refresh token rejected"
120
- );
121
- }
122
- throw new Error(
123
- `${this.provider} token refresh failed: ${response.status} ${err.error ?? ""} ${err.error_description ?? err.message ?? ""}`.trim()
124
- );
125
- }
126
- const raw = await response.json();
127
- return { parsed: this.parseRefreshResponse(raw), raw };
128
- }
129
- isExpiring(expiresAt) {
130
- if (!expiresAt) return true;
131
- return expiresAt.getTime() - this.now() < REFRESH_SAFETY_MS;
132
- }
133
- };
134
- async function safeJson(response) {
135
- try {
136
- return await response.clone().json();
137
- } catch {
138
- return {};
139
- }
140
- }
141
-
142
- // runtime/subsystems/auth/runtime/session-expired.error.ts
143
- var SessionExpiredError = class extends Error {
144
- /** Duck-type marker — works across package boundaries where `instanceof` fails. */
145
- isSessionExpired = true;
146
- constructor(message = "Access token rejected by provider") {
147
- super(message);
148
- this.name = "SessionExpiredError";
149
- }
150
- };
151
- function isSessionExpiredError(err) {
152
- if (err instanceof SessionExpiredError) return true;
153
- if (err !== null && typeof err === "object" && "isSessionExpired" in err) {
154
- return err.isSessionExpired === true;
155
- }
156
- return false;
157
- }
158
-
159
- // runtime/subsystems/auth/runtime/with-auth-retry.ts
160
- async function withAuthRetry(authStrategy, connectionId, op, options = {}) {
161
- const classify = options.isSessionExpired ?? isSessionExpiredError;
162
- let creds = await authStrategy.resolve(connectionId);
163
- try {
164
- return await op(creds);
165
- } catch (e) {
166
- if (!classify(e)) throw e;
167
- creds = await authStrategy.resolve(connectionId, { forceRefresh: true });
168
- return op(creds);
169
- }
170
- }
171
-
172
- // runtime/subsystems/auth/auth-oauth-state.schema.ts
173
- import { pgTable, text, timestamp } from "drizzle-orm/pg-core";
174
- var authOAuthState = pgTable("auth_oauth_state", {
175
- state: text("state").primaryKey(),
176
- userId: text("user_id").notNull(),
177
- redirect: text("redirect"),
178
- expiresAt: timestamp("expires_at", { withTimezone: true }).notNull()
179
- });
180
-
181
- // runtime/subsystems/auth/backends/encryption-key/env.ts
182
- import { createCipheriv, createDecipheriv, randomBytes } from "crypto";
183
- var ALGO = "aes-256-gcm";
184
- var NONCE_BYTES = 12;
185
- var TAG_BYTES = 16;
186
- var KEY_BYTES = 32;
187
- var EnvEncryptionKey = class {
188
- key;
189
- constructor(opts = {}) {
190
- const env = opts.env ?? process.env;
191
- const envVar = opts.envVar ?? "INTEGRATION_TOKEN_ENCRYPTION_KEY";
192
- const raw = env[envVar];
193
- if (!raw) {
194
- throw new Error(
195
- `EnvEncryptionKey: ${envVar} is not set. Generate with: openssl rand -base64 32`
196
- );
197
- }
198
- const decoded = Buffer.from(raw, "base64");
199
- if (decoded.length !== KEY_BYTES) {
200
- throw new Error(
201
- `EnvEncryptionKey: ${envVar} must decode to ${KEY_BYTES} bytes (got ${decoded.length}). Use: openssl rand -base64 32`
202
- );
203
- }
204
- this.key = decoded;
205
- }
206
- async encrypt(plaintext) {
207
- const nonce = randomBytes(NONCE_BYTES);
208
- const cipher = createCipheriv(ALGO, this.key, nonce);
209
- const ciphertext = Buffer.concat([
210
- cipher.update(plaintext, "utf8"),
211
- cipher.final()
212
- ]);
213
- const authTag = cipher.getAuthTag();
214
- return Buffer.concat([nonce, ciphertext, authTag]).toString("base64");
215
- }
216
- async decrypt(ciphertext) {
217
- const buf = Buffer.from(ciphertext, "base64");
218
- if (buf.length < NONCE_BYTES + TAG_BYTES) {
219
- throw new Error("EnvEncryptionKey: ciphertext too short");
220
- }
221
- const nonce = buf.subarray(0, NONCE_BYTES);
222
- const authTag = buf.subarray(buf.length - TAG_BYTES);
223
- const body = buf.subarray(NONCE_BYTES, buf.length - TAG_BYTES);
224
- const decipher = createDecipheriv(ALGO, this.key, nonce);
225
- decipher.setAuthTag(authTag);
226
- const plain = Buffer.concat([decipher.update(body), decipher.final()]);
227
- return plain.toString("utf8");
228
- }
229
- };
230
-
231
- // runtime/subsystems/auth/backends/state-store.memory-backend.ts
232
- import { randomBytes as randomBytes2 } from "crypto";
233
- var MemoryOAuthStateStore = class {
234
- store = /* @__PURE__ */ new Map();
235
- ttlMs;
236
- now;
237
- generateToken;
238
- constructor(opts = {}) {
239
- this.ttlMs = opts.ttlMs ?? 10 * 60 * 1e3;
240
- this.now = opts.now ?? (() => Date.now());
241
- this.generateToken = opts.generateToken ?? (() => randomBytes2(32).toString("base64url"));
242
- }
243
- async generate(record) {
244
- const state = this.generateToken();
245
- this.store.set(state, {
246
- record: { ...record },
247
- expiresAt: this.now() + this.ttlMs
248
- });
249
- return state;
250
- }
251
- async consume(state) {
252
- const slot = this.store.get(state);
253
- if (!slot) {
254
- throw new OAuthStateError(
255
- `OAuth state token unknown or already consumed`,
256
- "missing"
257
- );
258
- }
259
- this.store.delete(state);
260
- if (slot.expiresAt <= this.now()) {
261
- throw new OAuthStateError(`OAuth state token expired`, "expired");
262
- }
263
- return slot.record;
264
- }
265
- };
266
-
267
- // runtime/subsystems/auth/backends/state-store.drizzle-backend.ts
268
- import { randomBytes as randomBytes3 } from "crypto";
269
- import { eq } from "drizzle-orm";
270
- var DrizzleOAuthStateStore = class {
271
- constructor(db, opts = {}) {
272
- this.db = db;
273
- this.ttlMs = opts.ttlMs ?? 10 * 60 * 1e3;
274
- this.now = opts.now ?? (() => Date.now());
275
- this.generateToken = opts.generateToken ?? (() => randomBytes3(32).toString("base64url"));
276
- }
277
- db;
278
- ttlMs;
279
- now;
280
- generateToken;
281
- async generate(record) {
282
- const state = this.generateToken();
283
- const expiresAt = new Date(this.now() + this.ttlMs);
284
- await this.db.insert(authOAuthState).values({
285
- state,
286
- userId: record.userId,
287
- redirect: record.redirect ?? null,
288
- expiresAt
289
- });
290
- return state;
291
- }
292
- async consume(state) {
293
- const rows = await this.db.delete(authOAuthState).where(eq(authOAuthState.state, state)).returning();
294
- const row = rows[0];
295
- if (!row) {
296
- throw new OAuthStateError(
297
- `OAuth state token unknown or already consumed`,
298
- "missing"
299
- );
300
- }
301
- if (row.expiresAt.getTime() <= this.now()) {
302
- throw new OAuthStateError(`OAuth state token expired`, "expired");
303
- }
304
- return {
305
- userId: row.userId,
306
- redirect: row.redirect ?? void 0
307
- };
308
- }
309
- };
310
-
311
- // runtime/subsystems/auth/controllers/auth.controller.ts
1
+ import "../../../chunk-7C3FOSDI.js";
312
2
  import {
313
- Controller,
314
- Get,
315
- Inject,
316
- Param,
317
- Query,
318
- Req,
319
- Res,
320
- HttpException,
321
- HttpStatus
322
- } from "@nestjs/common";
323
- var AuthController = class {
324
- constructor(registry, userContext, stateStore, grantSink, options) {
325
- this.registry = registry;
326
- this.userContext = userContext;
327
- this.stateStore = stateStore;
328
- this.grantSink = grantSink;
329
- this.options = options;
330
- }
331
- registry;
332
- userContext;
333
- stateStore;
334
- grantSink;
335
- options;
336
- async connect(slug, redirect, req, res) {
337
- const strategy = this.requireStrategy(slug);
338
- const userId = await this.userContext.getCurrentUserId(req);
339
- const state = await this.stateStore.generate({ userId, redirect });
340
- const url = strategy.buildAuthorizeUrl({
341
- state,
342
- redirectUri: this.redirectUriFor(slug)
343
- });
344
- return res.redirect(HttpStatus.FOUND, url);
345
- }
346
- async callback(slug, code, state, res) {
347
- const strategy = this.requireStrategy(slug);
348
- if (!code) {
349
- throw new HttpException(
350
- `Missing 'code' query param`,
351
- HttpStatus.BAD_REQUEST
352
- );
353
- }
354
- if (!state) {
355
- throw new HttpException(
356
- `Missing 'state' query param`,
357
- HttpStatus.BAD_REQUEST
358
- );
359
- }
360
- const { userId, redirect } = await this.stateStore.consume(state);
361
- const tokens = await strategy.exchangeCodeForTokens({
362
- code,
363
- redirectUri: this.redirectUriFor(slug)
364
- });
365
- await this.grantSink.createOrUpdateFromOAuthGrant({
366
- userId,
367
- provider: slug,
368
- accessToken: tokens.accessToken,
369
- refreshToken: tokens.refreshToken,
370
- expiresAt: tokens.expiresAt,
371
- scope: tokens.scope,
372
- externalAccountId: tokens.externalAccountId,
373
- providerMetadata: tokens.providerMetadata
374
- });
375
- return res.redirect(
376
- HttpStatus.FOUND,
377
- redirect ?? `/settings/connections?connected=${encodeURIComponent(slug)}`
378
- );
379
- }
380
- requireStrategy(slug) {
381
- const strategy = this.registry.get(slug);
382
- if (!strategy) {
383
- throw new HttpException(
384
- `Unknown provider '${slug}'`,
385
- HttpStatus.NOT_FOUND
386
- );
387
- }
388
- return strategy;
389
- }
390
- redirectUriFor(slug) {
391
- const base = this.options.redirectUriBase;
392
- if (!base) {
393
- throw new Error(
394
- `AuthModule.forRoot: redirectUriBase is required when AuthController is enabled`
395
- );
396
- }
397
- const trimmed = base.replace(/\/+$/, "");
398
- return `${trimmed}/auth/${encodeURIComponent(slug)}/callback`;
399
- }
400
- };
401
- __decorateClass([
402
- Get(":provider/connect"),
403
- __decorateParam(0, Param("provider")),
404
- __decorateParam(1, Query("redirect")),
405
- __decorateParam(2, Req()),
406
- __decorateParam(3, Res())
407
- ], AuthController.prototype, "connect", 1);
408
- __decorateClass([
409
- Get(":provider/callback"),
410
- __decorateParam(0, Param("provider")),
411
- __decorateParam(1, Query("code")),
412
- __decorateParam(2, Query("state")),
413
- __decorateParam(3, Res())
414
- ], AuthController.prototype, "callback", 1);
415
- AuthController = __decorateClass([
416
- Controller("auth"),
417
- __decorateParam(0, Inject(STRATEGY_REGISTRY)),
418
- __decorateParam(1, Inject(AUTH_USER_CONTEXT)),
419
- __decorateParam(2, Inject(OAUTH_STATE_STORE)),
420
- __decorateParam(3, Inject(AUTH_CONNECTION_GRANT_SINK)),
421
- __decorateParam(4, Inject(AUTH_OPTIONS))
422
- ], AuthController);
423
-
424
- // runtime/base-classes/tenant-context.ts
425
- import { AsyncLocalStorage } from "async_hooks";
426
- var als = new AsyncLocalStorage();
427
- function withRequester(ctx, fn) {
428
- return als.run(ctx, fn);
429
- }
430
-
431
- // runtime/subsystems/auth/middleware/requester-context.ts
432
- async function resolveRequesterContext(userContext, req) {
433
- if (typeof userContext.resolveRequester === "function") {
434
- const ctx = await userContext.resolveRequester(req);
435
- return ctx?.userId ? ctx : void 0;
436
- }
437
- const userId = await userContext.getCurrentUserId(req);
438
- return userId ? { userId, organizationId: null } : void 0;
439
- }
440
- function makeRequesterContextMiddleware(userContext, options = {}) {
441
- const onUnresolved = options.onUnresolved ?? "unscoped";
442
- return (req, _res, next) => {
443
- resolveRequesterContext(userContext, req).then(
444
- (ctx) => {
445
- if (!ctx) {
446
- next();
447
- return;
448
- }
449
- withRequester(ctx, async () => {
450
- next();
451
- });
452
- },
453
- (err) => {
454
- if (onUnresolved === "reject") {
455
- next(err);
456
- return;
457
- }
458
- next();
459
- }
460
- );
461
- };
462
- }
463
- function installRequesterContext(app, options = {}) {
464
- const userContext = app.get(AUTH_USER_CONTEXT, {
465
- strict: false
466
- });
467
- if (!userContext) {
468
- console.warn(
469
- "[auth] installRequesterContext: AUTH_USER_CONTEXT is not bound \u2014 request scoping NOT installed. Provide an IUserContext under AUTH_USER_CONTEXT in your AppModule to enable ambient tenant scoping."
470
- );
471
- return;
472
- }
473
- app.use(makeRequesterContextMiddleware(userContext, options));
474
- }
475
-
476
- // runtime/subsystems/auth/auth.module.ts
477
- import { Module } from "@nestjs/common";
478
-
479
- // runtime/constants/tokens.ts
480
- var DRIZZLE = "DRIZZLE";
481
-
482
- // runtime/subsystems/auth/auth.module.ts
483
- function resolveEncryptionKeyProvider(choice) {
484
- if (choice === "env") {
485
- return { provide: ENCRYPTION_KEY, useClass: EnvEncryptionKey };
486
- }
487
- return { provide: ENCRYPTION_KEY, ...choice };
488
- }
489
- function resolveOAuthStateStoreProvider(choice) {
490
- if (choice === "memory") {
491
- return { provide: OAUTH_STATE_STORE, useClass: MemoryOAuthStateStore };
492
- }
493
- if (choice === "drizzle") {
494
- return {
495
- provide: OAUTH_STATE_STORE,
496
- useFactory: (db) => {
497
- if (!db) {
498
- throw new Error(
499
- "AuthModule.forRoot: oauthStateStore: 'drizzle' selected but DRIZZLE provider is not available. Ensure DatabaseModule (or another provider exposing DRIZZLE) is imported before AuthModule.forRoot."
500
- );
501
- }
502
- return new DrizzleOAuthStateStore(db);
503
- },
504
- inject: [{ token: DRIZZLE, optional: true }]
505
- };
506
- }
507
- return { provide: OAUTH_STATE_STORE, ...choice };
508
- }
509
- var AuthModule = class {
510
- static forRoot(options = {}) {
511
- const resolved = {
512
- encryptionKey: options.encryptionKey ?? "env",
513
- oauthStateStore: options.oauthStateStore ?? "memory",
514
- enableController: options.enableController ?? false,
515
- redirectUriBase: options.redirectUriBase
516
- };
517
- if (resolved.enableController && !resolved.redirectUriBase) {
518
- throw new Error(
519
- "AuthModule.forRoot: redirectUriBase is required when enableController: true"
520
- );
521
- }
522
- const encryptionKeyProvider = resolveEncryptionKeyProvider(
523
- resolved.encryptionKey
524
- );
525
- const oauthStateStoreProvider = resolveOAuthStateStoreProvider(
526
- resolved.oauthStateStore
527
- );
528
- const optionsProvider = {
529
- provide: AUTH_OPTIONS,
530
- useValue: resolved
531
- };
532
- return {
533
- module: AuthModule,
534
- global: true,
535
- providers: [encryptionKeyProvider, oauthStateStoreProvider, optionsProvider],
536
- controllers: resolved.enableController ? [AuthController] : [],
537
- exports: [ENCRYPTION_KEY, OAUTH_STATE_STORE, AUTH_OPTIONS]
538
- };
539
- }
540
- };
541
- AuthModule = __decorateClass([
542
- Module({})
543
- ], AuthModule);
3
+ OAuth2RefreshStrategy
4
+ } from "../../../chunk-M6QLSLPO.js";
5
+ import {
6
+ ConnectionBrokenError
7
+ } from "../../../chunk-2N4UG4VD.js";
8
+ import {
9
+ withAuthRetry
10
+ } from "../../../chunk-WL67FZGF.js";
11
+ import {
12
+ SessionExpiredError,
13
+ isSessionExpiredError
14
+ } from "../../../chunk-7RELQJIN.js";
15
+ import {
16
+ installRequesterContext,
17
+ makeRequesterContextMiddleware,
18
+ resolveRequesterContext
19
+ } from "../../../chunk-OSQRXVG2.js";
20
+ import {
21
+ AuthModule
22
+ } from "../../../chunk-7LKAMLV4.js";
23
+ import {
24
+ EnvEncryptionKey
25
+ } from "../../../chunk-IP4OO26U.js";
26
+ import {
27
+ DrizzleOAuthStateStore
28
+ } from "../../../chunk-N5OTOWTP.js";
29
+ import {
30
+ MemoryOAuthStateStore
31
+ } from "../../../chunk-QLTJSCE6.js";
32
+ import {
33
+ OAuthStateError
34
+ } from "../../../chunk-BPARRK6F.js";
35
+ import {
36
+ AuthController
37
+ } from "../../../chunk-SZVPIHWE.js";
38
+ import {
39
+ AUTH_CONNECTION_GRANT_SINK,
40
+ AUTH_CONNECTION_READER,
41
+ AUTH_CONNECTION_TOKEN_WRITER,
42
+ AUTH_OPTIONS,
43
+ AUTH_USER_CONTEXT,
44
+ ENCRYPTION_KEY,
45
+ OAUTH_STATE_STORE,
46
+ STRATEGY_REGISTRY
47
+ } from "../../../chunk-6XY6ZMMD.js";
48
+ import {
49
+ authOAuthState
50
+ } from "../../../chunk-NPFPZ2HO.js";
51
+ import "../../../chunk-GYGNEQSC.js";
52
+ import "../../../chunk-ZUKFQL6E.js";
53
+ import "../../../chunk-U64T4YZE.js";
54
+ import "../../../chunk-2E224ZSN.js";
544
55
  export {
545
56
  AUTH_CONNECTION_GRANT_SINK,
546
57
  AUTH_CONNECTION_READER,