alepha 0.21.2 → 0.22.0

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 (463) hide show
  1. package/README.md +0 -1
  2. package/dist/api/audits/index.browser.js.map +1 -1
  3. package/dist/api/audits/index.d.ts +393 -403
  4. package/dist/api/audits/index.d.ts.map +1 -1
  5. package/dist/api/audits/index.js +25 -56
  6. package/dist/api/audits/index.js.map +1 -1
  7. package/dist/api/files/index.browser.js +31 -1
  8. package/dist/api/files/index.browser.js.map +1 -1
  9. package/dist/api/files/index.d.ts +313 -208
  10. package/dist/api/files/index.d.ts.map +1 -1
  11. package/dist/api/files/index.js +152 -42
  12. package/dist/api/files/index.js.map +1 -1
  13. package/dist/api/jobs/index.browser.js +2 -2
  14. package/dist/api/jobs/index.browser.js.map +1 -1
  15. package/dist/api/jobs/index.d.ts +289 -292
  16. package/dist/api/jobs/index.d.ts.map +1 -1
  17. package/dist/api/jobs/index.js +39 -33
  18. package/dist/api/jobs/index.js.map +1 -1
  19. package/dist/api/keys/index.d.ts +211 -216
  20. package/dist/api/keys/index.d.ts.map +1 -1
  21. package/dist/api/keys/index.js.map +1 -1
  22. package/dist/api/notifications/index.browser.js.map +1 -1
  23. package/dist/api/notifications/index.d.ts +188 -195
  24. package/dist/api/notifications/index.d.ts.map +1 -1
  25. package/dist/api/notifications/index.js.map +1 -1
  26. package/dist/api/oauth/index.d.ts +71 -76
  27. package/dist/api/oauth/index.d.ts.map +1 -1
  28. package/dist/api/oauth/index.js.map +1 -1
  29. package/dist/api/organizations/index.browser.js.map +1 -1
  30. package/dist/api/organizations/index.d.ts +104 -109
  31. package/dist/api/organizations/index.d.ts.map +1 -1
  32. package/dist/api/organizations/index.js.map +1 -1
  33. package/dist/api/parameters/index.browser.js +43 -16
  34. package/dist/api/parameters/index.browser.js.map +1 -1
  35. package/dist/api/parameters/index.d.ts +488 -344
  36. package/dist/api/parameters/index.d.ts.map +1 -1
  37. package/dist/api/parameters/index.js +175 -35
  38. package/dist/api/parameters/index.js.map +1 -1
  39. package/dist/api/payments/index.d.ts +396 -402
  40. package/dist/api/payments/index.d.ts.map +1 -1
  41. package/dist/api/payments/index.js.map +1 -1
  42. package/dist/api/subscriptions/index.d.ts +644 -652
  43. package/dist/api/subscriptions/index.d.ts.map +1 -1
  44. package/dist/api/subscriptions/index.js +1 -1
  45. package/dist/api/subscriptions/index.js.map +1 -1
  46. package/dist/api/users/index.browser.js +7 -0
  47. package/dist/api/users/index.browser.js.map +1 -1
  48. package/dist/api/users/index.d.ts +1073 -1006
  49. package/dist/api/users/index.d.ts.map +1 -1
  50. package/dist/api/users/index.js +283 -61
  51. package/dist/api/users/index.js.map +1 -1
  52. package/dist/api/verifications/index.browser.js.map +1 -1
  53. package/dist/api/verifications/index.d.ts +134 -140
  54. package/dist/api/verifications/index.d.ts.map +1 -1
  55. package/dist/api/verifications/index.js.map +1 -1
  56. package/dist/background/index.d.ts +95 -0
  57. package/dist/background/index.d.ts.map +1 -0
  58. package/dist/background/index.js +121 -0
  59. package/dist/background/index.js.map +1 -0
  60. package/dist/background/index.workerd.js +110 -0
  61. package/dist/background/index.workerd.js.map +1 -0
  62. package/dist/batch/index.d.ts +5 -7
  63. package/dist/batch/index.d.ts.map +1 -1
  64. package/dist/batch/index.js.map +1 -1
  65. package/dist/bin/index.js.map +1 -1
  66. package/dist/bucket/index.d.ts +76 -54
  67. package/dist/bucket/index.d.ts.map +1 -1
  68. package/dist/bucket/index.js +58 -11
  69. package/dist/bucket/index.js.map +1 -1
  70. package/dist/bucket/index.workerd.js +200 -5
  71. package/dist/bucket/index.workerd.js.map +1 -1
  72. package/dist/cache/core/index.d.ts +7 -10
  73. package/dist/cache/core/index.d.ts.map +1 -1
  74. package/dist/cache/core/index.js.map +1 -1
  75. package/dist/cache/core/index.workerd.js.map +1 -1
  76. package/dist/cache/database/index.d.ts +22 -26
  77. package/dist/cache/database/index.d.ts.map +1 -1
  78. package/dist/cache/database/index.js.map +1 -1
  79. package/dist/cache/redis/index.d.ts +4 -7
  80. package/dist/cache/redis/index.d.ts.map +1 -1
  81. package/dist/cache/redis/index.js.map +1 -1
  82. package/dist/captcha/index.d.ts +3 -6
  83. package/dist/captcha/index.d.ts.map +1 -1
  84. package/dist/captcha/index.js.map +1 -1
  85. package/dist/cli/config/index.d.ts.map +1 -1
  86. package/dist/cli/config/index.js.map +1 -1
  87. package/dist/cli/core/index.d.ts +417 -214
  88. package/dist/cli/core/index.d.ts.map +1 -1
  89. package/dist/cli/core/index.js +325 -563
  90. package/dist/cli/core/index.js.map +1 -1
  91. package/dist/cli/devtools/index.d.ts +3 -5
  92. package/dist/cli/devtools/index.d.ts.map +1 -1
  93. package/dist/cli/devtools/index.js.map +1 -1
  94. package/dist/cli/i18n/index.d.ts +8 -12
  95. package/dist/cli/i18n/index.d.ts.map +1 -1
  96. package/dist/cli/i18n/index.js.map +1 -1
  97. package/dist/cli/platform/index.d.ts +126 -1342
  98. package/dist/cli/platform/index.d.ts.map +1 -1
  99. package/dist/cli/platform/index.js +136 -2374
  100. package/dist/cli/platform/index.js.map +1 -1
  101. package/dist/cli/platform-lib/index.d.ts +1446 -0
  102. package/dist/cli/platform-lib/index.d.ts.map +1 -0
  103. package/dist/cli/platform-lib/index.js +2597 -0
  104. package/dist/cli/platform-lib/index.js.map +1 -0
  105. package/dist/cli/vendor/index.d.ts +17 -21
  106. package/dist/cli/vendor/index.d.ts.map +1 -1
  107. package/dist/cli/vendor/index.js.map +1 -1
  108. package/dist/command/index.d.ts +21 -20
  109. package/dist/command/index.d.ts.map +1 -1
  110. package/dist/command/index.js +39 -10
  111. package/dist/command/index.js.map +1 -1
  112. package/dist/{containers → container}/core/index.d.ts +13 -15
  113. package/dist/container/core/index.d.ts.map +1 -0
  114. package/dist/{containers → container}/core/index.js +23 -14
  115. package/dist/container/core/index.js.map +1 -0
  116. package/dist/{containers → container}/core/index.workerd.js +37 -22
  117. package/dist/container/core/index.workerd.js.map +1 -0
  118. package/dist/core/index.browser.js +27 -1
  119. package/dist/core/index.browser.js.map +1 -1
  120. package/dist/core/index.d.ts +48 -24
  121. package/dist/core/index.d.ts.map +1 -1
  122. package/dist/core/index.js +27 -1
  123. package/dist/core/index.js.map +1 -1
  124. package/dist/core/index.native.js +27 -1
  125. package/dist/core/index.native.js.map +1 -1
  126. package/dist/core/index.workerd.js +27 -1
  127. package/dist/core/index.workerd.js.map +1 -1
  128. package/dist/crypto/index.browser.js.map +1 -1
  129. package/dist/crypto/index.d.ts +5 -8
  130. package/dist/crypto/index.d.ts.map +1 -1
  131. package/dist/crypto/index.js.map +1 -1
  132. package/dist/datetime/index.d.ts +3 -4
  133. package/dist/datetime/index.d.ts.map +1 -1
  134. package/dist/datetime/index.js.map +1 -1
  135. package/dist/email/brevo/index.d.ts +2 -4
  136. package/dist/email/brevo/index.d.ts.map +1 -1
  137. package/dist/email/brevo/index.js.map +1 -1
  138. package/dist/email/cloudflare/index.d.ts +20 -7
  139. package/dist/email/cloudflare/index.d.ts.map +1 -1
  140. package/dist/email/cloudflare/index.js +46 -9
  141. package/dist/email/cloudflare/index.js.map +1 -1
  142. package/dist/email/core/index.d.ts +6 -9
  143. package/dist/email/core/index.d.ts.map +1 -1
  144. package/dist/email/core/index.js.map +1 -1
  145. package/dist/email/core/index.workerd.js.map +1 -1
  146. package/dist/email/smtp/index.d.ts +10 -13
  147. package/dist/email/smtp/index.d.ts.map +1 -1
  148. package/dist/email/smtp/index.js +107 -32
  149. package/dist/email/smtp/index.js.map +1 -1
  150. package/dist/fake/index.d.ts +1 -2
  151. package/dist/fake/index.d.ts.map +1 -1
  152. package/dist/fake/index.js.map +1 -1
  153. package/dist/lock/core/index.d.ts +9 -14
  154. package/dist/lock/core/index.d.ts.map +1 -1
  155. package/dist/lock/core/index.js.map +1 -1
  156. package/dist/lock/redis/index.d.ts +2 -4
  157. package/dist/lock/redis/index.d.ts.map +1 -1
  158. package/dist/lock/redis/index.js.map +1 -1
  159. package/dist/logger/index.d.ts +105 -76
  160. package/dist/logger/index.d.ts.map +1 -1
  161. package/dist/logger/index.js +196 -174
  162. package/dist/logger/index.js.map +1 -1
  163. package/dist/mcp/index.d.ts +16 -20
  164. package/dist/mcp/index.d.ts.map +1 -1
  165. package/dist/mcp/index.js.map +1 -1
  166. package/dist/orm/core/index.browser.js.map +1 -1
  167. package/dist/orm/core/index.bun.js +19 -1
  168. package/dist/orm/core/index.bun.js.map +1 -1
  169. package/dist/orm/core/index.d.ts +76 -62
  170. package/dist/orm/core/index.d.ts.map +1 -1
  171. package/dist/orm/core/index.js +20 -2
  172. package/dist/orm/core/index.js.map +1 -1
  173. package/dist/orm/postgres/index.bun.js.map +1 -1
  174. package/dist/orm/postgres/index.d.ts +28 -20
  175. package/dist/orm/postgres/index.d.ts.map +1 -1
  176. package/dist/orm/postgres/index.js.map +1 -1
  177. package/dist/queue/core/index.d.ts +12 -15
  178. package/dist/queue/core/index.d.ts.map +1 -1
  179. package/dist/queue/core/index.js.map +1 -1
  180. package/dist/queue/core/index.workerd.js.map +1 -1
  181. package/dist/queue/redis/index.d.ts +3 -5
  182. package/dist/queue/redis/index.d.ts.map +1 -1
  183. package/dist/queue/redis/index.js.map +1 -1
  184. package/dist/react/auth/index.browser.js +9 -2
  185. package/dist/react/auth/index.browser.js.map +1 -1
  186. package/dist/react/auth/index.d.ts +14 -9
  187. package/dist/react/auth/index.d.ts.map +1 -1
  188. package/dist/react/auth/index.js +9 -2
  189. package/dist/react/auth/index.js.map +1 -1
  190. package/dist/react/core/index.d.ts +7 -8
  191. package/dist/react/core/index.d.ts.map +1 -1
  192. package/dist/react/core/index.js +6 -3
  193. package/dist/react/core/index.js.map +1 -1
  194. package/dist/react/form/index.d.ts +2 -4
  195. package/dist/react/form/index.d.ts.map +1 -1
  196. package/dist/react/form/index.js.map +1 -1
  197. package/dist/react/head/index.browser.js.map +1 -1
  198. package/dist/react/head/index.d.ts +2 -4
  199. package/dist/react/head/index.d.ts.map +1 -1
  200. package/dist/react/head/index.js.map +1 -1
  201. package/dist/react/i18n/index.d.ts +47 -11
  202. package/dist/react/i18n/index.d.ts.map +1 -1
  203. package/dist/react/i18n/index.js +33 -1
  204. package/dist/react/i18n/index.js.map +1 -1
  205. package/dist/react/intro/index.d.ts +1 -2
  206. package/dist/react/intro/index.d.ts.map +1 -1
  207. package/dist/react/intro/index.js +2 -2
  208. package/dist/react/intro/index.js.map +1 -1
  209. package/dist/react/router/index.browser.js +65 -19
  210. package/dist/react/router/index.browser.js.map +1 -1
  211. package/dist/react/router/index.d.ts +327 -222
  212. package/dist/react/router/index.d.ts.map +1 -1
  213. package/dist/react/router/index.js +65 -29
  214. package/dist/react/router/index.js.map +1 -1
  215. package/dist/react/testing/index.d.ts +1 -2
  216. package/dist/react/testing/index.d.ts.map +1 -1
  217. package/dist/react/testing/index.js +16 -17
  218. package/dist/react/testing/index.js.map +1 -1
  219. package/dist/react/ui/index.d.ts +20 -25
  220. package/dist/react/ui/index.d.ts.map +1 -1
  221. package/dist/react/ui/index.js.map +1 -1
  222. package/dist/redis/index.bun.js.map +1 -1
  223. package/dist/redis/index.d.ts +17 -19
  224. package/dist/redis/index.d.ts.map +1 -1
  225. package/dist/redis/index.js.map +1 -1
  226. package/dist/retry/index.d.ts +2 -4
  227. package/dist/retry/index.d.ts.map +1 -1
  228. package/dist/retry/index.js.map +1 -1
  229. package/dist/router/index.d.ts.map +1 -1
  230. package/dist/router/index.js.map +1 -1
  231. package/dist/scheduler/index.d.ts +10 -13
  232. package/dist/scheduler/index.d.ts.map +1 -1
  233. package/dist/scheduler/index.js.map +1 -1
  234. package/dist/scheduler/index.workerd.js.map +1 -1
  235. package/dist/security/index.browser.js.map +1 -1
  236. package/dist/security/index.d.ts +45 -48
  237. package/dist/security/index.d.ts.map +1 -1
  238. package/dist/security/index.js.map +1 -1
  239. package/dist/server/auth/index.browser.js.map +1 -1
  240. package/dist/server/auth/index.d.ts +167 -172
  241. package/dist/server/auth/index.d.ts.map +1 -1
  242. package/dist/server/auth/index.js +4 -8
  243. package/dist/server/auth/index.js.map +1 -1
  244. package/dist/server/cookies/index.browser.js.map +1 -1
  245. package/dist/server/cookies/index.d.ts +5 -7
  246. package/dist/server/cookies/index.d.ts.map +1 -1
  247. package/dist/server/cookies/index.js.map +1 -1
  248. package/dist/server/core/index.browser.js.map +1 -1
  249. package/dist/server/core/index.d.ts +88 -73
  250. package/dist/server/core/index.d.ts.map +1 -1
  251. package/dist/server/core/index.js +19 -0
  252. package/dist/server/core/index.js.map +1 -1
  253. package/dist/server/cors/index.d.ts +11 -14
  254. package/dist/server/cors/index.d.ts.map +1 -1
  255. package/dist/server/cors/index.js.map +1 -1
  256. package/dist/server/etag/index.d.ts +6 -9
  257. package/dist/server/etag/index.d.ts.map +1 -1
  258. package/dist/server/etag/index.js.map +1 -1
  259. package/dist/server/health/index.d.ts +18 -21
  260. package/dist/server/health/index.d.ts.map +1 -1
  261. package/dist/server/health/index.js.map +1 -1
  262. package/dist/server/links/index.browser.js +2 -0
  263. package/dist/server/links/index.browser.js.map +1 -1
  264. package/dist/server/links/index.d.ts +63 -67
  265. package/dist/server/links/index.d.ts.map +1 -1
  266. package/dist/server/links/index.js +2 -0
  267. package/dist/server/links/index.js.map +1 -1
  268. package/dist/server/metrics/index.d.ts +5 -7
  269. package/dist/server/metrics/index.d.ts.map +1 -1
  270. package/dist/server/metrics/index.js.map +1 -1
  271. package/dist/server/proxy/index.d.ts +3 -5
  272. package/dist/server/proxy/index.d.ts.map +1 -1
  273. package/dist/server/proxy/index.js.map +1 -1
  274. package/dist/server/rate-limit/index.d.ts +10 -13
  275. package/dist/server/rate-limit/index.d.ts.map +1 -1
  276. package/dist/server/rate-limit/index.js.map +1 -1
  277. package/dist/server/static/index.d.ts +3 -5
  278. package/dist/server/static/index.d.ts.map +1 -1
  279. package/dist/server/static/index.js.map +1 -1
  280. package/dist/server/swagger/index.d.ts +5 -8
  281. package/dist/server/swagger/index.d.ts.map +1 -1
  282. package/dist/server/swagger/index.js.map +1 -1
  283. package/dist/sms/index.d.ts +3 -5
  284. package/dist/sms/index.d.ts.map +1 -1
  285. package/dist/sms/index.js.map +1 -1
  286. package/dist/system/index.browser.js.map +1 -1
  287. package/dist/system/index.d.ts +2 -4
  288. package/dist/system/index.d.ts.map +1 -1
  289. package/dist/system/index.js.map +1 -1
  290. package/dist/system/index.workerd.js.map +1 -1
  291. package/dist/topic/core/index.d.ts +4 -6
  292. package/dist/topic/core/index.d.ts.map +1 -1
  293. package/dist/topic/core/index.js.map +1 -1
  294. package/dist/topic/redis/index.d.ts +5 -8
  295. package/dist/topic/redis/index.d.ts.map +1 -1
  296. package/dist/topic/redis/index.js.map +1 -1
  297. package/package.json +45 -22
  298. package/src/api/audits/__tests__/AuditService.spec.ts +18 -110
  299. package/src/api/audits/controllers/AdminAuditController.ts +14 -0
  300. package/src/api/audits/services/AuditService.ts +21 -88
  301. package/src/api/files/__tests__/FileService.spec.ts +207 -2
  302. package/src/api/files/index.ts +3 -0
  303. package/src/api/files/schemas/fileCreatorSummarySchema.ts +22 -0
  304. package/src/api/files/schemas/fileResourceSchema.ts +10 -1
  305. package/src/api/files/services/FileService.ts +170 -72
  306. package/src/api/jobs/__tests__/$job.spec.ts +24 -1
  307. package/src/api/jobs/index.ts +4 -3
  308. package/src/api/jobs/primitives/$job.ts +7 -3
  309. package/src/api/jobs/providers/DirectJobDispatcher.ts +17 -36
  310. package/src/api/jobs/providers/JobProvider.ts +53 -24
  311. package/src/api/jobs/schemas/jobConfigAtom.ts +1 -1
  312. package/src/api/jobs/schemas/jobExecutionResourceSchema.ts +4 -1
  313. package/src/api/keys/schemas/adminApiKeyResourceSchema.ts +3 -1
  314. package/src/api/parameters/__tests__/$parameter.spec.ts +19 -2
  315. package/src/api/parameters/audits/ParameterAudits.ts +17 -0
  316. package/src/api/parameters/controllers/AdminParameterController.ts +95 -19
  317. package/src/api/parameters/index.ts +3 -0
  318. package/src/api/parameters/schemas/activateParameterBodySchema.ts +3 -3
  319. package/src/api/parameters/schemas/createParameterVersionBodySchema.ts +3 -2
  320. package/src/api/parameters/schemas/parameterCreatorSummarySchema.ts +25 -0
  321. package/src/api/parameters/schemas/parameterResponseSchema.ts +5 -0
  322. package/src/api/parameters/schemas/rollbackParameterBodySchema.ts +4 -2
  323. package/src/api/parameters/services/ParameterProvider.ts +69 -6
  324. package/src/api/subscriptions/jobs/SubscriptionJobs.ts +1 -1
  325. package/src/api/users/__tests__/AdminSessionController.spec.ts +37 -0
  326. package/src/api/users/audits/SessionAudits.ts +33 -0
  327. package/src/api/users/audits/UserAudits.ts +19 -43
  328. package/src/api/users/controllers/AdminUserController.ts +66 -1
  329. package/src/api/users/entities/sessions.ts +6 -0
  330. package/src/api/users/entities/users.ts +2 -0
  331. package/src/api/users/index.ts +9 -1
  332. package/src/api/users/primitives/$realm.ts +3 -0
  333. package/src/api/users/schemas/sessionResourceSchema.ts +16 -0
  334. package/src/api/users/schemas/updateUserSchema.ts +1 -8
  335. package/src/api/users/schemas/userQuerySchema.ts +7 -0
  336. package/src/api/users/services/CredentialService.ts +15 -6
  337. package/src/api/users/services/IdentityService.ts +2 -1
  338. package/src/api/users/services/RegistrationService.ts +2 -1
  339. package/src/api/users/services/SessionCrudService.ts +19 -2
  340. package/src/api/users/services/SessionService.ts +39 -19
  341. package/src/api/users/services/UserService.ts +106 -8
  342. package/src/background/__tests__/BackgroundTaskProvider.spec.ts +96 -0
  343. package/src/background/index.ts +37 -0
  344. package/src/background/index.workerd.ts +28 -0
  345. package/src/background/providers/BackgroundTaskProvider.ts +70 -0
  346. package/src/background/providers/WorkerdBackgroundTaskProvider.ts +43 -0
  347. package/src/bucket/__tests__/$bucket.spec.ts +18 -0
  348. package/src/bucket/__tests__/LocalFileStorageProvider.spec.ts +5 -0
  349. package/src/bucket/__tests__/MemoryFileStorageProvider.spec.ts +5 -0
  350. package/src/bucket/__tests__/NodeS3BucketProvider.spec.ts +23 -4
  351. package/src/bucket/__tests__/shared.ts +30 -0
  352. package/src/bucket/index.ts +5 -5
  353. package/src/bucket/index.workerd.ts +11 -4
  354. package/src/bucket/primitives/$bucket.ts +27 -0
  355. package/src/bucket/providers/FileStorageProvider.ts +13 -0
  356. package/src/bucket/providers/LocalFileStorageProvider.ts +17 -1
  357. package/src/bucket/providers/MemoryFileStorageProvider.ts +7 -0
  358. package/src/bucket/providers/{CloudflareR2Provider.ts → R2FileStorageProvider.ts} +10 -1
  359. package/src/bucket/providers/{NodeS3BucketProvider.ts → S3FileStorageProvider.ts} +27 -5
  360. package/src/cli/core/__tests__/BuildDockerTask.spec.ts +25 -1
  361. package/src/cli/core/__tests__/init.spec.ts +0 -219
  362. package/src/cli/core/commands/__tests__/BuildCommand.spec.ts +43 -0
  363. package/src/cli/core/commands/build.ts +108 -30
  364. package/src/cli/core/commands/init.ts +0 -12
  365. package/src/cli/core/commands/pack.ts +133 -0
  366. package/src/cli/core/index.ts +3 -0
  367. package/src/cli/core/providers/ViteDevServerProvider.ts +40 -16
  368. package/src/cli/core/services/PackageManagerUtils.ts +0 -16
  369. package/src/cli/core/services/ProjectScaffolder.ts +29 -291
  370. package/src/cli/core/tasks/BuildCloudflareTask.ts +353 -47
  371. package/src/cli/core/tasks/BuildDockerTask.ts +33 -3
  372. package/src/cli/core/tasks/BuildTask.ts +34 -0
  373. package/src/cli/core/templates/apiIndexTs.ts +1 -22
  374. package/src/cli/core/templates/mainCss.ts +0 -1
  375. package/src/cli/core/templates/webAppRouterTs.ts +0 -99
  376. package/src/cli/core/templates/webIndexTs.ts +1 -22
  377. package/src/cli/platform/__tests__/SecretsCommand.spec.ts +5 -3
  378. package/src/cli/platform/commands/SecretsCommand.ts +8 -6
  379. package/src/cli/platform/commands/platform.ts +192 -46
  380. package/src/cli/platform/index.ts +12 -52
  381. package/src/cli/{platform → platform-lib}/__tests__/CloudflareAdapter.spec.ts +426 -169
  382. package/src/cli/{platform → platform-lib}/__tests__/NamingService.spec.ts +91 -4
  383. package/src/cli/{platform → platform-lib}/__tests__/VercelAdapter.spec.ts +56 -85
  384. package/src/cli/{platform → platform-lib}/adapters/CloudflareAdapter.ts +402 -165
  385. package/src/cli/{platform → platform-lib}/adapters/PlatformAdapter.ts +62 -35
  386. package/src/cli/{platform → platform-lib}/adapters/VercelAdapter.ts +6 -10
  387. package/src/cli/{platform → platform-lib}/atoms/platformOptions.ts +34 -1
  388. package/src/cli/platform-lib/index.ts +67 -0
  389. package/src/cli/platform-lib/services/NamingService.ts +136 -0
  390. package/src/cli/{platform → platform-lib}/services/PlatformInspector.ts +60 -13
  391. package/src/cli/{platform → platform-lib}/services/PlatformOrchestrator.ts +54 -43
  392. package/src/cli/{platform → platform-lib}/services/WranglerApi.ts +4 -2
  393. package/src/command/__tests__/Runner.spec.ts +20 -0
  394. package/src/command/helpers/EnvUtils.ts +19 -3
  395. package/src/command/helpers/Runner.ts +12 -2
  396. package/src/command/providers/CliProvider.ts +34 -1
  397. package/src/{containers → container}/core/__tests__/$container.spec.ts +5 -5
  398. package/src/{containers → container}/core/index.ts +4 -4
  399. package/src/{containers → container}/core/index.workerd.ts +19 -3
  400. package/src/{containers → container}/core/primitives/$container.ts +1 -1
  401. package/src/{containers → container}/core/providers/CloudflareContainerProvider.ts +17 -19
  402. package/src/{containers → container}/core/providers/ContainerProvider.ts +16 -2
  403. package/src/{containers → container}/core/providers/MockContainerProvider.ts +1 -1
  404. package/src/core/Alepha.ts +49 -1
  405. package/src/core/__tests__/$env.spec.ts +42 -0
  406. package/src/core/__tests__/dump.spec.ts +47 -0
  407. package/src/email/cloudflare/__tests__/CloudflareEmailProvider.spec.ts +42 -10
  408. package/src/email/cloudflare/index.ts +14 -5
  409. package/src/email/cloudflare/providers/CloudflareEmailProvider.ts +54 -9
  410. package/src/logger/__tests__/Logger.spec.ts +55 -0
  411. package/src/logger/index.ts +13 -0
  412. package/src/logger/services/Logger.ts +31 -1
  413. package/src/orm/__tests__/orm-showcase-tests.ts +27 -0
  414. package/src/orm/__tests__/orm-showcase.spec.ts +12 -0
  415. package/src/orm/core/interfaces/PgQuery.ts +4 -1
  416. package/src/orm/core/services/Repository.ts +27 -11
  417. package/src/react/auth/hooks/useAuth.ts +10 -5
  418. package/src/react/core/__tests__/useQuery.browser.spec.tsx +25 -0
  419. package/src/react/core/hooks/useAction.ts +14 -3
  420. package/src/react/core/hooks/useQuery.ts +24 -4
  421. package/src/react/i18n/components/Translate.tsx +47 -0
  422. package/src/react/i18n/index.ts +2 -0
  423. package/src/react/intro/components/GettingStartedAdminSlide.tsx +2 -2
  424. package/src/react/router/__tests__/$page.spec.tsx +3 -2
  425. package/src/react/router/__tests__/page-can.spec.ts +18 -13
  426. package/src/react/router/hooks/useQueryParams.ts +114 -14
  427. package/src/react/router/primitives/$page.ts +85 -4
  428. package/src/react/router/providers/ReactBrowserRouterProvider.ts +3 -7
  429. package/src/react/router/providers/ReactServerProvider.ts +4 -13
  430. package/src/react/ui/services/SchemaControl.ts +3 -4
  431. package/src/server/core/providers/ServerMultipartProvider.ts +19 -0
  432. package/src/server/links/providers/LinkProvider.ts +10 -0
  433. package/dist/containers/core/index.d.ts.map +0 -1
  434. package/dist/containers/core/index.js.map +0 -1
  435. package/dist/containers/core/index.workerd.js.map +0 -1
  436. package/src/cli/core/templates/componentsJsonTs.ts +0 -39
  437. package/src/cli/core/templates/saasAdminLayoutTsx.ts +0 -77
  438. package/src/cli/core/templates/saasAdminPagesTsx.ts +0 -26
  439. package/src/cli/core/templates/saasAuthLayoutTsx.ts +0 -22
  440. package/src/cli/core/templates/saasAuthPagesTsx.ts +0 -62
  441. package/src/cli/core/templates/saasRealmProviderTs.ts +0 -52
  442. package/src/cli/platform/services/NamingService.ts +0 -54
  443. /package/dist/orm/core/{chunk-o8xxKEmq.js → chunk-B4FMCO8f.js} +0 -0
  444. /package/dist/react/testing/{chunk-6Ep1yQYe.js → chunk-BpyX8vjI.js} +0 -0
  445. /package/src/cli/{platform → platform-lib}/__tests__/GitHubSecretStore.spec.ts +0 -0
  446. /package/src/cli/{platform → platform-lib}/__tests__/PlatformCacheProvider.spec.ts +0 -0
  447. /package/src/cli/{platform → platform-lib}/__tests__/PlatformInspector.spec.ts +0 -0
  448. /package/src/cli/{platform → platform-lib}/__tests__/PlatformOrchestrator.spec.ts +0 -0
  449. /package/src/cli/{platform → platform-lib}/__tests__/SecretFilterService.spec.ts +0 -0
  450. /package/src/cli/{platform → platform-lib}/__tests__/detectResources.spec.ts +0 -0
  451. /package/src/cli/{platform → platform-lib}/providers/GitHubSecretStore.ts +0 -0
  452. /package/src/cli/{platform → platform-lib}/providers/MemorySecretStore.ts +0 -0
  453. /package/src/cli/{platform → platform-lib}/providers/PlatformCacheProvider.ts +0 -0
  454. /package/src/cli/{platform → platform-lib}/providers/SecretStoreProvider.ts +0 -0
  455. /package/src/cli/{platform → platform-lib}/schemas/cloudflare.ts +0 -0
  456. /package/src/cli/{platform → platform-lib}/schemas/platform.ts +0 -0
  457. /package/src/cli/{platform → platform-lib}/schemas/vercel.ts +0 -0
  458. /package/src/cli/{platform → platform-lib}/services/CloudflareApi.ts +0 -0
  459. /package/src/cli/{platform → platform-lib}/services/SecretFilterService.ts +0 -0
  460. /package/src/cli/{platform → platform-lib}/services/VercelApi.ts +0 -0
  461. /package/src/cli/{platform → platform-lib}/services/VercelCli.ts +0 -0
  462. /package/src/{containers → container}/core/interfaces/ContainerOptions.ts +0 -0
  463. /package/src/{containers → container}/core/providers/NodeContainerProvider.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.bun.js","names":["sql","sql","sql"],"sources":["../../../src/orm/postgres/schemas/postgresEnvSchema.ts","../../../src/orm/postgres/types/byte.ts","../../../src/orm/postgres/services/PostgresModelBuilder.ts","../../../src/orm/postgres/providers/PostgresProvider.ts","../../../src/orm/postgres/providers/BunPostgresProvider.ts","../../../src/orm/postgres/providers/PglitePostgresProvider.ts","../../../src/orm/postgres/index.bun.ts"],"sourcesContent":["import { type Static, t } from \"alepha\";\n\n/**\n * PostgreSQL-specific environment schema.\n *\n * Additional env vars for PostgreSQL providers on top of `databaseEnvSchema`.\n */\nexport const postgresEnvSchema = t.object({\n /**\n * PostgreSQL schema name (defaults to `\"public\"` when unset).\n */\n POSTGRES_SCHEMA: t.optional(t.text()),\n\n /**\n * Maximum number of connections in the pool.\n */\n POOL_MAX: t.optional(t.integer()),\n\n /**\n * Seconds a connection can be idle before being closed.\n */\n POOL_IDLE_TIMEOUT: t.optional(t.integer()),\n\n /**\n * Seconds to wait when establishing a new connection.\n */\n POOL_CONNECT_TIMEOUT: t.optional(t.integer()),\n});\n\ndeclare module \"alepha\" {\n interface Env extends Partial<Static<typeof postgresEnvSchema>> {}\n}\n","import { customType } from \"drizzle-orm/pg-core\";\n\n/**\n * Postgres bytea type.\n */\nexport const byte = customType<{\n data: Buffer;\n}>({\n dataType: () => \"bytea\",\n});\n","import { AlephaError, type TObject, type TSchema, t } from \"alepha\";\nimport {\n type EntityPrimitive,\n type FromSchema,\n ModelBuilder,\n PG_CREATED_AT,\n PG_GENERATED,\n PG_IDENTITY,\n PG_PRIMARY_KEY,\n PG_REF,\n PG_SERIAL,\n PG_UPDATED_AT,\n type PgGeneratedOptions,\n type PgIdentityOptions,\n type PgRefOptions,\n type SequencePrimitive,\n schema,\n sql,\n} from \"alepha/orm\";\nimport type { BuildExtraConfigColumns } from \"drizzle-orm\";\nimport * as pg from \"drizzle-orm/pg-core\";\nimport {\n check,\n foreignKey,\n index,\n type PgEnum,\n type PgSchema,\n type PgTableExtraConfigValue,\n type PgTableWithColumns,\n pgEnum,\n pgSchema,\n pgSequence,\n pgTable,\n unique,\n uniqueIndex,\n} from \"drizzle-orm/pg-core\";\nimport { byte } from \"../types/byte.ts\";\n\nexport class PostgresModelBuilder extends ModelBuilder {\n protected schemas = new Map<string, PgSchema>();\n\n /**\n * Create a primary key column with UUID v7\n */\n protected getPrimaryKeyUUID(key: string) {\n return pg.uuid(key).default(sql`uuidv7()`);\n }\n\n protected getPgSchema(name: string) {\n if (!this.schemas.has(name) && name !== \"public\") {\n this.schemas.set(name, pgSchema(name));\n }\n\n const nsp =\n name !== \"public\"\n ? this.schemas.get(name)\n : ({\n enum: pgEnum,\n table: pgTable,\n sequence: pgSequence,\n } as any);\n\n if (!nsp) {\n throw new AlephaError(`Postgres schema ${name} not found`);\n }\n\n return nsp;\n }\n\n public buildTable(\n entity: EntityPrimitive<any>,\n options: {\n tables: Map<string, unknown>;\n enums: Map<string, unknown>;\n schemas: Map<string, unknown>;\n schema: string;\n },\n ) {\n const tableName = entity.name;\n if (options.tables.has(tableName)) {\n return;\n }\n\n const nsp = this.getPgSchema(options.schema);\n\n // Register PgSchema so drizzle-kit knows the schema is declared in code.\n // Without this, pushSchema diffs \"schema exists in DB but not in code\" → DROP.\n if (options.schema !== \"public\" && !options.schemas.has(options.schema)) {\n options.schemas.set(options.schema, nsp);\n }\n\n const columns = this.schemaToPgColumns(\n tableName,\n entity.schema,\n nsp,\n options.enums,\n options.tables,\n );\n\n // Build the config function that includes indexes, foreign keys, constraints, and custom config\n const configFn = this.getTableConfig(entity, options.tables);\n\n const table = nsp.table(tableName, columns, configFn);\n\n options.tables.set(tableName, table);\n }\n\n public buildSequence(\n sequence: SequencePrimitive,\n options: {\n sequences: Map<string, unknown>;\n schema: string;\n },\n ) {\n const sequenceName = sequence.name;\n if (options.sequences.has(sequenceName)) {\n return;\n }\n\n const nsp = this.getPgSchema(options.schema);\n\n options.sequences.set(\n sequenceName,\n nsp.sequence(sequenceName, sequence.options),\n );\n }\n\n // -------------------------------------------------------------------------------------------------------------------\n\n /**\n * Get PostgreSQL-specific config builder for the table.\n */\n protected getTableConfig(\n entity: EntityPrimitive,\n tables: Map<string, unknown>,\n ):\n | ((\n self: BuildExtraConfigColumns<string, any, \"pg\">,\n ) => PgTableExtraConfigValue[])\n | undefined {\n // PostgreSQL-specific builders\n const pgBuilders = {\n index,\n uniqueIndex,\n unique,\n check,\n foreignKey,\n };\n\n // Table resolver function\n const tableResolver = (entityName: string) => {\n return tables.get(entityName) as any;\n };\n\n return this.buildTableConfig<\n PgTableExtraConfigValue,\n BuildExtraConfigColumns<string, any, \"pg\">\n >(entity, pgBuilders as any, tableResolver);\n }\n\n schemaToPgColumns = <T extends TObject>(\n tableName: string,\n schema: T,\n nsp: PgSchema,\n enums: Map<string, unknown>,\n tables: Map<string, unknown>,\n ): FromSchema<T> => {\n return Object.entries(schema.properties).reduce<Partial<FromSchema<T>>>(\n (columns, [key, value]) => {\n let col = this.mapFieldToColumn(tableName, key, value, nsp, enums);\n\n if (\"default\" in value && value.default != null) {\n col = col.default(value.default as any);\n }\n\n if (PG_PRIMARY_KEY in value) {\n col = col.primaryKey();\n }\n\n if (PG_REF in value) {\n const config = value[PG_REF] as PgRefOptions;\n col = col.references(() => {\n const ref = config.ref();\n const table = tables.get(\n ref.entity.name,\n ) as PgTableWithColumns<any>;\n\n if (!table) {\n throw new AlephaError(\n `Referenced table ${ref.entity.name} not found for ${tableName}.${key}`,\n );\n }\n\n const target = table[ref.name];\n if (!target) {\n throw new AlephaError(\n `Referenced column ${ref.name} not found in table ${ref.entity.name} for ${tableName}.${key}`,\n );\n }\n\n return target;\n }, config.actions);\n }\n\n if (PG_GENERATED in value) {\n const gen = value[PG_GENERATED] as PgGeneratedOptions;\n col = col.generatedAlwaysAs(gen.expression);\n }\n\n if (schema.required?.includes(key)) {\n col = col.notNull();\n }\n\n (columns as Record<string, unknown>)[key] = col;\n return columns;\n },\n {},\n ) as FromSchema<T>;\n };\n\n mapFieldToColumn = (\n tableName: string,\n fieldName: string,\n value: TSchema,\n nsp: PgSchema,\n enums: Map<string, any>,\n ) => {\n const key = this.toColumnName(fieldName);\n\n if (\n // is nullish ?\n \"anyOf\" in value &&\n Array.isArray(value.anyOf) &&\n value.anyOf.length === 2 &&\n value.anyOf.some((it: TSchema) => t.schema.isNull(it))\n ) {\n // then, remove nullish\n value = value.anyOf.find((it: TSchema) => !t.schema.isNull(it))!;\n }\n\n if (t.schema.isInteger(value)) {\n if (PG_SERIAL in value) {\n return pg.serial(key);\n }\n\n if (PG_IDENTITY in value) {\n const options = value[PG_IDENTITY] as PgIdentityOptions;\n if (options.mode === \"byDefault\") {\n return pg.integer(key).generatedByDefaultAsIdentity(options);\n }\n return pg.integer(key).generatedAlwaysAsIdentity(options);\n }\n\n return pg.integer(key);\n }\n\n if (t.schema.isBigInt(value)) {\n if (PG_IDENTITY in value) {\n const options = value[PG_IDENTITY] as PgIdentityOptions;\n if (options.mode === \"byDefault\") {\n return pg\n .bigint(key, { mode: \"bigint\" })\n .generatedByDefaultAsIdentity(options);\n }\n return pg\n .bigint(key, { mode: \"bigint\" })\n .generatedAlwaysAsIdentity(options);\n }\n\n return pg.bigint(key, { mode: \"bigint\" });\n }\n\n if (t.schema.isNumber(value)) {\n if (PG_IDENTITY in value) {\n const options = value[PG_IDENTITY] as PgIdentityOptions;\n if (options.mode === \"byDefault\") {\n return pg\n .bigint(key, { mode: \"number\" })\n .generatedByDefaultAsIdentity(options);\n }\n return pg\n .bigint(key, { mode: \"number\" })\n .generatedAlwaysAsIdentity(options);\n }\n\n if (value.format === \"int64\") {\n return pg.bigint(key, { mode: \"number\" });\n }\n\n return pg.numeric(key);\n }\n\n const isTypeEnum = (value: any): value is { enum: any[] } =>\n t.schema.isUnsafe(value) &&\n \"type\" in value &&\n value.type === \"string\" &&\n \"enum\" in value &&\n Array.isArray(value.enum);\n\n if (t.schema.isString(value) && !isTypeEnum(value)) {\n return this.mapStringToColumn(key, value);\n }\n\n if (t.schema.isBoolean(value)) {\n return pg.boolean(key);\n }\n\n if (t.schema.isObject(value)) {\n return schema(key, value);\n }\n\n if (t.schema.isRecord(value)) {\n return schema(key, value);\n }\n\n if (t.schema.isArray(value)) {\n if (t.schema.isObject(value.items)) {\n return schema(key, value);\n }\n if (t.schema.isRecord(value.items)) {\n return schema(key, value);\n }\n if (t.schema.isString(value.items)) {\n return pg.text(key).array();\n }\n if (t.schema.isInteger(value.items)) {\n return pg.integer(key).array();\n }\n if (t.schema.isNumber(value.items)) {\n return pg.numeric(key).array();\n }\n if (t.schema.isBoolean(value.items)) {\n return pg.boolean(key).array();\n }\n if (isTypeEnum(value.items)) {\n return pg.text(key).array();\n }\n }\n\n // Enum handling\n if (isTypeEnum(value)) {\n if (!value.enum.every((it) => typeof it === \"string\")) {\n throw new AlephaError(\n `Enum for ${fieldName} must be an array of strings, got ${JSON.stringify(\n value.enum,\n )}`,\n );\n }\n\n // SQL Enum (default for t.enum unless mode: \"text\")\n if ((value as any).mode !== \"text\") {\n const enumName = (value as any).enumName ?? `${tableName}_${key}_enum`;\n\n if (enums.has(enumName)) {\n const values = (\n enums.get(enumName) as PgEnum<[string]>\n ).enumValues.join(\",\");\n const newValues = value.enum.join(\",\");\n if (values !== newValues) {\n throw new AlephaError(\n `Enum name conflict for ${enumName}: [${values}] vs [${newValues}]`,\n );\n }\n }\n\n enums.set(enumName, nsp.enum(enumName, value.enum as [string]));\n\n return enums.get(enumName)(key);\n }\n\n // else, map to TEXT\n return this.mapStringToColumn(key, value);\n }\n\n throw new AlephaError(\n `Unsupported schema type for ${fieldName} as ${JSON.stringify(value)}`,\n );\n };\n\n /**\n * Map a string to a PG column.\n *\n * @param key The key of the field.\n * @param value The value of the field.\n */\n mapStringToColumn = (key: string, value: TSchema) => {\n if (\"format\" in value) {\n if (value.format === \"uuid\") {\n if (PG_PRIMARY_KEY in value) {\n return this.getPrimaryKeyUUID(key);\n }\n\n return pg.uuid(key);\n }\n\n if (value.format === \"byte\") {\n return byte(key);\n }\n\n if (value.format === \"date-time\") {\n if (PG_CREATED_AT in value) {\n return pg\n .timestamp(key, { mode: \"string\", withTimezone: true })\n .defaultNow();\n }\n if (PG_UPDATED_AT in value) {\n return pg\n .timestamp(key, { mode: \"string\", withTimezone: true })\n .defaultNow();\n }\n return pg.timestamp(key, { mode: \"string\", withTimezone: true });\n }\n\n if (value.format === \"date\") {\n return pg.date(key, { mode: \"string\" });\n }\n }\n\n return pg.text(key);\n };\n}\n","import { $env, $hook, $inject, $pipeline, AlephaError } from \"alepha\";\nimport { $lock } from \"alepha/lock\";\nimport {\n DatabaseProvider,\n DbMigrationError,\n databaseEnvSchema,\n type SQLLike,\n} from \"alepha/orm\";\nimport { sql } from \"drizzle-orm\";\nimport type { PgDatabase } from \"drizzle-orm/pg-core\";\nimport { postgresEnvSchema } from \"../schemas/postgresEnvSchema.ts\";\nimport { PostgresModelBuilder } from \"../services/PostgresModelBuilder.ts\";\n\n// ---------------------------------------------------------------------------------------------------------------------\n\n/**\n * Abstract base class for PostgreSQL database providers.\n *\n * Provides shared logic for Node.js and Bun PostgreSQL providers:\n * - Environment variable handling (DATABASE_URL, POSTGRES_SCHEMA)\n * - Schema name resolution (with test schema generation)\n * - SQL execution with error wrapping\n * - Lifecycle hooks (start with migration lock, stop with test cleanup)\n *\n * Subclasses must implement `connect()`, `close()`, and `executeMigrations()`.\n */\nexport abstract class PostgresProvider extends DatabaseProvider {\n protected readonly env = $env(databaseEnvSchema);\n protected readonly pgEnv = $env(postgresEnvSchema);\n protected readonly builder = $inject(PostgresModelBuilder);\n\n public override readonly dialect = \"postgresql\";\n\n public get name() {\n return \"postgres\";\n }\n\n /**\n * In testing mode, the schema name will be generated and deleted after the test.\n */\n protected schemaForTesting = this.alepha.isTest()\n ? this.generateTestSchemaName()\n : undefined;\n\n public override get url() {\n if (!this.env.DATABASE_URL) {\n throw new AlephaError(\"DATABASE_URL is not defined in the environment\");\n }\n\n return this.env.DATABASE_URL;\n }\n\n /**\n * Execute a SQL statement.\n */\n public override async execute(\n statement: SQLLike,\n ): Promise<Array<Record<string, unknown>>> {\n return await this.db.execute(statement);\n }\n\n /**\n * Get Postgres schema used by this provider.\n */\n public override get schema(): string {\n if (this.schemaForTesting) {\n return this.schemaForTesting;\n }\n\n if (this.pgEnv.POSTGRES_SCHEMA) {\n return this.pgEnv.POSTGRES_SCHEMA;\n }\n\n return \"public\";\n }\n\n public abstract override get db(): PgDatabase<any>;\n\n /**\n * Establish the database connection.\n */\n public abstract connect(): Promise<void>;\n\n /**\n * Close the database connection.\n */\n public abstract close(): Promise<void>;\n\n // -------------------------------------------------------------------------------------------------------------------\n\n protected readonly onStart = $hook({\n on: \"start\",\n handler: async () => {\n await this.connect();\n await this.generateTestSchema();\n\n // never migrate in serverless mode (vercel, netlify, ...)\n if (!this.alepha.isServerless()) {\n try {\n await this.migrateLock.run();\n } catch (error) {\n throw new DbMigrationError(error);\n }\n }\n },\n });\n\n protected readonly onStop = $hook({\n on: \"stop\",\n handler: async () => {\n await this.dropTestSchema();\n await this.close();\n },\n });\n\n protected migrateLock = $pipeline({\n use: [$lock({ name: \"postgres:migrate\" })],\n handler: async () => {\n await this.migrate();\n },\n });\n\n // -------------------------------------------------------------------------------------------------------------------\n // Create unique schema for tests and clean up after. Format: test_alepha_{epoch_seconds}_{random8}\n // -------------------------------------------------------------------------------------------------------------------\n\n protected async generateTestSchema() {\n if (\n this.alepha.isTest() &&\n this.schemaForTesting?.startsWith(\"test_alepha_\")\n ) {\n // Self-healing: drop stale schemas left behind by crashed/failed test runs\n await this.cleanupStaleTestSchemas();\n\n await this.execute(\n sql`CREATE SCHEMA IF NOT EXISTS ${sql.raw(this.schemaForTesting)}`,\n );\n }\n }\n\n /**\n * Drop the current test schema if applicable.\n */\n protected async dropTestSchema(): Promise<void> {\n if (\n this.alepha.isTest() &&\n this.schemaForTesting?.startsWith(\"test_alepha_\")\n ) {\n this.log.info(`Deleting test schema '${this.schemaForTesting}' ...`);\n await this.execute(\n sql`DROP SCHEMA IF EXISTS ${sql.raw(this.schemaForTesting)} CASCADE`,\n );\n this.log.info(`Test schema '${this.schemaForTesting}' deleted`);\n }\n }\n\n /**\n * Remove stale test schemas older than 1 hour.\n *\n * Parses the embedded epoch from schema names (format: test_alepha_{epoch}_{random8})\n * and drops any that exceed the TTL. This handles schemas left behind by crashed tests,\n * killed processes, or failed startups where stop() never fired.\n *\n * Uses a PG advisory lock so only one concurrent test process performs the cleanup.\n */\n protected async cleanupStaleTestSchemas(): Promise<void> {\n try {\n // Non-blocking advisory lock — first process in cleans, others skip\n const [lock] = await this.execute(\n sql`SELECT pg_try_advisory_lock(hashtext('alepha:test:schema:cleanup')) AS acquired`,\n );\n\n if (!lock?.acquired) {\n return;\n }\n\n try {\n const result = await this.execute(\n sql`SELECT schema_name FROM information_schema.schemata WHERE schema_name LIKE 'test_alepha_%'`,\n );\n\n const now = this.dateTime.nowMillis();\n const maxAge = 60 * 60 * 1000; // 1 hour\n\n for (const row of result) {\n const name = row.schema_name as string;\n\n // Skip our own schema (it was just created or is about to be)\n if (name === this.schemaForTesting) {\n continue;\n }\n\n const age = this.parseTestSchemaAge(name, now);\n if (age !== undefined && age > maxAge) {\n this.log.warn(\n `Dropping stale test schema '${name}' (age: ${Math.round(age / 60_000)}min) ...`,\n );\n await this.execute(\n sql`DROP SCHEMA IF EXISTS ${sql.raw(name)} CASCADE`,\n );\n }\n }\n } finally {\n await this.execute(\n sql`SELECT pg_advisory_unlock(hashtext('alepha:test:schema:cleanup'))`,\n );\n }\n } catch (error) {\n // Don't fail test setup if stale cleanup fails\n this.log.warn(\"Failed to clean up stale test schemas\", { error });\n }\n }\n\n /**\n * Parse the age in milliseconds from a test schema name.\n * Format: test_alepha_{epoch_seconds}_{random8}\n * Returns undefined if the name doesn't match the expected format.\n */\n protected parseTestSchemaAge(name: string, now: number): number | undefined {\n const parts = name.split(\"_\");\n // test_alepha_{epoch}_{random} → [\"test\", \"alepha\", epoch, random]\n if (parts.length !== 4 || parts[0] !== \"test\" || parts[1] !== \"alepha\") {\n return undefined;\n }\n\n const epoch = Number(parts[2]);\n if (!Number.isFinite(epoch) || epoch <= 0) {\n return undefined;\n }\n\n return now - epoch * 1000;\n }\n}\n","import { AlephaError } from \"alepha\";\nimport { sql } from \"drizzle-orm\";\nimport type { BunSQLDatabase } from \"drizzle-orm/bun-sql\";\nimport type { PgDatabase } from \"drizzle-orm/pg-core\";\nimport { PostgresProvider } from \"./PostgresProvider.ts\";\n\n/**\n * Bun PostgreSQL provider using Drizzle ORM with Bun's native SQL client.\n *\n * This provider uses Bun's built-in SQL class for PostgreSQL connections,\n * which provides excellent performance on the Bun runtime.\n *\n * @example\n * ```ts\n * // Set DATABASE_URL environment variable\n * // DATABASE_URL=postgres://user:password@localhost:5432/database\n *\n * // Or configure programmatically\n * alepha.with({\n * provide: DatabaseProvider,\n * use: BunPostgresProvider,\n * });\n * ```\n */\nexport class BunPostgresProvider extends PostgresProvider {\n protected client?: Bun.SQL;\n protected bunDb?: BunSQLDatabase;\n\n /**\n * Get the Drizzle Postgres database instance.\n */\n public override get db(): PgDatabase<any> {\n if (!this.bunDb) {\n throw new AlephaError(\"Database not initialized\");\n }\n\n return this.bunDb as unknown as PgDatabase<any>;\n }\n\n protected override async executeMigrations(\n migrationsFolder: string,\n ): Promise<void> {\n if (this.schema !== \"public\") {\n await this.db.execute(\n sql.raw(`SET search_path TO ${this.schema}, public`),\n );\n }\n const { migrate } = await import(\"drizzle-orm/bun-sql/migrator\");\n await migrate(this.bunDb!, {\n migrationsFolder,\n migrationsTable: this.migrationsTable,\n });\n }\n\n // -------------------------------------------------------------------------------------------------------------------\n\n public async connect(): Promise<void> {\n this.log.debug(\"Connect ..\");\n\n // Check if we're running in Bun\n if (typeof Bun === \"undefined\") {\n throw new AlephaError(\n \"BunPostgresProvider requires the Bun runtime. Use NodePostgresProvider for Node.js.\",\n );\n }\n\n const { drizzle } = await import(\"drizzle-orm/bun-sql\");\n\n // Create Bun SQL client with pool options\n // Set search_path via connection URL so all pool connections use the correct schema\n let connectionUrl = this.url;\n if (this.schema !== \"public\") {\n const separator = connectionUrl.includes(\"?\") ? \"&\" : \"?\";\n connectionUrl += `${separator}search_path=${this.schema},public`;\n }\n const bunOptions: Record<string, any> = { url: connectionUrl };\n if (this.pgEnv.POOL_MAX != null) {\n bunOptions.max = this.pgEnv.POOL_MAX;\n }\n if (this.pgEnv.POOL_IDLE_TIMEOUT != null) {\n bunOptions.idleTimeout = this.pgEnv.POOL_IDLE_TIMEOUT;\n }\n if (this.pgEnv.POOL_CONNECT_TIMEOUT != null) {\n bunOptions.connectionTimeout = this.pgEnv.POOL_CONNECT_TIMEOUT;\n }\n this.client = new Bun.SQL(bunOptions);\n\n // Test connection\n await this.client.unsafe(\"SELECT 1\");\n\n this.bunDb = drizzle({\n client: this.client,\n logger: {\n logQuery: (query: string, params: unknown[]) => {\n this.log.trace(query, { params });\n },\n },\n });\n\n this.log.info(\"Connection OK\");\n }\n\n public async close(): Promise<void> {\n if (this.client) {\n this.log.debug(\"Close...\");\n\n await this.client.close();\n\n this.client = undefined;\n this.bunDb = undefined;\n\n this.log.info(\"Connection closed\");\n }\n }\n}\n","import { mkdir } from \"node:fs/promises\";\nimport { createRequire } from \"node:module\";\nimport type { PGlite } from \"@electric-sql/pglite\";\nimport { $env, $hook, $inject, AlephaError } from \"alepha\";\nimport { DatabaseProvider, databaseEnvSchema, type SQLLike } from \"alepha/orm\";\nimport { sql } from \"drizzle-orm\";\nimport type { PgliteDatabase } from \"drizzle-orm/pglite\";\nimport { migrate } from \"drizzle-orm/pglite/migrator\";\nimport { postgresEnvSchema } from \"../schemas/postgresEnvSchema.ts\";\nimport { PostgresModelBuilder } from \"../services/PostgresModelBuilder.ts\";\n\nexport interface PgLiteModule {\n PGlite: typeof PGlite;\n}\n\nexport class PglitePostgresProvider extends DatabaseProvider {\n public static importPglite(): PgLiteModule | undefined {\n try {\n return createRequire(import.meta.url)(\"@electric-sql/pglite\");\n } catch {\n // ignored\n }\n }\n\n public override get schema(): string {\n return this.pgEnv.POSTGRES_SCHEMA ?? \"public\";\n }\n\n protected readonly env = $env(databaseEnvSchema);\n protected readonly pgEnv = $env(postgresEnvSchema);\n protected readonly builder = $inject(PostgresModelBuilder);\n\n protected client?: PGlite;\n protected pglite?: PgliteDatabase;\n\n public get name() {\n return \"postgres\";\n }\n\n public get driver() {\n return \"pglite\";\n }\n\n public override readonly dialect = \"postgresql\";\n\n public override get supportsTransactions(): boolean {\n return false;\n }\n\n public override get url(): string {\n let path = this.env.DATABASE_URL;\n\n if (!path) {\n if (this.alepha.isTest()) {\n path = \":memory:\"; // use in-memory database for tests by default\n } else {\n path = \"node_modules/.alepha/pglite\"; // default path for dev\n }\n } else {\n if (path.includes(\":memory:\")) {\n // like postgres://:memory: or pglite://:memory:\n path = \":memory:\";\n } else if (path.startsWith(\"file://\")) {\n path = path.replace(\"file://\", \"\");\n }\n }\n\n return path;\n }\n\n public override get db(): PgliteDatabase {\n if (!this.pglite) {\n throw new AlephaError(\"Database not initialized\");\n }\n\n return this.pglite;\n }\n\n public override async execute(\n statement: SQLLike,\n ): Promise<Array<Record<string, unknown>>> {\n const { rows } = await this.db.execute(statement);\n return rows;\n }\n\n protected readonly onStart = $hook({\n on: \"start\",\n handler: async () => {\n if (Object.keys(this.kit.getModels(this)).length === 0) {\n return;\n }\n\n const module = PglitePostgresProvider.importPglite();\n if (!module) {\n throw new AlephaError(\n \"@electric-sql/pglite is not installed. Please install it to use the pglite driver.\",\n );\n }\n\n const { drizzle } = createRequire(import.meta.url)(\"drizzle-orm/pglite\");\n const path = this.url;\n\n if (path !== \":memory:\") {\n await mkdir(path, { recursive: true }).catch(() => null);\n this.client = new module.PGlite(path);\n } else {\n this.client = new module.PGlite();\n }\n\n this.pglite = drizzle({\n client: this.client,\n });\n\n await this.migrate();\n\n this.log.info(`Using PGlite database at ${path}`);\n },\n });\n\n protected readonly onStop = $hook({\n on: \"stop\",\n handler: async () => {\n if (this.client) {\n this.log.debug(\"Closing PGlite connection...\");\n await this.client.close();\n this.client = undefined;\n this.pglite = undefined;\n this.log.info(\"PGlite connection closed\");\n }\n },\n });\n\n protected async executeMigrations(migrationsFolder: string): Promise<void> {\n // Set search_path so schema-free migration SQL resolves to the correct schema.\n // PGlite uses a single connection, so SET persists through the migration.\n if (this.schema !== \"public\") {\n await this.db.execute(\n sql.raw(`SET search_path TO ${this.schema}, public`),\n );\n }\n await migrate(this.db, {\n migrationsFolder,\n migrationsTable: this.migrationsTable,\n });\n }\n}\n","import { $module, type Alepha } from \"alepha\";\nimport { AlephaOrm, DatabaseProvider, databaseEnvSchema } from \"alepha/orm\";\nimport { BunPostgresProvider } from \"./providers/BunPostgresProvider.ts\";\nimport { PglitePostgresProvider } from \"./providers/PglitePostgresProvider.ts\";\nimport { PostgresProvider } from \"./providers/PostgresProvider.ts\";\nimport { PostgresModelBuilder } from \"./services/PostgresModelBuilder.ts\";\n\nexport * from \"./providers/BunPostgresProvider.ts\";\nexport * from \"./providers/PglitePostgresProvider.ts\";\nexport * from \"./providers/PostgresProvider.ts\";\nexport * from \"./schemas/postgresEnvSchema.ts\";\nexport * from \"./services/PostgresModelBuilder.ts\";\nexport * from \"./types/byte.ts\";\n\nexport const AlephaOrmPostgres = $module({\n name: \"alepha.orm.postgres\",\n services: [PostgresModelBuilder],\n variants: [PostgresProvider, BunPostgresProvider, PglitePostgresProvider],\n register: (alepha: Alepha) => {\n const env = alepha.parseEnv(databaseEnvSchema);\n\n const url = env.DATABASE_URL;\n\n if (url?.startsWith(\"pglite:\")) {\n alepha.with({\n optional: true,\n provide: DatabaseProvider,\n use: PglitePostgresProvider,\n });\n } else if (url?.startsWith(\"postgres:\")) {\n alepha.with({\n optional: true,\n provide: DatabaseProvider,\n use: BunPostgresProvider,\n });\n }\n\n // Chain core ORM module AFTER substitution so its own SQLite default\n // doesn't preempt our Postgres-specific provider choice.\n alepha.with(AlephaOrm);\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.bun.js","names":["sql","sql","sql"],"sources":["../../../src/orm/postgres/schemas/postgresEnvSchema.ts","../../../src/orm/postgres/types/byte.ts","../../../src/orm/postgres/services/PostgresModelBuilder.ts","../../../src/orm/postgres/providers/PostgresProvider.ts","../../../src/orm/postgres/providers/BunPostgresProvider.ts","../../../src/orm/postgres/providers/PglitePostgresProvider.ts","../../../src/orm/postgres/index.bun.ts"],"sourcesContent":["import { type Static, t } from \"alepha\";\n\n/**\n * PostgreSQL-specific environment schema.\n *\n * Additional env vars for PostgreSQL providers on top of `databaseEnvSchema`.\n */\nexport const postgresEnvSchema = t.object({\n /**\n * PostgreSQL schema name (defaults to `\"public\"` when unset).\n */\n POSTGRES_SCHEMA: t.optional(t.text()),\n\n /**\n * Maximum number of connections in the pool.\n */\n POOL_MAX: t.optional(t.integer()),\n\n /**\n * Seconds a connection can be idle before being closed.\n */\n POOL_IDLE_TIMEOUT: t.optional(t.integer()),\n\n /**\n * Seconds to wait when establishing a new connection.\n */\n POOL_CONNECT_TIMEOUT: t.optional(t.integer()),\n});\n\ndeclare module \"alepha\" {\n interface Env extends Partial<Static<typeof postgresEnvSchema>> {}\n}\n","import { customType } from \"drizzle-orm/pg-core\";\n\n/**\n * Postgres bytea type.\n */\nexport const byte = customType<{\n data: Buffer;\n}>({\n dataType: () => \"bytea\",\n});\n","import { AlephaError, type TObject, type TSchema, t } from \"alepha\";\nimport {\n type EntityPrimitive,\n type FromSchema,\n ModelBuilder,\n PG_CREATED_AT,\n PG_GENERATED,\n PG_IDENTITY,\n PG_PRIMARY_KEY,\n PG_REF,\n PG_SERIAL,\n PG_UPDATED_AT,\n type PgGeneratedOptions,\n type PgIdentityOptions,\n type PgRefOptions,\n type SequencePrimitive,\n schema,\n sql,\n} from \"alepha/orm\";\nimport type { BuildExtraConfigColumns } from \"drizzle-orm\";\nimport * as pg from \"drizzle-orm/pg-core\";\nimport {\n check,\n foreignKey,\n index,\n type PgEnum,\n type PgSchema,\n type PgTableExtraConfigValue,\n type PgTableWithColumns,\n pgEnum,\n pgSchema,\n pgSequence,\n pgTable,\n unique,\n uniqueIndex,\n} from \"drizzle-orm/pg-core\";\nimport { byte } from \"../types/byte.ts\";\n\nexport class PostgresModelBuilder extends ModelBuilder {\n protected schemas = new Map<string, PgSchema>();\n\n /**\n * Create a primary key column with UUID v7\n */\n protected getPrimaryKeyUUID(key: string) {\n return pg.uuid(key).default(sql`uuidv7()`);\n }\n\n protected getPgSchema(name: string) {\n if (!this.schemas.has(name) && name !== \"public\") {\n this.schemas.set(name, pgSchema(name));\n }\n\n const nsp =\n name !== \"public\"\n ? this.schemas.get(name)\n : ({\n enum: pgEnum,\n table: pgTable,\n sequence: pgSequence,\n } as any);\n\n if (!nsp) {\n throw new AlephaError(`Postgres schema ${name} not found`);\n }\n\n return nsp;\n }\n\n public buildTable(\n entity: EntityPrimitive<any>,\n options: {\n tables: Map<string, unknown>;\n enums: Map<string, unknown>;\n schemas: Map<string, unknown>;\n schema: string;\n },\n ) {\n const tableName = entity.name;\n if (options.tables.has(tableName)) {\n return;\n }\n\n const nsp = this.getPgSchema(options.schema);\n\n // Register PgSchema so drizzle-kit knows the schema is declared in code.\n // Without this, pushSchema diffs \"schema exists in DB but not in code\" → DROP.\n if (options.schema !== \"public\" && !options.schemas.has(options.schema)) {\n options.schemas.set(options.schema, nsp);\n }\n\n const columns = this.schemaToPgColumns(\n tableName,\n entity.schema,\n nsp,\n options.enums,\n options.tables,\n );\n\n // Build the config function that includes indexes, foreign keys, constraints, and custom config\n const configFn = this.getTableConfig(entity, options.tables);\n\n const table = nsp.table(tableName, columns, configFn);\n\n options.tables.set(tableName, table);\n }\n\n public buildSequence(\n sequence: SequencePrimitive,\n options: {\n sequences: Map<string, unknown>;\n schema: string;\n },\n ) {\n const sequenceName = sequence.name;\n if (options.sequences.has(sequenceName)) {\n return;\n }\n\n const nsp = this.getPgSchema(options.schema);\n\n options.sequences.set(\n sequenceName,\n nsp.sequence(sequenceName, sequence.options),\n );\n }\n\n // -------------------------------------------------------------------------------------------------------------------\n\n /**\n * Get PostgreSQL-specific config builder for the table.\n */\n protected getTableConfig(\n entity: EntityPrimitive,\n tables: Map<string, unknown>,\n ):\n | ((\n self: BuildExtraConfigColumns<string, any, \"pg\">,\n ) => PgTableExtraConfigValue[])\n | undefined {\n // PostgreSQL-specific builders\n const pgBuilders = {\n index,\n uniqueIndex,\n unique,\n check,\n foreignKey,\n };\n\n // Table resolver function\n const tableResolver = (entityName: string) => {\n return tables.get(entityName) as any;\n };\n\n return this.buildTableConfig<\n PgTableExtraConfigValue,\n BuildExtraConfigColumns<string, any, \"pg\">\n >(entity, pgBuilders as any, tableResolver);\n }\n\n schemaToPgColumns = <T extends TObject>(\n tableName: string,\n schema: T,\n nsp: PgSchema,\n enums: Map<string, unknown>,\n tables: Map<string, unknown>,\n ): FromSchema<T> => {\n return Object.entries(schema.properties).reduce<Partial<FromSchema<T>>>(\n (columns, [key, value]) => {\n let col = this.mapFieldToColumn(tableName, key, value, nsp, enums);\n\n if (\"default\" in value && value.default != null) {\n col = col.default(value.default as any);\n }\n\n if (PG_PRIMARY_KEY in value) {\n col = col.primaryKey();\n }\n\n if (PG_REF in value) {\n const config = value[PG_REF] as PgRefOptions;\n col = col.references(() => {\n const ref = config.ref();\n const table = tables.get(\n ref.entity.name,\n ) as PgTableWithColumns<any>;\n\n if (!table) {\n throw new AlephaError(\n `Referenced table ${ref.entity.name} not found for ${tableName}.${key}`,\n );\n }\n\n const target = table[ref.name];\n if (!target) {\n throw new AlephaError(\n `Referenced column ${ref.name} not found in table ${ref.entity.name} for ${tableName}.${key}`,\n );\n }\n\n return target;\n }, config.actions);\n }\n\n if (PG_GENERATED in value) {\n const gen = value[PG_GENERATED] as PgGeneratedOptions;\n col = col.generatedAlwaysAs(gen.expression);\n }\n\n if (schema.required?.includes(key)) {\n col = col.notNull();\n }\n\n (columns as Record<string, unknown>)[key] = col;\n return columns;\n },\n {},\n ) as FromSchema<T>;\n };\n\n mapFieldToColumn = (\n tableName: string,\n fieldName: string,\n value: TSchema,\n nsp: PgSchema,\n enums: Map<string, any>,\n ) => {\n const key = this.toColumnName(fieldName);\n\n if (\n // is nullish ?\n \"anyOf\" in value &&\n Array.isArray(value.anyOf) &&\n value.anyOf.length === 2 &&\n value.anyOf.some((it: TSchema) => t.schema.isNull(it))\n ) {\n // then, remove nullish\n value = value.anyOf.find((it: TSchema) => !t.schema.isNull(it))!;\n }\n\n if (t.schema.isInteger(value)) {\n if (PG_SERIAL in value) {\n return pg.serial(key);\n }\n\n if (PG_IDENTITY in value) {\n const options = value[PG_IDENTITY] as PgIdentityOptions;\n if (options.mode === \"byDefault\") {\n return pg.integer(key).generatedByDefaultAsIdentity(options);\n }\n return pg.integer(key).generatedAlwaysAsIdentity(options);\n }\n\n return pg.integer(key);\n }\n\n if (t.schema.isBigInt(value)) {\n if (PG_IDENTITY in value) {\n const options = value[PG_IDENTITY] as PgIdentityOptions;\n if (options.mode === \"byDefault\") {\n return pg\n .bigint(key, { mode: \"bigint\" })\n .generatedByDefaultAsIdentity(options);\n }\n return pg\n .bigint(key, { mode: \"bigint\" })\n .generatedAlwaysAsIdentity(options);\n }\n\n return pg.bigint(key, { mode: \"bigint\" });\n }\n\n if (t.schema.isNumber(value)) {\n if (PG_IDENTITY in value) {\n const options = value[PG_IDENTITY] as PgIdentityOptions;\n if (options.mode === \"byDefault\") {\n return pg\n .bigint(key, { mode: \"number\" })\n .generatedByDefaultAsIdentity(options);\n }\n return pg\n .bigint(key, { mode: \"number\" })\n .generatedAlwaysAsIdentity(options);\n }\n\n if (value.format === \"int64\") {\n return pg.bigint(key, { mode: \"number\" });\n }\n\n return pg.numeric(key);\n }\n\n const isTypeEnum = (value: any): value is { enum: any[] } =>\n t.schema.isUnsafe(value) &&\n \"type\" in value &&\n value.type === \"string\" &&\n \"enum\" in value &&\n Array.isArray(value.enum);\n\n if (t.schema.isString(value) && !isTypeEnum(value)) {\n return this.mapStringToColumn(key, value);\n }\n\n if (t.schema.isBoolean(value)) {\n return pg.boolean(key);\n }\n\n if (t.schema.isObject(value)) {\n return schema(key, value);\n }\n\n if (t.schema.isRecord(value)) {\n return schema(key, value);\n }\n\n if (t.schema.isArray(value)) {\n if (t.schema.isObject(value.items)) {\n return schema(key, value);\n }\n if (t.schema.isRecord(value.items)) {\n return schema(key, value);\n }\n if (t.schema.isString(value.items)) {\n return pg.text(key).array();\n }\n if (t.schema.isInteger(value.items)) {\n return pg.integer(key).array();\n }\n if (t.schema.isNumber(value.items)) {\n return pg.numeric(key).array();\n }\n if (t.schema.isBoolean(value.items)) {\n return pg.boolean(key).array();\n }\n if (isTypeEnum(value.items)) {\n return pg.text(key).array();\n }\n }\n\n // Enum handling\n if (isTypeEnum(value)) {\n if (!value.enum.every((it) => typeof it === \"string\")) {\n throw new AlephaError(\n `Enum for ${fieldName} must be an array of strings, got ${JSON.stringify(\n value.enum,\n )}`,\n );\n }\n\n // SQL Enum (default for t.enum unless mode: \"text\")\n if ((value as any).mode !== \"text\") {\n const enumName = (value as any).enumName ?? `${tableName}_${key}_enum`;\n\n if (enums.has(enumName)) {\n const values = (\n enums.get(enumName) as PgEnum<[string]>\n ).enumValues.join(\",\");\n const newValues = value.enum.join(\",\");\n if (values !== newValues) {\n throw new AlephaError(\n `Enum name conflict for ${enumName}: [${values}] vs [${newValues}]`,\n );\n }\n }\n\n enums.set(enumName, nsp.enum(enumName, value.enum as [string]));\n\n return enums.get(enumName)(key);\n }\n\n // else, map to TEXT\n return this.mapStringToColumn(key, value);\n }\n\n throw new AlephaError(\n `Unsupported schema type for ${fieldName} as ${JSON.stringify(value)}`,\n );\n };\n\n /**\n * Map a string to a PG column.\n *\n * @param key The key of the field.\n * @param value The value of the field.\n */\n mapStringToColumn = (key: string, value: TSchema) => {\n if (\"format\" in value) {\n if (value.format === \"uuid\") {\n if (PG_PRIMARY_KEY in value) {\n return this.getPrimaryKeyUUID(key);\n }\n\n return pg.uuid(key);\n }\n\n if (value.format === \"byte\") {\n return byte(key);\n }\n\n if (value.format === \"date-time\") {\n if (PG_CREATED_AT in value) {\n return pg\n .timestamp(key, { mode: \"string\", withTimezone: true })\n .defaultNow();\n }\n if (PG_UPDATED_AT in value) {\n return pg\n .timestamp(key, { mode: \"string\", withTimezone: true })\n .defaultNow();\n }\n return pg.timestamp(key, { mode: \"string\", withTimezone: true });\n }\n\n if (value.format === \"date\") {\n return pg.date(key, { mode: \"string\" });\n }\n }\n\n return pg.text(key);\n };\n}\n","import { $env, $hook, $inject, $pipeline, AlephaError } from \"alepha\";\nimport { $lock } from \"alepha/lock\";\nimport {\n DatabaseProvider,\n DbMigrationError,\n databaseEnvSchema,\n type SQLLike,\n} from \"alepha/orm\";\nimport { sql } from \"drizzle-orm\";\nimport type { PgDatabase } from \"drizzle-orm/pg-core\";\nimport { postgresEnvSchema } from \"../schemas/postgresEnvSchema.ts\";\nimport { PostgresModelBuilder } from \"../services/PostgresModelBuilder.ts\";\n\n// ---------------------------------------------------------------------------------------------------------------------\n\n/**\n * Abstract base class for PostgreSQL database providers.\n *\n * Provides shared logic for Node.js and Bun PostgreSQL providers:\n * - Environment variable handling (DATABASE_URL, POSTGRES_SCHEMA)\n * - Schema name resolution (with test schema generation)\n * - SQL execution with error wrapping\n * - Lifecycle hooks (start with migration lock, stop with test cleanup)\n *\n * Subclasses must implement `connect()`, `close()`, and `executeMigrations()`.\n */\nexport abstract class PostgresProvider extends DatabaseProvider {\n protected readonly env = $env(databaseEnvSchema);\n protected readonly pgEnv = $env(postgresEnvSchema);\n protected readonly builder = $inject(PostgresModelBuilder);\n\n public override readonly dialect = \"postgresql\";\n\n public get name() {\n return \"postgres\";\n }\n\n /**\n * In testing mode, the schema name will be generated and deleted after the test.\n */\n protected schemaForTesting = this.alepha.isTest()\n ? this.generateTestSchemaName()\n : undefined;\n\n public override get url() {\n if (!this.env.DATABASE_URL) {\n throw new AlephaError(\"DATABASE_URL is not defined in the environment\");\n }\n\n return this.env.DATABASE_URL;\n }\n\n /**\n * Execute a SQL statement.\n */\n public override async execute(\n statement: SQLLike,\n ): Promise<Array<Record<string, unknown>>> {\n return await this.db.execute(statement);\n }\n\n /**\n * Get Postgres schema used by this provider.\n */\n public override get schema(): string {\n if (this.schemaForTesting) {\n return this.schemaForTesting;\n }\n\n if (this.pgEnv.POSTGRES_SCHEMA) {\n return this.pgEnv.POSTGRES_SCHEMA;\n }\n\n return \"public\";\n }\n\n public abstract override get db(): PgDatabase<any>;\n\n /**\n * Establish the database connection.\n */\n public abstract connect(): Promise<void>;\n\n /**\n * Close the database connection.\n */\n public abstract close(): Promise<void>;\n\n // -------------------------------------------------------------------------------------------------------------------\n\n protected readonly onStart = $hook({\n on: \"start\",\n handler: async () => {\n await this.connect();\n await this.generateTestSchema();\n\n // never migrate in serverless mode (vercel, netlify, ...)\n if (!this.alepha.isServerless()) {\n try {\n await this.migrateLock.run();\n } catch (error) {\n throw new DbMigrationError(error);\n }\n }\n },\n });\n\n protected readonly onStop = $hook({\n on: \"stop\",\n handler: async () => {\n await this.dropTestSchema();\n await this.close();\n },\n });\n\n protected migrateLock = $pipeline({\n use: [$lock({ name: \"postgres:migrate\" })],\n handler: async () => {\n await this.migrate();\n },\n });\n\n // -------------------------------------------------------------------------------------------------------------------\n // Create unique schema for tests and clean up after. Format: test_alepha_{epoch_seconds}_{random8}\n // -------------------------------------------------------------------------------------------------------------------\n\n protected async generateTestSchema() {\n if (\n this.alepha.isTest() &&\n this.schemaForTesting?.startsWith(\"test_alepha_\")\n ) {\n // Self-healing: drop stale schemas left behind by crashed/failed test runs\n await this.cleanupStaleTestSchemas();\n\n await this.execute(\n sql`CREATE SCHEMA IF NOT EXISTS ${sql.raw(this.schemaForTesting)}`,\n );\n }\n }\n\n /**\n * Drop the current test schema if applicable.\n */\n protected async dropTestSchema(): Promise<void> {\n if (\n this.alepha.isTest() &&\n this.schemaForTesting?.startsWith(\"test_alepha_\")\n ) {\n this.log.info(`Deleting test schema '${this.schemaForTesting}' ...`);\n await this.execute(\n sql`DROP SCHEMA IF EXISTS ${sql.raw(this.schemaForTesting)} CASCADE`,\n );\n this.log.info(`Test schema '${this.schemaForTesting}' deleted`);\n }\n }\n\n /**\n * Remove stale test schemas older than 1 hour.\n *\n * Parses the embedded epoch from schema names (format: test_alepha_{epoch}_{random8})\n * and drops any that exceed the TTL. This handles schemas left behind by crashed tests,\n * killed processes, or failed startups where stop() never fired.\n *\n * Uses a PG advisory lock so only one concurrent test process performs the cleanup.\n */\n protected async cleanupStaleTestSchemas(): Promise<void> {\n try {\n // Non-blocking advisory lock — first process in cleans, others skip\n const [lock] = await this.execute(\n sql`SELECT pg_try_advisory_lock(hashtext('alepha:test:schema:cleanup')) AS acquired`,\n );\n\n if (!lock?.acquired) {\n return;\n }\n\n try {\n const result = await this.execute(\n sql`SELECT schema_name FROM information_schema.schemata WHERE schema_name LIKE 'test_alepha_%'`,\n );\n\n const now = this.dateTime.nowMillis();\n const maxAge = 60 * 60 * 1000; // 1 hour\n\n for (const row of result) {\n const name = row.schema_name as string;\n\n // Skip our own schema (it was just created or is about to be)\n if (name === this.schemaForTesting) {\n continue;\n }\n\n const age = this.parseTestSchemaAge(name, now);\n if (age !== undefined && age > maxAge) {\n this.log.warn(\n `Dropping stale test schema '${name}' (age: ${Math.round(age / 60_000)}min) ...`,\n );\n await this.execute(\n sql`DROP SCHEMA IF EXISTS ${sql.raw(name)} CASCADE`,\n );\n }\n }\n } finally {\n await this.execute(\n sql`SELECT pg_advisory_unlock(hashtext('alepha:test:schema:cleanup'))`,\n );\n }\n } catch (error) {\n // Don't fail test setup if stale cleanup fails\n this.log.warn(\"Failed to clean up stale test schemas\", { error });\n }\n }\n\n /**\n * Parse the age in milliseconds from a test schema name.\n * Format: test_alepha_{epoch_seconds}_{random8}\n * Returns undefined if the name doesn't match the expected format.\n */\n protected parseTestSchemaAge(name: string, now: number): number | undefined {\n const parts = name.split(\"_\");\n // test_alepha_{epoch}_{random} → [\"test\", \"alepha\", epoch, random]\n if (parts.length !== 4 || parts[0] !== \"test\" || parts[1] !== \"alepha\") {\n return undefined;\n }\n\n const epoch = Number(parts[2]);\n if (!Number.isFinite(epoch) || epoch <= 0) {\n return undefined;\n }\n\n return now - epoch * 1000;\n }\n}\n","import { AlephaError } from \"alepha\";\nimport { sql } from \"drizzle-orm\";\nimport type { BunSQLDatabase } from \"drizzle-orm/bun-sql\";\nimport type { PgDatabase } from \"drizzle-orm/pg-core\";\nimport { PostgresProvider } from \"./PostgresProvider.ts\";\n\n/**\n * Bun PostgreSQL provider using Drizzle ORM with Bun's native SQL client.\n *\n * This provider uses Bun's built-in SQL class for PostgreSQL connections,\n * which provides excellent performance on the Bun runtime.\n *\n * @example\n * ```ts\n * // Set DATABASE_URL environment variable\n * // DATABASE_URL=postgres://user:password@localhost:5432/database\n *\n * // Or configure programmatically\n * alepha.with({\n * provide: DatabaseProvider,\n * use: BunPostgresProvider,\n * });\n * ```\n */\nexport class BunPostgresProvider extends PostgresProvider {\n protected client?: Bun.SQL;\n protected bunDb?: BunSQLDatabase;\n\n /**\n * Get the Drizzle Postgres database instance.\n */\n public override get db(): PgDatabase<any> {\n if (!this.bunDb) {\n throw new AlephaError(\"Database not initialized\");\n }\n\n return this.bunDb as unknown as PgDatabase<any>;\n }\n\n protected override async executeMigrations(\n migrationsFolder: string,\n ): Promise<void> {\n if (this.schema !== \"public\") {\n await this.db.execute(\n sql.raw(`SET search_path TO ${this.schema}, public`),\n );\n }\n const { migrate } = await import(\"drizzle-orm/bun-sql/migrator\");\n await migrate(this.bunDb!, {\n migrationsFolder,\n migrationsTable: this.migrationsTable,\n });\n }\n\n // -------------------------------------------------------------------------------------------------------------------\n\n public async connect(): Promise<void> {\n this.log.debug(\"Connect ..\");\n\n // Check if we're running in Bun\n if (typeof Bun === \"undefined\") {\n throw new AlephaError(\n \"BunPostgresProvider requires the Bun runtime. Use NodePostgresProvider for Node.js.\",\n );\n }\n\n const { drizzle } = await import(\"drizzle-orm/bun-sql\");\n\n // Create Bun SQL client with pool options\n // Set search_path via connection URL so all pool connections use the correct schema\n let connectionUrl = this.url;\n if (this.schema !== \"public\") {\n const separator = connectionUrl.includes(\"?\") ? \"&\" : \"?\";\n connectionUrl += `${separator}search_path=${this.schema},public`;\n }\n const bunOptions: Record<string, any> = { url: connectionUrl };\n if (this.pgEnv.POOL_MAX != null) {\n bunOptions.max = this.pgEnv.POOL_MAX;\n }\n if (this.pgEnv.POOL_IDLE_TIMEOUT != null) {\n bunOptions.idleTimeout = this.pgEnv.POOL_IDLE_TIMEOUT;\n }\n if (this.pgEnv.POOL_CONNECT_TIMEOUT != null) {\n bunOptions.connectionTimeout = this.pgEnv.POOL_CONNECT_TIMEOUT;\n }\n this.client = new Bun.SQL(bunOptions);\n\n // Test connection\n await this.client.unsafe(\"SELECT 1\");\n\n this.bunDb = drizzle({\n client: this.client,\n logger: {\n logQuery: (query: string, params: unknown[]) => {\n this.log.trace(query, { params });\n },\n },\n });\n\n this.log.info(\"Connection OK\");\n }\n\n public async close(): Promise<void> {\n if (this.client) {\n this.log.debug(\"Close...\");\n\n await this.client.close();\n\n this.client = undefined;\n this.bunDb = undefined;\n\n this.log.info(\"Connection closed\");\n }\n }\n}\n","import { mkdir } from \"node:fs/promises\";\nimport { createRequire } from \"node:module\";\nimport type { PGlite } from \"@electric-sql/pglite\";\nimport { $env, $hook, $inject, AlephaError } from \"alepha\";\nimport { DatabaseProvider, databaseEnvSchema, type SQLLike } from \"alepha/orm\";\nimport { sql } from \"drizzle-orm\";\nimport type { PgliteDatabase } from \"drizzle-orm/pglite\";\nimport { migrate } from \"drizzle-orm/pglite/migrator\";\nimport { postgresEnvSchema } from \"../schemas/postgresEnvSchema.ts\";\nimport { PostgresModelBuilder } from \"../services/PostgresModelBuilder.ts\";\n\nexport interface PgLiteModule {\n PGlite: typeof PGlite;\n}\n\nexport class PglitePostgresProvider extends DatabaseProvider {\n public static importPglite(): PgLiteModule | undefined {\n try {\n return createRequire(import.meta.url)(\"@electric-sql/pglite\");\n } catch {\n // ignored\n }\n }\n\n public override get schema(): string {\n return this.pgEnv.POSTGRES_SCHEMA ?? \"public\";\n }\n\n protected readonly env = $env(databaseEnvSchema);\n protected readonly pgEnv = $env(postgresEnvSchema);\n protected readonly builder = $inject(PostgresModelBuilder);\n\n protected client?: PGlite;\n protected pglite?: PgliteDatabase;\n\n public get name() {\n return \"postgres\";\n }\n\n public get driver() {\n return \"pglite\";\n }\n\n public override readonly dialect = \"postgresql\";\n\n public override get supportsTransactions(): boolean {\n return false;\n }\n\n public override get url(): string {\n let path = this.env.DATABASE_URL;\n\n if (!path) {\n if (this.alepha.isTest()) {\n path = \":memory:\"; // use in-memory database for tests by default\n } else {\n path = \"node_modules/.alepha/pglite\"; // default path for dev\n }\n } else {\n if (path.includes(\":memory:\")) {\n // like postgres://:memory: or pglite://:memory:\n path = \":memory:\";\n } else if (path.startsWith(\"file://\")) {\n path = path.replace(\"file://\", \"\");\n }\n }\n\n return path;\n }\n\n public override get db(): PgliteDatabase {\n if (!this.pglite) {\n throw new AlephaError(\"Database not initialized\");\n }\n\n return this.pglite;\n }\n\n public override async execute(\n statement: SQLLike,\n ): Promise<Array<Record<string, unknown>>> {\n const { rows } = await this.db.execute(statement);\n return rows;\n }\n\n protected readonly onStart = $hook({\n on: \"start\",\n handler: async () => {\n if (Object.keys(this.kit.getModels(this)).length === 0) {\n return;\n }\n\n const module = PglitePostgresProvider.importPglite();\n if (!module) {\n throw new AlephaError(\n \"@electric-sql/pglite is not installed. Please install it to use the pglite driver.\",\n );\n }\n\n const { drizzle } = createRequire(import.meta.url)(\"drizzle-orm/pglite\");\n const path = this.url;\n\n if (path !== \":memory:\") {\n await mkdir(path, { recursive: true }).catch(() => null);\n this.client = new module.PGlite(path);\n } else {\n this.client = new module.PGlite();\n }\n\n this.pglite = drizzle({\n client: this.client,\n });\n\n await this.migrate();\n\n this.log.info(`Using PGlite database at ${path}`);\n },\n });\n\n protected readonly onStop = $hook({\n on: \"stop\",\n handler: async () => {\n if (this.client) {\n this.log.debug(\"Closing PGlite connection...\");\n await this.client.close();\n this.client = undefined;\n this.pglite = undefined;\n this.log.info(\"PGlite connection closed\");\n }\n },\n });\n\n protected async executeMigrations(migrationsFolder: string): Promise<void> {\n // Set search_path so schema-free migration SQL resolves to the correct schema.\n // PGlite uses a single connection, so SET persists through the migration.\n if (this.schema !== \"public\") {\n await this.db.execute(\n sql.raw(`SET search_path TO ${this.schema}, public`),\n );\n }\n await migrate(this.db, {\n migrationsFolder,\n migrationsTable: this.migrationsTable,\n });\n }\n}\n","import { $module, type Alepha } from \"alepha\";\nimport { AlephaOrm, DatabaseProvider, databaseEnvSchema } from \"alepha/orm\";\nimport { BunPostgresProvider } from \"./providers/BunPostgresProvider.ts\";\nimport { PglitePostgresProvider } from \"./providers/PglitePostgresProvider.ts\";\nimport { PostgresProvider } from \"./providers/PostgresProvider.ts\";\nimport { PostgresModelBuilder } from \"./services/PostgresModelBuilder.ts\";\n\nexport * from \"./providers/BunPostgresProvider.ts\";\nexport * from \"./providers/PglitePostgresProvider.ts\";\nexport * from \"./providers/PostgresProvider.ts\";\nexport * from \"./schemas/postgresEnvSchema.ts\";\nexport * from \"./services/PostgresModelBuilder.ts\";\nexport * from \"./types/byte.ts\";\n\nexport const AlephaOrmPostgres = $module({\n name: \"alepha.orm.postgres\",\n services: [PostgresModelBuilder],\n variants: [PostgresProvider, BunPostgresProvider, PglitePostgresProvider],\n register: (alepha: Alepha) => {\n const env = alepha.parseEnv(databaseEnvSchema);\n\n const url = env.DATABASE_URL;\n\n if (url?.startsWith(\"pglite:\")) {\n alepha.with({\n optional: true,\n provide: DatabaseProvider,\n use: PglitePostgresProvider,\n });\n } else if (url?.startsWith(\"postgres:\")) {\n alepha.with({\n optional: true,\n provide: DatabaseProvider,\n use: BunPostgresProvider,\n });\n }\n\n // Chain core ORM module AFTER substitution so its own SQLite default\n // doesn't preempt our Postgres-specific provider choice.\n alepha.with(AlephaOrm);\n },\n});\n"],"mappings":"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"}
