alepha 0.13.1 → 0.13.3

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 (329) hide show
  1. package/README.md +1 -1
  2. package/dist/api-files/index.browser.js +80 -0
  3. package/dist/api-files/index.browser.js.map +1 -0
  4. package/dist/api-files/index.d.ts +28 -91
  5. package/dist/api-files/index.js +10 -755
  6. package/dist/api-files/index.js.map +1 -1
  7. package/dist/api-jobs/index.browser.js +56 -0
  8. package/dist/api-jobs/index.browser.js.map +1 -0
  9. package/dist/api-jobs/index.d.ts +46 -46
  10. package/dist/api-jobs/index.js +13 -13
  11. package/dist/api-jobs/index.js.map +1 -1
  12. package/dist/api-notifications/index.browser.js +382 -0
  13. package/dist/api-notifications/index.browser.js.map +1 -0
  14. package/dist/api-notifications/index.d.ts +231 -193
  15. package/dist/api-notifications/index.js +108 -78
  16. package/dist/api-notifications/index.js.map +1 -1
  17. package/dist/api-parameters/index.browser.js +29 -0
  18. package/dist/api-parameters/index.browser.js.map +1 -0
  19. package/dist/api-parameters/index.d.ts +21 -22
  20. package/dist/api-parameters/index.js +22 -22
  21. package/dist/api-parameters/index.js.map +1 -1
  22. package/dist/api-users/index.d.ts +237 -2001
  23. package/dist/api-users/index.js +969 -4795
  24. package/dist/api-users/index.js.map +1 -1
  25. package/dist/api-verifications/index.browser.js +52 -0
  26. package/dist/api-verifications/index.browser.js.map +1 -0
  27. package/dist/api-verifications/index.d.ts +119 -97
  28. package/dist/api-verifications/index.js +1 -1
  29. package/dist/api-verifications/index.js.map +1 -1
  30. package/dist/batch/index.d.ts +13 -13
  31. package/dist/batch/index.js +8 -13
  32. package/dist/batch/index.js.map +1 -1
  33. package/dist/bucket/index.d.ts +14 -14
  34. package/dist/bucket/index.js +19 -17
  35. package/dist/bucket/index.js.map +1 -1
  36. package/dist/cache/index.d.ts +11 -11
  37. package/dist/cache/index.js +9 -9
  38. package/dist/cache/index.js.map +1 -1
  39. package/dist/cli/{dist-Dl9Vl7Ur.js → dist-lGnqsKpu.js} +11 -15
  40. package/dist/cli/dist-lGnqsKpu.js.map +1 -0
  41. package/dist/cli/index.d.ts +32 -49
  42. package/dist/cli/index.js +90 -71
  43. package/dist/cli/index.js.map +1 -1
  44. package/dist/command/index.d.ts +20 -19
  45. package/dist/command/index.js +34 -25
  46. package/dist/command/index.js.map +1 -1
  47. package/dist/core/index.browser.js +218 -218
  48. package/dist/core/index.browser.js.map +1 -1
  49. package/dist/core/index.d.ts +232 -232
  50. package/dist/core/index.js +218 -218
  51. package/dist/core/index.js.map +1 -1
  52. package/dist/core/index.native.js +2113 -0
  53. package/dist/core/index.native.js.map +1 -0
  54. package/dist/datetime/index.d.ts +9 -9
  55. package/dist/datetime/index.js +7 -7
  56. package/dist/datetime/index.js.map +1 -1
  57. package/dist/email/index.d.ts +16 -16
  58. package/dist/email/index.js +14 -9
  59. package/dist/email/index.js.map +1 -1
  60. package/dist/file/index.js +1 -1
  61. package/dist/file/index.js.map +1 -1
  62. package/dist/lock/index.d.ts +9 -9
  63. package/dist/lock/index.js +8 -8
  64. package/dist/lock/index.js.map +1 -1
  65. package/dist/lock-redis/index.js +3 -66
  66. package/dist/lock-redis/index.js.map +1 -1
  67. package/dist/logger/index.d.ts +5 -5
  68. package/dist/logger/index.js +8 -8
  69. package/dist/logger/index.js.map +1 -1
  70. package/dist/orm/index.browser.js +114 -114
  71. package/dist/orm/index.browser.js.map +1 -1
  72. package/dist/orm/index.d.ts +218 -218
  73. package/dist/orm/index.js +49 -49
  74. package/dist/orm/index.js.map +1 -1
  75. package/dist/queue/index.d.ts +29 -29
  76. package/dist/queue/index.js +20 -20
  77. package/dist/queue/index.js.map +1 -1
  78. package/dist/queue-redis/index.d.ts +2 -2
  79. package/dist/redis/index.d.ts +4 -4
  80. package/dist/retry/index.d.ts +19 -19
  81. package/dist/retry/index.js +7 -7
  82. package/dist/retry/index.js.map +1 -1
  83. package/dist/scheduler/index.d.ts +16 -16
  84. package/dist/scheduler/index.js +9 -9
  85. package/dist/scheduler/index.js.map +1 -1
  86. package/dist/security/index.d.ts +53 -53
  87. package/dist/security/index.js +35 -35
  88. package/dist/security/index.js.map +1 -1
  89. package/dist/server/index.browser.js +1 -1
  90. package/dist/server/index.browser.js.map +1 -1
  91. package/dist/server/index.d.ts +92 -92
  92. package/dist/server/index.js +16 -16
  93. package/dist/server/index.js.map +1 -1
  94. package/dist/server-auth/index.browser.js +4 -982
  95. package/dist/server-auth/index.browser.js.map +1 -1
  96. package/dist/server-auth/index.d.ts +204 -785
  97. package/dist/server-auth/index.js +47 -1239
  98. package/dist/server-auth/index.js.map +1 -1
  99. package/dist/server-cache/index.d.ts +10 -10
  100. package/dist/server-cache/index.js +2 -2
  101. package/dist/server-cache/index.js.map +1 -1
  102. package/dist/server-compress/index.d.ts +4 -4
  103. package/dist/server-compress/index.js +1 -1
  104. package/dist/server-compress/index.js.map +1 -1
  105. package/dist/server-cookies/index.browser.js +8 -8
  106. package/dist/server-cookies/index.browser.js.map +1 -1
  107. package/dist/server-cookies/index.d.ts +17 -17
  108. package/dist/server-cookies/index.js +11 -11
  109. package/dist/server-cookies/index.js.map +1 -1
  110. package/dist/server-cors/index.d.ts +17 -17
  111. package/dist/server-cors/index.js +9 -9
  112. package/dist/server-cors/index.js.map +1 -1
  113. package/dist/server-health/index.d.ts +19 -19
  114. package/dist/server-helmet/index.d.ts +1 -1
  115. package/dist/server-links/index.browser.js +12 -12
  116. package/dist/server-links/index.browser.js.map +1 -1
  117. package/dist/server-links/index.d.ts +59 -251
  118. package/dist/server-links/index.js +23 -502
  119. package/dist/server-links/index.js.map +1 -1
  120. package/dist/server-metrics/index.d.ts +4 -4
  121. package/dist/server-multipart/index.d.ts +2 -2
  122. package/dist/server-proxy/index.d.ts +12 -12
  123. package/dist/server-proxy/index.js +10 -10
  124. package/dist/server-proxy/index.js.map +1 -1
  125. package/dist/server-rate-limit/index.d.ts +22 -22
  126. package/dist/server-rate-limit/index.js +12 -12
  127. package/dist/server-rate-limit/index.js.map +1 -1
  128. package/dist/server-security/index.d.ts +22 -22
  129. package/dist/server-security/index.js +15 -15
  130. package/dist/server-security/index.js.map +1 -1
  131. package/dist/server-static/index.d.ts +14 -14
  132. package/dist/server-static/index.js +26 -10
  133. package/dist/server-static/index.js.map +1 -1
  134. package/dist/server-swagger/index.d.ts +25 -184
  135. package/dist/server-swagger/index.js +21 -724
  136. package/dist/server-swagger/index.js.map +1 -1
  137. package/dist/sms/index.d.ts +14 -14
  138. package/dist/sms/index.js +9 -9
  139. package/dist/sms/index.js.map +1 -1
  140. package/dist/thread/index.d.ts +11 -11
  141. package/dist/thread/index.js +17 -17
  142. package/dist/thread/index.js.map +1 -1
  143. package/dist/topic/index.d.ts +26 -26
  144. package/dist/topic/index.js +16 -16
  145. package/dist/topic/index.js.map +1 -1
  146. package/dist/topic-redis/index.d.ts +1 -1
  147. package/dist/vite/index.d.ts +3 -3
  148. package/dist/vite/index.js +8 -8
  149. package/dist/vite/index.js.map +1 -1
  150. package/dist/websocket/index.browser.js +11 -11
  151. package/dist/websocket/index.browser.js.map +1 -1
  152. package/dist/websocket/index.d.ts +58 -58
  153. package/dist/websocket/index.js +13 -13
  154. package/dist/websocket/index.js.map +1 -1
  155. package/package.json +128 -57
  156. package/src/api-files/index.browser.ts +17 -0
  157. package/src/api-files/services/FileService.ts +5 -7
  158. package/src/api-jobs/index.browser.ts +15 -0
  159. package/src/api-jobs/index.ts +1 -1
  160. package/src/api-jobs/{descriptors → primitives}/$job.ts +8 -8
  161. package/src/api-jobs/providers/JobProvider.ts +9 -9
  162. package/src/api-jobs/services/JobService.ts +5 -5
  163. package/src/api-notifications/controllers/NotificationController.ts +26 -1
  164. package/src/api-notifications/index.browser.ts +17 -0
  165. package/src/api-notifications/index.ts +6 -15
  166. package/src/api-notifications/{descriptors → primitives}/$notification.ts +10 -10
  167. package/src/api-notifications/schemas/notificationQuerySchema.ts +13 -0
  168. package/src/api-notifications/services/NotificationSenderService.ts +3 -3
  169. package/src/api-notifications/services/NotificationService.ts +45 -2
  170. package/src/api-parameters/index.browser.ts +12 -0
  171. package/src/api-parameters/index.ts +1 -1
  172. package/src/api-parameters/{descriptors → primitives}/$config.ts +7 -12
  173. package/src/api-users/atoms/realmAuthSettingsAtom.ts +3 -1
  174. package/src/api-users/controllers/UserController.ts +21 -1
  175. package/src/api-users/index.ts +1 -1
  176. package/src/api-users/{descriptors → primitives}/$userRealm.ts +40 -17
  177. package/src/api-users/providers/UserRealmProvider.ts +2 -1
  178. package/src/api-users/services/SessionService.ts +2 -0
  179. package/src/api-users/services/UserService.ts +56 -16
  180. package/src/api-verifications/index.browser.ts +15 -0
  181. package/src/api-verifications/index.ts +1 -0
  182. package/src/batch/index.ts +3 -3
  183. package/src/batch/{descriptors → primitives}/$batch.ts +13 -16
  184. package/src/batch/providers/BatchProvider.ts +0 -7
  185. package/src/bucket/index.ts +15 -13
  186. package/src/bucket/{descriptors → primitives}/$bucket.ts +8 -8
  187. package/src/bucket/providers/LocalFileStorageProvider.ts +3 -3
  188. package/src/cache/index.ts +4 -4
  189. package/src/cache/{descriptors → primitives}/$cache.ts +15 -15
  190. package/src/cli/apps/AlephaCli.ts +27 -1
  191. package/src/cli/apps/AlephaPackageBuilderCli.ts +27 -2
  192. package/src/cli/commands/CoreCommands.ts +6 -2
  193. package/src/cli/commands/DrizzleCommands.ts +6 -6
  194. package/src/cli/commands/VerifyCommands.ts +1 -1
  195. package/src/cli/commands/ViteCommands.ts +8 -2
  196. package/src/cli/services/ProjectUtils.ts +74 -78
  197. package/src/command/helpers/Asker.ts +10 -0
  198. package/src/command/index.ts +5 -5
  199. package/src/command/{descriptors → primitives}/$command.ts +9 -12
  200. package/src/command/providers/CliProvider.ts +10 -10
  201. package/src/core/Alepha.ts +30 -33
  202. package/src/core/constants/KIND.ts +1 -1
  203. package/src/core/constants/OPTIONS.ts +1 -1
  204. package/src/core/helpers/{descriptor.ts → primitive.ts} +18 -18
  205. package/src/core/helpers/ref.ts +1 -1
  206. package/src/core/index.shared.ts +8 -8
  207. package/src/core/{descriptors → primitives}/$context.ts +5 -5
  208. package/src/core/{descriptors → primitives}/$hook.ts +4 -4
  209. package/src/core/{descriptors → primitives}/$inject.ts +2 -2
  210. package/src/core/{descriptors → primitives}/$module.ts +9 -9
  211. package/src/core/{descriptors → primitives}/$use.ts +2 -2
  212. package/src/core/providers/CodecManager.ts +1 -1
  213. package/src/core/providers/JsonSchemaCodec.ts +1 -1
  214. package/src/core/providers/StateManager.ts +2 -2
  215. package/src/datetime/index.ts +3 -3
  216. package/src/datetime/{descriptors → primitives}/$interval.ts +6 -6
  217. package/src/email/index.ts +17 -9
  218. package/src/email/{descriptors → primitives}/$email.ts +8 -8
  219. package/src/file/index.ts +1 -1
  220. package/src/lock/index.ts +3 -3
  221. package/src/lock/{descriptors → primitives}/$lock.ts +10 -10
  222. package/src/logger/index.ts +8 -8
  223. package/src/logger/{descriptors → primitives}/$logger.ts +2 -2
  224. package/src/logger/services/Logger.ts +1 -1
  225. package/src/orm/constants/PG_SYMBOLS.ts +2 -2
  226. package/src/orm/index.browser.ts +2 -2
  227. package/src/orm/index.ts +8 -8
  228. package/src/orm/{descriptors → primitives}/$entity.ts +11 -11
  229. package/src/orm/{descriptors → primitives}/$repository.ts +2 -2
  230. package/src/orm/{descriptors → primitives}/$sequence.ts +8 -8
  231. package/src/orm/{descriptors → primitives}/$transaction.ts +4 -4
  232. package/src/orm/providers/PostgresTypeProvider.ts +3 -3
  233. package/src/orm/providers/RepositoryProvider.ts +4 -4
  234. package/src/orm/providers/drivers/DatabaseProvider.ts +7 -7
  235. package/src/orm/providers/drivers/NodeSqliteProvider.ts +3 -3
  236. package/src/orm/services/ModelBuilder.ts +9 -9
  237. package/src/orm/services/PgRelationManager.ts +2 -2
  238. package/src/orm/services/PostgresModelBuilder.ts +5 -5
  239. package/src/orm/services/Repository.ts +7 -7
  240. package/src/orm/services/SqliteModelBuilder.ts +5 -5
  241. package/src/queue/index.ts +7 -7
  242. package/src/queue/{descriptors → primitives}/$consumer.ts +15 -15
  243. package/src/queue/{descriptors → primitives}/$queue.ts +12 -12
  244. package/src/queue/providers/WorkerProvider.ts +7 -7
  245. package/src/retry/index.ts +3 -3
  246. package/src/retry/{descriptors → primitives}/$retry.ts +14 -14
  247. package/src/scheduler/index.ts +3 -3
  248. package/src/scheduler/{descriptors → primitives}/$scheduler.ts +9 -9
  249. package/src/scheduler/providers/CronProvider.ts +1 -1
  250. package/src/security/index.ts +9 -9
  251. package/src/security/{descriptors → primitives}/$permission.ts +7 -7
  252. package/src/security/{descriptors → primitives}/$realm.ts +6 -12
  253. package/src/security/{descriptors → primitives}/$role.ts +12 -12
  254. package/src/security/{descriptors → primitives}/$serviceAccount.ts +8 -8
  255. package/src/server/index.browser.ts +1 -1
  256. package/src/server/index.ts +14 -14
  257. package/src/server/{descriptors → primitives}/$action.ts +13 -13
  258. package/src/server/{descriptors → primitives}/$route.ts +9 -9
  259. package/src/server/providers/NodeHttpServerProvider.ts +1 -1
  260. package/src/server/services/HttpClient.ts +1 -1
  261. package/src/server-auth/index.browser.ts +1 -1
  262. package/src/server-auth/index.ts +6 -6
  263. package/src/server-auth/{descriptors → primitives}/$auth.ts +10 -10
  264. package/src/server-auth/{descriptors → primitives}/$authCredentials.ts +4 -4
  265. package/src/server-auth/{descriptors → primitives}/$authGithub.ts +4 -4
  266. package/src/server-auth/{descriptors → primitives}/$authGoogle.ts +4 -4
  267. package/src/server-auth/providers/ServerAuthProvider.ts +4 -4
  268. package/src/server-cache/providers/ServerCacheProvider.ts +7 -7
  269. package/src/server-compress/providers/ServerCompressProvider.ts +3 -3
  270. package/src/server-cookies/index.browser.ts +2 -2
  271. package/src/server-cookies/index.ts +5 -5
  272. package/src/server-cookies/{descriptors → primitives}/$cookie.browser.ts +12 -12
  273. package/src/server-cookies/{descriptors → primitives}/$cookie.ts +13 -13
  274. package/src/server-cookies/providers/ServerCookiesProvider.ts +6 -5
  275. package/src/server-cookies/services/CookieParser.ts +1 -1
  276. package/src/server-cors/index.ts +3 -3
  277. package/src/server-cors/{descriptors → primitives}/$cors.ts +11 -13
  278. package/src/server-cors/providers/ServerCorsProvider.ts +5 -5
  279. package/src/server-links/index.browser.ts +5 -5
  280. package/src/server-links/index.ts +9 -9
  281. package/src/server-links/{descriptors → primitives}/$remote.ts +11 -11
  282. package/src/server-links/providers/LinkProvider.ts +7 -7
  283. package/src/server-links/providers/{RemoteDescriptorProvider.ts → RemotePrimitiveProvider.ts} +6 -6
  284. package/src/server-links/providers/ServerLinksProvider.ts +3 -3
  285. package/src/server-proxy/index.ts +3 -3
  286. package/src/server-proxy/{descriptors → primitives}/$proxy.ts +8 -8
  287. package/src/server-proxy/providers/ServerProxyProvider.ts +4 -4
  288. package/src/server-rate-limit/index.ts +6 -6
  289. package/src/server-rate-limit/{descriptors → primitives}/$rateLimit.ts +13 -13
  290. package/src/server-rate-limit/providers/ServerRateLimitProvider.ts +5 -5
  291. package/src/server-security/index.ts +3 -3
  292. package/src/server-security/{descriptors → primitives}/$basicAuth.ts +13 -13
  293. package/src/server-security/providers/ServerBasicAuthProvider.ts +5 -5
  294. package/src/server-security/providers/ServerSecurityProvider.ts +4 -4
  295. package/src/server-static/index.ts +3 -3
  296. package/src/server-static/{descriptors → primitives}/$serve.ts +8 -10
  297. package/src/server-static/providers/ServerStaticProvider.ts +24 -9
  298. package/src/server-swagger/index.ts +5 -5
  299. package/src/server-swagger/{descriptors → primitives}/$swagger.ts +9 -9
  300. package/src/server-swagger/providers/ServerSwaggerProvider.ts +11 -10
  301. package/src/sms/index.ts +4 -4
  302. package/src/sms/{descriptors → primitives}/$sms.ts +8 -8
  303. package/src/thread/index.ts +3 -3
  304. package/src/thread/{descriptors → primitives}/$thread.ts +13 -13
  305. package/src/thread/providers/ThreadProvider.ts +7 -9
  306. package/src/topic/index.ts +5 -5
  307. package/src/topic/{descriptors → primitives}/$subscriber.ts +14 -14
  308. package/src/topic/{descriptors → primitives}/$topic.ts +10 -10
  309. package/src/topic/providers/TopicProvider.ts +4 -4
  310. package/src/vite/tasks/copyAssets.ts +1 -1
  311. package/src/vite/tasks/generateSitemap.ts +3 -3
  312. package/src/vite/tasks/prerenderPages.ts +2 -2
  313. package/src/vite/tasks/runAlepha.ts +2 -2
  314. package/src/websocket/index.browser.ts +3 -3
  315. package/src/websocket/index.shared.ts +2 -2
  316. package/src/websocket/index.ts +4 -4
  317. package/src/websocket/interfaces/WebSocketInterfaces.ts +3 -3
  318. package/src/websocket/{descriptors → primitives}/$channel.ts +10 -10
  319. package/src/websocket/{descriptors → primitives}/$websocket.ts +8 -8
  320. package/src/websocket/providers/NodeWebSocketServerProvider.ts +7 -7
  321. package/src/websocket/providers/WebSocketServerProvider.ts +3 -3
  322. package/src/websocket/services/WebSocketClient.ts +5 -5
  323. package/dist/cli/dist-Dl9Vl7Ur.js.map +0 -1
  324. package/src/api-notifications/providers/MemorySmsProvider.ts +0 -20
  325. package/src/api-notifications/providers/SmsProvider.ts +0 -8
  326. /package/src/core/{descriptors → primitives}/$atom.ts +0 -0
  327. /package/src/core/{descriptors → primitives}/$env.ts +0 -0
  328. /package/src/server-auth/{descriptors → primitives}/$authApple.ts +0 -0
  329. /package/src/server-links/{descriptors → primitives}/$client.ts +0 -0
