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/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "alepha",
3
3
  "description": "Easy-to-use modern TypeScript framework for building many kind of applications.",
4
4
  "author": "Nicolas Foures",
5
- "version": "0.13.1",
5
+ "version": "0.13.3",
6
6
  "type": "module",
7
7
  "engines": {
8
8
  "node": ">=22.0.0"
@@ -23,10 +23,10 @@
23
23
  "drizzle-kit": "^0.31.7",
24
24
  "drizzle-orm": "^0.44.7",
25
25
  "postgres": "^3.4.7",
26
- "tsx": "^4.20.6",
27
- "typebox": "^1.0.58",
26
+ "tsx": "^4.21.0",
27
+ "typebox": "^1.0.61",
28
28
  "typescript": "^5.9.3",
29
- "vite": "^7.2.4",
29
+ "vite": "^7.2.6",
30
30
  "vite-bundle-analyzer": "^1.2.3",
31
31
  "ws": "^8.18.3"
32
32
  },
@@ -37,12 +37,12 @@
37
37
  "@types/nodemailer": "^7.0.4",
38
38
  "@types/ws": "^8.18.1",
39
39
  "cron-schedule": "^6.0.0",
40
- "jose": "^6.1.2",
40
+ "jose": "^6.1.3",
41
41
  "nodemailer": "^7.0.11",
42
42
  "openid-client": "^6.8.1",
43
43
  "prom-client": "^15.1.3",
44
44
  "swagger-ui-dist": "^5.30.3",
45
- "vitest": "^4.0.14"
45
+ "vitest": "^4.0.15"
46
46
  },
