alepha 0.15.1 → 0.15.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (507) hide show
  1. package/dist/api/audits/index.d.ts +342 -365
  2. package/dist/api/audits/index.d.ts.map +1 -1
  3. package/dist/api/audits/index.js +10 -33
  4. package/dist/api/audits/index.js.map +1 -1
  5. package/dist/api/files/index.d.ts +180 -173
  6. package/dist/api/files/index.d.ts.map +1 -1
  7. package/dist/api/files/index.js +10 -3
  8. package/dist/api/files/index.js.map +1 -1
  9. package/dist/api/jobs/index.d.ts +162 -155
  10. package/dist/api/jobs/index.d.ts.map +1 -1
  11. package/dist/api/jobs/index.js +10 -3
  12. package/dist/api/jobs/index.js.map +1 -1
  13. package/dist/api/keys/index.d.ts +413 -0
  14. package/dist/api/keys/index.d.ts.map +1 -0
  15. package/dist/api/keys/index.js +476 -0
  16. package/dist/api/keys/index.js.map +1 -0
  17. package/dist/api/notifications/index.d.ts +10 -4
  18. package/dist/api/notifications/index.d.ts.map +1 -1
  19. package/dist/api/notifications/index.js +10 -4
  20. package/dist/api/notifications/index.js.map +1 -1
  21. package/dist/api/parameters/index.d.ts +294 -301
  22. package/dist/api/parameters/index.d.ts.map +1 -1
  23. package/dist/api/parameters/index.js +30 -37
  24. package/dist/api/parameters/index.js.map +1 -1
  25. package/dist/api/users/index.d.ts +1079 -769
  26. package/dist/api/users/index.d.ts.map +1 -1
  27. package/dist/api/users/index.js +2534 -218
  28. package/dist/api/users/index.js.map +1 -1
  29. package/dist/api/verifications/index.d.ts +10 -4
  30. package/dist/api/verifications/index.d.ts.map +1 -1
  31. package/dist/api/verifications/index.js +12 -4
  32. package/dist/api/verifications/index.js.map +1 -1
  33. package/dist/batch/index.d.ts +20 -40
  34. package/dist/batch/index.d.ts.map +1 -1
  35. package/dist/batch/index.js +31 -44
  36. package/dist/batch/index.js.map +1 -1
  37. package/dist/bucket/index.d.ts +432 -8
  38. package/dist/bucket/index.d.ts.map +1 -1
  39. package/dist/bucket/index.js +1856 -12
  40. package/dist/bucket/index.js.map +1 -1
  41. package/dist/cache/core/index.d.ts +179 -7
  42. package/dist/cache/core/index.d.ts.map +1 -1
  43. package/dist/cache/core/index.js +213 -7
  44. package/dist/cache/core/index.js.map +1 -1
  45. package/dist/cache/redis/index.d.ts +1 -0
  46. package/dist/cache/redis/index.d.ts.map +1 -1
  47. package/dist/cache/redis/index.js +4 -0
  48. package/dist/cache/redis/index.js.map +1 -1
  49. package/dist/cli/index.d.ts +488 -5612
  50. package/dist/cli/index.d.ts.map +1 -1
  51. package/dist/cli/index.js +2326 -311
  52. package/dist/cli/index.js.map +1 -1
  53. package/dist/command/index.d.ts +194 -46
  54. package/dist/command/index.d.ts.map +1 -1
  55. package/dist/command/index.js +1995 -60
  56. package/dist/command/index.js.map +1 -1
  57. package/dist/core/index.browser.js +42 -19
  58. package/dist/core/index.browser.js.map +1 -1
  59. package/dist/core/index.d.ts +34 -13
  60. package/dist/core/index.d.ts.map +1 -1
  61. package/dist/core/index.js +62 -19
  62. package/dist/core/index.js.map +1 -1
  63. package/dist/core/index.native.js +42 -19
  64. package/dist/core/index.native.js.map +1 -1
  65. package/dist/datetime/index.d.ts +15 -0
  66. package/dist/datetime/index.d.ts.map +1 -1
  67. package/dist/datetime/index.js +15 -0
  68. package/dist/datetime/index.js.map +1 -1
  69. package/dist/email/index.d.ts +315 -20
  70. package/dist/email/index.d.ts.map +1 -1
  71. package/dist/email/index.js +1852 -7
  72. package/dist/email/index.js.map +1 -1
  73. package/dist/fake/index.d.ts +90 -8
  74. package/dist/fake/index.d.ts.map +1 -1
  75. package/dist/fake/index.js +91 -20
  76. package/dist/fake/index.js.map +1 -1
  77. package/dist/lock/core/index.d.ts +11 -4
  78. package/dist/lock/core/index.d.ts.map +1 -1
  79. package/dist/lock/core/index.js +11 -4
  80. package/dist/lock/core/index.js.map +1 -1
  81. package/dist/logger/index.d.ts +17 -66
  82. package/dist/logger/index.d.ts.map +1 -1
  83. package/dist/logger/index.js +14 -63
  84. package/dist/logger/index.js.map +1 -1
  85. package/dist/mcp/index.d.ts +15 -35
  86. package/dist/mcp/index.d.ts.map +1 -1
  87. package/dist/mcp/index.js +12 -35
  88. package/dist/mcp/index.js.map +1 -1
  89. package/dist/orm/index.browser.js +3 -3
  90. package/dist/orm/index.browser.js.map +1 -1
  91. package/dist/orm/index.bun.js +7 -4
  92. package/dist/orm/index.bun.js.map +1 -1
  93. package/dist/orm/index.d.ts +514 -540
  94. package/dist/orm/index.d.ts.map +1 -1
  95. package/dist/orm/index.js +24 -49
  96. package/dist/orm/index.js.map +1 -1
  97. package/dist/queue/core/index.d.ts +18 -10
  98. package/dist/queue/core/index.d.ts.map +1 -1
  99. package/dist/queue/core/index.js +14 -6
  100. package/dist/queue/core/index.js.map +1 -1
  101. package/dist/react/auth/index.browser.js +108 -0
  102. package/dist/react/auth/index.browser.js.map +1 -0
  103. package/dist/react/auth/index.d.ts +100 -0
  104. package/dist/react/auth/index.d.ts.map +1 -0
  105. package/dist/react/auth/index.js +145 -0
  106. package/dist/react/auth/index.js.map +1 -0
  107. package/dist/react/core/index.d.ts +469 -0
  108. package/dist/react/core/index.d.ts.map +1 -0
  109. package/dist/react/core/index.js +464 -0
  110. package/dist/react/core/index.js.map +1 -0
  111. package/dist/react/form/index.d.ts +232 -0
  112. package/dist/react/form/index.d.ts.map +1 -0
  113. package/dist/react/form/index.js +432 -0
  114. package/dist/react/form/index.js.map +1 -0
  115. package/dist/react/head/index.browser.js +423 -0
  116. package/dist/react/head/index.browser.js.map +1 -0
  117. package/dist/react/head/index.d.ts +288 -0
  118. package/dist/react/head/index.d.ts.map +1 -0
  119. package/dist/react/head/index.js +465 -0
  120. package/dist/react/head/index.js.map +1 -0
  121. package/dist/react/i18n/index.d.ts +175 -0
  122. package/dist/react/i18n/index.d.ts.map +1 -0
  123. package/dist/react/i18n/index.js +224 -0
  124. package/dist/react/i18n/index.js.map +1 -0
  125. package/dist/react/router/index.browser.js +1980 -0
  126. package/dist/react/router/index.browser.js.map +1 -0
  127. package/dist/react/router/index.d.ts +2068 -0
  128. package/dist/react/router/index.d.ts.map +1 -0
  129. package/dist/react/router/index.js +4932 -0
  130. package/dist/react/router/index.js.map +1 -0
  131. package/dist/react/websocket/index.d.ts +117 -0
  132. package/dist/react/websocket/index.d.ts.map +1 -0
  133. package/dist/react/websocket/index.js +107 -0
  134. package/dist/react/websocket/index.js.map +1 -0
  135. package/dist/redis/index.bun.js +4 -0
  136. package/dist/redis/index.bun.js.map +1 -1
  137. package/dist/redis/index.d.ts +22 -25
  138. package/dist/redis/index.d.ts.map +1 -1
  139. package/dist/redis/index.js +16 -25
  140. package/dist/redis/index.js.map +1 -1
  141. package/dist/retry/index.d.ts +11 -2
  142. package/dist/retry/index.d.ts.map +1 -1
  143. package/dist/retry/index.js +11 -2
  144. package/dist/retry/index.js.map +1 -1
  145. package/dist/scheduler/index.d.ts +11 -2
  146. package/dist/scheduler/index.d.ts.map +1 -1
  147. package/dist/scheduler/index.js +11 -2
  148. package/dist/scheduler/index.js.map +1 -1
  149. package/dist/security/index.d.ts +110 -19
  150. package/dist/security/index.d.ts.map +1 -1
  151. package/dist/security/index.js +157 -26
  152. package/dist/security/index.js.map +1 -1
  153. package/dist/server/auth/index.d.ts +179 -174
  154. package/dist/server/auth/index.d.ts.map +1 -1
  155. package/dist/server/auth/index.js +12 -7
  156. package/dist/server/auth/index.js.map +1 -1
  157. package/dist/server/cache/index.d.ts +7 -22
  158. package/dist/server/cache/index.d.ts.map +1 -1
  159. package/dist/server/cache/index.js +7 -22
  160. package/dist/server/cache/index.js.map +1 -1
  161. package/dist/server/compress/index.d.ts +10 -2
  162. package/dist/server/compress/index.d.ts.map +1 -1
  163. package/dist/server/compress/index.js +10 -2
  164. package/dist/server/compress/index.js.map +1 -1
  165. package/dist/server/cookies/index.d.ts +40 -16
  166. package/dist/server/cookies/index.d.ts.map +1 -1
  167. package/dist/server/cookies/index.js +7 -5
  168. package/dist/server/cookies/index.js.map +1 -1
  169. package/dist/server/core/index.d.ts +115 -14
  170. package/dist/server/core/index.d.ts.map +1 -1
  171. package/dist/server/core/index.js +231 -14
  172. package/dist/server/core/index.js.map +1 -1
  173. package/dist/server/cors/index.d.ts +13 -23
  174. package/dist/server/cors/index.d.ts.map +1 -1
  175. package/dist/server/cors/index.js +7 -21
  176. package/dist/server/cors/index.js.map +1 -1
  177. package/dist/server/health/index.d.ts +25 -19
  178. package/dist/server/health/index.d.ts.map +1 -1
  179. package/dist/server/health/index.js +8 -2
  180. package/dist/server/health/index.js.map +1 -1
  181. package/dist/server/helmet/index.d.ts +11 -3
  182. package/dist/server/helmet/index.d.ts.map +1 -1
  183. package/dist/server/helmet/index.js +11 -3
  184. package/dist/server/helmet/index.js.map +1 -1
  185. package/dist/server/links/index.d.ts +50 -45
  186. package/dist/server/links/index.d.ts.map +1 -1
  187. package/dist/server/links/index.js +11 -6
  188. package/dist/server/links/index.js.map +1 -1
  189. package/dist/server/metrics/index.d.ts +10 -3
  190. package/dist/server/metrics/index.d.ts.map +1 -1
  191. package/dist/server/metrics/index.js +10 -3
  192. package/dist/server/metrics/index.js.map +1 -1
  193. package/dist/server/multipart/index.d.ts +9 -3
  194. package/dist/server/multipart/index.d.ts.map +1 -1
  195. package/dist/server/multipart/index.js +9 -3
  196. package/dist/server/multipart/index.js.map +1 -1
  197. package/dist/server/proxy/index.d.ts +8 -2
  198. package/dist/server/proxy/index.d.ts.map +1 -1
  199. package/dist/server/proxy/index.js +8 -2
  200. package/dist/server/proxy/index.js.map +1 -1
  201. package/dist/server/rate-limit/index.d.ts +30 -35
  202. package/dist/server/rate-limit/index.d.ts.map +1 -1
  203. package/dist/server/rate-limit/index.js +18 -55
  204. package/dist/server/rate-limit/index.js.map +1 -1
  205. package/dist/server/static/index.d.ts +137 -4
  206. package/dist/server/static/index.d.ts.map +1 -1
  207. package/dist/server/static/index.js +1848 -5
  208. package/dist/server/static/index.js.map +1 -1
  209. package/dist/server/swagger/index.d.ts +301 -6
  210. package/dist/server/swagger/index.d.ts.map +1 -1
  211. package/dist/server/swagger/index.js +1849 -6
  212. package/dist/server/swagger/index.js.map +1 -1
  213. package/dist/sms/index.d.ts +301 -7
  214. package/dist/sms/index.d.ts.map +1 -1
  215. package/dist/sms/index.js +1851 -7
  216. package/dist/sms/index.js.map +1 -1
  217. package/dist/system/index.browser.js +496 -0
  218. package/dist/system/index.browser.js.map +1 -0
  219. package/dist/{file → system}/index.d.ts +335 -16
  220. package/dist/system/index.d.ts.map +1 -0
  221. package/dist/{file → system}/index.js +412 -20
  222. package/dist/system/index.js.map +1 -0
  223. package/dist/thread/index.d.ts +11 -2
  224. package/dist/thread/index.d.ts.map +1 -1
  225. package/dist/thread/index.js +11 -2
  226. package/dist/thread/index.js.map +1 -1
  227. package/dist/topic/core/index.d.ts +12 -5
  228. package/dist/topic/core/index.d.ts.map +1 -1
  229. package/dist/topic/core/index.js +12 -5
  230. package/dist/topic/core/index.js.map +1 -1
  231. package/dist/vite/index.d.ts +4 -6271
  232. package/dist/vite/index.d.ts.map +1 -1
  233. package/dist/vite/index.js +8 -3
  234. package/dist/vite/index.js.map +1 -1
  235. package/dist/websocket/index.d.ts +12 -8
  236. package/dist/websocket/index.d.ts.map +1 -1
  237. package/dist/websocket/index.js +12 -8
  238. package/dist/websocket/index.js.map +1 -1
  239. package/package.json +80 -11
  240. package/src/api/audits/index.ts +10 -33
  241. package/src/api/files/__tests__/$bucket.spec.ts +1 -1
  242. package/src/api/files/controllers/AdminFileStatsController.spec.ts +1 -1
  243. package/src/api/files/controllers/FileController.spec.ts +1 -1
  244. package/src/api/files/index.ts +10 -3
  245. package/src/api/files/jobs/FileJobs.spec.ts +1 -1
  246. package/src/api/files/services/FileService.spec.ts +1 -1
  247. package/src/api/jobs/index.ts +10 -3
  248. package/src/api/keys/controllers/AdminApiKeyController.ts +75 -0
  249. package/src/api/keys/controllers/ApiKeyController.ts +103 -0
  250. package/src/api/keys/entities/apiKeyEntity.ts +41 -0
  251. package/src/api/keys/index.ts +49 -0
  252. package/src/api/keys/schemas/adminApiKeyQuerySchema.ts +7 -0
  253. package/src/api/keys/schemas/adminApiKeyResourceSchema.ts +17 -0
  254. package/src/api/keys/schemas/createApiKeyBodySchema.ts +7 -0
  255. package/src/api/keys/schemas/createApiKeyResponseSchema.ts +11 -0
  256. package/src/api/keys/schemas/listApiKeyResponseSchema.ts +15 -0
  257. package/src/api/keys/schemas/revokeApiKeyParamsSchema.ts +5 -0
  258. package/src/api/keys/schemas/revokeApiKeyResponseSchema.ts +5 -0
  259. package/src/api/keys/services/ApiKeyService.spec.ts +553 -0
  260. package/src/api/keys/services/ApiKeyService.ts +306 -0
  261. package/src/api/logs/TODO.md +52 -0
  262. package/src/api/notifications/index.ts +10 -4
  263. package/src/api/parameters/index.ts +9 -30
  264. package/src/api/parameters/primitives/$config.ts +12 -4
  265. package/src/api/parameters/services/ConfigStore.ts +9 -3
  266. package/src/api/users/__tests__/ApiKeys-integration.spec.ts +1035 -0
  267. package/src/api/users/__tests__/ApiKeys.spec.ts +401 -0
  268. package/src/api/users/index.ts +14 -3
  269. package/src/api/users/primitives/$realm.ts +33 -5
  270. package/src/api/users/providers/RealmProvider.ts +1 -12
  271. package/src/api/users/services/SessionService.ts +1 -1
  272. package/src/api/verifications/controllers/VerificationController.ts +2 -0
  273. package/src/api/verifications/index.ts +10 -4
  274. package/src/batch/index.ts +9 -36
  275. package/src/batch/primitives/$batch.ts +0 -8
  276. package/src/batch/providers/BatchProvider.ts +29 -2
  277. package/src/bucket/__tests__/shared.ts +1 -1
  278. package/src/bucket/index.ts +13 -6
  279. package/src/bucket/primitives/$bucket.ts +1 -1
  280. package/src/bucket/providers/LocalFileStorageProvider.ts +1 -1
  281. package/src/bucket/providers/MemoryFileStorageProvider.ts +1 -1
  282. package/src/cache/core/__tests__/shared.ts +30 -0
  283. package/src/cache/core/index.ts +11 -6
  284. package/src/cache/core/primitives/$cache.spec.ts +5 -0
  285. package/src/cache/core/providers/CacheProvider.ts +17 -0
  286. package/src/cache/core/providers/MemoryCacheProvider.ts +300 -1
  287. package/src/cache/redis/__tests__/cache-redis.spec.ts +5 -0
  288. package/src/cache/redis/providers/RedisCacheProvider.ts +9 -0
  289. package/src/cli/apps/AlephaCli.ts +1 -14
  290. package/src/cli/apps/AlephaPackageBuilderCli.ts +1 -1
  291. package/src/cli/commands/build.ts +1 -5
  292. package/src/cli/commands/db.ts +17 -11
  293. package/src/cli/commands/deploy.ts +1 -1
  294. package/src/cli/commands/dev.ts +1 -20
  295. package/src/cli/commands/gen/env.ts +5 -2
  296. package/src/cli/commands/gen/openapi.ts +5 -2
  297. package/src/cli/commands/init.spec.ts +544 -0
  298. package/src/cli/commands/init.ts +89 -55
  299. package/src/cli/commands/lint.ts +7 -1
  300. package/src/cli/commands/typecheck.ts +11 -0
  301. package/src/cli/providers/AppEntryProvider.ts +1 -1
  302. package/src/cli/providers/ViteBuildProvider.ts +8 -50
  303. package/src/cli/providers/ViteDevServerProvider.ts +36 -8
  304. package/src/cli/services/AlephaCliUtils.ts +37 -122
  305. package/src/cli/services/PackageManagerUtils.ts +127 -11
  306. package/src/cli/services/ProjectScaffolder.ts +122 -77
  307. package/src/cli/services/ViteUtils.ts +82 -0
  308. package/src/cli/{assets/claudeMd.ts → templates/agentMd.ts} +32 -24
  309. package/src/cli/templates/gitignore.ts +39 -0
  310. package/src/cli/{assets → templates}/mainCss.ts +11 -2
  311. package/src/cli/templates/mainServerTs.ts +33 -0
  312. package/src/cli/templates/webAppRouterTs.ts +50 -0
  313. package/src/cli/{assets → templates}/webHelloComponentTsx.ts +2 -2
  314. package/src/command/helpers/Runner.spec.ts +4 -0
  315. package/src/command/helpers/Runner.ts +3 -21
  316. package/src/command/index.ts +12 -4
  317. package/src/command/providers/CliProvider.spec.ts +1067 -0
  318. package/src/command/providers/CliProvider.ts +203 -40
  319. package/src/core/Alepha.ts +2 -2
  320. package/src/core/__tests__/Alepha-start.spec.ts +4 -4
  321. package/src/core/helpers/jsonSchemaToTypeBox.spec.ts +771 -0
  322. package/src/core/helpers/jsonSchemaToTypeBox.ts +62 -10
  323. package/src/core/index.shared.ts +1 -0
  324. package/src/core/index.ts +20 -0
  325. package/src/core/providers/EventManager.spec.ts +0 -71
  326. package/src/core/providers/EventManager.ts +3 -15
  327. package/src/core/providers/Json.ts +2 -14
  328. package/src/datetime/index.ts +15 -0
  329. package/src/email/index.ts +10 -5
  330. package/src/email/providers/LocalEmailProvider.spec.ts +1 -1
  331. package/src/email/providers/LocalEmailProvider.ts +1 -1
  332. package/src/fake/__tests__/keyName.example.ts +1 -1
  333. package/src/fake/__tests__/keyName.spec.ts +5 -5
  334. package/src/fake/index.ts +9 -6
  335. package/src/fake/providers/FakeProvider.spec.ts +258 -40
  336. package/src/fake/providers/FakeProvider.ts +133 -19
  337. package/src/lock/core/index.ts +11 -4
  338. package/src/logger/index.ts +17 -66
  339. package/src/mcp/index.ts +10 -27
  340. package/src/mcp/transports/SseMcpTransport.ts +0 -11
  341. package/src/orm/__tests__/PostgresProvider.spec.ts +2 -2
  342. package/src/orm/index.browser.ts +2 -2
  343. package/src/orm/index.bun.ts +4 -2
  344. package/src/orm/index.ts +21 -47
  345. package/src/orm/providers/drivers/BunSqliteProvider.ts +1 -0
  346. package/src/orm/services/Repository.ts +7 -3
  347. package/src/queue/core/index.ts +14 -6
  348. package/src/react/auth/__tests__/$auth.spec.ts +202 -0
  349. package/src/react/auth/hooks/useAuth.ts +32 -0
  350. package/src/react/auth/index.browser.ts +13 -0
  351. package/src/react/auth/index.shared.ts +2 -0
  352. package/src/react/auth/index.ts +48 -0
  353. package/src/react/auth/providers/ReactAuthProvider.ts +16 -0
  354. package/src/react/auth/services/ReactAuth.ts +135 -0
  355. package/src/react/core/__tests__/Router.spec.tsx +169 -0
  356. package/src/react/core/components/ClientOnly.tsx +49 -0
  357. package/src/react/core/components/ErrorBoundary.tsx +73 -0
  358. package/src/react/core/contexts/AlephaContext.ts +7 -0
  359. package/src/react/core/contexts/AlephaProvider.tsx +42 -0
  360. package/src/react/core/hooks/useAction.browser.spec.tsx +569 -0
  361. package/src/react/core/hooks/useAction.ts +480 -0
  362. package/src/react/core/hooks/useAlepha.ts +26 -0
  363. package/src/react/core/hooks/useClient.ts +17 -0
  364. package/src/react/core/hooks/useEvents.ts +51 -0
  365. package/src/react/core/hooks/useInject.ts +12 -0
  366. package/src/react/core/hooks/useStore.ts +52 -0
  367. package/src/react/core/index.ts +90 -0
  368. package/src/react/form/components/FormState.tsx +17 -0
  369. package/src/react/form/errors/FormValidationError.ts +18 -0
  370. package/src/react/form/hooks/useForm.browser.spec.tsx +366 -0
  371. package/src/react/form/hooks/useForm.ts +47 -0
  372. package/src/react/form/hooks/useFormState.ts +130 -0
  373. package/src/react/form/index.ts +44 -0
  374. package/src/react/form/services/FormModel.ts +614 -0
  375. package/src/react/head/helpers/SeoExpander.spec.ts +203 -0
  376. package/src/react/head/helpers/SeoExpander.ts +142 -0
  377. package/src/react/head/hooks/useHead.spec.tsx +288 -0
  378. package/src/react/head/hooks/useHead.ts +62 -0
  379. package/src/react/head/index.browser.ts +26 -0
  380. package/src/react/head/index.ts +44 -0
  381. package/src/react/head/interfaces/Head.ts +105 -0
  382. package/src/react/head/primitives/$head.ts +25 -0
  383. package/src/react/head/providers/BrowserHeadProvider.browser.spec.ts +196 -0
  384. package/src/react/head/providers/BrowserHeadProvider.ts +212 -0
  385. package/src/react/head/providers/HeadProvider.ts +168 -0
  386. package/src/react/head/providers/ServerHeadProvider.ts +31 -0
  387. package/src/react/i18n/__tests__/integration.spec.tsx +239 -0
  388. package/src/react/i18n/components/Localize.spec.tsx +357 -0
  389. package/src/react/i18n/components/Localize.tsx +35 -0
  390. package/src/react/i18n/hooks/useI18n.browser.spec.tsx +438 -0
  391. package/src/react/i18n/hooks/useI18n.ts +18 -0
  392. package/src/react/i18n/index.ts +41 -0
  393. package/src/react/i18n/primitives/$dictionary.ts +69 -0
  394. package/src/react/i18n/providers/I18nProvider.spec.ts +389 -0
  395. package/src/react/i18n/providers/I18nProvider.ts +278 -0
  396. package/src/react/router/__tests__/page-head-browser.browser.spec.ts +95 -0
  397. package/src/react/router/__tests__/page-head.spec.ts +48 -0
  398. package/src/react/router/__tests__/seo-head.spec.ts +125 -0
  399. package/src/react/router/atoms/ssrManifestAtom.ts +58 -0
  400. package/src/react/router/components/ErrorViewer.tsx +872 -0
  401. package/src/react/router/components/Link.tsx +23 -0
  402. package/src/react/router/components/NestedView.tsx +223 -0
  403. package/src/react/router/components/NotFound.tsx +30 -0
  404. package/src/react/router/constants/PAGE_PRELOAD_KEY.ts +6 -0
  405. package/src/react/router/contexts/RouterLayerContext.ts +12 -0
  406. package/src/react/router/errors/Redirection.ts +28 -0
  407. package/src/react/router/hooks/useActive.ts +52 -0
  408. package/src/react/router/hooks/useQueryParams.ts +63 -0
  409. package/src/react/router/hooks/useRouter.ts +20 -0
  410. package/src/react/router/hooks/useRouterState.ts +11 -0
  411. package/src/react/router/index.browser.ts +45 -0
  412. package/src/react/router/index.shared.ts +19 -0
  413. package/src/react/router/index.ts +142 -0
  414. package/src/react/router/primitives/$page.browser.spec.tsx +851 -0
  415. package/src/react/router/primitives/$page.spec.tsx +708 -0
  416. package/src/react/router/primitives/$page.ts +497 -0
  417. package/src/react/router/providers/ReactBrowserProvider.ts +309 -0
  418. package/src/react/router/providers/ReactBrowserRendererProvider.ts +25 -0
  419. package/src/react/router/providers/ReactBrowserRouterProvider.ts +168 -0
  420. package/src/react/router/providers/ReactPageProvider.ts +726 -0
  421. package/src/react/router/providers/ReactServerProvider.spec.tsx +316 -0
  422. package/src/react/router/providers/ReactServerProvider.ts +558 -0
  423. package/src/react/router/providers/ReactServerTemplateProvider.ts +979 -0
  424. package/src/react/router/providers/SSRManifestProvider.ts +334 -0
  425. package/src/react/router/services/ReactPageServerService.ts +48 -0
  426. package/src/react/router/services/ReactPageService.ts +27 -0
  427. package/src/react/router/services/ReactRouter.ts +262 -0
  428. package/src/react/websocket/hooks/useRoom.tsx +242 -0
  429. package/src/react/websocket/index.ts +7 -0
  430. package/src/redis/__tests__/redis.spec.ts +13 -0
  431. package/src/redis/index.ts +9 -25
  432. package/src/redis/providers/BunRedisProvider.ts +9 -0
  433. package/src/redis/providers/NodeRedisProvider.ts +8 -0
  434. package/src/redis/providers/RedisProvider.ts +16 -0
  435. package/src/retry/index.ts +11 -2
  436. package/src/router/index.ts +15 -0
  437. package/src/scheduler/index.ts +11 -2
  438. package/src/security/__tests__/BasicAuth.spec.ts +2 -0
  439. package/src/security/__tests__/ServerSecurityProvider.spec.ts +13 -5
  440. package/src/security/index.ts +15 -10
  441. package/src/security/interfaces/IssuerResolver.ts +27 -0
  442. package/src/security/primitives/$issuer.ts +55 -0
  443. package/src/security/providers/SecurityProvider.ts +179 -0
  444. package/src/security/providers/ServerBasicAuthProvider.ts +6 -2
  445. package/src/security/providers/ServerSecurityProvider.ts +36 -22
  446. package/src/server/auth/index.ts +12 -7
  447. package/src/server/cache/index.ts +7 -22
  448. package/src/server/compress/index.ts +10 -2
  449. package/src/server/cookies/index.ts +7 -5
  450. package/src/server/cookies/primitives/$cookie.ts +33 -11
  451. package/src/server/core/index.ts +16 -6
  452. package/src/server/core/interfaces/ServerRequest.ts +83 -1
  453. package/src/server/core/primitives/$action.spec.ts +1 -1
  454. package/src/server/core/primitives/$action.ts +8 -3
  455. package/src/server/core/providers/NodeHttpServerProvider.ts +9 -3
  456. package/src/server/core/services/ServerRequestParser.spec.ts +520 -0
  457. package/src/server/core/services/ServerRequestParser.ts +306 -13
  458. package/src/server/cors/index.ts +7 -21
  459. package/src/server/cors/primitives/$cors.ts +6 -2
  460. package/src/server/health/index.ts +8 -2
  461. package/src/server/helmet/index.ts +11 -3
  462. package/src/server/links/index.ts +11 -6
  463. package/src/server/metrics/index.ts +10 -3
  464. package/src/server/multipart/index.ts +9 -3
  465. package/src/server/proxy/index.ts +8 -2
  466. package/src/server/rate-limit/index.ts +21 -25
  467. package/src/server/rate-limit/primitives/$rateLimit.ts +6 -2
  468. package/src/server/rate-limit/providers/ServerRateLimitProvider.spec.ts +38 -14
  469. package/src/server/rate-limit/providers/ServerRateLimitProvider.ts +22 -56
  470. package/src/server/static/index.ts +8 -2
  471. package/src/server/static/providers/ServerStaticProvider.ts +1 -1
  472. package/src/server/swagger/index.ts +9 -4
  473. package/src/server/swagger/providers/ServerSwaggerProvider.ts +1 -1
  474. package/src/sms/index.ts +9 -5
  475. package/src/sms/providers/LocalSmsProvider.spec.ts +1 -1
  476. package/src/sms/providers/LocalSmsProvider.ts +1 -1
  477. package/src/system/index.browser.ts +11 -0
  478. package/src/system/index.ts +62 -0
  479. package/src/{file → system}/providers/FileSystemProvider.ts +16 -0
  480. package/src/{file → system}/providers/MemoryFileSystemProvider.ts +116 -3
  481. package/src/system/providers/MemoryShellProvider.ts +164 -0
  482. package/src/{file → system}/providers/NodeFileSystemProvider.spec.ts +2 -2
  483. package/src/{file → system}/providers/NodeFileSystemProvider.ts +36 -0
  484. package/src/system/providers/NodeShellProvider.ts +184 -0
  485. package/src/system/providers/ShellProvider.ts +74 -0
  486. package/src/{file → system}/services/FileDetector.spec.ts +2 -2
  487. package/src/thread/index.ts +11 -2
  488. package/src/topic/core/index.ts +12 -5
  489. package/src/vite/tasks/buildClient.ts +2 -7
  490. package/src/vite/tasks/buildServer.ts +17 -1
  491. package/src/websocket/index.ts +12 -8
  492. package/dist/file/index.d.ts.map +0 -1
  493. package/dist/file/index.js.map +0 -1
  494. package/src/cli/assets/mainServerTs.ts +0 -24
  495. package/src/cli/assets/webAppRouterTs.ts +0 -16
  496. package/src/cli/providers/ViteTemplateProvider.ts +0 -27
  497. package/src/file/index.ts +0 -43
  498. /package/src/cli/{assets → templates}/apiHelloControllerTs.ts +0 -0
  499. /package/src/cli/{assets → templates}/apiIndexTs.ts +0 -0
  500. /package/src/cli/{assets → templates}/biomeJson.ts +0 -0
  501. /package/src/cli/{assets → templates}/dummySpecTs.ts +0 -0
  502. /package/src/cli/{assets → templates}/editorconfig.ts +0 -0
  503. /package/src/cli/{assets → templates}/mainBrowserTs.ts +0 -0
  504. /package/src/cli/{assets → templates}/tsconfigJson.ts +0 -0
  505. /package/src/cli/{assets → templates}/webIndexTs.ts +0 -0
  506. /package/src/{file → system}/errors/FileError.ts +0 -0
  507. /package/src/{file → system}/services/FileDetector.ts +0 -0
