alepha 0.13.0 → 0.13.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 (461) hide show
  1. package/README.md +1 -1
  2. package/dist/api-files/index.d.ts +28 -91
  3. package/dist/api-files/index.js +10 -755
  4. package/dist/api-files/index.js.map +1 -1
  5. package/dist/api-jobs/index.d.ts +67 -67
  6. package/dist/api-jobs/index.js +13 -13
  7. package/dist/api-jobs/index.js.map +1 -1
  8. package/dist/api-notifications/index.d.ts +129 -146
  9. package/dist/api-notifications/index.js +17 -39
  10. package/dist/api-notifications/index.js.map +1 -1
  11. package/dist/api-parameters/index.d.ts +21 -22
  12. package/dist/api-parameters/index.js +22 -22
  13. package/dist/api-parameters/index.js.map +1 -1
  14. package/dist/api-users/index.d.ts +224 -2001
  15. package/dist/api-users/index.js +914 -4787
  16. package/dist/api-users/index.js.map +1 -1
  17. package/dist/api-verifications/index.d.ts +96 -96
  18. package/dist/batch/index.d.ts +13 -13
  19. package/dist/batch/index.js +8 -8
  20. package/dist/batch/index.js.map +1 -1
  21. package/dist/bucket/index.d.ts +14 -14
  22. package/dist/bucket/index.js +12 -12
  23. package/dist/bucket/index.js.map +1 -1
  24. package/dist/cache/index.d.ts +11 -11
  25. package/dist/cache/index.js +9 -9
  26. package/dist/cache/index.js.map +1 -1
  27. package/dist/cli/{dist-Sz2EXvQX.cjs → dist-Dl9Vl7Ur.js} +17 -13
  28. package/dist/cli/{dist-BBPjuQ56.js.map → dist-Dl9Vl7Ur.js.map} +1 -1
  29. package/dist/cli/index.d.ts +31 -37
  30. package/dist/cli/index.js +152 -83
  31. package/dist/cli/index.js.map +1 -1
  32. package/dist/command/index.d.ts +19 -19
  33. package/dist/command/index.js +25 -25
  34. package/dist/command/index.js.map +1 -1
  35. package/dist/core/index.browser.js +218 -218
  36. package/dist/core/index.browser.js.map +1 -1
  37. package/dist/core/index.d.ts +232 -232
  38. package/dist/core/index.js +218 -218
  39. package/dist/core/index.js.map +1 -1
  40. package/dist/core/{index.cjs → index.native.js} +304 -455
  41. package/dist/core/index.native.js.map +1 -0
  42. package/dist/datetime/index.d.ts +9 -9
  43. package/dist/datetime/index.js +7 -7
  44. package/dist/datetime/index.js.map +1 -1
  45. package/dist/email/index.d.ts +16 -16
  46. package/dist/email/index.js +80 -82
  47. package/dist/email/index.js.map +1 -1
  48. package/dist/file/index.js +1 -1
  49. package/dist/file/index.js.map +1 -1
  50. package/dist/lock/index.d.ts +9 -9
  51. package/dist/lock/index.js +8 -8
  52. package/dist/lock/index.js.map +1 -1
  53. package/dist/lock-redis/index.js +3 -66
  54. package/dist/lock-redis/index.js.map +1 -1
  55. package/dist/logger/index.d.ts +5 -5
  56. package/dist/logger/index.js +8 -8
  57. package/dist/logger/index.js.map +1 -1
  58. package/dist/orm/index.browser.js +114 -114
  59. package/dist/orm/index.browser.js.map +1 -1
  60. package/dist/orm/index.d.ts +219 -219
  61. package/dist/orm/index.js +46 -46
  62. package/dist/orm/index.js.map +1 -1
  63. package/dist/queue/index.d.ts +25 -25
  64. package/dist/queue/index.js +20 -20
  65. package/dist/queue/index.js.map +1 -1
  66. package/dist/queue-redis/index.d.ts +2 -2
  67. package/dist/redis/index.d.ts +10 -10
  68. package/dist/retry/index.d.ts +20 -20
  69. package/dist/retry/index.js +9 -9
  70. package/dist/retry/index.js.map +1 -1
  71. package/dist/scheduler/index.d.ts +12 -12
  72. package/dist/scheduler/index.js +9 -9
  73. package/dist/scheduler/index.js.map +1 -1
  74. package/dist/security/index.d.ts +53 -53
  75. package/dist/security/index.js +32 -32
  76. package/dist/security/index.js.map +1 -1
  77. package/dist/server/index.browser.js +1 -1
  78. package/dist/server/index.browser.js.map +1 -1
  79. package/dist/server/index.d.ts +101 -101
  80. package/dist/server/index.js +17 -17
  81. package/dist/server/index.js.map +1 -1
  82. package/dist/server-auth/index.browser.js +4 -982
  83. package/dist/server-auth/index.browser.js.map +1 -1
  84. package/dist/server-auth/index.d.ts +204 -785
  85. package/dist/server-auth/index.js +47 -1239
  86. package/dist/server-auth/index.js.map +1 -1
  87. package/dist/server-cache/index.d.ts +10 -10
  88. package/dist/server-cache/index.js +2 -2
  89. package/dist/server-cache/index.js.map +1 -1
  90. package/dist/server-compress/index.d.ts +4 -4
  91. package/dist/server-compress/index.js +1 -1
  92. package/dist/server-compress/index.js.map +1 -1
  93. package/dist/server-cookies/index.browser.js +8 -8
  94. package/dist/server-cookies/index.browser.js.map +1 -1
  95. package/dist/server-cookies/index.d.ts +17 -17
  96. package/dist/server-cookies/index.js +10 -10
  97. package/dist/server-cookies/index.js.map +1 -1
  98. package/dist/server-cors/index.d.ts +17 -17
  99. package/dist/server-cors/index.js +9 -9
  100. package/dist/server-cors/index.js.map +1 -1
  101. package/dist/server-health/index.d.ts +2 -2
  102. package/dist/server-helmet/index.d.ts +1 -1
  103. package/dist/server-links/index.browser.js +12 -12
  104. package/dist/server-links/index.browser.js.map +1 -1
  105. package/dist/server-links/index.d.ts +59 -251
  106. package/dist/server-links/index.js +23 -502
  107. package/dist/server-links/index.js.map +1 -1
  108. package/dist/server-metrics/index.d.ts +4 -4
  109. package/dist/server-metrics/index.js +170 -174
  110. package/dist/server-metrics/index.js.map +1 -1
  111. package/dist/server-multipart/index.d.ts +2 -2
  112. package/dist/server-proxy/index.d.ts +12 -12
  113. package/dist/server-proxy/index.js +10 -10
  114. package/dist/server-proxy/index.js.map +1 -1
  115. package/dist/server-rate-limit/index.d.ts +22 -22
  116. package/dist/server-rate-limit/index.js +12 -12
  117. package/dist/server-rate-limit/index.js.map +1 -1
  118. package/dist/server-security/index.d.ts +24 -24
  119. package/dist/server-security/index.js +15 -15
  120. package/dist/server-security/index.js.map +1 -1
  121. package/dist/server-static/index.d.ts +14 -14
  122. package/dist/server-static/index.js +8 -8
  123. package/dist/server-static/index.js.map +1 -1
  124. package/dist/server-swagger/index.d.ts +25 -184
  125. package/dist/server-swagger/index.js +21 -724
  126. package/dist/server-swagger/index.js.map +1 -1
  127. package/dist/sms/index.d.ts +14 -14
  128. package/dist/sms/index.js +9 -9
  129. package/dist/sms/index.js.map +1 -1
  130. package/dist/thread/index.d.ts +11 -11
  131. package/dist/thread/index.js +17 -17
  132. package/dist/thread/index.js.map +1 -1
  133. package/dist/topic/index.d.ts +26 -26
  134. package/dist/topic/index.js +16 -16
  135. package/dist/topic/index.js.map +1 -1
  136. package/dist/topic-redis/index.d.ts +1 -1
  137. package/dist/vite/index.d.ts +3 -3
  138. package/dist/vite/index.js +12 -13
  139. package/dist/vite/index.js.map +1 -1
  140. package/dist/websocket/index.browser.js +11 -11
  141. package/dist/websocket/index.browser.js.map +1 -1
  142. package/dist/websocket/index.d.ts +51 -51
  143. package/dist/websocket/index.js +13 -13
  144. package/dist/websocket/index.js.map +1 -1
  145. package/package.json +62 -52
  146. package/src/api-files/services/FileService.ts +5 -7
  147. package/src/api-jobs/index.ts +1 -1
  148. package/src/api-jobs/{descriptors → primitives}/$job.ts +8 -8
  149. package/src/api-jobs/providers/JobProvider.ts +9 -9
  150. package/src/api-jobs/services/JobService.ts +5 -5
  151. package/src/api-notifications/index.ts +5 -15
  152. package/src/api-notifications/{descriptors → primitives}/$notification.ts +10 -10
  153. package/src/api-notifications/services/NotificationSenderService.ts +3 -3
  154. package/src/api-parameters/index.ts +1 -1
  155. package/src/api-parameters/{descriptors → primitives}/$config.ts +7 -12
  156. package/src/api-users/index.ts +1 -1
  157. package/src/api-users/{descriptors → primitives}/$userRealm.ts +8 -8
  158. package/src/api-users/providers/UserRealmProvider.ts +1 -1
  159. package/src/batch/index.ts +3 -3
  160. package/src/batch/{descriptors → primitives}/$batch.ts +13 -16
  161. package/src/bucket/index.ts +8 -8
  162. package/src/bucket/{descriptors → primitives}/$bucket.ts +8 -8
  163. package/src/bucket/providers/LocalFileStorageProvider.ts +3 -3
  164. package/src/cache/index.ts +4 -4
  165. package/src/cache/{descriptors → primitives}/$cache.ts +15 -15
  166. package/src/cli/apps/AlephaPackageBuilderCli.ts +30 -3
  167. package/src/cli/assets/appRouterTs.ts +9 -0
  168. package/src/cli/assets/indexHtml.ts +2 -1
  169. package/src/cli/assets/mainBrowserTs.ts +10 -0
  170. package/src/cli/commands/CoreCommands.ts +6 -5
  171. package/src/cli/commands/DrizzleCommands.ts +69 -61
  172. package/src/cli/commands/VerifyCommands.ts +2 -2
  173. package/src/cli/commands/ViteCommands.ts +6 -1
  174. package/src/cli/services/ProjectUtils.ts +78 -41
  175. package/src/command/index.ts +5 -5
  176. package/src/command/{descriptors → primitives}/$command.ts +9 -12
  177. package/src/command/providers/CliProvider.ts +10 -10
  178. package/src/core/Alepha.ts +30 -33
  179. package/src/core/constants/KIND.ts +1 -1
  180. package/src/core/constants/OPTIONS.ts +1 -1
  181. package/src/core/helpers/{descriptor.ts → primitive.ts} +18 -18
  182. package/src/core/helpers/ref.ts +1 -1
  183. package/src/core/index.shared.ts +8 -8
  184. package/src/core/{descriptors → primitives}/$context.ts +5 -5
  185. package/src/core/{descriptors → primitives}/$hook.ts +4 -4
  186. package/src/core/{descriptors → primitives}/$inject.ts +2 -2
  187. package/src/core/{descriptors → primitives}/$module.ts +9 -9
  188. package/src/core/{descriptors → primitives}/$use.ts +2 -2
  189. package/src/core/providers/CodecManager.ts +1 -1
  190. package/src/core/providers/JsonSchemaCodec.ts +1 -1
  191. package/src/core/providers/StateManager.ts +2 -2
  192. package/src/datetime/index.ts +3 -3
  193. package/src/datetime/{descriptors → primitives}/$interval.ts +6 -6
  194. package/src/email/index.ts +4 -4
  195. package/src/email/{descriptors → primitives}/$email.ts +8 -8
  196. package/src/file/index.ts +1 -1
  197. package/src/lock/index.ts +3 -3
  198. package/src/lock/{descriptors → primitives}/$lock.ts +10 -10
  199. package/src/logger/index.ts +8 -8
  200. package/src/logger/{descriptors → primitives}/$logger.ts +2 -2
  201. package/src/logger/services/Logger.ts +1 -1
  202. package/src/orm/constants/PG_SYMBOLS.ts +2 -2
  203. package/src/orm/index.browser.ts +2 -2
  204. package/src/orm/index.ts +8 -8
  205. package/src/orm/{descriptors → primitives}/$entity.ts +11 -11
  206. package/src/orm/{descriptors → primitives}/$repository.ts +2 -2
  207. package/src/orm/{descriptors → primitives}/$sequence.ts +8 -8
  208. package/src/orm/{descriptors → primitives}/$transaction.ts +4 -4
  209. package/src/orm/providers/DrizzleKitProvider.ts +1 -1
  210. package/src/orm/providers/PostgresTypeProvider.ts +3 -3
  211. package/src/orm/providers/RepositoryProvider.ts +4 -4
  212. package/src/orm/providers/drivers/DatabaseProvider.ts +7 -7
  213. package/src/orm/services/ModelBuilder.ts +9 -9
  214. package/src/orm/services/PgRelationManager.ts +2 -2
  215. package/src/orm/services/PostgresModelBuilder.ts +5 -5
  216. package/src/orm/services/Repository.ts +7 -7
  217. package/src/orm/services/SqliteModelBuilder.ts +5 -5
  218. package/src/queue/index.ts +7 -7
  219. package/src/queue/{descriptors → primitives}/$consumer.ts +15 -15
  220. package/src/queue/{descriptors → primitives}/$queue.ts +12 -12
  221. package/src/queue/providers/WorkerProvider.ts +7 -7
  222. package/src/retry/index.ts +3 -3
  223. package/src/retry/{descriptors → primitives}/$retry.ts +19 -17
  224. package/src/scheduler/index.ts +3 -3
  225. package/src/scheduler/{descriptors → primitives}/$scheduler.ts +9 -9
  226. package/src/scheduler/providers/CronProvider.ts +1 -1
  227. package/src/security/index.ts +9 -9
  228. package/src/security/{descriptors → primitives}/$permission.ts +7 -7
  229. package/src/security/{descriptors → primitives}/$realm.ts +6 -12
  230. package/src/security/{descriptors → primitives}/$role.ts +12 -12
  231. package/src/security/{descriptors → primitives}/$serviceAccount.ts +8 -8
  232. package/src/server/index.browser.ts +1 -1
  233. package/src/server/index.ts +14 -14
  234. package/src/server/{descriptors → primitives}/$action.ts +13 -13
  235. package/src/server/{descriptors → primitives}/$route.ts +9 -9
  236. package/src/server/providers/NodeHttpServerProvider.ts +2 -2
  237. package/src/server/services/HttpClient.ts +1 -1
  238. package/src/server-auth/index.browser.ts +1 -1
  239. package/src/server-auth/index.ts +6 -6
  240. package/src/server-auth/{descriptors → primitives}/$auth.ts +10 -10
  241. package/src/server-auth/{descriptors → primitives}/$authCredentials.ts +4 -4
  242. package/src/server-auth/{descriptors → primitives}/$authGithub.ts +4 -4
  243. package/src/server-auth/{descriptors → primitives}/$authGoogle.ts +4 -4
  244. package/src/server-auth/providers/ServerAuthProvider.ts +4 -4
  245. package/src/server-cache/providers/ServerCacheProvider.ts +7 -7
  246. package/src/server-compress/providers/ServerCompressProvider.ts +3 -3
  247. package/src/server-cookies/index.browser.ts +2 -2
  248. package/src/server-cookies/index.ts +5 -5
  249. package/src/server-cookies/{descriptors → primitives}/$cookie.browser.ts +12 -12
  250. package/src/server-cookies/{descriptors → primitives}/$cookie.ts +13 -13
  251. package/src/server-cookies/providers/ServerCookiesProvider.ts +4 -4
  252. package/src/server-cookies/services/CookieParser.ts +1 -1
  253. package/src/server-cors/index.ts +3 -3
  254. package/src/server-cors/{descriptors → primitives}/$cors.ts +11 -13
  255. package/src/server-cors/providers/ServerCorsProvider.ts +5 -5
  256. package/src/server-links/index.browser.ts +5 -5
  257. package/src/server-links/index.ts +9 -9
  258. package/src/server-links/{descriptors → primitives}/$remote.ts +11 -11
  259. package/src/server-links/providers/LinkProvider.ts +7 -7
  260. package/src/server-links/providers/{RemoteDescriptorProvider.ts → RemotePrimitiveProvider.ts} +6 -6
  261. package/src/server-links/providers/ServerLinksProvider.ts +3 -3
  262. package/src/server-proxy/index.ts +3 -3
  263. package/src/server-proxy/{descriptors → primitives}/$proxy.ts +8 -8
  264. package/src/server-proxy/providers/ServerProxyProvider.ts +4 -4
  265. package/src/server-rate-limit/index.ts +6 -6
  266. package/src/server-rate-limit/{descriptors → primitives}/$rateLimit.ts +13 -13
  267. package/src/server-rate-limit/providers/ServerRateLimitProvider.ts +5 -5
  268. package/src/server-security/index.ts +3 -3
  269. package/src/server-security/{descriptors → primitives}/$basicAuth.ts +13 -13
  270. package/src/server-security/providers/ServerBasicAuthProvider.ts +5 -5
  271. package/src/server-security/providers/ServerSecurityProvider.ts +4 -4
  272. package/src/server-static/index.ts +3 -3
  273. package/src/server-static/{descriptors → primitives}/$serve.ts +8 -10
  274. package/src/server-static/providers/ServerStaticProvider.ts +6 -6
  275. package/src/server-swagger/index.ts +5 -5
  276. package/src/server-swagger/{descriptors → primitives}/$swagger.ts +9 -9
  277. package/src/server-swagger/providers/ServerSwaggerProvider.ts +11 -10
  278. package/src/sms/index.ts +4 -4
  279. package/src/sms/{descriptors → primitives}/$sms.ts +8 -8
  280. package/src/thread/index.ts +3 -3
  281. package/src/thread/{descriptors → primitives}/$thread.ts +13 -13
  282. package/src/thread/providers/ThreadProvider.ts +7 -9
  283. package/src/topic/index.ts +5 -5
  284. package/src/topic/{descriptors → primitives}/$subscriber.ts +14 -14
  285. package/src/topic/{descriptors → primitives}/$topic.ts +10 -10
  286. package/src/topic/providers/TopicProvider.ts +4 -4
  287. package/src/vite/helpers/boot.ts +3 -3
  288. package/src/vite/tasks/copyAssets.ts +1 -1
  289. package/src/vite/tasks/generateSitemap.ts +3 -3
  290. package/src/vite/tasks/prerenderPages.ts +2 -2
  291. package/src/vite/tasks/runAlepha.ts +2 -2
  292. package/src/websocket/index.browser.ts +3 -3
  293. package/src/websocket/index.shared.ts +2 -2
  294. package/src/websocket/index.ts +4 -4
  295. package/src/websocket/interfaces/WebSocketInterfaces.ts +3 -3
  296. package/src/websocket/{descriptors → primitives}/$channel.ts +10 -10
  297. package/src/websocket/{descriptors → primitives}/$websocket.ts +8 -8
  298. package/src/websocket/providers/NodeWebSocketServerProvider.ts +7 -7
  299. package/src/websocket/providers/WebSocketServerProvider.ts +3 -3
  300. package/src/websocket/services/WebSocketClient.ts +5 -5
  301. package/dist/api-files/index.cjs +0 -1293
  302. package/dist/api-files/index.cjs.map +0 -1
  303. package/dist/api-files/index.d.cts +0 -829
  304. package/dist/api-jobs/index.cjs +0 -274
  305. package/dist/api-jobs/index.cjs.map +0 -1
  306. package/dist/api-jobs/index.d.cts +0 -654
  307. package/dist/api-notifications/index.cjs +0 -380
  308. package/dist/api-notifications/index.cjs.map +0 -1
  309. package/dist/api-notifications/index.d.cts +0 -289
  310. package/dist/api-parameters/index.cjs +0 -66
  311. package/dist/api-parameters/index.cjs.map +0 -1
  312. package/dist/api-parameters/index.d.cts +0 -84
  313. package/dist/api-users/index.cjs +0 -6009
  314. package/dist/api-users/index.cjs.map +0 -1
  315. package/dist/api-users/index.d.cts +0 -4740
  316. package/dist/api-verifications/index.cjs +0 -407
  317. package/dist/api-verifications/index.cjs.map +0 -1
  318. package/dist/api-verifications/index.d.cts +0 -207
  319. package/dist/batch/index.cjs +0 -408
  320. package/dist/batch/index.cjs.map +0 -1
  321. package/dist/batch/index.d.cts +0 -330
  322. package/dist/bin/index.cjs +0 -17
  323. package/dist/bin/index.cjs.map +0 -1
  324. package/dist/bin/index.d.cts +0 -1
  325. package/dist/bucket/index.cjs +0 -303
  326. package/dist/bucket/index.cjs.map +0 -1
  327. package/dist/bucket/index.d.cts +0 -355
  328. package/dist/cache/index.cjs +0 -241
  329. package/dist/cache/index.cjs.map +0 -1
  330. package/dist/cache/index.d.cts +0 -202
  331. package/dist/cache-redis/index.cjs +0 -84
  332. package/dist/cache-redis/index.cjs.map +0 -1
  333. package/dist/cache-redis/index.d.cts +0 -40
  334. package/dist/cli/chunk-DSlc6foC.cjs +0 -43
  335. package/dist/cli/dist-BBPjuQ56.js +0 -2778
  336. package/dist/cli/dist-Sz2EXvQX.cjs.map +0 -1
  337. package/dist/cli/index.cjs +0 -1241
  338. package/dist/cli/index.cjs.map +0 -1
  339. package/dist/cli/index.d.cts +0 -422
  340. package/dist/command/index.cjs +0 -693
  341. package/dist/command/index.cjs.map +0 -1
  342. package/dist/command/index.d.cts +0 -340
  343. package/dist/core/index.cjs.map +0 -1
  344. package/dist/core/index.d.cts +0 -1927
  345. package/dist/datetime/index.cjs +0 -318
  346. package/dist/datetime/index.cjs.map +0 -1
  347. package/dist/datetime/index.d.cts +0 -145
  348. package/dist/email/index.cjs +0 -10874
  349. package/dist/email/index.cjs.map +0 -1
  350. package/dist/email/index.d.cts +0 -186
  351. package/dist/fake/index.cjs +0 -34641
  352. package/dist/fake/index.cjs.map +0 -1
  353. package/dist/fake/index.d.cts +0 -74
  354. package/dist/file/index.cjs +0 -1212
  355. package/dist/file/index.cjs.map +0 -1
  356. package/dist/file/index.d.cts +0 -698
  357. package/dist/lock/index.cjs +0 -226
  358. package/dist/lock/index.cjs.map +0 -1
  359. package/dist/lock/index.d.cts +0 -361
  360. package/dist/lock-redis/index.cjs +0 -113
  361. package/dist/lock-redis/index.cjs.map +0 -1
  362. package/dist/lock-redis/index.d.cts +0 -24
  363. package/dist/logger/index.cjs +0 -521
  364. package/dist/logger/index.cjs.map +0 -1
  365. package/dist/logger/index.d.cts +0 -281
  366. package/dist/orm/index.cjs +0 -2986
  367. package/dist/orm/index.cjs.map +0 -1
  368. package/dist/orm/index.d.cts +0 -2213
  369. package/dist/queue/index.cjs +0 -1044
  370. package/dist/queue/index.cjs.map +0 -1
  371. package/dist/queue/index.d.cts +0 -1265
  372. package/dist/queue-redis/index.cjs +0 -873
  373. package/dist/queue-redis/index.cjs.map +0 -1
  374. package/dist/queue-redis/index.d.cts +0 -82
  375. package/dist/redis/index.cjs +0 -153
  376. package/dist/redis/index.cjs.map +0 -1
  377. package/dist/redis/index.d.cts +0 -82
  378. package/dist/retry/index.cjs +0 -146
  379. package/dist/retry/index.cjs.map +0 -1
  380. package/dist/retry/index.d.cts +0 -172
  381. package/dist/router/index.cjs +0 -111
  382. package/dist/router/index.cjs.map +0 -1
  383. package/dist/router/index.d.cts +0 -46
  384. package/dist/scheduler/index.cjs +0 -576
  385. package/dist/scheduler/index.cjs.map +0 -1
  386. package/dist/scheduler/index.d.cts +0 -145
  387. package/dist/security/index.cjs +0 -2402
  388. package/dist/security/index.cjs.map +0 -1
  389. package/dist/security/index.d.cts +0 -598
  390. package/dist/server/index.cjs +0 -1680
  391. package/dist/server/index.cjs.map +0 -1
  392. package/dist/server/index.d.cts +0 -810
  393. package/dist/server-auth/index.cjs +0 -3146
  394. package/dist/server-auth/index.cjs.map +0 -1
  395. package/dist/server-auth/index.d.cts +0 -1164
  396. package/dist/server-cache/index.cjs +0 -252
  397. package/dist/server-cache/index.cjs.map +0 -1
  398. package/dist/server-cache/index.d.cts +0 -164
  399. package/dist/server-compress/index.cjs +0 -141
  400. package/dist/server-compress/index.cjs.map +0 -1
  401. package/dist/server-compress/index.d.cts +0 -38
  402. package/dist/server-cookies/index.cjs +0 -234
  403. package/dist/server-cookies/index.cjs.map +0 -1
  404. package/dist/server-cookies/index.d.cts +0 -144
  405. package/dist/server-cors/index.cjs +0 -201
  406. package/dist/server-cors/index.cjs.map +0 -1
  407. package/dist/server-cors/index.d.cts +0 -140
  408. package/dist/server-health/index.cjs +0 -62
  409. package/dist/server-health/index.cjs.map +0 -1
  410. package/dist/server-health/index.d.cts +0 -58
  411. package/dist/server-helmet/index.cjs +0 -131
  412. package/dist/server-helmet/index.cjs.map +0 -1
  413. package/dist/server-helmet/index.d.cts +0 -97
  414. package/dist/server-links/index.cjs +0 -992
  415. package/dist/server-links/index.cjs.map +0 -1
  416. package/dist/server-links/index.d.cts +0 -513
  417. package/dist/server-metrics/index.cjs +0 -4535
  418. package/dist/server-metrics/index.cjs.map +0 -1
  419. package/dist/server-metrics/index.d.cts +0 -35
  420. package/dist/server-multipart/index.cjs +0 -237
  421. package/dist/server-multipart/index.cjs.map +0 -1
  422. package/dist/server-multipart/index.d.cts +0 -50
  423. package/dist/server-proxy/index.cjs +0 -186
  424. package/dist/server-proxy/index.cjs.map +0 -1
  425. package/dist/server-proxy/index.d.cts +0 -234
  426. package/dist/server-rate-limit/index.cjs +0 -241
  427. package/dist/server-rate-limit/index.cjs.map +0 -1
  428. package/dist/server-rate-limit/index.d.cts +0 -183
  429. package/dist/server-security/index.cjs +0 -316
  430. package/dist/server-security/index.cjs.map +0 -1
  431. package/dist/server-security/index.d.cts +0 -173
  432. package/dist/server-static/index.cjs +0 -170
  433. package/dist/server-static/index.cjs.map +0 -1
  434. package/dist/server-static/index.d.cts +0 -121
  435. package/dist/server-swagger/index.cjs +0 -1021
  436. package/dist/server-swagger/index.cjs.map +0 -1
  437. package/dist/server-swagger/index.d.cts +0 -382
  438. package/dist/sms/index.cjs +0 -221
  439. package/dist/sms/index.cjs.map +0 -1
  440. package/dist/sms/index.d.cts +0 -130
  441. package/dist/thread/index.cjs +0 -350
  442. package/dist/thread/index.cjs.map +0 -1
  443. package/dist/thread/index.d.cts +0 -260
  444. package/dist/topic/index.cjs +0 -282
  445. package/dist/topic/index.cjs.map +0 -1
  446. package/dist/topic/index.d.cts +0 -523
  447. package/dist/topic-redis/index.cjs +0 -71
  448. package/dist/topic-redis/index.cjs.map +0 -1
  449. package/dist/topic-redis/index.d.cts +0 -42
  450. package/dist/vite/index.cjs +0 -1077
  451. package/dist/vite/index.cjs.map +0 -1
  452. package/dist/vite/index.d.cts +0 -542
  453. package/dist/websocket/index.cjs +0 -1117
  454. package/dist/websocket/index.cjs.map +0 -1
  455. package/dist/websocket/index.d.cts +0 -861
  456. package/src/api-notifications/providers/MemorySmsProvider.ts +0 -20
  457. package/src/api-notifications/providers/SmsProvider.ts +0 -8
  458. /package/src/core/{descriptors → primitives}/$atom.ts +0 -0
  459. /package/src/core/{descriptors → primitives}/$env.ts +0 -0
  460. /package/src/server-auth/{descriptors → primitives}/$authApple.ts +0 -0
  461. /package/src/server-links/{descriptors → primitives}/$client.ts +0 -0
