alepha 0.13.6 → 0.13.8

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 (487) hide show
  1. package/README.md +5 -2
  2. package/assets/swagger-ui/swagger-ui-bundle.js +1 -1
  3. package/assets/swagger-ui/swagger-ui-standalone-preset.js +1 -1
  4. package/assets/swagger-ui/swagger-ui.css +1 -1
  5. package/dist/api/audits/index.browser.js +116 -0
  6. package/dist/api/audits/index.browser.js.map +1 -0
  7. package/dist/api/audits/index.d.ts +1194 -0
  8. package/dist/api/audits/index.js +674 -0
  9. package/dist/api/audits/index.js.map +1 -0
  10. package/dist/{api-files → api/files}/index.browser.js +5 -5
  11. package/dist/api/files/index.browser.js.map +1 -0
  12. package/dist/{api-files → api/files}/index.d.ts +16 -9
  13. package/dist/{api-files → api/files}/index.js +10 -10
  14. package/dist/api/files/index.js.map +1 -0
  15. package/dist/{api-jobs → api/jobs}/index.browser.js +5 -5
  16. package/dist/api/jobs/index.browser.js.map +1 -0
  17. package/dist/{api-jobs → api/jobs}/index.d.ts +35 -35
  18. package/dist/{api-jobs → api/jobs}/index.js +9 -9
  19. package/dist/api/jobs/index.js.map +1 -0
  20. package/dist/{api-notifications → api/notifications}/index.browser.js +11 -11
  21. package/dist/api/notifications/index.browser.js.map +1 -0
  22. package/dist/api/notifications/index.d.ts +327 -0
  23. package/dist/{api-notifications → api/notifications}/index.js +11 -11
  24. package/dist/api/notifications/index.js.map +1 -0
  25. package/dist/api/parameters/index.browser.js +60 -0
  26. package/dist/api/parameters/index.browser.js.map +1 -0
  27. package/dist/api/parameters/index.d.ts +761 -0
  28. package/dist/api/parameters/index.js +877 -0
  29. package/dist/api/parameters/index.js.map +1 -0
  30. package/dist/{api-users → api/users}/index.browser.js +6 -6
  31. package/dist/api/users/index.browser.js.map +1 -0
  32. package/dist/{api-users → api/users}/index.d.ts +259 -247
  33. package/dist/{api-users → api/users}/index.js +125 -112
  34. package/dist/api/users/index.js.map +1 -0
  35. package/dist/{api-verifications → api/verifications}/index.browser.js +5 -5
  36. package/dist/api/verifications/index.browser.js.map +1 -0
  37. package/dist/api/verifications/index.d.ts +248 -0
  38. package/dist/{api-verifications → api/verifications}/index.js +13 -12
  39. package/dist/api/verifications/index.js.map +1 -0
  40. package/dist/bin/index.js +1 -0
  41. package/dist/bin/index.js.map +1 -1
  42. package/dist/cache/{index.d.ts → core/index.d.ts} +4 -4
  43. package/dist/cache/{index.js → core/index.js} +5 -5
  44. package/dist/cache/core/index.js.map +1 -0
  45. package/dist/{cache-redis → cache/redis}/index.d.ts +2 -2
  46. package/dist/{cache-redis → cache/redis}/index.js +2 -2
  47. package/dist/cache/redis/index.js.map +1 -0
  48. package/dist/cli/index.d.ts +71 -9
  49. package/dist/cli/index.js +280 -79
  50. package/dist/cli/index.js.map +1 -1
  51. package/dist/command/index.d.ts +63 -2
  52. package/dist/command/index.js +30 -3
  53. package/dist/command/index.js.map +1 -1
  54. package/dist/core/index.browser.js +241 -61
  55. package/dist/core/index.browser.js.map +1 -1
  56. package/dist/core/index.d.ts +170 -90
  57. package/dist/core/index.js +264 -67
  58. package/dist/core/index.js.map +1 -1
  59. package/dist/core/index.native.js +248 -65
  60. package/dist/core/index.native.js.map +1 -1
  61. package/dist/email/index.js +15 -10554
  62. package/dist/email/index.js.map +1 -1
  63. package/dist/lock/{index.d.ts → core/index.d.ts} +5 -5
  64. package/dist/lock/{index.js → core/index.js} +5 -5
  65. package/dist/lock/core/index.js.map +1 -0
  66. package/dist/{lock-redis → lock/redis}/index.d.ts +2 -2
  67. package/dist/{lock-redis → lock/redis}/index.js +2 -2
  68. package/dist/lock/redis/index.js.map +1 -0
  69. package/dist/logger/index.d.ts +4 -4
  70. package/dist/logger/index.js +77 -72
  71. package/dist/logger/index.js.map +1 -1
  72. package/dist/orm/index.d.ts +5 -1
  73. package/dist/orm/index.js +24 -7
  74. package/dist/orm/index.js.map +1 -1
  75. package/dist/queue/core/index.d.ts +548 -0
  76. package/dist/queue/core/index.js +391 -0
  77. package/dist/queue/core/index.js.map +1 -0
  78. package/dist/queue/redis/index.d.ts +28 -0
  79. package/dist/queue/redis/index.js +43 -0
  80. package/dist/queue/redis/index.js.map +1 -0
  81. package/dist/scheduler/index.d.ts +7 -7
  82. package/dist/scheduler/index.js +1 -393
  83. package/dist/scheduler/index.js.map +1 -1
  84. package/dist/security/index.d.ts +1 -1
  85. package/dist/security/index.js +2 -1413
  86. package/dist/security/index.js.map +1 -1
  87. package/dist/{server-auth → server/auth}/index.browser.js +6 -6
  88. package/dist/server/auth/index.browser.js.map +1 -0
  89. package/dist/{server-auth → server/auth}/index.d.ts +175 -164
  90. package/dist/server/auth/index.js +742 -0
  91. package/dist/server/auth/index.js.map +1 -0
  92. package/dist/{server-cache → server/cache}/index.d.ts +2 -2
  93. package/dist/{server-cache → server/cache}/index.js +2 -2
  94. package/dist/server/cache/index.js.map +1 -0
  95. package/dist/{server-compress → server/compress}/index.d.ts +2 -2
  96. package/dist/{server-compress → server/compress}/index.js +2 -2
  97. package/dist/server/compress/index.js.map +1 -0
  98. package/dist/{server-cookies → server/cookies}/index.browser.js +3 -3
  99. package/dist/server/cookies/index.browser.js.map +1 -0
  100. package/dist/{server-cookies → server/cookies}/index.d.ts +4 -4
  101. package/dist/{server-cookies → server/cookies}/index.js +9 -5
  102. package/dist/server/cookies/index.js.map +1 -0
  103. package/dist/server/{index.browser.js → core/index.browser.js} +14 -14
  104. package/dist/server/core/index.browser.js.map +1 -0
  105. package/dist/server/{index.d.ts → core/index.d.ts} +46 -37
  106. package/dist/server/{index.js → core/index.js} +47 -33
  107. package/dist/server/core/index.js.map +1 -0
  108. package/dist/{server-cors → server/cors}/index.d.ts +3 -3
  109. package/dist/{server-cors → server/cors}/index.js +3 -3
  110. package/dist/server/cors/index.js.map +1 -0
  111. package/dist/{server-health → server/health}/index.d.ts +3 -3
  112. package/dist/{server-health → server/health}/index.js +3 -3
  113. package/dist/server/health/index.js.map +1 -0
  114. package/dist/{server-helmet → server/helmet}/index.d.ts +2 -2
  115. package/dist/{server-helmet → server/helmet}/index.js +2 -2
  116. package/dist/server/helmet/index.js.map +1 -0
  117. package/dist/{server-links → server/links}/index.browser.js +5 -5
  118. package/dist/server/links/index.browser.js.map +1 -0
  119. package/dist/{server-links → server/links}/index.d.ts +40 -40
  120. package/dist/{server-links → server/links}/index.js +7 -7
  121. package/dist/server/links/index.js.map +1 -0
  122. package/dist/{server-metrics → server/metrics}/index.d.ts +2 -2
  123. package/dist/server/metrics/index.js +74 -0
  124. package/dist/server/metrics/index.js.map +1 -0
  125. package/dist/{server-multipart → server/multipart}/index.d.ts +2 -2
  126. package/dist/{server-multipart → server/multipart}/index.js +2 -2
  127. package/dist/server/multipart/index.js.map +1 -0
  128. package/dist/{server-proxy → server/proxy}/index.d.ts +3 -3
  129. package/dist/{server-proxy → server/proxy}/index.js +3 -3
  130. package/dist/server/proxy/index.js.map +1 -0
  131. package/dist/{server-rate-limit → server/rate-limit}/index.d.ts +4 -4
  132. package/dist/{server-rate-limit → server/rate-limit}/index.js +4 -4
  133. package/dist/server/rate-limit/index.js.map +1 -0
  134. package/dist/{server-security → server/security}/index.browser.js +1 -1
  135. package/dist/server/security/index.browser.js.map +1 -0
  136. package/dist/{server-security → server/security}/index.d.ts +4 -4
  137. package/dist/{server-security → server/security}/index.js +4 -4
  138. package/dist/server/security/index.js.map +1 -0
  139. package/dist/{server-static → server/static}/index.d.ts +3 -3
  140. package/dist/{server-static → server/static}/index.js +3 -3
  141. package/dist/server/static/index.js.map +1 -0
  142. package/dist/{server-swagger → server/swagger}/index.d.ts +3 -3
  143. package/dist/{server-swagger → server/swagger}/index.js +4 -4
  144. package/dist/server/swagger/index.js.map +1 -0
  145. package/dist/thread/index.js +2 -2
  146. package/dist/thread/index.js.map +1 -1
  147. package/dist/topic/{index.d.ts → core/index.d.ts} +6 -6
  148. package/dist/topic/{index.js → core/index.js} +6 -6
  149. package/dist/topic/core/index.js.map +1 -0
  150. package/dist/{topic-redis → topic/redis}/index.d.ts +2 -2
  151. package/dist/{topic-redis → topic/redis}/index.js +2 -2
  152. package/dist/topic/redis/index.js.map +1 -0
  153. package/dist/vite/index.d.ts +13 -2
  154. package/dist/vite/index.js +114 -50
  155. package/dist/vite/index.js.map +1 -1
  156. package/dist/websocket/index.browser.js +3 -3
  157. package/dist/websocket/index.browser.js.map +1 -1
  158. package/dist/websocket/index.js +4 -4
  159. package/dist/websocket/index.js.map +1 -1
  160. package/package.json +160 -156
  161. package/src/api/audits/controllers/AuditController.ts +186 -0
  162. package/src/api/audits/entities/audits.ts +132 -0
  163. package/src/api/audits/index.browser.ts +18 -0
  164. package/src/api/audits/index.ts +58 -0
  165. package/src/api/audits/primitives/$audit.ts +159 -0
  166. package/src/api/audits/schemas/auditQuerySchema.ts +23 -0
  167. package/src/api/audits/schemas/auditResourceSchema.ts +9 -0
  168. package/src/api/audits/schemas/createAuditSchema.ts +27 -0
  169. package/src/api/audits/services/AuditService.ts +412 -0
  170. package/src/{api-files → api/files}/index.ts +1 -0
  171. package/src/api/parameters/controllers/ConfigController.ts +324 -0
  172. package/src/api/parameters/entities/parameters.ts +113 -0
  173. package/src/api/parameters/index.ts +60 -0
  174. package/src/api/parameters/primitives/$config.ts +351 -0
  175. package/src/api/parameters/schedulers/ConfigActivationScheduler.ts +30 -0
  176. package/src/api/parameters/services/ConfigStore.ts +491 -0
  177. package/src/{api-users → api/users}/atoms/realmAuthSettingsAtom.ts +19 -0
  178. package/src/{api-users → api/users}/controllers/UserRealmController.ts +0 -2
  179. package/src/{api-users → api/users}/index.ts +2 -0
  180. package/src/{api-users → api/users}/primitives/$userRealm.ts +18 -3
  181. package/src/{api-users → api/users}/providers/UserRealmProvider.ts +12 -10
  182. package/src/{api-users → api/users}/services/RegistrationService.ts +2 -1
  183. package/src/{api-users → api/users}/services/SessionService.ts +4 -0
  184. package/src/{api-users → api/users}/services/UserService.ts +3 -0
  185. package/src/{api-verifications → api/verifications}/index.ts +9 -1
  186. package/src/bin/index.ts +1 -0
  187. package/src/cli/apps/AlephaPackageBuilderCli.ts +73 -48
  188. package/src/cli/assets/appRouterTs.ts +1 -1
  189. package/src/cli/assets/biomeJson.ts +2 -2
  190. package/src/cli/assets/dummySpecTs.ts +7 -0
  191. package/src/cli/assets/editorconfig.ts +13 -0
  192. package/src/cli/assets/indexHtml.ts +1 -1
  193. package/src/cli/assets/mainBrowserTs.ts +1 -1
  194. package/src/cli/assets/mainTs.ts +14 -0
  195. package/src/cli/assets/viteConfigTs.ts +1 -1
  196. package/src/cli/commands/BiomeCommands.ts +2 -0
  197. package/src/cli/commands/CoreCommands.ts +38 -15
  198. package/src/cli/commands/VerifyCommands.ts +6 -2
  199. package/src/cli/commands/ViteCommands.ts +28 -18
  200. package/src/cli/services/AlephaCliUtils.ts +243 -37
  201. package/src/command/helpers/Asker.ts +0 -1
  202. package/src/command/primitives/$command.ts +67 -0
  203. package/src/command/providers/CliProvider.ts +39 -8
  204. package/src/core/Alepha.ts +40 -30
  205. package/src/core/helpers/jsonSchemaToTypeBox.ts +307 -0
  206. package/src/core/index.shared.ts +1 -0
  207. package/src/core/index.ts +30 -3
  208. package/src/core/providers/EventManager.ts +1 -1
  209. package/src/core/providers/SchemaValidator.ts +1 -1
  210. package/src/core/providers/StateManager.ts +23 -12
  211. package/src/core/providers/TypeProvider.ts +26 -34
  212. package/src/logger/index.ts +8 -6
  213. package/src/logger/primitives/$logger.ts +1 -1
  214. package/src/logger/providers/{SimpleFormatterProvider.ts → PrettyFormatterProvider.ts} +10 -1
  215. package/src/orm/index.ts +6 -0
  216. package/src/orm/services/PgRelationManager.ts +2 -2
  217. package/src/orm/services/PostgresModelBuilder.ts +11 -7
  218. package/src/orm/services/Repository.ts +16 -7
  219. package/src/orm/services/SqliteModelBuilder.ts +10 -0
  220. package/src/queue/{index.ts → core/index.ts} +2 -3
  221. package/src/queue/{primitives → core/primitives}/$queue.ts +17 -162
  222. package/src/queue/core/providers/MemoryQueueProvider.ts +19 -0
  223. package/src/queue/core/providers/QueueProvider.ts +23 -0
  224. package/src/queue/core/providers/WorkerProvider.ts +244 -0
  225. package/src/queue/redis/providers/RedisQueueProvider.ts +31 -0
  226. package/src/{server-auth → server/auth}/primitives/$auth.ts +7 -0
  227. package/src/{server-auth → server/auth}/providers/ServerAuthProvider.ts +51 -8
  228. package/src/{server-cookies → server/cookies}/index.ts +2 -1
  229. package/src/server/{index.ts → core/index.ts} +7 -0
  230. package/src/server/{primitives → core/primitives}/$action.ts +10 -1
  231. package/src/server/{providers → core/providers}/ServerBodyParserProvider.ts +11 -5
  232. package/src/server/{providers → core/providers}/ServerRouterProvider.ts +13 -7
  233. package/src/{server-rate-limit → server/rate-limit}/index.ts +1 -1
  234. package/src/{server-swagger → server/swagger}/providers/ServerSwaggerProvider.ts +1 -0
  235. package/src/thread/primitives/$thread.ts +2 -2
  236. package/src/vite/index.ts +0 -2
  237. package/src/vite/tasks/buildServer.ts +3 -4
  238. package/src/vite/tasks/copyAssets.ts +32 -8
  239. package/src/vite/tasks/generateCloudflare.ts +35 -19
  240. package/src/vite/tasks/generateDocker.ts +18 -4
  241. package/src/vite/tasks/generateSitemap.ts +5 -7
  242. package/src/vite/tasks/generateVercel.ts +76 -41
  243. package/src/vite/tasks/runAlepha.ts +16 -1
  244. package/src/websocket/providers/NodeWebSocketServerProvider.ts +3 -11
  245. package/src/websocket/services/WebSocketClient.ts +3 -3
  246. package/dist/api-files/index.browser.js.map +0 -1
  247. package/dist/api-files/index.js.map +0 -1
  248. package/dist/api-jobs/index.browser.js.map +0 -1
  249. package/dist/api-jobs/index.js.map +0 -1
  250. package/dist/api-notifications/index.browser.js.map +0 -1
  251. package/dist/api-notifications/index.d.ts +0 -327
  252. package/dist/api-notifications/index.js.map +0 -1
  253. package/dist/api-parameters/index.browser.js +0 -29
  254. package/dist/api-parameters/index.browser.js.map +0 -1
  255. package/dist/api-parameters/index.d.ts +0 -83
  256. package/dist/api-parameters/index.js +0 -63
  257. package/dist/api-parameters/index.js.map +0 -1
  258. package/dist/api-users/index.browser.js.map +0 -1
  259. package/dist/api-users/index.js.map +0 -1
  260. package/dist/api-verifications/index.browser.js.map +0 -1
  261. package/dist/api-verifications/index.d.ts +0 -229
  262. package/dist/api-verifications/index.js.map +0 -1
  263. package/dist/cache/index.js.map +0 -1
  264. package/dist/cache-redis/index.js.map +0 -1
  265. package/dist/cli/dist-BlfFtOk2.js +0 -2770
  266. package/dist/cli/dist-BlfFtOk2.js.map +0 -1
  267. package/dist/lock/index.js.map +0 -1
  268. package/dist/lock-redis/index.js.map +0 -1
  269. package/dist/queue/index.d.ts +0 -1265
  270. package/dist/queue/index.js +0 -1037
  271. package/dist/queue/index.js.map +0 -1
  272. package/dist/queue-redis/index.d.ts +0 -82
  273. package/dist/queue-redis/index.js +0 -872
  274. package/dist/queue-redis/index.js.map +0 -1
  275. package/dist/server/index.browser.js.map +0 -1
  276. package/dist/server/index.js.map +0 -1
  277. package/dist/server-auth/index.browser.js.map +0 -1
  278. package/dist/server-auth/index.js +0 -1943
  279. package/dist/server-auth/index.js.map +0 -1
  280. package/dist/server-cache/index.js.map +0 -1
  281. package/dist/server-compress/index.js.map +0 -1
  282. package/dist/server-cookies/index.browser.js.map +0 -1
  283. package/dist/server-cookies/index.js.map +0 -1
  284. package/dist/server-cors/index.js.map +0 -1
  285. package/dist/server-health/index.js.map +0 -1
  286. package/dist/server-helmet/index.js.map +0 -1
  287. package/dist/server-links/index.browser.js.map +0 -1
  288. package/dist/server-links/index.js.map +0 -1
  289. package/dist/server-metrics/index.js +0 -4532
  290. package/dist/server-metrics/index.js.map +0 -1
  291. package/dist/server-multipart/index.js.map +0 -1
  292. package/dist/server-proxy/index.js.map +0 -1
  293. package/dist/server-rate-limit/index.js.map +0 -1
  294. package/dist/server-security/index.browser.js.map +0 -1
  295. package/dist/server-security/index.js.map +0 -1
  296. package/dist/server-static/index.js.map +0 -1
  297. package/dist/server-swagger/index.js.map +0 -1
  298. package/dist/topic/index.js.map +0 -1
  299. package/dist/topic-redis/index.js.map +0 -1
  300. package/src/api-parameters/controllers/ParameterController.ts +0 -45
  301. package/src/api-parameters/entities/parameters.ts +0 -30
  302. package/src/api-parameters/index.ts +0 -21
  303. package/src/api-parameters/primitives/$config.ts +0 -79
  304. package/src/api-parameters/services/ParameterStore.ts +0 -23
  305. package/src/queue/interfaces/QueueJob.ts +0 -459
  306. package/src/queue/providers/MemoryQueueProvider.ts +0 -850
  307. package/src/queue/providers/QueueProvider.ts +0 -319
  308. package/src/queue/providers/WorkerProvider.ts +0 -344
  309. package/src/queue-redis/providers/RedisQueueProvider.ts +0 -1209
  310. /package/src/{api-files → api/files}/controllers/FileController.ts +0 -0
  311. /package/src/{api-files → api/files}/controllers/StorageStatsController.ts +0 -0
  312. /package/src/{api-files → api/files}/entities/files.ts +0 -0
  313. /package/src/{api-files → api/files}/index.browser.ts +0 -0
  314. /package/src/{api-files → api/files}/jobs/FileJobs.ts +0 -0
  315. /package/src/{api-files → api/files}/schemas/fileQuerySchema.ts +0 -0
  316. /package/src/{api-files → api/files}/schemas/fileResourceSchema.ts +0 -0
  317. /package/src/{api-files → api/files}/schemas/storageStatsSchema.ts +0 -0
  318. /package/src/{api-files → api/files}/services/FileService.ts +0 -0
  319. /package/src/{api-jobs → api/jobs}/controllers/JobController.ts +0 -0
  320. /package/src/{api-jobs → api/jobs}/entities/jobExecutions.ts +0 -0
  321. /package/src/{api-jobs → api/jobs}/index.browser.ts +0 -0
  322. /package/src/{api-jobs → api/jobs}/index.ts +0 -0
  323. /package/src/{api-jobs → api/jobs}/primitives/$job.ts +0 -0
  324. /package/src/{api-jobs → api/jobs}/providers/JobProvider.ts +0 -0
  325. /package/src/{api-jobs → api/jobs}/schemas/jobExecutionQuerySchema.ts +0 -0
  326. /package/src/{api-jobs → api/jobs}/schemas/jobExecutionResourceSchema.ts +0 -0
  327. /package/src/{api-jobs → api/jobs}/schemas/triggerJobSchema.ts +0 -0
  328. /package/src/{api-jobs → api/jobs}/services/JobService.ts +0 -0
  329. /package/src/{api-notifications → api/notifications}/controllers/NotificationController.ts +0 -0
  330. /package/src/{api-notifications → api/notifications}/entities/notifications.ts +0 -0
  331. /package/src/{api-notifications → api/notifications}/index.browser.ts +0 -0
  332. /package/src/{api-notifications → api/notifications}/index.ts +0 -0
  333. /package/src/{api-notifications → api/notifications}/jobs/NotificationJobs.ts +0 -0
  334. /package/src/{api-notifications → api/notifications}/primitives/$notification.ts +0 -0
  335. /package/src/{api-notifications → api/notifications}/queues/NotificationQueues.ts +0 -0
  336. /package/src/{api-notifications → api/notifications}/schemas/notificationContactPreferencesSchema.ts +0 -0
  337. /package/src/{api-notifications → api/notifications}/schemas/notificationContactSchema.ts +0 -0
  338. /package/src/{api-notifications → api/notifications}/schemas/notificationCreateSchema.ts +0 -0
  339. /package/src/{api-notifications → api/notifications}/schemas/notificationQuerySchema.ts +0 -0
  340. /package/src/{api-notifications → api/notifications}/services/NotificationSenderService.ts +0 -0
  341. /package/src/{api-notifications → api/notifications}/services/NotificationService.ts +0 -0
  342. /package/src/{api-parameters → api/parameters}/index.browser.ts +0 -0
  343. /package/src/{api-users → api/users}/controllers/IdentityController.ts +0 -0
  344. /package/src/{api-users → api/users}/controllers/SessionController.ts +0 -0
  345. /package/src/{api-users → api/users}/controllers/UserController.ts +0 -0
  346. /package/src/{api-users → api/users}/entities/identities.ts +0 -0
  347. /package/src/{api-users → api/users}/entities/sessions.ts +0 -0
  348. /package/src/{api-users → api/users}/entities/users.ts +0 -0
  349. /package/src/{api-users → api/users}/index.browser.ts +0 -0
  350. /package/src/{api-users → api/users}/notifications/UserNotifications.ts +0 -0
  351. /package/src/{api-users → api/users}/schemas/completePasswordResetRequestSchema.ts +0 -0
  352. /package/src/{api-users → api/users}/schemas/completeRegistrationRequestSchema.ts +0 -0
  353. /package/src/{api-users → api/users}/schemas/createUserSchema.ts +0 -0
  354. /package/src/{api-users → api/users}/schemas/identityQuerySchema.ts +0 -0
  355. /package/src/{api-users → api/users}/schemas/identityResourceSchema.ts +0 -0
  356. /package/src/{api-users → api/users}/schemas/loginSchema.ts +0 -0
  357. /package/src/{api-users → api/users}/schemas/passwordResetIntentResponseSchema.ts +0 -0
  358. /package/src/{api-users → api/users}/schemas/registerQuerySchema.ts +0 -0
  359. /package/src/{api-users → api/users}/schemas/registerRequestSchema.ts +0 -0
  360. /package/src/{api-users → api/users}/schemas/registerResponseSchema.ts +0 -0
  361. /package/src/{api-users → api/users}/schemas/registerSchema.ts +0 -0
  362. /package/src/{api-users → api/users}/schemas/registrationIntentResponseSchema.ts +0 -0
  363. /package/src/{api-users → api/users}/schemas/resetPasswordSchema.ts +0 -0
  364. /package/src/{api-users → api/users}/schemas/sessionQuerySchema.ts +0 -0
  365. /package/src/{api-users → api/users}/schemas/sessionResourceSchema.ts +0 -0
  366. /package/src/{api-users → api/users}/schemas/updateUserSchema.ts +0 -0
  367. /package/src/{api-users → api/users}/schemas/userQuerySchema.ts +0 -0
  368. /package/src/{api-users → api/users}/schemas/userRealmConfigSchema.ts +0 -0
  369. /package/src/{api-users → api/users}/schemas/userResourceSchema.ts +0 -0
  370. /package/src/{api-users → api/users}/services/CredentialService.ts +0 -0
  371. /package/src/{api-users → api/users}/services/IdentityService.ts +0 -0
  372. /package/src/{api-users → api/users}/services/SessionCrudService.ts +0 -0
  373. /package/src/{api-verifications → api/verifications}/controllers/VerificationController.ts +0 -0
  374. /package/src/{api-verifications → api/verifications}/entities/verifications.ts +0 -0
  375. /package/src/{api-verifications → api/verifications}/index.browser.ts +0 -0
  376. /package/src/{api-verifications → api/verifications}/jobs/VerificationJobs.ts +0 -0
  377. /package/src/{api-verifications → api/verifications}/parameters/VerificationParameters.ts +0 -0
  378. /package/src/{api-verifications → api/verifications}/schemas/requestVerificationCodeResponseSchema.ts +0 -0
  379. /package/src/{api-verifications → api/verifications}/schemas/validateVerificationCodeResponseSchema.ts +0 -0
  380. /package/src/{api-verifications → api/verifications}/schemas/verificationSettingsSchema.ts +0 -0
  381. /package/src/{api-verifications → api/verifications}/schemas/verificationTypeEnumSchema.ts +0 -0
  382. /package/src/{api-verifications → api/verifications}/services/VerificationService.ts +0 -0
  383. /package/src/cache/{errors → core/errors}/CacheError.ts +0 -0
  384. /package/src/cache/{index.ts → core/index.ts} +0 -0
  385. /package/src/cache/{primitives → core/primitives}/$cache.ts +0 -0
  386. /package/src/cache/{providers → core/providers}/CacheProvider.ts +0 -0
  387. /package/src/cache/{providers → core/providers}/MemoryCacheProvider.ts +0 -0
  388. /package/src/{cache-redis → cache/redis}/index.ts +0 -0
  389. /package/src/{cache-redis → cache/redis}/providers/RedisCacheProvider.ts +0 -0
  390. /package/src/lock/{index.ts → core/index.ts} +0 -0
  391. /package/src/lock/{primitives → core/primitives}/$lock.ts +0 -0
  392. /package/src/lock/{providers → core/providers}/LockProvider.ts +0 -0
  393. /package/src/lock/{providers → core/providers}/LockTopicProvider.ts +0 -0
  394. /package/src/lock/{providers → core/providers}/MemoryLockProvider.ts +0 -0
  395. /package/src/{lock-redis → lock/redis}/index.ts +0 -0
  396. /package/src/{lock-redis → lock/redis}/providers/RedisLockProvider.ts +0 -0
  397. /package/src/queue/{primitives → core/primitives}/$consumer.ts +0 -0
  398. /package/src/{queue-redis → queue/redis}/index.ts +0 -0
  399. /package/src/{server-auth → server/auth}/constants/routes.ts +0 -0
  400. /package/src/{server-auth → server/auth}/index.browser.ts +0 -0
  401. /package/src/{server-auth → server/auth}/index.shared.ts +0 -0
  402. /package/src/{server-auth → server/auth}/index.ts +0 -0
  403. /package/src/{server-auth → server/auth}/primitives/$authApple.ts +0 -0
  404. /package/src/{server-auth → server/auth}/primitives/$authCredentials.ts +0 -0
  405. /package/src/{server-auth → server/auth}/primitives/$authGithub.ts +0 -0
  406. /package/src/{server-auth → server/auth}/primitives/$authGoogle.ts +0 -0
  407. /package/src/{server-auth → server/auth}/schemas/authenticationProviderSchema.ts +0 -0
  408. /package/src/{server-auth → server/auth}/schemas/tokenResponseSchema.ts +0 -0
  409. /package/src/{server-auth → server/auth}/schemas/tokensSchema.ts +0 -0
  410. /package/src/{server-auth → server/auth}/schemas/userinfoResponseSchema.ts +0 -0
  411. /package/src/{server-cache → server/cache}/index.ts +0 -0
  412. /package/src/{server-cache → server/cache}/providers/ServerCacheProvider.ts +0 -0
  413. /package/src/{server-compress → server/compress}/index.ts +0 -0
  414. /package/src/{server-compress → server/compress}/providers/ServerCompressProvider.ts +0 -0
  415. /package/src/{server-cookies → server/cookies}/index.browser.ts +0 -0
  416. /package/src/{server-cookies → server/cookies}/primitives/$cookie.browser.ts +0 -0
  417. /package/src/{server-cookies → server/cookies}/primitives/$cookie.ts +0 -0
  418. /package/src/{server-cookies → server/cookies}/providers/ServerCookiesProvider.ts +0 -0
  419. /package/src/{server-cookies → server/cookies}/services/CookieParser.ts +0 -0
  420. /package/src/server/{constants → core/constants}/routeMethods.ts +0 -0
  421. /package/src/server/{errors → core/errors}/BadRequestError.ts +0 -0
  422. /package/src/server/{errors → core/errors}/ConflictError.ts +0 -0
  423. /package/src/server/{errors → core/errors}/ForbiddenError.ts +0 -0
  424. /package/src/server/{errors → core/errors}/HttpError.ts +0 -0
  425. /package/src/server/{errors → core/errors}/NotFoundError.ts +0 -0
  426. /package/src/server/{errors → core/errors}/UnauthorizedError.ts +0 -0
  427. /package/src/server/{errors → core/errors}/ValidationError.ts +0 -0
  428. /package/src/server/{helpers → core/helpers}/ServerReply.ts +0 -0
  429. /package/src/server/{helpers → core/helpers}/isMultipart.ts +0 -0
  430. /package/src/server/{index.browser.ts → core/index.browser.ts} +0 -0
  431. /package/src/server/{index.shared.ts → core/index.shared.ts} +0 -0
  432. /package/src/server/{interfaces → core/interfaces}/ServerRequest.ts +0 -0
  433. /package/src/server/{primitives → core/primitives}/$route.ts +0 -0
  434. /package/src/server/{providers → core/providers}/BunHttpServerProvider.ts +0 -0
  435. /package/src/server/{providers → core/providers}/NodeHttpServerProvider.ts +0 -0
  436. /package/src/server/{providers → core/providers}/ServerLoggerProvider.ts +0 -0
  437. /package/src/server/{providers → core/providers}/ServerNotReadyProvider.ts +0 -0
  438. /package/src/server/{providers → core/providers}/ServerProvider.ts +0 -0
  439. /package/src/server/{providers → core/providers}/ServerTimingProvider.ts +0 -0
  440. /package/src/server/{schemas → core/schemas}/errorSchema.ts +0 -0
  441. /package/src/server/{schemas → core/schemas}/okSchema.ts +0 -0
  442. /package/src/server/{services → core/services}/HttpClient.ts +0 -0
  443. /package/src/server/{services → core/services}/ServerRequestParser.ts +0 -0
  444. /package/src/server/{services → core/services}/UserAgentParser.ts +0 -0
  445. /package/src/{server-cors → server/cors}/index.ts +0 -0
  446. /package/src/{server-cors → server/cors}/primitives/$cors.ts +0 -0
  447. /package/src/{server-cors → server/cors}/providers/ServerCorsProvider.ts +0 -0
  448. /package/src/{server-health → server/health}/index.ts +0 -0
  449. /package/src/{server-health → server/health}/providers/ServerHealthProvider.ts +0 -0
  450. /package/src/{server-health → server/health}/schemas/healthSchema.ts +0 -0
  451. /package/src/{server-helmet → server/helmet}/index.ts +0 -0
  452. /package/src/{server-helmet → server/helmet}/providers/ServerHelmetProvider.ts +0 -0
  453. /package/src/{server-links → server/links}/index.browser.ts +0 -0
  454. /package/src/{server-links → server/links}/index.ts +0 -0
  455. /package/src/{server-links → server/links}/primitives/$client.ts +0 -0
  456. /package/src/{server-links → server/links}/primitives/$remote.ts +0 -0
  457. /package/src/{server-links → server/links}/providers/LinkProvider.ts +0 -0
  458. /package/src/{server-links → server/links}/providers/RemotePrimitiveProvider.ts +0 -0
  459. /package/src/{server-links → server/links}/providers/ServerLinksProvider.ts +0 -0
  460. /package/src/{server-links → server/links}/schemas/apiLinksResponseSchema.ts +0 -0
  461. /package/src/{server-metrics → server/metrics}/index.ts +0 -0
  462. /package/src/{server-metrics → server/metrics}/providers/ServerMetricsProvider.ts +0 -0
  463. /package/src/{server-multipart → server/multipart}/index.ts +0 -0
  464. /package/src/{server-multipart → server/multipart}/providers/ServerMultipartProvider.ts +0 -0
  465. /package/src/{server-proxy → server/proxy}/index.ts +0 -0
  466. /package/src/{server-proxy → server/proxy}/primitives/$proxy.ts +0 -0
  467. /package/src/{server-proxy → server/proxy}/providers/ServerProxyProvider.ts +0 -0
  468. /package/src/{server-rate-limit → server/rate-limit}/primitives/$rateLimit.ts +0 -0
  469. /package/src/{server-rate-limit → server/rate-limit}/providers/ServerRateLimitProvider.ts +0 -0
  470. /package/src/{server-security → server/security}/index.browser.ts +0 -0
  471. /package/src/{server-security → server/security}/index.ts +0 -0
  472. /package/src/{server-security → server/security}/primitives/$basicAuth.ts +0 -0
  473. /package/src/{server-security → server/security}/providers/ServerBasicAuthProvider.ts +0 -0
  474. /package/src/{server-security → server/security}/providers/ServerSecurityProvider.ts +0 -0
  475. /package/src/{server-static → server/static}/index.ts +0 -0
  476. /package/src/{server-static → server/static}/primitives/$serve.ts +0 -0
  477. /package/src/{server-static → server/static}/providers/ServerStaticProvider.ts +0 -0
  478. /package/src/{server-swagger → server/swagger}/index.ts +0 -0
  479. /package/src/{server-swagger → server/swagger}/primitives/$swagger.ts +0 -0
  480. /package/src/topic/{errors → core/errors}/TopicTimeoutError.ts +0 -0
  481. /package/src/topic/{index.ts → core/index.ts} +0 -0
  482. /package/src/topic/{primitives → core/primitives}/$subscriber.ts +0 -0
  483. /package/src/topic/{primitives → core/primitives}/$topic.ts +0 -0
  484. /package/src/topic/{providers → core/providers}/MemoryTopicProvider.ts +0 -0
  485. /package/src/topic/{providers → core/providers}/TopicProvider.ts +0 -0
  486. /package/src/{topic-redis → topic/redis}/index.ts +0 -0
  487. /package/src/{topic-redis → topic/redis}/providers/RedisTopicProvider.ts +0 -0
