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,10 +1,4 @@
1
- import {
2
- $inject,
3
- AlephaError,
4
- createDescriptor,
5
- Descriptor,
6
- KIND,
7
- } from "alepha";
1
+ import { $inject, AlephaError, createPrimitive, KIND, Primitive } from "alepha";
8
2
  import {
9
3
  DateTimeProvider,
10
4
  type Duration,
@@ -21,13 +15,13 @@ import type { UserAccount } from "../schemas/userAccountInfoSchema.ts";
21
15
  /**
22
16
  * Create a new realm.
23
17
  */
24
- export const $realm = (options: RealmDescriptorOptions): RealmDescriptor => {
25
- return createDescriptor(RealmDescriptor, options);
18
+ export const $realm = (options: RealmPrimitiveOptions): RealmPrimitive => {
19
+ return createPrimitive(RealmPrimitive, options);
26
20
  };
27
21
 
28
22
  // ---------------------------------------------------------------------------------------------------------------------
29
23
 
30
- export type RealmDescriptorOptions = {
24
+ export type RealmPrimitiveOptions = {
31
25
  /**
32
26
  * Define the realm name.
33
27
  * If not provided, it will use the property key.
@@ -109,7 +103,7 @@ export interface RealmExternal {
109
103
 
110
104
  // ---------------------------------------------------------------------------------------------------------------------
111
105
 
112
- export class RealmDescriptor extends Descriptor<RealmDescriptorOptions> {
106
+ export class RealmPrimitive extends Primitive<RealmPrimitiveOptions> {
113
107
  protected readonly securityProvider = $inject(SecurityProvider);
114
108
  protected readonly dateTimeProvider = $inject(DateTimeProvider);
115
109
  protected readonly jwt = $inject(JwtProvider);
@@ -342,7 +336,7 @@ export class RealmDescriptor extends Descriptor<RealmDescriptorOptions> {
342
336
  }
343
337
  }
344
338
 
345
- $realm[KIND] = RealmDescriptor;
339
+ $realm[KIND] = RealmPrimitive;
346
340
 
347
341
  // ---------------------------------------------------------------------------------------------------------------------
348
342
 
@@ -1,18 +1,18 @@
1
- import { $inject, createDescriptor, Descriptor, KIND } from "alepha";
1
+ import { $inject, createPrimitive, KIND, Primitive } from "alepha";
2
2
  import { SecurityProvider } from "../providers/SecurityProvider.ts";
3
- import type { PermissionDescriptor } from "./$permission.ts";
4
- import type { RealmDescriptor } from "./$realm.ts";
3
+ import type { PermissionPrimitive } from "./$permission.ts";
4
+ import type { RealmPrimitive } from "./$realm.ts";
5
5
 
6
6
  /**
7
7
  * Create a new role.
8
8
  */
9
- export const $role = (options: RoleDescriptorOptions = {}): RoleDescriptor => {
10
- return createDescriptor(RoleDescriptor, options);
9
+ export const $role = (options: RolePrimitiveOptions = {}): RolePrimitive => {
10
+ return createPrimitive(RolePrimitive, options);
11
11
  };
12
12
 
13
13
  // ---------------------------------------------------------------------------------------------------------------------
14
14
 
15
- export interface RoleDescriptorOptions {
15
+ export interface RolePrimitiveOptions {
16
16
  /**
17
17
  * Name of the role.
18
18
  */
@@ -23,7 +23,7 @@ export interface RoleDescriptorOptions {
23
23
  */
24
24
  description?: string;
25
25
 
26
- realm?: string | RealmDescriptor;
26
+ realm?: string | RealmPrimitive;
27
27
 
28
28
  permissions?: Array<
29
29
  | string
@@ -35,7 +35,7 @@ export interface RoleDescriptorOptions {
35
35
  >;
36
36
  }
37
37
 
38
- export class RoleDescriptor extends Descriptor<RoleDescriptorOptions> {
38
+ export class RolePrimitive extends Primitive<RolePrimitiveOptions> {
39
39
  protected readonly securityProvider = $inject(SecurityProvider);
40
40
 
41
41
  public get name(): string {
@@ -62,19 +62,19 @@ export class RoleDescriptor extends Descriptor<RoleDescriptorOptions> {
62
62
  /**
63
63
  * Get the realm of the role.
64
64
  */
65
- public get realm(): string | RealmDescriptor | undefined {
65
+ public get realm(): string | RealmPrimitive | undefined {
66
66
  return this.options.realm;
67
67
  }
68
68
 
69
- public can(permission: string | PermissionDescriptor): boolean {
69
+ public can(permission: string | PermissionPrimitive): boolean {
70
70
  return this.securityProvider.can(this.name, permission);
71
71
  }
72
72
 
73
- public check(permission: string | PermissionDescriptor) {
73
+ public check(permission: string | PermissionPrimitive) {
74
74
  return this.securityProvider.checkPermission(permission, this.name);
75
75
  }
76
76
  }
77
77
 
78
78
  // ---------------------------------------------------------------------------------------------------------------------
79
79
 
80
- $role[KIND] = RoleDescriptor;
80
+ $role[KIND] = RolePrimitive;
@@ -1,7 +1,7 @@
1
1
  import { $context } from "alepha";
2
2
  import { DateTimeProvider } from "alepha/datetime";
3
3
  import type { UserAccount } from "../schemas/userAccountInfoSchema.ts";
4
- import type { AccessTokenResponse, RealmDescriptor } from "./$realm.ts";
4
+ import type { AccessTokenResponse, RealmPrimitive } from "./$realm.ts";
5
5
 
6
6
  /**
7
7
  * Allow to get an access token for a service account.
@@ -32,8 +32,8 @@ import type { AccessTokenResponse, RealmDescriptor } from "./$realm.ts";
32
32
  * ```
33
33
  */
34
34
  export const $serviceAccount = (
35
- options: ServiceAccountDescriptorOptions,
36
- ): ServiceAccountDescriptor => {
35
+ options: ServiceAccountPrimitiveOptions,
36
+ ): ServiceAccountPrimitive => {
37
37
  const { alepha } = $context();
38
38
  const store: {
39
39
  cache?: AccessTokenResponse;
@@ -150,19 +150,19 @@ export const $serviceAccount = (
150
150
  };
151
151
  };
152
152
 
153
- export type ServiceAccountDescriptorOptions = {
153
+ export type ServiceAccountPrimitiveOptions = {
154
154
  gracePeriod?: number; // Grace period in milliseconds before token expiration
155
155
  } & (
156
156
  | {
157
- oauth2: Oauth2ServiceAccountDescriptorOptions;
157
+ oauth2: Oauth2ServiceAccountPrimitiveOptions;
158
158
  }
159
159
  | {
160
- realm: RealmDescriptor;
160
+ realm: RealmPrimitive;
161
161
  user: UserAccount;
162
162
  }
163
163
  );
164
164
 
165
- export interface Oauth2ServiceAccountDescriptorOptions {
165
+ export interface Oauth2ServiceAccountPrimitiveOptions {
166
166
  /**
167
167
  * Get Token URL.
168
168
  */
@@ -179,7 +179,7 @@ export interface Oauth2ServiceAccountDescriptorOptions {
179
179
  clientSecret: string;
180
180
  }
181
181
 
182
- export interface ServiceAccountDescriptor {
182
+ export interface ServiceAccountPrimitive {
183
183
  token: () => Promise<string>;
184
184
  }
185
185
 
@@ -9,6 +9,6 @@ export * from "./index.shared.ts";
9
9
 
10
10
  export const AlephaServer = $module({
11
11
  name: "alepha.server",
12
- descriptors: [],
12
+ primitives: [],
13
13
  services: [HttpClient],
14
14
  });
@@ -1,11 +1,5 @@
1
1
  import type { Server } from "node:http";
2
- import { $module, type Alepha, type DescriptorFactoryLike } from "alepha";
3
- import {
4
- $action,
5
- type ActionDescriptor,
6
- type ClientRequestOptions,
7
- } from "./descriptors/$action.ts";
8
- import { $route } from "./descriptors/$route.ts";
2
+ import { $module, type Alepha, type PrimitiveFactoryLike } from "alepha";
9
3
  import type { HttpError } from "./errors/HttpError.ts";
10
4
  import type {
11
5
  NodeRequestEvent,
@@ -16,6 +10,12 @@ import type {
16
10
  ServerRoute,
17
11
  WebRequestEvent,
18
12
  } from "./interfaces/ServerRequest.ts";
13
+ import {
14
+ $action,
15
+ type ActionPrimitive,
16
+ type ClientRequestOptions,
17
+ } from "./primitives/$action.ts";
18
+ import { $route } from "./primitives/$route.ts";
19
19
  import { BunHttpServerProvider } from "./providers/BunHttpServerProvider.ts";
20
20
  import { NodeHttpServerProvider } from "./providers/NodeHttpServerProvider.ts";
21
21
  import { ServerBodyParserProvider } from "./providers/ServerBodyParserProvider.ts";
@@ -36,12 +36,12 @@ declare module "alepha" {
36
36
  // -----------------------------------------------------------------------------------------------------------------
37
37
  // Local Actions hooks
38
38
  "action:onRequest": {
39
- action: ActionDescriptor<RequestConfigSchema>;
39
+ action: ActionPrimitive<RequestConfigSchema>;
40
40
  request: ServerRequest;
41
41
  options: ClientRequestOptions;
42
42
  };
43
43
  "action:onResponse": {
44
- action: ActionDescriptor<RequestConfigSchema>;
44
+ action: ActionPrimitive<RequestConfigSchema>;
45
45
  request: ServerRequest;
46
46
  options: ClientRequestOptions;
47
47
  response: any;
@@ -96,9 +96,9 @@ declare module "alepha" {
96
96
 
97
97
  // ---------------------------------------------------------------------------------------------------------------------
98
98
 
99
- export * from "./descriptors/$action.ts";
100
- export * from "./descriptors/$route.ts";
101
99
  export * from "./index.shared.ts";
100
+ export * from "./primitives/$action.ts";
101
+ export * from "./primitives/$route.ts";
102
102
  export * from "./providers/BunHttpServerProvider.ts";
103
103
  export * from "./providers/NodeHttpServerProvider.ts";
104
104
  export * from "./providers/ServerLoggerProvider.ts";
@@ -110,9 +110,9 @@ export * from "./providers/ServerTimingProvider.ts";
110
110
  // ---------------------------------------------------------------------------------------------------------------------
111
111
 
112
112
  /**
113
- * Provides high-performance HTTP server capabilities with declarative routing and action descriptors.
113
+ * Provides high-performance HTTP server capabilities with declarative routing and action primitives.
114
114
  *
115
- * The server module enables building REST APIs and web applications using `$route` and `$action` descriptors
115
+ * The server module enables building REST APIs and web applications using `$route` and `$action` primitives
116
116
  * on class properties. It provides automatic request/response handling, schema validation, middleware support,
117
117
  * and seamless integration with other Alepha modules for a complete backend solution.
118
118
  *
@@ -122,7 +122,7 @@ export * from "./providers/ServerTimingProvider.ts";
122
122
  */
123
123
  export const AlephaServer = $module({
124
124
  name: "alepha.server",
125
- descriptors: [$route, $action as DescriptorFactoryLike],
125
+ primitives: [$route, $action as PrimitiveFactoryLike],
126
126
  services: [
127
127
  ServerProvider,
128
128
  BunHttpServerProvider,
@@ -2,10 +2,10 @@ import {
2
2
  $env,
3
3
  $inject,
4
4
  type Async,
5
- createDescriptor,
6
- Descriptor,
5
+ createPrimitive,
7
6
  isTypeFile,
8
7
  KIND,
8
+ Primitive,
9
9
  type Static,
10
10
  type TObject,
11
11
  type TSchema,
@@ -30,7 +30,7 @@ import {
30
30
  } from "../services/HttpClient.ts";
31
31
 
32
32
  /**
33
- * Creates a server action descriptor for defining type-safe HTTP endpoints.
33
+ * Creates a server action primitive for defining type-safe HTTP endpoints.
34
34
  *
35
35
  * Server actions are the core building blocks for REST APIs in Alepha, providing declarative
36
36
  * HTTP endpoints with full type safety, automatic validation, and OpenAPI documentation.
@@ -95,9 +95,9 @@ import {
95
95
  * ```
96
96
  */
97
97
  export const $action = <TConfig extends RequestConfigSchema>(
98
- options: ActionDescriptorOptions<TConfig>,
99
- ): ActionDescriptorFn<TConfig> => {
100
- const instance = createDescriptor(ActionDescriptor<TConfig>, options);
98
+ options: ActionPrimitiveOptions<TConfig>,
99
+ ): ActionPrimitiveFn<TConfig> => {
100
+ const instance = createPrimitive(ActionPrimitive<TConfig>, options);
101
101
  const fn = (
102
102
  config?: ClientRequestEntry<TConfig>,
103
103
  options?: ClientRequestOptions,
@@ -109,12 +109,12 @@ export const $action = <TConfig extends RequestConfigSchema>(
109
109
  return instance.options.name || instance.config.propertyKey;
110
110
  },
111
111
  });
112
- return Object.setPrototypeOf(fn, instance) as ActionDescriptorFn<TConfig>;
112
+ return Object.setPrototypeOf(fn, instance) as ActionPrimitiveFn<TConfig>;
113
113
  };
114
114
 
115
115
  // ----------------------------------------------------------------------------------------------------------
116
116
 
117
- export interface ActionDescriptorOptions<TConfig extends RequestConfigSchema>
117
+ export interface ActionPrimitiveOptions<TConfig extends RequestConfigSchema>
118
118
  extends Omit<ServerRoute, "handler" | "path" | "schema" | "mapParams"> {
119
119
  /**
120
120
  * Name of the action.
@@ -198,9 +198,9 @@ const envSchema = t.object({
198
198
  }),
199
199
  });
200
200
 
201
- export class ActionDescriptor<
201
+ export class ActionPrimitive<
202
202
  TConfig extends RequestConfigSchema,
203
- > extends Descriptor<ActionDescriptorOptions<TConfig>> {
203
+ > extends Primitive<ActionPrimitiveOptions<TConfig>> {
204
204
  protected readonly log = $logger();
205
205
  protected readonly env = $env(envSchema);
206
206
  protected readonly httpClient = $inject(HttpClient);
@@ -416,15 +416,15 @@ export class ActionDescriptor<
416
416
  }
417
417
  }
418
418
 
419
- export interface ActionDescriptorFn<TConfig extends RequestConfigSchema>
420
- extends ActionDescriptor<TConfig> {
419
+ export interface ActionPrimitiveFn<TConfig extends RequestConfigSchema>
420
+ extends ActionPrimitive<TConfig> {
421
421
  (
422
422
  config?: ClientRequestEntry<TConfig>,
423
423
  options?: ClientRequestOptions,
424
424
  ): Promise<ClientRequestResponse<TConfig>>;
425
425
  }
426
426
 
427
- $action[KIND] = ActionDescriptor;
427
+ $action[KIND] = ActionPrimitive;
428
428
 
429
429
  // ----------------------------------------------------------------------------------------------------------
430
430
 
@@ -1,4 +1,4 @@
1
- import { $inject, createDescriptor, Descriptor, KIND } from "alepha";
1
+ import { $inject, createPrimitive, KIND, Primitive } from "alepha";
2
2
  import type {
3
3
  RequestConfigSchema,
4
4
  ServerRoute,
@@ -8,28 +8,28 @@ import { ServerRouterProvider } from "../providers/ServerRouterProvider.ts";
8
8
  /**
9
9
  * Create a basic endpoint.
10
10
  *
11
- * It's a low level descriptor. You probably want to use `$action` instead.
11
+ * It's a low level primitive. You probably want to use `$action` instead.
12
12
  *
13
13
  * @see {@link $action}
14
14
  * @see {@link $page}
15
15
  */
16
16
  export const $route = <TConfig extends RequestConfigSchema>(
17
- options: RouteDescriptorOptions<TConfig>,
18
- ): RouteDescriptor<TConfig> => {
19
- return createDescriptor(RouteDescriptor<TConfig>, options);
17
+ options: RoutePrimitiveOptions<TConfig>,
18
+ ): RoutePrimitive<TConfig> => {
19
+ return createPrimitive(RoutePrimitive<TConfig>, options);
20
20
  };
21
21
 
22
22
  // ---------------------------------------------------------------------------------------------------------------------
23
23
 
24
- export interface RouteDescriptorOptions<
24
+ export interface RoutePrimitiveOptions<
25
25
  TConfig extends RequestConfigSchema = RequestConfigSchema,
26
26
  > extends ServerRoute<TConfig> {}
27
27
 
28
28
  // ---------------------------------------------------------------------------------------------------------------------
29
29
 
30
- export class RouteDescriptor<
30
+ export class RoutePrimitive<
31
31
  TConfig extends RequestConfigSchema,
32
- > extends Descriptor<RouteDescriptorOptions<TConfig>> {
32
+ > extends Primitive<RoutePrimitiveOptions<TConfig>> {
33
33
  protected readonly serverRouterProvider = $inject(ServerRouterProvider);
34
34
 
35
35
  protected onInit() {
@@ -37,4 +37,4 @@ export class RouteDescriptor<
37
37
  }
38
38
  }
39
39
 
40
- $route[KIND] = RouteDescriptor;
40
+ $route[KIND] = RoutePrimitive;
@@ -57,7 +57,7 @@ export class NodeHttpServerProvider extends ServerProvider {
57
57
  on: "start",
58
58
  handler: async () => {
59
59
  await this.listen();
60
- this.alepha.state.set("alepha.node.server", this.server);
60
+ this.alepha.store.set("alepha.node.server", this.server);
61
61
  },
62
62
  });
63
63
 
@@ -67,7 +67,7 @@ export class NodeHttpServerProvider extends ServerProvider {
67
67
  return createServer(
68
68
  {
69
69
  // nov 25 - keep connections alive for better performance, cuz we http/1.1 by default
70
- keepAlive: true,
70
+ keepAlive: this.alepha.isProduction(),
71
71
  },
72
72
  func,
73
73
  );
@@ -10,7 +10,6 @@ import {
10
10
  import { $cache } from "alepha/cache";
11
11
  import type { DurationLike } from "alepha/datetime";
12
12
  import { $logger } from "alepha/logger";
13
- import type { ClientRequestOptions } from "../descriptors/$action.ts";
14
13
  import { HttpError } from "../errors/HttpError.ts";
15
14
  import { isMultipart } from "../helpers/isMultipart.ts";
16
15
  import type {
@@ -18,6 +17,7 @@ import type {
18
17
  TRequestBody,
19
18
  TResponseBody,
20
19
  } from "../interfaces/ServerRequest.ts";
20
+ import type { ClientRequestOptions } from "../primitives/$action.ts";
21
21
  import { errorSchema } from "../schemas/errorSchema.ts";
22
22
 
23
23
  export class HttpClient {
@@ -8,6 +8,6 @@ export * from "./index.shared.ts";
8
8
 
9
9
  export const AlephaServerAuth = $module({
10
10
  name: "alepha.server.auth",
11
- descriptors: [],
11
+ primitives: [],
12
12
  services: [],
13
13
  });
@@ -1,16 +1,16 @@
1
1
  import { $module } from "alepha";
2
2
  import type { UserAccount } from "alepha/security";
3
3
  import { AlephaServerCookies } from "alepha/server/cookies";
4
- import { $auth } from "./descriptors/$auth.ts";
4
+ import { $auth } from "./primitives/$auth.ts";
5
5
  import { ServerAuthProvider } from "./providers/ServerAuthProvider.ts";
6
6
 
7
7
  // ---------------------------------------------------------------------------------------------------------------------
8
8
 
9
- export * from "./descriptors/$auth.ts";
10
- export * from "./descriptors/$authCredentials.ts";
11
- export * from "./descriptors/$authGithub.ts";
12
- export * from "./descriptors/$authGoogle.ts";
13
9
  export * from "./index.shared.ts";
10
+ export * from "./primitives/$auth.ts";
11
+ export * from "./primitives/$authCredentials.ts";
12
+ export * from "./primitives/$authGithub.ts";
13
+ export * from "./primitives/$authGoogle.ts";
14
14
  export * from "./providers/ServerAuthProvider.ts";
15
15
 
16
16
  // ---------------------------------------------------------------------------------------------------------------------
@@ -43,6 +43,6 @@ declare module "alepha" {
43
43
  */
44
44
  export const AlephaServerAuth = $module({
45
45
  name: "alepha.server.auth",
46
- descriptors: [$auth],
46
+ primitives: [$auth],
47
47
  services: [AlephaServerCookies, ServerAuthProvider],
48
48
  });
@@ -2,14 +2,14 @@ import {
2
2
  $inject,
3
3
  AlephaError,
4
4
  type Async,
5
- createDescriptor,
6
- Descriptor,
5
+ createPrimitive,
7
6
  KIND,
7
+ Primitive,
8
8
  } from "alepha";
9
9
  import { DateTimeProvider } from "alepha/datetime";
10
10
  import {
11
11
  type AccessTokenResponse,
12
- type RealmDescriptor,
12
+ type RealmPrimitive,
13
13
  SecurityError,
14
14
  SecurityProvider,
15
15
  type UserAccount,
@@ -24,7 +24,7 @@ import type { OAuth2Profile } from "../providers/ServerAuthProvider.ts";
24
24
  import type { Tokens } from "../schemas/tokensSchema.ts";
25
25
 
26
26
  /**
27
- * Creates an authentication provider descriptor for handling user login flows.
27
+ * Creates an authentication provider primitive for handling user login flows.
28
28
  *
29
29
  * Supports multiple authentication strategies: credentials (username/password), OAuth2,
30
30
  * and OIDC (OpenID Connect). Handles token management, user profile retrieval, and
@@ -57,13 +57,13 @@ import type { Tokens } from "../schemas/tokensSchema.ts";
57
57
  * }
58
58
  * ```
59
59
  */
60
- export const $auth = (options: AuthDescriptorOptions): AuthDescriptor => {
61
- return createDescriptor(AuthDescriptor, options);
60
+ export const $auth = (options: AuthPrimitiveOptions): AuthPrimitive => {
61
+ return createPrimitive(AuthPrimitive, options);
62
62
  };
63
63
 
64
64
  // ---------------------------------------------------------------------------------------------------------------------
65
65
 
66
- export type AuthDescriptorOptions = {
66
+ export type AuthPrimitiveOptions = {
67
67
  /**
68
68
  * Name of the identity provider.
69
69
  * If not provided, it will be derived from the property key.
@@ -108,7 +108,7 @@ export type AuthExternal = {
108
108
  * This relies on the `realm`, which is used to create/verify the access token.
109
109
  */
110
110
  export type AuthInternal = {
111
- realm: RealmDescriptor;
111
+ realm: RealmPrimitive;
112
112
  } & (
113
113
  | {
114
114
  /**
@@ -251,7 +251,7 @@ export interface OAuth2Options {
251
251
 
252
252
  // ---------------------------------------------------------------------------------------------------------------------
253
253
 
254
- export class AuthDescriptor extends Descriptor<AuthDescriptorOptions> {
254
+ export class AuthPrimitive extends Primitive<AuthPrimitiveOptions> {
255
255
  protected readonly securityProvider = $inject(SecurityProvider);
256
256
  protected readonly dateTimeProvider = $inject(DateTimeProvider);
257
257
 
@@ -433,7 +433,7 @@ export class AuthDescriptor extends Descriptor<AuthDescriptorOptions> {
433
433
  }
434
434
  }
435
435
 
436
- $auth[KIND] = AuthDescriptor;
436
+ $auth[KIND] = AuthPrimitive;
437
437
 
438
438
  // ---------------------------------------------------------------------------------------------------------------------
439
439
 
@@ -1,5 +1,5 @@
1
1
  import { AlephaError } from "alepha";
2
- import type { RealmDescriptor } from "alepha/security";
2
+ import type { RealmPrimitive } from "alepha/security";
3
3
  import {
4
4
  $auth,
5
5
  type CredentialsFn,
@@ -8,12 +8,12 @@ import {
8
8
  } from "./$auth.ts";
9
9
 
10
10
  /**
11
- * Already configured Credentials authentication descriptor.
11
+ * Already configured Credentials authentication primitive.
12
12
  *
13
13
  * Uses username and password to authenticate users.
14
14
  */
15
15
  export const $authCredentials = (
16
- realm: RealmDescriptor & WithLoginFn,
16
+ realm: RealmPrimitive & WithLoginFn,
17
17
  options: Partial<CredentialsOptions> = {},
18
18
  ) => {
19
19
  const name = "credentials";
@@ -24,7 +24,7 @@ export const $authCredentials = (
24
24
 
25
25
  if (!account) {
26
26
  throw new AlephaError(
27
- "Credentials authentication requires a login function in the realm descriptor.",
27
+ "Credentials authentication requires a login function in the realm primitive.",
28
28
  );
29
29
  }
30
30
 
@@ -1,5 +1,5 @@
1
1
  import { $context, AlephaError, t } from "alepha";
2
- import type { RealmDescriptor } from "alepha/security";
2
+ import type { RealmPrimitive } from "alepha/security";
3
3
  import type { OAuth2Profile } from "../providers/ServerAuthProvider.ts";
4
4
  import {
5
5
  $auth,
@@ -9,7 +9,7 @@ import {
9
9
  } from "./$auth.ts";
10
10
 
11
11
  /**
12
- * Already configured GitHub authentication descriptor.
12
+ * Already configured GitHub authentication primitive.
13
13
  *
14
14
  * Uses OAuth2 to authenticate users via their GitHub accounts.
15
15
  * Upon successful authentication, it links the GitHub account to a user session.
@@ -19,7 +19,7 @@ import {
19
19
  * - `GITHUB_CLIENT_SECRET`: The client secret obtained from the GitHub Developer Settings.
20
20
  */
21
21
  export const $authGithub = (
22
- realm: RealmDescriptor & WithLinkFn,
22
+ realm: RealmPrimitive & WithLinkFn,
23
23
  options: Partial<OidcOptions> = {},
24
24
  ) => {
25
25
  const { alepha } = $context();
@@ -40,7 +40,7 @@ export const $authGithub = (
40
40
 
41
41
  if (!account) {
42
42
  throw new AlephaError(
43
- "Authentication requires a link function in the realm descriptor.",
43
+ "Authentication requires a link function in the realm primitive.",
44
44
  );
45
45
  }
46
46
 
@@ -1,5 +1,5 @@
1
1
  import { $context, AlephaError, t } from "alepha";
2
- import type { RealmDescriptor } from "alepha/security";
2
+ import type { RealmPrimitive } from "alepha/security";
3
3
  import {
4
4
  $auth,
5
5
  type LinkAccountFn,
@@ -8,7 +8,7 @@ import {
8
8
  } from "./$auth.ts";
9
9
 
10
10
  /**
11
- * Already configured Google authentication descriptor.
11
+ * Already configured Google authentication primitive.
12
12
  *
13
13
  * Uses OpenID Connect (OIDC) to authenticate users via their Google accounts.
14
14
  * Upon successful authentication, it links the Google account to a user session.
@@ -18,7 +18,7 @@ import {
18
18
  * - `GOOGLE_CLIENT_SECRET`: The client secret obtained from the Google Developer Console.
19
19
  */
20
20
  export const $authGoogle = (
21
- realm: RealmDescriptor & WithLinkFn,
21
+ realm: RealmPrimitive & WithLinkFn,
22
22
  options: Partial<OidcOptions> = {},
23
23
  ) => {
24
24
  const { alepha } = $context();
@@ -39,7 +39,7 @@ export const $authGoogle = (
39
39
 
40
40
  if (!account) {
41
41
  throw new AlephaError(
42
- "Authentication requires a link function in the realm descriptor.",
42
+ "Authentication requires a link function in the realm primitive.",
43
43
  );
44
44
  }
45
45
 
@@ -22,7 +22,7 @@ import {
22
22
  randomState,
23
23
  } from "openid-client";
24
24
  import { alephaServerAuthRoutes } from "../constants/routes.ts";
25
- import { $auth, type AuthDescriptor } from "../descriptors/$auth.ts";
25
+ import { $auth, type AuthPrimitive } from "../primitives/$auth.ts";
26
26
  import type { AuthenticationProvider } from "../schemas/authenticationProviderSchema.ts";
27
27
  import { tokenResponseSchema } from "../schemas/tokenResponseSchema.ts";
28
28
  import { type Tokens, tokensSchema } from "../schemas/tokensSchema.ts";
@@ -57,9 +57,9 @@ export class ServerAuthProvider {
57
57
  schema: tokensSchema,
58
58
  });
59
59
 
60
- public get identities(): Array<AuthDescriptor> {
60
+ public get identities(): Array<AuthPrimitive> {
61
61
  return this.alepha
62
- .descriptors($auth)
62
+ .primitives($auth)
63
63
  .filter((auth) => !auth.options.disabled);
64
64
  }
65
65
 
@@ -603,7 +603,7 @@ export class ServerAuthProvider {
603
603
  },
604
604
  });
605
605
 
606
- protected provider(opts: string | { provider: string }): AuthDescriptor {
606
+ protected provider(opts: string | { provider: string }): AuthPrimitive {
607
607
  const name = typeof opts === "string" ? opts : opts.provider;
608
608
  const identity = this.identities.find((identity) => identity.name === name);
609
609