package/dist/orm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { createRequire } from "node:module";
2
- import { $atom, $context, $env, $hook, $inject, $module, $use, Alepha, AlephaError, Descriptor, KIND, TypeBoxValue, createDescriptor, createPagination, pageQuerySchema, pageSchema, pageSchema as pageSchema$1, t } from "alepha";
2
+ import { $atom, $context, $env, $hook, $inject, $module, $use, Alepha, AlephaError, KIND, Primitive, TypeBoxValue, createPagination, createPrimitive, pageQuerySchema, pageSchema, pageSchema as pageSchema$1, t } from "alepha";
3
3
  import { AlephaDateTime, DateTimeProvider } from "alepha/datetime";
4
4
  import * as drizzle from "drizzle-orm";
5
5
  import { and, arrayContained, arrayContains, arrayOverlaps, asc, between, desc, eq, getTableName, gt, gte, ilike, inArray, isNotNull, isNull, isSQLWrapper, like, lt, lte, ne, not, notBetween, notIlike, notInArray, notLike, or, sql, sql as sql$1 } from "drizzle-orm";
@@ -73,9 +73,9 @@ const updateSchema = (schema$1) => {
73
73
  };
74
74
 
75
75
  //#endregion
76
- //#region src/orm/descriptors/$entity.ts
76
+ //#region src/orm/primitives/$entity.ts
77
77
  /**
78
- * Creates a database entity descriptor that defines table structure using TypeBox schemas.
78
+ * Creates a database entity primitive that defines table structure using TypeBox schemas.
79
79
  *
80
80
  * @example
81
81
  * ```ts
@@ -93,15 +93,15 @@ const updateSchema = (schema$1) => {
93
93
  * ```
94
94
  */