@@ -1,9 +1,8 @@
1
1
  import { Compile } from "typebox/compile";
2
- import * as TypeBox from "typebox";
3
2
  import { Type } from "typebox";
4
- import TypeBoxFormat from "typebox/format";
3
+ import Format from "typebox/format";
5
4
  import { Locale } from "typebox/system";
6
- import * as TypeBoxValue from "typebox/value";
5
+ import * as Value from "typebox/value";
7
6
 
8
7
  //#region ../../src/core/constants/KIND.ts
9
8
  /**
@@ -697,7 +696,7 @@ var StateManager = class {
697
696
  const key = atom.key;
698
697
  if (!this.atoms.has(key)) {
699
698
  this.atoms.set(key, atom);
700
- if (!(key in this.store)) this.set(key, atom.options.default);
699
+ if (!(key in this.store)) this.set(key, atom.options.default, { skipContext: true });
701
700
  }
702
701
  return this;
703
702
  }
@@ -707,15 +706,15 @@ var StateManager = class {
707
706
  const store = this.store;
708
707
  return this.als?.exists() ? this.als.get(key) ?? store[key] : store[key];
709
708
  }
710
- set(target, value) {
709
+ set(target, value, options) {
711
710
  if (target instanceof Atom) this.register(target);
712
711
  const key = target instanceof Atom ? target.key : target;
713
712
  const store = this.store;
714
713
  const prevValue = this.get(key);
715
714
  if (prevValue === value) return this;
716
- if (this.als?.exists()) this.als.set(key, value);
715
+ if (options?.skipContext !== true && this.als?.exists()) this.als.set(key, value);
717
716
  else store[key] = value;
718
- this.events?.emit("state:mutate", {
717
+ if (options?.skipEvents !== true) this.events?.emit("state:mutate", {
719
718
  key,
720
719
  value,
721
720
  prevValue
@@ -741,9 +740,9 @@ var StateManager = class {
741
740
  /**
742
741
  * Push a value to an array in the state
743
742
  */