@@ -1,5 +1,5 @@
1
1
  import { n as __reExport, t as __exportAll } from "./chunk-DH6iiROE.js";
2
- import * as alepha34 from "alepha";
2
+ import * as alepha26 from "alepha";
3
3
  import { Alepha, AlephaError, KIND, Page, Page as Page$1, PageQuery, PageQuery as PageQuery$1, Primitive, Service, Static, StaticEncode, TBigInt, TInteger, TNull, TNumber, TNumberOptions, TObject, TObjectOptions, TOptional, TPage, TSchema, TString, TStringOptions, TUnion, TUnsafe, pageQuerySchema, pageSchema } from "alepha";
4
4
  import { DateTime, DateTimeProvider } from "alepha/datetime";
5
5
  import * as drizzle_orm_pg_core0 from "drizzle-orm/pg-core";
@@ -18,12 +18,65 @@ import { BunSQLDatabase } from "drizzle-orm/bun-sql";
18
18
  import { BunSQLiteDatabase } from "drizzle-orm/bun-sqlite";
19
19
  import { DrizzleD1Database } from "drizzle-orm/d1";
20
20
  import { DatabaseSync } from "node:sqlite";
21
+ import * as typebox0 from "typebox";
22
+ import * as DrizzleKit from "drizzle-kit/api";
21
23
  import { UpdateDeleteAction as UpdateDeleteAction$1 } from "drizzle-orm/pg-core/foreign-keys";