47
47
  "scarfSettings": {
48
48
  "enabled": false
@@ -70,217 +70,288 @@
70
70
  "exports": {
71
71
  "./api/files": {
72
72
  "types": "./dist/api-files/index.js",
73
- "import": "./dist/api-files/index.js"
73
+ "react-native": "./dist/api-files/index.browser.js",
74
+ "browser": "./dist/api-files/index.browser.js",
75
+ "import": "./dist/api-files/index.js",
76
+ "default": "./dist/api-files/index.js"
74
77
  },
75
78
  "./api/jobs": {
76
79
  "types": "./dist/api-jobs/index.js",
77
- "import": "./dist/api-jobs/index.js"
80
+ "react-native": "./dist/api-jobs/index.browser.js",
81
+ "browser": "./dist/api-jobs/index.browser.js",
82
+ "import": "./dist/api-jobs/index.js",
83
+ "default": "./dist/api-jobs/index.js"
78
84
  },
79
85
  "./api/notifications": {
80
86
  "types": "./dist/api-notifications/index.js",
81
- "import": "./dist/api-notifications/index.js"
87
+ "react-native": "./dist/api-notifications/index.browser.js",
88
+ "browser": "./dist/api-notifications/index.browser.js",
89
+ "import": "./dist/api-notifications/index.js",
90
+ "default": "./dist/api-notifications/index.js"
82
91
  },
83
92
  "./api/parameters": {
84
93
  "types": "./dist/api-parameters/index.js",
85
- "import": "./dist/api-parameters/index.js"
94
+ "react-native": "./dist/api-parameters/index.browser.js",
95
+ "browser": "./dist/api-parameters/index.browser.js",
96
+ "import": "./dist/api-parameters/index.js",
97
+ "default": "./dist/api-parameters/index.js"
86
98
  },
87
99
  "./api/users": {
88
100
  "types": "./dist/api-users/index.js",
101
+ "react-native": "./dist/api-users/index.browser.js",
89
102
  "browser": "./dist/api-users/index.browser.js",
90
- "import": "./dist/api-users/index.js"
103
+ "import": "./dist/api-users/index.js",
104
+ "default": "./dist/api-users/index.js"
91
105
  },
92
106
  "./api/verifications": {
93
107
  "types": "./dist/api-verifications/index.js",
94
- "import": "./dist/api-verifications/index.js"
108
+ "react-native": "./dist/api-verifications/index.browser.js",
109
+ "browser": "./dist/api-verifications/index.browser.js",
110
+ "import": "./dist/api-verifications/index.js",
111
+ "default": "./dist/api-verifications/index.js"
95
112
  },
96
113
  "./batch": {
97
114
  "types": "./dist/batch/index.js",
98
- "import": "./dist/batch/index.js"
115
+ "import": "./dist/batch/index.js",
116
+ "default": "./dist/batch/index.js"
99
117
  },
100
118
  "./bin": {
101
119
  "types": "./dist/bin/index.js",
102
- "import": "./dist/bin/index.js"
120
+ "import": "./dist/bin/index.js",
121
+ "default": "./dist/bin/index.js"
103
122
  },
104
123
  "./bucket": {
105
124
  "types": "./dist/bucket/index.js",
106
- "import": "./dist/bucket/index.js"
125
+ "import": "./dist/bucket/index.js",
126
+ "default": "./dist/bucket/index.js"
107
127
  },
108
128
  "./cache": {
109
129
  "types": "./dist/cache/index.js",
110
- "import": "./dist/cache/index.js"
130
+ "import": "./dist/cache/index.js",
131
+ "default": "./dist/cache/index.js"
111
132
  },
112
133
  "./cache/redis": {
113
134
  "types": "./dist/cache-redis/index.js",
114
- "import": "./dist/cache-redis/index.js"
135
+ "import": "./dist/cache-redis/index.js",
136
+ "default": "./dist/cache-redis/index.js"
115
137
  },
116
138
  "./cli": {
117
139
  "types": "./dist/cli/index.js",
118
- "import": "./dist/cli/index.js"
140
+ "import": "./dist/cli/index.js",
141
+ "default": "./dist/cli/index.js"
119
142
  },
120
143
  "./command": {
121
144
  "types": "./dist/command/index.js",
122
- "import": "./dist/command/index.js"
145
+ "import": "./dist/command/index.js",
146
+ "default": "./dist/command/index.js"
123
147
  },
124
148
  ".": {
125
149
  "types": "./dist/core/index.js",
150
+ "react-native": "./dist/core/index.native.js",
126
151
  "browser": "./dist/core/index.browser.js",
127
- "import": "./dist/core/index.js"
152
+ "import": "./dist/core/index.js",
153
+ "default": "./dist/core/index.js"
128
154
  },
129
155
  "./datetime": {
130
156
  "types": "./dist/datetime/index.js",
131
- "import": "./dist/datetime/index.js"
157
+ "import": "./dist/datetime/index.js",
158
+ "default": "./dist/datetime/index.js"
132
159
  },
133
160
  "./email": {
134
161
  "types": "./dist/email/index.js",
135
- "import": "./dist/email/index.js"
162
+ "import": "./dist/email/index.js",
163
+ "default": "./dist/email/index.js"
136
164
  },
137
165
  "./fake": {
138
166
  "types": "./dist/fake/index.js",
139
- "import": "./dist/fake/index.js"
167
+ "import": "./dist/fake/index.js",
168
+ "default": "./dist/fake/index.js"
140
169
  },
141
170
  "./file": {
142
171
  "types": "./dist/file/index.js",
143
- "import": "./dist/file/index.js"
172
+ "import": "./dist/file/index.js",
173
+ "default": "./dist/file/index.js"
144
174
  },
145
175
  "./lock": {
146
176
  "types": "./dist/lock/index.js",
147
- "import": "./dist/lock/index.js"
177
+ "import": "./dist/lock/index.js",
178
+ "default": "./dist/lock/index.js"
148
179
  },
149
180
  "./lock/redis": {
150
181
  "types": "./dist/lock-redis/index.js",
151
- "import": "./dist/lock-redis/index.js"
182
+ "import": "./dist/lock-redis/index.js",
183
+ "default": "./dist/lock-redis/index.js"
152
184
  },
153
185
  "./logger": {
154
186
  "types": "./dist/logger/index.js",
155
- "import": "./dist/logger/index.js"
187
+ "import": "./dist/logger/index.js",
188
+ "default": "./dist/logger/index.js"
156
189
  },
157
190
  "./orm": {
158
191
  "types": "./dist/orm/index.js",
192
+ "react-native": "./dist/orm/index.browser.js",
159
193
  "browser": "./dist/orm/index.browser.js",
160
- "import": "./dist/orm/index.js"
194
+ "import": "./dist/orm/index.js",
195
+ "default": "./dist/orm/index.js"
161
196
  },
162
197
  "./queue": {
163
198
  "types": "./dist/queue/index.js",
164
- "import": "./dist/queue/index.js"
199
+ "import": "./dist/queue/index.js",
200
+ "default": "./dist/queue/index.js"
165
201
  },
166
202
  "./queue/redis": {
167
203
  "types": "./dist/queue-redis/index.js",
168
- "import": "./dist/queue-redis/index.js"
204
+ "import": "./dist/queue-redis/index.js",
205
+ "default": "./dist/queue-redis/index.js"
169
206
  },
170
207
  "./redis": {
171
208
  "types": "./dist/redis/index.js",
172
- "import": "./dist/redis/index.js"
209
+ "import": "./dist/redis/index.js",
210
+ "default": "./dist/redis/index.js"
173
211
  },
174
212
  "./retry": {
175
213
  "types": "./dist/retry/index.js",
176
- "import": "./dist/retry/index.js"
214
+ "import": "./dist/retry/index.js",
215
+ "default": "./dist/retry/index.js"
177
216
  },
178
217
  "./router": {
179
218
  "types": "./dist/router/index.js",
180
- "import": "./dist/router/index.js"
219
+ "import": "./dist/router/index.js",
220
+ "default": "./dist/router/index.js"
181
221
  },
182
222
  "./scheduler": {
183
223
  "types": "./dist/scheduler/index.js",
184
- "import": "./dist/scheduler/index.js"
224
+ "import": "./dist/scheduler/index.js",
225
+ "default": "./dist/scheduler/index.js"
185
226
  },
186
227
  "./security": {
187
228
  "types": "./dist/security/index.js",
229
+ "react-native": "./dist/security/index.browser.js",
188
230
  "browser": "./dist/security/index.browser.js",
189
- "import": "./dist/security/index.js"
231
+ "import": "./dist/security/index.js",
232
+ "default": "./dist/security/index.js"
190
233
  },
191
234
  "./server": {
192
235
  "types": "./dist/server/index.js",
236
+ "react-native": "./dist/server/index.browser.js",
193
237
  "browser": "./dist/server/index.browser.js",
194
- "import": "./dist/server/index.js"
238
+ "import": "./dist/server/index.js",
239
+ "default": "./dist/server/index.js"
195
240
  },
196
241
  "./server/auth": {
197
242
  "types": "./dist/server-auth/index.js",
243
+ "react-native": "./dist/server-auth/index.browser.js",
198
244
  "browser": "./dist/server-auth/index.browser.js",
199
- "import": "./dist/server-auth/index.js"
245
+ "import": "./dist/server-auth/index.js",
246
+ "default": "./dist/server-auth/index.js"
200
247
  },
201
248
  "./server/cache": {
202
249
  "types": "./dist/server-cache/index.js",
203
- "import": "./dist/server-cache/index.js"
250
+ "import": "./dist/server-cache/index.js",
251
+ "default": "./dist/server-cache/index.js"
204
252
  },
205
253
  "./server/compress": {
206
254
  "types": "./dist/server-compress/index.js",
207
- "import": "./dist/server-compress/index.js"
255
+ "import": "./dist/server-compress/index.js",
256
+ "default": "./dist/server-compress/index.js"
208
257
  },
209
258
  "./server/cookies": {
210
259
  "types": "./dist/server-cookies/index.js",
260
+ "react-native": "./dist/server-cookies/index.browser.js",
211
261
  "browser": "./dist/server-cookies/index.browser.js",
212
- "import": "./dist/server-cookies/index.js"
262
+ "import": "./dist/server-cookies/index.js",
263
+ "default": "./dist/server-cookies/index.js"
213
264
  },
214
265
  "./server/cors": {
215
266
  "types": "./dist/server-cors/index.js",
216
- "import": "./dist/server-cors/index.js"
267
+ "import": "./dist/server-cors/index.js",
268
+ "default": "./dist/server-cors/index.js"
217
269
  },
218
270
  "./server/health": {
219
271
  "types": "./dist/server-health/index.js",
220
- "import": "./dist/server-health/index.js"
272
+ "import": "./dist/server-health/index.js",
273
+ "default": "./dist/server-health/index.js"
221
274
  },
222
275
  "./server/helmet": {
223
276
  "types": "./dist/server-helmet/index.js",
224
- "import": "./dist/server-helmet/index.js"
277
+ "import": "./dist/server-helmet/index.js",
278
+ "default": "./dist/server-helmet/index.js"
225
279
  },
226
280
  "./server/links": {
227
281
  "types": "./dist/server-links/index.js",
282
+ "react-native": "./dist/server-links/index.browser.js",
228
283
  "browser": "./dist/server-links/index.browser.js",
229
- "import": "./dist/server-links/index.js"
284
+ "import": "./dist/server-links/index.js",
285
+ "default": "./dist/server-links/index.js"
230
286
  },
231
287
  "./server/metrics": {
232
288
  "types": "./dist/server-metrics/index.js",
233
- "import": "./dist/server-metrics/index.js"
289
+ "import": "./dist/server-metrics/index.js",
290
+ "default": "./dist/server-metrics/index.js"
234
291
  },
235
292
  "./server/multipart": {
236
293
  "types": "./dist/server-multipart/index.js",
237
- "import": "./dist/server-multipart/index.js"
294
+ "import": "./dist/server-multipart/index.js",
295
+ "default": "./dist/server-multipart/index.js"
238
296
  },
239
297
  "./server/proxy": {
240
298
  "types": "./dist/server-proxy/index.js",
241
- "import": "./dist/server-proxy/index.js"
299
+ "import": "./dist/server-proxy/index.js",
300
+ "default": "./dist/server-proxy/index.js"
242
301
  },
243
302
  "./server/rate-limit": {
244
303
  "types": "./dist/server-rate-limit/index.js",
245
- "import": "./dist/server-rate-limit/index.js"
304
+ "import": "./dist/server-rate-limit/index.js",
305
+ "default": "./dist/server-rate-limit/index.js"
246
306
  },
247
307
  "./server/security": {
248
308
  "types": "./dist/server-security/index.js",
309
+ "react-native": "./dist/server-security/index.browser.js",
249
310
  "browser": "./dist/server-security/index.browser.js",
250
- "import": "./dist/server-security/index.js"
311
+ "import": "./dist/server-security/index.js",
312
+ "default": "./dist/server-security/index.js"
251
313
  },
252
314
  "./server/static": {
253
315
  "types": "./dist/server-static/index.js",
254
- "import": "./dist/server-static/index.js"
316
+ "import": "./dist/server-static/index.js",
317
+ "default": "./dist/server-static/index.js"
255
318
  },
256
319
  "./server/swagger": {
257
320
  "types": "./dist/server-swagger/index.js",
258
- "import": "./dist/server-swagger/index.js"
321
+ "import": "./dist/server-swagger/index.js",
322
+ "default": "./dist/server-swagger/index.js"
259
323
  },
260
324
  "./sms": {
261
325
  "types": "./dist/sms/index.js",
262
- "import": "./dist/sms/index.js"
326
+ "import": "./dist/sms/index.js",
327
+ "default": "./dist/sms/index.js"
263
328
  },
264
329
  "./thread": {
265
330
  "types": "./dist/thread/index.js",
266
- "import": "./dist/thread/index.js"
331
+ "import": "./dist/thread/index.js",
332
+ "default": "./dist/thread/index.js"
267
333
  },
268
334
  "./topic": {
269
335
  "types": "./dist/topic/index.js",
270
- "import": "./dist/topic/index.js"
336
+ "import": "./dist/topic/index.js",
337
+ "default": "./dist/topic/index.js"
271
338
  },
272
339
  "./topic/redis": {
273
340
  "types": "./dist/topic-redis/index.js",
274
- "import": "./dist/topic-redis/index.js"
341
+ "import": "./dist/topic-redis/index.js",
342
+ "default": "./dist/topic-redis/index.js"
275
343
  },
276
344
  "./vite": {
277
345
  "types": "./dist/vite/index.js",
278
- "import": "./dist/vite/index.js"
346
+ "import": "./dist/vite/index.js",
347
+ "default": "./dist/vite/index.js"
279
348
  },
280
349
  "./websocket": {
281
350
  "types": "./dist/websocket/index.js",
351
+ "react-native": "./dist/websocket/index.browser.js",
282
352
  "browser": "./dist/websocket/index.browser.js",
283
- "import": "./dist/websocket/index.js"
353
+ "import": "./dist/websocket/index.js",
354
+ "default": "./dist/websocket/index.js"
284
355
  },
285
356
  "./tsconfig.base": "./tsconfig.base.json",
286
357
  "./package.json": "./package.json"
@@ -0,0 +1,17 @@
1
+ import { $module } from "alepha";
2
+
3
+ // ---------------------------------------------------------------------------------------------------------------------
4
+
5
+ export type * from "./controllers/FileController.ts";
6
+ export type * from "./controllers/StorageStatsController.ts";
7
+ export * from "./entities/files.ts";
8
+ export * from "./schemas/fileQuerySchema.ts";
9
+ export * from "./schemas/fileResourceSchema.ts";
10
+ export * from "./schemas/storageStatsSchema.ts";
11
+
12
+ // ---------------------------------------------------------------------------------------------------------------------
13
+
14
+ export const AlephaApiFiles = $module({
15
+ name: "alepha.api.files",
16
+ services: [],
17
+ });
@@ -2,7 +2,7 @@ import { createHash } from "node:crypto";
2
2
  import { $hook, $inject, Alepha, type FileLike } from "alepha";
3
3
  import {
4
4
  $bucket,
5
- type BucketDescriptor,
5
+ type BucketPrimitive,
6
6
  FileNotFoundError,
7
7
  } from "alepha/bucket";
8
8
  import {
@@ -77,17 +77,15 @@ export class FileService {
77
77
  }
78
78
 
79
79
  /**
80
- * Gets a bucket descriptor by name.
80
+ * Gets a bucket primitive by name.
81
81
  *
82
82
  * @param bucketName - The name of the bucket to retrieve (defaults to "default")
83
- * @returns The bucket descriptor
83
+ * @returns The bucket primitive
84
84
  * @throws {NotFoundError} If the bucket is not found
85
85
  */
86
- public bucket(
87
- bucketName: string = this.defaultBucket.name,
88
- ): BucketDescriptor {
86
+ public bucket(bucketName: string = this.defaultBucket.name): BucketPrimitive {
89
87
  const bucket = this.alepha
90
- .descriptors($bucket)
88
+ .primitives($bucket)
91
89
  .find((it) => it.name === bucketName);
92
90
 
93
91
  if (!bucket) {
@@ -0,0 +1,15 @@
1
+ import { $module } from "alepha";
2
+
3
+ // ---------------------------------------------------------------------------------------------------------------------
4
+
5
+ export * from "./entities/jobExecutions.ts";
6
+ export * from "./schemas/jobExecutionQuerySchema.ts";
7
+ export * from "./schemas/jobExecutionResourceSchema.ts";
8
+ export * from "./schemas/triggerJobSchema.ts";
9
+
10
+ // ---------------------------------------------------------------------------------------------------------------------
11
+
12
+ export const AlephaApiJobs = $module({
13
+ name: "alepha.api.jobs",
14
+ services: [],
15
+ });
@@ -6,8 +6,8 @@ import { JobService } from "./services/JobService.ts";
6
6
  // ---------------------------------------------------------------------------------------------------------------------
7
7
 
8
8
  export * from "./controllers/JobController.ts";
9
- export * from "./descriptors/$job.ts";
10
9
  export * from "./entities/jobExecutions.ts";
10
+ export * from "./primitives/$job.ts";
11
11
  export * from "./providers/JobProvider.ts";
12
12
  export * from "./schemas/jobExecutionQuerySchema.ts";
13
13
  export * from "./schemas/jobExecutionResourceSchema.ts";
@@ -1,26 +1,26 @@
1
- import { $inject, createDescriptor, Descriptor, KIND } from "alepha";
1
+ import { $inject, createPrimitive, KIND, Primitive } from "alepha";
2
2
  import type { DateTime } from "alepha/datetime";
3
3
  import { type Job, JobProvider } from "../providers/JobProvider.ts";
4
4
 
5
5
  /**
6
- * Job descriptor - a drop-in replacement for $scheduler with built-in execution tracking.
6
+ * Job primitive - a drop-in replacement for $scheduler with built-in execution tracking.
7
7
  */
8
- export const $job = (options: JobDescriptorOptions): JobDescriptor => {
9
- return createDescriptor(JobDescriptor, options);
8
+ export const $job = (options: JobPrimitiveOptions): JobPrimitive => {
9
+ return createPrimitive(JobPrimitive, options);
10
10
  };
11
11
 
12
12
  // ---------------------------------------------------------------------------------------------------------------------
13
13
 
14
- export type JobDescriptorOptions = Omit<Job, "name"> & {
14
+ export type JobPrimitiveOptions = Omit<Job, "name"> & {
15
15
  /**
16
- * Name of the job. Defaults to the descriptor property name.
16
+ * Name of the job. Defaults to the primitive property name.
17
17
  */
18
18
  name?: string;
19
19
  };
20
20
 
21
21
  // ---------------------------------------------------------------------------------------------------------------------
22
22
 
23
- export class JobDescriptor extends Descriptor<JobDescriptorOptions> {
23
+ export class JobPrimitive extends Primitive<JobPrimitiveOptions> {
24
24
  protected readonly jobProvider = $inject(JobProvider);
25
25
 
26
26
  public get name(): string {
@@ -43,7 +43,7 @@ export class JobDescriptor extends Descriptor<JobDescriptorOptions> {
43
43
  }
44
44
  }
45
45
 
46
- $job[KIND] = JobDescriptor;
46
+ $job[KIND] = JobPrimitive;
47
47
 
48
48
  // ---------------------------------------------------------------------------------------------------------------------
49
49
 
@@ -1,6 +1,6 @@
1
1
  import { $env, $inject, Alepha, type Async, type Static, t } from "alepha";
2
2
  import { type DateTime, DateTimeProvider } from "alepha/datetime";
3
- import { $lock, type LockDescriptor } from "alepha/lock";
3
+ import { $lock, type LockPrimitive } from "alepha/lock";
4
4
  import type { LogEntry } from "alepha/logger";
5
5
  import { $repository } from "alepha/orm";
6
6
  import { CronProvider } from "alepha/scheduler";
@@ -32,7 +32,7 @@ export class JobProvider {
32
32
  protected readonly jobs = new Map<string, JobRegistration>();
33
33
 
34
34
  /**
35
- * Register and set up a job for execution (called during descriptor initialization).
35
+ * Register and set up a job for execution (called during primitive initialization).
36
36
  */
37
37
  public registerJob(options: Job): JobRegistration {
38
38
  const jobName = options.name;
@@ -55,8 +55,8 @@ export class JobProvider {
55
55
  });
56
56
  }
57
57
 
58
- // Create lock descriptor if locking is enabled
59
- const lockDescriptor =
58
+ // Create lock primitive if locking is enabled
59
+ const lockPrimitive =
60
60
  options.lock !== false
61
61
  ? $lock({
62
62
  name: () => {
@@ -74,7 +74,7 @@ export class JobProvider {
74
74
  const registration: JobRegistration = {
75
75
  name: jobName,
76
76
  options,
77
- lockDescriptor,
77
+ lockPrimitive,
78
78
  };
79
79
 
80
80
  this.jobs.set(jobName, registration);
@@ -99,15 +99,15 @@ export class JobProvider {
99
99
  }
100
100
 
101
101
  // Execute handler with or without lock
102
- if (registration.options.lock !== false && registration.lockDescriptor) {
103
- await registration.lockDescriptor.run();
102
+ if (registration.options.lock !== false && registration.lockPrimitive) {
103
+ await registration.lockPrimitive.run();
104
104
  } else {
105
105
  await this.executeJob(jobName, registration.options.handler);
106
106
  }
107
107
  }
108
108
 
109
109
  /**
110
- * Execute a job handler (called by the job descriptor).
110
+ * Execute a job handler (called by the job primitive).
111
111
  */
112
112
  public async executeJob(
113
113
  jobName: string,
@@ -260,5 +260,5 @@ export interface Job {
260
260
  export interface JobRegistration {
261
261
  name: string;
262
262
  options: Job;
263
- lockDescriptor: LockDescriptor<() => Promise<void>> | null;
263
+ lockPrimitive: LockPrimitive<() => Promise<void>> | null;
264
264
  }
@@ -1,7 +1,7 @@
1
1
  import { $inject, Alepha } from "alepha";
2
2
  import { $repository } from "alepha/orm";
3
- import { $job } from "../descriptors/$job.ts";
4
3
  import { jobExecutions } from "../entities/jobExecutions.ts";
4
+ import { $job } from "../primitives/$job.ts";
5
5
  import type { JobExecutionQuery } from "../schemas/jobExecutionQuerySchema.ts";
6
6
 
7
7
  export class JobService {
@@ -9,8 +9,8 @@ export class JobService {
9
9
  protected readonly executionRepository = $repository(jobExecutions);
10
10
 
11
11
  public async getJobs(): Promise<string[]> {
12
- const jobDescriptors = this.alepha.descriptors($job);
13
- return jobDescriptors.map((job) => job.name);
12
+ const jobPrimitives = this.alepha.primitives($job);
13
+ return jobPrimitives.map((job) => job.name);
14
14
  }
15
15
 
16
16
  public async getJobExecutions(query: JobExecutionQuery = {}) {
@@ -34,8 +34,8 @@ export class JobService {
34
34
  }
35
35
 
36
36
  public async triggerJob(name: string): Promise<{ ok: boolean }> {
37
- const jobDescriptors = this.alepha.descriptors($job);
38
- const job = jobDescriptors.find((j) => j.name === name);
37
+ const jobPrimitives = this.alepha.primitives($job);
38
+ const job = jobPrimitives.find((j) => j.name === name);
39
39
 
40
40
  if (!job) {
41
41
  throw new Error(`Job not found: ${name}`);
@@ -1 +1,26 @@
1
- export class NotificationController {}
1
+ import { $inject } from "alepha";
2
+ import { pg } from "alepha/orm";
3
+ import { $action } from "alepha/server";
4
+ import { notifications } from "../entities/notifications.ts";
5
+ import { notificationQuerySchema } from "../schemas/notificationQuerySchema.ts";
6
+ import { NotificationService } from "../services/NotificationService.ts";
7
+
8
+ export class NotificationController {
9
+ protected readonly url = "/notifications";
10
+ protected readonly group = "notifications";
11
+ protected readonly notificationService = $inject(NotificationService);
12
+
13
+ /**
14
+ * Find notifications with pagination and filtering.
15
+ */
16
+ public readonly findNotifications = $action({
17
+ path: this.url,
18
+ group: this.group,
19
+ description: "Find notifications with pagination and filtering",
20
+ schema: {
21
+ query: notificationQuerySchema,
22
+ response: pg.page(notifications.schema),
23
+ },
24
+ handler: ({ query }) => this.notificationService.findNotifications(query),
25
+ });
26
+ }
@@ -0,0 +1,17 @@
1
+ import { $module } from "alepha";
2
+
3
+ // ---------------------------------------------------------------------------------------------------------------------
4
+
5
+ export * from "./controllers/NotificationController.ts";
6
+ export * from "./entities/notifications.ts";
7
+ export * from "./schemas/notificationContactPreferencesSchema.ts";
8
+ export * from "./schemas/notificationContactSchema.ts";
9
+ export * from "./schemas/notificationCreateSchema.ts";
10
+ export * from "./schemas/notificationQuerySchema.ts";
11
+
12
+ // ---------------------------------------------------------------------------------------------------------------------
13
+
14
+ export const AlephaApiNotifications = $module({
15
+ name: "alepha.api.notifications",
16
+ services: [],
17
+ });