alepha 0.18.2 → 0.18.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (397) hide show
  1. package/assets/devtools-ui/200.html +2 -2
  2. package/assets/devtools-ui/200.html.br +0 -0
  3. package/assets/devtools-ui/404.html +2 -2
  4. package/assets/devtools-ui/404.html.br +0 -0
  5. package/assets/devtools-ui/{asset.BfSBZ5Dd.css → asset.hG_f8HuK.css} +1 -1
  6. package/assets/devtools-ui/asset.hG_f8HuK.css.br +0 -0
  7. package/assets/devtools-ui/chunk.B3au4Lhg.js +1 -0
  8. package/assets/devtools-ui/chunk.B3au4Lhg.js.br +0 -0
  9. package/assets/devtools-ui/chunk.BLOrlnMB.js +1 -0
  10. package/assets/devtools-ui/chunk.BLOrlnMB.js.br +0 -0
  11. package/assets/devtools-ui/chunk.BLR01ljW.js +1 -0
  12. package/assets/devtools-ui/chunk.BLR01ljW.js.br +0 -0
  13. package/assets/devtools-ui/chunk.BTXaIUlA.js +1 -0
  14. package/assets/devtools-ui/chunk.BTXaIUlA.js.br +0 -0
  15. package/assets/devtools-ui/{chunk.lJL-lgnW.js → chunk.BhJaxmm8.js} +1 -1
  16. package/assets/devtools-ui/chunk.BhJaxmm8.js.br +0 -0
  17. package/assets/devtools-ui/chunk.BtoNxFuL.js +1 -0
  18. package/assets/devtools-ui/chunk.BtoNxFuL.js.br +0 -0
  19. package/assets/devtools-ui/chunk.C8YUV2Wd.js +1 -0
  20. package/assets/devtools-ui/chunk.C8YUV2Wd.js.br +0 -0
  21. package/assets/devtools-ui/{chunk.M6wyKO_3.js → chunk.CBbIgDzE.js} +2 -2
  22. package/assets/devtools-ui/chunk.CBbIgDzE.js.br +0 -0
  23. package/assets/devtools-ui/chunk.CFqIniwA.js +1 -0
  24. package/assets/devtools-ui/chunk.CFqIniwA.js.br +0 -0
  25. package/assets/devtools-ui/chunk.CLFF7f7-.js +1 -0
  26. package/assets/devtools-ui/chunk.CLFF7f7-.js.br +0 -0
  27. package/assets/devtools-ui/chunk.CRsBbA10.js +1 -0
  28. package/assets/devtools-ui/chunk.CRsBbA10.js.br +0 -0
  29. package/assets/devtools-ui/{chunk.DbEH1oOB.js → chunk.CZPo6v95.js} +1 -1
  30. package/assets/devtools-ui/chunk.CZPo6v95.js.br +0 -0
  31. package/assets/devtools-ui/chunk.D0fWgNos.js +1 -0
  32. package/assets/devtools-ui/chunk.D0fWgNos.js.br +1 -0
  33. package/assets/devtools-ui/chunk.D7-0ziQ6.js +1 -0
  34. package/assets/devtools-ui/chunk.D7-0ziQ6.js.br +0 -0
  35. package/assets/devtools-ui/chunk.DAewe0vm.js +1 -0
  36. package/assets/devtools-ui/chunk.DAewe0vm.js.br +0 -0
  37. package/assets/devtools-ui/chunk.DJRQEYqK.js +1 -0
  38. package/assets/devtools-ui/chunk.DJRQEYqK.js.br +0 -0
  39. package/assets/devtools-ui/{chunk.CZl6J9DF.js → chunk.DMAxv14p.js} +1 -1
  40. package/assets/devtools-ui/chunk.DMAxv14p.js.br +0 -0
  41. package/assets/devtools-ui/{chunk.BT2IiBkZ.js → chunk.DMImnNjU.js} +1 -1
  42. package/assets/devtools-ui/chunk.DMImnNjU.js.br +0 -0
  43. package/assets/devtools-ui/chunk.DeeQsidk.js +9 -0
  44. package/assets/devtools-ui/chunk.DeeQsidk.js.br +0 -0
  45. package/assets/devtools-ui/chunk.DqEwn9Vj.js +7 -0
  46. package/assets/devtools-ui/chunk.DqEwn9Vj.js.br +0 -0
  47. package/assets/devtools-ui/chunk.Dt8OsQey.js +1 -0
  48. package/assets/devtools-ui/chunk.Dt8OsQey.js.br +0 -0
  49. package/assets/devtools-ui/{chunk.B9pX3zit.js → chunk.Dtp8oa_f.js} +1 -1
  50. package/assets/devtools-ui/chunk.Dtp8oa_f.js.br +0 -0
  51. package/assets/devtools-ui/chunk.Dx3JzAYM.js +1 -0
  52. package/assets/devtools-ui/chunk.Dx3JzAYM.js.br +0 -0
  53. package/assets/devtools-ui/chunk.GCOj1-5E.js +1 -0
  54. package/assets/devtools-ui/chunk.GCOj1-5E.js.br +0 -0
  55. package/assets/devtools-ui/chunk.IC1LD8BH.js +1 -0
  56. package/assets/devtools-ui/chunk.IC1LD8BH.js.br +0 -0
  57. package/assets/devtools-ui/chunk.IwuB_TqW.js +1 -0
  58. package/assets/devtools-ui/chunk.IwuB_TqW.js.br +0 -0
  59. package/assets/devtools-ui/chunk.Qqapj2zq.js +1 -0
  60. package/assets/devtools-ui/chunk.Qqapj2zq.js.br +0 -0
  61. package/assets/devtools-ui/{chunk.C79YouPp.js → chunk.TKKKndOy.js} +1 -1
  62. package/assets/devtools-ui/chunk.TKKKndOy.js.br +0 -0
  63. package/assets/devtools-ui/chunk.YHTVhFQT.js +1 -0
  64. package/assets/devtools-ui/chunk.YHTVhFQT.js.br +0 -0
  65. package/assets/devtools-ui/chunk.fnod6uEi.js +1 -0
  66. package/assets/devtools-ui/chunk.fnod6uEi.js.br +0 -0
  67. package/assets/devtools-ui/chunk.mOCRmXjo.js +1 -0
  68. package/assets/devtools-ui/chunk.mOCRmXjo.js.br +0 -0
  69. package/assets/devtools-ui/chunk.qZTNEAK0.js +1 -0
  70. package/assets/devtools-ui/chunk.qZTNEAK0.js.br +0 -0
  71. package/assets/devtools-ui/chunk.rc9m0y4-.js +1 -0
  72. package/assets/devtools-ui/chunk.rc9m0y4-.js.br +0 -0
  73. package/assets/devtools-ui/entry.Cxc5QLCU.js +80 -0
  74. package/assets/devtools-ui/entry.Cxc5QLCU.js.br +0 -0
  75. package/assets/devtools-ui/index.html +2 -2
  76. package/assets/devtools-ui/index.html.br +0 -0
  77. package/assets/swagger-ui/swagger-ui-bundle.js +1 -1
  78. package/assets/swagger-ui/swagger-ui.css +1 -1
  79. package/dist/api/audits/index.d.ts +61 -5
  80. package/dist/api/audits/index.d.ts.map +1 -1
  81. package/dist/api/files/index.d.ts +61 -5
  82. package/dist/api/files/index.d.ts.map +1 -1
  83. package/dist/api/jobs/index.d.ts +61 -5
  84. package/dist/api/jobs/index.d.ts.map +1 -1
  85. package/dist/api/jobs/index.js +4 -2
  86. package/dist/api/jobs/index.js.map +1 -1
  87. package/dist/api/keys/index.d.ts +5 -5
  88. package/dist/api/notifications/index.browser.js +44 -1
  89. package/dist/api/notifications/index.browser.js.map +1 -1
  90. package/dist/api/notifications/index.d.ts +187 -2
  91. package/dist/api/notifications/index.d.ts.map +1 -1
  92. package/dist/api/notifications/index.js +143 -8
  93. package/dist/api/notifications/index.js.map +1 -1
  94. package/dist/api/parameters/index.d.ts +61 -5
  95. package/dist/api/parameters/index.d.ts.map +1 -1
  96. package/dist/api/users/index.d.ts +330 -93
  97. package/dist/api/users/index.d.ts.map +1 -1
  98. package/dist/api/users/index.js +27 -36
  99. package/dist/api/users/index.js.map +1 -1
  100. package/dist/cli/config/index.d.ts +46 -0
  101. package/dist/cli/config/index.d.ts.map +1 -0
  102. package/dist/cli/config/index.js +20 -0
  103. package/dist/cli/config/index.js.map +1 -0
  104. package/dist/cli/core/index.d.ts +69 -66
  105. package/dist/cli/core/index.d.ts.map +1 -1
  106. package/dist/cli/core/index.js +329 -196
  107. package/dist/cli/core/index.js.map +1 -1
  108. package/dist/cli/platform/index.d.ts +302 -63
  109. package/dist/cli/platform/index.d.ts.map +1 -1
  110. package/dist/cli/platform/index.js +455 -25
  111. package/dist/cli/platform/index.js.map +1 -1
  112. package/dist/core/index.browser.js +125 -87
  113. package/dist/core/index.browser.js.map +1 -1
  114. package/dist/core/index.d.ts +62 -53
  115. package/dist/core/index.d.ts.map +1 -1
  116. package/dist/core/index.js +125 -87
  117. package/dist/core/index.js.map +1 -1
  118. package/dist/core/index.native.js +125 -87
  119. package/dist/core/index.native.js.map +1 -1
  120. package/dist/core/index.workerd.js +125 -87
  121. package/dist/core/index.workerd.js.map +1 -1
  122. package/dist/crypto/index.d.ts +18 -1
  123. package/dist/crypto/index.d.ts.map +1 -1
  124. package/dist/crypto/index.js +29 -3
  125. package/dist/crypto/index.js.map +1 -1
  126. package/dist/devtools/index.js +3 -12
  127. package/dist/devtools/index.js.map +1 -1
  128. package/dist/logger/index.d.ts +10 -1
  129. package/dist/logger/index.d.ts.map +1 -1
  130. package/dist/logger/index.js +19 -9
  131. package/dist/logger/index.js.map +1 -1
  132. package/dist/orm/core/index.browser.js +57 -1
  133. package/dist/orm/core/index.browser.js.map +1 -1
  134. package/dist/orm/core/index.bun.js +378 -19
  135. package/dist/orm/core/index.bun.js.map +1 -1
  136. package/dist/orm/core/index.d.ts +328 -9
  137. package/dist/orm/core/index.d.ts.map +1 -1
  138. package/dist/orm/core/index.js +384 -21
  139. package/dist/orm/core/index.js.map +1 -1
  140. package/dist/orm/postgres/index.bun.js +49 -17
  141. package/dist/orm/postgres/index.bun.js.map +1 -1
  142. package/dist/orm/postgres/index.d.ts +47 -21
  143. package/dist/orm/postgres/index.d.ts.map +1 -1
  144. package/dist/orm/postgres/index.js +52 -17
  145. package/dist/orm/postgres/index.js.map +1 -1
  146. package/dist/react/core/index.d.ts +1 -1
  147. package/dist/react/core/index.d.ts.map +1 -1
  148. package/dist/react/core/index.js +6 -1
  149. package/dist/react/core/index.js.map +1 -1
  150. package/dist/react/form/index.d.ts +28 -18
  151. package/dist/react/form/index.d.ts.map +1 -1
  152. package/dist/react/form/index.js +92 -56
  153. package/dist/react/form/index.js.map +1 -1
  154. package/dist/react/router/index.browser.js +448 -116
  155. package/dist/react/router/index.browser.js.map +1 -1
  156. package/dist/react/router/index.d.ts +102 -40
  157. package/dist/react/router/index.d.ts.map +1 -1
  158. package/dist/react/router/index.js +453 -92
  159. package/dist/react/router/index.js.map +1 -1
  160. package/dist/security/index.d.ts +3 -11
  161. package/dist/security/index.d.ts.map +1 -1
  162. package/dist/security/index.js +6 -11
  163. package/dist/security/index.js.map +1 -1
  164. package/dist/server/auth/index.d.ts +22 -24
  165. package/dist/server/auth/index.d.ts.map +1 -1
  166. package/dist/server/auth/index.js +102 -82
  167. package/dist/server/auth/index.js.map +1 -1
  168. package/dist/server/cookies/index.d.ts +7 -4
  169. package/dist/server/cookies/index.d.ts.map +1 -1
  170. package/dist/server/cookies/index.js +13 -12
  171. package/dist/server/cookies/index.js.map +1 -1
  172. package/dist/server/core/index.d.ts +288 -4
  173. package/dist/server/core/index.d.ts.map +1 -1
  174. package/dist/server/core/index.js +375 -2
  175. package/dist/server/core/index.js.map +1 -1
  176. package/dist/server/links/index.browser.js +10 -71
  177. package/dist/server/links/index.browser.js.map +1 -1
  178. package/dist/server/links/index.d.ts +32 -49
  179. package/dist/server/links/index.d.ts.map +1 -1
  180. package/dist/server/links/index.js +73 -100
  181. package/dist/server/links/index.js.map +1 -1
  182. package/dist/system/index.browser.js +221 -2
  183. package/dist/system/index.browser.js.map +1 -1
  184. package/dist/system/index.d.ts +63 -1
  185. package/dist/system/index.d.ts.map +1 -1
  186. package/dist/system/index.js +221 -1
  187. package/dist/system/index.js.map +1 -1
  188. package/dist/system/index.workerd.js +224 -4
  189. package/dist/system/index.workerd.js.map +1 -1
  190. package/package.json +10 -5
  191. package/src/api/jobs/providers/JobProvider.ts +6 -3
  192. package/src/api/notifications/controllers/AdminNotificationController.ts +83 -0
  193. package/src/api/notifications/index.browser.ts +3 -0
  194. package/src/api/notifications/index.ts +14 -2
  195. package/src/api/notifications/jobs/NotificationJobs.ts +11 -2
  196. package/src/api/notifications/schemas/notificationDetailResourceSchema.ts +20 -0
  197. package/src/api/notifications/schemas/notificationQuerySchema.ts +19 -0
  198. package/src/api/notifications/schemas/notificationResourceSchema.ts +18 -0
  199. package/src/api/notifications/services/NotificationSenderService.ts +15 -2
  200. package/src/api/users/atoms/realmAuthSettingsAtom.ts +28 -32
  201. package/src/api/users/buckets/UserBuckets.ts +1 -1
  202. package/src/api/users/jobs/UserJobs.ts +1 -1
  203. package/src/api/users/primitives/$realm.ts +8 -49
  204. package/src/api/users/providers/RealmProvider.ts +2 -3
  205. package/src/api/users/services/RegistrationService.spec.ts +7 -7
  206. package/src/api/users/services/RegistrationService.ts +3 -3
  207. package/src/api/users/services/SessionService.spec.ts +4 -4
  208. package/src/api/users/services/SessionService.ts +3 -3
  209. package/src/cli/{core → config}/defineConfig.ts +14 -20
  210. package/src/cli/config/index.ts +1 -0
  211. package/src/cli/core/commands/db.ts +65 -1
  212. package/src/cli/core/commands/dev.ts +1 -0
  213. package/src/cli/core/commands/init.ts +2 -192
  214. package/src/cli/core/index.ts +34 -11
  215. package/src/cli/core/providers/ViteDevServerProvider.ts +52 -13
  216. package/src/cli/core/services/PackageManagerUtils.ts +43 -21
  217. package/src/cli/core/services/ProjectScaffolder.ts +214 -2
  218. package/src/cli/core/services/ViteUtils.ts +57 -0
  219. package/src/cli/core/tasks/BuildClientTask.ts +7 -2
  220. package/src/cli/core/tasks/BuildCloudflareTask.ts +4 -12
  221. package/src/cli/core/tasks/BuildServerTask.ts +2 -0
  222. package/src/cli/core/tasks/BuildVercelTask.ts +165 -168
  223. package/src/cli/core/templates/alephaConfigTs.ts +1 -1
  224. package/src/cli/core/templates/apiAppSecurityTs.ts +5 -8
  225. package/src/cli/core/templates/tsconfigJson.ts +6 -1
  226. package/src/cli/platform/adapters/CloudflareAdapter.spec.ts +1 -1
  227. package/src/cli/platform/adapters/CloudflareAdapter.ts +30 -29
  228. package/src/cli/platform/atoms/platformOptions.ts +21 -0
  229. package/src/cli/platform/commands/SecretsCommand.spec.ts +298 -0
  230. package/src/cli/platform/commands/SecretsCommand.ts +283 -0
  231. package/src/cli/platform/commands/platform.ts +12 -0
  232. package/src/cli/platform/index.ts +14 -28
  233. package/src/cli/platform/providers/GitHubSecretStore.spec.ts +153 -0
  234. package/src/cli/platform/providers/GitHubSecretStore.ts +112 -0
  235. package/src/cli/platform/providers/MemorySecretStore.ts +114 -0
  236. package/src/cli/platform/providers/SecretStoreProvider.ts +39 -0
  237. package/src/cli/platform/schemas/cloudflare.ts +2 -0
  238. package/src/cli/platform/services/CloudflareApi.ts +5 -2
  239. package/src/cli/platform/services/DockerComposeGenerator.spec.ts +115 -0
  240. package/src/cli/platform/services/DockerComposeGenerator.ts +46 -1
  241. package/src/cli/platform/services/SecretFilterService.spec.ts +111 -0
  242. package/src/cli/platform/services/SecretFilterService.ts +54 -0
  243. package/src/core/Alepha.ts +94 -25
  244. package/src/core/__tests__/Alepha-parseEnv.spec.ts +20 -0
  245. package/src/core/primitives/$memoize.ts +38 -26
  246. package/src/core/providers/AlsProvider.ts +2 -0
  247. package/src/core/providers/EventManager.ts +4 -0
  248. package/src/core/providers/KeylessJsonSchemaCodec.spec.ts +1 -4
  249. package/src/core/providers/KeylessJsonSchemaCodec.ts +19 -125
  250. package/src/core/providers/SchemaValidator.spec.ts +36 -0
  251. package/src/core/providers/SchemaValidator.ts +9 -0
  252. package/src/crypto/index.ts +6 -1
  253. package/src/crypto/providers/SecretProvider.ts +36 -0
  254. package/src/devtools/providers/DevToolsProvider.ts +3 -12
  255. package/src/logger/index.ts +33 -6
  256. package/src/logger/providers/PrettyFormatterProvider.ts +5 -3
  257. package/src/orm/__tests__/orm-next-tests.ts +492 -0
  258. package/src/orm/__tests__/orm-next.spec.ts +140 -0
  259. package/src/orm/core/constants/PG_SYMBOLS.ts +17 -0
  260. package/src/orm/core/index.bun.ts +3 -6
  261. package/src/orm/core/index.shared-server.ts +2 -0
  262. package/src/orm/core/index.shared.ts +2 -0
  263. package/src/orm/core/index.ts +5 -7
  264. package/src/orm/core/interfaces/AggregateQuery.ts +103 -0
  265. package/src/orm/core/interfaces/PgQueryWhere.ts +7 -0
  266. package/src/orm/core/primitives/$entity.ts +8 -0
  267. package/src/orm/core/primitives/$repository.ts +6 -3
  268. package/src/orm/core/primitives/$view.ts +88 -0
  269. package/src/orm/core/providers/DbCacheProvider.ts +66 -0
  270. package/src/orm/core/providers/DrizzleKitProvider.ts +42 -0
  271. package/src/orm/core/providers/drivers/BunSqliteProvider.ts +2 -3
  272. package/src/orm/core/providers/drivers/CloudflareD1Provider.ts +12 -0
  273. package/src/orm/core/providers/drivers/DatabaseProvider.ts +39 -0
  274. package/src/orm/core/providers/drivers/NodeSqliteProvider.ts +2 -3
  275. package/src/orm/core/schemas/databaseEnvSchema.ts +31 -0
  276. package/src/orm/core/schemas/insertSchema.ts +13 -3
  277. package/src/orm/core/schemas/updateSchema.ts +14 -3
  278. package/src/orm/core/services/ModelBuilder.ts +26 -14
  279. package/src/orm/core/services/QueryManager.ts +13 -0
  280. package/src/orm/core/services/Repository.ts +307 -5
  281. package/src/orm/core/services/SqliteModelBuilder.ts +38 -0
  282. package/src/orm/postgres/index.bun.ts +4 -7
  283. package/src/orm/postgres/index.ts +4 -7
  284. package/src/orm/postgres/providers/BunPostgresProvider.ts +12 -2
  285. package/src/orm/postgres/providers/NodePostgresProvider.ts +7 -0
  286. package/src/orm/postgres/providers/PglitePostgresProvider.ts +10 -17
  287. package/src/orm/postgres/providers/PostgresProvider.ts +7 -36
  288. package/src/orm/postgres/schemas/postgresEnvSchema.ts +32 -0
  289. package/src/orm/postgres/services/PostgresModelBuilder.ts +40 -0
  290. package/src/react/core/components/ErrorBoundary.tsx +5 -2
  291. package/src/react/form/hooks/useFieldValue.ts +34 -0
  292. package/src/react/form/hooks/useForm.browser.spec.tsx +94 -9
  293. package/src/react/form/hooks/useForm.ts +14 -2
  294. package/src/react/form/hooks/useFormState.ts +10 -10
  295. package/src/react/form/hooks/useFormValues.ts +29 -0
  296. package/src/react/form/index.ts +3 -1
  297. package/src/react/form/services/FormModel.ts +53 -122
  298. package/src/react/router/components/ErrorViewer.tsx +333 -34
  299. package/src/react/router/components/NestedView.tsx +10 -3
  300. package/src/react/router/primitives/$page.browser.spec.tsx +34 -0
  301. package/src/react/router/primitives/$page.spec.tsx +20 -0
  302. package/src/react/router/primitives/$page.ts +24 -0
  303. package/src/react/router/providers/ReactBrowserRouterProvider.ts +14 -2
  304. package/src/react/router/providers/ReactPageProvider.ts +156 -73
  305. package/src/react/router/providers/ReactServerProvider.ts +40 -2
  306. package/src/react/router/providers/ReactServerTemplateProvider.ts +13 -1
  307. package/src/security/providers/SecurityProvider.ts +5 -27
  308. package/src/server/auth/primitives/$auth.ts +52 -19
  309. package/src/server/auth/providers/ServerAuthProvider.ts +145 -139
  310. package/src/server/cookies/providers/ServerCookiesProvider.ts +12 -24
  311. package/src/server/core/index.ts +3 -1
  312. package/src/server/core/primitives/$sse.spec.ts +315 -0
  313. package/src/server/core/primitives/$sse.ts +715 -0
  314. package/src/server/links/index.browser.ts +1 -3
  315. package/src/server/links/index.ts +0 -3
  316. package/src/server/links/providers/LinkProvider.spec.ts +12 -21
  317. package/src/server/links/providers/LinkProvider.ts +20 -52
  318. package/src/server/links/providers/ServerLinksProvider.spec.ts +106 -0
  319. package/src/server/links/providers/ServerLinksProvider.ts +113 -73
  320. package/src/server/links/schemas/apiLinksResponseSchema.ts +4 -21
  321. package/src/server/links/services/BatchCollector.ts +5 -3
  322. package/src/system/index.browser.ts +1 -0
  323. package/src/system/index.ts +3 -0
  324. package/src/system/index.workerd.ts +39 -1
  325. package/src/system/providers/WorkerdFileSystemProvider.ts +365 -0
  326. package/assets/devtools-ui/asset.BfSBZ5Dd.css.br +0 -0
  327. package/assets/devtools-ui/chunk.2NYaoqWt.js +0 -1
  328. package/assets/devtools-ui/chunk.2NYaoqWt.js.br +0 -0
  329. package/assets/devtools-ui/chunk.B052Z_xQ.js +0 -1
  330. package/assets/devtools-ui/chunk.B052Z_xQ.js.br +0 -0
  331. package/assets/devtools-ui/chunk.B4kVY90C.js +0 -1
  332. package/assets/devtools-ui/chunk.B4kVY90C.js.br +0 -0
  333. package/assets/devtools-ui/chunk.B7QJXctB.js +0 -1
  334. package/assets/devtools-ui/chunk.B7QJXctB.js.br +0 -0
  335. package/assets/devtools-ui/chunk.B9pX3zit.js.br +0 -0
  336. package/assets/devtools-ui/chunk.BKF9JxIo.js +0 -1
  337. package/assets/devtools-ui/chunk.BKF9JxIo.js.br +0 -0
  338. package/assets/devtools-ui/chunk.BOHgdTP-.js +0 -1
  339. package/assets/devtools-ui/chunk.BOHgdTP-.js.br +0 -0
  340. package/assets/devtools-ui/chunk.BOVFxkYC.js +0 -1
  341. package/assets/devtools-ui/chunk.BOVFxkYC.js.br +0 -0
  342. package/assets/devtools-ui/chunk.BR842zj5.js +0 -1
  343. package/assets/devtools-ui/chunk.BR842zj5.js.br +0 -0
  344. package/assets/devtools-ui/chunk.BT2IiBkZ.js.br +0 -0
  345. package/assets/devtools-ui/chunk.C79YouPp.js.br +0 -0
  346. package/assets/devtools-ui/chunk.C8mlBrjW.js +0 -9
  347. package/assets/devtools-ui/chunk.C8mlBrjW.js.br +0 -0
  348. package/assets/devtools-ui/chunk.CK0ow3AZ.js +0 -1
  349. package/assets/devtools-ui/chunk.CK0ow3AZ.js.br +0 -0
  350. package/assets/devtools-ui/chunk.CZl6J9DF.js.br +0 -0
  351. package/assets/devtools-ui/chunk.CdNr0YzS.js +0 -1
  352. package/assets/devtools-ui/chunk.CdNr0YzS.js.br +0 -0
  353. package/assets/devtools-ui/chunk.Ce6_6iIF.js +0 -1
  354. package/assets/devtools-ui/chunk.Ce6_6iIF.js.br +0 -0
  355. package/assets/devtools-ui/chunk.CpyDMr6O.js +0 -1
  356. package/assets/devtools-ui/chunk.CpyDMr6O.js.br +0 -0
  357. package/assets/devtools-ui/chunk.CyPmvPnY.js +0 -1
  358. package/assets/devtools-ui/chunk.CyPmvPnY.js.br +0 -0
  359. package/assets/devtools-ui/chunk.DTI_geWu.js +0 -1
  360. package/assets/devtools-ui/chunk.DTI_geWu.js.br +0 -0
  361. package/assets/devtools-ui/chunk.DbEH1oOB.js.br +0 -0
  362. package/assets/devtools-ui/chunk.Ddeqj5gv.js +0 -1
  363. package/assets/devtools-ui/chunk.Ddeqj5gv.js.br +0 -0
  364. package/assets/devtools-ui/chunk.DpRnB4vJ.js +0 -1
  365. package/assets/devtools-ui/chunk.DpRnB4vJ.js.br +0 -0
  366. package/assets/devtools-ui/chunk.DxPGTlsg.js +0 -1
  367. package/assets/devtools-ui/chunk.DxPGTlsg.js.br +0 -0
  368. package/assets/devtools-ui/chunk.G7_MMBJS.js +0 -1
  369. package/assets/devtools-ui/chunk.G7_MMBJS.js.br +0 -0
  370. package/assets/devtools-ui/chunk.M6wyKO_3.js.br +0 -0
  371. package/assets/devtools-ui/chunk.OUxNGmQ6.js +0 -1
  372. package/assets/devtools-ui/chunk.OUxNGmQ6.js.br +0 -0
  373. package/assets/devtools-ui/chunk.T1kle-fF.js +0 -1
  374. package/assets/devtools-ui/chunk.T1kle-fF.js.br +0 -0
  375. package/assets/devtools-ui/chunk.WjpsbQAv.js +0 -1
  376. package/assets/devtools-ui/chunk.WjpsbQAv.js.br +0 -0
  377. package/assets/devtools-ui/chunk.c6YgVx86.js +0 -1
  378. package/assets/devtools-ui/chunk.c6YgVx86.js.br +0 -0
  379. package/assets/devtools-ui/chunk.dwU3E_MU.js +0 -1
  380. package/assets/devtools-ui/chunk.dwU3E_MU.js.br +0 -0
  381. package/assets/devtools-ui/chunk.lJL-lgnW.js.br +0 -0
  382. package/assets/devtools-ui/chunk.lPWRmvA-.js +0 -7
  383. package/assets/devtools-ui/chunk.lPWRmvA-.js.br +0 -0
  384. package/assets/devtools-ui/chunk.p3HJvugM.js +0 -1
  385. package/assets/devtools-ui/chunk.p3HJvugM.js.br +0 -0
  386. package/assets/devtools-ui/chunk.r_Xoa_CI.js +0 -1
  387. package/assets/devtools-ui/chunk.r_Xoa_CI.js.br +0 -0
  388. package/assets/devtools-ui/chunk.sRNuTYXb.js +0 -1
  389. package/assets/devtools-ui/chunk.sRNuTYXb.js.br +0 -0
  390. package/assets/devtools-ui/chunk.tUjcyX5C.js +0 -1
  391. package/assets/devtools-ui/chunk.tUjcyX5C.js.br +0 -0
  392. package/assets/devtools-ui/chunk.thjBxvCA.js +0 -1
  393. package/assets/devtools-ui/chunk.thjBxvCA.js.br +0 -0
  394. package/assets/devtools-ui/entry.GYhBVRpC.js +0 -78
  395. package/assets/devtools-ui/entry.GYhBVRpC.js.br +0 -0
  396. package/src/server/links/services/DefinitionsPool.spec.ts +0 -86
  397. package/src/server/links/services/DefinitionsPool.ts +0 -43