22
24
  import { PgTransactionConfig } from "drizzle-orm/pg-core/session";
23
- import * as DrizzleKit from "drizzle-kit/api";
24
- import * as typebox1 from "typebox";
25
25
  export * from "drizzle-orm/pg-core";
26
26
 
27
+ //#region ../../src/orm/constants/PG_SYMBOLS.d.ts
28
+ declare const PG_DEFAULT: unique symbol;
29
+ declare const PG_PRIMARY_KEY: unique symbol;
30
+ declare const PG_CREATED_AT: unique symbol;
31
+ declare const PG_UPDATED_AT: unique symbol;
32
+ declare const PG_DELETED_AT: unique symbol;
33
+ declare const PG_VERSION: unique symbol;
34
+ declare const PG_IDENTITY: unique symbol;
35
+ declare const PG_ENUM: unique symbol;
36
+ declare const PG_REF: unique symbol;
37
+ /**
38
+ * @deprecated Use `PG_IDENTITY` instead.
39
+ */
40
+ declare const PG_SERIAL: unique symbol;
41
+ type PgDefault = typeof PG_DEFAULT;
42
+ type PgRef = typeof PG_REF;
43
+ type PgPrimaryKey = typeof PG_PRIMARY_KEY;
44
+ type PgSymbols = {
45
+ [PG_DEFAULT]: {};
46
+ [PG_PRIMARY_KEY]: {};
47
+ [PG_CREATED_AT]: {};
48
+ [PG_UPDATED_AT]: {};
49
+ [PG_DELETED_AT]: {};
50
+ [PG_VERSION]: {};
51
+ [PG_IDENTITY]: PgIdentityOptions;
52
+ [PG_REF]: PgRefOptions;
53
+ [PG_ENUM]: PgEnumOptions;
54
+ /**
55
+ * @deprecated Use `PG_IDENTITY` instead.
56
+ */
57
+ [PG_SERIAL]: {};
58
+ };
59
+ type PgSymbolKeys = keyof PgSymbols;
60
+ type PgIdentityOptions = {
61
+ mode: "always" | "byDefault";
62
+ } & PgSequenceOptions & {
63
+ name?: string;
64
+ };
65
+ interface PgEnumOptions {
66
+ name?: string;
67
+ description?: string;
68
+ }
69
+ interface PgRefOptions {
70
+ ref: () => {
71
+ name: string;
72
+ entity: EntityPrimitive;
73
+ };
74
+ actions?: {
75
+ onUpdate?: UpdateDeleteAction;
76
+ onDelete?: UpdateDeleteAction;
77
+ };
78
+ }
79
+ //#endregion
27
80
  //#region ../../src/orm/schemas/insertSchema.d.ts
28
81
  /**
29
82
  * Transforms a TObject schema for insert operations.
@@ -214,57 +267,382 @@ type EntityColumn<T extends TObject> = {
214
267
  };
215
268
  type EntityColumns<T extends TObject> = { [key in keyof T["properties"]]: EntityColumn<T> };
216
269
  //#endregion
217
- //#region ../../src/orm/constants/PG_SYMBOLS.d.ts
218
- declare const PG_DEFAULT: unique symbol;
219
- declare const PG_PRIMARY_KEY: unique symbol;
220
- declare const PG_CREATED_AT: unique symbol;
221
- declare const PG_UPDATED_AT: unique symbol;
222
- declare const PG_DELETED_AT: unique symbol;
223
- declare const PG_VERSION: unique symbol;
224
- declare const PG_IDENTITY: unique symbol;
225
- declare const PG_ENUM: unique symbol;
226
- declare const PG_REF: unique symbol;
270
+ //#region ../../src/orm/services/ModelBuilder.d.ts
227
271
  /**
228
- * @deprecated Use `PG_IDENTITY` instead.
272
+ * Database-specific table configuration functions
229
273
  */