744
- push(key, value) {
743
+ push(key, ...value) {
745
744
  const current = this.get(key) ?? [];
746
- if (Array.isArray(current)) this.set(key, [...current, value]);
745
+ if (Array.isArray(current)) this.set(key, [...current, ...value]);
747
746
  return this;
748
747
  }
749
748
  /**
@@ -938,12 +937,6 @@ var Alepha = class Alepha {
938
937
  */
939
938
  starting;
940
939
  /**
941
- * Initial state of the container.
942
- *
943
- * > Used to initialize the StateManager.
944
- */
945
- init;
946
- /**
947
940
  * During the instantiation process, we keep a list of pending instantiations.
948
941
  * > It allows us to detect circular dependencies.
949
942
  */
@@ -980,30 +973,21 @@ var Alepha = class Alepha {
980
973
  *
981
974
  * Mocked for browser environments.
982
975
  */
983
- get context() {
984
- return this.inject(AlsProvider);
985
- }
976
+ context;
986
977
  /**
987
978
  * Event manager to handle lifecycle events and custom events.
988
979
  */
989
- get events() {
990
- return this.inject(EventManager, { args: [() => this.log] });
991
- }
980
+ events;
992
981
  /**
993
982
  * State manager to store arbitrary values.
994
983
  */
995
- get store() {
996
- this.events;
997
- return this.inject(StateManager, { args: [this.init] });
998
- }
984
+ store;
999
985
  /**
1000
986
  * Codec manager for encoding and decoding data with different formats.
1001
987
  *
1002
988
  * Supports multiple codec formats (JSON, Protobuf, etc.) with a unified interface.
1003
989
  */
1004
- get codec() {
1005
- return this.inject(CodecManager);
1006
- }
990
+ codec;
1007
991
  /**
1008
992
  * Get logger instance.
1009
993
  */
@@ -1016,8 +1000,12 @@ var Alepha = class Alepha {
1016
1000
  get env() {
1017
1001
  return this.store.get("env") ?? {};
1018
1002
  }
1019
- constructor(init = {}) {
1020
- this.init = init;
1003
+ constructor(state = {}) {
1004
+ this.store = this.inject(StateManager, { args: [state] });
1005
+ this.events = this.inject(EventManager);
1006
+ this.events.logFn = () => this.log;
1007
+ this.context = this.inject(AlsProvider);
1008
+ this.codec = this.inject(CodecManager);
1021
1009
  }
1022
1010
  set(target, value) {
1023
1011
  this.store.set(target, value);
@@ -1084,7 +1072,7 @@ var Alepha = class Alepha {
1084
1072
  isServerless() {
1085
1073
  if (this.isBrowser()) return false;
1086
1074
  if (this.env.VERCEL_REGION) return true;
1087
- if (this.env.ALEPHA_SERVERLESS) return true;
1075
+ if (typeof global === "object" && typeof global.Cloudflare === "object") return true;
1088
1076
  return false;
1089
1077
  }
1090
1078
  /**
@@ -1122,7 +1110,6 @@ var Alepha = class Alepha {
1122
1110
  this.log?.warn("App is already starting, waiting for it to finish...");
1123
1111
  return this.starting.promise;
1124
1112
  }
1125
- this.codec;
1126
1113
  this.starting = Promise.withResolvers();
1127
1114
  const now = Date.now();
1128
1115
  this.log?.info("Starting App...");
@@ -1302,6 +1289,19 @@ var Alepha = class Alepha {
1302
1289
  return config;
1303
1290
  }
1304
1291
  /**
1292
+ * Get all environment variable schemas and their parsed values.
1293
+ *
1294
+ * This is useful for DevTools to display all expected environment variables.
1295
+ */
1296
+ getEnvSchemas() {
1297
+ const result = [];
1298
+ for (const [schema, values] of this.cacheEnv.entries()) result.push({
1299
+ schema,
1300
+ values
1301
+ });
1302
+ return result;
1303
+ }
1304
+ /**
1305
1305
  * Dump the current dependency graph of the App.
1306
1306
  *
1307
1307
  * This method returns a record where the keys are the names of the services.
@@ -1456,33 +1456,27 @@ const isFileLike = (value) => {
1456
1456
 
1457
1457
  //#endregion
1458
1458
  //#region ../../src/core/providers/TypeProvider.ts
1459
- const isUUID = TypeBoxFormat.IsUuid;
1460
- const isEmail = TypeBoxFormat.IsEmail;
1461
- const isURL = TypeBoxFormat.IsUrl;
1462
- const isDateTime = TypeBoxFormat.IsDateTime;
1463
- const isDate = TypeBoxFormat.IsDate;
1464
- const isTime = TypeBoxFormat.IsTime;
1465
- const isDuration = TypeBoxFormat.IsDuration;
1459
+ const isUUID = Format.IsUuid;
1466
1460
  var TypeGuard = class {
1467
- isBigInt = (value) => TypeBox.IsString(value) && "format" in value && value.format === "bigint";
1468
- isUUID = (value) => TypeBox.IsString(value) && "format" in value && value.format === "uuid";
1469
- isObject = TypeBox.IsObject;
1470
- isNumber = TypeBox.IsNumber;
1471
- isString = TypeBox.IsString;
1472
- isBoolean = TypeBox.IsBoolean;
1473
- isAny = TypeBox.IsAny;
1474
- isArray = TypeBox.IsArray;
1475
- isOptional = TypeBox.IsOptional;
1476
- isUnion = TypeBox.IsUnion;
1477
- isInteger = TypeBox.IsInteger;
1478
- isNull = TypeBox.IsNull;
1479
- isUndefined = TypeBox.IsUndefined;
1480
- isUnsafe = TypeBox.IsUnsafe;
1481
- isRecord = TypeBox.IsRecord;
1482
- isTuple = TypeBox.IsTuple;
1483
- isVoid = TypeBox.IsVoid;
1484
- isLiteral = TypeBox.IsLiteral;
1485
- isSchema = TypeBox.IsSchema;
1461
+ isBigInt = (value) => Type.IsString(value) && "format" in value && value.format === "bigint";
1462
+ isUUID = (value) => Type.IsString(value) && "format" in value && value.format === "uuid";
1463
+ isObject = Type.IsObject;
1464
+ isNumber = Type.IsNumber;
1465
+ isString = Type.IsString;
1466
+ isBoolean = Type.IsBoolean;
1467
+ isAny = Type.IsAny;
1468
+ isArray = Type.IsArray;
1469
+ isOptional = Type.IsOptional;
1470
+ isUnion = Type.IsUnion;
1471
+ isInteger = Type.IsInteger;
1472
+ isNull = Type.IsNull;
1473
+ isUndefined = Type.IsUndefined;
1474
+ isUnsafe = Type.IsUnsafe;
1475
+ isRecord = Type.IsRecord;
1476
+ isTuple = Type.IsTuple;
1477
+ isVoid = Type.IsVoid;
1478
+ isLiteral = Type.IsLiteral;
1479
+ isSchema = Type.IsSchema;
1486
1480
  isFile = isTypeFile;
1487
1481
  isDateTime = (schema) => {
1488
1482
  return t.schema.isString(schema) && schema.format === "date-time";
@@ -1498,9 +1492,9 @@ var TypeGuard = class {
1498
1492
  };
1499
1493
  };
1500
1494
  var TypeProvider = class TypeProvider {
1501
- static format = TypeBoxFormat;
1495
+ static format = Format;
1502
1496
  static {
1503
- TypeBoxFormat.Set("bigint", (value) => TypeProvider.isValidBigInt(value));
1497
+ Format.Set("bigint", (value) => TypeProvider.isValidBigInt(value));
1504
1498
  }
1505
1499
  static translateError(error, locale) {
1506
1500
  if (!locale) return error.cause.message;
@@ -1899,6 +1893,192 @@ var TypeProvider = class TypeProvider {
1899
1893
  };
1900
1894
  const t = new TypeProvider();
1901
1895
 
1896
+ //#endregion
1897
+ //#region ../../src/core/helpers/jsonSchemaToTypeBox.ts
1898
+ /**
1899
+ * Converts a JSON Schema object to a TypeBox schema using Alepha's type system.
1900
+ *
1901
+ * This is useful when receiving JSON Schema from an API (e.g., configuration schemas)
1902
+ * and needing to use them with TypeBox-based form rendering or validation.
1903
+ *
1904
+ * **Supports:**
1905
+ * - Basic types: string, number, integer, boolean, null, object, array
1906
+ * - String formats: email, uuid, date-time, date, time, url/uri, binary, bigint, duration, color
1907
+ * - Enums (string enums)
1908
+ * - Nested objects with required/optional properties
1909
+ * - Arrays with item schemas
1910
+ * - Common validation options: minLength, maxLength, minimum, maximum, pattern
1911
+ *
1912
+ * **Not supported:**
1913
+ * - oneOf, anyOf, allOf, not (composition schemas)
1914
+ * - $ref (references)
1915
+ * - additionalProperties, patternProperties
1916
+ *
1917
+ * @param schema - JSON Schema object to convert
1918
+ * @returns TypeBox TSchema
1919
+ *
1920
+ * @example
1921
+ * ```ts
1922
+ * const jsonSchema = {
1923
+ * type: "object",
1924
+ * properties: {
1925
+ * email: { type: "string", format: "email" },
1926
+ * age: { type: "integer", minimum: 0 },
1927
+ * active: { type: "boolean" },
1928
+ * },
1929
+ * required: ["email"]
1930
+ * };
1931
+ *
1932
+ * const typeBoxSchema = jsonSchemaToTypeBox(jsonSchema);
1933
+ * // Equivalent to:
1934
+ * // t.object({
1935
+ * // email: t.email(),
1936
+ * // age: t.optional(t.integer({ minimum: 0 })),
1937
+ * // active: t.optional(t.boolean()),
1938
+ * // })
1939
+ * ```
1940
+ */
1941
+ function jsonSchemaToTypeBox(schema) {
1942
+ if (schema["~kind"]) return schema;
1943
+ if (schema.const !== void 0) return t.const(schema.const);
1944
+ if (schema.enum && Array.isArray(schema.enum)) {
1945
+ if (schema.enum.every((v) => typeof v === "string")) return t.enum(schema.enum, filterUndefined({
1946
+ title: schema.title,
1947
+ description: schema.description,
1948
+ default: schema.default
1949
+ }));
1950
+ return t.union(schema.enum.map((v) => t.const(v)));
1951
+ }
1952
+ switch (Array.isArray(schema.type) ? schema.type[0] : schema.type) {
1953
+ case "string": return convertString(schema);
1954
+ case "number": return convertNumber(schema);
1955
+ case "integer": return convertInteger(schema);
1956
+ case "boolean": return convertBoolean(schema);
1957
+ case "null": return t.null();
1958
+ case "object": return convertObject(schema);
1959
+ case "array": return convertArray(schema);
1960
+ default:
1961
+ if (schema.properties) return convertObject(schema);
1962
+ return t.any();
1963
+ }
1964
+ }
1965
+ /**
1966
+ * Remove undefined values from an object.
1967
+ */
1968
+ function filterUndefined(obj) {
1969
+ return Object.fromEntries(Object.entries(obj).filter(([_, v]) => v !== void 0));
1970
+ }
1971
+ /**
1972
+ * Convert JSON Schema string type to TypeBox.
1973
+ */
1974
+ function convertString(schema) {
1975
+ const options = filterUndefined({
1976
+ title: schema.title,
1977
+ description: schema.description,
1978
+ default: schema.default,
1979
+ minLength: schema.minLength,
1980
+ maxLength: schema.maxLength,
1981
+ pattern: schema.pattern
1982
+ });
1983
+ switch (schema.format) {
1984
+ case "email": return t.email(options);
1985
+ case "uuid": return t.uuid(options);
1986
+ case "date-time": return t.datetime(options);
1987
+ case "date": return t.date(options);
1988
+ case "time": return t.time(options);
1989
+ case "url":
1990
+ case "uri": return t.url(options);
1991
+ case "binary": return t.binary(options);
1992
+ case "bigint": return t.bigint(options);
1993
+ case "duration": return t.duration(options);
1994
+ case "color": return t.text({
1995
+ ...options,
1996
+ format: "color"
1997
+ });
1998
+ case "e164": return t.e164(options);
1999
+ case "bcp47": return t.bcp47(options);
2000
+ default:
2001
+ if (schema.format) return t.text({
2002
+ ...options,
2003
+ format: schema.format
2004
+ });
2005
+ return t.text(options);
2006
+ }
2007
+ }
2008
+ /**
2009
+ * Convert JSON Schema number type to TypeBox.
2010
+ */
2011
+ function convertNumber(schema) {
2012
+ return t.number(filterUndefined({
2013
+ title: schema.title,
2014
+ description: schema.description,
2015
+ default: schema.default,
2016
+ minimum: schema.minimum,
2017
+ maximum: schema.maximum,
2018
+ exclusiveMinimum: schema.exclusiveMinimum,
2019
+ exclusiveMaximum: schema.exclusiveMaximum,
2020
+ multipleOf: schema.multipleOf
2021
+ }));
2022
+ }
2023
+ /**
2024
+ * Convert JSON Schema integer type to TypeBox.
2025
+ */
2026
+ function convertInteger(schema) {
2027
+ return t.integer(filterUndefined({
2028
+ title: schema.title,
2029
+ description: schema.description,
2030
+ default: schema.default,
2031
+ minimum: schema.minimum,
2032
+ maximum: schema.maximum,
2033
+ exclusiveMinimum: schema.exclusiveMinimum,
2034
+ exclusiveMaximum: schema.exclusiveMaximum,
2035
+ multipleOf: schema.multipleOf
2036
+ }));
2037
+ }
2038
+ /**
2039
+ * Convert JSON Schema boolean type to TypeBox.
2040
+ */
2041
+ function convertBoolean(schema) {
2042
+ return t.boolean(filterUndefined({
2043
+ title: schema.title,
2044
+ description: schema.description,
2045
+ default: schema.default
2046
+ }));
2047
+ }
2048
+ /**
2049
+ * Convert JSON Schema object type to TypeBox.
2050
+ */
2051
+ function convertObject(schema) {
2052
+ if (!schema.properties) return t.json(filterUndefined({
2053
+ title: schema.title,
2054
+ description: schema.description
2055
+ }));
2056
+ const required = new Set(schema.required ?? []);
2057
+ const properties = {};
2058
+ for (const [key, propSchema] of Object.entries(schema.properties)) {
2059
+ let converted = jsonSchemaToTypeBox(propSchema);
2060
+ if (!required.has(key)) converted = t.optional(converted);
2061
+ properties[key] = converted;
2062
+ }
2063
+ return t.object(properties, filterUndefined({
2064
+ title: schema.title,
2065
+ description: schema.description
2066
+ }));
2067
+ }
2068
+ /**
2069
+ * Convert JSON Schema array type to TypeBox.
2070
+ */
2071
+ function convertArray(schema) {
2072
+ const itemSchema = schema.items ? jsonSchemaToTypeBox(schema.items) : t.any();
2073
+ return t.array(itemSchema, filterUndefined({
2074
+ title: schema.title,
2075
+ description: schema.description,
2076
+ minItems: schema.minItems,
2077
+ maxItems: schema.maxItems,
2078
+ uniqueItems: schema.uniqueItems
2079
+ }));
2080
+ }
2081
+
1902
2082
  //#endregion
1903
2083
  //#region ../../src/core/primitives/$env.ts
1904
2084
  /**
@@ -2114,5 +2294,5 @@ const run = (entry, opts) => {
2114
2294
  };
2115
2295
 
2116
2296
  //#endregion
2117
- export { $atom, $context, $env, $hook, $inject, $module, $use, Alepha, AlephaError, AlsProvider, AppNotStartedError, Atom, CircularDependencyError, CodecManager, ContainerLockedError, EventManager, HookPrimitive, InjectPrimitive, JsonSchemaCodec, KIND, Module, OPTIONS, Primitive, SchemaCodec, StateManager, TooLateSubstitutionError, TypeBox, TypeBoxError, TypeBoxFormat, TypeBoxValue, TypeGuard, TypeProvider, createPagination, createPrimitive, isClass, isDate, isDateTime, isDuration, isEmail, isFileLike, isTime, isTypeFile, isURL, isUUID, pageMetadataSchema, pageQuerySchema, pageSchema, run, t };
2297
+ export { $atom, $context, $env, $hook, $inject, $module, $use, Alepha, AlephaError, AlsProvider, AppNotStartedError, Atom, CircularDependencyError, CodecManager, ContainerLockedError, EventManager, Format, HookPrimitive, InjectPrimitive, JsonSchemaCodec, KIND, Module, OPTIONS, Primitive, SchemaCodec, StateManager, TooLateSubstitutionError, Type, TypeBoxError, TypeGuard, TypeProvider, Value, createPagination, createPrimitive, isClass, isFileLike, isTypeFile, isUUID, jsonSchemaToTypeBox, pageMetadataSchema, pageQuerySchema, pageSchema, run, t };
2118
2298
  //# sourceMappingURL=index.browser.js.map