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,11 +1,11 @@
1
1
  import type { BinaryLike } from "node:crypto";
2
2
  import { createHash } from "node:crypto";
3
3
  import { $hook, $inject, Alepha } from "alepha";
4
- import { $cache, type CacheDescriptorOptions } from "alepha/cache";
4
+ import { $cache, type CachePrimitiveOptions } from "alepha/cache";
5
5
  import { DateTimeProvider, type DurationLike } from "alepha/datetime";
6
6
  import { $logger } from "alepha/logger";
7
7
  import {
8
- ActionDescriptor,
8
+ ActionPrimitive,
9
9
  type RequestConfigSchema,
10
10
  type ServerRequest,
11
11
  type ServerRoute,
@@ -25,13 +25,13 @@ declare module "alepha/server" {
25
25
  cache?: ServerRouteCache;
26
26
  }
27
27
 
28
- interface ActionDescriptor<TConfig extends RequestConfigSchema> {
28
+ interface ActionPrimitive<TConfig extends RequestConfigSchema> {
29
29
  invalidate: () => Promise<void>;
30
30
  }
31
31
  }
32
32
 
33
- ActionDescriptor.prototype.invalidate = async function (
34
- this: ActionDescriptor<RequestConfigSchema>,
33
+ ActionPrimitive.prototype.invalidate = async function (
34
+ this: ActionPrimitive<RequestConfigSchema>,
35
35
  ) {
36
36
  await this.alepha.inject(ServerCacheProvider).invalidate(this.route);
37
37
  };
@@ -422,11 +422,11 @@ export type ServerRouteCache =
422
422
  /**
423
423
  * If true, enables storing cached responses. (in-memory, Redis, @see alepha/cache for other providers)
424
424
  * If a DurationLike is provided, it will be used as the TTL for the cache.
425
- * If CacheDescriptorOptions is provided, it will be used to configure the cache storage.
425
+ * If CachePrimitiveOptions is provided, it will be used to configure the cache storage.
426
426
  *
427
427
  * @default false
428
428
  */
429
- store?: true | DurationLike | CacheDescriptorOptions;
429
+ store?: true | DurationLike | CachePrimitiveOptions;
430
430
  /**
431
431
  * If true, enables ETag support for the cached responses.
432
432
  */
@@ -2,7 +2,7 @@ import { Readable, type Transform } from "node:stream";
2
2
  import { ReadableStream } from "node:stream/web";
3
3
  import { promisify } from "node:util";
4
4
  import * as zlib from "node:zlib";
5
- import { $hook, $inject, Alepha, type HookDescriptor } from "alepha";
5
+ import { $hook, $inject, Alepha } from "alepha";
6
6
  import type { ServerResponse } from "alepha/server";
7
7
 
8
8
  const gzip = promisify(zlib.gzip);
@@ -55,11 +55,11 @@ export class ServerCompressProvider {
55
55
  "text/plain",
56
56
  "text/css",
57
57
  ],
58
- ...this.alepha.state.get("alepha.server.compress.options"),
58
+ ...this.alepha.store.get("alepha.server.compress.options"),
59
59
  };
60
60
  }
61
61
 
