alepha 0.19.0 → 0.19.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (638) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +6 -9
  3. package/dist/api/audits/index.d.ts +378 -346
  4. package/dist/api/audits/index.d.ts.map +1 -1
  5. package/dist/api/files/index.d.ts +216 -184
  6. package/dist/api/files/index.d.ts.map +1 -1
  7. package/dist/api/files/index.js +5 -1
  8. package/dist/api/files/index.js.map +1 -1
  9. package/dist/api/jobs/index.d.ts +528 -496
  10. package/dist/api/jobs/index.d.ts.map +1 -1
  11. package/dist/api/jobs/index.js +3 -3
  12. package/dist/api/jobs/index.js.map +1 -1
  13. package/dist/api/keys/index.d.ts +202 -202
  14. package/dist/api/keys/index.d.ts.map +1 -1
  15. package/dist/api/notifications/index.d.ts +152 -152
  16. package/dist/api/notifications/index.d.ts.map +1 -1
  17. package/dist/api/organizations/index.browser.js +48 -0
  18. package/dist/api/organizations/index.browser.js.map +1 -0
  19. package/dist/api/organizations/index.d.ts +516 -0
  20. package/dist/api/organizations/index.d.ts.map +1 -0
  21. package/dist/api/organizations/index.js +202 -0
  22. package/dist/api/organizations/index.js.map +1 -0
  23. package/dist/api/parameters/index.d.ts +391 -358
  24. package/dist/api/parameters/index.d.ts.map +1 -1
  25. package/dist/api/parameters/index.js +5 -1
  26. package/dist/api/parameters/index.js.map +1 -1
  27. package/dist/api/users/index.browser.js +7 -5
  28. package/dist/api/users/index.browser.js.map +1 -1
  29. package/dist/api/users/index.d.ts +989 -931
  30. package/dist/api/users/index.d.ts.map +1 -1
  31. package/dist/api/users/index.js +292 -146
  32. package/dist/api/users/index.js.map +1 -1
  33. package/dist/api/verifications/index.d.ts +132 -132
  34. package/dist/api/verifications/index.d.ts.map +1 -1
  35. package/dist/api/verifications/index.js +2 -2
  36. package/dist/api/verifications/index.js.map +1 -1
  37. package/dist/batch/index.d.ts +6 -6
  38. package/dist/batch/index.d.ts.map +1 -1
  39. package/dist/billing/index.d.ts +1048 -0
  40. package/dist/billing/index.d.ts.map +1 -0
  41. package/dist/billing/index.js +713 -0
  42. package/dist/billing/index.js.map +1 -0
  43. package/dist/bin/index.js +0 -2
  44. package/dist/bin/index.js.map +1 -1
  45. package/dist/bucket/index.d.ts +10 -10
  46. package/dist/bucket/index.d.ts.map +1 -1
  47. package/dist/bucket/index.js +2 -2
  48. package/dist/bucket/index.js.map +1 -1
  49. package/dist/cache/core/index.d.ts +9 -9
  50. package/dist/cache/core/index.d.ts.map +1 -1
  51. package/dist/cache/core/index.js +2 -2
  52. package/dist/cache/core/index.js.map +1 -1
  53. package/dist/cache/core/index.workerd.js +2 -2
  54. package/dist/cache/core/index.workerd.js.map +1 -1
  55. package/dist/cache/redis/index.d.ts +6 -6
  56. package/dist/cache/redis/index.d.ts.map +1 -1
  57. package/dist/cache/redis/index.js +2 -2
  58. package/dist/cache/redis/index.js.map +1 -1
  59. package/dist/cli/config/index.d.ts +12 -2
  60. package/dist/cli/config/index.d.ts.map +1 -1
  61. package/dist/cli/config/index.js +4 -0
  62. package/dist/cli/config/index.js.map +1 -1
  63. package/dist/cli/core/index.d.ts +183 -139
  64. package/dist/cli/core/index.d.ts.map +1 -1
  65. package/dist/cli/core/index.js +283 -86
  66. package/dist/cli/core/index.js.map +1 -1
  67. package/dist/cli/devtools/index.d.ts +45 -0
  68. package/dist/cli/devtools/index.d.ts.map +1 -0
  69. package/dist/cli/devtools/index.js +170 -0
  70. package/dist/cli/devtools/index.js.map +1 -0
  71. package/dist/cli/platform/index.d.ts +383 -492
  72. package/dist/cli/platform/index.d.ts.map +1 -1
  73. package/dist/cli/platform/index.js +42 -511
  74. package/dist/cli/platform/index.js.map +1 -1
  75. package/dist/cli/vendor/index.d.ts +196 -0
  76. package/dist/cli/vendor/index.d.ts.map +1 -0
  77. package/dist/cli/vendor/index.js +384 -0
  78. package/dist/cli/vendor/index.js.map +1 -0
  79. package/dist/command/index.d.ts +18 -18
  80. package/dist/command/index.d.ts.map +1 -1
  81. package/dist/command/index.js +2 -2
  82. package/dist/command/index.js.map +1 -1
  83. package/dist/core/index.browser.js +4 -4
  84. package/dist/core/index.browser.js.map +1 -1
  85. package/dist/core/index.d.ts +10 -10
  86. package/dist/core/index.d.ts.map +1 -1
  87. package/dist/core/index.js +4 -4
  88. package/dist/core/index.js.map +1 -1
  89. package/dist/core/index.native.js +4 -4
  90. package/dist/core/index.native.js.map +1 -1
  91. package/dist/core/index.workerd.js +4 -4
  92. package/dist/core/index.workerd.js.map +1 -1
  93. package/dist/crypto/index.d.ts +7 -7
  94. package/dist/crypto/index.d.ts.map +1 -1
  95. package/dist/datetime/index.d.ts +4 -4
  96. package/dist/datetime/index.d.ts.map +1 -1
  97. package/dist/email/brevo/index.d.ts +4 -4
  98. package/dist/email/brevo/index.d.ts.map +1 -1
  99. package/dist/email/core/index.d.ts +15 -11
  100. package/dist/email/core/index.d.ts.map +1 -1
  101. package/dist/email/core/index.js +12 -35
  102. package/dist/email/core/index.js.map +1 -1
  103. package/dist/email/smtp/index.d.ts +12 -12
  104. package/dist/email/smtp/index.d.ts.map +1 -1
  105. package/dist/email/smtp/index.js +7 -4
  106. package/dist/email/smtp/index.js.map +1 -1
  107. package/dist/fake/index.d.ts +4 -8
  108. package/dist/fake/index.d.ts.map +1 -1
  109. package/dist/fake/index.js +55 -889
  110. package/dist/fake/index.js.map +1 -1
  111. package/dist/lock/core/index.d.ts +13 -13
  112. package/dist/lock/core/index.d.ts.map +1 -1
  113. package/dist/lock/core/index.js +2 -2
  114. package/dist/lock/core/index.js.map +1 -1
  115. package/dist/lock/redis/index.d.ts +4 -4
  116. package/dist/lock/redis/index.d.ts.map +1 -1
  117. package/dist/logger/index.d.ts +16 -15
  118. package/dist/logger/index.d.ts.map +1 -1
  119. package/dist/logger/index.js +5 -2
  120. package/dist/logger/index.js.map +1 -1
  121. package/dist/mcp/index.d.ts +11 -11
  122. package/dist/mcp/index.d.ts.map +1 -1
  123. package/dist/mcp/index.js +2 -2
  124. package/dist/mcp/index.js.map +1 -1
  125. package/dist/orm/core/index.browser.js +11 -1
  126. package/dist/orm/core/index.browser.js.map +1 -1
  127. package/dist/orm/core/index.bun.js +53 -16
  128. package/dist/orm/core/index.bun.js.map +1 -1
  129. package/dist/orm/core/index.d.ts +95 -51
  130. package/dist/orm/core/index.d.ts.map +1 -1
  131. package/dist/orm/core/index.js +55 -14
  132. package/dist/orm/core/index.js.map +1 -1
  133. package/dist/orm/postgres/index.bun.js +17 -11
  134. package/dist/orm/postgres/index.bun.js.map +1 -1
  135. package/dist/orm/postgres/index.d.ts +21 -15
  136. package/dist/orm/postgres/index.d.ts.map +1 -1
  137. package/dist/orm/postgres/index.js +19 -13
  138. package/dist/orm/postgres/index.js.map +1 -1
  139. package/dist/queue/core/index.d.ts +14 -14
  140. package/dist/queue/core/index.d.ts.map +1 -1
  141. package/dist/queue/core/index.js +2 -2
  142. package/dist/queue/core/index.js.map +1 -1
  143. package/dist/queue/core/index.workerd.js +2 -2
  144. package/dist/queue/core/index.workerd.js.map +1 -1
  145. package/dist/queue/redis/index.d.ts +4 -4
  146. package/dist/queue/redis/index.d.ts.map +1 -1
  147. package/dist/queue/redis/index.js +2 -2
  148. package/dist/queue/redis/index.js.map +1 -1
  149. package/dist/react/auth/index.d.ts +9 -9
  150. package/dist/react/auth/index.d.ts.map +1 -1
  151. package/dist/react/core/index.d.ts +6 -6
  152. package/dist/react/core/index.d.ts.map +1 -1
  153. package/dist/react/core/index.js +5 -4
  154. package/dist/react/core/index.js.map +1 -1
  155. package/dist/react/form/index.d.ts +4 -4
  156. package/dist/react/form/index.d.ts.map +1 -1
  157. package/dist/react/head/index.d.ts +4 -4
  158. package/dist/react/head/index.d.ts.map +1 -1
  159. package/dist/react/i18n/index.d.ts +9 -9
  160. package/dist/react/i18n/index.d.ts.map +1 -1
  161. package/dist/react/intro/index.d.ts +2 -2
  162. package/dist/react/intro/index.d.ts.map +1 -1
  163. package/dist/react/intro/index.js +3 -4
  164. package/dist/react/intro/index.js.map +1 -1
  165. package/dist/react/router/index.browser.js +4 -5
  166. package/dist/react/router/index.browser.js.map +1 -1
  167. package/dist/react/router/index.d.ts +215 -215
  168. package/dist/react/router/index.d.ts.map +1 -1
  169. package/dist/react/router/index.js +6 -7
  170. package/dist/react/router/index.js.map +1 -1
  171. package/dist/react/testing/index.d.ts +2 -2
  172. package/dist/react/testing/index.d.ts.map +1 -1
  173. package/dist/react/testing/index.js +2 -4
  174. package/dist/react/testing/index.js.map +1 -1
  175. package/dist/redis/index.d.ts +19 -19
  176. package/dist/redis/index.d.ts.map +1 -1
  177. package/dist/retry/index.d.ts +4 -4
  178. package/dist/retry/index.d.ts.map +1 -1
  179. package/dist/scheduler/index.d.ts +13 -13
  180. package/dist/scheduler/index.d.ts.map +1 -1
  181. package/dist/scheduler/index.js +2 -2
  182. package/dist/scheduler/index.js.map +1 -1
  183. package/dist/scheduler/index.workerd.js +2 -2
  184. package/dist/scheduler/index.workerd.js.map +1 -1
  185. package/dist/security/index.browser.js +1 -1
  186. package/dist/security/index.browser.js.map +1 -1
  187. package/dist/security/index.d.ts +47 -47
  188. package/dist/security/index.d.ts.map +1 -1
  189. package/dist/security/index.js +9 -12
  190. package/dist/security/index.js.map +1 -1
  191. package/dist/server/auth/index.d.ts +170 -169
  192. package/dist/server/auth/index.d.ts.map +1 -1
  193. package/dist/server/auth/index.js +16 -2
  194. package/dist/server/auth/index.js.map +1 -1
  195. package/dist/server/cookies/index.d.ts +7 -7
  196. package/dist/server/cookies/index.d.ts.map +1 -1
  197. package/dist/server/core/index.d.ts +76 -76
  198. package/dist/server/core/index.d.ts.map +1 -1
  199. package/dist/server/core/index.js +23 -17
  200. package/dist/server/core/index.js.map +1 -1
  201. package/dist/server/cors/index.d.ts +13 -13
  202. package/dist/server/cors/index.d.ts.map +1 -1
  203. package/dist/server/cors/index.js +2 -2
  204. package/dist/server/cors/index.js.map +1 -1
  205. package/dist/server/etag/index.d.ts +9 -9
  206. package/dist/server/etag/index.d.ts.map +1 -1
  207. package/dist/server/health/index.d.ts +20 -20
  208. package/dist/server/health/index.d.ts.map +1 -1
  209. package/dist/server/links/index.browser.js +2 -2
  210. package/dist/server/links/index.browser.js.map +1 -1
  211. package/dist/server/links/index.d.ts +66 -66
  212. package/dist/server/links/index.d.ts.map +1 -1
  213. package/dist/server/links/index.js +4 -4
  214. package/dist/server/links/index.js.map +1 -1
  215. package/dist/server/metrics/index.d.ts +7 -7
  216. package/dist/server/metrics/index.d.ts.map +1 -1
  217. package/dist/server/proxy/index.d.ts +5 -5
  218. package/dist/server/proxy/index.d.ts.map +1 -1
  219. package/dist/server/rate-limit/index.d.ts +12 -12
  220. package/dist/server/rate-limit/index.d.ts.map +1 -1
  221. package/dist/server/rate-limit/index.js +2 -2
  222. package/dist/server/rate-limit/index.js.map +1 -1
  223. package/dist/server/static/index.d.ts +5 -5
  224. package/dist/server/static/index.d.ts.map +1 -1
  225. package/dist/server/swagger/index.d.ts +7 -7
  226. package/dist/server/swagger/index.d.ts.map +1 -1
  227. package/dist/server/swagger/index.js +2 -2
  228. package/dist/server/swagger/index.js.map +1 -1
  229. package/dist/sms/index.d.ts +11 -7
  230. package/dist/sms/index.d.ts.map +1 -1
  231. package/dist/sms/index.js +9 -15
  232. package/dist/sms/index.js.map +1 -1
  233. package/dist/system/index.d.ts +4 -4
  234. package/dist/system/index.d.ts.map +1 -1
  235. package/dist/topic/core/index.d.ts +6 -6
  236. package/dist/topic/core/index.d.ts.map +1 -1
  237. package/dist/topic/redis/index.d.ts +7 -7
  238. package/dist/topic/redis/index.d.ts.map +1 -1
  239. package/dist/topic/redis/index.js +2 -2
  240. package/dist/topic/redis/index.js.map +1 -1
  241. package/dist/websocket/index.d.ts +36 -36
  242. package/dist/websocket/index.d.ts.map +1 -1
  243. package/dist/websocket/index.js +2 -2
  244. package/dist/websocket/index.js.map +1 -1
  245. package/package.json +37 -32
  246. package/src/api/files/{controllers → __tests__}/FileController.spec.ts +189 -143
  247. package/src/api/files/{services → __tests__}/FileService.spec.ts +50 -30
  248. package/src/api/files/controllers/FileController.ts +6 -0
  249. package/src/api/jobs/{services → __tests__}/JobService.spec.ts +1 -1
  250. package/src/api/jobs/providers/JobProvider.ts +3 -3
  251. package/src/api/keys/{services → __tests__}/ApiKeyService.spec.ts +1 -1
  252. package/src/api/organizations/__tests__/OrganizationService.spec.ts +193 -0
  253. package/src/api/organizations/controllers/AdminOrganizationController.ts +103 -0
  254. package/src/api/organizations/entities/organizations.ts +20 -0
  255. package/src/api/organizations/index.browser.ts +10 -0
  256. package/src/api/organizations/index.ts +31 -0
  257. package/src/api/organizations/schemas/createOrganizationSchema.ts +10 -0
  258. package/src/api/organizations/schemas/organizationQuerySchema.ts +10 -0
  259. package/src/api/organizations/schemas/organizationResourceSchema.ts +6 -0
  260. package/src/api/organizations/schemas/updateOrganizationSchema.ts +7 -0
  261. package/src/api/organizations/services/OrganizationService.ts +75 -0
  262. package/src/api/parameters/services/ParameterProvider.ts +6 -1
  263. package/src/api/users/__tests__/$realm.spec.ts +191 -0
  264. package/src/api/users/__tests__/RealmProvider.spec.ts +53 -0
  265. package/src/api/users/__tests__/SessionService.spec.ts +778 -0
  266. package/src/api/users/{jobs → __tests__}/UserJobs.spec.ts +1 -1
  267. package/src/api/users/atoms/realmAuthSettingsAtom.ts +24 -0
  268. package/src/api/users/controllers/RealmController.ts +5 -11
  269. package/src/api/users/entities/users.ts +9 -3
  270. package/src/api/users/index.ts +23 -3
  271. package/src/api/users/primitives/$realm.ts +23 -11
  272. package/src/api/users/providers/RealmProvider.ts +23 -3
  273. package/src/api/users/services/RegistrationService.ts +3 -2
  274. package/src/api/users/services/SessionService.ts +249 -8
  275. package/src/api/users/services/UserService.ts +1 -1
  276. package/src/api/verifications/{jobs → __tests__}/VerificationJobs.spec.ts +4 -2
  277. package/src/api/verifications/parameters/VerificationParameters.ts +2 -2
  278. package/src/billing/__tests__/BillingService.spec.ts +136 -0
  279. package/src/billing/__tests__/PaymentMethodService.spec.ts +78 -0
  280. package/src/billing/controllers/AdminBillingController.ts +149 -0
  281. package/src/billing/controllers/BillingController.ts +108 -0
  282. package/src/billing/entities/paymentIntents.ts +34 -0
  283. package/src/billing/entities/paymentMethods.ts +24 -0
  284. package/src/billing/entities/refunds.ts +22 -0
  285. package/src/billing/errors/BillingError.ts +5 -0
  286. package/src/billing/index.ts +76 -0
  287. package/src/billing/providers/BillingProvider.ts +79 -0
  288. package/src/billing/providers/MemoryBillingProvider.ts +139 -0
  289. package/src/billing/schemas/intentSchemas.ts +60 -0
  290. package/src/billing/schemas/paymentMethodSchemas.ts +13 -0
  291. package/src/billing/schemas/refundSchemas.ts +6 -0
  292. package/src/billing/services/BillingService.ts +325 -0
  293. package/src/billing/services/PaymentMethodService.ts +82 -0
  294. package/src/bin/index.ts +0 -2
  295. package/src/bucket/providers/LocalFileStorageProvider.ts +2 -2
  296. package/src/cache/core/{primitives → __tests__}/$cache.middleware.spec.ts +1 -1
  297. package/src/cache/core/{providers → __tests__}/MemoryCacheProvider.spec.ts +1 -1
  298. package/src/cache/core/primitives/$cache.ts +2 -2
  299. package/src/cache/redis/providers/RedisCacheProvider.ts +2 -2
  300. package/src/cli/config/defineConfig.ts +20 -0
  301. package/src/cli/core/{services → __tests__}/ProjectScaffolder.spec.ts +1 -1
  302. package/src/cli/core/{commands/gen → __tests__}/changelog.spec.ts +1 -1
  303. package/src/cli/core/{commands → __tests__}/init.spec.ts +4 -12
  304. package/src/cli/core/assets.ts +0 -1
  305. package/src/cli/core/atoms/devOptions.ts +0 -5
  306. package/src/cli/core/commands/build.ts +2 -2
  307. package/src/cli/core/commands/dev.ts +165 -30
  308. package/src/cli/core/commands/gen/changelog.ts +2 -2
  309. package/src/cli/core/commands/init.ts +2 -7
  310. package/src/cli/core/commands/verify.ts +0 -1
  311. package/src/cli/core/providers/AppEntryProvider.ts +2 -2
  312. package/src/cli/core/providers/ViteDevServerProvider.ts +53 -46
  313. package/src/cli/core/services/PackageManagerUtils.ts +8 -3
  314. package/src/cli/core/services/ProjectScaffolder.ts +20 -20
  315. package/src/cli/core/tasks/BuildClientTask.ts +8 -0
  316. package/src/cli/core/tasks/BuildServerTask.ts +17 -4
  317. package/src/cli/core/templates/alephaConfigTs.ts +0 -6
  318. package/src/cli/core/templates/webAdminDashboardTsx.ts +17 -0
  319. package/src/cli/core/templates/webAppRouterTs.ts +85 -2
  320. package/src/cli/devtools/atoms/devtoolsOptions.ts +26 -0
  321. package/src/cli/devtools/index.ts +194 -0
  322. package/src/cli/platform/{adapters → __tests__}/CloudflareAdapter.spec.ts +2 -2
  323. package/src/cli/platform/{providers → __tests__}/GitHubSecretStore.spec.ts +1 -1
  324. package/src/cli/platform/{services → __tests__}/NamingService.spec.ts +1 -1
  325. package/src/cli/platform/{providers → __tests__}/PlatformCacheProvider.spec.ts +1 -1
  326. package/src/cli/platform/{services → __tests__}/PlatformInspector.spec.ts +1 -1
  327. package/src/cli/platform/{services → __tests__}/PlatformOrchestrator.spec.ts +3 -3
  328. package/src/cli/platform/{services → __tests__}/SecretFilterService.spec.ts +1 -1
  329. package/src/cli/platform/{commands → __tests__}/SecretsCommand.spec.ts +1 -1
  330. package/src/cli/platform/{adapters → __tests__}/VercelAdapter.spec.ts +2 -2
  331. package/src/cli/platform/atoms/platformOptions.ts +2 -10
  332. package/src/cli/platform/commands/SecretsCommand.ts +2 -2
  333. package/src/cli/platform/commands/platform.ts +2 -11
  334. package/src/cli/platform/index.ts +34 -11
  335. package/src/cli/platform/services/PlatformInspector.ts +2 -2
  336. package/src/cli/platform/services/PlatformOrchestrator.ts +0 -9
  337. package/src/cli/vendor/__tests__/VendorService.spec.ts +407 -0
  338. package/src/cli/vendor/atoms/vendorOptions.ts +41 -0
  339. package/src/cli/vendor/commands/VendorCommand.ts +204 -0
  340. package/src/cli/vendor/index.ts +43 -0
  341. package/src/cli/vendor/services/VendorService.ts +338 -0
  342. package/src/command/{providers → __tests__}/CliProvider.spec.ts +1 -1
  343. package/src/command/{helpers → __tests__}/EnvUtils.spec.ts +1 -1
  344. package/src/command/providers/CliProvider.ts +2 -2
  345. package/src/core/{primitives → __tests__}/$atom.spec.ts +2 -2
  346. package/src/core/{primitives → __tests__}/$memoize.spec.ts +1 -1
  347. package/src/core/{primitives → __tests__}/$mode.spec.ts +1 -1
  348. package/src/core/{primitives → __tests__}/$pipeline.spec.ts +1 -1
  349. package/src/core/{primitives → __tests__}/$scope.spec.ts +2 -2
  350. package/src/core/{providers → __tests__}/KeylessJsonSchemaCodec.spec.ts +1 -1
  351. package/src/core/{providers → __tests__}/SchemaValidator.spec.ts +1 -1
  352. package/src/core/{helpers → __tests__}/jsonSchemaToTypeBox.spec.ts +1 -1
  353. package/src/core/index.shared.ts +1 -1
  354. package/src/core/primitives/{$use.ts → $state.ts} +4 -4
  355. package/src/crypto/{providers → __tests__}/BrowserCryptoProvider.browser.spec.ts +1 -1
  356. package/src/crypto/{providers → __tests__}/CryptoProvider.spec.ts +1 -1
  357. package/src/datetime/{primitives → __tests__}/$debounce.spec.ts +1 -1
  358. package/src/datetime/{primitives → __tests__}/$throttle.spec.ts +1 -1
  359. package/src/datetime/{primitives → __tests__}/$timeout.spec.ts +1 -1
  360. package/src/email/brevo/{providers → __tests__}/BrevoEmailProvider.spec.ts +1 -1
  361. package/src/email/core/{providers → __tests__}/LocalEmailProvider.spec.ts +39 -150
  362. package/src/email/core/providers/LocalEmailProvider.ts +13 -51
  363. package/src/email/smtp/providers/NodemailerEmailProvider.ts +2 -2
  364. package/src/lock/core/{primitives → __tests__}/$lock.middleware.spec.ts +1 -1
  365. package/src/lock/core/primitives/$lock.ts +2 -2
  366. package/src/logger/index.ts +10 -4
  367. package/src/mcp/transports/SseMcpTransport.ts +2 -2
  368. package/src/orm/__tests__/ModelBuilder-tests.ts +53 -0
  369. package/src/orm/__tests__/ModelBuilder.spec.ts +80 -0
  370. package/src/orm/__tests__/organization-tests.ts +200 -0
  371. package/src/orm/__tests__/organization.spec.ts +103 -0
  372. package/src/orm/core/{providers/drivers → __tests__}/BunSqliteProvider.bun.spec.ts +5 -2
  373. package/src/orm/core/constants/PG_SYMBOLS.ts +2 -0
  374. package/src/orm/core/index.shared.ts +1 -0
  375. package/src/orm/core/primitives/$entity.ts +31 -0
  376. package/src/orm/core/providers/DatabaseTypeProvider.ts +11 -0
  377. package/src/orm/core/providers/DrizzleKitProvider.ts +1 -1
  378. package/src/orm/core/providers/drivers/BunSqliteProvider.ts +2 -2
  379. package/src/orm/core/providers/drivers/NodeSqliteProvider.ts +3 -3
  380. package/src/orm/core/services/ModelBuilder.ts +11 -0
  381. package/src/orm/core/services/QueryManager.ts +16 -2
  382. package/src/orm/core/services/Repository.ts +70 -10
  383. package/src/orm/postgres/{providers → __tests__}/BunPostgresProvider.bun.spec.ts +1 -1
  384. package/src/orm/postgres/services/PostgresModelBuilder.ts +9 -1
  385. package/src/queue/core/providers/WorkerProvider.ts +2 -2
  386. package/src/queue/redis/providers/RedisQueueProvider.ts +2 -2
  387. package/src/react/core/{hooks → __tests__}/useAction.browser.spec.tsx +1 -1
  388. package/src/react/core/hooks/useAction.ts +7 -6
  389. package/src/react/head/{providers → __tests__}/BrowserHeadProvider.browser.spec.ts +1 -1
  390. package/src/react/head/{helpers → __tests__}/SeoExpander.spec.ts +1 -1
  391. package/src/react/i18n/{providers → __tests__}/I18nProvider.spec.ts +1 -1
  392. package/src/react/i18n/{hooks → __tests__}/useI18n.browser.spec.tsx +1 -1
  393. package/src/react/intro/components/GettingStartedDevtoolsSlide.tsx +3 -6
  394. package/src/react/router/{providers → __tests__}/ReactBrowserProvider.browser.spec.ts +1 -1
  395. package/src/react/router/providers/ReactBrowserProvider.ts +2 -2
  396. package/src/react/router/providers/ReactPageProvider.ts +2 -2
  397. package/src/react/router/providers/ReactServerProvider.ts +3 -3
  398. package/src/redis/{providers → __tests__}/BunRedisProvider.bun.spec.ts +4 -4
  399. package/src/retry/{primitives → __tests__}/$retry.middleware.spec.ts +1 -1
  400. package/src/router/{TemplatedPathParser.spec.ts → __tests__/TemplatedPathParser.spec.ts} +1 -1
  401. package/src/scheduler/primitives/$scheduler.ts +2 -2
  402. package/src/security/{primitives → __tests__}/$secure-browser.spec.ts +1 -1
  403. package/src/security/{primitives → __tests__}/$secure.spec.ts +1 -1
  404. package/src/security/primitives/$issuer.ts +1 -1
  405. package/src/security/providers/JwtProvider.ts +6 -10
  406. package/src/security/providers/SecurityProvider.ts +6 -11
  407. package/src/security/schemas/userAccountInfoSchema.ts +3 -3
  408. package/src/server/auth/providers/ServerAuthProvider.ts +24 -2
  409. package/src/server/cookies/{services → __tests__}/CookieParser.spec.ts +1 -1
  410. package/src/server/core/{primitives → __tests__}/$circuit.spec.ts +1 -1
  411. package/src/server/core/{providers → __tests__}/NodeHttpServerProvider.spec.ts +1 -1
  412. package/src/server/core/{providers → __tests__}/ServerBodyParserProvider.spec.ts +31 -1
  413. package/src/server/core/{providers → __tests__}/ServerCompressProvider.spec.ts +1 -1
  414. package/src/server/core/{providers → __tests__}/ServerHelmetProvider.spec.ts +4 -1
  415. package/src/server/core/{providers → __tests__}/ServerMultipartProvider.spec.ts +1 -1
  416. package/src/server/core/{services → __tests__}/ServerRequestParser.spec.ts +1 -1
  417. package/src/server/core/primitives/$action.ts +2 -2
  418. package/src/server/core/primitives/$sse.ts +2 -2
  419. package/src/server/core/providers/ServerBodyParserProvider.ts +21 -12
  420. package/src/server/core/providers/ServerCompressProvider.ts +2 -2
  421. package/src/server/core/providers/ServerHelmetProvider.ts +2 -2
  422. package/src/server/core/providers/ServerMultipartProvider.ts +2 -2
  423. package/src/server/core/providers/ServerRouterProvider.ts +1 -5
  424. package/src/server/cors/{primitives → __tests__}/$cors.spec.ts +1 -1
  425. package/src/server/cors/providers/ServerCorsProvider.ts +2 -2
  426. package/src/server/links/{services → __tests__}/BatchCollector.spec.ts +1 -1
  427. package/src/server/links/providers/LinkProvider.ts +2 -2
  428. package/src/server/links/providers/RemotePrimitiveProvider.ts +2 -2
  429. package/src/server/links/providers/ServerLinksProvider.ts +2 -2
  430. package/src/server/rate-limit/{primitives → __tests__}/$rateLimit.spec.ts +1 -1
  431. package/src/server/rate-limit/providers/ServerRateLimitProvider.ts +2 -2
  432. package/src/server/swagger/providers/ServerSwaggerProvider.ts +2 -2
  433. package/src/sms/{providers → __tests__}/LocalSmsProvider.spec.ts +35 -29
  434. package/src/sms/providers/LocalSmsProvider.ts +13 -24
  435. package/src/system/{providers → __tests__}/MemoryFileSystemProvider.spec.ts +1 -1
  436. package/src/system/{providers → __tests__}/MemoryShellProvider.spec.ts +1 -1
  437. package/src/topic/redis/providers/RedisTopicProvider.ts +2 -2
  438. package/src/websocket/{services → __tests__}/RoomManager.spec.ts +1 -1
  439. package/src/websocket/providers/NodeWebSocketServerProvider.ts +2 -2
  440. package/tsconfig.base.json +1 -0
  441. package/assets/devtools-ui/200.html +0 -10
  442. package/assets/devtools-ui/200.html.br +0 -0
  443. package/assets/devtools-ui/404.html +0 -10
  444. package/assets/devtools-ui/404.html.br +0 -0
  445. package/assets/devtools-ui/CNAME +0 -1
  446. package/assets/devtools-ui/asset.CHpVij2M.css +0 -1
  447. package/assets/devtools-ui/asset.CHpVij2M.css.br +0 -0
  448. package/assets/devtools-ui/asset.DJ-i0UDz.css +0 -1
  449. package/assets/devtools-ui/asset.DJ-i0UDz.css.br +0 -0
  450. package/assets/devtools-ui/chunk.1jwpJORo.js +0 -1
  451. package/assets/devtools-ui/chunk.1jwpJORo.js.br +0 -0
  452. package/assets/devtools-ui/chunk.B0r2wfUL.js +0 -1
  453. package/assets/devtools-ui/chunk.B0r2wfUL.js.br +0 -0
  454. package/assets/devtools-ui/chunk.BScN4dVR.js +0 -84
  455. package/assets/devtools-ui/chunk.BScN4dVR.js.br +0 -0
  456. package/assets/devtools-ui/chunk.BispuoY4.js +0 -1
  457. package/assets/devtools-ui/chunk.BispuoY4.js.br +0 -0
  458. package/assets/devtools-ui/chunk.BtrPUUd7.js +0 -2
  459. package/assets/devtools-ui/chunk.BtrPUUd7.js.br +0 -0
  460. package/assets/devtools-ui/chunk.C-KMHgqf.js +0 -1
  461. package/assets/devtools-ui/chunk.C-KMHgqf.js.br +0 -0
  462. package/assets/devtools-ui/chunk.C2zQ3CF6.js +0 -7
  463. package/assets/devtools-ui/chunk.C2zQ3CF6.js.br +0 -0
  464. package/assets/devtools-ui/chunk.C619McpO.js +0 -1
  465. package/assets/devtools-ui/chunk.C619McpO.js.br +0 -0
  466. package/assets/devtools-ui/chunk.C9OsYsVl.js +0 -1
  467. package/assets/devtools-ui/chunk.C9OsYsVl.js.br +0 -3
  468. package/assets/devtools-ui/chunk.CAC_-151.js +0 -1
  469. package/assets/devtools-ui/chunk.CAC_-151.js.br +0 -0
  470. package/assets/devtools-ui/chunk.CCmesWfx.js +0 -1
  471. package/assets/devtools-ui/chunk.CCmesWfx.js.br +0 -0
  472. package/assets/devtools-ui/chunk.CFQDmrcV.js +0 -1
  473. package/assets/devtools-ui/chunk.CFQDmrcV.js.br +0 -0
  474. package/assets/devtools-ui/chunk.CgM71Zau.js +0 -1
  475. package/assets/devtools-ui/chunk.CgM71Zau.js.br +0 -0
  476. package/assets/devtools-ui/chunk.CmHq336a.js +0 -1
  477. package/assets/devtools-ui/chunk.CmHq336a.js.br +0 -0
  478. package/assets/devtools-ui/chunk.CthNMCar.js +0 -1
  479. package/assets/devtools-ui/chunk.CthNMCar.js.br +0 -0
  480. package/assets/devtools-ui/chunk.D2brVJP1.js +0 -1
  481. package/assets/devtools-ui/chunk.D2brVJP1.js.br +0 -0
  482. package/assets/devtools-ui/chunk.DgBKGkiw.js +0 -1
  483. package/assets/devtools-ui/chunk.DgBKGkiw.js.br +0 -0
  484. package/assets/devtools-ui/chunk.NNHHCQsa.js +0 -1
  485. package/assets/devtools-ui/chunk.NNHHCQsa.js.br +0 -0
  486. package/assets/devtools-ui/chunk._CDKKWMo.js +0 -1
  487. package/assets/devtools-ui/chunk._CDKKWMo.js.br +0 -0
  488. package/assets/devtools-ui/entry.B_nOjAod.js +0 -2
  489. package/assets/devtools-ui/entry.B_nOjAod.js.br +0 -0
  490. package/assets/devtools-ui/index.html +0 -10
  491. package/assets/devtools-ui/index.html.br +0 -0
  492. package/dist/devtools/index.browser.js +0 -224
  493. package/dist/devtools/index.browser.js.map +0 -1
  494. package/dist/devtools/index.d.ts +0 -499
  495. package/dist/devtools/index.d.ts.map +0 -1
  496. package/dist/devtools/index.js +0 -782
  497. package/dist/devtools/index.js.map +0 -1
  498. package/dist/mqtt/index.d.ts +0 -164
  499. package/dist/mqtt/index.d.ts.map +0 -1
  500. package/dist/mqtt/index.js +0 -214
  501. package/dist/mqtt/index.js.map +0 -1
  502. package/dist/topic/mqtt/index.d.ts +0 -87
  503. package/dist/topic/mqtt/index.d.ts.map +0 -1
  504. package/dist/topic/mqtt/index.js +0 -88
  505. package/dist/topic/mqtt/index.js.map +0 -1
  506. package/src/api/users/parameters/UserParameters.ts +0 -23
  507. package/src/api/users/services/SessionService.spec.ts +0 -303
  508. package/src/cli/platform/adapters/DockerAdapter.spec.ts +0 -378
  509. package/src/cli/platform/adapters/DockerAdapter.ts +0 -417
  510. package/src/cli/platform/services/DockerComposeGenerator.spec.ts +0 -490
  511. package/src/cli/platform/services/DockerComposeGenerator.ts +0 -353
  512. package/src/cli/platform/services/DockerSshService.spec.ts +0 -47
  513. package/src/cli/platform/services/DockerSshService.ts +0 -61
  514. package/src/devtools/__tests__/DevCollectorProvider.spec.ts +0 -7
  515. package/src/devtools/assets.ts +0 -6
  516. package/src/devtools/entities/logs.ts +0 -21
  517. package/src/devtools/index.browser.ts +0 -11
  518. package/src/devtools/index.shared.ts +0 -15
  519. package/src/devtools/index.ts +0 -39
  520. package/src/devtools/providers/DevToolsMetadataProvider.ts +0 -459
  521. package/src/devtools/providers/DevToolsProvider.ts +0 -280
  522. package/src/devtools/schemas/DevActionMetadata.ts +0 -30
  523. package/src/devtools/schemas/DevAtomMetadata.ts +0 -26
  524. package/src/devtools/schemas/DevBucketMetadata.ts +0 -11
  525. package/src/devtools/schemas/DevCacheMetadata.ts +0 -10
  526. package/src/devtools/schemas/DevEntityMetadata.ts +0 -60
  527. package/src/devtools/schemas/DevEnvMetadata.ts +0 -22
  528. package/src/devtools/schemas/DevMetadata.ts +0 -47
  529. package/src/devtools/schemas/DevModuleMetadata.ts +0 -8
  530. package/src/devtools/schemas/DevPageMetadata.ts +0 -24
  531. package/src/devtools/schemas/DevProviderMetadata.ts +0 -10
  532. package/src/devtools/schemas/DevQueueMetadata.ts +0 -10
  533. package/src/devtools/schemas/DevRealmMetadata.ts +0 -19
  534. package/src/devtools/schemas/DevRouteMetadata.ts +0 -8
  535. package/src/devtools/schemas/DevSchedulerMetadata.ts +0 -11
  536. package/src/devtools/schemas/DevTopicMetadata.ts +0 -11
  537. package/src/mqtt/index.ts +0 -32
  538. package/src/mqtt/providers/MqttClientProvider.ts +0 -63
  539. package/src/mqtt/providers/MqttJsClientProvider.spec.ts +0 -165
  540. package/src/mqtt/providers/MqttJsClientProvider.ts +0 -309
  541. package/src/topic/mqtt/index.ts +0 -30
  542. package/src/topic/mqtt/providers/MqttTopicProvider.spec.ts +0 -160
  543. package/src/topic/mqtt/providers/MqttTopicProvider.ts +0 -146
  544. /package/src/api/audits/{primitives → __tests__}/$audit.spec.ts +0 -0
  545. /package/src/api/audits/{services → __tests__}/AuditService.spec.ts +0 -0
  546. /package/src/api/files/{controllers → __tests__}/AdminFileStatsController.spec.ts +0 -0
  547. /package/src/api/files/{jobs → __tests__}/FileJobs.spec.ts +0 -0
  548. /package/src/api/jobs/{primitives → __tests__}/$job-middleware.spec.ts +0 -0
  549. /package/src/api/parameters/{primitives → __tests__}/$parameter.spec.ts +0 -0
  550. /package/src/api/users/{controllers → __tests__}/AdminIdentityController.spec.ts +0 -0
  551. /package/src/api/users/{controllers → __tests__}/AdminSessionController.spec.ts +0 -0
  552. /package/src/api/users/{controllers → __tests__}/AdminUserController.spec.ts +0 -0
  553. /package/src/api/users/{services → __tests__}/CredentialService.spec.ts +0 -0
  554. /package/src/api/users/{services → __tests__}/RegistrationService.spec.ts +0 -0
  555. /package/src/batch/{primitives → __tests__}/$batch.spec.ts +0 -0
  556. /package/src/batch/{providers → __tests__}/BatchProvider.spec.ts +0 -0
  557. /package/src/bucket/{primitives → __tests__}/$bucket.spec.ts +0 -0
  558. /package/src/bucket/{providers → __tests__}/FileStorageProvider.spec.ts +0 -0
  559. /package/src/bucket/{providers → __tests__}/LocalFileStorageProvider.spec.ts +0 -0
  560. /package/src/bucket/{providers → __tests__}/MemoryFileStorageProvider.spec.ts +0 -0
  561. /package/src/cache/core/{primitives → __tests__}/$cache.spec.ts +0 -0
  562. /package/src/cache/redis/{providers → __tests__}/RedisCacheProvider.spec.ts +0 -0
  563. /package/src/command/{primitives → __tests__}/$command.spec.ts +0 -0
  564. /package/src/command/{helpers → __tests__}/Asker.spec.ts +0 -0
  565. /package/src/command/{helpers → __tests__}/Runner.spec.ts +0 -0
  566. /package/src/core/{primitives → __tests__}/$context.spec.ts +0 -0
  567. /package/src/core/{primitives → __tests__}/$env.spec.ts +0 -0
  568. /package/src/core/{primitives → __tests__}/$hook.spec.ts +0 -0
  569. /package/src/core/{primitives → __tests__}/$inject.spec.ts +0 -0
  570. /package/src/core/{primitives → __tests__}/$module.spec.ts +0 -0
  571. /package/src/core/{providers → __tests__}/CodecManager.spec.ts +0 -0
  572. /package/src/core/{providers → __tests__}/EventManager.spec.ts +0 -0
  573. /package/src/core/{providers → __tests__}/StateManager.spec.ts +0 -0
  574. /package/src/core/{providers → __tests__}/TypeProvider.spec.ts +0 -0
  575. /package/src/datetime/{primitives → __tests__}/$interval.spec.ts +0 -0
  576. /package/src/datetime/{providers → __tests__}/DateTimeProvider.spec.ts +0 -0
  577. /package/src/email/core/{primitives → __tests__}/$email.spec.ts +0 -0
  578. /package/src/fake/{providers → __tests__}/FakeProvider.spec.ts +0 -0
  579. /package/src/lock/core/{providers → __tests__}/MemoryLockProvider.spec.ts +0 -0
  580. /package/src/lock/redis/{providers → __tests__}/RedisLockProvider.spec.ts +0 -0
  581. /package/src/logger/{primitives → __tests__}/$logger.spec.ts +0 -0
  582. /package/src/logger/{services → __tests__}/Logger.spec.ts +0 -0
  583. /package/src/mcp/{primitives → __tests__}/$prompt.spec.ts +0 -0
  584. /package/src/mcp/{primitives → __tests__}/$resource.spec.ts +0 -0
  585. /package/src/mcp/{primitives → __tests__}/$tool.spec.ts +0 -0
  586. /package/src/mcp/{providers → __tests__}/McpServerProvider.spec.ts +0 -0
  587. /package/src/mcp/{helpers → __tests__}/jsonrpc.spec.ts +0 -0
  588. /package/src/orm/core/{helpers → __tests__}/parseQueryString.spec.ts +0 -0
  589. /package/src/queue/core/{primitives → __tests__}/$consumer.spec.ts +0 -0
  590. /package/src/queue/core/{providers → __tests__}/MemoryQueueProvider.spec.ts +0 -0
  591. /package/src/queue/core/{providers → __tests__}/WorkerProvider.spec.ts +0 -0
  592. /package/src/queue/redis/{providers → __tests__}/RedisQueueProvider.spec.ts +0 -0
  593. /package/src/react/form/{hooks → __tests__}/useForm.browser.spec.tsx +0 -0
  594. /package/src/react/head/{hooks → __tests__}/useHead.spec.tsx +0 -0
  595. /package/src/react/i18n/{components → __tests__}/Localize.spec.tsx +0 -0
  596. /package/src/react/router/{primitives → __tests__}/$page.browser.spec.tsx +0 -0
  597. /package/src/react/router/{primitives → __tests__}/$page.middleware.spec.tsx +0 -0
  598. /package/src/react/router/{primitives → __tests__}/$page.spec.tsx +0 -0
  599. /package/src/react/router/{providers → __tests__}/ReactPreloadProvider.spec.ts +0 -0
  600. /package/src/react/router/{providers → __tests__}/ReactServerProvider.spec.tsx +0 -0
  601. /package/src/react/router/{providers → __tests__}/ReactServerTemplateProvider.spec.ts +0 -0
  602. /package/src/retry/{primitives → __tests__}/$retry.spec.ts +0 -0
  603. /package/src/retry/{providers → __tests__}/RetryProvider.spec.ts +0 -0
  604. /package/src/router/{providers → __tests__}/RouterProvider.spec.ts +0 -0
  605. /package/src/security/{primitives → __tests__}/$issuer.spec.ts +0 -0
  606. /package/src/security/{primitives → __tests__}/$permission.spec.ts +0 -0
  607. /package/src/security/{primitives → __tests__}/$role.spec.ts +0 -0
  608. /package/src/security/{primitives → __tests__}/$serviceAccount.spec.ts +0 -0
  609. /package/src/security/{providers → __tests__}/SecurityProvider.spec.ts +0 -0
  610. /package/src/server/cookies/{providers → __tests__}/ServerCookiesProvider.spec.ts +0 -0
  611. /package/src/server/core/{primitives → __tests__}/$action.spec.ts +0 -0
  612. /package/src/server/core/{primitives → __tests__}/$middleware.spec.ts +0 -0
  613. /package/src/server/core/{primitives → __tests__}/$route.spec.ts +0 -0
  614. /package/src/server/core/{primitives → __tests__}/$sse.spec.ts +0 -0
  615. /package/src/server/core/{providers → __tests__}/BunHttpServerProvider.bun.spec.ts +0 -0
  616. /package/src/server/core/{services → __tests__}/HttpClient.spec.ts +0 -0
  617. /package/src/server/core/{providers → __tests__}/ServerLoggerProvider.spec.ts +0 -0
  618. /package/src/server/core/{services → __tests__}/UserAgentParser.spec.ts +0 -0
  619. /package/src/server/cors/{providers → __tests__}/ServerCorsProvider.spec.ts +0 -0
  620. /package/src/server/etag/{providers → __tests__}/ServerEtagProvider.spec.ts +0 -0
  621. /package/src/server/health/{providers → __tests__}/ServerHealthProvider.spec.ts +0 -0
  622. /package/src/server/links/{primitives → __tests__}/$remote.spec.ts +0 -0
  623. /package/src/server/links/{services → __tests__}/BatchEndpoint.spec.ts +0 -0
  624. /package/src/server/links/{providers → __tests__}/LinkProvider.spec.ts +0 -0
  625. /package/src/server/links/{providers → __tests__}/ServerLinksProvider.spec.ts +0 -0
  626. /package/src/server/metrics/{providers → __tests__}/ServerMetricsProvider.spec.ts +0 -0
  627. /package/src/server/proxy/{primitives → __tests__}/$proxy.spec.ts +0 -0
  628. /package/src/server/rate-limit/{providers → __tests__}/ServerRateLimitProvider.spec.ts +0 -0
  629. /package/src/server/static/{primitives → __tests__}/$serve.spec.ts +0 -0
  630. /package/src/server/swagger/{primitives → __tests__}/$swagger.spec.ts +0 -0
  631. /package/src/sms/{primitives → __tests__}/$sms.spec.ts +0 -0
  632. /package/src/sms/{providers → __tests__}/MemorySmsProvider.spec.ts +0 -0
  633. /package/src/system/{services → __tests__}/FileDetector.spec.ts +0 -0
  634. /package/src/system/{providers → __tests__}/NodeFileSystemProvider.spec.ts +0 -0
  635. /package/src/topic/core/{primitives → __tests__}/$subscriber.spec.ts +0 -0
  636. /package/src/topic/core/{providers → __tests__}/MemoryTopicProvider.spec.ts +0 -0
  637. /package/src/topic/redis/{providers → __tests__}/RedisTopicProvider.spec.ts +0 -0
  638. /package/src/websocket/{primitives → __tests__}/$channel.spec.ts +0 -0