@@ -1,8 +1,8 @@
1
1
  import {
2
- createDescriptor,
3
- Descriptor,
2
+ createPrimitive,
4
3
  type InstantiableClass,
5
4
  KIND,
5
+ Primitive,
6
6
  } from "alepha";
7
7
  import type { EmailSendOptions } from "../providers/EmailProvider.ts";
8
8
  import { EmailProvider } from "../providers/EmailProvider.ts";
@@ -10,12 +10,12 @@ import { MemoryEmailProvider } from "../providers/MemoryEmailProvider.ts";
10
10
 
11
11
  // ---------------------------------------------------------------------------------------------------------------------
12
12
 
13
- export const $email = (options: EmailDescriptorOptions = {}) =>
14
- createDescriptor(EmailDescriptor, options);
13
+ export const $email = (options: EmailPrimitiveOptions = {}) =>
14
+ createPrimitive(EmailPrimitive, options);
15
15
 
16
16
  // ---------------------------------------------------------------------------------------------------------------------
17
17
 
18
- export interface EmailDescriptorOptions {
18
+ export interface EmailPrimitiveOptions {
19
19
  name?: string;
20
20
  provider?: InstantiableClass<EmailProvider> | "memory";
21
21
  }
@@ -23,7 +23,7 @@ export interface EmailDescriptorOptions {
23
23
  // ---------------------------------------------------------------------------------------------------------------------
24
24
 
25
25
  /**
26
- * Email descriptor for sending emails through various providers.
26
+ * Email primitive for sending emails through various providers.
27
27
  *
28
28
  * Usage:
29
29
  * ```typescript
@@ -40,7 +40,7 @@ export interface EmailDescriptorOptions {
40
40
  * }
41
41
  * ```
42
42
  */
43
- export class EmailDescriptor extends Descriptor<EmailDescriptorOptions> {
43
+ export class EmailPrimitive extends Primitive<EmailPrimitiveOptions> {
44
44
  protected readonly provider = this.$provider();
45
45
 
46
46
  public get name() {
@@ -83,4 +83,4 @@ export class EmailDescriptor extends Descriptor<EmailDescriptorOptions> {
83
83
 
84
84
  // ---------------------------------------------------------------------------------------------------------------------
85
85
 
86
- $email[KIND] = EmailDescriptor;
86
+ $email[KIND] = EmailPrimitive;
package/src/file/index.ts CHANGED
@@ -24,7 +24,7 @@ export * from "./services/FileDetector.ts";
24
24
  */
25
25
  export const AlephaFile = $module({
26
26
  name: "alepha.file",
27
- descriptors: [],
27
+ primitives: [],
28
28
  services: [FileDetector, FileSystemProvider, NodeFileSystemProvider],
29
29
  register: (alepha) =>
30
30
  alepha.with({
package/src/lock/index.ts CHANGED
@@ -1,13 +1,13 @@
1
1
  import { $module } from "alepha";
2
2
  import { MemoryTopicProvider } from "alepha/topic";
3
- import { $lock } from "./descriptors/$lock.ts";
3
+ import { $lock } from "./primitives/$lock.ts";
4
4
  import { LockProvider } from "./providers/LockProvider.ts";
5
5
  import { LockTopicProvider } from "./providers/LockTopicProvider.ts";
6
6
  import { MemoryLockProvider } from "./providers/MemoryLockProvider.ts";
7
7
 
8
8
  // ---------------------------------------------------------------------------------------------------------------------
9
9
 
10
- export * from "./descriptors/$lock.ts";
10
+ export * from "./primitives/$lock.ts";
11
11
  export * from "./providers/LockProvider.ts";
12
12
  export * from "./providers/LockTopicProvider.ts";
13
13
  export * from "./providers/MemoryLockProvider.ts";
@@ -25,7 +25,7 @@ export * from "./providers/MemoryLockProvider.ts";
25
25
  */
26
26
  export const AlephaLock = $module({
27
27
  name: "alepha.lock",
28
- descriptors: [$lock],
28
+ primitives: [$lock],
29
29
  services: [LockProvider, MemoryLockProvider, LockTopicProvider],
30
30
  register: (alepha) =>
31
31
  alepha
@@ -2,9 +2,9 @@ import {
2
2
  $env,
3
3
  $inject,
4
4
  type AsyncFn,
5
- createDescriptor,
6
- Descriptor,
5
+ createPrimitive,
7
6
  KIND,
7
+ Primitive,
8
8
  type Static,
9
9
  t,
10
10
  } from "alepha";
@@ -19,7 +19,7 @@ import { LockProvider } from "../providers/LockProvider.ts";
19
19
  import { LockTopicProvider } from "../providers/LockTopicProvider.ts";
20
20
 
21
21
  /**
22
- * Creates a distributed lock descriptor for ensuring single-instance execution across processes.
22
+ * Creates a distributed lock primitive for ensuring single-instance execution across processes.
23
23
  *
24
24
  * Prevents multiple instances of the same operation from running simultaneously, essential for
25
25
  * maintaining data consistency and preventing race conditions in distributed applications.
@@ -68,14 +68,14 @@ import { LockTopicProvider } from "../providers/LockTopicProvider.ts";
68
68
  * ```
69
69
  */
70
70
  export const $lock = <TFunc extends AsyncFn>(
71
- options: LockDescriptorOptions<TFunc>,
72
- ): LockDescriptor<TFunc> => {
73
- return createDescriptor(LockDescriptor<TFunc>, options);
71
+ options: LockPrimitiveOptions<TFunc>,
72
+ ): LockPrimitive<TFunc> => {
73
+ return createPrimitive(LockPrimitive<TFunc>, options);
74
74
  };
75
75
 
76
76
  // ---------------------------------------------------------------------------------------------------------------------
77
77
 
78
- export interface LockDescriptorOptions<TFunc extends AsyncFn> {
78
+ export interface LockPrimitiveOptions<TFunc extends AsyncFn> {
79
79
  /**
80
80
  * The function to execute when the lock is successfully acquired.
81
81
  *
@@ -295,8 +295,8 @@ declare module "alepha" {
295
295
  interface Env extends Partial<Static<typeof envSchema>> {}
296
296
  }
297
297
 
298
- export class LockDescriptor<TFunc extends AsyncFn> extends Descriptor<
299
- LockDescriptorOptions<TFunc>
298
+ export class LockPrimitive<TFunc extends AsyncFn> extends Primitive<
299
+ LockPrimitiveOptions<TFunc>
300
300
  > {
301
301
  protected readonly log = $logger();
302
302
  protected readonly provider = $inject(LockProvider);
@@ -439,7 +439,7 @@ export class LockDescriptor<TFunc extends AsyncFn> extends Descriptor<
439
439
  }
440
440
  }
441
441
 
442
- $lock[KIND] = LockDescriptor;
442
+ $lock[KIND] = LockPrimitive;
443
443
 
444
444
  export interface LockResult {
445
445
  id: string;
@@ -1,5 +1,5 @@
1
1
  import { $module, type Static, t } from "alepha";
2
- import { $logger } from "./descriptors/$logger.ts";
2
+ import { $logger } from "./primitives/$logger.ts";
3
3
  import { ConsoleDestinationProvider } from "./providers/ConsoleDestinationProvider.ts";
4
4
  import { JsonFormatterProvider } from "./providers/JsonFormatterProvider.ts";
5
5
  import { LogDestinationProvider } from "./providers/LogDestinationProvider.ts";
@@ -12,7 +12,7 @@ import { Logger } from "./services/Logger.ts";
12
12
 
13
13
  // ---------------------------------------------------------------------------------------------------------------------
14
14
 
15
- export * from "./descriptors/$logger.ts";
15
+ export * from "./primitives/$logger.ts";
16
16
  export * from "./providers/ConsoleColorProvider.ts";
17
17
  export * from "./providers/ConsoleDestinationProvider.ts";
18
18
  export * from "./providers/JsonFormatterProvider.ts";
@@ -28,7 +28,7 @@ export * from "./services/Logger.ts";
28
28
  /**
29
29
  * Minimalist logger module for Alepha.
30
30
  *
31
- * It offers a global logger interface (info, warn, ...) via the `$logger` descriptor.
31
+ * It offers a global logger interface (info, warn, ...) via the `$logger` primitive.
32
32
  *
33
33
  * ```ts
34
34
  * import { $logger } from "alepha/logger";
@@ -95,7 +95,7 @@ export * from "./services/Logger.ts";
95
95
  */
96
96
  export const AlephaLogger = $module({
97
97
  name: "alepha.logger",
98
- descriptors: [$logger],
98
+ primitives: [$logger],
99
99
  services: [
100
100
  Logger,
101
101
  ConsoleDestinationProvider,
@@ -121,8 +121,8 @@ export const AlephaLogger = $module({
121
121
  };
122
122
 
123
123
  try {
124
- alepha.state.get("alepha.test.afterEach")?.(printOnError);
125
- alepha.state.get("alepha.test.onTestFinished")?.(printOnError);
124
+ alepha.store.get("alepha.test.afterEach")?.(printOnError);
125
+ alepha.store.get("alepha.test.onTestFinished")?.(printOnError);
126
126
  } catch {
127
127
  // ignore
128
128
  }
@@ -163,7 +163,7 @@ export const AlephaLogger = $module({
163
163
  use: getLogFormatterProvider(),
164
164
  });
165
165
 
166
- alepha.state.set(
166
+ alepha.store.set(
167
167
  "alepha.logger",
168
168
  alepha.inject(Logger, {
169
169
  lifetime: "transient",
@@ -171,7 +171,7 @@ export const AlephaLogger = $module({
171
171
  }),
172
172
  );
173
173
 
174
- alepha.state.set(
174
+ alepha.store.set(
175
175
  "alepha.logger.level",
176
176
  env.LOG_LEVEL ?? (alepha.isTest() ? "trace" : "info"),
177
177
  );
@@ -20,7 +20,7 @@ import { Logger } from "../services/Logger.ts";
20
20
  * }
21
21
  * ```
22
22
  */
23
- export const $logger = (options: LoggerDescriptorOptions = {}): Logger => {
23
+ export const $logger = (options: LoggerPrimitiveOptions = {}): Logger => {
24
24
  const { alepha, service, module } = $context();
25
25
 
26
26
  return $inject(Logger, {
@@ -32,7 +32,7 @@ export const $logger = (options: LoggerDescriptorOptions = {}): Logger => {
32
32
  });
33
33
  };
34
34
 
35
- export interface LoggerDescriptorOptions {
35
+ export interface LoggerPrimitiveOptions {
36
36
  name?: string;
37
37
  }
38
38
 
@@ -43,7 +43,7 @@ export class Logger implements LoggerInterface {
43
43
  }
44
44
 
45
45
  public get level(): string {
46
- const stateLogLevel = this.alepha.state.get("alepha.logger.level");
46
+ const stateLogLevel = this.alepha.store.get("alepha.logger.level");
47
47
  if (stateLogLevel && stateLogLevel !== this.appLogLevel) {
48
48
  this.appLogLevel = stateLogLevel;
49
49
  this.logLevel = this.parseLevel(this.appLogLevel, this.module);
@@ -2,7 +2,7 @@ import type {
2
2
  PgSequenceOptions,
3
3
  UpdateDeleteAction,
4
4
  } from "drizzle-orm/pg-core";
5
- import type { EntityDescriptor } from "../descriptors/$entity.ts";
5
+ import type { EntityPrimitive } from "../primitives/$entity.ts";
6
6
 
7
7
  export const PG_DEFAULT = Symbol.for("Alepha.Postgres.Default");
8
8
  export const PG_PRIMARY_KEY = Symbol.for("Alepha.Postgres.PrimaryKey");
@@ -56,7 +56,7 @@ export interface PgEnumOptions {
56
56
  export interface PgRefOptions {
57
57
  ref: () => {
58
58
  name: string;
59
- entity: EntityDescriptor;
59
+ entity: EntityPrimitive;
60
60
  };
61
61
  actions?: {
62
62
  onUpdate?: UpdateDeleteAction;
@@ -9,13 +9,13 @@ export {
9
9
  pageQuerySchema,
10
10
  pageSchema,
11
11
  } from "alepha";
12
- export * from "./descriptors/$entity.ts";
13
12
  export * from "./errors/DbEntityNotFoundError.ts";
14
13
  export * from "./helpers/parseQueryString.ts";
15
14
  export * from "./helpers/pgAttr.ts";
16
15
  export * from "./interfaces/FilterOperators.ts";
17
16
  export * from "./interfaces/PgQuery.ts";
18
17
  export * from "./interfaces/PgQueryWhere.ts";
18
+ export * from "./primitives/$entity.ts";
19
19
  export * from "./providers/PostgresTypeProvider.ts";
20
20
  export * from "./schemas/legacyIdSchema.ts";
21
21
 
@@ -23,6 +23,6 @@ export * from "./schemas/legacyIdSchema.ts";
23
23
 
24
24
  export const AlephaPostgres = $module({
25
25
  name: "alepha.postgres",
26
- descriptors: [],
26
+ primitives: [],
27
27
  services: [AlephaDateTime],
28
28
  });
package/src/orm/index.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { $module, type Alepha, t } from "alepha";
2
2
  import { AlephaDateTime } from "alepha/datetime";
3
3
  import * as drizzle from "drizzle-orm";
4
- import { $entity } from "./descriptors/$entity.ts";
5
- import { $repository } from "./descriptors/$repository.ts";
6
- import { $sequence } from "./descriptors/$sequence.ts";
4
+ import { $entity } from "./primitives/$entity.ts";
5
+ import { $repository } from "./primitives/$repository.ts";
6
+ import { $sequence } from "./primitives/$sequence.ts";
7
7
  import { DrizzleKitProvider } from "./providers/DrizzleKitProvider.ts";
8
8
  import { DatabaseProvider } from "./providers/drivers/DatabaseProvider.ts";
9
9
  import { NodePostgresProvider } from "./providers/drivers/NodePostgresProvider.ts";
@@ -95,10 +95,6 @@ export {
95
95
  export { sql } from "drizzle-orm";
96
96
  export * from "drizzle-orm/pg-core";
97
97
  export * from "./constants/PG_SYMBOLS.ts";
98
- export * from "./descriptors/$entity.ts";
99
- export * from "./descriptors/$repository.ts";
100
- export * from "./descriptors/$sequence.ts";
101
- export * from "./descriptors/$transaction.ts";
102
98
  export * from "./errors/DbConflictError.ts";
103
99
  export * from "./errors/DbEntityNotFoundError.ts";
104
100
  export * from "./errors/DbError.ts";
@@ -109,6 +105,10 @@ export * from "./helpers/pgAttr.ts";
109
105
  export * from "./interfaces/FilterOperators.ts";
110
106
  export * from "./interfaces/PgQuery.ts";
111
107
  export * from "./interfaces/PgQueryWhere.ts";
108
+ export * from "./primitives/$entity.ts";
109
+ export * from "./primitives/$repository.ts";
110
+ export * from "./primitives/$sequence.ts";
111
+ export * from "./primitives/$transaction.ts";
112
112
  export * from "./providers/DrizzleKitProvider.ts";
113
113
  export * from "./providers/drivers/DatabaseProvider.ts";
114
114
  export * from "./providers/drivers/NodePostgresProvider.ts";
@@ -164,7 +164,7 @@ export * from "./types/schema.ts";
164
164
  */
165
165
  export const AlephaPostgres = $module({
166
166
  name: "alepha.postgres",
167
- descriptors: [$sequence, $entity],
167
+ primitives: [$sequence, $entity],
168
168
  services: [
169
169
  AlephaDateTime,
170
170
  DatabaseProvider,
@@ -9,7 +9,7 @@ import { insertSchema, type TObjectInsert } from "../schemas/insertSchema.ts";
9
9
  import { type TObjectUpdate, updateSchema } from "../schemas/updateSchema.ts";
10
10
 
11
11
  /**
12
- * Creates a database entity descriptor that defines table structure using TypeBox schemas.
12
+ * Creates a database entity primitive that defines table structure using TypeBox schemas.
13
13
  *
14
14
  * @example
15
15
  * ```ts
@@ -27,14 +27,14 @@ import { type TObjectUpdate, updateSchema } from "../schemas/updateSchema.ts";
27
27
  * ```
28
28
  */
29
29
  export const $entity = <TSchema extends TObject>(
30
- options: EntityDescriptorOptions<TSchema>,
31
- ): EntityDescriptor<TSchema> => {
32
- return new EntityDescriptor<TSchema>(options);
30
+ options: EntityPrimitiveOptions<TSchema>,
31
+ ): EntityPrimitive<TSchema> => {
32
+ return new EntityPrimitive<TSchema>(options);
33
33
  };
34
34
 
35
35
  // ---------------------------------------------------------------------------------------------------------------------
36
36
 
37
- export interface EntityDescriptorOptions<
37
+ export interface EntityPrimitiveOptions<
38
38
  T extends TObject,
39
39
  Keys = keyof Static<T>,
40
40
  > {
@@ -163,15 +163,15 @@ export interface EntityDescriptorOptions<
163
163
 
164
164
  // ---------------------------------------------------------------------------------------------------------------------
165
165
 
166
- export class EntityDescriptor<T extends TObject = TObject> {
167
- public readonly options: EntityDescriptorOptions<T>;
166
+ export class EntityPrimitive<T extends TObject = TObject> {
167
+ public readonly options: EntityPrimitiveOptions<T>;
168
168
 
169
- constructor(options: EntityDescriptorOptions<T>) {
169
+ constructor(options: EntityPrimitiveOptions<T>) {
170
170
  this.options = options;
171
171
  }
172
172
 
173
173
  alias(alias: string): this {
174
- const aliased = new EntityDescriptor<T>(this.options);
174
+ const aliased = new EntityPrimitive<T>(this.options);
175
175
  return new Proxy(aliased, {
176
176
  get(target, prop, receiver) {
177
177
  if (prop === "$alias") {
@@ -213,7 +213,7 @@ export class EntityDescriptor<T extends TObject = TObject> {
213
213
  }
214
214
  }
215
215
 
216
- $entity[KIND] = EntityDescriptor;
216
+ $entity[KIND] = EntityPrimitive;
217
217
 
218
218
  // ---------------------------------------------------------------------------------------------------------------------
219
219
 
@@ -235,7 +235,7 @@ export type SchemaToTableConfig<T extends TObject> = {
235
235
 
236
236
  export type EntityColumn<T extends TObject> = {
237
237
  name: string;
238
- entity: EntityDescriptor<T>;
238
+ entity: EntityPrimitive<T>;
239
239
  };
240
240
 
241
241
  export type EntityColumns<T extends TObject> = {
@@ -1,13 +1,13 @@
1
1
  import { $context, $inject, type TObject } from "alepha";
2
2
  import { RepositoryProvider } from "../providers/RepositoryProvider.ts";
3
3
  import type { Repository } from "../services/Repository.ts";
4
- import type { EntityDescriptor } from "./$entity.ts";
4
+ import type { EntityPrimitive } from "./$entity.ts";
5
5
 
6
6
  /**
7
7
  * Get the repository for the given entity.
8
8
  */
9
9
  export const $repository = <T extends TObject>(
10
- entity: EntityDescriptor<T>,
10
+ entity: EntityPrimitive<T>,
11
11
  ): Repository<T> => {
12
12
  const { alepha } = $context();
13
13
  const repositoryProvider = alepha.inject(RepositoryProvider);
@@ -1,20 +1,20 @@
1
- import { createDescriptor, Descriptor, KIND } from "alepha";
1
+ import { createPrimitive, KIND, Primitive } from "alepha";
2
2
  import { sql } from "drizzle-orm";
3
3
  import type { PgSequenceOptions } from "drizzle-orm/pg-core";
4
4
  import { DatabaseProvider } from "../providers/drivers/DatabaseProvider.ts";
5
5
 
6
6
  /**
7
- * Creates a PostgreSQL sequence descriptor for generating unique numeric values.
7
+ * Creates a PostgreSQL sequence primitive for generating unique numeric values.
8
8
  */
9
9
  export const $sequence = (
10
- options: SequenceDescriptorOptions = {},
11
- ): SequenceDescriptor => {
12
- return createDescriptor(SequenceDescriptor, options);
10
+ options: SequencePrimitiveOptions = {},
11
+ ): SequencePrimitive => {
12
+ return createPrimitive(SequencePrimitive, options);
13
13
  };
14
14
 
15
15
  // ---------------------------------------------------------------------------------------------------------------------
16
16
 
17
- export interface SequenceDescriptorOptions extends PgSequenceOptions {
17
+ export interface SequencePrimitiveOptions extends PgSequenceOptions {
18
18
  /**
19
19
  * The name of the sequence. If not provided, the property key will be used.
20
20
  */
@@ -25,7 +25,7 @@ export interface SequenceDescriptorOptions extends PgSequenceOptions {
25
25
 
26
26
  // ---------------------------------------------------------------------------------------------------------------------
27
27
 
28
- export class SequenceDescriptor extends Descriptor<SequenceDescriptorOptions> {
28
+ export class SequencePrimitive extends Primitive<SequencePrimitiveOptions> {
29
29
  public readonly provider = this.$provider();
30
30
 
31
31
  public onInit() {
@@ -57,4 +57,4 @@ export class SequenceDescriptor extends Descriptor<SequenceDescriptorOptions> {
57
57
  }
58
58
  }
59
59
 
60
- $sequence[KIND] = SequenceDescriptor;
60
+ $sequence[KIND] = SequencePrimitive;
@@ -6,9 +6,9 @@ import { DbVersionMismatchError } from "../errors/DbVersionMismatchError.ts";
6
6
  import { DatabaseProvider } from "../providers/drivers/DatabaseProvider.ts";
7
7
 
8
8
  /**
9
- * Creates a transaction descriptor for database operations requiring atomicity and consistency.
9
+ * Creates a transaction primitive for database operations requiring atomicity and consistency.
10
10
  *
11
- * This descriptor provides a convenient way to wrap database operations in PostgreSQL
11
+ * This primitive provides a convenient way to wrap database operations in PostgreSQL
12
12
  * transactions, ensuring ACID properties and automatic retry logic for version conflicts.
13
13
  * It integrates seamlessly with the repository pattern and provides built-in handling
14
14
  * for optimistic locking scenarios with automatic retry on version mismatches.
@@ -21,7 +21,7 @@ import { DatabaseProvider } from "../providers/drivers/DatabaseProvider.ts";
21
21
  * - Use appropriate isolation levels based on your consistency requirements
22
22
  */
23
23
  export const $transaction = <T extends any[], R>(
24
- opts: TransactionDescriptorOptions<T, R>,
24
+ opts: TransactionPrimitiveOptions<T, R>,
25
25
  ) => {
26
26
  const { alepha } = $context();
27
27
  const provider = alepha.inject(DatabaseProvider);
@@ -38,7 +38,7 @@ export const $transaction = <T extends any[], R>(
38
38
 
39
39
  // ---------------------------------------------------------------------------------------------------------------------
40
40
 
41
- export interface TransactionDescriptorOptions<T extends any[], R> {
41
+ export interface TransactionPrimitiveOptions<T extends any[], R> {
42
42
  /**
43
43
  * Transaction handler function that contains all database operations to be executed atomically.
44
44
  *
@@ -297,7 +297,7 @@ export class DrizzleKitProvider {
297
297
  * Try to load the official Drizzle Kit API.
298
298
  * If not available, fallback to the local kit import.
299
299
  */
300
- protected importDrizzleKit(): typeof DrizzleKit {
300
+ public importDrizzleKit(): typeof DrizzleKit {
301
301
  try {
302
302
  return createRequire(import.meta.url)("drizzle-kit/api");
303
303
  } catch (_) {
@@ -159,9 +159,9 @@ export class PostgresTypeProvider {
159
159
  *
160
160
  * This is used to track the version of a row in the database.
161
161
  *
162
- * You can use it for optimistic concurrency control (OCC) with {@link RepositoryDescriptor#save}.
162
+ * You can use it for optimistic concurrency control (OCC) with {@link RepositoryPrimitive#save}.
163
163
  *
164
- * @see {@link RepositoryDescriptor#save}
164
+ * @see {@link RepositoryPrimitive#save}
165
165
  * @see {@link PgVersionMismatchError}
166
166
  */
167
167
  public readonly version = (options: TNumberOptions = {}) =>
@@ -239,7 +239,7 @@ export class PostgresTypeProvider {
239
239
 
240
240
  /**
241
241
  * Creates a page schema for a given object schema.
242
- * It's used by {@link RepositoryDescriptor#paginate} method.
242
+ * It's used by {@link RepositoryPrimitive#paginate} method.
243
243
  */
244
244
  public readonly page = <T extends TObject>(
245
245
  resource: T,
@@ -1,12 +1,12 @@
1
1
  import { $inject, Alepha, type Service, type TObject } from "alepha";
2
- import type { EntityDescriptor } from "../descriptors/$entity.ts";
2
+ import type { EntityPrimitive } from "../primitives/$entity.ts";
3
3
  import { Repository } from "../services/Repository.ts";
4
4
  import type { DatabaseProvider } from "./drivers/DatabaseProvider.ts";
5
5
 
6
6
  export class RepositoryProvider {
7
7
  protected readonly alepha = $inject(Alepha);
8
8
  protected readonly registry = new Map<
9
- EntityDescriptor<any>,
9
+ EntityPrimitive<any>,
10
10
  Service<Repository<any>>
11
11
  >();
12
12
 
@@ -21,14 +21,14 @@ export class RepositoryProvider {
21
21
  }
22
22
 
23
23
  public getRepository<T extends TObject>(
24
- entity: EntityDescriptor<T>,
24
+ entity: EntityPrimitive<T>,
25
25
  ): Repository<T> {
26
26
  const RepositoryClass = this.createClassRepository(entity);
27
27
  return this.alepha.inject(RepositoryClass);
28
28
  }
29
29
 
30
30
  public createClassRepository<T extends TObject>(
31
- entity: EntityDescriptor<T>,
31
+ entity: EntityPrimitive<T>,
32
32
  ): Service<Repository<T>> {
33
33
  let name = entity.name.charAt(0).toUpperCase() + entity.name.slice(1);
34
34
  if (name.endsWith("s")) {
@@ -13,12 +13,12 @@ import {
13
13
  type PgDatabase,
14
14
  type PgTableWithColumns,
15
15
  } from "drizzle-orm/pg-core";
16
+ import { DbError } from "../../errors/DbError.ts";
16
17
  import type {
17
- EntityDescriptor,
18
+ EntityPrimitive,
18
19
  SchemaToTableConfig,
19
- } from "../../descriptors/$entity.ts";
20
- import type { SequenceDescriptor } from "../../descriptors/$sequence.ts";
21
- import { DbError } from "../../errors/DbError.ts";
20
+ } from "../../primitives/$entity.ts";
21
+ import type { SequencePrimitive } from "../../primitives/$sequence.ts";
22
22
  import type { ModelBuilder } from "../../services/ModelBuilder.ts";
23
23
  import type { DrizzleKitProvider } from "../DrizzleKitProvider.ts";
24
24
 
@@ -46,7 +46,7 @@ export abstract class DatabaseProvider {
46
46
  }
47
47
 
48
48
  public table<T extends TObject>(
49
- entity: EntityDescriptor<T>,
49
+ entity: EntityPrimitive<T>,
50
50
  ): PgTableWithColumns<SchemaToTableConfig<T>> {
51
51
  const table = this.tables.get(entity.name);
52
52
  if (!table) {
@@ -65,11 +65,11 @@ export abstract class DatabaseProvider {
65
65
  return table as PgTableWithColumns<SchemaToTableConfig<T>>;
66
66
  }
67
67
 
68
- public registerEntity(entity: EntityDescriptor) {
68
+ public registerEntity(entity: EntityPrimitive) {
69
69
  this.builder.buildTable(entity, this);
70
70
  }
71
71
 
72
- public registerSequence(sequence: SequenceDescriptor) {
72
+ public registerSequence(sequence: SequencePrimitive) {
73
73
  this.builder.buildSequence(sequence, this);
74
74
  }
75
75
 
@@ -1,6 +1,6 @@
1
1
  import type { SQL } from "drizzle-orm";
2
- import type { EntityDescriptor } from "../descriptors/$entity.ts";
3
- import type { SequenceDescriptor } from "../descriptors/$sequence.ts";
2
+ import type { EntityPrimitive } from "../primitives/$entity.ts";
3
+ import type { SequencePrimitive } from "../primitives/$sequence.ts";
4
4
 
5
5
  /**
6
6
  * Database-specific table configuration functions
@@ -24,15 +24,15 @@ export interface TableConfigBuilders<TConfig> {
24
24
  }
25
25
 
26
26
  /**
27
- * Abstract base class for transforming Alepha Descriptors (Entity, Sequence, etc...)
27
+ * Abstract base class for transforming Alepha Primitives (Entity, Sequence, etc...)
28
28
  * into drizzle models (tables, enums, sequences, etc...).
29
29
  */
30
30
  export abstract class ModelBuilder {
31
31
  /**
32
- * Build a table from an entity descriptor.
32
+ * Build a table from an entity primitive.
33
33
  */
34
34
  abstract buildTable(
35
- entity: EntityDescriptor,
35
+ entity: EntityPrimitive,
36
36
  options: {
37
37
  tables: Map<string, unknown>;
38
38
  enums: Map<string, unknown>;
@@ -41,10 +41,10 @@ export abstract class ModelBuilder {
41
41
  ): void;
42
42
 
43
43
  /**
44
- * Build a sequence from a sequence descriptor.
44
+ * Build a sequence from a sequence primitive.
45
45
  */
46
46
  abstract buildSequence(
47
- sequence: SequenceDescriptor,
47
+ sequence: SequencePrimitive,
48
48
  options: {
49
49
  sequences: Map<string, unknown>;
50
50
  schema: string;
@@ -65,13 +65,13 @@ export abstract class ModelBuilder {
65
65
  * Build the table configuration function for any database.
66
66
  * This includes indexes, foreign keys, constraints, and custom config.
67
67
  *
68
- * @param entity - The entity descriptor
68
+ * @param entity - The entity primitive
69
69
  * @param builders - Database-specific builder functions
70
70
  * @param tableResolver - Function to resolve entity references to table columns
71
71
  * @param customConfigHandler - Optional handler for custom config
72
72
  */
73
73
  protected buildTableConfig<TConfig, TSelf>(
74
- entity: EntityDescriptor,
74
+ entity: EntityPrimitive,
75
75
  builders: TableConfigBuilders<TConfig>,
76
76
  tableResolver?: (entityName: string) => any,
77
77
  customConfigHandler?: (config: any, self: TSelf) => TConfig[],
@@ -2,8 +2,8 @@ import { type TObject, TypeBoxValue, t } from "alepha";
2
2
  import { getTableName, type SQL, sql } from "drizzle-orm";
3
3
  import type { PgSelectBase, PgTableWithColumns } from "drizzle-orm/pg-core";
4
4
  import { isSQLWrapper } from "drizzle-orm/sql/sql";
5
- import type { EntityDescriptor } from "../descriptors/$entity.ts";
6
5
  import type { PgRelationMap } from "../interfaces/PgQuery.ts";
6
+ import type { EntityPrimitive } from "../primitives/$entity.ts";
7
7
  import type { DatabaseProvider } from "../providers/drivers/DatabaseProvider.ts";
8
8
  import type { PgJoin } from "./QueryManager.ts";
9
9
 
@@ -20,7 +20,7 @@ export class PgRelationManager {
20
20
  parentKey?: string,
21
21
  ) {
22
22
  for (const [key, join] of Object.entries(withRelations)) {
23
- const from = provider.table(join.join as EntityDescriptor);
23
+ const from = provider.table(join.join as EntityPrimitive);
24
24
  const on = isSQLWrapper(join.on)
25
25
  ? (join.on as SQL)
26
26
  : sql`${table[join.on[0] as string]} = ${from[join.on[1].name]}`;