95
95
  const $entity = (options) => {
96
- return new EntityDescriptor(options);
96
+ return new EntityPrimitive(options);
97
97
  };
98
- var EntityDescriptor = class EntityDescriptor {
98
+ var EntityPrimitive = class EntityPrimitive {
99
99
  options;
100
100
  constructor(options) {
101
101
  this.options = options;
102
102
  }
103
103
  alias(alias$1) {
104
- const aliased = new EntityDescriptor(this.options);
104
+ const aliased = new EntityPrimitive(this.options);
105
105
  return new Proxy(aliased, { get(target, prop, receiver) {
106
106
  if (prop === "$alias") return alias$1;
107
107
  return Reflect.get(target, prop, receiver);
@@ -128,7 +128,7 @@ var EntityDescriptor = class EntityDescriptor {
128
128
  return updateSchema(this.options.schema);
129
129
  }
130
130
  };
131
- $entity[KIND] = EntityDescriptor;
131
+ $entity[KIND] = EntityPrimitive;
132
132
 
133
133
  //#endregion
134
134
  //#region src/orm/errors/DbError.ts
@@ -1462,7 +1462,7 @@ var RepositoryProvider = class {
1462
1462
  };
1463
1463
 
1464
1464
  //#endregion
1465
- //#region src/orm/descriptors/$repository.ts
1465
+ //#region src/orm/primitives/$repository.ts
1466
1466
  /**
1467
1467
  * Get the repository for the given entity.
1468
1468
  */
@@ -1472,14 +1472,14 @@ const $repository = (entity) => {
1472
1472
  };
1473
1473
 
1474
1474
  //#endregion
1475
- //#region src/orm/descriptors/$sequence.ts
1475
+ //#region src/orm/primitives/$sequence.ts
1476
1476
  /**
1477
- * Creates a PostgreSQL sequence descriptor for generating unique numeric values.
1477
+ * Creates a PostgreSQL sequence primitive for generating unique numeric values.
1478
1478
  */
1479
1479
  const $sequence = (options = {}) => {
1480
- return createDescriptor(SequenceDescriptor, options);
1480
+ return createPrimitive(SequencePrimitive, options);
1481
1481
  };
1482
- var SequenceDescriptor = class extends Descriptor {
1482
+ var SequencePrimitive = class extends Primitive {
1483
1483
  provider = this.$provider();
1484
1484
  onInit() {
1485
1485
  this.provider.registerSequence(this);
@@ -1497,7 +1497,7 @@ var SequenceDescriptor = class extends Descriptor {
1497
1497
  return this.options.provider ?? this.alepha.inject(DatabaseProvider);
1498
1498
  }
1499
1499
  };
1500
- $sequence[KIND] = SequenceDescriptor;
1500
+ $sequence[KIND] = SequencePrimitive;
1501
1501
 
1502
1502
  //#endregion
1503
1503
  //#region src/orm/providers/DrizzleKitProvider.ts
@@ -1701,7 +1701,7 @@ const byte = customType({ dataType: () => "bytea" });
1701
1701
  //#endregion
1702
1702
  //#region src/orm/services/ModelBuilder.ts
1703
1703
  /**
1704
- * Abstract base class for transforming Alepha Descriptors (Entity, Sequence, etc...)
1704
+ * Abstract base class for transforming Alepha Primitives (Entity, Sequence, etc...)
1705
1705
  * into drizzle models (tables, enums, sequences, etc...).
1706
1706
  */
1707
1707
  var ModelBuilder = class {
@@ -1715,7 +1715,7 @@ var ModelBuilder = class {
1715
1715
  * Build the table configuration function for any database.
1716
1716
  * This includes indexes, foreign keys, constraints, and custom config.
1717
1717
  *
1718
- * @param entity - The entity descriptor
1718
+ * @param entity - The entity primitive
1719
1719
  * @param builders - Database-specific builder functions
1720
1720
  * @param tableResolver - Function to resolve entity references to table columns
1721
1721
  * @param customConfigHandler - Optional handler for custom config
@@ -2239,8 +2239,8 @@ var NodeSqliteProvider = class extends DatabaseProvider {
2239
2239
  if (path.startsWith("postgres://")) throw new AlephaError("Postgres URL is not supported for SQLite provider.");
2240
2240
  return path;
2241
2241
  }
2242
- if (this.alepha.isTest()) return ":memory:";
2243
- else return "node_modules/sqlite.db";
2242
+ if (this.alepha.isTest() || this.alepha.isServerless()) return ":memory:";
2243
+ else return "node_modules/.alepha/sqlite.db";
2244
2244
  }
2245
2245
  async execute(query) {
2246
2246
  const { sql: sql$2, params, method } = this.db.all(query).getQuery();
@@ -2278,7 +2278,7 @@ var NodeSqliteProvider = class extends DatabaseProvider {
2278
2278
  const filepath = this.url.replace("sqlite://", "");
2279
2279
  if (filepath !== ":memory:" && filepath !== "") {
2280
2280
  const dirname = filepath.split("/").slice(0, -1).join("/");
2281
- if (dirname) await mkdir(dirname, { recursive: true });
2281
+ if (dirname) await mkdir(dirname, { recursive: true }).catch(() => null);
2282
2282
  }
2283
2283
  this.sqlite = new DatabaseSync(filepath);
2284
2284
  await this.migrateDatabase();
@@ -2362,32 +2362,6 @@ var PglitePostgresProvider = class PglitePostgresProvider extends DatabaseProvid
2362
2362
  }
2363
2363
  };
2364
2364
 
2365
- //#endregion
2366
- //#region src/orm/descriptors/$transaction.ts
2367
- /**
2368
- * Creates a transaction descriptor for database operations requiring atomicity and consistency.
2369
- *
2370
- * This descriptor provides a convenient way to wrap database operations in PostgreSQL
2371
- * transactions, ensuring ACID properties and automatic retry logic for version conflicts.
2372
- * It integrates seamlessly with the repository pattern and provides built-in handling
2373
- * for optimistic locking scenarios with automatic retry on version mismatches.
2374
- *
2375
- * **Important Notes**:
2376
- * - All operations within the transaction handler are atomic
2377
- * - Automatic retry on `PgVersionMismatchError` for optimistic locking
2378
- * - Pass `{ tx }` option to all repository operations within the transaction
2379
- * - Transactions are automatically rolled back on any unhandled error
2380
- * - Use appropriate isolation levels based on your consistency requirements
2381
- */
2382
- const $transaction = (opts) => {
2383
- const { alepha } = $context();
2384
- const provider = alepha.inject(DatabaseProvider);
2385
- return $retry({
2386
- when: (err) => err instanceof DbVersionMismatchError,
2387
- handler: (...args) => provider.db.transaction(async (tx) => opts.handler(tx, ...args), opts.config)
2388
- });
2389
- };
2390
-
2391
2365
  //#endregion
2392
2366
  //#region src/orm/helpers/parseQueryString.ts
2393
2367
  /**
@@ -2697,6 +2671,32 @@ function buildQueryString(where) {
2697
2671
  return parts.join("&");
2698
2672
  }
2699
2673
 
2674
+ //#endregion
2675
+ //#region src/orm/primitives/$transaction.ts
2676
+ /**
2677
+ * Creates a transaction primitive for database operations requiring atomicity and consistency.
2678
+ *
2679
+ * This primitive provides a convenient way to wrap database operations in PostgreSQL
2680
+ * transactions, ensuring ACID properties and automatic retry logic for version conflicts.
2681
+ * It integrates seamlessly with the repository pattern and provides built-in handling
2682
+ * for optimistic locking scenarios with automatic retry on version mismatches.
2683
+ *
2684
+ * **Important Notes**:
2685
+ * - All operations within the transaction handler are atomic
2686
+ * - Automatic retry on `PgVersionMismatchError` for optimistic locking
2687
+ * - Pass `{ tx }` option to all repository operations within the transaction
2688
+ * - Transactions are automatically rolled back on any unhandled error
2689
+ * - Use appropriate isolation levels based on your consistency requirements
2690
+ */
2691
+ const $transaction = (opts) => {
2692
+ const { alepha } = $context();
2693
+ const provider = alepha.inject(DatabaseProvider);
2694
+ return $retry({
2695
+ when: (err) => err instanceof DbVersionMismatchError,
2696
+ handler: (...args) => provider.db.transaction(async (tx) => opts.handler(tx, ...args), opts.config)
2697
+ });
2698
+ };
2699
+
2700
2700
  //#endregion
2701
2701
  //#region src/orm/providers/PostgresTypeProvider.ts
2702
2702
  var PostgresTypeProvider = class {
@@ -2733,9 +2733,9 @@ var PostgresTypeProvider = class {
2733
2733
  *
2734
2734
  * This is used to track the version of a row in the database.
2735
2735
  *
2736
- * You can use it for optimistic concurrency control (OCC) with {@link RepositoryDescriptor#save}.
2736
+ * You can use it for optimistic concurrency control (OCC) with {@link RepositoryPrimitive#save}.
2737
2737
  *
2738
- * @see {@link RepositoryDescriptor#save}
2738
+ * @see {@link RepositoryPrimitive#save}
2739
2739
  * @see {@link PgVersionMismatchError}
2740
2740
  */
2741
2741
  version = (options = {}) => this.default(pgAttr(t.integer(options), PG_VERSION), 0);
@@ -2782,7 +2782,7 @@ var PostgresTypeProvider = class {
2782
2782
  };
2783
2783
  /**
2784
2784
  * Creates a page schema for a given object schema.
2785
- * It's used by {@link RepositoryDescriptor#paginate} method.
2785
+ * It's used by {@link RepositoryPrimitive#paginate} method.
2786
2786
  */
2787
2787
  page = (resource, options) => {
2788
2788
  return pageSchema$1(resource, options);
@@ -2840,7 +2840,7 @@ const legacyIdSchema = pgAttr(pgAttr(pgAttr(t.integer(), PG_PRIMARY_KEY), PG_SER
2840
2840
  */
2841
2841
  const AlephaPostgres = $module({
2842
2842
  name: "alepha.postgres",
2843
- descriptors: [$sequence, $entity],
2843
+ primitives: [$sequence, $entity],
2844
2844
  services: [
2845
2845
  AlephaDateTime,
2846
2846
  DatabaseProvider,
@@ -2887,5 +2887,5 @@ const AlephaPostgres = $module({
2887
2887
  });
2888
2888
 
2889
2889
  //#endregion
2890
- export { $entity, $repository, $sequence, $transaction, AlephaPostgres, DatabaseProvider, DbConflictError, DbEntityNotFoundError, DbError, DbMigrationError, DbVersionMismatchError, DrizzleKitProvider, EntityDescriptor, NodePostgresProvider, NodeSqliteProvider, PG_CREATED_AT, PG_DEFAULT, PG_DELETED_AT, PG_ENUM, PG_IDENTITY, PG_PRIMARY_KEY, PG_REF, PG_SERIAL, PG_UPDATED_AT, PG_VERSION, PostgresTypeProvider, Repository, RepositoryProvider, SequenceDescriptor, buildQueryString, drizzle, getAttrFields, insertSchema, legacyIdSchema, nodeSqliteOptions, pageQuerySchema, pageSchema, parseQueryString, pg, pgAttr, schema, sql, updateSchema };
2890
+ export { $entity, $repository, $sequence, $transaction, AlephaPostgres, DatabaseProvider, DbConflictError, DbEntityNotFoundError, DbError, DbMigrationError, DbVersionMismatchError, DrizzleKitProvider, EntityPrimitive, NodePostgresProvider, NodeSqliteProvider, PG_CREATED_AT, PG_DEFAULT, PG_DELETED_AT, PG_ENUM, PG_IDENTITY, PG_PRIMARY_KEY, PG_REF, PG_SERIAL, PG_UPDATED_AT, PG_VERSION, PostgresTypeProvider, Repository, RepositoryProvider, SequencePrimitive, buildQueryString, drizzle, getAttrFields, insertSchema, legacyIdSchema, nodeSqliteOptions, pageQuerySchema, pageSchema, parseQueryString, pg, pgAttr, schema, sql, updateSchema };
2891
2891
  //# sourceMappingURL=index.js.map