@@ -1,7 +1,7 @@
1
1
  import { createRequire } from "node:module";
2
2
  import { $env, $hook, $inject, $module, $pipeline, AlephaError, t } from "alepha";
3
- import { AlephaOrm, DatabaseProvider, DbMigrationError, ModelBuilder, PG_CREATED_AT, PG_ENUM, PG_GENERATED, PG_IDENTITY, PG_PRIMARY_KEY, PG_REF, PG_SERIAL, PG_UPDATED_AT, databaseEnvSchema, schema } from "alepha/orm";
4
- import { sql } from "drizzle-orm";
3
+ import { AlephaOrm, DatabaseProvider, DbMigrationError, ModelBuilder, PG_CREATED_AT, PG_ENUM, PG_GENERATED, PG_IDENTITY, PG_PRIMARY_KEY, PG_REF, PG_SERIAL, PG_UPDATED_AT, databaseEnvSchema, schema, sql } from "alepha/orm";
4
+ import { sql as sql$1 } from "drizzle-orm";
5
5
  import { $lock } from "alepha/lock";
6
6
  import * as pg from "drizzle-orm/pg-core";
7
7
  import { check, customType, foreignKey, index, pgEnum, pgMaterializedView, pgSchema, pgSequence, pgTable, pgView, unique, uniqueIndex } from "drizzle-orm/pg-core";