62
- public readonly onResponse: HookDescriptor<"server:onResponse"> = $hook({
62
+ public readonly onResponse = $hook({
63
63
  on: "server:onResponse",
64
64
  handler: async ({ request, response }) => {
65
65
  // skip if already compressed
@@ -3,12 +3,12 @@ import { AlephaServer } from "alepha/server";
3
3
 
4
4
  // ---------------------------------------------------------------------------------------------------------------------
5
5
 
6
- export * from "./descriptors/$cookie.browser.ts";
6
+ export * from "./primitives/$cookie.browser.ts";
7
7
 
8
8
  // ---------------------------------------------------------------------------------------------------------------------
9
9
 
10
10
  export const AlephaServerCookies = $module({
11
11
  name: "alepha.server.cookies",
12
- descriptors: [],
12
+ primitives: [],
13
13
  services: [AlephaServer],
14
14
  });
@@ -1,11 +1,11 @@
1
1
  import { $module } from "alepha";
2
2
  import { AlephaServer } from "alepha/server";
3
- import { $cookie, type Cookies } from "./descriptors/$cookie.ts";
3
+ import { $cookie, type Cookies } from "./primitives/$cookie.ts";
4
4
  import { ServerCookiesProvider } from "./providers/ServerCookiesProvider.ts";
5
5
 
6
6
  // ---------------------------------------------------------------------------------------------------------------------
7
7
 
8
- export * from "./descriptors/$cookie.ts";
8
+ export * from "./primitives/$cookie.ts";
9
9
  export * from "./providers/ServerCookiesProvider.ts";
10
10
 
11
11
  // ---------------------------------------------------------------------------------------------------------------------
@@ -17,9 +17,9 @@ declare module "alepha/server" {
17
17
  }
18
18
 
19
19
  /**
20
- * Provides HTTP cookie management capabilities for server requests and responses with type-safe cookie descriptors.
20
+ * Provides HTTP cookie management capabilities for server requests and responses with type-safe cookie primitives.
21
21
  *
22
- * The server-cookies module enables declarative cookie handling using the `$cookie` descriptor on class properties.
22
+ * The server-cookies module enables declarative cookie handling using the `$cookie` primitive on class properties.
23
23
  * It offers automatic cookie parsing, secure cookie configuration, and seamless integration with server routes
24
24
  * for managing user sessions, preferences, and authentication tokens.
25
25
  *
@@ -28,6 +28,6 @@ declare module "alepha/server" {
28
28
  */
29
29
  export const AlephaServerCookies = $module({
30
30
  name: "alepha.server.cookies",
31
- descriptors: [$cookie],
31
+ primitives: [$cookie],
32
32
  services: [AlephaServer, ServerCookiesProvider],
33
33
  });
@@ -2,23 +2,23 @@ import {
2
2
  $inject,
3
3
  Alepha,
4
4
  AlephaError,
5
- createDescriptor,
6
- Descriptor,
5
+ createPrimitive,
7
6
  KIND,
7
+ Primitive,
8
8
  type Static,
9
9
  type TSchema,
10
10
  } from "alepha";
11
11
  import { DateTimeProvider } from "alepha/datetime";
12
12
  import { CookieParser } from "../services/CookieParser.ts";
13
13
  import type {
14
- AbstractCookieDescriptor,
14
+ AbstractCookiePrimitive,
15
15
  Cookie,
16
- CookieDescriptorOptions,
16
+ CookiePrimitiveOptions,
17
17
  Cookies,
18
18
  } from "./$cookie.ts";
19
19
 
20
20
  /**
21
- * Creates a browser-side cookie descriptor for client-side cookie management.
21
+ * Creates a browser-side cookie primitive for client-side cookie management.
22
22
  *
23
23
  * Browser-specific version of $cookie that uses document.cookie API. Supports type-safe
24
24
  * cookie operations with schema validation but excludes encryption/signing (use server-side
@@ -46,16 +46,16 @@ import type {
46
46
  * ```
47
47
  */
48
48
  export const $cookie = <T extends TSchema>(
49
- options: CookieDescriptorOptions<T>,
50
- ): AbstractCookieDescriptor<T> => {
51
- return createDescriptor(BrowserCookieDescriptor<T>, options);
49
+ options: CookiePrimitiveOptions<T>,
50
+ ): AbstractCookiePrimitive<T> => {
51
+ return createPrimitive(BrowserCookiePrimitive<T>, options);
52
52
  };
53
53
 
54
54
  // ---------------------------------------------------------------------------------------------------------------------
55
55
 
56
- export class BrowserCookieDescriptor<T extends TSchema>
57
- extends Descriptor<CookieDescriptorOptions<T>>
58
- implements AbstractCookieDescriptor<T>
56
+ export class BrowserCookiePrimitive<T extends TSchema>
57
+ extends Primitive<CookiePrimitiveOptions<T>>
58
+ implements AbstractCookiePrimitive<T>
59
59
  {
60
60
  protected cookieParser = $inject(CookieParser);
61
61
  protected alepha = $inject(Alepha);
@@ -143,4 +143,4 @@ export class BrowserCookieDescriptor<T extends TSchema>
143
143
  }
144
144
  }
145
145
 
146
- $cookie[KIND] = BrowserCookieDescriptor;
146
+ $cookie[KIND] = BrowserCookiePrimitive;
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  $inject,
3
- createDescriptor,
4
- Descriptor,
3
+ createPrimitive,
5
4
  KIND,
5
+ Primitive,
6
6
  type Static,
7
7
  type TSchema,
8
8
  } from "alepha";
@@ -11,18 +11,18 @@ import { ServerCookiesProvider } from "../providers/ServerCookiesProvider.ts";
11
11
 
12
12
  /**
13
13
  * Declares a type-safe, configurable HTTP cookie.
14
- * This descriptor provides methods to get, set, and delete the cookie
14
+ * This primitive provides methods to get, set, and delete the cookie
15
15
  * within the server request/response cycle.
16
16
  */
17
17
  export const $cookie = <T extends TSchema>(
18
- options: CookieDescriptorOptions<T>,
19
- ): AbstractCookieDescriptor<T> => {
20
- return createDescriptor(CookieDescriptor<T>, options);
18
+ options: CookiePrimitiveOptions<T>,
19
+ ): AbstractCookiePrimitive<T> => {
20
+ return createPrimitive(CookiePrimitive<T>, options);
21
21
  };
22
22
 
23
23
  // ---------------------------------------------------------------------------------------------------------------------
24
24
 
25
- export interface CookieDescriptorOptions<T extends TSchema> {
25
+ export interface CookiePrimitiveOptions<T extends TSchema> {
26
26
  /** The schema for the cookie's value, used for validation and type safety. */
27
27
  schema: T;
28
28
 
@@ -57,9 +57,9 @@ export interface CookieDescriptorOptions<T extends TSchema> {
57
57
  sign?: boolean;
58
58
  }
59
59
 
60
- export interface AbstractCookieDescriptor<T extends TSchema> {
60
+ export interface AbstractCookiePrimitive<T extends TSchema> {
61
61
  readonly name: string;
62
- readonly options: CookieDescriptorOptions<T>;
62
+ readonly options: CookiePrimitiveOptions<T>;
63
63
  set(
64
64
  value: Static<T>,
65
65
  options?: { cookies?: Cookies; ttl?: DurationLike },
@@ -68,9 +68,9 @@ export interface AbstractCookieDescriptor<T extends TSchema> {
68
68
  del(options?: { cookies?: Cookies }): void;
69
69
  }
70
70
 
71
- export class CookieDescriptor<T extends TSchema>
72
- extends Descriptor<CookieDescriptorOptions<T>>
73
- implements AbstractCookieDescriptor<T>
71
+ export class CookiePrimitive<T extends TSchema>
72
+ extends Primitive<CookiePrimitiveOptions<T>>
73
+ implements AbstractCookiePrimitive<T>
74
74
  {
75
75
  protected readonly serverCookiesProvider = $inject(ServerCookiesProvider);
76
76
 
@@ -119,7 +119,7 @@ export class CookieDescriptor<T extends TSchema>
119
119
  }
120
120
  }
121
121
 
122
- $cookie[KIND] = CookieDescriptor;
122
+ $cookie[KIND] = CookiePrimitive;
123
123
 
124
124
  // ---------------------------------------------------------------------------------------------------------------------
125
125
 
@@ -21,9 +21,9 @@ import { DEFAULT_APP_SECRET } from "alepha/security";
21
21
  import type { ServerRequest } from "alepha/server";
22
22
  import type {
23
23
  Cookie,
24
- CookieDescriptorOptions,
24
+ CookiePrimitiveOptions,
25
25
  Cookies,
26
- } from "../descriptors/$cookie.ts";
26
+ } from "../primitives/$cookie.ts";
27
27
  import { CookieParser } from "../services/CookieParser.ts";
28
28
 
29
29
  const envSchema = t.object({
@@ -96,7 +96,7 @@ export class ServerCookiesProvider {
96
96
 
97
97
  public getCookie<T extends TSchema>(
98
98
  name: string,
99
- options: CookieDescriptorOptions<T>,
99
+ options: CookiePrimitiveOptions<T>,
100
100
  contextCookies?: Cookies,
101
101
  ): Static<T> | undefined {
102
102
  const cookies = this.getCookiesFromContext(contextCookies);
@@ -145,7 +145,7 @@ export class ServerCookiesProvider {
145
145
 
146
146
  public setCookie<T extends TSchema>(
147
147
  name: string,
148
- options: CookieDescriptorOptions<T>,
148
+ options: CookiePrimitiveOptions<T>,
149
149
  data: Static<T>,
150
150
  contextCookies?: Cookies,
151
151
  ): void {
@@ -1,4 +1,4 @@
1
- import type { Cookie } from "../descriptors/$cookie.ts";
1
+ import type { Cookie } from "../primitives/$cookie.ts";
2
2
 
3
3
  export class CookieParser {
4
4
  public parseRequestCookies(header: string): Record<string, string> {
@@ -1,5 +1,5 @@
1
1
  import { $module } from "alepha";
2
- import { $cors } from "./descriptors/$cors.ts";
2
+ import { $cors } from "./primitives/$cors.ts";
3
3
  import {
4
4
  type CorsOptions,
5
5
  ServerCorsProvider,
@@ -7,7 +7,7 @@ import {
7
7
 
8
8
  // ---------------------------------------------------------------------------------------------------------------------
9
9
 
10
- export * from "./descriptors/$cors.ts";
10
+ export * from "./primitives/$cors.ts";
11
11
  export * from "./providers/ServerCorsProvider.ts";
12
12
 
13
13
  // ---------------------------------------------------------------------------------------------------------------------
@@ -52,6 +52,6 @@ declare module "alepha/server" {
52
52
  */
53
53
  export const AlephaServerCors = $module({
54
54
  name: "alepha.server.cors",
55
- descriptors: [$cors],
55
+ primitives: [$cors],
56
56
  services: [ServerCorsProvider],
57
57
  });
@@ -1,10 +1,10 @@
1
- import { $inject, createDescriptor, Descriptor, KIND } from "alepha";
1
+ import { $inject, createPrimitive, KIND, Primitive } from "alepha";
2
2
  import type { CorsOptions } from "../providers/ServerCorsProvider.ts";
3
3
  import { ServerCorsProvider } from "../providers/ServerCorsProvider.ts";
4
4
 
5
5
  /**
6
6
  * Declares CORS configuration for specific server routes.
7
- * This descriptor provides path-based CORS configuration.
7
+ * This primitive provides path-based CORS configuration.
8
8
  *
9
9
  * @example
10
10
  * ```ts
@@ -18,15 +18,13 @@ import { ServerCorsProvider } from "../providers/ServerCorsProvider.ts";
18
18
  * }
19
19
  * ```
20
20
  */
21
- export const $cors = (
22
- options: CorsDescriptorConfig,
23
- ): AbstractCorsDescriptor => {
24
- return createDescriptor(CorsDescriptor, options);
21
+ export const $cors = (options: CorsPrimitiveConfig): AbstractCorsPrimitive => {
22
+ return createPrimitive(CorsPrimitive, options);
25
23
  };
26
24
 
27
25
  // ---------------------------------------------------------------------------------------------------------------------
28
26
 
29
- export interface CorsDescriptorConfig extends Partial<CorsOptions> {
27
+ export interface CorsPrimitiveConfig extends Partial<CorsOptions> {
30
28
  /** Name identifier for this CORS config (default: property key) */
31
29
  name?: string;
32
30
  /** Path patterns to match (supports wildcards like /api/*) */
@@ -35,14 +33,14 @@ export interface CorsDescriptorConfig extends Partial<CorsOptions> {
35
33
 
36
34
  // ---------------------------------------------------------------------------------------------------------------------
37
35
 
38
- export interface AbstractCorsDescriptor {
36
+ export interface AbstractCorsPrimitive {
39
37
  readonly name: string;
40
- readonly options: CorsDescriptorConfig;
38
+ readonly options: CorsPrimitiveConfig;
41
39
  }
42
40
 
43
- export class CorsDescriptor
44
- extends Descriptor<CorsDescriptorConfig>
45
- implements AbstractCorsDescriptor
41
+ export class CorsPrimitive
42
+ extends Primitive<CorsPrimitiveConfig>
43
+ implements AbstractCorsPrimitive
46
44
  {
47
45
  protected readonly serverCorsProvider = $inject(ServerCorsProvider);
48
46
 
@@ -56,4 +54,4 @@ export class CorsDescriptor
56
54
  }
57
55
  }
58
56
 
59
- $cors[KIND] = CorsDescriptor;
57
+ $cors[KIND] = CorsPrimitive;
@@ -1,7 +1,7 @@
1
1
  import { $atom, $hook, $inject, $use, type Static, t } from "alepha";
2
2
  import { $logger } from "alepha/logger";
3
3
  import { ServerRouterProvider } from "alepha/server";
4
- import type { CorsDescriptorConfig } from "../descriptors/$cors.ts";
4
+ import type { CorsPrimitiveConfig } from "../primitives/$cors.ts";
5
5
 
6
6
  // ---------------------------------------------------------------------------------------------------------------------
7
7
 
@@ -64,12 +64,12 @@ export class ServerCorsProvider {
64
64
  /**
65
65
  * Registered CORS configurations with their path patterns
66
66
  */
67
- public readonly registeredConfigs: CorsDescriptorConfig[] = [];
67
+ public readonly registeredConfigs: CorsPrimitiveConfig[] = [];
68
68
 
69
69
  /**
70
- * Register a CORS configuration (called by descriptors)
70
+ * Register a CORS configuration (called by primitives)
71
71
  */
72
- public registerCors(config: CorsDescriptorConfig): void {
72
+ public registerCors(config: CorsPrimitiveConfig): void {
73
73
  this.registeredConfigs.push(config);
74
74
  }
75
75
 
@@ -132,7 +132,7 @@ export class ServerCorsProvider {
132
132
  /**
133
133
  * Build complete CORS options by merging with global defaults
134
134
  */
135
- protected buildCorsOptions(config: CorsDescriptorConfig): CorsOptions {
135
+ protected buildCorsOptions(config: CorsPrimitiveConfig): CorsOptions {
136
136
  return {
137
137
  origin: config.origin ?? this.globalOptions.origin,
138
138
  methods: config.methods ?? this.globalOptions.methods,
@@ -1,12 +1,12 @@
1
1
  import { $module } from "alepha";
2
- import { $client } from "./descriptors/$client.ts";
3
- import { $remote } from "./descriptors/$remote.ts";
2
+ import { $client } from "./primitives/$client.ts";
3
+ import { $remote } from "./primitives/$remote.ts";
4
4
  import { LinkProvider } from "./providers/LinkProvider.ts";
5
5
 
6
6
  // ---------------------------------------------------------------------------------------------------------------------
7
7
 
8
- export * from "./descriptors/$client.ts";
9
- export * from "./descriptors/$remote.ts";
8
+ export * from "./primitives/$client.ts";
9
+ export * from "./primitives/$remote.ts";
10
10
  export * from "./providers/LinkProvider.ts";
11
11
  export * from "./schemas/apiLinksResponseSchema.ts";
12
12
 
@@ -14,6 +14,6 @@ export * from "./schemas/apiLinksResponseSchema.ts";
14
14
 
15
15
  export const AlephaServerLinks = $module({
16
16
  name: "alepha.server.links",
17
- descriptors: [$remote, $client],
17
+ primitives: [$remote, $client],
18
18
  services: [LinkProvider],
19
19
  });
@@ -1,19 +1,19 @@
1
1
  import "alepha/server/security";
2
2
  import { $module } from "alepha";
3
3
  import { AlephaServer } from "alepha/server";
4
- import { $client } from "./descriptors/$client.ts";
5
- import { $remote } from "./descriptors/$remote.ts";
4
+ import { $client } from "./primitives/$client.ts";
5
+ import { $remote } from "./primitives/$remote.ts";
6
6
  import { LinkProvider } from "./providers/LinkProvider.ts";
7
- import { RemoteDescriptorProvider } from "./providers/RemoteDescriptorProvider.ts";
7
+ import { RemotePrimitiveProvider } from "./providers/RemotePrimitiveProvider.ts";
8
8
  import { ServerLinksProvider } from "./providers/ServerLinksProvider.ts";
9
9
  import type { ApiLinksResponse } from "./schemas/apiLinksResponseSchema.ts";
10
10
 
11
11
  // ---------------------------------------------------------------------------------------------------------------------
12
12
 
13
- export * from "./descriptors/$client.ts";
14
- export * from "./descriptors/$remote.ts";
13
+ export * from "./primitives/$client.ts";
14
+ export * from "./primitives/$remote.ts";
15
15
  export * from "./providers/LinkProvider.ts";
16
- export * from "./providers/RemoteDescriptorProvider.ts";
16
+ export * from "./providers/RemotePrimitiveProvider.ts";
17
17
  export * from "./providers/ServerLinksProvider.ts";
18
18
  export * from "./schemas/apiLinksResponseSchema.ts";
19
19
 
@@ -36,7 +36,7 @@ declare module "alepha" {
36
36
  /**
37
37
  * Provides server-side link management and remote capabilities for client-server interactions.
38
38
  *
39
- * The server-links module enables declarative link definitions using `$remote` and `$client` descriptors,
39
+ * The server-links module enables declarative link definitions using `$remote` and `$client` primitives,
40
40
  * facilitating seamless API endpoint management and client-server communication. It integrates with server
41
41
  * security features to ensure safe and controlled access to resources.
42
42
  *
@@ -46,11 +46,11 @@ declare module "alepha" {
46
46
  */
47
47
  export const AlephaServerLinks = $module({
48
48
  name: "alepha.server.links",
49
- descriptors: [$remote, $client],
49
+ primitives: [$remote, $client],
50
50
  services: [
51
51
  AlephaServer,
52
52
  ServerLinksProvider,
53
- RemoteDescriptorProvider,
53
+ RemotePrimitiveProvider,
54
54
  LinkProvider,
55
55
  ],
56
56
  });
@@ -1,9 +1,9 @@
1
- import { createDescriptor, Descriptor, KIND } from "alepha";
2
- import type { ServiceAccountDescriptor } from "alepha/security";
3
- import type { ProxyDescriptorOptions } from "alepha/server/proxy";
1
+ import { createPrimitive, KIND, Primitive } from "alepha";
2
+ import type { ServiceAccountPrimitive } from "alepha/security";
3
+ import type { ProxyPrimitiveOptions } from "alepha/server/proxy";
4
4
 
5
5
  /**
6
- * $remote is a descriptor that allows you to define remote service access.
6
+ * $remote is a primitive that allows you to define remote service access.
7
7
  *
8
8
  * Use it only when you have 2 or more services that need to communicate with each other.
9
9
  *
@@ -11,11 +11,11 @@ import type { ProxyDescriptorOptions } from "alepha/server/proxy";
11
11
  *
12
12
  * You can add a service account if you want to use a security layer.
13
13
  */
14
- export const $remote = (options: RemoteDescriptorOptions) => {
15
- return createDescriptor(RemoteDescriptor, options);
14
+ export const $remote = (options: RemotePrimitiveOptions) => {
15
+ return createPrimitive(RemotePrimitive, options);
16
16
  };
17
17
 
18
- export interface RemoteDescriptorOptions {
18
+ export interface RemotePrimitiveOptions {
19
19
  /**
20
20
  * The URL of the remote service.
21
21
  * You can use a function to generate the URL dynamically.
@@ -52,7 +52,7 @@ export interface RemoteDescriptorOptions {
52
52
  proxy?:
53
53
  | boolean
54
54
  | Partial<
55
- ProxyDescriptorOptions & {
55
+ ProxyPrimitiveOptions & {
56
56
  /**
57
57
  * If true, the remote service won't be available internally, only through the proxy.
58
58
  */
@@ -64,13 +64,13 @@ export interface RemoteDescriptorOptions {
64
64
  * For communication between the server and the remote service with a security layer.
65
65
  * This will be used for internal communication and will not be exposed to the client.
66
66
  */
67
- serviceAccount?: ServiceAccountDescriptor;
67
+ serviceAccount?: ServiceAccountPrimitive;
68
68
  }
69
69
 
70
- export class RemoteDescriptor extends Descriptor<RemoteDescriptorOptions> {
70
+ export class RemotePrimitive extends Primitive<RemotePrimitiveOptions> {
71
71
  public get name(): string {
72
72
  return this.options.name ?? this.config.propertyKey;
73
73
  }
74
74
  }
75
75
 
76
- $remote[KIND] = RemoteDescriptor;
76
+ $remote[KIND] = RemotePrimitive;
@@ -1,7 +1,7 @@
1
1
  import { $inject, Alepha, AlephaError, type Async, t } from "alepha";
2
2
  import { $logger } from "alepha/logger";
3
3
  import {
4
- type ActionDescriptor,
4
+ type ActionPrimitive,
5
5
  type ClientRequestEntry,
6
6
  type ClientRequestOptions,
7
7
  type ClientRequestResponse,
@@ -79,7 +79,7 @@ export class LinkProvider {
79
79
 
80
80
  public get links(): HttpClientLink[] {
81
81
  // TODO: not performant at all, use a map instead for ServerLinks
82
- const apiLinks = this.alepha.state.get(
82
+ const apiLinks = this.alepha.store.get(
83
83
  "alepha.server.request.apiLinks",
84
84
  )?.links;
85
85
  if (apiLinks) {
@@ -114,7 +114,7 @@ export class LinkProvider {
114
114
  },
115
115
  );
116
116
 
117
- this.alepha.state.set("alepha.server.request.apiLinks", data);
117
+ this.alepha.store.set("alepha.server.request.apiLinks", data);
118
118
 
119
119
  return data.links;
120
120
  }
@@ -277,7 +277,7 @@ export class LinkProvider {
277
277
  ): Promise<HttpClientLink> {
278
278
  if (
279
279
  this.alepha.isBrowser() &&
280
- !this.alepha.state.get("alepha.server.request.apiLinks")
280
+ !this.alepha.store.get("alepha.server.request.apiLinks")
281
281
  ) {
282
282
  await this.fetchLinks();
283
283
  }
@@ -334,15 +334,15 @@ export interface ClientScope {
334
334
  }
335
335
 
336
336
  export type HttpVirtualClient<T> = {
337
- [K in keyof T as T[K] extends ActionDescriptor<RequestConfigSchema>
337
+ [K in keyof T as T[K] extends ActionPrimitive<RequestConfigSchema>
338
338
  ? K
339
- : never]: T[K] extends ActionDescriptor<infer Schema>
339
+ : never]: T[K] extends ActionPrimitive<infer Schema>
340
340
  ? VirtualAction<Schema>
341
341
  : never;
342
342
  };
343
343
 
344
344
  export interface VirtualAction<T extends RequestConfigSchema>
345
- extends Pick<ActionDescriptor<T>, "name" | "run" | "fetch"> {
345
+ extends Pick<ActionPrimitive<T>, "name" | "run" | "fetch"> {
346
346
  (
347
347
  config?: ClientRequestEntry<T>,
348
348
  opts?: ClientRequestOptions,
@@ -1,9 +1,9 @@
1
1
  import { $env, $hook, $inject, Alepha, t } from "alepha";
2
2
  import { $logger } from "alepha/logger";
3
3
  import { $retry } from "alepha/retry";
4
- import type { ServiceAccountDescriptor } from "alepha/security";
4
+ import type { ServiceAccountPrimitive } from "alepha/security";
5
5
  import { ServerProxyProvider } from "alepha/server/proxy";
6
- import { $remote, type RemoteDescriptor } from "../descriptors/$remote.ts";
6
+ import { $remote, type RemotePrimitive } from "../primitives/$remote.ts";
7
7
  import {
8
8
  type ApiLinksResponse,
9
9
  apiLinksResponseSchema,
@@ -17,7 +17,7 @@ const envSchema = t.object({
17
17
  }),
18
18
  });
19
19
 
20
- export class RemoteDescriptorProvider {
20
+ export class RemotePrimitiveProvider {
21
21
  protected readonly env = $env(envSchema);
22
22
  protected readonly alepha = $inject(Alepha);
23
23
  protected readonly proxyProvider = $inject(ServerProxyProvider);
@@ -32,7 +32,7 @@ export class RemoteDescriptorProvider {
32
32
  public readonly configure = $hook({
33
33
  on: "configure",
34
34
  handler: async () => {
35
- const remotes = this.alepha.descriptors($remote);
35
+ const remotes = this.alepha.primitives($remote);
36
36
  for (const remote of remotes) {
37
37
  await this.registerRemote(remote);
38
38
  }
@@ -78,7 +78,7 @@ export class RemoteDescriptorProvider {
78
78
  },
79
79
  });
80
80
 
81
- public async registerRemote(value: RemoteDescriptor): Promise<void> {
81
+ public async registerRemote(value: RemotePrimitive): Promise<void> {
82
82
  const options = value.options;
83
83
  const url = typeof options.url === "string" ? options.url : options.url();
84
84
  const linkPath = LinkProvider.path.apiLinks;
@@ -225,7 +225,7 @@ export interface ServerRemote {
225
225
  /**
226
226
  * Force a default access token provider when not provided.
227
227
  */
228
- serviceAccount?: ServiceAccountDescriptor;
228
+ serviceAccount?: ServiceAccountPrimitive;
229
229
 
230
230
  /**
231
231
  * Prefix for the remote service links.
@@ -18,7 +18,7 @@ import {
18
18
  apiLinksResponseSchema,
19
19
  } from "../schemas/apiLinksResponseSchema.ts";
20
20
  import { LinkProvider } from "./LinkProvider.ts";
21
- import { RemoteDescriptorProvider } from "./RemoteDescriptorProvider.ts";
21
+ import { RemotePrimitiveProvider } from "./RemotePrimitiveProvider.ts";
22
22
 
23
23
  const envSchema = t.object({
24
24
  SERVER_API_PREFIX: t.text({
@@ -31,7 +31,7 @@ export class ServerLinksProvider {
31
31
  protected readonly env = $env(envSchema);
32
32
  protected readonly alepha = $inject(Alepha);
33
33
  protected readonly linkProvider = $inject(LinkProvider);
34
- protected readonly remoteProvider = $inject(RemoteDescriptorProvider);
34
+ protected readonly remoteProvider = $inject(RemotePrimitiveProvider);
35
35
  protected readonly serverTimingProvider = $inject(ServerTimingProvider);
36
36
 
37
37
  public get prefix() {
@@ -42,7 +42,7 @@ export class ServerLinksProvider {
42
42
  on: "configure",
43
43
  handler: () => {
44
44
  // convert all $action to local links
45
- for (const action of this.alepha.descriptors($action)) {
45
+ for (const action of this.alepha.primitives($action)) {
46
46
  this.linkProvider.registerLink({
47
47
  name: action.name,
48
48
  group: action.group,