230
- declare const PG_SERIAL: unique symbol;
231
- type PgDefault = typeof PG_DEFAULT;
232
- type PgRef = typeof PG_REF;
233
- type PgPrimaryKey = typeof PG_PRIMARY_KEY;
234
- type PgSymbols = {
235
- [PG_DEFAULT]: {};
236
- [PG_PRIMARY_KEY]: {};
237
- [PG_CREATED_AT]: {};
238
- [PG_UPDATED_AT]: {};
239
- [PG_DELETED_AT]: {};
240
- [PG_VERSION]: {};
241
- [PG_IDENTITY]: PgIdentityOptions;
242
- [PG_REF]: PgRefOptions;
243
- [PG_ENUM]: PgEnumOptions;
274
+ interface TableConfigBuilders<TConfig> {
275
+ index: (name: string) => {
276
+ on: (...columns: any[]) => TConfig;
277
+ };
278
+ uniqueIndex: (name: string) => {
279
+ on: (...columns: any[]) => TConfig;
280
+ };
281
+ unique: (name: string) => {
282
+ on: (...columns: any[]) => TConfig;
283
+ };
284
+ check: (name: string, sql: SQL) => TConfig;
285
+ foreignKey: (config: {
286
+ name: string;
287
+ columns: any[];
288
+ foreignColumns: any[];
289
+ }) => TConfig;
290
+ }
291
+ /**
292
+ * Abstract base class for transforming Alepha Primitives (Entity, Sequence, etc...)
293
+ * into drizzle models (tables, enums, sequences, etc...).
294
+ */
295
+ declare abstract class ModelBuilder {
244
296
  /**
245
- * @deprecated Use `PG_IDENTITY` instead.
297
+ * Build a table from an entity primitive.
246
298
  */
247
- [PG_SERIAL]: {};
248
- };
249
- type PgSymbolKeys = keyof PgSymbols;
250
- type PgIdentityOptions = {
251
- mode: "always" | "byDefault";
252
- } & PgSequenceOptions & {
253
- name?: string;
299
+ abstract buildTable(entity: EntityPrimitive, options: {
300
+ tables: Map<string, unknown>;
301
+ enums: Map<string, unknown>;
302
+ schema: string;
303
+ }): void;
304
+ /**
305
+ * Build a sequence from a sequence primitive.
306
+ */
307
+ abstract buildSequence(sequence: SequencePrimitive, options: {
308
+ sequences: Map<string, unknown>;
309
+ schema: string;
310
+ }): void;
311
+ /**
312
+ * Convert camelCase to snake_case for column names.
313
+ */
314
+ protected toColumnName(str: string): string;
315
+ /**
316
+ * Build the table configuration function for any database.
317
+ * This includes indexes, foreign keys, constraints, and custom config.
318
+ *
319
+ * @param entity - The entity primitive
320
+ * @param builders - Database-specific builder functions
321
+ * @param tableResolver - Function to resolve entity references to table columns
322
+ * @param customConfigHandler - Optional handler for custom config
323
+ */
324
+ protected buildTableConfig<TConfig, TSelf>(entity: EntityPrimitive, builders: TableConfigBuilders<TConfig>, tableResolver?: (entityName: string) => any, customConfigHandler?: (config: any, self: TSelf) => TConfig[]): ((self: TSelf) => TConfig[]) | undefined;
325
+ }
326
+ //#endregion
327
+ //#region ../../src/orm/providers/DrizzleKitProvider.d.ts
328
+ declare class DrizzleKitProvider {
329
+ protected readonly log: alepha_logger4.Logger;
330
+ protected readonly alepha: Alepha;
331
+ /**
332
+ * Synchronize database with current schema definitions.
333
+ *
334
+ * In development mode, it will generate and execute migrations based on the current state.
335
+ * In testing mode, it will generate migrations from scratch without applying them.
336
+ *
337
+ * Does nothing in production mode, you must handle migrations manually.
338
+ */
339
+ synchronize(provider: DatabaseProvider): Promise<void>;
340
+ /**
341
+ * Mostly used for testing purposes. You can generate SQL migration statements without executing them.
342
+ */
343
+ generateMigration(provider: DatabaseProvider, prevSnapshot?: any): Promise<{
344
+ statements: string[];
345
+ models: Record<string, unknown>;
346
+ snapshot?: any;
347
+ }>;
348
+ /**
349
+ * Load all tables, enums, sequences, etc. from the provider's repositories.
350
+ */
351
+ getModels(provider: DatabaseProvider): Record<string, unknown>;
352
+ /**
353
+ * Load the migration snapshot from the database.
354
+ */
355
+ protected loadDevMigrations(provider: DatabaseProvider): Promise<DevMigrations | undefined>;
356
+ protected saveDevMigrations(provider: DatabaseProvider, curr: Record<string, any>, devMigrations?: DevMigrations): Promise<void>;
357
+ protected executeStatements(statements: string[], provider: DatabaseProvider, catchErrors?: boolean): Promise<void>;
358
+ protected createSchemaIfNotExists(provider: DatabaseProvider, schemaName: string): Promise<void>;
359
+ /**
360
+ * Try to load the official Drizzle Kit API.
361
+ * If not available, fallback to the local kit import.
362
+ */
363
+ importDrizzleKit(): typeof DrizzleKit;
364
+ }
365
+ declare const devMigrationsSchema: alepha26.TObject<{
366
+ id: alepha26.TNumber;
367
+ name: alepha26.TString;
368
+ snapshot: alepha26.TString;
369
+ created_at: alepha26.TString;
370
+ }>;
371
+ type DevMigrations = Static<typeof devMigrationsSchema>;
372
+ //#endregion
373
+ //#region ../../src/orm/providers/drivers/DatabaseProvider.d.ts
374
+ type SQLLike = SQLWrapper | string;
375
+ declare abstract class DatabaseProvider {
376
+ protected readonly alepha: Alepha;
377
+ protected readonly log: alepha_logger4.Logger;
378
+ protected abstract readonly builder: ModelBuilder;
379
+ protected abstract readonly kit: DrizzleKitProvider;
380
+ abstract readonly db: PgDatabase<any>;
381
+ abstract readonly dialect: "postgresql" | "sqlite";
382
+ abstract readonly url: string;
383
+ readonly enums: Map<string, unknown>;
384
+ readonly tables: Map<string, unknown>;
385
+ readonly sequences: Map<string, unknown>;
386
+ get name(): string;
387
+ get driver(): string;
388
+ get schema(): string;
389
+ table<T extends TObject>(entity: EntityPrimitive<T>): PgTableWithColumns<SchemaToTableConfig<T>>;
390
+ registerEntity(entity: EntityPrimitive): void;
391
+ registerSequence(sequence: SequencePrimitive): void;
392
+ abstract execute(statement: SQLLike): Promise<Record<string, unknown>[]>;
393
+ run<T extends TObject>(statement: SQLLike, schema: T): Promise<Array<Static<T>>>;
394
+ /**
395
+ * Get migrations folder path - can be overridden
396
+ */
397
+ protected getMigrationsFolder(): string;
398
+ /**
399
+ * Base migration orchestration - handles environment logic
400
+ */
401
+ migrate(): Promise<void>;
402
+ /**
403
+ * Production: run migrations from folder
404
+ */
405
+ protected runProductionMigration(migrationsFolder: string): Promise<void>;
406
+ /**
407
+ * Test: always synchronize
408
+ */
409
+ protected runTestMigration(): Promise<void>;
410
+ /**
411
+ * Development: default to synchronize (can be overridden)
412
+ */
413
+ protected runDevelopmentMigration(migrationsFolder: string): Promise<void>;
414
+ /**
415
+ * Common synchronization with error handling
416
+ */
417
+ protected synchronizeSchema(): Promise<void>;
418
+ /**
419
+ * Provider-specific migration execution
420
+ * MUST be implemented by each provider
421
+ */
422
+ protected abstract executeMigrations(migrationsFolder: string): Promise<void>;
423
+ /**
424
+ * For testing purposes, generate a unique schema name.
425
+ * The schema name will be generated based on the current date and time.
426
+ * It will be in the format of `test_YYYYMMDD_HHMMSS_randomSuffix`.
427
+ */
428
+ protected generateTestSchemaName(): string;
429
+ }
430
+ //#endregion
431
+ //#region ../../src/orm/primitives/$sequence.d.ts
432
+ /**
433
+ * Creates a PostgreSQL sequence primitive for generating unique numeric values.
434
+ */
435
+ declare const $sequence: {
436
+ (options?: SequencePrimitiveOptions): SequencePrimitive;
437
+ [KIND]: typeof SequencePrimitive;
254
438
  };
255
- interface PgEnumOptions {
439
+ interface SequencePrimitiveOptions extends PgSequenceOptions {
440
+ /**
441
+ * The name of the sequence. If not provided, the property key will be used.
442
+ */
256
443
  name?: string;
257
- description?: string;
444
+ provider?: DatabaseProvider;
258
445
  }
259
- interface PgRefOptions {
260
- ref: () => {
446
+ declare class SequencePrimitive extends Primitive<SequencePrimitiveOptions> {
447
+ readonly provider: DatabaseProvider;
448
+ onInit(): void;
449
+ get name(): string;
450
+ next(): Promise<number>;
451
+ current(): Promise<number>;
452
+ protected $provider(): DatabaseProvider;
453
+ }
454
+ //#endregion
455
+ //#region ../../src/orm/services/SqliteModelBuilder.d.ts
456
+ declare class SqliteModelBuilder extends ModelBuilder {
457
+ buildTable(entity: EntityPrimitive<any>, options: {
458
+ tables: Map<string, unknown>;
459
+ enums: Map<string, unknown>;
460
+ schema: string;
461
+ }): void;
462
+ buildSequence(sequence: SequencePrimitive, options: {
463
+ sequences: Map<string, unknown>;
464
+ schema: string;
465
+ }): void;
466
+ /**
467
+ * Get SQLite-specific config builder for the table.
468
+ */
469
+ protected getTableConfig(entity: EntityPrimitive, tables: Map<string, unknown>): ((self: BuildColumns<string, any, "sqlite">) => any) | undefined;
470
+ schemaToSqliteColumns: <T extends TObject>(tableName: string, schema: T, enums: Map<string, unknown>, tables: Map<string, unknown>) => SchemaToSqliteBuilder<T>;
471
+ mapFieldToSqliteColumn: (tableName: string, fieldName: string, value: TSchema, enums: Map<string, any>) => pg$1.SQLiteIntegerBuilderInitial<string> | pg$1.SQLiteNumericBuilderInitial<string> | pg$1.SQLiteTextBuilderInitial<string, [string, ...string[]], number | undefined> | drizzle_orm0.$Type<pg$1.SQLiteCustomColumnBuilder<{
261
472
  name: string;
262
- entity: EntityPrimitive;
473
+ dataType: "custom";
474
+ columnType: "SQLiteCustomColumn";
475
+ data: string;
476
+ driverParam: string;
477
+ enumValues: undefined;
478
+ }>, string> | pg$1.SQLiteCustomColumnBuilder<{
479
+ name: string;
480
+ dataType: "custom";
481
+ columnType: "SQLiteCustomColumn";
482
+ data: string;
483
+ driverParam: number;
484
+ enumValues: undefined;
485
+ }> | pg$1.SQLiteCustomColumnBuilder<{
486
+ name: string;
487
+ dataType: "custom";
488
+ columnType: "SQLiteCustomColumn";
489
+ data: boolean;
490
+ driverParam: number;
491
+ enumValues: undefined;
492
+ }> | drizzle_orm0.$Type<pg$1.SQLiteCustomColumnBuilder<{
493
+ name: string;
494
+ dataType: "custom";
495
+ columnType: "SQLiteCustomColumn";
496
+ data: {
497
+ [x: string]: unknown;
498
+ [x: number]: unknown;
499
+ [x: symbol]: unknown;
500
+ };
501
+ driverParam: string;
502
+ enumValues: undefined;
503
+ }>, {
504
+ [x: string]: unknown;
505
+ [x: number]: unknown;
506
+ [x: symbol]: unknown;
507
+ }> | drizzle_orm0.$Type<pg$1.SQLiteCustomColumnBuilder<{
508
+ name: string;
509
+ dataType: "custom";
510
+ columnType: "SQLiteCustomColumn";
511
+ data: typebox0.StaticRecord<[], "Decode", {}, {}, string, TSchema>;
512
+ driverParam: string;
513
+ enumValues: undefined;
514
+ }>, typebox0.StaticRecord<[], "Decode", {}, {}, string, TSchema>> | drizzle_orm0.$Type<pg$1.SQLiteCustomColumnBuilder<{
515
+ name: string;
516
+ dataType: "custom";
517
+ columnType: "SQLiteCustomColumn";
518
+ data: any;
519
+ driverParam: string;
520
+ enumValues: undefined;
521
+ }>, any> | drizzle_orm0.$Type<pg$1.SQLiteCustomColumnBuilder<{
522
+ name: string;
523
+ dataType: "custom";
524
+ columnType: "SQLiteCustomColumn";
525
+ data: unknown[];
526
+ driverParam: string;
527
+ enumValues: undefined;
528
+ }>, unknown[]>;
529
+ mapStringToSqliteColumn: (key: string, value: TString) => pg$1.SQLiteTextBuilderInitial<string, [string, ...string[]], number | undefined> | drizzle_orm0.$Type<pg$1.SQLiteCustomColumnBuilder<{
530
+ name: string;
531
+ dataType: "custom";
532
+ columnType: "SQLiteCustomColumn";
533
+ data: string;
534
+ driverParam: string;
535
+ enumValues: undefined;
536
+ }>, string> | pg$1.SQLiteCustomColumnBuilder<{
537
+ name: string;
538
+ dataType: "custom";
539
+ columnType: "SQLiteCustomColumn";
540
+ data: string;
541
+ driverParam: number;
542
+ enumValues: undefined;
543
+ }>;
544
+ sqliteJson: <TDocument extends TSchema>(name: string, document: TDocument) => drizzle_orm0.$Type<pg$1.SQLiteCustomColumnBuilder<{
545
+ name: string;
546
+ dataType: "custom";
547
+ columnType: "SQLiteCustomColumn";
548
+ data: typebox0.StaticType<[], "Decode", {}, {}, TDocument>;
549
+ driverParam: string;
550
+ enumValues: undefined;
551
+ }>, typebox0.StaticType<[], "Decode", {}, {}, TDocument>>;
552
+ sqliteDateTime: {
553
+ <TConfig extends Record<string, any>>(fieldConfig: TConfig): pg$1.SQLiteCustomColumnBuilder<{
554
+ name: "";
555
+ dataType: "custom";
556
+ columnType: "SQLiteCustomColumn";
557
+ data: string;
558
+ driverParam: number;
559
+ enumValues: undefined;
560
+ }>;
561
+ <TName extends string>(dbName: TName, fieldConfig: unknown): pg$1.SQLiteCustomColumnBuilder<{
562
+ name: TName;
563
+ dataType: "custom";
564
+ columnType: "SQLiteCustomColumn";
565
+ data: string;
566
+ driverParam: number;
567
+ enumValues: undefined;
568
+ }>;
569
+ };
570
+ sqliteBool: {
571
+ <TConfig extends Record<string, any>>(fieldConfig: TConfig): pg$1.SQLiteCustomColumnBuilder<{
572
+ name: "";
573
+ dataType: "custom";
574
+ columnType: "SQLiteCustomColumn";
575
+ data: boolean;
576
+ driverParam: number;
577
+ enumValues: undefined;
578
+ }>;
579
+ <TName extends string>(dbName: TName, fieldConfig: unknown): pg$1.SQLiteCustomColumnBuilder<{
580
+ name: TName;
581
+ dataType: "custom";
582
+ columnType: "SQLiteCustomColumn";
583
+ data: boolean;
584
+ driverParam: number;
585
+ enumValues: undefined;
586
+ }>;
587
+ };
588
+ sqliteDate: {
589
+ <TConfig extends Record<string, any>>(fieldConfig: TConfig): pg$1.SQLiteCustomColumnBuilder<{
590
+ name: "";
591
+ dataType: "custom";
592
+ columnType: "SQLiteCustomColumn";
593
+ data: string;
594
+ driverParam: number;
595
+ enumValues: undefined;
596
+ }>;
597
+ <TName extends string>(dbName: TName, fieldConfig: unknown): pg$1.SQLiteCustomColumnBuilder<{
598
+ name: TName;
599
+ dataType: "custom";
600
+ columnType: "SQLiteCustomColumn";
601
+ data: string;
602
+ driverParam: number;
603
+ enumValues: undefined;
604
+ }>;
263
605
  };
264
- actions?: {
265
- onUpdate?: UpdateDeleteAction;
266
- onDelete?: UpdateDeleteAction;
606
+ }
607
+ type SchemaToSqliteBuilder<T extends TObject> = { [key in keyof T["properties"]]: SQLiteColumnBuilderBase };
608
+ //#endregion
609
+ //#region ../../src/orm/providers/drivers/NodeSqliteProvider.d.ts
610
+ /**
611
+ * Configuration options for the Node.js SQLite database provider.
612
+ */
613
+ declare const nodeSqliteOptions: alepha26.Atom<alepha26.TObject<{
614
+ path: alepha26.TOptional<alepha26.TString>;
615
+ }>, "alepha.postgres.node-sqlite.options">;
616
+ type NodeSqliteProviderOptions = Static<typeof nodeSqliteOptions.schema>;
617
+ declare module "alepha" {
618
+ interface State {
619
+ [nodeSqliteOptions.key]: NodeSqliteProviderOptions;
620
+ }
621
+ }
622
+ /**
623
+ * Add a fake support for SQLite in Node.js based on Postgres interfaces.
624
+ *
625
+ * This is NOT a real SQLite provider, it's a workaround to use SQLite with Drizzle ORM.
626
+ * This is NOT recommended for production use.
627
+ */
628
+ declare class NodeSqliteProvider extends DatabaseProvider {
629
+ protected readonly kit: DrizzleKitProvider;
630
+ protected readonly log: alepha_logger4.Logger;
631
+ protected readonly env: {
632
+ DATABASE_URL?: string | undefined;
267
633
  };
634
+ protected readonly builder: SqliteModelBuilder;
635
+ protected readonly options: Readonly<{
636
+ path?: string | undefined;
637
+ }>;
638
+ protected sqlite: DatabaseSync;
639
+ get name(): string;
640
+ readonly dialect = "sqlite";
641
+ get url(): string;
642
+ execute(query: SQLLike): Promise<Array<Record<string, unknown>>>;
643
+ readonly db: PgDatabase<any>;
644
+ protected readonly onStart: alepha26.HookPrimitive<"start">;
645
+ protected executeMigrations(migrationsFolder: string): Promise<void>;
268
646
  }
269
647
  //#endregion
270
648
  //#region ../../src/orm/errors/DbError.d.ts
@@ -996,247 +1374,62 @@ declare class DatabaseTypeProvider {
996
1374
  /**
997
1375
  * Creates a column Deleted At for soft delete functionality.
998
1376
  * This is used to mark rows as deleted without actually removing them from the database.
999
- * The column is nullable - NULL means not deleted, timestamp means deleted.
1000
- */
1001
- readonly deletedAt: (options?: TStringOptions) => PgAttr<alepha34.TOptional<TString>, typeof PG_DELETED_AT>;
1002
- /**
1003
- * Creates a Postgres ENUM type.
1004
- *
1005
- * > By default, `t.enum()` is mapped to a TEXT column in Postgres.
1006
- * > Using this method, you can create a real ENUM type in the database.
1007
- *
1008
- * @example
1009
- * ```ts
1010
- * const statusEnum = pg.enum(["pending", "active", "archived"], { name: "status_enum" });
1011
- * ```
1012
- */
1013
- readonly enum: <T extends string[]>(values: [...T], pgEnumOptions?: PgEnumOptions, typeOptions?: TStringOptions) => PgAttr<TUnsafe<T[number]>, typeof PG_ENUM>;
1014
- /**
1015
- * Creates a reference to another table or schema. Basically a foreign key.
1016
- */
1017
- readonly ref: <T extends TSchema>(type: T, ref: () => any, actions?: {
1018
- onUpdate?: UpdateDeleteAction$1;
1019
- onDelete?: UpdateDeleteAction$1;
1020
- }) => PgAttr<T, PgRef>;
1021
- /**
1022
- * Creates a page schema for a given object schema.
1023
- * It's used by {@link Repository#paginate} method.
1024
- */
1025
- readonly page: <T extends TObject>(resource: T, options?: TObjectOptions) => TPage<T>;
1026
- }
1027
- /**
1028
- * Wrapper of TypeProvider (`t`) for database types.
1029
- *
1030
- * Use `db` for improve TypeBox schema definitions with database-specific attributes.
1031
- *
1032
- * @example
1033
- * ```ts
1034
- * import { t } from "alepha";
1035
- * import { db } from "alepha/orm";
1036
- *
1037
- * const userSchema = t.object({
1038
- * id: db.primaryKey(t.uuid()),
1039
- * email: t.email(),
1040
- * createdAt: db.createdAt(),
1041
- * });
1042
- * ```
1043
- */
1044
- declare const db: DatabaseTypeProvider;
1045
- /**
1046
- * @deprecated Use `db` instead.
1047
- */
1048
- declare const pg: DatabaseTypeProvider;
1049
- //#endregion
1050
- //#region ../../src/orm/schemas/legacyIdSchema.d.ts
1051
- /**
1052
- * @deprecated Use `pg.primaryKey()` instead.
1053
- */
1054
- declare const legacyIdSchema: PgAttr<PgAttr<PgAttr<alepha34.TInteger, typeof PG_PRIMARY_KEY>, typeof PG_SERIAL>, typeof PG_DEFAULT>;
1055
- //#endregion
1056
- //#region ../../src/orm/primitives/$sequence.d.ts
1057
- /**
1058
- * Creates a PostgreSQL sequence primitive for generating unique numeric values.
1059
- */
1060
- declare const $sequence: {
1061
- (options?: SequencePrimitiveOptions): SequencePrimitive;
1062
- [KIND]: typeof SequencePrimitive;
1063
- };
1064
- interface SequencePrimitiveOptions extends PgSequenceOptions {
1065
- /**
1066
- * The name of the sequence. If not provided, the property key will be used.
1067
- */
1068
- name?: string;
1069
- provider?: DatabaseProvider;
1070
- }
1071
- declare class SequencePrimitive extends Primitive<SequencePrimitiveOptions> {
1072
- readonly provider: DatabaseProvider;
1073
- onInit(): void;
1074
- get name(): string;
1075
- next(): Promise<number>;
1076
- current(): Promise<number>;
1077
- protected $provider(): DatabaseProvider;
1078
- }
1079
- //#endregion
1080
- //#region ../../src/orm/services/ModelBuilder.d.ts
1081
- /**
1082
- * Database-specific table configuration functions
1083
- */
1084
- interface TableConfigBuilders<TConfig> {
1085
- index: (name: string) => {
1086
- on: (...columns: any[]) => TConfig;
1087
- };
1088
- uniqueIndex: (name: string) => {
1089
- on: (...columns: any[]) => TConfig;
1090
- };
1091
- unique: (name: string) => {
1092
- on: (...columns: any[]) => TConfig;
1093
- };
1094
- check: (name: string, sql: SQL) => TConfig;
1095
- foreignKey: (config: {
1096
- name: string;
1097
- columns: any[];
1098
- foreignColumns: any[];
1099
- }) => TConfig;
1100
- }
1101
- /**
1102
- * Abstract base class for transforming Alepha Primitives (Entity, Sequence, etc...)
1103
- * into drizzle models (tables, enums, sequences, etc...).
1104
- */
1105
- declare abstract class ModelBuilder {
1106
- /**
1107
- * Build a table from an entity primitive.
1108
- */
1109
- abstract buildTable(entity: EntityPrimitive, options: {
1110
- tables: Map<string, unknown>;
1111
- enums: Map<string, unknown>;
1112
- schema: string;
1113
- }): void;
1114
- /**
1115
- * Build a sequence from a sequence primitive.
1116
- */
1117
- abstract buildSequence(sequence: SequencePrimitive, options: {
1118
- sequences: Map<string, unknown>;
1119
- schema: string;
1120
- }): void;
1121
- /**
1122
- * Convert camelCase to snake_case for column names.
1123
- */
1124
- protected toColumnName(str: string): string;
1125
- /**
1126
- * Build the table configuration function for any database.
1127
- * This includes indexes, foreign keys, constraints, and custom config.
1128
- *
1129
- * @param entity - The entity primitive
1130
- * @param builders - Database-specific builder functions
1131
- * @param tableResolver - Function to resolve entity references to table columns
1132
- * @param customConfigHandler - Optional handler for custom config
1133
- */
1134
- protected buildTableConfig<TConfig, TSelf>(entity: EntityPrimitive, builders: TableConfigBuilders<TConfig>, tableResolver?: (entityName: string) => any, customConfigHandler?: (config: any, self: TSelf) => TConfig[]): ((self: TSelf) => TConfig[]) | undefined;
1135
- }
1136
- //#endregion
1137
- //#region ../../src/orm/providers/DrizzleKitProvider.d.ts
1138
- declare class DrizzleKitProvider {
1139
- protected readonly log: alepha_logger4.Logger;
1140
- protected readonly alepha: Alepha;
1141
- /**
1142
- * Synchronize database with current schema definitions.
1143
- *
1144
- * In development mode, it will generate and execute migrations based on the current state.
1145
- * In testing mode, it will generate migrations from scratch without applying them.
1146
- *
1147
- * Does nothing in production mode, you must handle migrations manually.
1148
- */
1149
- synchronize(provider: DatabaseProvider): Promise<void>;
1150
- /**
1151
- * Mostly used for testing purposes. You can generate SQL migration statements without executing them.
1152
- */
1153
- generateMigration(provider: DatabaseProvider, prevSnapshot?: any): Promise<{
1154
- statements: string[];
1155
- models: Record<string, unknown>;
1156
- snapshot?: any;
1157
- }>;
1158
- /**
1159
- * Load all tables, enums, sequences, etc. from the provider's repositories.
1160
- */
1161
- getModels(provider: DatabaseProvider): Record<string, unknown>;
1162
- /**
1163
- * Load the migration snapshot from the database.
1164
- */
1165
- protected loadDevMigrations(provider: DatabaseProvider): Promise<DevMigrations | undefined>;
1166
- protected saveDevMigrations(provider: DatabaseProvider, curr: Record<string, any>, devMigrations?: DevMigrations): Promise<void>;
1167
- protected executeStatements(statements: string[], provider: DatabaseProvider, catchErrors?: boolean): Promise<void>;
1168
- protected createSchemaIfNotExists(provider: DatabaseProvider, schemaName: string): Promise<void>;
1169
- /**
1170
- * Try to load the official Drizzle Kit API.
1171
- * If not available, fallback to the local kit import.
1172
- */
1173
- importDrizzleKit(): typeof DrizzleKit;
1174
- }
1175
- declare const devMigrationsSchema: alepha34.TObject<{
1176
- id: alepha34.TNumber;
1177
- name: alepha34.TString;
1178
- snapshot: alepha34.TString;
1179
- created_at: alepha34.TString;
1180
- }>;
1181
- type DevMigrations = Static<typeof devMigrationsSchema>;
1182
- //#endregion
1183
- //#region ../../src/orm/providers/drivers/DatabaseProvider.d.ts
1184
- type SQLLike = SQLWrapper | string;
1185
- declare abstract class DatabaseProvider {
1186
- protected readonly alepha: Alepha;
1187
- protected readonly log: alepha_logger4.Logger;
1188
- protected abstract readonly builder: ModelBuilder;
1189
- protected abstract readonly kit: DrizzleKitProvider;
1190
- abstract readonly db: PgDatabase<any>;
1191
- abstract readonly dialect: "postgresql" | "sqlite";
1192
- abstract readonly url: string;
1193
- readonly enums: Map<string, unknown>;
1194
- readonly tables: Map<string, unknown>;
1195
- readonly sequences: Map<string, unknown>;
1196
- get name(): string;
1197
- get driver(): string;
1198
- get schema(): string;
1199
- table<T extends TObject>(entity: EntityPrimitive<T>): PgTableWithColumns<SchemaToTableConfig<T>>;
1200
- registerEntity(entity: EntityPrimitive): void;
1201
- registerSequence(sequence: SequencePrimitive): void;
1202
- abstract execute(statement: SQLLike): Promise<Record<string, unknown>[]>;
1203
- run<T extends TObject>(statement: SQLLike, schema: T): Promise<Array<Static<T>>>;
1204
- /**
1205
- * Get migrations folder path - can be overridden
1206
- */
1207
- protected getMigrationsFolder(): string;
1208
- /**
1209
- * Base migration orchestration - handles environment logic
1210
- */
1211
- migrate(): Promise<void>;
1212
- /**
1213
- * Production: run migrations from folder
1214
- */
1215
- protected runProductionMigration(migrationsFolder: string): Promise<void>;
1216
- /**
1217
- * Test: always synchronize
1218
- */
1219
- protected runTestMigration(): Promise<void>;
1220
- /**
1221
- * Development: default to synchronize (can be overridden)
1377
+ * The column is nullable - NULL means not deleted, timestamp means deleted.
1222
1378
  */
1223
- protected runDevelopmentMigration(migrationsFolder: string): Promise<void>;
1379
+ readonly deletedAt: (options?: TStringOptions) => PgAttr<alepha26.TOptional<TString>, typeof PG_DELETED_AT>;
1224
1380
  /**
1225
- * Common synchronization with error handling
1381
+ * Creates a Postgres ENUM type.
1382
+ *
1383
+ * > By default, `t.enum()` is mapped to a TEXT column in Postgres.
1384
+ * > Using this method, you can create a real ENUM type in the database.
1385
+ *
1386
+ * @example
1387
+ * ```ts
1388
+ * const statusEnum = pg.enum(["pending", "active", "archived"], { name: "status_enum" });
1389
+ * ```
1226
1390
  */
1227
- protected synchronizeSchema(): Promise<void>;
1391
+ readonly enum: <T extends string[]>(values: [...T], pgEnumOptions?: PgEnumOptions, typeOptions?: TStringOptions) => PgAttr<TUnsafe<T[number]>, typeof PG_ENUM>;
1228
1392
  /**
1229
- * Provider-specific migration execution
1230
- * MUST be implemented by each provider
1393
+ * Creates a reference to another table or schema. Basically a foreign key.
1231
1394
  */
1232
- protected abstract executeMigrations(migrationsFolder: string): Promise<void>;
1395
+ readonly ref: <T extends TSchema>(type: T, ref: () => any, actions?: {
1396
+ onUpdate?: UpdateDeleteAction$1;
1397
+ onDelete?: UpdateDeleteAction$1;
1398
+ }) => PgAttr<T, PgRef>;
1233
1399
  /**
1234
- * For testing purposes, generate a unique schema name.
1235
- * The schema name will be generated based on the current date and time.
1236
- * It will be in the format of `test_YYYYMMDD_HHMMSS_randomSuffix`.
1400
+ * Creates a page schema for a given object schema.
1401
+ * It's used by {@link Repository#paginate} method.
1237
1402
  */
1238
- protected generateTestSchemaName(): string;
1403
+ readonly page: <T extends TObject>(resource: T, options?: TObjectOptions) => TPage<T>;
1239
1404
  }
1405
+ /**
1406
+ * Wrapper of TypeProvider (`t`) for database types.
1407
+ *
1408
+ * Use `db` for improve TypeBox schema definitions with database-specific attributes.
1409
+ *
1410
+ * @example
1411
+ * ```ts
1412
+ * import { t } from "alepha";
1413
+ * import { db } from "alepha/orm";
1414
+ *
1415
+ * const userSchema = t.object({
1416
+ * id: db.primaryKey(t.uuid()),
1417
+ * email: t.email(),
1418
+ * createdAt: db.createdAt(),
1419
+ * });
1420
+ * ```
1421
+ */
1422
+ declare const db: DatabaseTypeProvider;
1423
+ /**
1424
+ * @deprecated Use `db` instead.
1425
+ */
1426
+ declare const pg: DatabaseTypeProvider;
1427
+ //#endregion
1428
+ //#region ../../src/orm/schemas/legacyIdSchema.d.ts
1429
+ /**
1430
+ * @deprecated Use `pg.primaryKey()` instead.
1431
+ */
1432
+ declare const legacyIdSchema: PgAttr<PgAttr<PgAttr<alepha26.TInteger, typeof PG_PRIMARY_KEY>, typeof PG_SERIAL>, typeof PG_DEFAULT>;
1240
1433
  //#endregion
1241
1434
  //#region ../../src/orm/services/QueryManager.d.ts
1242
1435
  declare class QueryManager {
@@ -1302,7 +1495,7 @@ declare class QueryManager {
1302
1495
  createPagination<T>(entities: T[], limit?: number, offset?: number, sort?: Array<{
1303
1496
  column: string;
1304
1497
  direction: "asc" | "desc";
1305
- }>): alepha34.Page<T>;
1498
+ }>): alepha26.Page<T>;
1306
1499
  }
1307
1500
  interface PgJoin {
1308
1501
  table: string;
@@ -1487,7 +1680,7 @@ declare abstract class Repository<T extends TObject> {
1487
1680
  /**
1488
1681
  * Find an entity and update it.
1489
1682
  */
1490
- updateOne(where: PgQueryWhereOrSQL<T>, data: Partial<Static<TObjectUpdate<T>>>, opts?: StatementOptions): Promise<Static<T>>;
1683
+ updateOne(where: PgQueryWhereOrSQL<T>, data: WithSQL<Static<TObjectUpdate<T>>>, opts?: StatementOptions): Promise<Static<T>>;
1491
1684
  /**
1492
1685
  * Save a given entity.
1493
1686
  *
@@ -1512,11 +1705,11 @@ declare abstract class Repository<T extends TObject> {
1512
1705
  /**
1513
1706
  * Find an entity by ID and update it.
1514
1707
  */
1515
- updateById(id: string | number, data: Partial<Static<TObjectUpdate<T>>>, opts?: StatementOptions): Promise<Static<T>>;
1708
+ updateById(id: string | number, data: WithSQL<Static<TObjectUpdate<T>>>, opts?: StatementOptions): Promise<Static<T>>;
1516
1709
  /**
1517
1710
  * Find many entities and update all of them.
1518
1711
  */
1519
- updateMany(where: PgQueryWhereOrSQL<T>, data: Partial<Static<TObjectUpdate<T>>>, opts?: StatementOptions): Promise<Array<number | string>>;
1712
+ updateMany(where: PgQueryWhereOrSQL<T>, data: WithSQL<Static<TObjectUpdate<T>>>, opts?: StatementOptions): Promise<Array<number | string>>;
1520
1713
  /**
1521
1714
  * Find many and delete all of them.
1522
1715
  * @returns Array of deleted entity IDs
@@ -1611,6 +1804,7 @@ interface StatementOptions {
1611
1804
  */
1612
1805
  now?: DateTime | string;
1613
1806
  }
1807
+ type WithSQL<T> = { [P in keyof T]?: T[P] | SQL };
1614
1808
  //#endregion
1615
1809
  //#region ../../src/orm/primitives/$repository.d.ts
1616
1810
  /**
@@ -1739,160 +1933,6 @@ interface TransactionPrimitiveOptions<T extends any[], R> {
1739
1933
  }
1740
1934
  type TransactionContext = PgTransaction<any, any, any>;
1741
1935
  //#endregion
1742
- //#region ../../src/orm/services/SqliteModelBuilder.d.ts
1743
- declare class SqliteModelBuilder extends ModelBuilder {
1744
- buildTable(entity: EntityPrimitive<any>, options: {
1745
- tables: Map<string, unknown>;
1746
- enums: Map<string, unknown>;
1747
- schema: string;
1748
- }): void;
1749
- buildSequence(sequence: SequencePrimitive, options: {
1750
- sequences: Map<string, unknown>;
1751
- schema: string;
1752
- }): void;
1753
- /**
1754
- * Get SQLite-specific config builder for the table.
1755
- */
1756
- protected getTableConfig(entity: EntityPrimitive, tables: Map<string, unknown>): ((self: BuildColumns<string, any, "sqlite">) => any) | undefined;
1757
- schemaToSqliteColumns: <T extends TObject>(tableName: string, schema: T, enums: Map<string, unknown>, tables: Map<string, unknown>) => SchemaToSqliteBuilder<T>;
1758
- mapFieldToSqliteColumn: (tableName: string, fieldName: string, value: TSchema, enums: Map<string, any>) => pg$1.SQLiteIntegerBuilderInitial<string> | pg$1.SQLiteNumericBuilderInitial<string> | pg$1.SQLiteTextBuilderInitial<string, [string, ...string[]], number | undefined> | drizzle_orm0.$Type<pg$1.SQLiteCustomColumnBuilder<{
1759
- name: string;
1760
- dataType: "custom";
1761
- columnType: "SQLiteCustomColumn";
1762
- data: string;
1763
- driverParam: string;
1764
- enumValues: undefined;
1765
- }>, string> | pg$1.SQLiteCustomColumnBuilder<{
1766
- name: string;
1767
- dataType: "custom";
1768
- columnType: "SQLiteCustomColumn";
1769
- data: string;
1770
- driverParam: number;
1771
- enumValues: undefined;
1772
- }> | pg$1.SQLiteCustomColumnBuilder<{
1773
- name: string;
1774
- dataType: "custom";
1775
- columnType: "SQLiteCustomColumn";
1776
- data: boolean;
1777
- driverParam: number;
1778
- enumValues: undefined;
1779
- }> | drizzle_orm0.$Type<pg$1.SQLiteCustomColumnBuilder<{
1780
- name: string;
1781
- dataType: "custom";
1782
- columnType: "SQLiteCustomColumn";
1783
- data: {
1784
- [x: string]: unknown;
1785
- [x: number]: unknown;
1786
- [x: symbol]: unknown;
1787
- };
1788
- driverParam: string;
1789
- enumValues: undefined;
1790
- }>, {
1791
- [x: string]: unknown;
1792
- [x: number]: unknown;
1793
- [x: symbol]: unknown;
1794
- }> | drizzle_orm0.$Type<pg$1.SQLiteCustomColumnBuilder<{
1795
- name: string;
1796
- dataType: "custom";
1797
- columnType: "SQLiteCustomColumn";
1798
- data: typebox1.StaticRecord<[], "Decode", {}, {}, string, TSchema>;
1799
- driverParam: string;
1800
- enumValues: undefined;
1801
- }>, typebox1.StaticRecord<[], "Decode", {}, {}, string, TSchema>> | drizzle_orm0.$Type<pg$1.SQLiteCustomColumnBuilder<{
1802
- name: string;
1803
- dataType: "custom";
1804
- columnType: "SQLiteCustomColumn";
1805
- data: any;
1806
- driverParam: string;
1807
- enumValues: undefined;
1808
- }>, any> | drizzle_orm0.$Type<pg$1.SQLiteCustomColumnBuilder<{
1809
- name: string;
1810
- dataType: "custom";
1811
- columnType: "SQLiteCustomColumn";
1812
- data: unknown[];
1813
- driverParam: string;
1814
- enumValues: undefined;
1815
- }>, unknown[]>;
1816
- mapStringToSqliteColumn: (key: string, value: TString) => pg$1.SQLiteTextBuilderInitial<string, [string, ...string[]], number | undefined> | drizzle_orm0.$Type<pg$1.SQLiteCustomColumnBuilder<{
1817
- name: string;
1818
- dataType: "custom";
1819
- columnType: "SQLiteCustomColumn";
1820
- data: string;
1821
- driverParam: string;
1822
- enumValues: undefined;
1823
- }>, string> | pg$1.SQLiteCustomColumnBuilder<{
1824
- name: string;
1825
- dataType: "custom";
1826
- columnType: "SQLiteCustomColumn";
1827
- data: string;
1828
- driverParam: number;
1829
- enumValues: undefined;
1830
- }>;
1831
- sqliteJson: <TDocument extends TSchema>(name: string, document: TDocument) => drizzle_orm0.$Type<pg$1.SQLiteCustomColumnBuilder<{
1832
- name: string;
1833
- dataType: "custom";
1834
- columnType: "SQLiteCustomColumn";
1835
- data: typebox1.StaticType<[], "Decode", {}, {}, TDocument>;
1836
- driverParam: string;
1837
- enumValues: undefined;
1838
- }>, typebox1.StaticType<[], "Decode", {}, {}, TDocument>>;
1839
- sqliteDateTime: {
1840
- <TConfig extends Record<string, any>>(fieldConfig: TConfig): pg$1.SQLiteCustomColumnBuilder<{
1841
- name: "";
1842
- dataType: "custom";
1843
- columnType: "SQLiteCustomColumn";
1844
- data: string;
1845
- driverParam: number;
1846
- enumValues: undefined;
1847
- }>;
1848
- <TName extends string>(dbName: TName, fieldConfig: unknown): pg$1.SQLiteCustomColumnBuilder<{
1849
- name: TName;
1850
- dataType: "custom";
1851
- columnType: "SQLiteCustomColumn";
1852
- data: string;
1853
- driverParam: number;
1854
- enumValues: undefined;
1855
- }>;
1856
- };
1857
- sqliteBool: {
1858
- <TConfig extends Record<string, any>>(fieldConfig: TConfig): pg$1.SQLiteCustomColumnBuilder<{
1859
- name: "";
1860
- dataType: "custom";
1861
- columnType: "SQLiteCustomColumn";
1862
- data: boolean;
1863
- driverParam: number;
1864
- enumValues: undefined;
1865
- }>;
1866
- <TName extends string>(dbName: TName, fieldConfig: unknown): pg$1.SQLiteCustomColumnBuilder<{
1867
- name: TName;
1868
- dataType: "custom";
1869
- columnType: "SQLiteCustomColumn";
1870
- data: boolean;
1871
- driverParam: number;
1872
- enumValues: undefined;
1873
- }>;
1874
- };
1875
- sqliteDate: {
1876
- <TConfig extends Record<string, any>>(fieldConfig: TConfig): pg$1.SQLiteCustomColumnBuilder<{
1877
- name: "";
1878
- dataType: "custom";
1879
- columnType: "SQLiteCustomColumn";
1880
- data: string;
1881
- driverParam: number;
1882
- enumValues: undefined;
1883
- }>;
1884
- <TName extends string>(dbName: TName, fieldConfig: unknown): pg$1.SQLiteCustomColumnBuilder<{
1885
- name: TName;
1886
- dataType: "custom";
1887
- columnType: "SQLiteCustomColumn";
1888
- data: string;
1889
- driverParam: number;
1890
- enumValues: undefined;
1891
- }>;
1892
- };
1893
- }
1894
- type SchemaToSqliteBuilder<T extends TObject> = { [key in keyof T["properties"]]: SQLiteColumnBuilderBase };
1895
- //#endregion
1896
1936
  //#region ../../src/orm/providers/drivers/CloudflareD1Provider.d.ts
1897
1937
  /**
1898
1938
  * D1Database interface matching Cloudflare's D1 API.
@@ -1952,7 +1992,7 @@ declare class CloudflareD1Provider extends DatabaseProvider {
1952
1992
  get url(): string;
1953
1993
  get db(): PgDatabase<any>;
1954
1994
  execute(query: SQLLike): Promise<Array<Record<string, unknown>>>;
1955
- protected readonly onStart: alepha34.HookPrimitive<"start">;
1995
+ protected readonly onStart: alepha26.HookPrimitive<"start">;
1956
1996
  protected executeMigrations(migrationsFolder: string): Promise<void>;
1957
1997
  /**
1958
1998
  * Override development migration to skip sync (not supported on D1).
@@ -1970,7 +2010,7 @@ declare class CloudflareD1Provider extends DatabaseProvider {
1970
2010
  declare class RepositoryProvider {
1971
2011
  protected readonly alepha: Alepha;
1972
2012
  protected readonly registry: Map<EntityPrimitive<any>, Service<Repository<any>>>;
1973
- getRepositories(provider?: DatabaseProvider): Repository<TObject<alepha34.TProperties>>[];
2013
+ getRepositories(provider?: DatabaseProvider): Repository<TObject<alepha26.TProperties>>[];
1974
2014
  getRepository<T extends TObject>(entity: EntityPrimitive<T>): Repository<T>;
1975
2015
  createClassRepository<T extends TObject>(entity: EntityPrimitive<T>): Service<Repository<T>>;
1976
2016
  }
@@ -1983,10 +2023,10 @@ declare const schema: <TDocument extends TSchema>(name: string, document: TDocum
1983
2023
  name: string;
1984
2024
  dataType: "custom";
1985
2025
  columnType: "PgCustomColumn";
1986
- data: typebox1.StaticType<[], "Decode", {}, {}, TDocument>;
2026
+ data: typebox0.StaticType<[], "Decode", {}, {}, TDocument>;
1987
2027
  driverParam: string;
1988
2028
  enumValues: undefined;
1989
- }>, typebox1.StaticType<[], "Decode", {}, {}, TDocument>>;
2029
+ }>, typebox0.StaticType<[], "Decode", {}, {}, TDocument>>;
1990
2030
  //#endregion
1991
2031
  //#region ../../src/orm/services/PostgresModelBuilder.d.ts
1992
2032
  declare class PostgresModelBuilder extends ModelBuilder {
@@ -2027,7 +2067,7 @@ declare class PostgresModelBuilder extends ModelBuilder {
2027
2067
  declare module "alepha" {
2028
2068
  interface Env extends Partial<Static<typeof envSchema$1>> {}
2029
2069
  }
2030
- declare const envSchema$1: alepha34.TObject<{
2070
+ declare const envSchema$1: alepha26.TObject<{
2031
2071
  /**
2032
2072
  * Main configuration for database connection.
2033
2073
  * Accept a string in the format of a Postgres connection URL.
@@ -2035,11 +2075,11 @@ declare const envSchema$1: alepha34.TObject<{
2035
2075
  * or
2036
2076
  * Example: postgres://user:password@localhost:5432/database?sslmode=require
2037
2077
  */
2038
- DATABASE_URL: alepha34.TOptional<alepha34.TString>;
2078
+ DATABASE_URL: alepha26.TOptional<alepha26.TString>;
2039
2079
  /**
2040
2080
  * In addition to the DATABASE_URL, you can specify the postgres schema name.
2041
2081
  */
2042
- POSTGRES_SCHEMA: alepha34.TOptional<alepha34.TString>;
2082
+ POSTGRES_SCHEMA: alepha26.TOptional<alepha26.TString>;
2043
2083
  }>;
2044
2084
  /**
2045
2085
  * Bun PostgreSQL provider using Drizzle ORM with Bun's native SQL client.
@@ -2089,8 +2129,8 @@ declare class BunPostgresProvider extends DatabaseProvider {
2089
2129
  */
2090
2130
  get db(): PgDatabase<any>;
2091
2131
  protected executeMigrations(migrationsFolder: string): Promise<void>;
2092
- protected readonly onStart: alepha34.HookPrimitive<"start">;
2093
- protected readonly onStop: alepha34.HookPrimitive<"stop">;
2132
+ protected readonly onStart: alepha26.HookPrimitive<"start">;
2133
+ protected readonly onStop: alepha26.HookPrimitive<"stop">;
2094
2134
  connect(): Promise<void>;
2095
2135
  close(): Promise<void>;
2096
2136
  protected migrateLock: alepha_lock0.LockPrimitive<() => Promise<void>>;
@@ -2100,8 +2140,8 @@ declare class BunPostgresProvider extends DatabaseProvider {
2100
2140
  /**
2101
2141
  * Configuration options for the Bun SQLite database provider.
2102
2142
  */
2103
- declare const bunSqliteOptions: alepha34.Atom<alepha34.TObject<{
2104
- path: alepha34.TOptional<alepha34.TString>;
2143
+ declare const bunSqliteOptions: alepha26.Atom<alepha26.TObject<{
2144
+ path: alepha26.TOptional<alepha26.TString>;
2105
2145
  }>, "alepha.postgres.bun-sqlite.options">;
2106
2146
  type BunSqliteProviderOptions = Static<typeof bunSqliteOptions.schema>;
2107
2147
  declare module "alepha" {
@@ -2150,8 +2190,8 @@ declare class BunSqliteProvider extends DatabaseProvider {
2150
2190
  get url(): string;
2151
2191
  get db(): PgDatabase<any>;
2152
2192
  execute(query: SQLLike): Promise<Array<Record<string, unknown>>>;
2153
- protected readonly onStart: alepha34.HookPrimitive<"start">;
2154
- protected readonly onStop: alepha34.HookPrimitive<"stop">;
2193
+ protected readonly onStart: alepha26.HookPrimitive<"start">;
2194
+ protected readonly onStop: alepha26.HookPrimitive<"stop">;
2155
2195
  protected executeMigrations(migrationsFolder: string): Promise<void>;
2156
2196
  }
2157
2197
  //#endregion
@@ -2159,7 +2199,7 @@ declare class BunSqliteProvider extends DatabaseProvider {
2159
2199
  declare module "alepha" {
2160
2200
  interface Env extends Partial<Static<typeof envSchema>> {}
2161
2201
  }
2162
- declare const envSchema: alepha34.TObject<{
2202
+ declare const envSchema: alepha26.TObject<{
2163
2203
  /**
2164
2204
  * Main configuration for database connection.
2165
2205
  * Accept a string in the format of a Postgres connection URL.
@@ -2167,13 +2207,13 @@ declare const envSchema: alepha34.TObject<{
2167
2207
  * or
2168
2208
  * Example: postgres://user:password@localhost:5432/database?sslmode=require
2169
2209
  */
2170
- DATABASE_URL: alepha34.TOptional<alepha34.TString>;
2210
+ DATABASE_URL: alepha26.TOptional<alepha26.TString>;
2171
2211
  /**
2172
2212
  * In addition to the DATABASE_URL, you can specify the postgres schema name.
2173
2213
  *
2174
2214
  * It will monkey patch drizzle tables.
2175
2215
  */
2176
- POSTGRES_SCHEMA: alepha34.TOptional<alepha34.TString>;
2216
+ POSTGRES_SCHEMA: alepha26.TOptional<alepha26.TString>;
2177
2217
  }>;
2178
2218
  declare class NodePostgresProvider extends DatabaseProvider {
2179
2219
  static readonly SSL_MODES: readonly ["require", "allow", "prefer", "verify-full"];
@@ -2206,8 +2246,8 @@ declare class NodePostgresProvider extends DatabaseProvider {
2206
2246
  */
2207
2247
  get db(): PostgresJsDatabase;
2208
2248
  protected executeMigrations(migrationsFolder: string): Promise<void>;
2209
- protected readonly onStart: alepha34.HookPrimitive<"start">;
2210
- protected readonly onStop: alepha34.HookPrimitive<"stop">;
2249
+ protected readonly onStart: alepha26.HookPrimitive<"start">;
2250
+ protected readonly onStop: alepha26.HookPrimitive<"stop">;
2211
2251
  connect(): Promise<void>;
2212
2252
  close(): Promise<void>;
2213
2253
  protected migrateLock: alepha_lock0.LockPrimitive<() => Promise<void>>;
@@ -2217,47 +2257,8 @@ declare class NodePostgresProvider extends DatabaseProvider {
2217
2257
  protected getClientOptions(): postgres.Options<any>;
2218
2258
  protected ssl(url: URL): "require" | "allow" | "prefer" | "verify-full" | undefined;
2219
2259
  }
2220
- //#endregion
2221
- //#region ../../src/orm/providers/drivers/NodeSqliteProvider.d.ts
2222
- /**
2223
- * Configuration options for the Node.js SQLite database provider.
2224
- */
2225
- declare const nodeSqliteOptions: alepha34.Atom<alepha34.TObject<{
2226
- path: alepha34.TOptional<alepha34.TString>;
2227
- }>, "alepha.postgres.node-sqlite.options">;
2228
- type NodeSqliteProviderOptions = Static<typeof nodeSqliteOptions.schema>;
2229
- declare module "alepha" {
2230
- interface State {
2231
- [nodeSqliteOptions.key]: NodeSqliteProviderOptions;
2232
- }
2233
- }
2234
- /**
2235
- * Add a fake support for SQLite in Node.js based on Postgres interfaces.
2236
- *
2237
- * This is NOT a real SQLite provider, it's a workaround to use SQLite with Drizzle ORM.
2238
- * This is NOT recommended for production use.
2239
- */
2240
- declare class NodeSqliteProvider extends DatabaseProvider {
2241
- protected readonly kit: DrizzleKitProvider;
2242
- protected readonly log: alepha_logger4.Logger;
2243
- protected readonly env: {
2244
- DATABASE_URL?: string | undefined;
2245
- };
2246
- protected readonly builder: SqliteModelBuilder;
2247
- protected readonly options: Readonly<{
2248
- path?: string | undefined;
2249
- }>;
2250
- protected sqlite: DatabaseSync;
2251
- get name(): string;
2252
- readonly dialect = "sqlite";
2253
- get url(): string;
2254
- execute(query: SQLLike): Promise<Array<Record<string, unknown>>>;
2255
- readonly db: PgDatabase<any>;
2256
- protected readonly onStart: alepha34.HookPrimitive<"start">;
2257
- protected executeMigrations(migrationsFolder: string): Promise<void>;
2258
- }
2259
2260
  declare namespace index_d_exports {
2260
- export { $entity, $repository, $sequence, $transaction, AlephaPostgres, BunPostgresProvider, BunSqliteProvider, BunSqliteProviderOptions, CloudflareD1Provider, D1Database, D1ExecResult, D1PreparedStatement, D1Result, DatabaseProvider, DatabaseTypeProvider, DbConflictError, DbEntityNotFoundError, DbError, DbMigrationError, DbVersionMismatchError, DrizzleKitProvider, EntityColumn, EntityColumns, EntityPrimitive, EntityPrimitiveOptions, FilterOperators, FromSchema, NodePostgresProvider, NodeSqliteProvider, NodeSqliteProviderOptions, OrderBy, OrderByClause, OrderDirection, PG_CREATED_AT, PG_DEFAULT, PG_DELETED_AT, PG_ENUM, PG_IDENTITY, PG_PRIMARY_KEY, PG_REF, PG_SERIAL, PG_UPDATED_AT, PG_VERSION, Page, PageQuery, PgAttr, PgAttrField, PgDefault, PgEnumOptions, PgIdentityOptions, PgPrimaryKey, PgQuery, PgQueryRelations, PgQueryWhere, PgQueryWhereOrSQL, PgRef, PgRefOptions, PgRelation, PgRelationMap, PgStatic, PgSymbolKeys, PgSymbols, Repository, RepositoryProvider, SQLLike, SchemaToTableConfig, SequencePrimitive, SequencePrimitiveOptions, StatementOptions, TObjectInsert, TObjectUpdate, TransactionContext, TransactionPrimitiveOptions, buildQueryString, bunSqliteOptions, db, drizzle_orm0 as drizzle, getAttrFields, insertSchema, legacyIdSchema, nodeSqliteOptions, pageQuerySchema, pageSchema, parseQueryString, pg, pgAttr, schema, sql, updateSchema };
2261
+ export { $entity, $repository, $sequence, $transaction, AlephaOrm, BunPostgresProvider, BunSqliteProvider, BunSqliteProviderOptions, CloudflareD1Provider, D1Database, D1ExecResult, D1PreparedStatement, D1Result, DatabaseProvider, DatabaseTypeProvider, DbConflictError, DbEntityNotFoundError, DbError, DbMigrationError, DbVersionMismatchError, DrizzleKitProvider, EntityColumn, EntityColumns, EntityPrimitive, EntityPrimitiveOptions, FilterOperators, FromSchema, NodePostgresProvider, NodeSqliteProvider, NodeSqliteProviderOptions, OrderBy, OrderByClause, OrderDirection, PG_CREATED_AT, PG_DEFAULT, PG_DELETED_AT, PG_ENUM, PG_IDENTITY, PG_PRIMARY_KEY, PG_REF, PG_SERIAL, PG_UPDATED_AT, PG_VERSION, Page, PageQuery, PgAttr, PgAttrField, PgDefault, PgEnumOptions, PgIdentityOptions, PgPrimaryKey, PgQuery, PgQueryRelations, PgQueryWhere, PgQueryWhereOrSQL, PgRef, PgRefOptions, PgRelation, PgRelationMap, PgStatic, PgSymbolKeys, PgSymbols, Repository, RepositoryProvider, SQLLike, SchemaToTableConfig, SequencePrimitive, SequencePrimitiveOptions, SqliteProvider, StatementOptions, TObjectInsert, TObjectUpdate, TransactionContext, TransactionPrimitiveOptions, buildQueryString, bunSqliteOptions, db, drizzle_orm0 as drizzle, getAttrFields, insertSchema, legacyIdSchema, nodeSqliteOptions, pageQuerySchema, pageSchema, parseQueryString, pg, pgAttr, schema, sql, updateSchema };
2261
2262
  }
2262
2263
  declare module "alepha" {
2263
2264
  interface Hooks {
@@ -2325,58 +2326,31 @@ declare module "alepha" {
2325
2326
  };
2326
2327
  }
2327
2328
  }
2329
+ declare const SqliteProvider: typeof NodeSqliteProvider;
2328
2330
  /**
2329
- * Postgres client based on Drizzle ORM, Alepha type-safe friendly.
2330
- *
2331
- * Automatically selects the appropriate provider based on runtime:
2332
- * - Bun: Uses `BunPostgresProvider` or `BunSqliteProvider`
2333
- * - Node.js: Uses `NodePostgresProvider` or `NodeSqliteProvider`
2334
- *
2335
- * ```ts
2336
- * import { t } from "alepha";
2337
- * import { $entity, $repository, db } from "alepha/postgres";
2338
- *
2339
- * const users = $entity({
2340
- * name: "users",
2341
- * schema: t.object({
2342
- * id: db.primaryKey(),
2343
- * name: t.text(),
2344
- * email: t.text(),
2345
- * }),
2346
- * });
2347
- *
2348
- * class App {
2349
- * users = $repository(users);
2350
- *
2351
- * getUserByName(name: string) {
2352
- * return this.users.findOne({ name: { eq: name } });
2353
- * }
2354
- * }
2355
- * ```
2356
- *
2357
- * This is not a full ORM, but rather a set of tools to work with Postgres databases in a type-safe way.
2331
+ * | type | quality | stability |
2332
+ * |------|---------|-----------|
2333
+ * | backend | epic | stable |
2358
2334
  *
2359
- * It provides:
2360
- * - A type-safe way to define entities and repositories. (via `$entity` and `$repository`)
2361
- * - Custom query builders and filters.
2362
- * - Built-in special columns like `createdAt`, `updatedAt`, `deletedAt`, `version`.
2363
- * - Automatic JSONB support.
2364
- * - Automatic synchronization of entities with the database schema (for testing and development).
2365
- * - Fallback to raw SQL via Drizzle ORM `sql` function.
2335
+ * Full-featured database abstraction built on Drizzle ORM with complete type safety.
2366
2336
  *
2367
- * Migrations are supported via Drizzle ORM, you need to use the `drizzle-kit` CLI tool to generate and run migrations.
2337
+ * **Features:**
2338
+ * - Define database entities with TypeBox schemas
2339
+ * - Automatic timestamps, soft deletes, and versioning columns
2340
+ * - Type-safe CRUD operations with filtering, pagination, sorting, and relationships
2341
+ * - Database transaction support with automatic rollback
2342
+ * - Auto-incrementing sequences for IDs
2343
+ * - PostgreSQL support (Node.js, Bun, Cloudflare Workers via pglite)
2344
+ * - SQLite support (Node.js, Bun, Cloudflare D1)
2345
+ * - Automatic schema sync for development/testing
2346
+ * - Drizzle Kit migrations for production
2347
+ * - Type-safe filters: `eq`, `ne`, `gt`, `gte`, `lt`, `lte`, `in`, `nin`, `like`, `between`
2348
+ * - JSONB column support
2349
+ * - Relationship joins
2368
2350
  *
2369
- * @see {@link $entity}
2370
- * @see {@link $sequence}
2371
- * @see {@link $repository}
2372
- * @see {@link $transaction}
2373
- * @see {@link NodePostgresProvider} - Node.js Postgres implementation
2374
- * @see {@link NodeSqliteProvider} - Node.js SQLite implementation
2375
- * @see {@link BunPostgresProvider} - Bun Postgres implementation
2376
- * @see {@link BunSqliteProvider} - Bun SQLite implementation
2377
2351
  * @module alepha.postgres
2378
2352
  */
2379
- declare const AlephaPostgres: alepha34.Service<alepha34.Module>;
2353
+ declare const AlephaOrm: alepha26.Service<alepha26.Module>;
2380
2354
  //#endregion
2381
- export { $entity, $repository, $sequence, $transaction, AlephaPostgres, BunPostgresProvider, BunSqliteProvider, BunSqliteProviderOptions, CloudflareD1Provider, D1Database, D1ExecResult, D1PreparedStatement, D1Result, DatabaseProvider, DatabaseTypeProvider, DbConflictError, DbEntityNotFoundError, DbError, DbMigrationError, DbVersionMismatchError, DrizzleKitProvider, EntityColumn, EntityColumns, EntityPrimitive, EntityPrimitiveOptions, FilterOperators, FromSchema, NodePostgresProvider, NodeSqliteProvider, NodeSqliteProviderOptions, OrderBy, OrderByClause, OrderDirection, PG_CREATED_AT, PG_DEFAULT, PG_DELETED_AT, PG_ENUM, PG_IDENTITY, PG_PRIMARY_KEY, PG_REF, PG_SERIAL, PG_UPDATED_AT, PG_VERSION, type Page, type PageQuery, PgAttr, PgAttrField, PgDefault, PgEnumOptions, PgIdentityOptions, PgPrimaryKey, PgQuery, PgQueryRelations, PgQueryWhere, PgQueryWhereOrSQL, PgRef, PgRefOptions, PgRelation, PgRelationMap, PgStatic, PgSymbolKeys, PgSymbols, Repository, RepositoryProvider, SQLLike, SchemaToTableConfig, SequencePrimitive, SequencePrimitiveOptions, StatementOptions, TObjectInsert, TObjectUpdate, TransactionContext, TransactionPrimitiveOptions, buildQueryString, bunSqliteOptions, db, drizzle_orm0 as drizzle, getAttrFields, insertSchema, legacyIdSchema, nodeSqliteOptions, pageQuerySchema, pageSchema, parseQueryString, pg, pgAttr, schema, sql, updateSchema };
2355
+ export { $entity, $repository, $sequence, $transaction, AlephaOrm, BunPostgresProvider, BunSqliteProvider, BunSqliteProviderOptions, CloudflareD1Provider, D1Database, D1ExecResult, D1PreparedStatement, D1Result, DatabaseProvider, DatabaseTypeProvider, DbConflictError, DbEntityNotFoundError, DbError, DbMigrationError, DbVersionMismatchError, DrizzleKitProvider, EntityColumn, EntityColumns, EntityPrimitive, EntityPrimitiveOptions, FilterOperators, FromSchema, NodePostgresProvider, NodeSqliteProvider, NodeSqliteProviderOptions, OrderBy, OrderByClause, OrderDirection, PG_CREATED_AT, PG_DEFAULT, PG_DELETED_AT, PG_ENUM, PG_IDENTITY, PG_PRIMARY_KEY, PG_REF, PG_SERIAL, PG_UPDATED_AT, PG_VERSION, type Page, type PageQuery, PgAttr, PgAttrField, PgDefault, PgEnumOptions, PgIdentityOptions, PgPrimaryKey, PgQuery, PgQueryRelations, PgQueryWhere, PgQueryWhereOrSQL, PgRef, PgRefOptions, PgRelation, PgRelationMap, PgStatic, PgSymbolKeys, PgSymbols, Repository, RepositoryProvider, SQLLike, SchemaToTableConfig, SequencePrimitive, SequencePrimitiveOptions, SqliteProvider, StatementOptions, TObjectInsert, TObjectUpdate, TransactionContext, TransactionPrimitiveOptions, buildQueryString, bunSqliteOptions, db, drizzle_orm0 as drizzle, getAttrFields, insertSchema, legacyIdSchema, nodeSqliteOptions, pageQuerySchema, pageSchema, parseQueryString, pg, pgAttr, schema, sql, updateSchema };
2382
2356
  //# sourceMappingURL=index.d.ts.map