@@ -1,7 +1,5 @@
1
- import * as _$alepha from "alepha";
2
1
  import { Static, TObject, TSchema } from "alepha";
3
2
  import { DatabaseProvider, EntityPrimitive, FromSchema, ModelBuilder, SQLLike, SequencePrimitive } from "alepha/orm";
4
- import * as _$drizzle_orm0 from "drizzle-orm";
5
3
  import { BuildExtraConfigColumns } from "drizzle-orm";
6
4
  import * as pg from "drizzle-orm/pg-core";
7
5
  import { PgDatabase, PgSchema, PgTableExtraConfigValue } from "drizzle-orm/pg-core";
@@ -9,7 +7,6 @@ import { PostgresJsDatabase } from "drizzle-orm/postgres-js";
9
7
  import postgres from "postgres";
10
8
  import { BunSQLDatabase } from "drizzle-orm/bun-sql";
11
9
  import { PgliteDatabase } from "drizzle-orm/pglite";
12
- import * as _$typebox from "typebox";
13
10
 
14
11
  //#region ../../src/orm/postgres/services/PostgresModelBuilder.d.ts
15
12
  declare class PostgresModelBuilder extends ModelBuilder {
@@ -17,7 +14,7 @@ declare class PostgresModelBuilder extends ModelBuilder {
17
14
  /**
18
15
  * Create a primary key column with UUID v7
19
16
  */
20
- protected getPrimaryKeyUUID(key: string): _$drizzle_orm0.HasDefault<pg.PgUUIDBuilderInitial<string>>;
17
+ protected getPrimaryKeyUUID(key: string): import("drizzle-orm").HasDefault<pg.PgUUIDBuilderInitial<string>>;
21
18
  protected getPgSchema(name: string): any;
22
19
  buildTable(entity: EntityPrimitive<any>, options: {
23
20
  tables: Map<string, unknown>;
@@ -99,9 +96,9 @@ declare abstract class PostgresProvider extends DatabaseProvider {
99
96
  * Close the database connection.
100
97
  */
101
98
  abstract close(): Promise<void>;
102
- protected readonly onStart: _$alepha.HookPrimitive<"start">;
103
- protected readonly onStop: _$alepha.HookPrimitive<"stop">;
104
- protected migrateLock: _$alepha.PipelinePrimitiveFn<() => Promise<void>>;
99
+ protected readonly onStart: import("alepha").HookPrimitive<"start">;
100
+ protected readonly onStop: import("alepha").HookPrimitive<"stop">;
101
+ protected migrateLock: import("alepha").PipelinePrimitiveFn<() => Promise<void>>;
105
102
  protected generateTestSchema(): Promise<void>;
106
103
  /**
107
104
  * Drop the current test schema if applicable.
@@ -191,7 +188,7 @@ declare class CloudflareHyperdriveProvider extends DatabaseProvider {
191
188
  */
192
189
  get db(): PgDatabase<any>;
193
190
  execute(query: SQLLike): Promise<Array<Record<string, unknown>>>;
194
- protected readonly onStart: _$alepha.HookPrimitive<"start">;
191
+ protected readonly onStart: import("alepha").HookPrimitive<"start">;
195
192
  protected executeMigrations(migrationsFolder: string): Promise<void>;
196
193
  }
197
194
  //#endregion
@@ -214,7 +211,7 @@ declare class NodePostgresProvider extends PostgresProvider {
214
211
  protected ssl(url: URL): "require" | "allow" | "prefer" | "verify-full" | undefined;
215
212
  }
216
213
  //#endregion
217
- //#region ../../../../node_modules/@electric-sql/pglite/dist/pglite-BZlQ7pL-.d.ts
214
+ //#region ../../../../node_modules/@electric-sql/pglite/dist/pglite-DYCFVi62.d.ts
218
215
  type MessageName = 'parseComplete' | 'bindComplete' | 'closeComplete' | 'noData' | 'portalSuspended' | 'replicationStart' | 'emptyQuery' | 'copyDone' | 'copyData' | 'rowDescription' | 'parameterDescription' | 'parameterStatus' | 'backendKeyData' | 'notification' | 'readyForQuery' | 'commandComplete' | 'dataRow' | 'copyInResponse' | 'copyOutResponse' | 'authenticationOk' | 'authenticationMD5Password' | 'authenticationCleartextPassword' | 'authenticationSASL' | 'authenticationSASLContinue' | 'authenticationSASLFinal' | 'error' | 'notice';
219
216
  type BackendMessage = {
220
217
  name: MessageName;
@@ -409,6 +406,7 @@ interface PGliteOptions<TExtensions extends Extensions = Extensions> {
409
406
  relaxedDurability?: boolean;
410
407
  extensions?: TExtensions;
411
408
  loadDataDir?: Blob | File;
409
+ icuDataDir?: Blob | File;
412
410
  initialMemory?: number;
413
411
  pgliteWasmModule?: WebAssembly.Module;
414
412
  initdbWasmModule?: WebAssembly.Module;
@@ -416,6 +414,8 @@ interface PGliteOptions<TExtensions extends Extensions = Extensions> {
416
414
  parsers?: ParserOptions;
417
415
  serializers?: SerializerOptions;
418
416
  startParams?: string[];
417
+ initDbStartParams?: string[];
418
+ postgresqlconf?: string[] | string;
419
419
  }
420
420
  type PGliteInterface<T extends Extensions = Extensions> = InitializedExtensions<T> & {
421
421
  readonly waitReady: Promise<void>;
@@ -634,6 +634,13 @@ declare class PGlite extends BasePGlite implements PGliteInterface, AsyncDisposa
634
634
  readonly dataDir?: string;
635
635
  readonly waitReady: Promise<void>;
636
636
  readonly debug: DebugLevel;
637
+ static readonly paths: {
638
+ readonly PG_ROOT: "/pglite";
639
+ readonly PGDATA: string;
640
+ readonly ICU_DATA_PATH: string;
641
+ readonly INITDB_EXE_PATH: string;
642
+ readonly POSTGRES_EXE_PATH: string;
643
+ };
637
644
  static readonly DEFAULT_RECV_BUF_SIZE: number;
638
645
  static readonly MAX_BUFFER_SIZE: number;
639
646
  externalCommandStreamFd: number | null;
@@ -820,6 +827,7 @@ declare class PGlite extends BasePGlite implements PGliteInterface, AsyncDisposa
820
827
  clone(): Promise<PGliteInterface>;
821
828
  _runExclusiveListen<T>(fn: () => Promise<T>): Promise<T>;
822
829
  callMain(args: string[]): number;
830
+ copyToFS(filePath: string, data: Uint8Array, mode?: number): void;
823
831
  }
824
832
  //#endregion
825
833
  //#region ../../src/orm/postgres/providers/PglitePostgresProvider.d.ts
@@ -849,8 +857,8 @@ declare class PglitePostgresProvider extends DatabaseProvider {
849
857
  get url(): string;
850
858
  get db(): PgliteDatabase;
851
859
  execute(statement: SQLLike): Promise<Array<Record<string, unknown>>>;
852
- protected readonly onStart: _$alepha.HookPrimitive<"start">;
853
- protected readonly onStop: _$alepha.HookPrimitive<"stop">;
860
+ protected readonly onStart: import("alepha").HookPrimitive<"start">;
861
+ protected readonly onStop: import("alepha").HookPrimitive<"stop">;
854
862
  protected executeMigrations(migrationsFolder: string): Promise<void>;
855
863
  }
856
864
  //#endregion
@@ -860,23 +868,23 @@ declare class PglitePostgresProvider extends DatabaseProvider {
860
868
  *
861
869
  * Additional env vars for PostgreSQL providers on top of `databaseEnvSchema`.
862
870
  */
863
- declare const postgresEnvSchema: _$typebox.TObject<{
871
+ declare const postgresEnvSchema: import("typebox").TObject<{
864
872
  /**
865
873
  * PostgreSQL schema name (defaults to `"public"` when unset).
866
874
  */
867
- POSTGRES_SCHEMA: _$typebox.TOptional<_$typebox.TString>;
875
+ POSTGRES_SCHEMA: import("typebox").TOptional<import("typebox").TString>;
868
876
  /**
869
877
  * Maximum number of connections in the pool.
870
878
  */
871
- POOL_MAX: _$typebox.TOptional<_$typebox.TInteger>;
879
+ POOL_MAX: import("typebox").TOptional<import("typebox").TInteger>;
872
880
  /**
873
881
  * Seconds a connection can be idle before being closed.
874
882
  */
875
- POOL_IDLE_TIMEOUT: _$typebox.TOptional<_$typebox.TInteger>;
883
+ POOL_IDLE_TIMEOUT: import("typebox").TOptional<import("typebox").TInteger>;
876
884
  /**
877
885
  * Seconds to wait when establishing a new connection.
878
886
  */
879
- POOL_CONNECT_TIMEOUT: _$typebox.TOptional<_$typebox.TInteger>;
887
+ POOL_CONNECT_TIMEOUT: import("typebox").TOptional<import("typebox").TInteger>;
880
888
  }>;
881
889
  declare module "alepha" {
882
890
  interface Env extends Partial<Static<typeof postgresEnvSchema>> {}
@@ -887,7 +895,7 @@ declare module "alepha" {
887
895
  * Postgres bytea type.
888
896
  */
889
897
  declare const byte: {
890
- (): pg.PgCustomColumnBuilder<{
898
+ (): import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
891
899
  name: "";
892
900
  dataType: "custom";
893
901
  columnType: "PgCustomColumn";
@@ -895,7 +903,7 @@ declare const byte: {
895
903
  driverParam: unknown;
896
904
  enumValues: undefined;
897
905
  }>;
898
- <TConfig extends Record<string, any>>(fieldConfig?: TConfig | undefined): pg.PgCustomColumnBuilder<{
906
+ <TConfig extends Record<string, any>>(fieldConfig?: TConfig | undefined): import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
899
907
  name: "";
900
908
  dataType: "custom";
901
909
  columnType: "PgCustomColumn";
@@ -903,7 +911,7 @@ declare const byte: {
903
911
  driverParam: unknown;
904
912
  enumValues: undefined;
905
913
  }>;
906
- <TName extends string>(dbName: TName, fieldConfig?: unknown): pg.PgCustomColumnBuilder<{
914
+ <TName extends string>(dbName: TName, fieldConfig?: unknown): import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
907
915
  name: TName;
908
916
  dataType: "custom";
909
917
  columnType: "PgCustomColumn";
@@ -914,7 +922,7 @@ declare const byte: {
914
922
  };
915
923
  //#endregion
916
924
  //#region ../../src/orm/postgres/index.d.ts
917
- declare const AlephaOrmPostgres: _$alepha.Service<_$alepha.Module>;
925
+ declare const AlephaOrmPostgres: import("alepha").Service<import("alepha").Module>;
918
926
  //#endregion
919
927
  export { AlephaOrmPostgres, BunPostgresProvider, CloudflareHyperdriveProvider, NodePostgresProvider, PgLiteModule, PglitePostgresProvider, PostgresModelBuilder, PostgresProvider, byte, postgresEnvSchema };
920
928
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":["Modes","text","binary","Mode","BufferParameter","ArrayBuffer","ArrayBufferView","MessageName","BackendMessage","name","length","parseComplete","bindComplete","closeComplete","noData","portalSuspended","replicationStart","emptyQuery","copyDone","AuthenticationOk","constructor","AuthenticationCleartextPassword","AuthenticationMD5Password","Uint8Array","salt","AuthenticationSASL","mechanisms","AuthenticationSASLContinue","data","AuthenticationSASLFinal","AuthenticationMessage","NoticeOrError","message","severity","code","detail","hint","position","internalPosition","internalQuery","where","schema","table","column","dataType","constraint","file","line","routine","DatabaseError","Error","CopyDataMessage","chunk","CopyResponse","columnTypes","columnCount","Field","tableID","columnID","dataTypeID","dataTypeSize","dataTypeModifier","format","RowDescriptionMessage","fieldCount","fields","ParameterDescriptionMessage","parameterCount","dataTypeIDs","ParameterStatusMessage","parameterName","parameterValue","BackendKeyDataMessage","processID","secretKey","NotificationResponseMessage","processId","channel","payload","ReadyForQueryMessage","status","CommandCompleteMessage","DataRowMessage","NoticeMessage","messages_AuthenticationCleartextPassword","messages_AuthenticationMD5Password","messages_AuthenticationMessage","messages_AuthenticationOk","messages_AuthenticationSASL","messages_AuthenticationSASLContinue","messages_AuthenticationSASLFinal","messages_BackendKeyDataMessage","messages_BackendMessage","messages_CommandCompleteMessage","messages_CopyDataMessage","messages_CopyResponse","messages_DataRowMessage","messages_DatabaseError","messages_Field","messages_MessageName","messages_NoticeMessage","messages_NotificationResponseMessage","messages_ParameterDescriptionMessage","messages_ParameterStatusMessage","messages_ReadyForQueryMessage","messages_RowDescriptionMessage","messages_bindComplete","messages_closeComplete","messages_copyDone","messages_emptyQuery","messages_noData","messages_parseComplete","messages_portalSuspended","messages_replicationStart","messages","IDBFS","Emscripten","FileSystemType","IDBDatabase","Record","quit","dbs","FS","filesystems","MEMFS","NODEFS","PostgresMod","EmscriptenModule","Array","WebAssembly","Memory","Blob","Promise","Omit","preInit","mod","preRun","postRun","thisProgram","stdin","wasmMemory","PROXYFS","WASM_PREFIX","pg_extensions","UTF8ToString","ptr","maxBytesToRead","stringToUTF8OnStack","s","_pgl_set_system_fn","system_fn","_pgl_set_popen_fn","popen_fn","_pgl_set_pclose_fn","pclose_fn","_pgl_set_rw_cbs","read_cb","write_cb","_pgl_set_pipe_fn","pipe_fn","_pgl_freopen","filepath","mode","stream","_pgl_pq_flush","_fopen","path","_fclose","_fflush","_pgl_proc_exit","addFunction","cb","signature","removeFunction","f","callMain","args","_PostgresMainLoopOnce","_PostgresMainLongJmp","_PostgresSendReadyForQueryIfNecessary","_ProcessStartupPacket","Port","ssl_done","gss_done","_IsTransactionBlock","_pgl_setPGliteActive","newValue","_pgl_startPGlite","_pgl_getMyProcPort","_pgl_sendConnData","ENV","_emscripten_force_exit","_pgl_run_atexit_funcs","_pq_buffer_remaining_data","PostgresFactory","T","Partial","moduleOverrides","_default","postgresMod_FS","postgresMod_PostgresMod","postgresMod","default","DumpTarCompressionOptions","FsType","Filesystem","PGlite","File","init","pg","emscriptenOptions","emscriptenOpts","syncToFs","relaxedDurability","initialSyncFs","dumpTar","dbname","compression","closeFs","EmscriptenBuiltinFilesystem","dataDir","_relaxedDurability","BaseFilesystem","debug","FsStats","chmod","close","fd","fstat","lstat","mkdir","recursive","options","open","flags","readdir","read","buffer","offset","rename","oldPath","newPath","rmdir","truncate","len","unlink","utimes","atime","mtime","writeFile","encoding","flag","write","dev","ino","nlink","uid","gid","rdev","size","blksize","blocks","ctime","ERRNO_CODES","EBADF","EBADFD","EEXIST","EINVAL","EISDIR","ENODEV","ENOENT","ENOTDIR","ENOTEMPTY","FilesystemType","DebugLevel","RowMode","ParserOptions","pgType","value","SerializerOptions","QueryOptions","rowMode","parsers","serializers","blob","onNotice","notice","paramTypes","ExecProtocolOptions","throwOnError","ExecProtocolOptionsStream","onRawData","ExtensionSetupResult","TNamespace","URL","namespaceObj","bundlePath","ExtensionSetup","PGliteInterface","clientOnly","Extension","setup","ExtensionNamespace","Extensions","namespace","InitializedExtensions","TExtensions","K","ExecProtocolResult","DumpDataDirResult","tarball","extension","filename","PGliteOptions","Module","noInitDb","username","database","fs","extensions","loadDataDir","initialMemory","pgliteWasmModule","initdbWasmModule","fsBundle","startParams","Results","TemplateStringsArray","DescribeQueryResult","Transaction","waitReady","ready","closed","query","params","sql","sqlStrings","exec","describeQuery","transaction","tx","callback","execProtocolRaw","execProtocolRawStream","execProtocol","runExclusive","fn","listen","unlisten","onNotification","offNotification","dumpDataDir","refreshArrayTypes","PGliteInterfaceExtensions","E","ReturnType","Awaited","N","Row","key","rows","affectedRows","rollback","Serializer","Parser","queryParams","serializer","resultFields","parser","BOOL","BYTEA","CHAR","INT8","INT2","INT4","REGPROC","TEXT","OID","TID","XID","CID","JSON","XML","PG_NODE_TREE","SMGR","PATH","POLYGON","CIDR","FLOAT4","FLOAT8","ABSTIME","RELTIME","TINTERVAL","CIRCLE","MACADDR8","MONEY","MACADDR","INET","ACLITEM","BPCHAR","VARCHAR","DATE","TIME","TIMESTAMP","TIMESTAMPTZ","INTERVAL","TIMETZ","BIT","VARBIT","NUMERIC","REFCURSOR","REGPROCEDURE","REGOPER","REGOPERATOR","REGCLASS","REGTYPE","UUID","TXID_SNAPSHOT","PG_LSN","PG_NDISTINCT","PG_DEPENDENCIES","TSVECTOR","TSQUERY","GTSVECTOR","REGCONFIG","REGDICTIONARY","JSONB","REGNAMESPACE","REGROLE","types","Date","string","to","from","serialize","x","parse","number","bigint","json","boolean","date","bytea","typeId","TypeHandler","TypeHandlers","parseType","type","arraySerializer","xs","typarray","arrayParser","types$1_ABSTIME","types$1_ACLITEM","types$1_BIT","types$1_BOOL","types$1_BPCHAR","types$1_BYTEA","types$1_CHAR","types$1_CID","types$1_CIDR","types$1_CIRCLE","types$1_DATE","types$1_FLOAT4","types$1_FLOAT8","types$1_GTSVECTOR","types$1_INET","types$1_INT2","types$1_INT4","types$1_INT8","types$1_INTERVAL","types$1_JSON","types$1_JSONB","types$1_MACADDR","types$1_MACADDR8","types$1_MONEY","types$1_NUMERIC","types$1_OID","types$1_PATH","types$1_PG_DEPENDENCIES","types$1_PG_LSN","types$1_PG_NDISTINCT","types$1_PG_NODE_TREE","types$1_POLYGON","types$1_Parser","types$1_REFCURSOR","types$1_REGCLASS","types$1_REGCONFIG","types$1_REGDICTIONARY","types$1_REGNAMESPACE","types$1_REGOPER","types$1_REGOPERATOR","types$1_REGPROC","types$1_REGPROCEDURE","types$1_REGROLE","types$1_REGTYPE","types$1_RELTIME","types$1_SMGR","types$1_Serializer","types$1_TEXT","types$1_TID","types$1_TIME","types$1_TIMESTAMP","types$1_TIMESTAMPTZ","types$1_TIMETZ","types$1_TINTERVAL","types$1_TSQUERY","types$1_TSVECTOR","types$1_TXID_SNAPSHOT","types$1_TypeHandler","types$1_TypeHandlers","types$1_UUID","types$1_VARBIT","types$1_VARCHAR","types$1_XID","types$1_XML","types$1_arrayParser","types$1_arraySerializer","types$1_parseType","types$1_parsers","types$1_serializers","types$1_types","types$1","BasePGlite","force","Pick","private","execProtocolStream","_handleBlob","_getWrittenBlob","_cleanupBlob","_checkReady","_runExclusiveQuery","_runExclusiveTransaction","_initArrayTypes","O","Symbol","asyncDispose","AsyncDisposable","POSTGRES_MAIN_LONGJMP","DEFAULT_RECV_BUF_SIZE","MAX_BUFFER_SIZE","externalCommandStreamFd","defaultStartParams","create","handleExternalCmd","cmd","execProtocolRawSync","isInTransaction","clone","_runExclusiveListen","A","B","C","D","F","G","I","M","P","Q","R","S","W","a","b","c","d","e","g","h","i","j","k","l","m","n","o","p","q","r","t","u","v","w","y","z"],"sources":["../../../src/orm/postgres/services/PostgresModelBuilder.ts","../../../src/orm/postgres/providers/PostgresProvider.ts","../../../src/orm/postgres/providers/BunPostgresProvider.ts","../../../src/orm/postgres/providers/CloudflareHyperdriveProvider.ts","../../../src/orm/postgres/providers/NodePostgresProvider.ts","../../../../../node_modules/@electric-sql/pglite/dist/pglite-BZlQ7pL-.d.ts","../../../src/orm/postgres/providers/PglitePostgresProvider.ts","../../../src/orm/postgres/schemas/postgresEnvSchema.ts","../../../src/orm/postgres/types/byte.ts","../../../src/orm/postgres/index.ts"],"x_google_ignoreList":[5],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":["text","binary","Modes","ArrayBuffer","ArrayBufferView","name","MessageName","length","BackendMessage","constructor","salt","Uint8Array","mechanisms","data","AuthenticationOk","AuthenticationCleartextPassword","AuthenticationMD5Password","AuthenticationSASL","AuthenticationSASLContinue","AuthenticationSASLFinal","message","severity","code","detail","hint","position","internalPosition","internalQuery","where","schema","table","column","dataType","constraint","file","line","routine","Error","NoticeOrError","chunk","columnTypes","columnCount","tableID","columnID","dataTypeID","dataTypeSize","dataTypeModifier","format","Mode","fieldCount","fields","Field","parameterCount","dataTypeIDs","parameterName","parameterValue","processID","secretKey","processId","channel","payload","status","AuthenticationMessage","BackendKeyDataMessage","CommandCompleteMessage","CopyDataMessage","CopyResponse","DataRowMessage","DatabaseError","NoticeMessage","NotificationResponseMessage","ParameterDescriptionMessage","ParameterStatusMessage","ReadyForQueryMessage","RowDescriptionMessage","bindComplete","closeComplete","copyDone","emptyQuery","noData","parseComplete","portalSuspended","replicationStart","messages_AuthenticationCleartextPassword","messages_AuthenticationMD5Password","messages_AuthenticationMessage","messages_AuthenticationOk","messages_AuthenticationSASL","messages_AuthenticationSASLContinue","messages_AuthenticationSASLFinal","messages_BackendKeyDataMessage","messages_BackendMessage","messages_CommandCompleteMessage","messages_CopyDataMessage","messages_CopyResponse","messages_DataRowMessage","messages_DatabaseError","messages_Field","messages_MessageName","messages_NoticeMessage","messages_NotificationResponseMessage","messages_ParameterDescriptionMessage","messages_ParameterStatusMessage","messages_ReadyForQueryMessage","messages_RowDescriptionMessage","messages_bindComplete","messages_closeComplete","messages_copyDone","messages_emptyQuery","messages_noData","messages_parseComplete","messages_portalSuspended","messages_replicationStart","Emscripten","FileSystemType","quit","dbs","Record","IDBDatabase","FS","filesystems","MEMFS","NODEFS","IDBFS","Omit","EmscriptenModule","preInit","Array","PostgresMod","mod","preRun","postRun","thisProgram","stdin","wasmMemory","WebAssembly","Memory","PROXYFS","WASM_PREFIX","pg_extensions","Promise","Blob","UTF8ToString","ptr","maxBytesToRead","stringToUTF8OnStack","s","_pgl_set_system_fn","system_fn","_pgl_set_popen_fn","popen_fn","_pgl_set_pclose_fn","pclose_fn","_pgl_set_rw_cbs","read_cb","write_cb","_pgl_set_pipe_fn","pipe_fn","_pgl_freopen","filepath","mode","stream","_pgl_pq_flush","_fopen","path","_fclose","_fflush","_pgl_proc_exit","addFunction","cb","signature","removeFunction","f","callMain","args","_PostgresMainLoopOnce","_PostgresMainLongJmp","_PostgresSendReadyForQueryIfNecessary","_ProcessStartupPacket","Port","ssl_done","gss_done","_IsTransactionBlock","_pgl_setPGliteActive","newValue","_pgl_startPGlite","_pgl_getMyProcPort","_pgl_sendConnData","ENV","_emscripten_force_exit","_pgl_run_atexit_funcs","_pq_buffer_remaining_data","T","Partial","moduleOverrides","PostgresFactory","postgresMod_FS","postgresMod_PostgresMod","_default","default","init","PGlite","pg","emscriptenOptions","emscriptenOpts","syncToFs","relaxedDurability","initialSyncFs","dumpTar","dbname","DumpTarCompressionOptions","compression","File","closeFs","Filesystem","dataDir","_relaxedDurability","debug","chmod","close","fd","fstat","FsStats","lstat","mkdir","recursive","options","open","flags","readdir","read","buffer","offset","rename","oldPath","newPath","rmdir","truncate","len","unlink","utimes","atime","mtime","writeFile","encoding","flag","write","dev","ino","nlink","uid","gid","rdev","size","blksize","blocks","ctime","EBADF","EBADFD","EEXIST","EINVAL","EISDIR","ENODEV","ENOENT","ENOTDIR","ENOTEMPTY","pgType","value","rowMode","RowMode","parsers","ParserOptions","serializers","SerializerOptions","blob","onNotice","notice","paramTypes","throwOnError","onRawData","TNamespace","namespaceObj","bundlePath","URL","PGliteInterface","clientOnly","ExtensionSetupResult","setup","ExtensionSetup","Extension","namespace","TExtensions","Extensions","K","ExtensionNamespace","messages","tarball","extension","filename","noInitDb","username","database","fs","DebugLevel","extensions","loadDataDir","icuDataDir","initialMemory","pgliteWasmModule","Module","initdbWasmModule","fsBundle","startParams","initDbStartParams","postgresqlconf","InitializedExtensions","waitReady","ready","closed","query","params","QueryOptions","Results","sql","TemplateStringsArray","sqlStrings","exec","describeQuery","DescribeQueryResult","transaction","Transaction","tx","callback","execProtocolRaw","ExecProtocolOptions","execProtocolRawStream","ExecProtocolOptionsStream","execProtocol","ExecProtocolResult","runExclusive","fn","listen","unlisten","onNotification","offNotification","dumpDataDir","refreshArrayTypes","E","Awaited","ReturnType","N","key","rows","Row","affectedRows","rollback","queryParams","serializer","Serializer","resultFields","parser","Parser","string","to","from","serialize","x","parse","number","bigint","json","boolean","date","Date","bytea","typeId","TypeHandler","type","xs","typarray","ABSTIME","ACLITEM","BIT","BOOL","BPCHAR","BYTEA","CHAR","CID","CIDR","CIRCLE","DATE","FLOAT4","FLOAT8","GTSVECTOR","INET","INT2","INT4","INT8","INTERVAL","JSON","JSONB","MACADDR","MACADDR8","MONEY","NUMERIC","OID","PATH","PG_DEPENDENCIES","PG_LSN","PG_NDISTINCT","PG_NODE_TREE","POLYGON","REFCURSOR","REGCLASS","REGCONFIG","REGDICTIONARY","REGNAMESPACE","REGOPER","REGOPERATOR","REGPROC","REGPROCEDURE","REGROLE","REGTYPE","RELTIME","SMGR","TEXT","TID","TIME","TIMESTAMP","TIMESTAMPTZ","TIMETZ","TINTERVAL","TSQUERY","TSVECTOR","TXID_SNAPSHOT","TypeHandlers","UUID","VARBIT","VARCHAR","XID","XML","arrayParser","arraySerializer","parseType","types","types$1_ABSTIME","types$1_ACLITEM","types$1_BIT","types$1_BOOL","types$1_BPCHAR","types$1_BYTEA","types$1_CHAR","types$1_CID","types$1_CIDR","types$1_CIRCLE","types$1_DATE","types$1_FLOAT4","types$1_FLOAT8","types$1_GTSVECTOR","types$1_INET","types$1_INT2","types$1_INT4","types$1_INT8","types$1_INTERVAL","types$1_JSON","types$1_JSONB","types$1_MACADDR","types$1_MACADDR8","types$1_MONEY","types$1_NUMERIC","types$1_OID","types$1_PATH","types$1_PG_DEPENDENCIES","types$1_PG_LSN","types$1_PG_NDISTINCT","types$1_PG_NODE_TREE","types$1_POLYGON","types$1_Parser","types$1_REFCURSOR","types$1_REGCLASS","types$1_REGCONFIG","types$1_REGDICTIONARY","types$1_REGNAMESPACE","types$1_REGOPER","types$1_REGOPERATOR","types$1_REGPROC","types$1_REGPROCEDURE","types$1_REGROLE","types$1_REGTYPE","types$1_RELTIME","types$1_SMGR","types$1_Serializer","types$1_TEXT","types$1_TID","types$1_TIME","types$1_TIMESTAMP","types$1_TIMESTAMPTZ","types$1_TIMETZ","types$1_TINTERVAL","types$1_TSQUERY","types$1_TSVECTOR","types$1_TXID_SNAPSHOT","types$1_TypeHandler","types$1_TypeHandlers","types$1_UUID","types$1_VARBIT","types$1_VARCHAR","types$1_XID","types$1_XML","types$1_arrayParser","types$1_arraySerializer","types$1_parseType","types$1_parsers","types$1_serializers","types$1_types","Pick","private","execProtocolStream","_handleBlob","_getWrittenBlob","_cleanupBlob","_checkReady","_runExclusiveQuery","_runExclusiveTransaction","_initArrayTypes","force","BasePGlite","AsyncDisposable","POSTGRES_MAIN_LONGJMP","paths","PG_ROOT","PGDATA","ICU_DATA_PATH","INITDB_EXE_PATH","POSTGRES_EXE_PATH","DEFAULT_RECV_BUF_SIZE","MAX_BUFFER_SIZE","externalCommandStreamFd","defaultStartParams","PGliteOptions","create","O","PGliteInterfaceExtensions","handleExternalCmd","cmd","Symbol","asyncDispose","execProtocolRawSync","isInTransaction","clone","_runExclusiveListen","copyToFS","filePath"],"sources":["../../../src/orm/postgres/services/PostgresModelBuilder.ts","../../../src/orm/postgres/providers/PostgresProvider.ts","../../../src/orm/postgres/providers/BunPostgresProvider.ts","../../../src/orm/postgres/providers/CloudflareHyperdriveProvider.ts","../../../src/orm/postgres/providers/NodePostgresProvider.ts","../../../../../node_modules/@electric-sql/pglite/dist/pglite-DYCFVi62.d.ts","../../../src/orm/postgres/providers/PglitePostgresProvider.ts","../../../src/orm/postgres/schemas/postgresEnvSchema.ts","../../../src/orm/postgres/types/byte.ts","../../../src/orm/postgres/index.ts"],"x_google_ignoreList":[5],"mappings":"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"}