@@ -29,6 +29,12 @@ const byte = customType({ dataType: () => "bytea" });
29
29
  //#region ../../src/orm/postgres/services/PostgresModelBuilder.ts
30
30
  var PostgresModelBuilder = class extends ModelBuilder {
31
31
  schemas = /* @__PURE__ */ new Map();
32
+ /**
33
+ * Create a primary key column with UUID v7
34
+ */
35
+ getPrimaryKeyUUID(key) {
36
+ return pg.uuid(key).default(sql`uuidv7()`);
37
+ }
32
38
  getPgSchema(name) {
33
39
  if (!this.schemas.has(name) && name !== "public") this.schemas.set(name, pgSchema(name));
34
40
  const nsp = name !== "public" ? this.schemas.get(name) : {
@@ -179,7 +185,7 @@ var PostgresModelBuilder = class extends ModelBuilder {
179
185
  mapStringToColumn = (key, value) => {
180
186
  if ("format" in value) {
181
187
  if (value.format === "uuid") {
182
- if (PG_PRIMARY_KEY in value) return pg.uuid(key).defaultRandom();
188
+ if (PG_PRIMARY_KEY in value) return this.getPrimaryKeyUUID(key);
183
189
  return pg.uuid(key);
184
190
  }
185
191
  if (value.format === "byte") return byte(key);
@@ -273,7 +279,7 @@ var PostgresProvider = class extends DatabaseProvider {
273
279
  async generateTestSchema() {
274
280
  if (this.alepha.isTest() && this.schemaForTesting?.startsWith("test_alepha_")) {
275
281
  await this.cleanupStaleTestSchemas();
276
- await this.execute(sql`CREATE SCHEMA IF NOT EXISTS ${sql.raw(this.schemaForTesting)}`);
282
+ await this.execute(sql$1`CREATE SCHEMA IF NOT EXISTS ${sql$1.raw(this.schemaForTesting)}`);
277
283
  }
278
284
  }
279
285
  /**
@@ -282,7 +288,7 @@ var PostgresProvider = class extends DatabaseProvider {
282
288
  async dropTestSchema() {
283
289
  if (this.alepha.isTest() && this.schemaForTesting?.startsWith("test_alepha_")) {
284
290
  this.log.info(`Deleting test schema '${this.schemaForTesting}' ...`);
285
- await this.execute(sql`DROP SCHEMA IF EXISTS ${sql.raw(this.schemaForTesting)} CASCADE`);
291
+ await this.execute(sql$1`DROP SCHEMA IF EXISTS ${sql$1.raw(this.schemaForTesting)} CASCADE`);
286
292
  this.log.info(`Test schema '${this.schemaForTesting}' deleted`);
287
293
  }
288
294
  }
@@ -297,10 +303,10 @@ var PostgresProvider = class extends DatabaseProvider {
297
303
  */
298
304
  async cleanupStaleTestSchemas() {
299
305
  try {
300
- const [lock] = await this.execute(sql`SELECT pg_try_advisory_lock(hashtext('alepha:test:schema:cleanup')) AS acquired`);
306
+ const [lock] = await this.execute(sql$1`SELECT pg_try_advisory_lock(hashtext('alepha:test:schema:cleanup')) AS acquired`);
301
307
  if (!lock?.acquired) return;
302
308
  try {
303
- const result = await this.execute(sql`SELECT schema_name FROM information_schema.schemata WHERE schema_name LIKE 'test_alepha_%'`);
309
+ const result = await this.execute(sql$1`SELECT schema_name FROM information_schema.schemata WHERE schema_name LIKE 'test_alepha_%'`);
304
310
  const now = this.dateTime.nowMillis();
305
311
  const maxAge = 3600 * 1e3;
306
312
  for (const row of result) {
@@ -309,11 +315,11 @@ var PostgresProvider = class extends DatabaseProvider {
309
315
  const age = this.parseTestSchemaAge(name, now);
310
316
  if (age !== void 0 && age > maxAge) {
311
317
  this.log.warn(`Dropping stale test schema '${name}' (age: ${Math.round(age / 6e4)}min) ...`);
312
- await this.execute(sql`DROP SCHEMA IF EXISTS ${sql.raw(name)} CASCADE`);
318
+ await this.execute(sql$1`DROP SCHEMA IF EXISTS ${sql$1.raw(name)} CASCADE`);
313
319
  }
314
320
  }
315
321
  } finally {
316
- await this.execute(sql`SELECT pg_advisory_unlock(hashtext('alepha:test:schema:cleanup'))`);
322
+ await this.execute(sql$1`SELECT pg_advisory_unlock(hashtext('alepha:test:schema:cleanup'))`);
317
323
  }
318
324
  } catch (error) {
319
325
  this.log.warn("Failed to clean up stale test schemas", { error });
@@ -363,7 +369,7 @@ var BunPostgresProvider = class extends PostgresProvider {
363
369
  return this.bunDb;
364
370
  }
365
371
  async executeMigrations(migrationsFolder) {
366
- if (this.schema !== "public") await this.db.execute(sql.raw(`SET search_path TO ${this.schema}, public`));
372
+ if (this.schema !== "public") await this.db.execute(sql$1.raw(`SET search_path TO ${this.schema}, public`));
367
373
  const { migrate } = await import("drizzle-orm/bun-sql/migrator");
368
374
  await migrate(this.bunDb, {
369
375
  migrationsFolder,
@@ -475,7 +481,7 @@ var PglitePostgresProvider = class PglitePostgresProvider extends DatabaseProvid
475
481
  }
476
482
  });
477
483
  async executeMigrations(migrationsFolder) {
478
- if (this.schema !== "public") await this.db.execute(sql.raw(`SET search_path TO ${this.schema}, public`));
484
+ if (this.schema !== "public") await this.db.execute(sql$1.raw(`SET search_path TO ${this.schema}, public`));
479
485
  await migrate(this.db, {
480
486
  migrationsFolder,
481
487
  migrationsTable: this.migrationsTable
@@ -1 +1 @@
1
- {"version":3,"file":"index.bun.js","names":[],"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_ENUM,\n PG_GENERATED,\n PG_IDENTITY,\n PG_PRIMARY_KEY,\n PG_REF,\n PG_SERIAL,\n PG_UPDATED_AT,\n type PgEnumOptions,\n type PgGeneratedOptions,\n type PgIdentityOptions,\n type PgRefOptions,\n type SequencePrimitive,\n schema,\n type ViewPrimitive,\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 pgMaterializedView,\n pgSchema,\n pgSequence,\n pgTable,\n pgView,\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 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 buildView(\n view: ViewPrimitive,\n options: {\n tables: Map<string, unknown>;\n schema: string;\n },\n ) {\n const viewName = view.name;\n if (options.tables.has(viewName)) {\n return;\n }\n\n const columns = this.schemaToPgColumns(\n viewName,\n view.schema,\n { enum: pgEnum, table: pgTable, sequence: pgSequence } as any,\n new Map(),\n options.tables,\n );\n\n let drizzleView: unknown;\n if (view.materialized) {\n drizzleView = pgMaterializedView(viewName, columns).existing();\n } else {\n drizzleView = pgView(viewName, columns).existing();\n }\n\n options.tables.set(viewName, drizzleView);\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 return {\n ...columns,\n [key]: col,\n };\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 if (t.schema.isString(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 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.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\n if (PG_ENUM in value && value[PG_ENUM]) {\n const options = value[PG_ENUM] as PgEnumOptions;\n const enumName = options.name ?? `${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 pg.uuid(key).defaultRandom();\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 primitives: [],\n services: [\n PostgresProvider,\n BunPostgresProvider,\n PglitePostgresProvider,\n PostgresModelBuilder,\n ],\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 return;\n }\n\n if (url?.startsWith(\"postgres:\")) {\n alepha.with({\n optional: true,\n provide: DatabaseProvider,\n use: BunPostgresProvider,\n });\n return;\n }\n\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_ENUM,\n PG_GENERATED,\n PG_IDENTITY,\n PG_PRIMARY_KEY,\n PG_REF,\n PG_SERIAL,\n PG_UPDATED_AT,\n type PgEnumOptions,\n type PgGeneratedOptions,\n type PgIdentityOptions,\n type PgRefOptions,\n type SequencePrimitive,\n schema,\n sql,\n type ViewPrimitive,\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 pgMaterializedView,\n pgSchema,\n pgSequence,\n pgTable,\n pgView,\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 buildView(\n view: ViewPrimitive,\n options: {\n tables: Map<string, unknown>;\n schema: string;\n },\n ) {\n const viewName = view.name;\n if (options.tables.has(viewName)) {\n return;\n }\n\n const columns = this.schemaToPgColumns(\n viewName,\n view.schema,\n { enum: pgEnum, table: pgTable, sequence: pgSequence } as any,\n new Map(),\n options.tables,\n );\n\n let drizzleView: unknown;\n if (view.materialized) {\n drizzleView = pgMaterializedView(viewName, columns).existing();\n } else {\n drizzleView = pgView(viewName, columns).existing();\n }\n\n options.tables.set(viewName, drizzleView);\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 return {\n ...columns,\n [key]: col,\n };\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 if (t.schema.isString(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 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.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\n if (PG_ENUM in value && value[PG_ENUM]) {\n const options = value[PG_ENUM] as PgEnumOptions;\n const enumName = options.name ?? `${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 primitives: [],\n services: [\n PostgresProvider,\n BunPostgresProvider,\n PglitePostgresProvider,\n PostgresModelBuilder,\n ],\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 return;\n }\n\n if (url?.startsWith(\"postgres:\")) {\n alepha.with({\n optional: true,\n provide: DatabaseProvider,\n use: BunPostgresProvider,\n });\n return;\n }\n\n alepha.with(AlephaOrm);\n },\n});\n"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import * as alepha from "alepha";
1
+ import * as _$alepha from "alepha";
2
2
  import { Static, TObject, TSchema } from "alepha";
3
3
  import { DatabaseProvider, EntityPrimitive, FromSchema, ModelBuilder, SQLLike, SequencePrimitive, ViewPrimitive } from "alepha/orm";
4
+ import * as _$drizzle_orm0 from "drizzle-orm";
4
5
  import { BuildExtraConfigColumns } from "drizzle-orm";
5
6
  import * as pg from "drizzle-orm/pg-core";
6
7
  import { PgDatabase, PgSchema, PgTableExtraConfigValue } from "drizzle-orm/pg-core";
@@ -12,6 +13,10 @@ import { PgliteDatabase } from "drizzle-orm/pglite";
12
13
  //#region ../../src/orm/postgres/services/PostgresModelBuilder.d.ts
13
14
  declare class PostgresModelBuilder extends ModelBuilder {
14
15
  protected schemas: Map<string, pg.PgSchema<string>>;
16
+ /**
17
+ * Create a primary key column with UUID v7
18
+ */
19
+ protected getPrimaryKeyUUID(key: string): _$drizzle_orm0.HasDefault<pg.PgUUIDBuilderInitial<string>>;
15
20
  protected getPgSchema(name: string): any;
16
21
  buildTable(entity: EntityPrimitive<any>, options: {
17
22
  tables: Map<string, unknown>;
@@ -97,9 +102,9 @@ declare abstract class PostgresProvider extends DatabaseProvider {
97
102
  * Close the database connection.
98
103
  */
99
104
  abstract close(): Promise<void>;
100
- protected readonly onStart: alepha.HookPrimitive<"start">;
101
- protected readonly onStop: alepha.HookPrimitive<"stop">;
102
- protected migrateLock: alepha.PipelinePrimitiveFn<() => Promise<void>>;
105
+ protected readonly onStart: _$alepha.HookPrimitive<"start">;
106
+ protected readonly onStop: _$alepha.HookPrimitive<"stop">;
107
+ protected migrateLock: _$alepha.PipelinePrimitiveFn<() => Promise<void>>;
103
108
  protected generateTestSchema(): Promise<void>;
104
109
  /**
105
110
  * Drop the current test schema if applicable.
@@ -189,7 +194,7 @@ declare class CloudflareHyperdriveProvider extends DatabaseProvider {
189
194
  */
190
195
  get db(): PgDatabase<any>;
191
196
  execute(query: SQLLike): Promise<Array<Record<string, unknown>>>;
192
- protected readonly onStart: alepha.HookPrimitive<"start">;
197
+ protected readonly onStart: _$alepha.HookPrimitive<"start">;
193
198
  protected executeMigrations(migrationsFolder: string): Promise<void>;
194
199
  }
195
200
  //#endregion
@@ -212,7 +217,7 @@ declare class NodePostgresProvider extends PostgresProvider {
212
217
  protected ssl(url: URL): "require" | "allow" | "prefer" | "verify-full" | undefined;
213
218
  }
214
219
  //#endregion
215
- //#region ../../../../node_modules/@electric-sql/pglite/dist/pglite-SIPwY9Cm.d.ts
220
+ //#region ../../../../node_modules/@electric-sql/pglite/dist/pglite-BdaQNAoW.d.ts
216
221
  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';
217
222
  type BackendMessage = {
218
223
  name: MessageName;
@@ -407,7 +412,8 @@ interface PGliteOptions<TExtensions extends Extensions = Extensions> {
407
412
  extensions?: TExtensions;
408
413
  loadDataDir?: Blob | File;
409
414
  initialMemory?: number;
410
- wasmModule?: WebAssembly.Module;
415
+ pgliteWasmModule?: WebAssembly.Module;
416
+ initdbWasmModule?: WebAssembly.Module;
411
417
  fsBundle?: Blob | File;
412
418
  parsers?: ParserOptions;
413
419
  serializers?: SerializerOptions;
@@ -845,8 +851,8 @@ declare class PglitePostgresProvider extends DatabaseProvider {
845
851
  get url(): string;
846
852
  get db(): PgliteDatabase;
847
853
  execute(statement: SQLLike): Promise<Array<Record<string, unknown>>>;
848
- protected readonly onStart: alepha.HookPrimitive<"start">;
849
- protected readonly onStop: alepha.HookPrimitive<"stop">;
854
+ protected readonly onStart: _$alepha.HookPrimitive<"start">;
855
+ protected readonly onStop: _$alepha.HookPrimitive<"stop">;
850
856
  protected executeMigrations(migrationsFolder: string): Promise<void>;
851
857
  }
852
858
  //#endregion
@@ -856,23 +862,23 @@ declare class PglitePostgresProvider extends DatabaseProvider {
856
862
  *
857
863
  * Additional env vars for PostgreSQL providers on top of `databaseEnvSchema`.
858
864
  */
859
- declare const postgresEnvSchema: alepha.TObject<{
865
+ declare const postgresEnvSchema: _$alepha.TObject<{
860
866
  /**
861
867
  * PostgreSQL schema name (defaults to `"public"` when unset).
862
868
  */
863
- POSTGRES_SCHEMA: alepha.TOptional<alepha.TString>;
869
+ POSTGRES_SCHEMA: _$alepha.TOptional<_$alepha.TString>;
864
870
  /**
865
871
  * Maximum number of connections in the pool.
866
872
  */
867
- POOL_MAX: alepha.TOptional<alepha.TInteger>;
873
+ POOL_MAX: _$alepha.TOptional<_$alepha.TInteger>;
868
874
  /**
869
875
  * Seconds a connection can be idle before being closed.
870
876
  */
871
- POOL_IDLE_TIMEOUT: alepha.TOptional<alepha.TInteger>;
877
+ POOL_IDLE_TIMEOUT: _$alepha.TOptional<_$alepha.TInteger>;
872
878
  /**
873
879
  * Seconds to wait when establishing a new connection.
874
880
  */
875
- POOL_CONNECT_TIMEOUT: alepha.TOptional<alepha.TInteger>;
881
+ POOL_CONNECT_TIMEOUT: _$alepha.TOptional<_$alepha.TInteger>;
876
882
  }>;
877
883
  declare module "alepha" {
878
884
  interface Env extends Partial<Static<typeof postgresEnvSchema>> {}
@@ -910,7 +916,7 @@ declare const byte: {
910
916
  };
911
917
  //#endregion
912
918
  //#region ../../src/orm/postgres/index.d.ts
913
- declare const AlephaOrmPostgres: alepha.Service<alepha.Module>;
919
+ declare const AlephaOrmPostgres: _$alepha.Service<_$alepha.Module>;
914
920
  //#endregion
915
921
  export { AlephaOrmPostgres, BunPostgresProvider, CloudflareHyperdriveProvider, NodePostgresProvider, PgLiteModule, PglitePostgresProvider, PostgresModelBuilder, PostgresProvider, byte, postgresEnvSchema };
916
922
  //# 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","Blob","Promise","Omit","preInit","mod","preRun","postRun","thisProgram","stdin","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","WebAssembly","Module","noInitDb","username","database","fs","extensions","loadDataDir","initialMemory","wasmModule","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-SIPwY9Cm.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":["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","Blob","Promise","Omit","preInit","mod","preRun","postRun","thisProgram","stdin","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","WebAssembly","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-BdaQNAoW.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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"}