@@ -12,97 +12,94 @@ import { BuildTask, type BuildTaskContext } from "./BuildTask.ts";
12
12
  * - .vercel/project.json if projectId and orgId are set
13
13
  */
14
14
  export class BuildVercelTask extends BuildTask {
15
- protected readonly fs = $inject(FileSystemProvider);
16
-
17
- protected readonly warningComment =
18
- "// This file was automatically generated. DO NOT MODIFY.\n" +
19
- "// Changes to this file will be lost when the code is regenerated.\n";
20
-
21
- async run(ctx: BuildTaskContext): Promise<void> {
22
- if (ctx.options.target !== "vercel") {
23
- return;
24
- }
25
-
26
- const distDir = ctx.options.output?.dist ?? "dist";
27
-
28
- await ctx.run({
29
- name: "generate deploy config (vercel)",
30
- handler: async () => {
31
- await this.generateVercel(ctx, distDir);
32
- },
33
- });
34
- }
35
-
36
- protected async generateVercel(
37
- ctx: BuildTaskContext,
38
- distDir: string,
39
- ): Promise<void> {
40
- const root = ctx.root;
41
- const dist = this.fs.join(root, distDir);
42
-
43
- const outputDir = this.fs.join(dist, ".vercel", "output");
44
- const funcDir = this.fs.join(outputDir, "functions", "index.func");
45
- const staticDir = this.fs.join(outputDir, "static");
46
-
47
- await this.fs.mkdir(funcDir);
48
- await this.fs.mkdir(staticDir);
49
-
50
- await this.writeOutputConfig(outputDir, ctx.options.vercel?.config);
51
- await this.writeVcConfig(funcDir);
52
- await this.writeHandler(funcDir);
53
- await this.copyServerBundle(dist, funcDir);
54
- await this.copyStaticAssets(dist, staticDir);
55
- await this.writeProjectConfig(ctx, dist);
56
- }
57
-
58
- /**
59
- * Write .vercel/output/config.json with Build Output API v3 format.
60
- */
61
- protected async writeOutputConfig(
62
- outputDir: string,
63
- config?: { crons?: { path: string; schedule: string }[] },
64
- ): Promise<void> {
65
- const outputConfig: Record<string, any> = {
66
- version: 3,
67
- routes: [
68
- { handle: "filesystem" },
69
- { src: "/(.*)", dest: "/index" },
70
- ],
71
- };
72
-
73
- if (config?.crons && config.crons.length > 0) {
74
- outputConfig.crons = config.crons;
75
- }
76
-
77
- await this.fs.writeFile(
78
- this.fs.join(outputDir, "config.json"),
79
- JSON.stringify(outputConfig, null, 2),
80
- );
81
- }
82
-
83
- /**
84
- * Write .vc-config.json for the serverless function.
85
- */
86
- protected async writeVcConfig(funcDir: string): Promise<void> {
87
- await this.fs.writeFile(
88
- this.fs.join(funcDir, ".vc-config.json"),
89
- JSON.stringify(
90
- {
91
- runtime: "nodejs22.x",
92
- handler: "handler.js",
93
- launcherType: "Nodejs",
94
- },
95
- null,
96
- 2,
97
- ),
98
- );
99
- }
100
-
101
- /**
102
- * Write the handler.js entry point that uses node:request event.
103
- */
104
- protected async writeHandler(funcDir: string): Promise<void> {
105
- const handlerCode = `
15
+ protected readonly fs = $inject(FileSystemProvider);
16
+
17
+ protected readonly warningComment =
18
+ "// This file was automatically generated. DO NOT MODIFY.\n" +
19
+ "// Changes to this file will be lost when the code is regenerated.\n";
20
+
21
+ async run(ctx: BuildTaskContext): Promise<void> {
22
+ if (ctx.options.target !== "vercel") {
23
+ return;
24
+ }
25
+
26
+ const distDir = ctx.options.output?.dist ?? "dist";
27
+
28
+ await ctx.run({
29
+ name: "generate deploy config (vercel)",
30
+ handler: async () => {
31
+ await this.generateVercel(ctx, distDir);
32
+ },
33
+ });
34
+ }
35
+
36
+ protected async generateVercel(
37
+ ctx: BuildTaskContext,
38
+ distDir: string,
39
+ ): Promise<void> {
40
+ const root = ctx.root;
41
+ const dist = this.fs.join(root, distDir);
42
+
43
+ const outputDir = this.fs.join(dist, ".vercel", "output");
44
+ const funcDir = this.fs.join(outputDir, "functions", "index.func");
45
+ const staticDir = this.fs.join(outputDir, "static");
46
+
47
+ await this.fs.mkdir(funcDir);
48
+ await this.fs.mkdir(staticDir);
49
+
50
+ await this.writeOutputConfig(outputDir, ctx.options.vercel?.config);
51
+ await this.writeVcConfig(funcDir);
52
+ await this.writeHandler(funcDir);
53
+ await this.copyServerBundle(dist, funcDir);
54
+ await this.copyStaticAssets(dist, staticDir);
55
+ await this.writeProjectConfig(ctx, dist);
56
+ }
57
+
58
+ /**
59
+ * Write .vercel/output/config.json with Build Output API v3 format.
60
+ */
61
+ protected async writeOutputConfig(
62
+ outputDir: string,
63
+ config?: { crons?: { path: string; schedule: string }[] },
64
+ ): Promise<void> {
65
+ const outputConfig: Record<string, any> = {
66
+ version: 3,
67
+ routes: [{ handle: "filesystem" }, { src: "/(.*)", dest: "/index" }],
68
+ };
69
+
70
+ if (config?.crons && config.crons.length > 0) {
71
+ outputConfig.crons = config.crons;
72
+ }
73
+
74
+ await this.fs.writeFile(
75
+ this.fs.join(outputDir, "config.json"),
76
+ JSON.stringify(outputConfig, null, 2),
77
+ );
78
+ }
79
+
80
+ /**
81
+ * Write .vc-config.json for the serverless function.
82
+ */
83
+ protected async writeVcConfig(funcDir: string): Promise<void> {
84
+ await this.fs.writeFile(
85
+ this.fs.join(funcDir, ".vc-config.json"),
86
+ JSON.stringify(
87
+ {
88
+ runtime: "nodejs22.x",
89
+ handler: "handler.js",
90
+ launcherType: "Nodejs",
91
+ },
92
+ null,
93
+ 2,
94
+ ),
95
+ );
96
+ }
97
+
98
+ /**
99
+ * Write the handler.js entry point that uses node:request event.
100
+ */
101
+ protected async writeHandler(funcDir: string): Promise<void> {
102
+ const handlerCode = `
106
103
  import "./index.js";
107
104
 
108
105
  export default async (req, res) => {
@@ -119,81 +116,81 @@ export default async (req, res) => {
119
116
  };
120
117
  `.trim();
121
118
 
122
- await this.fs.writeFile(
123
- this.fs.join(funcDir, "handler.js"),
124
- `${this.warningComment}\n${handlerCode}`,
125
- );
126
- }
127
-
128
- /**
129
- * Copy the server bundle (index.js, server/, package.json) into the function directory.
130
- */
131
- protected async copyServerBundle(
132
- dist: string,
133
- funcDir: string,
134
- ): Promise<void> {
135
- await this.fs.cp(
136
- this.fs.join(dist, "index.js"),
137
- this.fs.join(funcDir, "index.js"),
138
- );
139
-
140
- await this.fs.cp(
141
- this.fs.join(dist, "package.json"),
142
- this.fs.join(funcDir, "package.json"),
143
- );
144
-
145
- const serverDir = this.fs.join(dist, "server");
146
- if (await this.fs.exists(serverDir)) {
147
- await this.fs.cp(serverDir, this.fs.join(funcDir, "server"));
148
- }
149
- }
150
-
151
- /**
152
- * Move static assets from dist/public/ to .vercel/output/static/.
153
- */
154
- protected async copyStaticAssets(
155
- dist: string,
156
- staticDir: string,
157
- ): Promise<void> {
158
- const publicDir = this.fs.join(dist, "public");
159
- if (await this.fs.exists(publicDir)) {
160
- await this.fs.cp(publicDir, staticDir);
161
- } else {
162
- await this.fs.writeFile(this.fs.join(staticDir, ".keep"), "");
163
- }
164
- }
165
-
166
- /**
167
- * Write .vercel/project.json if projectId and orgId are available.
168
- */
169
- protected async writeProjectConfig(
170
- ctx: BuildTaskContext,
171
- dist: string,
172
- ): Promise<void> {
173
- const projectId =
174
- process.env.VERCEL_PROJECT_ID ?? ctx.options.vercel?.projectId;
175
- const projectName =
176
- process.env.VERCEL_PROJECT_NAME ?? ctx.options.vercel?.projectName;
177
- const orgId = process.env.VERCEL_ORG_ID ?? ctx.options.vercel?.orgId;
178
-
179
- if (!projectId || !orgId) {
180
- return;
181
- }
182
-
183
- const vercelDir = this.fs.join(dist, ".vercel");
184
- await this.fs.mkdir(vercelDir);
185
-
186
- await this.fs.writeFile(
187
- this.fs.join(vercelDir, "project.json"),
188
- JSON.stringify(
189
- {
190
- projectId,
191
- projectName,
192
- orgId,
193
- },
194
- null,
195
- 2,
196
- ),
197
- );
198
- }
119
+ await this.fs.writeFile(
120
+ this.fs.join(funcDir, "handler.js"),
121
+ `${this.warningComment}\n${handlerCode}`,
122
+ );
123
+ }
124
+
125
+ /**
126
+ * Copy the server bundle (index.js, server/, package.json) into the function directory.
127
+ */
128
+ protected async copyServerBundle(
129
+ dist: string,
130
+ funcDir: string,
131
+ ): Promise<void> {
132
+ await this.fs.cp(
133
+ this.fs.join(dist, "index.js"),
134
+ this.fs.join(funcDir, "index.js"),
135
+ );
136
+
137
+ await this.fs.cp(
138
+ this.fs.join(dist, "package.json"),
139
+ this.fs.join(funcDir, "package.json"),
140
+ );
141
+
142
+ const serverDir = this.fs.join(dist, "server");
143
+ if (await this.fs.exists(serverDir)) {
144
+ await this.fs.cp(serverDir, this.fs.join(funcDir, "server"));
145
+ }
146
+ }
147
+
148
+ /**
149
+ * Move static assets from dist/public/ to .vercel/output/static/.
150
+ */
151
+ protected async copyStaticAssets(
152
+ dist: string,
153
+ staticDir: string,
154
+ ): Promise<void> {
155
+ const publicDir = this.fs.join(dist, "public");
156
+ if (await this.fs.exists(publicDir)) {
157
+ await this.fs.cp(publicDir, staticDir);
158
+ } else {
159
+ await this.fs.writeFile(this.fs.join(staticDir, ".keep"), "");
160
+ }
161
+ }
162
+
163
+ /**
164
+ * Write .vercel/project.json if projectId and orgId are available.
165
+ */
166
+ protected async writeProjectConfig(
167
+ ctx: BuildTaskContext,
168
+ dist: string,
169
+ ): Promise<void> {
170
+ const projectId =
171
+ process.env.VERCEL_PROJECT_ID ?? ctx.options.vercel?.projectId;
172
+ const projectName =
173
+ process.env.VERCEL_PROJECT_NAME ?? ctx.options.vercel?.projectName;
174
+ const orgId = process.env.VERCEL_ORG_ID ?? ctx.options.vercel?.orgId;
175
+
176
+ if (!projectId || !orgId) {
177
+ return;
178
+ }
179
+
180
+ const vercelDir = this.fs.join(dist, ".vercel");
181
+ await this.fs.mkdir(vercelDir);
182
+
183
+ await this.fs.writeFile(
184
+ this.fs.join(vercelDir, "project.json"),
185
+ JSON.stringify(
186
+ {
187
+ projectId,
188
+ projectName,
189
+ orgId,
190
+ },
191
+ null,
192
+ 2,
193
+ ),
194
+ );
195
+ }
199
196
  }
@@ -2,7 +2,7 @@
2
2
  * Template for alepha.config.ts with documented options.
3
3
  */
4
4
  export const alephaConfigTs = () => {
5
- return `import { defineConfig } from "alepha/cli";
5
+ return `import { defineConfig } from "alepha/cli/config";
6
6
 
7
7
  export default defineConfig({
8
8
  //
@@ -13,12 +13,9 @@ export class AppSecurity {
13
13
 
14
14
  // Registration & login options
15
15
  registrationAllowed: true,
16
- emailEnabled: true,
17
- emailRequired: true,
18
- usernameEnabled: false,
19
- usernameRequired: false,
20
- phoneEnabled: false,
21
- phoneRequired: false,
16
+ email: "required",
17
+ username: "none",
18
+ phoneNumber: "none",
22
19
 
23
20
  // Verification (requires notifications feature)
24
21
  verifyEmailRequired: false,
@@ -30,8 +27,8 @@ export class AppSecurity {
30
27
  notifications: false,
31
28
  audits: false,
32
29
  apiKeys: false,
33
- jobs: false,
34
- files: false,
30
+ sessionPurge: false,
31
+ avatars: false,
35
32
  parameters: false,
36
33
  },
37
34
  identities: {
@@ -1,6 +1,11 @@
1
1
  export const tsconfigJson = () =>
2
2
  `
3
3
  {
4
- "extends": "alepha/tsconfig.base"
4
+ "extends": "alepha/tsconfig.base",
5
+ "compilerOptions": {
6
+ "paths": {
7
+ "@/*": ["./src/*"]
8
+ }
9
+ }
5
10
  }
6
11
  `.trim();
@@ -630,7 +630,7 @@ describe("CloudflareAdapter", () => {
630
630
  await adapter.teardown(ctx, run);
631
631
 
632
632
  expect(api.d1Databases).toHaveLength(0);
633
- expect(api.r2Buckets).toHaveLength(0);
633
+ // expect(api.r2Buckets).toHaveLength(0); DISABLED FOR NOW
634
634
  expect(api.kvNamespaces).toHaveLength(0);
635
635
  });
636
636
  });
@@ -708,35 +708,36 @@ export class CloudflareAdapter extends PlatformAdapter {
708
708
  }
709
709
 
710
710
  // 5. Delete R2 bucket
711
- const needsBucket = ctx.apps.some((a) => a.resources.hasBucket);
712
- if (needsBucket) {
713
- const name = ctx.naming.r2();
714
- await run({
715
- name: `delete r2 ${name}`,
716
- handler: async () => {
717
- try {
718
- await this.api.deleteR2(name);
719
- } catch (error: any) {
720
- const msg = String(error.message || "");
721
- if (
722
- msg.includes("does not exist") ||
723
- msg.includes("NoSuchBucket")
724
- ) {
725
- // Already gone, nothing to do
726
- } else if (
727
- msg.includes("not empty") ||
728
- msg.includes("BucketNotEmpty")
729
- ) {
730
- this.log.warn(
731
- `Bucket ${name} is not empty -- skipped. Empty it manually.`,
732
- );
733
- } else {
734
- this.log.warn(`Failed to delete r2 ${name}: ${msg}`);
735
- }
736
- }
737
- },
738
- });
739
- }
711
+ // TODO: empty bucket via S3-compatible API before deletion (needs native S3 client)
712
+ // const needsBucket = ctx.apps.some((a) => a.resources.hasBucket);
713
+ // if (needsBucket) {
714
+ // const name = ctx.naming.r2();
715
+ // await run({
716
+ // name: `delete r2 ${name}`,
717
+ // handler: async () => {
718
+ // try {
719
+ // await this.api.deleteR2(name);
720
+ // } catch (error: any) {
721
+ // const msg = String(error.message || "");
722
+ // if (
723
+ // msg.includes("does not exist") ||
724
+ // msg.includes("NoSuchBucket")
725
+ // ) {
726
+ // // Already gone, nothing to do
727
+ // } else if (
728
+ // msg.includes("not empty") ||
729
+ // msg.includes("BucketNotEmpty")
730
+ // ) {
731
+ // this.log.warn(
732
+ // `Bucket ${name} is not empty -- skipped. Empty it manually.`,
733
+ // );
734
+ // } else {
735
+ // this.log.warn(`Failed to delete r2 ${name}: ${msg}`);
736
+ // }
737
+ // }
738
+ // },
739
+ // });
740
+ // }
740
741
 
741
742
  // 6. Delete D1 or Hyperdrive
742
743
  const needsDB = ctx.apps.some((a) => a.resources.hasDatabase);
@@ -28,6 +28,27 @@ export const platformOptions = $atom({
28
28
  */
29
29
  default: t.optional(t.text()),
30
30
 
31
+ /**
32
+ * Secret store configuration for syncing .env secrets
33
+ * to external providers (e.g. GitHub Actions environments).
34
+ */
35
+ secrets: t.optional(
36
+ t.object({
37
+ /**
38
+ * Secret store backend.
39
+ */
40
+ store: t.enum(["github"]),
41
+
42
+ /**
43
+ * Pattern for resolving environment names in the store.
44
+ * Placeholders: {project}, {env}.
45
+ *
46
+ * @default "{project}-{env}"
47
+ */
48
+ environmentPattern: t.optional(t.text()),
49
+ }),
50
+ ),
51
+
31
52
  /**
32
53
  * Named environments with their adapter and configuration.
33
54
  */