alepha 0.21.2 → 0.23.0

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 (519) hide show
  1. package/README.md +0 -1
  2. package/dist/api/audits/index.browser.js.map +1 -1
  3. package/dist/api/audits/index.d.ts +393 -403
  4. package/dist/api/audits/index.d.ts.map +1 -1
  5. package/dist/api/audits/index.js +25 -56
  6. package/dist/api/audits/index.js.map +1 -1
  7. package/dist/api/files/index.browser.js +31 -1
  8. package/dist/api/files/index.browser.js.map +1 -1
  9. package/dist/api/files/index.d.ts +313 -208
  10. package/dist/api/files/index.d.ts.map +1 -1
  11. package/dist/api/files/index.js +152 -42
  12. package/dist/api/files/index.js.map +1 -1
  13. package/dist/api/jobs/index.browser.js +2 -2
  14. package/dist/api/jobs/index.browser.js.map +1 -1
  15. package/dist/api/jobs/index.d.ts +282 -285
  16. package/dist/api/jobs/index.d.ts.map +1 -1
  17. package/dist/api/jobs/index.js +39 -33
  18. package/dist/api/jobs/index.js.map +1 -1
  19. package/dist/api/keys/index.d.ts +217 -222
  20. package/dist/api/keys/index.d.ts.map +1 -1
  21. package/dist/api/keys/index.js.map +1 -1
  22. package/dist/api/notifications/index.browser.js.map +1 -1
  23. package/dist/api/notifications/index.d.ts +188 -195
  24. package/dist/api/notifications/index.d.ts.map +1 -1
  25. package/dist/api/notifications/index.js.map +1 -1
  26. package/dist/api/oauth/index.d.ts +71 -76
  27. package/dist/api/oauth/index.d.ts.map +1 -1
  28. package/dist/api/oauth/index.js.map +1 -1
  29. package/dist/api/organizations/index.browser.js.map +1 -1
  30. package/dist/api/organizations/index.d.ts +104 -109
  31. package/dist/api/organizations/index.d.ts.map +1 -1
  32. package/dist/api/organizations/index.js.map +1 -1
  33. package/dist/api/parameters/index.browser.js +43 -16
  34. package/dist/api/parameters/index.browser.js.map +1 -1
  35. package/dist/api/parameters/index.d.ts +488 -344
  36. package/dist/api/parameters/index.d.ts.map +1 -1
  37. package/dist/api/parameters/index.js +175 -35
  38. package/dist/api/parameters/index.js.map +1 -1
  39. package/dist/api/payments/index.d.ts +396 -402
  40. package/dist/api/payments/index.d.ts.map +1 -1
  41. package/dist/api/payments/index.js.map +1 -1
  42. package/dist/api/subscriptions/index.d.ts +644 -652
  43. package/dist/api/subscriptions/index.d.ts.map +1 -1
  44. package/dist/api/subscriptions/index.js +1 -1
  45. package/dist/api/subscriptions/index.js.map +1 -1
  46. package/dist/api/users/index.browser.js +7 -0
  47. package/dist/api/users/index.browser.js.map +1 -1
  48. package/dist/api/users/index.d.ts +1106 -1005
  49. package/dist/api/users/index.d.ts.map +1 -1
  50. package/dist/api/users/index.js +307 -64
  51. package/dist/api/users/index.js.map +1 -1
  52. package/dist/api/verifications/index.browser.js.map +1 -1
  53. package/dist/api/verifications/index.d.ts +137 -143
  54. package/dist/api/verifications/index.d.ts.map +1 -1
  55. package/dist/api/verifications/index.js.map +1 -1
  56. package/dist/background/index.d.ts +95 -0
  57. package/dist/background/index.d.ts.map +1 -0
  58. package/dist/background/index.js +121 -0
  59. package/dist/background/index.js.map +1 -0
  60. package/dist/background/index.workerd.js +110 -0
  61. package/dist/background/index.workerd.js.map +1 -0
  62. package/dist/batch/index.d.ts +5 -7
  63. package/dist/batch/index.d.ts.map +1 -1
  64. package/dist/batch/index.js.map +1 -1
  65. package/dist/bin/index.js.map +1 -1
  66. package/dist/bucket/index.d.ts +76 -54
  67. package/dist/bucket/index.d.ts.map +1 -1
  68. package/dist/bucket/index.js +58 -11
  69. package/dist/bucket/index.js.map +1 -1
  70. package/dist/bucket/index.workerd.js +200 -5
  71. package/dist/bucket/index.workerd.js.map +1 -1
  72. package/dist/cache/core/index.d.ts +7 -10
  73. package/dist/cache/core/index.d.ts.map +1 -1
  74. package/dist/cache/core/index.js.map +1 -1
  75. package/dist/cache/core/index.workerd.js.map +1 -1
  76. package/dist/cache/database/index.d.ts +22 -26
  77. package/dist/cache/database/index.d.ts.map +1 -1
  78. package/dist/cache/database/index.js.map +1 -1
  79. package/dist/cache/redis/index.d.ts +4 -7
  80. package/dist/cache/redis/index.d.ts.map +1 -1
  81. package/dist/cache/redis/index.js.map +1 -1
  82. package/dist/captcha/index.d.ts +3 -6
  83. package/dist/captcha/index.d.ts.map +1 -1
  84. package/dist/captcha/index.js.map +1 -1
  85. package/dist/cli/config/index.d.ts.map +1 -1
  86. package/dist/cli/config/index.js.map +1 -1
  87. package/dist/cli/core/index.d.ts +458 -249
  88. package/dist/cli/core/index.d.ts.map +1 -1
  89. package/dist/cli/core/index.js +372 -660
  90. package/dist/cli/core/index.js.map +1 -1
  91. package/dist/cli/devtools/index.d.ts +3 -5
  92. package/dist/cli/devtools/index.d.ts.map +1 -1
  93. package/dist/cli/devtools/index.js.map +1 -1
  94. package/dist/cli/i18n/index.d.ts +20 -17
  95. package/dist/cli/i18n/index.d.ts.map +1 -1
  96. package/dist/cli/i18n/index.js +45 -11
  97. package/dist/cli/i18n/index.js.map +1 -1
  98. package/dist/cli/platform/index.d.ts +126 -1342
  99. package/dist/cli/platform/index.d.ts.map +1 -1
  100. package/dist/cli/platform/index.js +136 -2374
  101. package/dist/cli/platform/index.js.map +1 -1
  102. package/dist/cli/platform-lib/index.d.ts +1472 -0
  103. package/dist/cli/platform-lib/index.d.ts.map +1 -0
  104. package/dist/cli/platform-lib/index.js +2660 -0
  105. package/dist/cli/platform-lib/index.js.map +1 -0
  106. package/dist/cli/vendor/index.d.ts +17 -21
  107. package/dist/cli/vendor/index.d.ts.map +1 -1
  108. package/dist/cli/vendor/index.js.map +1 -1
  109. package/dist/command/index.d.ts +20 -19
  110. package/dist/command/index.d.ts.map +1 -1
  111. package/dist/command/index.js +39 -10
  112. package/dist/command/index.js.map +1 -1
  113. package/dist/{containers → container}/core/index.d.ts +13 -15
  114. package/dist/container/core/index.d.ts.map +1 -0
  115. package/dist/{containers → container}/core/index.js +23 -14
  116. package/dist/container/core/index.js.map +1 -0
  117. package/dist/{containers → container}/core/index.workerd.js +37 -22
  118. package/dist/container/core/index.workerd.js.map +1 -0
  119. package/dist/core/index.browser.js +27 -1
  120. package/dist/core/index.browser.js.map +1 -1
  121. package/dist/core/index.d.ts +48 -24
  122. package/dist/core/index.d.ts.map +1 -1
  123. package/dist/core/index.js +27 -1
  124. package/dist/core/index.js.map +1 -1
  125. package/dist/core/index.native.js +27 -1
  126. package/dist/core/index.native.js.map +1 -1
  127. package/dist/core/index.workerd.js +27 -1
  128. package/dist/core/index.workerd.js.map +1 -1
  129. package/dist/crypto/index.browser.js.map +1 -1
  130. package/dist/crypto/index.d.ts +5 -8
  131. package/dist/crypto/index.d.ts.map +1 -1
  132. package/dist/crypto/index.js.map +1 -1
  133. package/dist/datetime/index.d.ts +3 -4
  134. package/dist/datetime/index.d.ts.map +1 -1
  135. package/dist/datetime/index.js.map +1 -1
  136. package/dist/email/brevo/index.d.ts +2 -4
  137. package/dist/email/brevo/index.d.ts.map +1 -1
  138. package/dist/email/brevo/index.js.map +1 -1
  139. package/dist/email/cloudflare/index.d.ts +20 -7
  140. package/dist/email/cloudflare/index.d.ts.map +1 -1
  141. package/dist/email/cloudflare/index.js +46 -9
  142. package/dist/email/cloudflare/index.js.map +1 -1
  143. package/dist/email/core/index.d.ts +6 -9
  144. package/dist/email/core/index.d.ts.map +1 -1
  145. package/dist/email/core/index.js.map +1 -1
  146. package/dist/email/core/index.workerd.js.map +1 -1
  147. package/dist/email/smtp/index.d.ts +10 -13
  148. package/dist/email/smtp/index.d.ts.map +1 -1
  149. package/dist/email/smtp/index.js +107 -32
  150. package/dist/email/smtp/index.js.map +1 -1
  151. package/dist/fake/index.d.ts +1 -2
  152. package/dist/fake/index.d.ts.map +1 -1
  153. package/dist/fake/index.js.map +1 -1
  154. package/dist/lock/core/index.d.ts +9 -14
  155. package/dist/lock/core/index.d.ts.map +1 -1
  156. package/dist/lock/core/index.js.map +1 -1
  157. package/dist/lock/redis/index.d.ts +2 -4
  158. package/dist/lock/redis/index.d.ts.map +1 -1
  159. package/dist/lock/redis/index.js.map +1 -1
  160. package/dist/logger/index.d.ts +105 -76
  161. package/dist/logger/index.d.ts.map +1 -1
  162. package/dist/logger/index.js +196 -174
  163. package/dist/logger/index.js.map +1 -1
  164. package/dist/mcp/index.d.ts +25 -20
  165. package/dist/mcp/index.d.ts.map +1 -1
  166. package/dist/mcp/index.js +23 -0
  167. package/dist/mcp/index.js.map +1 -1
  168. package/dist/orm/core/index.browser.js.map +1 -1
  169. package/dist/orm/core/index.bun.js +19 -1
  170. package/dist/orm/core/index.bun.js.map +1 -1
  171. package/dist/orm/core/index.d.ts +76 -62
  172. package/dist/orm/core/index.d.ts.map +1 -1
  173. package/dist/orm/core/index.js +20 -2
  174. package/dist/orm/core/index.js.map +1 -1
  175. package/dist/orm/postgres/index.bun.js.map +1 -1
  176. package/dist/orm/postgres/index.d.ts +28 -20
  177. package/dist/orm/postgres/index.d.ts.map +1 -1
  178. package/dist/orm/postgres/index.js.map +1 -1
  179. package/dist/queue/core/index.d.ts +12 -15
  180. package/dist/queue/core/index.d.ts.map +1 -1
  181. package/dist/queue/core/index.js.map +1 -1
  182. package/dist/queue/core/index.workerd.js.map +1 -1
  183. package/dist/queue/redis/index.d.ts +3 -5
  184. package/dist/queue/redis/index.d.ts.map +1 -1
  185. package/dist/queue/redis/index.js.map +1 -1
  186. package/dist/react/auth/index.browser.js +9 -2
  187. package/dist/react/auth/index.browser.js.map +1 -1
  188. package/dist/react/auth/index.d.ts +14 -9
  189. package/dist/react/auth/index.d.ts.map +1 -1
  190. package/dist/react/auth/index.js +9 -2
  191. package/dist/react/auth/index.js.map +1 -1
  192. package/dist/react/core/index.d.ts +7 -8
  193. package/dist/react/core/index.d.ts.map +1 -1
  194. package/dist/react/core/index.js +6 -3
  195. package/dist/react/core/index.js.map +1 -1
  196. package/dist/react/form/index.d.ts +2 -5
  197. package/dist/react/form/index.d.ts.map +1 -1
  198. package/dist/react/form/index.js +16 -15
  199. package/dist/react/form/index.js.map +1 -1
  200. package/dist/react/head/index.browser.js.map +1 -1
  201. package/dist/react/head/index.d.ts +2 -4
  202. package/dist/react/head/index.d.ts.map +1 -1
  203. package/dist/react/head/index.js.map +1 -1
  204. package/dist/react/i18n/index.d.ts +90 -11
  205. package/dist/react/i18n/index.d.ts.map +1 -1
  206. package/dist/react/i18n/index.js +147 -11
  207. package/dist/react/i18n/index.js.map +1 -1
  208. package/dist/react/intro/index.d.ts +1 -2
  209. package/dist/react/intro/index.d.ts.map +1 -1
  210. package/dist/react/intro/index.js +2 -2
  211. package/dist/react/intro/index.js.map +1 -1
  212. package/dist/react/router/index.browser.js +193 -24
  213. package/dist/react/router/index.browser.js.map +1 -1
  214. package/dist/react/router/index.d.ts +434 -222
  215. package/dist/react/router/index.d.ts.map +1 -1
  216. package/dist/react/router/index.js +249 -35
  217. package/dist/react/router/index.js.map +1 -1
  218. package/dist/react/sitemap/index.browser.js +35 -0
  219. package/dist/react/sitemap/index.browser.js.map +1 -0
  220. package/dist/react/sitemap/index.d.ts +92 -0
  221. package/dist/react/sitemap/index.d.ts.map +1 -0
  222. package/dist/react/sitemap/index.js +131 -0
  223. package/dist/react/sitemap/index.js.map +1 -0
  224. package/dist/react/testing/index.d.ts +1 -2
  225. package/dist/react/testing/index.d.ts.map +1 -1
  226. package/dist/react/testing/index.js +16 -17
  227. package/dist/react/testing/index.js.map +1 -1
  228. package/dist/react/ui/index.d.ts +20 -25
  229. package/dist/react/ui/index.d.ts.map +1 -1
  230. package/dist/react/ui/index.js.map +1 -1
  231. package/dist/redis/index.bun.js.map +1 -1
  232. package/dist/redis/index.d.ts +17 -19
  233. package/dist/redis/index.d.ts.map +1 -1
  234. package/dist/redis/index.js.map +1 -1
  235. package/dist/retry/index.d.ts +2 -4
  236. package/dist/retry/index.d.ts.map +1 -1
  237. package/dist/retry/index.js.map +1 -1
  238. package/dist/router/index.d.ts.map +1 -1
  239. package/dist/router/index.js.map +1 -1
  240. package/dist/scheduler/index.d.ts +10 -13
  241. package/dist/scheduler/index.d.ts.map +1 -1
  242. package/dist/scheduler/index.js.map +1 -1
  243. package/dist/scheduler/index.workerd.js.map +1 -1
  244. package/dist/security/index.browser.js.map +1 -1
  245. package/dist/security/index.d.ts +45 -48
  246. package/dist/security/index.d.ts.map +1 -1
  247. package/dist/security/index.js.map +1 -1
  248. package/dist/server/auth/index.browser.js.map +1 -1
  249. package/dist/server/auth/index.d.ts +272 -173
  250. package/dist/server/auth/index.d.ts.map +1 -1
  251. package/dist/server/auth/index.js +1608 -15
  252. package/dist/server/auth/index.js.map +1 -1
  253. package/dist/server/cookies/index.browser.js.map +1 -1
  254. package/dist/server/cookies/index.d.ts +20 -7
  255. package/dist/server/cookies/index.d.ts.map +1 -1
  256. package/dist/server/cookies/index.js +22 -3
  257. package/dist/server/cookies/index.js.map +1 -1
  258. package/dist/server/core/index.browser.js.map +1 -1
  259. package/dist/server/core/index.d.ts +106 -73
  260. package/dist/server/core/index.d.ts.map +1 -1
  261. package/dist/server/core/index.js +44 -0
  262. package/dist/server/core/index.js.map +1 -1
  263. package/dist/server/cors/index.d.ts +11 -14
  264. package/dist/server/cors/index.d.ts.map +1 -1
  265. package/dist/server/cors/index.js.map +1 -1
  266. package/dist/server/etag/index.d.ts +6 -9
  267. package/dist/server/etag/index.d.ts.map +1 -1
  268. package/dist/server/etag/index.js.map +1 -1
  269. package/dist/server/health/index.d.ts +18 -21
  270. package/dist/server/health/index.d.ts.map +1 -1
  271. package/dist/server/health/index.js.map +1 -1
  272. package/dist/server/links/index.browser.js +2 -0
  273. package/dist/server/links/index.browser.js.map +1 -1
  274. package/dist/server/links/index.d.ts +63 -67
  275. package/dist/server/links/index.d.ts.map +1 -1
  276. package/dist/server/links/index.js +2 -0
  277. package/dist/server/links/index.js.map +1 -1
  278. package/dist/server/metrics/index.d.ts +5 -7
  279. package/dist/server/metrics/index.d.ts.map +1 -1
  280. package/dist/server/metrics/index.js.map +1 -1
  281. package/dist/server/proxy/index.d.ts +3 -5
  282. package/dist/server/proxy/index.d.ts.map +1 -1
  283. package/dist/server/proxy/index.js.map +1 -1
  284. package/dist/server/rate-limit/index.d.ts +10 -13
  285. package/dist/server/rate-limit/index.d.ts.map +1 -1
  286. package/dist/server/rate-limit/index.js.map +1 -1
  287. package/dist/server/static/index.d.ts +3 -5
  288. package/dist/server/static/index.d.ts.map +1 -1
  289. package/dist/server/static/index.js.map +1 -1
  290. package/dist/server/swagger/index.d.ts +5 -8
  291. package/dist/server/swagger/index.d.ts.map +1 -1
  292. package/dist/server/swagger/index.js.map +1 -1
  293. package/dist/sms/index.d.ts +3 -5
  294. package/dist/sms/index.d.ts.map +1 -1
  295. package/dist/sms/index.js.map +1 -1
  296. package/dist/system/index.browser.js.map +1 -1
  297. package/dist/system/index.d.ts +2 -4
  298. package/dist/system/index.d.ts.map +1 -1
  299. package/dist/system/index.js.map +1 -1
  300. package/dist/system/index.workerd.js.map +1 -1
  301. package/dist/topic/core/index.d.ts +4 -6
  302. package/dist/topic/core/index.d.ts.map +1 -1
  303. package/dist/topic/core/index.js.map +1 -1
  304. package/dist/topic/redis/index.d.ts +5 -8
  305. package/dist/topic/redis/index.d.ts.map +1 -1
  306. package/dist/topic/redis/index.js.map +1 -1
  307. package/package.json +59 -23
  308. package/src/api/audits/__tests__/AuditService.spec.ts +18 -110
  309. package/src/api/audits/controllers/AdminAuditController.ts +14 -0
  310. package/src/api/audits/services/AuditService.ts +21 -88
  311. package/src/api/files/__tests__/FileService.spec.ts +207 -2
  312. package/src/api/files/index.ts +3 -0
  313. package/src/api/files/schemas/fileCreatorSummarySchema.ts +22 -0
  314. package/src/api/files/schemas/fileResourceSchema.ts +10 -1
  315. package/src/api/files/services/FileService.ts +170 -72
  316. package/src/api/jobs/__tests__/$job.spec.ts +24 -1
  317. package/src/api/jobs/index.ts +4 -3
  318. package/src/api/jobs/primitives/$job.ts +7 -3
  319. package/src/api/jobs/providers/DirectJobDispatcher.ts +17 -36
  320. package/src/api/jobs/providers/JobProvider.ts +53 -24
  321. package/src/api/jobs/schemas/jobConfigAtom.ts +1 -1
  322. package/src/api/jobs/schemas/jobExecutionResourceSchema.ts +4 -1
  323. package/src/api/keys/schemas/adminApiKeyResourceSchema.ts +3 -1
  324. package/src/api/parameters/__tests__/$parameter.spec.ts +19 -2
  325. package/src/api/parameters/audits/ParameterAudits.ts +17 -0
  326. package/src/api/parameters/controllers/AdminParameterController.ts +95 -19
  327. package/src/api/parameters/index.ts +3 -0
  328. package/src/api/parameters/schemas/activateParameterBodySchema.ts +3 -3
  329. package/src/api/parameters/schemas/createParameterVersionBodySchema.ts +3 -2
  330. package/src/api/parameters/schemas/parameterCreatorSummarySchema.ts +25 -0
  331. package/src/api/parameters/schemas/parameterResponseSchema.ts +5 -0
  332. package/src/api/parameters/schemas/rollbackParameterBodySchema.ts +4 -2
  333. package/src/api/parameters/services/ParameterProvider.ts +69 -6
  334. package/src/api/subscriptions/jobs/SubscriptionJobs.ts +1 -1
  335. package/src/api/users/__tests__/AdminSessionController.spec.ts +37 -0
  336. package/src/api/users/audits/SessionAudits.ts +33 -0
  337. package/src/api/users/audits/UserAudits.ts +19 -43
  338. package/src/api/users/controllers/AdminUserController.ts +66 -1
  339. package/src/api/users/controllers/RealmController.ts +1 -0
  340. package/src/api/users/entities/sessions.ts +6 -0
  341. package/src/api/users/entities/users.ts +2 -0
  342. package/src/api/users/index.ts +9 -1
  343. package/src/api/users/primitives/$realm.ts +29 -0
  344. package/src/api/users/providers/RealmProvider.ts +15 -0
  345. package/src/api/users/schemas/realmConfigSchema.ts +14 -0
  346. package/src/api/users/schemas/sessionResourceSchema.ts +16 -0
  347. package/src/api/users/schemas/updateUserSchema.ts +1 -8
  348. package/src/api/users/schemas/userQuerySchema.ts +7 -0
  349. package/src/api/users/services/CredentialService.ts +15 -6
  350. package/src/api/users/services/IdentityService.ts +2 -1
  351. package/src/api/users/services/RegistrationService.ts +2 -1
  352. package/src/api/users/services/SessionCrudService.ts +19 -2
  353. package/src/api/users/services/SessionService.ts +39 -19
  354. package/src/api/users/services/UserService.ts +106 -8
  355. package/src/background/__tests__/BackgroundTaskProvider.spec.ts +96 -0
  356. package/src/background/index.ts +37 -0
  357. package/src/background/index.workerd.ts +28 -0
  358. package/src/background/providers/BackgroundTaskProvider.ts +70 -0
  359. package/src/background/providers/WorkerdBackgroundTaskProvider.ts +43 -0
  360. package/src/bucket/__tests__/$bucket.spec.ts +18 -0
  361. package/src/bucket/__tests__/LocalFileStorageProvider.spec.ts +5 -0
  362. package/src/bucket/__tests__/MemoryFileStorageProvider.spec.ts +5 -0
  363. package/src/bucket/__tests__/NodeS3BucketProvider.spec.ts +23 -4
  364. package/src/bucket/__tests__/shared.ts +30 -0
  365. package/src/bucket/index.ts +5 -5
  366. package/src/bucket/index.workerd.ts +11 -4
  367. package/src/bucket/primitives/$bucket.ts +27 -0
  368. package/src/bucket/providers/FileStorageProvider.ts +13 -0
  369. package/src/bucket/providers/LocalFileStorageProvider.ts +17 -1
  370. package/src/bucket/providers/MemoryFileStorageProvider.ts +7 -0
  371. package/src/bucket/providers/{CloudflareR2Provider.ts → R2FileStorageProvider.ts} +10 -1
  372. package/src/bucket/providers/{NodeS3BucketProvider.ts → S3FileStorageProvider.ts} +27 -5
  373. package/src/cli/core/__tests__/BuildDockerTask.spec.ts +25 -1
  374. package/src/cli/core/__tests__/init.spec.ts +0 -219
  375. package/src/cli/core/atoms/buildOptions.ts +0 -12
  376. package/src/cli/core/commands/__tests__/BuildCommand.spec.ts +43 -0
  377. package/src/cli/core/commands/build.ts +105 -37
  378. package/src/cli/core/commands/init.ts +0 -12
  379. package/src/cli/core/commands/pack.ts +133 -0
  380. package/src/cli/core/index.ts +3 -3
  381. package/src/cli/core/providers/ViteDevServerProvider.ts +40 -16
  382. package/src/cli/core/services/PackageManagerUtils.ts +0 -16
  383. package/src/cli/core/services/ProjectScaffolder.ts +29 -291
  384. package/src/cli/core/tasks/BuildCloudflareTask.ts +382 -56
  385. package/src/cli/core/tasks/BuildDockerTask.ts +33 -3
  386. package/src/cli/core/tasks/BuildPrerenderTask.ts +44 -7
  387. package/src/cli/core/tasks/BuildTask.ts +34 -0
  388. package/src/cli/core/templates/apiIndexTs.ts +1 -22
  389. package/src/cli/core/templates/mainCss.ts +0 -1
  390. package/src/cli/core/templates/webAppRouterTs.ts +0 -99
  391. package/src/cli/core/templates/webIndexTs.ts +1 -22
  392. package/src/cli/i18n/__tests__/I18nCheckService.spec.ts +48 -0
  393. package/src/cli/i18n/services/I18nCheckService.ts +65 -11
  394. package/src/cli/platform/__tests__/SecretsCommand.spec.ts +5 -3
  395. package/src/cli/platform/commands/SecretsCommand.ts +8 -6
  396. package/src/cli/platform/commands/platform.ts +192 -46
  397. package/src/cli/platform/index.ts +12 -52
  398. package/src/cli/{platform → platform-lib}/__tests__/CloudflareAdapter.spec.ts +426 -169
  399. package/src/cli/{platform → platform-lib}/__tests__/NamingService.spec.ts +91 -4
  400. package/src/cli/{platform → platform-lib}/__tests__/VercelAdapter.spec.ts +56 -85
  401. package/src/cli/{platform → platform-lib}/adapters/CloudflareAdapter.ts +519 -190
  402. package/src/cli/{platform → platform-lib}/adapters/PlatformAdapter.ts +62 -35
  403. package/src/cli/{platform → platform-lib}/adapters/VercelAdapter.ts +6 -10
  404. package/src/cli/{platform → platform-lib}/atoms/platformOptions.ts +34 -1
  405. package/src/cli/platform-lib/index.ts +67 -0
  406. package/src/cli/platform-lib/services/NamingService.ts +136 -0
  407. package/src/cli/{platform → platform-lib}/services/PlatformInspector.ts +60 -13
  408. package/src/cli/{platform → platform-lib}/services/PlatformOrchestrator.ts +54 -43
  409. package/src/cli/{platform → platform-lib}/services/WranglerApi.ts +4 -2
  410. package/src/command/__tests__/Runner.spec.ts +20 -0
  411. package/src/command/helpers/EnvUtils.ts +19 -3
  412. package/src/command/helpers/Runner.ts +12 -2
  413. package/src/command/providers/CliProvider.ts +34 -1
  414. package/src/{containers → container}/core/__tests__/$container.spec.ts +5 -5
  415. package/src/{containers → container}/core/index.ts +4 -4
  416. package/src/{containers → container}/core/index.workerd.ts +19 -3
  417. package/src/{containers → container}/core/primitives/$container.ts +1 -1
  418. package/src/{containers → container}/core/providers/CloudflareContainerProvider.ts +17 -19
  419. package/src/{containers → container}/core/providers/ContainerProvider.ts +16 -2
  420. package/src/{containers → container}/core/providers/MockContainerProvider.ts +1 -1
  421. package/src/core/Alepha.ts +49 -1
  422. package/src/core/__tests__/$env.spec.ts +42 -0
  423. package/src/core/__tests__/dump.spec.ts +47 -0
  424. package/src/email/cloudflare/__tests__/CloudflareEmailProvider.spec.ts +42 -10
  425. package/src/email/cloudflare/index.ts +14 -5
  426. package/src/email/cloudflare/providers/CloudflareEmailProvider.ts +54 -9
  427. package/src/logger/__tests__/Logger.spec.ts +55 -0
  428. package/src/logger/index.ts +13 -0
  429. package/src/logger/services/Logger.ts +31 -1
  430. package/src/mcp/__tests__/McpServerProvider.spec.ts +71 -0
  431. package/src/mcp/providers/McpServerProvider.ts +55 -0
  432. package/src/orm/__tests__/orm-showcase-tests.ts +27 -0
  433. package/src/orm/__tests__/orm-showcase.spec.ts +12 -0
  434. package/src/orm/core/interfaces/PgQuery.ts +4 -1
  435. package/src/orm/core/services/Repository.ts +27 -11
  436. package/src/react/auth/hooks/useAuth.ts +10 -5
  437. package/src/react/core/__tests__/useQuery.browser.spec.tsx +25 -0
  438. package/src/react/core/hooks/useAction.ts +14 -3
  439. package/src/react/core/hooks/useQuery.ts +24 -4
  440. package/src/react/form/__tests__/FormModel-submit-loading.spec.ts +71 -0
  441. package/src/react/form/__tests__/form-submitting-reactive.browser.spec.tsx +96 -0
  442. package/src/react/form/services/FormModel.ts +57 -39
  443. package/src/react/i18n/__tests__/I18nProvider.spec.ts +89 -0
  444. package/src/react/i18n/__tests__/locale-routing.spec.ts +107 -0
  445. package/src/react/i18n/components/Translate.tsx +47 -0
  446. package/src/react/i18n/index.ts +2 -0
  447. package/src/react/i18n/providers/I18nProvider.ts +171 -12
  448. package/src/react/intro/components/GettingStartedAdminSlide.tsx +2 -2
  449. package/src/react/router/__tests__/$page.spec.tsx +3 -2
  450. package/src/react/router/__tests__/RouterLocaleProvider.spec.ts +127 -0
  451. package/src/react/router/__tests__/page-can.spec.ts +18 -13
  452. package/src/react/router/hooks/useQueryParams.ts +114 -14
  453. package/src/react/router/index.browser.ts +4 -0
  454. package/src/react/router/index.shared.ts +1 -0
  455. package/src/react/router/index.ts +9 -0
  456. package/src/react/router/primitives/$page.ts +85 -4
  457. package/src/react/router/providers/ReactBrowserRouterProvider.ts +18 -8
  458. package/src/react/router/providers/ReactPageProvider.ts +12 -1
  459. package/src/react/router/providers/ReactServerProvider.ts +96 -14
  460. package/src/react/router/providers/RootComponentsProvider.ts +13 -0
  461. package/src/react/router/providers/RouterLocaleProvider.ts +125 -0
  462. package/src/react/router/providers/__tests__/RootComponentsProvider.spec.ts +15 -0
  463. package/src/react/router/providers/__tests__/rootComponents.ssr.browser.spec.tsx +67 -0
  464. package/src/react/sitemap/__tests__/$sitemap.spec.ts +131 -0
  465. package/src/react/sitemap/index.browser.ts +21 -0
  466. package/src/react/sitemap/index.ts +25 -0
  467. package/src/react/sitemap/primitives/$sitemap.browser.ts +26 -0
  468. package/src/react/sitemap/primitives/$sitemap.ts +196 -0
  469. package/src/react/ui/services/SchemaControl.ts +3 -4
  470. package/src/server/auth/__tests__/appleClientSecret.spec.ts +34 -0
  471. package/src/server/auth/__tests__/authFederationClient.spec.ts +40 -0
  472. package/src/server/auth/__tests__/federationAssertion.spec.ts +146 -0
  473. package/src/server/auth/__tests__/federationRedirectReplay.spec.ts +44 -0
  474. package/src/server/auth/helpers/appleClientSecret.ts +24 -0
  475. package/src/server/auth/helpers/federationAssertion.ts +74 -0
  476. package/src/server/auth/helpers/jtiReplayGuard.ts +41 -0
  477. package/src/server/auth/helpers/safeRedirectPath.ts +19 -0
  478. package/src/server/auth/index.ts +4 -0
  479. package/src/server/auth/primitives/$authFederationBroker.ts +273 -0
  480. package/src/server/auth/primitives/$authFederationClient.ts +89 -0
  481. package/src/server/auth/providers/ServerAuthProvider.ts +18 -4
  482. package/src/server/cookies/__tests__/ServerCookiesProvider.spec.ts +70 -0
  483. package/src/server/cookies/providers/ServerCookiesProvider.ts +23 -3
  484. package/src/server/core/interfaces/ServerRequest.ts +8 -0
  485. package/src/server/core/primitives/$route.ts +27 -0
  486. package/src/server/core/providers/ServerMultipartProvider.ts +19 -0
  487. package/src/server/links/providers/LinkProvider.ts +10 -0
  488. package/dist/containers/core/index.d.ts.map +0 -1
  489. package/dist/containers/core/index.js.map +0 -1
  490. package/dist/containers/core/index.workerd.js.map +0 -1
  491. package/src/cli/core/tasks/BuildSitemapTask.ts +0 -130
  492. package/src/cli/core/templates/componentsJsonTs.ts +0 -39
  493. package/src/cli/core/templates/saasAdminLayoutTsx.ts +0 -77
  494. package/src/cli/core/templates/saasAdminPagesTsx.ts +0 -26
  495. package/src/cli/core/templates/saasAuthLayoutTsx.ts +0 -22
  496. package/src/cli/core/templates/saasAuthPagesTsx.ts +0 -62
  497. package/src/cli/core/templates/saasRealmProviderTs.ts +0 -52
  498. package/src/cli/platform/services/NamingService.ts +0 -54
  499. /package/dist/orm/core/{chunk-o8xxKEmq.js → chunk-B4FMCO8f.js} +0 -0
  500. /package/dist/react/testing/{chunk-6Ep1yQYe.js → chunk-BpyX8vjI.js} +0 -0
  501. /package/src/cli/{platform → platform-lib}/__tests__/GitHubSecretStore.spec.ts +0 -0
  502. /package/src/cli/{platform → platform-lib}/__tests__/PlatformCacheProvider.spec.ts +0 -0
  503. /package/src/cli/{platform → platform-lib}/__tests__/PlatformInspector.spec.ts +0 -0
  504. /package/src/cli/{platform → platform-lib}/__tests__/PlatformOrchestrator.spec.ts +0 -0
  505. /package/src/cli/{platform → platform-lib}/__tests__/SecretFilterService.spec.ts +0 -0
  506. /package/src/cli/{platform → platform-lib}/__tests__/detectResources.spec.ts +0 -0
  507. /package/src/cli/{platform → platform-lib}/providers/GitHubSecretStore.ts +0 -0
  508. /package/src/cli/{platform → platform-lib}/providers/MemorySecretStore.ts +0 -0
  509. /package/src/cli/{platform → platform-lib}/providers/PlatformCacheProvider.ts +0 -0
  510. /package/src/cli/{platform → platform-lib}/providers/SecretStoreProvider.ts +0 -0
  511. /package/src/cli/{platform → platform-lib}/schemas/cloudflare.ts +0 -0
  512. /package/src/cli/{platform → platform-lib}/schemas/platform.ts +0 -0
  513. /package/src/cli/{platform → platform-lib}/schemas/vercel.ts +0 -0
  514. /package/src/cli/{platform → platform-lib}/services/CloudflareApi.ts +0 -0
  515. /package/src/cli/{platform → platform-lib}/services/SecretFilterService.ts +0 -0
  516. /package/src/cli/{platform → platform-lib}/services/VercelApi.ts +0 -0
  517. /package/src/cli/{platform → platform-lib}/services/VercelCli.ts +0 -0
  518. /package/src/{containers → container}/core/interfaces/ContainerOptions.ts +0 -0
  519. /package/src/{containers → container}/core/providers/NodeContainerProvider.ts +0 -0
@@ -1,14 +1,10 @@
1
- import * as _$alepha from "alepha";
2
1
  import { Alepha, Static } from "alepha";
3
- import * as _$alepha_command0 from "alepha/command";
4
2
  import { CliProvider, EnvUtils, Runner, RunnerMethod } from "alepha/command";
5
- import * as _$alepha_logger0 from "alepha/logger";
6
3
  import { ConsoleColorProvider } from "alepha/logger";
7
4
  import { FileSystemProvider, ShellProvider } from "alepha/system";
8
5
  import { BrotliOptions, ZlibOptions, brotliCompress, gzip } from "node:zlib";
9
6
  import { spawn } from "node:child_process";
10
- import * as _$typebox from "typebox";
11
- import * as _$vite from "vite";
7
+ import * as vite from "vite";
12
8
  import { Logger, Plugin, ViteDevServer } from "vite";
13
9
  import { DatabaseProvider } from "alepha/orm";
14
10
 
@@ -30,6 +26,7 @@ declare const alephaPackageJson: {
30
26
  files: string[];
31
27
  dependencies: {
32
28
  "@biomejs/biome": string;
29
+ "@cloudflare/containers": string;
33
30
  "@redis/client": string;
34
31
  "@vitejs/plugin-react": string;
35
32
  dayjs: string;
@@ -64,7 +61,6 @@ declare const alephaPackageJson: {
64
61
  "prom-client": string;
65
62
  react: string;
66
63
  "react-dom": string;
67
- shadcn: string;
68
64
  "swagger-ui-dist": string;
69
65
  tailwindcss: string;
70
66
  tsdown: string;
@@ -175,6 +171,12 @@ declare const alephaPackageJson: {
175
171
  import: string;
176
172
  default: string;
177
173
  };
174
+ "./background": {
175
+ types: string;
176
+ workerd: string;
177
+ import: string;
178
+ default: string;
179
+ };
178
180
  "./batch": {
179
181
  types: string;
180
182
  import: string;
@@ -237,6 +239,11 @@ declare const alephaPackageJson: {
237
239
  import: string;
238
240
  default: string;
239
241
  };
242
+ "./cli/platform-lib": {
243
+ types: string;
244
+ import: string;
245
+ default: string;
246
+ };
240
247
  "./cli/vendor": {
241
248
  types: string;
242
249
  import: string;
@@ -247,7 +254,7 @@ declare const alephaPackageJson: {
247
254
  import: string;
248
255
  default: string;
249
256
  };
250
- "./containers": {
257
+ "./container": {
251
258
  types: string;
252
259
  workerd: string;
253
260
  import: string;
@@ -385,6 +392,13 @@ declare const alephaPackageJson: {
385
392
  import: string;
386
393
  default: string;
387
394
  };
395
+ "./react/sitemap": {
396
+ types: string;
397
+ "react-native": string;
398
+ browser: string;
399
+ import: string;
400
+ default: string;
401
+ };
388
402
  "./react/testing": {
389
403
  types: string;
390
404
  import: string;
@@ -599,6 +613,12 @@ declare const alephaPackageJson: {
599
613
  import: string;
600
614
  default: string;
601
615
  };
616
+ "./background": {
617
+ types: string;
618
+ workerd: string;
619
+ import: string;
620
+ default: string;
621
+ };
602
622
  "./batch": {
603
623
  types: string;
604
624
  import: string;
@@ -661,6 +681,11 @@ declare const alephaPackageJson: {
661
681
  import: string;
662
682
  default: string;
663
683
  };
684
+ "./cli/platform-lib": {
685
+ types: string;
686
+ import: string;
687
+ default: string;
688
+ };
664
689
  "./cli/vendor": {
665
690
  types: string;
666
691
  import: string;
@@ -671,7 +696,7 @@ declare const alephaPackageJson: {
671
696
  import: string;
672
697
  default: string;
673
698
  };
674
- "./containers": {
699
+ "./container": {
675
700
  types: string;
676
701
  workerd: string;
677
702
  import: string;
@@ -809,6 +834,13 @@ declare const alephaPackageJson: {
809
834
  import: string;
810
835
  default: string;
811
836
  };
837
+ "./react/sitemap": {
838
+ types: string;
839
+ "react-native": string;
840
+ browser: string;
841
+ import: string;
842
+ default: string;
843
+ };
812
844
  "./react/testing": {
813
845
  types: string;
814
846
  import: string;
@@ -947,10 +979,10 @@ declare const alephaPackageJson: {
947
979
  declare const version: string;
948
980
  //#endregion
949
981
  //#region ../../src/cli/core/atoms/appEntryOptions.d.ts
950
- declare const appEntryOptions: _$alepha.Atom<_$typebox.TObject<{
951
- server: _$typebox.TOptional<_$typebox.TString>;
952
- browser: _$typebox.TOptional<_$typebox.TString>;
953
- style: _$typebox.TOptional<_$typebox.TString>;
982
+ declare const appEntryOptions: import("alepha").Atom<import("typebox").TObject<{
983
+ server: import("typebox").TOptional<import("typebox").TString>;
984
+ browser: import("typebox").TOptional<import("typebox").TString>;
985
+ style: import("typebox").TOptional<import("typebox").TString>;
954
986
  }>, "alepha.cli.appEntry.options">;
955
987
  type AppEntryOptions = Static<typeof appEntryOptions.schema>;
956
988
  //#endregion
@@ -977,14 +1009,14 @@ type BuildRuntime = "node" | "bun" | "workerd";
977
1009
  * Defines the available build configuration options with their defaults.
978
1010
  * Options can be overridden via alepha.config.ts or CLI flags.
979
1011
  */
980
- declare const buildOptions: _$alepha.Atom<_$typebox.TObject<{
1012
+ declare const buildOptions: import("alepha").Atom<import("typebox").TObject<{
981
1013
  /**
982
1014
  * Generate build stats report.
983
1015
  *
984
1016
  * - `true` - Generate a static HTML report
985
1017
  * - `"json"` - Generate a JSON report
986
1018
  */
987
- stats: _$typebox.TOptional<_$typebox.TUnion<[_$typebox.TBoolean, _$typebox.TUnsafe<"json">]>>;
1019
+ stats: import("typebox").TOptional<import("typebox").TUnion<[import("typebox").TBoolean, import("typebox").TUnsafe<"json">]>>;
988
1020
  /**
989
1021
  * Deployment target for the build output.
990
1022
  *
@@ -992,7 +1024,7 @@ declare const buildOptions: _$alepha.Atom<_$typebox.TObject<{
992
1024
  * - `vercel` - Generate Vercel deployment configuration (forces node runtime)
993
1025
  * - `cloudflare` - Generate Cloudflare Workers configuration (forces workerd runtime)
994
1026
  */
995
- target: _$typebox.TOptional<_$typebox.TUnsafe<"bare" | "docker" | "vercel" | "cloudflare" | "static">>;
1027
+ target: import("typebox").TOptional<import("typebox").TUnsafe<"bare" | "docker" | "vercel" | "cloudflare" | "static">>;
996
1028
  /**
997
1029
  * JavaScript runtime for the build output.
998
1030
  *
@@ -1004,23 +1036,23 @@ declare const buildOptions: _$alepha.Atom<_$typebox.TObject<{
1004
1036
  * - `cloudflare` always uses `workerd`
1005
1037
  * - `vercel` always uses `node`
1006
1038
  */
1007
- runtime: _$typebox.TOptional<_$typebox.TUnsafe<"node" | "bun" | "workerd">>;
1039
+ runtime: import("typebox").TOptional<import("typebox").TUnsafe<"node" | "bun" | "workerd">>;
1008
1040
  /**
1009
1041
  * Output directory configuration.
1010
1042
  */
1011
- output: _$typebox.TOptional<_$typebox.TObject<{
1043
+ output: import("typebox").TOptional<import("typebox").TObject<{
1012
1044
  /**
1013
1045
  * Root dist directory.
1014
1046
  *
1015
1047
  * @default "dist"
1016
1048
  */
1017
- dist: _$typebox.TOptional<_$typebox.TString>;
1049
+ dist: import("typebox").TOptional<import("typebox").TString>;
1018
1050
  /**
1019
1051
  * Public/client subdirectory.
1020
1052
  *
1021
1053
  * @default "public"
1022
1054
  */
1023
- public: _$typebox.TOptional<_$typebox.TString>;
1055
+ public: import("typebox").TOptional<import("typebox").TString>;
1024
1056
  }>>;
1025
1057
  /**
1026
1058
  * Vercel-specific deployment configuration.
@@ -1028,14 +1060,14 @@ declare const buildOptions: _$alepha.Atom<_$typebox.TObject<{
1028
1060
  * Note: Set `target: "vercel"` to enable Vercel deployment.
1029
1061
  * This object is only for additional configuration.
1030
1062
  */
1031
- vercel: _$typebox.TOptional<_$typebox.TObject<{
1032
- projectName: _$typebox.TOptional<_$typebox.TString>;
1033
- orgId: _$typebox.TOptional<_$typebox.TString>;
1034
- projectId: _$typebox.TOptional<_$typebox.TString>;
1035
- config: _$typebox.TOptional<_$typebox.TObject<{
1036
- crons: _$typebox.TOptional<_$typebox.TArray<_$typebox.TObject<{
1037
- path: _$typebox.TString;
1038
- schedule: _$typebox.TString;
1063
+ vercel: import("typebox").TOptional<import("typebox").TObject<{
1064
+ projectName: import("typebox").TOptional<import("typebox").TString>;
1065
+ orgId: import("typebox").TOptional<import("typebox").TString>;
1066
+ projectId: import("typebox").TOptional<import("typebox").TString>;
1067
+ config: import("typebox").TOptional<import("typebox").TObject<{
1068
+ crons: import("typebox").TOptional<import("typebox").TArray<import("typebox").TObject<{
1069
+ path: import("typebox").TString;
1070
+ schedule: import("typebox").TString;
1039
1071
  }>>>;
1040
1072
  }>>;
1041
1073
  }>>;
@@ -1045,8 +1077,8 @@ declare const buildOptions: _$alepha.Atom<_$typebox.TObject<{
1045
1077
  * Note: Set `target: "cloudflare"` to enable Cloudflare deployment.
1046
1078
  * This object is only for additional configuration.
1047
1079
  */
1048
- cloudflare: _$typebox.TOptional<_$typebox.TObject<{
1049
- config: _$typebox.TOptional<_$typebox.TRecord<string, _$typebox.TAny>>;
1080
+ cloudflare: import("typebox").TOptional<import("typebox").TObject<{
1081
+ config: import("typebox").TOptional<import("typebox").TRecord<string, import("typebox").TAny>>;
1050
1082
  }>>;
1051
1083
  /**
1052
1084
  * Docker-specific deployment configuration.
@@ -1054,21 +1086,21 @@ declare const buildOptions: _$alepha.Atom<_$typebox.TObject<{
1054
1086
  * Note: Set `target: "docker"` to enable Docker deployment.
1055
1087
  * This object is only for additional configuration.
1056
1088
  */
1057
- docker: _$typebox.TOptional<_$typebox.TObject<{
1089
+ docker: import("typebox").TOptional<import("typebox").TObject<{
1058
1090
  /**
1059
1091
  * Base image for the Dockerfile (FROM instruction).
1060
1092
  *
1061
1093
  * @default "node:24-alpine" for node runtime
1062
1094
  * @default "oven/bun:alpine" for bun runtime
1063
1095
  */
1064
- from: _$typebox.TOptional<_$typebox.TString>;
1096
+ from: import("typebox").TOptional<import("typebox").TString>;
1065
1097
  /**
1066
1098
  * Command to run in the Docker container.
1067
1099
  *
1068
1100
  * @default "node" for node runtime
1069
1101
  * @default "bun" for bun runtime
1070
1102
  */
1071
- command: _$typebox.TOptional<_$typebox.TString>;
1103
+ command: import("typebox").TOptional<import("typebox").TString>;
1072
1104
  /**
1073
1105
  * Extra packages to install globally in the generated image.
1074
1106
  *
@@ -1082,11 +1114,11 @@ declare const buildOptions: _$alepha.Atom<_$typebox.TObject<{
1082
1114
  *
1083
1115
  * @example install: ["wrangler"]
1084
1116
  */
1085
- install: _$typebox.TOptional<_$typebox.TArray<_$typebox.TString>>;
1117
+ install: import("typebox").TOptional<import("typebox").TArray<import("typebox").TString>>;
1086
1118
  /**
1087
1119
  * Docker build options (used when --image flag is passed).
1088
1120
  */
1089
- image: _$typebox.TOptional<_$typebox.TObject<{
1121
+ image: import("typebox").TOptional<import("typebox").TObject<{
1090
1122
  /**
1091
1123
  * Default image tag (name without version).
1092
1124
  *
@@ -1098,13 +1130,13 @@ declare const buildOptions: _$alepha.Atom<_$typebox.TObject<{
1098
1130
  * @example "myproject/myapp"
1099
1131
  * @example "ghcr.io/myorg/myapp"
1100
1132
  */
1101
- tag: _$typebox.TString;
1133
+ tag: import("typebox").TString;
1102
1134
  /**
1103
1135
  * Additional arguments to pass to `docker build`.
1104
1136
  *
1105
1137
  * @example '--platform linux/amd64 --no-cache'
1106
1138
  */
1107
- args: _$typebox.TOptional<_$typebox.TString>;
1139
+ args: import("typebox").TOptional<import("typebox").TString>;
1108
1140
  /**
1109
1141
  * Auto-add OCI standard labels (revision, created, version).
1110
1142
  *
@@ -1113,7 +1145,7 @@ declare const buildOptions: _$alepha.Atom<_$typebox.TObject<{
1113
1145
  * - org.opencontainers.image.created (build timestamp)
1114
1146
  * - org.opencontainers.image.version (from image tag)
1115
1147
  */
1116
- oci: _$typebox.TOptional<_$typebox.TBoolean>;
1148
+ oci: import("typebox").TOptional<import("typebox").TBoolean>;
1117
1149
  }>>;
1118
1150
  /**
1119
1151
  * Compile the server entry to a single static binary using
@@ -1130,7 +1162,7 @@ declare const buildOptions: _$alepha.Atom<_$typebox.TObject<{
1130
1162
  *
1131
1163
  * Pass `true` to enable with defaults, or an object to override.
1132
1164
  */
1133
- compile: _$typebox.TOptional<_$typebox.TUnion<[_$typebox.TBoolean, _$typebox.TObject<{
1165
+ compile: import("typebox").TOptional<import("typebox").TUnion<[import("typebox").TBoolean, import("typebox").TObject<{
1134
1166
  /**
1135
1167
  * Bun target triple, e.g. `bun-linux-x64-musl`,
1136
1168
  * `bun-linux-arm64-musl`, or `bun-linux-x64-modern-musl`
@@ -1138,19 +1170,19 @@ declare const buildOptions: _$alepha.Atom<_$typebox.TObject<{
1138
1170
  *
1139
1171
  * @default derived from host arch — always linux-musl.
1140
1172
  */
1141
- target: _$typebox.TOptional<_$typebox.TString>;
1173
+ target: import("typebox").TOptional<import("typebox").TString>;
1142
1174
  /**
1143
1175
  * Base image for the generated Dockerfile.
1144
1176
  *
1145
1177
  * @default "gcr.io/distroless/static-debian12"
1146
1178
  */
1147
- base: _$typebox.TOptional<_$typebox.TString>;
1179
+ base: import("typebox").TOptional<import("typebox").TString>;
1148
1180
  /**
1149
1181
  * Minify the compiled output.
1150
1182
  *
1151
1183
  * @default true
1152
1184
  */
1153
- minify: _$typebox.TOptional<_$typebox.TBoolean>;
1185
+ minify: import("typebox").TOptional<import("typebox").TBoolean>;
1154
1186
  }>]>>;
1155
1187
  }>>;
1156
1188
  /**
@@ -1158,7 +1190,7 @@ declare const buildOptions: _$alepha.Atom<_$typebox.TObject<{
1158
1190
  *
1159
1191
  * Note: Set `target: "static"` to enable static site generation.
1160
1192
  */
1161
- static: _$typebox.TOptional<_$typebox.TObject<{
1193
+ static: import("typebox").TOptional<import("typebox").TObject<{
1162
1194
  /**
1163
1195
  * Surge domain for deployment.
1164
1196
  *
@@ -1168,7 +1200,7 @@ declare const buildOptions: _$alepha.Atom<_$typebox.TObject<{
1168
1200
  * @example "my-app.surge.sh"
1169
1201
  * @example "my-custom-domain.com"
1170
1202
  */
1171
- domain: _$typebox.TOptional<_$typebox.TString>;
1203
+ domain: import("typebox").TOptional<import("typebox").TString>;
1172
1204
  }>>;
1173
1205
  /**
1174
1206
  * PWA (Progressive Web App) configuration.
@@ -1176,29 +1208,29 @@ declare const buildOptions: _$alepha.Atom<_$typebox.TObject<{
1176
1208
  * Generates a web app manifest and enables installability.
1177
1209
  * Requires a client-side bundle (React).
1178
1210
  */
1179
- pwa: _$typebox.TOptional<_$typebox.TObject<{
1211
+ pwa: import("typebox").TOptional<import("typebox").TObject<{
1180
1212
  /**
1181
1213
  * Full application name displayed on the splash screen
1182
1214
  * and in the OS app switcher.
1183
1215
  */
1184
- name: _$typebox.TString;
1216
+ name: import("typebox").TString;
1185
1217
  /**
1186
1218
  * Short name displayed on the home screen icon.
1187
1219
  * Falls back to `name` if omitted.
1188
1220
  */
1189
- shortName: _$typebox.TOptional<_$typebox.TString>;
1221
+ shortName: import("typebox").TOptional<import("typebox").TString>;
1190
1222
  /**
1191
1223
  * Theme color used for the browser toolbar and OS chrome.
1192
1224
  *
1193
1225
  * @default "#ffffff"
1194
1226
  */
1195
- themeColor: _$typebox.TOptional<_$typebox.TString>;
1227
+ themeColor: import("typebox").TOptional<import("typebox").TString>;
1196
1228
  /**
1197
1229
  * Background color for the splash screen.
1198
1230
  *
1199
1231
  * @default "#ffffff"
1200
1232
  */
1201
- backgroundColor: _$typebox.TOptional<_$typebox.TString>;
1233
+ backgroundColor: import("typebox").TOptional<import("typebox").TString>;
1202
1234
  /**
1203
1235
  * Display mode for the installed PWA.
1204
1236
  *
@@ -1209,22 +1241,13 @@ declare const buildOptions: _$alepha.Atom<_$typebox.TObject<{
1209
1241
  *
1210
1242
  * @default "standalone"
1211
1243
  */
1212
- display: _$typebox.TOptional<_$typebox.TUnsafe<"browser" | "standalone" | "fullscreen" | "minimal-ui">>;
1244
+ display: import("typebox").TOptional<import("typebox").TUnsafe<"standalone" | "fullscreen" | "minimal-ui" | "browser">>;
1213
1245
  /**
1214
1246
  * Enable offline support via service worker.
1215
1247
  *
1216
1248
  * TODO: Not yet implemented.
1217
1249
  */
1218
- offline: _$typebox.TOptional<_$typebox.TBoolean>;
1219
- }>>;
1220
- /**
1221
- * Sitemap generation configuration.
1222
- */
1223
- sitemap: _$typebox.TOptional<_$typebox.TObject<{
1224
- /**
1225
- * Base URL for sitemap entries.
1226
- */
1227
- hostname: _$typebox.TString;
1250
+ offline: import("typebox").TOptional<import("typebox").TBoolean>;
1228
1251
  }>>;
1229
1252
  }>, "alepha.cli.build.options">;
1230
1253
  /**
@@ -1250,12 +1273,12 @@ declare const DEFAULT_IGNORE: string[];
1250
1273
  * });
1251
1274
  * ```
1252
1275
  */
1253
- declare const changelogOptions: _$alepha.Atom<_$typebox.TObject<{
1276
+ declare const changelogOptions: import("alepha").Atom<import("typebox").TObject<{
1254
1277
  /**
1255
1278
  * Scopes to ignore (e.g., "project", "release", "chore").
1256
1279
  * Commits like `feat(chore): ...` will be excluded from changelog.
1257
1280
  */
1258
- ignore: _$typebox.TOptional<_$typebox.TArray<_$typebox.TString>>;
1281
+ ignore: import("typebox").TOptional<import("typebox").TArray<import("typebox").TString>>;
1259
1282
  }>, "alepha.cli.changelog.options">;
1260
1283
  type ChangelogOptions = Static<typeof changelogOptions.schema>;
1261
1284
  //#endregion
@@ -1266,11 +1289,11 @@ type ChangelogOptions = Static<typeof changelogOptions.schema>;
1266
1289
  * Defines the available dev configuration options with their defaults.
1267
1290
  * Options can be overridden via alepha.config.ts or CLI flags.
1268
1291
  */
1269
- declare const devOptions: _$alepha.Atom<_$typebox.TObject<{
1292
+ declare const devOptions: import("alepha").Atom<import("typebox").TObject<{
1270
1293
  /**
1271
1294
  * Disable Vite React plugin.
1272
1295
  */
1273
- noViteReactPlugin: _$typebox.TOptional<_$typebox.TBoolean>;
1296
+ noViteReactPlugin: import("typebox").TOptional<import("typebox").TBoolean>;
1274
1297
  }>, "alepha.cli.dev.options">;
1275
1298
  /**
1276
1299
  * Type for dev options.
@@ -1286,8 +1309,8 @@ type DevOptions = Static<typeof devOptions.schema>;
1286
1309
  declare class AppEntryProvider {
1287
1310
  protected readonly fs: FileSystemProvider;
1288
1311
  protected readonly options: Readonly<{
1289
- server?: string | undefined;
1290
1312
  browser?: string | undefined;
1313
+ server?: string | undefined;
1291
1314
  style?: string | undefined;
1292
1315
  }>;
1293
1316
  protected readonly serverEntries: readonly ["main.server.ts", "main.server.tsx", "main.ts", "main.tsx"];
@@ -1351,7 +1374,7 @@ declare class ViteUtils {
1351
1374
  /**
1352
1375
  * Lazy-load Vite (with rolldown-vite fallback).
1353
1376
  */
1354
- importVite(): Promise<typeof _$vite>;
1377
+ importVite(): Promise<typeof import("vite")>;
1355
1378
  /**
1356
1379
  * Lazy-load @vitejs/plugin-react (optional).
1357
1380
  */
@@ -1381,8 +1404,8 @@ declare class ViteUtils {
1381
1404
  /**
1382
1405
  * We need to close the Vite dev server after build is done.
1383
1406
  */
1384
- protected onReady: _$alepha.HookPrimitive<"ready">;
1385
- protected onStop: _$alepha.HookPrimitive<"stop">;
1407
+ protected onReady: import("alepha").HookPrimitive<"ready">;
1408
+ protected onStop: import("alepha").HookPrimitive<"stop">;
1386
1409
  runAlepha(opts: {
1387
1410
  entry: AppEntry;
1388
1411
  mode: "production" | "development";
@@ -1411,7 +1434,7 @@ declare class ViteBuildProvider {
1411
1434
  * - Environment loading
1412
1435
  */
1413
1436
  declare class AlephaCliUtils {
1414
- protected readonly log: _$alepha_logger0.Logger;
1437
+ protected readonly log: import("alepha/logger").Logger;
1415
1438
  protected readonly fs: FileSystemProvider;
1416
1439
  protected readonly envUtils: EnvUtils;
1417
1440
  protected readonly boot: AppEntryProvider;
@@ -1514,7 +1537,7 @@ interface WorkspaceContext {
1514
1537
  * - Bun
1515
1538
  */
1516
1539
  declare class PackageManagerUtils {
1517
- protected readonly log: _$alepha_logger0.Logger;
1540
+ protected readonly log: import("alepha/logger").Logger;
1518
1541
  protected readonly fs: FileSystemProvider;
1519
1542
  protected readonly alepha: Alepha;
1520
1543
  /**
@@ -1592,12 +1615,6 @@ interface DependencyModes {
1592
1615
  react?: boolean;
1593
1616
  expo?: boolean;
1594
1617
  tailwind?: boolean;
1595
- shadcn?: boolean;
1596
- /**
1597
- * SaaS starter: implies `shadcn` + adds the alepha auth + admin registry
1598
- * components on top via `shadcn add @alepha/...`.
1599
- */
1600
- saas?: boolean;
1601
1618
  /**
1602
1619
  * Whether the project is a workspace package inside a monorepo.
1603
1620
  */
@@ -1615,10 +1632,9 @@ interface DependencyModes {
1615
1632
  * - Example code (HelloController, Home component)
1616
1633
  */
1617
1634
  declare class ProjectScaffolder {
1618
- protected readonly log: _$alepha_logger0.Logger;
1635
+ protected readonly log: import("alepha/logger").Logger;
1619
1636
  protected readonly colors: ConsoleColorProvider;
1620
1637
  protected readonly fs: FileSystemProvider;
1621
- protected readonly shell: ShellProvider;
1622
1638
  protected readonly pm: PackageManagerUtils;
1623
1639
  protected readonly utils: AlephaCliUtils;
1624
1640
  /**
@@ -1640,13 +1656,7 @@ declare class ProjectScaffolder {
1640
1656
  */
1641
1657
  checkWorkspace?: boolean;
1642
1658
  packageJson?: boolean | DependencyModes;
1643
- /**
1644
- * `true` writes a tsconfig.json if one doesn't already exist (parent
1645
- * dirs included). `"local"` writes one when none exists *in this
1646
- * directory* — used by shadcn since the CLI reads the local
1647
- * tsconfig directly for import-alias detection.
1648
- */
1649
- tsconfigJson?: boolean | "local";
1659
+ tsconfigJson?: boolean;
1650
1660
  biomeJson?: boolean;
1651
1661
  editorconfig?: boolean;
1652
1662
  agentMd?: boolean;
@@ -1658,7 +1668,6 @@ declare class ProjectScaffolder {
1658
1668
  }): Promise<void>;
1659
1669
  ensureTsConfig(root: string, opts?: {
1660
1670
  force?: boolean;
1661
- localOnly?: boolean;
1662
1671
  }): Promise<void>;
1663
1672
  ensureBiomeConfig(root: string, opts?: {
1664
1673
  force?: boolean;
@@ -1716,16 +1725,8 @@ declare class ProjectScaffolder {
1716
1725
  * - src/api/controllers/HelloController.ts (example controller)
1717
1726
  */
1718
1727
  ensureApiProject(root: string, opts?: {
1719
- saas?: boolean;
1720
1728
  force?: boolean;
1721
1729
  }): Promise<void>;
1722
- /**
1723
- * Best-effort lookup for the developer's git email — seeded as
1724
- * `ADMIN_EMAILS` in the SaaS project's `.env`. Returns undefined if git
1725
- * isn't available or `user.email` isn't configured; the caller then falls
1726
- * back to the neutral `admin@alepha.dev`.
1727
- */
1728
- protected detectGitEmail(): Promise<string | undefined>;
1729
1730
  /**
1730
1731
  * Ensure web/React project structure exists.
1731
1732
  *
@@ -1737,8 +1738,6 @@ declare class ProjectScaffolder {
1737
1738
  ensureWebProject(root: string, opts?: {
1738
1739
  api?: boolean;
1739
1740
  tailwind?: boolean;
1740
- shadcn?: boolean;
1741
- saas?: boolean;
1742
1741
  force?: boolean;
1743
1742
  }): Promise<void>;
1744
1743
  /**
@@ -1762,9 +1761,7 @@ declare class ProjectScaffolder {
1762
1761
  pm?: "yarn" | "npm" | "pnpm" | "bun";
1763
1762
  api?: boolean;
1764
1763
  react?: boolean;
1765
- tailwind?: boolean; /** boolean toggle, or a string preset id (default `b0` when bare). */
1766
- shadcn?: boolean | string; /** boolean toggle, or a string preset id (default `b0` when bare). */
1767
- saas?: boolean | string;
1764
+ tailwind?: boolean;
1768
1765
  force?: boolean;
1769
1766
  };
1770
1767
  args?: string;
@@ -1779,6 +1776,181 @@ declare class ProjectScaffolder {
1779
1776
  protected existsInParents(root: string, filename: string): Promise<boolean>;
1780
1777
  }
1781
1778
  //#endregion
1779
+ //#region ../../src/cli/core/tasks/BuildCloudflareTask.d.ts
1780
+ interface WranglerConfig {
1781
+ [key: string]: any;
1782
+ }
1783
+ /**
1784
+ * Build-time snapshot describing what the workspace needs at deploy
1785
+ * time. Written to `dist/manifest.json` alongside `wrangler.jsonc`.
1786
+ *
1787
+ * Lets `alepha platform up --prebuilt` skip the Vite-based
1788
+ * introspection step on the deploy side — and lets Alepha Rocket skip
1789
+ * the workspace's runtime `npm install` because no app source is
1790
+ * booted at deploy time. The manifest captures the bits of primitive
1791
+ * data that the deploy steps (provision, secrets, hooks) need to
1792
+ * know.
1793
+ */
1794
+ interface BuildManifest {
1795
+ version: 1;
1796
+ project: string;
1797
+ /**
1798
+ * Default environment when `--env` is omitted at deploy time.
1799
+ * Captured from `platformOptions.default` (defaults to `"production"`).
1800
+ */
1801
+ defaultEnv: string;
1802
+ /**
1803
+ * Multi-tenancy mode (`none` | `optional` | `required`). Captured from
1804
+ * `platformOptions.tenancy` so the prebuilt deploy side (Rocket) can
1805
+ * validate `--tenant` without re-evaluating `alepha.config.ts`.
1806
+ */
1807
+ tenancy?: "none" | "optional" | "required";
1808
+ /**
1809
+ * Resolved `platform({ environments: ... })` map. Captured at build
1810
+ * time from the workspace's `alepha.config.ts` so the deploy side
1811
+ * doesn't need to re-evaluate the config. Each value is the same
1812
+ * `EnvironmentConfig` shape consumed by the orchestrator (adapter,
1813
+ * domain, zone, jurisdiction, accountId).
1814
+ */
1815
+ environments: Record<string, {
1816
+ adapter: "cloudflare" | "vercel";
1817
+ domain?: string;
1818
+ zone?: string;
1819
+ jurisdiction?: "eu" | "fedramp";
1820
+ accountId?: string;
1821
+ }>;
1822
+ resources: {
1823
+ hasDatabase: boolean;
1824
+ hasBucket: boolean;
1825
+ hasKV: boolean;
1826
+ hasQueue: boolean;
1827
+ hasCron: boolean;
1828
+ };
1829
+ /**
1830
+ * All distinct cron expressions registered by `$scheduler`
1831
+ * primitives. Empty when `hasCron` is false.
1832
+ */
1833
+ crons: string[];
1834
+ /**
1835
+ * Cloudflare email binding, captured when the app registers
1836
+ * `CloudflareEmailProvider` at artifact-build time. The prebuilt/manifest
1837
+ * deploy path (Alepha Rocket `--prebuilt`) has no Vite introspection, so it
1838
+ * reads this to re-emit the `send_email` wrangler binding. Absent when the
1839
+ * app doesn't use Cloudflare email.
1840
+ */
1841
+ email?: {
1842
+ binding: string;
1843
+ };
1844
+ /**
1845
+ * `$container()` descriptors — image, port, lifecycle settings.
1846
+ * Used both to populate Cloudflare Containers bindings in
1847
+ * wrangler.jsonc and (in future) to know which images Rocket should
1848
+ * pull on the deploy side.
1849
+ */
1850
+ containers: Array<{
1851
+ name: string;
1852
+ className: string;
1853
+ image: string;
1854
+ port: number;
1855
+ sleepAfter: string;
1856
+ instanceType: string;
1857
+ maxInstances: number;
1858
+ }>;
1859
+ /**
1860
+ * Every env var the app declares via `$env`, captured from
1861
+ * `alepha.dump().env` at build time. The deploy `secrets` step uses this
1862
+ * as the worker-secret allowlist (minus build/binding vars) so CI can
1863
+ * deliver secrets straight from `process.env` without a `.env` file —
1864
+ * `platform.secrets.keys` overrides it when set. Empty when introspection
1865
+ * was unavailable (older artifacts / prebuilt mode).
1866
+ */
1867
+ env: string[];
1868
+ }
1869
+ /**
1870
+ * Generate Cloudflare Workers deployment configuration.
1871
+ *
1872
+ * Creates:
1873
+ * - wrangler.jsonc with worker configuration
1874
+ * - main.cloudflare.js entry point for Cloudflare Workers
1875
+ */
1876
+ declare class BuildCloudflareTask extends BuildTask {
1877
+ protected readonly fs: FileSystemProvider;
1878
+ protected readonly viteUtils: ViteUtils;
1879
+ protected readonly warningComment: string;
1880
+ run(ctx: BuildTaskContext): Promise<void>;
1881
+ protected generateCloudflare(ctx: BuildTaskContext, distDir: string): Promise<void>;
1882
+ /**
1883
+ * Write `dist/manifest.json` — a build-time snapshot of everything
1884
+ * downstream tooling needs to know about the app without re-booting
1885
+ * it. Used by `alepha platform up --prebuilt` (and Alepha Rocket) so
1886
+ * the deploy path can skip the Vite-based introspection step and the
1887
+ * workspace's runtime npm install.
1888
+ */
1889
+ protected writeManifest(ctx: BuildTaskContext, root: string, distDir: string, name: string, containers: ContainerDescriptor[]): Promise<void>;
1890
+ protected enhanceDomain(wrangler: WranglerConfig): void;
1891
+ protected enhanceCron(ctx: BuildTaskContext, wrangler: WranglerConfig): void;
1892
+ protected discoverCrons(ctx: BuildTaskContext): string[];
1893
+ protected enhanceDatabase(wrangler: WranglerConfig): void;
1894
+ protected static readonly D1_BINDING = "DB";
1895
+ protected enhanceD1(wrangler: WranglerConfig): void;
1896
+ protected enhanceHyperdrive(wrangler: WranglerConfig): void;
1897
+ protected enhanceR2(wrangler: WranglerConfig): void;
1898
+ protected enhanceKV(wrangler: WranglerConfig): void;
1899
+ protected enhanceQueue(wrangler: WranglerConfig): void;
1900
+ protected enhanceEmail(ctx: BuildTaskContext, wrangler: WranglerConfig): void;
1901
+ /**
1902
+ * Discover `$container` primitives and emit the matching Cloudflare
1903
+ * Containers bindings, Durable Object bindings, and migrations into
1904
+ * `wrangler.jsonc`. The DO class declarations are added later, when
1905
+ * the worker entry point is written.
1906
+ *
1907
+ * Returns the list of container descriptors so
1908
+ * `writeWorkerEntryPoint` can emit `export class <NAME> extends
1909
+ * Container` declarations referencing them.
1910
+ */
1911
+ protected discoverContainers(ctx: BuildTaskContext): ContainerDescriptor[];
1912
+ /**
1913
+ * Expand a short image ref (e.g. `alepha-rocket:0.1.0`) into the
1914
+ * fully-qualified `registry.cloudflare.com/<account>/<image>:<tag>`
1915
+ * URL that wrangler validates at deploy time.
1916
+ *
1917
+ * Cloudflare Containers only pulls from `registry.cloudflare.com`;
1918
+ * wrangler accepts either a Dockerfile path or a fully-qualified
1919
+ * registry URL in the `image` field — not a bare DockerHub-style
1920
+ * name. We let `$container({ image })` callers write the short
1921
+ * form (it matches what `wrangler containers push <local>` accepts
1922
+ * + matches the local docker tag) and rewrite to the CF registry
1923
+ * URL here.
1924
+ *
1925
+ * Pass-through cases:
1926
+ * - already a full URL: starts with `registry.cloudflare.com/`
1927
+ * or contains a scheme/`://`
1928
+ * - looks like a Dockerfile path: starts with `./` or `/`
1929
+ */
1930
+ protected resolveContainerImage(image: string): string;
1931
+ protected enhanceContainers(ctx: BuildTaskContext, wrangler: WranglerConfig): ContainerDescriptor[];
1932
+ protected writeWorkerEntryPoint(root: string, distDir: string, containers?: ContainerDescriptor[]): Promise<void>;
1933
+ }
1934
+ interface ContainerDescriptor {
1935
+ name: string;
1936
+ className: string;
1937
+ image: string;
1938
+ port: number;
1939
+ sleepAfter: string;
1940
+ /**
1941
+ * Cloudflare Containers instance class.
1942
+ *
1943
+ * `dev` is the wrangler-pre-GA name; the platform accepts it but
1944
+ * emits a deprecation warning telling you to use `lite`. We
1945
+ * silently translate at write time (see `discoverContainers`
1946
+ * default + `enhanceContainers` write) so older
1947
+ * `$container({ instanceType: "dev" })` declarations keep working.
1948
+ */
1949
+ instanceType: "dev" | "lite" | "basic" | "standard";
1950
+ maxInstances: number;
1951
+ envVars?: Record<string, string>;
1952
+ }
1953
+ //#endregion
1782
1954
  //#region ../../src/cli/core/tasks/BuildTask.d.ts
1783
1955
  interface BuildTaskContext {
1784
1956
  /**
@@ -1814,6 +1986,34 @@ interface BuildTaskContext {
1814
1986
  * Raw CLI flags passed through from the command.
1815
1987
  * Tasks can read flags relevant to their domain.
1816
1988
  */
1989
+ /**
1990
+ * Build-time snapshot of primitive data, read from
1991
+ * `dist/manifest.json`. Populated only in `--prebuilt` mode when a
1992
+ * previous build's manifest is present — lets BuildCloudflareTask
1993
+ * regenerate `wrangler.jsonc` without re-booting the workspace.
1994
+ * `null` when introspection (`ctx.alepha`) is the source of truth.
1995
+ */
1996
+ manifest: BuildManifest | null;
1997
+ /**
1998
+ * Resolved `platform({ default, environments, ... })` options from
1999
+ * the workspace's `alepha.config.ts`. Populated by `BuildCommand`
2000
+ * from the CLI's Alepha instance (where alepha.config.ts ran) —
2001
+ * BuildCloudflareTask uses these to write the corresponding fields
2002
+ * into `dist/manifest.json` so the deploy side doesn't need to
2003
+ * re-load `alepha.config.ts`. `null` when no platform options were
2004
+ * declared.
2005
+ */
2006
+ platformOptions: {
2007
+ default?: string;
2008
+ tenancy?: "none" | "optional" | "required";
2009
+ environments?: Record<string, {
2010
+ adapter: "cloudflare" | "vercel";
2011
+ domain?: string;
2012
+ zone?: string;
2013
+ jurisdiction?: "eu" | "fedramp";
2014
+ accountId?: string;
2015
+ }>;
2016
+ } | null;
1817
2017
  flags?: {
1818
2018
  image?: boolean | string;
1819
2019
  /**
@@ -1874,57 +2074,6 @@ declare class BuildClientTask extends BuildTask {
1874
2074
  postBuildCleanUpForIndexHtml(dist?: string): Promise<void>;
1875
2075
  }
1876
2076
  //#endregion
1877
- //#region ../../src/cli/core/tasks/BuildCloudflareTask.d.ts
1878
- interface WranglerConfig {
1879
- [key: string]: any;
1880
- }
1881
- /**
1882
- * Generate Cloudflare Workers deployment configuration.
1883
- *
1884
- * Creates:
1885
- * - wrangler.jsonc with worker configuration
1886
- * - main.cloudflare.js entry point for Cloudflare Workers
1887
- */
1888
- declare class BuildCloudflareTask extends BuildTask {
1889
- protected readonly fs: FileSystemProvider;
1890
- protected readonly viteUtils: ViteUtils;
1891
- protected readonly warningComment: string;
1892
- run(ctx: BuildTaskContext): Promise<void>;
1893
- protected generateCloudflare(ctx: BuildTaskContext, distDir: string): Promise<void>;
1894
- protected enhanceDomain(wrangler: WranglerConfig): void;
1895
- protected enhanceCron(ctx: BuildTaskContext, wrangler: WranglerConfig): void;
1896
- protected enhanceDatabase(wrangler: WranglerConfig): void;
1897
- protected static readonly D1_BINDING = "DB";
1898
- protected enhanceD1(wrangler: WranglerConfig): void;
1899
- protected enhanceHyperdrive(wrangler: WranglerConfig): void;
1900
- protected enhanceR2(wrangler: WranglerConfig): void;
1901
- protected enhanceKV(wrangler: WranglerConfig): void;
1902
- protected enhanceQueue(wrangler: WranglerConfig): void;
1903
- protected enhanceEmail(ctx: BuildTaskContext, wrangler: WranglerConfig): void;
1904
- /**
1905
- * Discover `$container` primitives and emit the matching Cloudflare
1906
- * Containers bindings, Durable Object bindings, and migrations into
1907
- * `wrangler.jsonc`. The DO class declarations are added later, when
1908
- * the worker entry point is written.
1909
- *
1910
- * Returns the list of container descriptors so
1911
- * `writeWorkerEntryPoint` can emit `export class <NAME> extends
1912
- * Container` declarations referencing them.
1913
- */
1914
- protected enhanceContainers(ctx: BuildTaskContext, wrangler: WranglerConfig): ContainerDescriptor[];
1915
- protected writeWorkerEntryPoint(root: string, distDir: string, containers?: ContainerDescriptor[]): Promise<void>;
1916
- }
1917
- interface ContainerDescriptor {
1918
- name: string;
1919
- className: string;
1920
- image: string;
1921
- port: number;
1922
- sleepAfter: string;
1923
- instanceType: "dev" | "basic" | "standard";
1924
- maxInstances: number;
1925
- envVars?: Record<string, string>;
1926
- }
1927
- //#endregion
1928
2077
  //#region ../../src/cli/core/tasks/BuildCompressTask.d.ts
1929
2078
  interface CompressOptions {
1930
2079
  /**
@@ -2028,6 +2177,14 @@ declare class BuildDockerTask extends BuildTask {
2028
2177
  */
2029
2178
  protected cleanupPreCompileArtifacts(root: string, distDir: string): Promise<void>;
2030
2179
  protected copyMigrations(root: string, distDir: string): Promise<boolean>;
2180
+ /**
2181
+ * Whether the produced `dist/package.json` declares any runtime
2182
+ * dependencies. Alepha apps normally bundle everything into the
2183
+ * server entry via Vite, leaving `dependencies: {}` — in which case
2184
+ * the generated Dockerfile's `RUN npm install` is wasted work
2185
+ * (and emits deprecation noise). Skip the line when empty.
2186
+ */
2187
+ protected hasRuntimeDeps(root: string, distDir: string): Promise<boolean>;
2031
2188
  protected writeDockerfile(root: string, distDir: string, opts: {
2032
2189
  compile: ResolvedCompile | null;
2033
2190
  standard: {
@@ -2035,6 +2192,7 @@ declare class BuildDockerTask extends BuildTask {
2035
2192
  command: string;
2036
2193
  };
2037
2194
  hasMigrations: boolean;
2195
+ hasDeps: boolean;
2038
2196
  install: string[];
2039
2197
  }): Promise<void>;
2040
2198
  protected buildDockerImage(ctx: BuildTaskContext, distDir: string): Promise<void>;
@@ -2042,17 +2200,30 @@ declare class BuildDockerTask extends BuildTask {
2042
2200
  //#endregion
2043
2201
  //#region ../../src/cli/core/tasks/BuildPrerenderTask.d.ts
2044
2202
  /**
2045
- * Pre-render static pages defined in the Alepha application.
2203
+ * Pre-render static pages and routes defined in the Alepha application.
2204
+ *
2205
+ * Two passes, both writing into `dist/public`:
2206
+ * - **pages** — every `$page` with `static: true` is rendered to an HTML file
2207
+ * (supports parameterized routes via `static.entries`).
2208
+ * - **routes** — every `static` route primitive (a `$route({ static: true })`
2209
+ * or a `$sitemap`) is invoked in-process and its body written verbatim to
2210
+ * `{path}` (e.g. `sitemap.xml`, `robots.txt`).
2046
2211
  *
2047
- * Queries all page primitives with `static: true` and generates
2048
- * static HTML files for each page. Supports pages with parameterized
2049
- * routes via `static.entries` configuration.
2212
+ * Both passes read the primitive registry and call a method on the already
2213
+ * created primitive instances no provider is re-injected, so this works in
2214
+ * the build's configured-but-not-started container.
2050
2215
  */
2051
2216
  declare class BuildPrerenderTask extends BuildTask {
2052
2217
  protected readonly fs: FileSystemProvider;
2053
2218
  run(ctx: BuildTaskContext): Promise<void>;
2054
2219
  protected getStaticPages(ctx: BuildTaskContext): any[];
2220
+ /**
2221
+ * Static route primitives to snapshot: `$route({ static: true })` and every
2222
+ * `$sitemap`. Both expose an async `prerender(): { path, body }`.
2223
+ */
2224
+ protected getStaticRoutePrimitives(ctx: BuildTaskContext): any[];
2055
2225
  protected prerenderFromAlepha(pages: any[], dist: string): Promise<number>;
2226
+ protected prerenderRoutes(primitives: any[], dist: string): Promise<void>;
2056
2227
  protected renderFile(page: any, options: any, dist: string): Promise<void>;
2057
2228
  }
2058
2229
  //#endregion
@@ -2088,7 +2259,7 @@ declare class BuildPwaTask extends BuildTask {
2088
2259
  */
2089
2260
  declare class BuildServerTask extends BuildTask {
2090
2261
  protected readonly alepha: Alepha;
2091
- protected readonly log: _$alepha_logger0.Logger;
2262
+ protected readonly log: import("alepha/logger").Logger;
2092
2263
  protected readonly fs: FileSystemProvider;
2093
2264
  protected readonly viteUtils: ViteUtils;
2094
2265
  run(ctx: BuildTaskContext): Promise<void>;
@@ -2110,24 +2281,7 @@ declare class BuildServerTask extends BuildTask {
2110
2281
  protected generateExternals(distDir: string, externals: string[]): Promise<void>;
2111
2282
  protected loadJsonFile(path: string): Promise<any>;
2112
2283
  protected stripClientManifest(manifest: Record<string, any> | undefined): Record<string, any> | undefined;
2113
- protected extractEntryFromBundle(root: string, entry: string, result: _$vite.Rollup.RollupOutput | _$vite.Rollup.RollupOutput[] | _$vite.Rollup.RollupWatcher): string;
2114
- }
2115
- //#endregion
2116
- //#region ../../src/cli/core/tasks/BuildSitemapTask.d.ts
2117
- /**
2118
- * Generate sitemap.xml from Alepha page primitives.
2119
- *
2120
- * Queries all page primitives and generates a sitemap.xml
2121
- * containing URLs for all accessible pages.
2122
- */
2123
- declare class BuildSitemapTask extends BuildTask {
2124
- protected readonly fs: FileSystemProvider;
2125
- run(ctx: BuildTaskContext): Promise<void>;
2126
- protected getSitemapPages(ctx: BuildTaskContext): any[];
2127
- protected generateSitemapFromPages(pages: any[], baseUrl: string): string;
2128
- protected buildPathFromParams(pathPattern: string, params: Record<string, any>): string;
2129
- protected buildSitemapXml(urls: string[]): string;
2130
- protected escapeXml(str: string): string;
2284
+ protected extractEntryFromBundle(root: string, entry: string, result: vite.Rollup.RollupOutput | vite.Rollup.RollupOutput[] | vite.Rollup.RollupWatcher): string;
2131
2285
  }
2132
2286
  //#endregion
2133
2287
  //#region ../../src/cli/core/tasks/BuildStaticTask.d.ts
@@ -2215,7 +2369,7 @@ declare class BuildVercelTask extends BuildTask {
2215
2369
  //#region ../../src/cli/core/commands/build.d.ts
2216
2370
  declare class BuildCommand {
2217
2371
  protected readonly alepha: Alepha;
2218
- protected readonly log: _$alepha_logger0.Logger;
2372
+ protected readonly log: import("alepha/logger").Logger;
2219
2373
  protected readonly utils: AlephaCliUtils;
2220
2374
  protected readonly pm: PackageManagerUtils;
2221
2375
  protected readonly scaffolder: ProjectScaffolder;
@@ -2265,20 +2419,31 @@ declare class BuildCommand {
2265
2419
  shortName?: string | undefined;
2266
2420
  themeColor?: string | undefined;
2267
2421
  backgroundColor?: string | undefined;
2268
- display?: "browser" | "standalone" | "fullscreen" | "minimal-ui" | undefined;
2422
+ display?: "standalone" | "fullscreen" | "minimal-ui" | "browser" | undefined;
2269
2423
  offline?: boolean | undefined;
2270
2424
  name: string;
2271
2425
  } | undefined;
2272
- sitemap?: {
2273
- hostname: string;
2274
- } | undefined;
2275
2426
  }>;
2276
2427
  /**
2277
2428
  * Build pipeline: tasks run sequentially in this order.
2278
2429
  * Each task self-guards (checks target, hasClient, etc.).
2279
2430
  * Order matters — compress must be last.
2280
2431
  */
2281
- protected readonly pipeline: (BuildVercelTask | BuildClientTask | BuildServerTask | BuildAssetsTask | BuildSitemapTask | BuildPwaTask | BuildPrerenderTask | BuildCloudflareTask | BuildDockerTask | BuildStaticTask | BuildCompressTask)[];
2432
+ protected readonly pipeline: (BuildClientTask | BuildServerTask | BuildAssetsTask | BuildPwaTask | BuildPrerenderTask | BuildVercelTask | BuildCloudflareTask | BuildDockerTask | BuildStaticTask | BuildCompressTask)[];
2433
+ /**
2434
+ * Value aliases accepted for `--target`.
2435
+ *
2436
+ * These let the CLI accept short forms (e.g. `--target cf`) that are
2437
+ * canonicalized to a real {@link BuildTarget} before they flow into the
2438
+ * pipeline. The enum in `flags.target` must also list the alias so it
2439
+ * passes schema validation.
2440
+ */
2441
+ protected readonly targetAliases: Record<string, BuildTarget>;
2442
+ /**
2443
+ * Canonicalize a raw `--target` value, mapping any known alias
2444
+ * (e.g. `cf` → `cloudflare`) to its real {@link BuildTarget}.
2445
+ */
2446
+ protected resolveTarget(target: string | undefined): BuildTarget | undefined;
2282
2447
  /**
2283
2448
  * Resolve the effective runtime based on target and explicit runtime flag.
2284
2449
  *
@@ -2290,15 +2455,20 @@ declare class BuildCommand {
2290
2455
  * @throws {AlephaError} If an incompatible runtime is specified for a target
2291
2456
  */
2292
2457
  protected resolveRuntime(target: BuildTarget | undefined, runtime: BuildRuntime | undefined): BuildRuntime;
2293
- readonly build: _$alepha_command0.CommandPrimitive<_$typebox.TObject<{
2294
- stats: _$typebox.TOptional<_$typebox.TUnion<[_$typebox.TBoolean, _$typebox.TUnsafe<"json">]>>;
2295
- target: _$typebox.TOptional<_$typebox.TUnsafe<"bare" | "docker" | "vercel" | "cloudflare" | "static">>;
2296
- runtime: _$typebox.TOptional<_$typebox.TUnsafe<"node" | "bun" | "workerd">>;
2297
- image: _$typebox.TOptional<_$typebox.TUnion<[_$typebox.TBoolean, _$typebox.TString]>>;
2298
- compile: _$typebox.TOptional<_$typebox.TBoolean>;
2299
- prebuilt: _$typebox.TOptional<_$typebox.TBoolean>;
2300
- sitemap: _$typebox.TOptional<_$typebox.TString>;
2301
- }>, _$typebox.TSchema, _$typebox.TObject<_$typebox.TProperties>>;
2458
+ readonly build: import("alepha/command").CommandPrimitive<import("typebox").TObject<{
2459
+ stats: import("typebox").TOptional<import("typebox").TUnion<[import("typebox").TBoolean, import("typebox").TUnsafe<"json">]>>;
2460
+ target: import("typebox").TOptional<import("typebox").TUnsafe<"bare" | "docker" | "vercel" | "cloudflare" | "static" | "cf">>;
2461
+ runtime: import("typebox").TOptional<import("typebox").TUnsafe<"node" | "bun" | "workerd">>;
2462
+ image: import("typebox").TOptional<import("typebox").TUnion<[import("typebox").TBoolean, import("typebox").TString]>>;
2463
+ compile: import("typebox").TOptional<import("typebox").TBoolean>;
2464
+ prebuilt: import("typebox").TOptional<import("typebox").TBoolean>;
2465
+ }>, import("typebox").TSchema, import("typebox").TObject<import("typebox").TProperties>>;
2466
+ /**
2467
+ * Read `dist/manifest.json` produced by a previous `alepha build`.
2468
+ * Returns null when absent or unparseable — caller falls back to the
2469
+ * Vite-introspection path.
2470
+ */
2471
+ protected loadManifest(root: string): Promise<BuildManifest | null>;
2302
2472
  }
2303
2473
  //#endregion
2304
2474
  //#region ../../src/cli/core/commands/clean.d.ts
@@ -2306,12 +2476,12 @@ declare class CleanCommand {
2306
2476
  /**
2307
2477
  * Clean the project, removing the "dist" directory
2308
2478
  */
2309
- readonly clean: _$alepha_command0.CommandPrimitive<_$typebox.TObject<_$typebox.TProperties>, _$typebox.TSchema, _$typebox.TObject<_$typebox.TProperties>>;
2479
+ readonly clean: import("alepha/command").CommandPrimitive<import("typebox").TObject<import("typebox").TProperties>, import("typebox").TSchema, import("typebox").TObject<import("typebox").TProperties>>;
2310
2480
  }
2311
2481
  //#endregion
2312
2482
  //#region ../../src/cli/core/commands/db.d.ts
2313
2483
  declare class DbCommand {
2314
- protected readonly log: _$alepha_logger0.Logger;
2484
+ protected readonly log: import("alepha/logger").Logger;
2315
2485
  protected readonly fs: FileSystemProvider;
2316
2486
  protected readonly utils: AlephaCliUtils;
2317
2487
  protected readonly pm: PackageManagerUtils;
@@ -2321,44 +2491,44 @@ declare class DbCommand {
2321
2491
  /**
2322
2492
  * Check if database migrations are up to date.
2323
2493
  */
2324
- protected readonly check: _$alepha_command0.CommandPrimitive<_$typebox.TObject<{
2325
- provider: _$typebox.TOptional<_$typebox.TString>;
2326
- }>, _$typebox.TOptional<_$typebox.TString>, _$typebox.TObject<_$typebox.TProperties>>;
2494
+ protected readonly check: import("alepha/command").CommandPrimitive<import("typebox").TObject<{
2495
+ provider: import("typebox").TOptional<import("typebox").TString>;
2496
+ }>, import("typebox").TOptional<import("typebox").TString>, import("typebox").TObject<import("typebox").TProperties>>;
2327
2497
  /**
2328
2498
  * Generate database migration files
2329
2499
  */
2330
- protected readonly create: _$alepha_command0.CommandPrimitive<_$typebox.TObject<{
2331
- provider: _$typebox.TOptional<_$typebox.TString>;
2332
- custom: _$typebox.TOptional<_$typebox.TBoolean>;
2333
- name: _$typebox.TOptional<_$typebox.TString>;
2334
- }>, _$typebox.TOptional<_$typebox.TString>, _$typebox.TObject<_$typebox.TProperties>>;
2500
+ protected readonly create: import("alepha/command").CommandPrimitive<import("typebox").TObject<{
2501
+ provider: import("typebox").TOptional<import("typebox").TString>;
2502
+ custom: import("typebox").TOptional<import("typebox").TBoolean>;
2503
+ name: import("typebox").TOptional<import("typebox").TString>;
2504
+ }>, import("typebox").TOptional<import("typebox").TString>, import("typebox").TObject<import("typebox").TProperties>>;
2335
2505
  /**
2336
2506
  * Push database schema changes directly to the database
2337
2507
  */
2338
- protected readonly push: _$alepha_command0.CommandPrimitive<_$typebox.TObject<{
2339
- provider: _$typebox.TOptional<_$typebox.TString>;
2340
- dryRun: _$typebox.TOptional<_$typebox.TBoolean>;
2341
- }>, _$typebox.TOptional<_$typebox.TString>, _$typebox.TObject<_$typebox.TProperties>>;
2508
+ protected readonly push: import("alepha/command").CommandPrimitive<import("typebox").TObject<{
2509
+ provider: import("typebox").TOptional<import("typebox").TString>;
2510
+ dryRun: import("typebox").TOptional<import("typebox").TBoolean>;
2511
+ }>, import("typebox").TOptional<import("typebox").TString>, import("typebox").TObject<import("typebox").TProperties>>;
2342
2512
  /**
2343
2513
  * Apply pending database migrations
2344
2514
  */
2345
- protected readonly apply: _$alepha_command0.CommandPrimitive<_$typebox.TObject<{
2346
- provider: _$typebox.TOptional<_$typebox.TString>;
2347
- }>, _$typebox.TOptional<_$typebox.TString>, _$typebox.TObject<_$typebox.TProperties>>;
2515
+ protected readonly apply: import("alepha/command").CommandPrimitive<import("typebox").TObject<{
2516
+ provider: import("typebox").TOptional<import("typebox").TString>;
2517
+ }>, import("typebox").TOptional<import("typebox").TString>, import("typebox").TObject<import("typebox").TProperties>>;
2348
2518
  /**
2349
2519
  * Launch Drizzle Studio database browser
2350
2520
  */
2351
- protected readonly studio: _$alepha_command0.CommandPrimitive<_$typebox.TObject<{
2352
- provider: _$typebox.TOptional<_$typebox.TString>;
2353
- }>, _$typebox.TOptional<_$typebox.TString>, _$typebox.TObject<_$typebox.TProperties>>;
2521
+ protected readonly studio: import("alepha/command").CommandPrimitive<import("typebox").TObject<{
2522
+ provider: import("typebox").TOptional<import("typebox").TString>;
2523
+ }>, import("typebox").TOptional<import("typebox").TString>, import("typebox").TObject<import("typebox").TProperties>>;
2354
2524
  /**
2355
2525
  * Parent command for migration operations.
2356
2526
  */
2357
- protected readonly migrations: _$alepha_command0.CommandPrimitive<_$typebox.TObject<_$typebox.TProperties>, _$typebox.TSchema, _$typebox.TObject<_$typebox.TProperties>>;
2527
+ protected readonly migrations: import("alepha/command").CommandPrimitive<import("typebox").TObject<import("typebox").TProperties>, import("typebox").TSchema, import("typebox").TObject<import("typebox").TProperties>>;
2358
2528
  /**
2359
2529
  * Parent command for database operations.
2360
2530
  */
2361
- readonly db: _$alepha_command0.CommandPrimitive<_$typebox.TObject<_$typebox.TProperties>, _$typebox.TSchema, _$typebox.TObject<_$typebox.TProperties>>;
2531
+ readonly db: import("alepha/command").CommandPrimitive<import("typebox").TObject<import("typebox").TProperties>, import("typebox").TSchema, import("typebox").TObject<import("typebox").TProperties>>;
2362
2532
  /**
2363
2533
  * Run a drizzle-kit command for all database providers in an Alepha instance.
2364
2534
  */
@@ -2433,7 +2603,7 @@ type OnAlephaLoadedHook = (alepha: Alepha, server: ViteDevServer) => Promise<voi
2433
2603
  * - Shared changes → Reload Alepha → Let HMR propagate
2434
2604
  */
2435
2605
  declare class ViteDevServerProvider {
2436
- protected readonly log: _$alepha_logger0.Logger;
2606
+ protected readonly log: import("alepha/logger").Logger;
2437
2607
  protected readonly fs: FileSystemProvider;
2438
2608
  protected readonly colors: ConsoleColorProvider;
2439
2609
  protected readonly viteUtils: ViteUtils;
@@ -2553,7 +2723,17 @@ declare class ViteDevServerProvider {
2553
2723
  */
2554
2724
  protected setupEnvironment(): Promise<void>;
2555
2725
  /**
2556
- * Invalidate modules and all their importers.
2726
+ * Invalidate modules and all their importers, across both client and
2727
+ * SSR module graphs.
2728
+ *
2729
+ * Vite registers a file under multiple module ids (one per query
2730
+ * variant — e.g. `?v=…`, `?import` and the bare path), and `getModuleById`
2731
+ * only matches one. For workspace-linked source files (`@alepha/ui/...`)
2732
+ * the SSR-graph entry is keyed by the absolute path while the client
2733
+ * may use the package-qualified id. `getModulesByFile` returns every
2734
+ * variant Vite knows about for a given absolute path — invalidating
2735
+ * each catches both halves of the dual graph and prevents stale SSR
2736
+ * compiled exports from surviving across edits.
2557
2737
  */
2558
2738
  protected invalidateModulesWithImporters(changedFiles: Set<string>): void;
2559
2739
  /**
@@ -2588,7 +2768,7 @@ declare class ViteDevServerProvider {
2588
2768
  //#endregion
2589
2769
  //#region ../../src/cli/core/commands/dev.d.ts
2590
2770
  declare class DevCommand {
2591
- protected readonly log: _$alepha_logger0.Logger;
2771
+ protected readonly log: import("alepha/logger").Logger;
2592
2772
  protected readonly fs: FileSystemProvider;
2593
2773
  protected readonly utils: AlephaCliUtils;
2594
2774
  protected readonly pm: PackageManagerUtils;
@@ -2605,9 +2785,9 @@ declare class DevCommand {
2605
2785
  * When run from a workspace root (with apps/ directory), spawns all apps in parallel.
2606
2786
  * When run from an app directory, starts a single Vite dev server.
2607
2787
  */
2608
- readonly dev: _$alepha_command0.CommandPrimitive<_$typebox.TObject<{
2609
- only: _$typebox.TOptional<_$typebox.TString>;
2610
- }>, _$typebox.TSchema, _$typebox.TObject<_$typebox.TProperties>>;
2788
+ readonly dev: import("alepha/command").CommandPrimitive<import("typebox").TObject<{
2789
+ only: import("typebox").TOptional<import("typebox").TString>;
2790
+ }>, import("typebox").TSchema, import("typebox").TObject<import("typebox").TProperties>>;
2611
2791
  /**
2612
2792
  * Discover apps in the workspace root.
2613
2793
  *
@@ -2658,7 +2838,7 @@ declare class DevCommand {
2658
2838
  * - `feat(cli): add command` → included
2659
2839
  */
2660
2840
  declare class GitMessageParser {
2661
- protected readonly log: _$alepha_logger0.Logger;
2841
+ protected readonly log: import("alepha/logger").Logger;
2662
2842
  /**
2663
2843
  * Parse a git commit line into a structured Commit object.
2664
2844
  *
@@ -2702,7 +2882,7 @@ interface ChangelogEntry {
2702
2882
  * - `alepha gen changelog | tee -a CHANGELOG.md` - Append to file
2703
2883
  */
2704
2884
  declare class ChangelogCommand {
2705
- protected readonly log: _$alepha_logger0.Logger;
2885
+ protected readonly log: import("alepha/logger").Logger;
2706
2886
  protected readonly git: GitProvider;
2707
2887
  protected readonly parser: GitMessageParser;
2708
2888
  protected readonly config: Readonly<{
@@ -2730,30 +2910,30 @@ declare class ChangelogCommand {
2730
2910
  * Get the latest version tag.
2731
2911
  */
2732
2912
  protected getLatestTag(git: (cmd: string) => Promise<string>): Promise<string | null>;
2733
- readonly command: _$alepha_command0.CommandPrimitive<_$typebox.TObject<{
2913
+ readonly command: import("alepha/command").CommandPrimitive<import("typebox").TObject<{
2734
2914
  /**
2735
2915
  * Show changes from this ref (tag, commit, branch).
2736
2916
  * Defaults to the latest version tag.
2737
2917
  * Example: --from=1.0.0
2738
2918
  */
2739
- from: _$typebox.TOptional<_$typebox.TString>;
2919
+ from: import("typebox").TOptional<import("typebox").TString>;
2740
2920
  /**
2741
2921
  * Show changes up to this ref (tag, commit, branch).
2742
2922
  * Defaults to HEAD.
2743
2923
  * Example: --to=main
2744
2924
  */
2745
- to: _$typebox.TOptional<_$typebox.TString>;
2746
- }>, _$typebox.TSchema, _$typebox.TObject<_$typebox.TProperties>>;
2925
+ to: import("typebox").TOptional<import("typebox").TString>;
2926
+ }>, import("typebox").TSchema, import("typebox").TObject<import("typebox").TProperties>>;
2747
2927
  }
2748
2928
  //#endregion
2749
2929
  //#region ../../src/cli/core/commands/gen/openapi.d.ts
2750
2930
  declare class OpenApiCommand {
2751
- protected readonly log: _$alepha_logger0.Logger;
2931
+ protected readonly log: import("alepha/logger").Logger;
2752
2932
  protected readonly utils: AlephaCliUtils;
2753
2933
  protected readonly fs: FileSystemProvider;
2754
- readonly command: _$alepha_command0.CommandPrimitive<_$typebox.TObject<{
2755
- out: _$typebox.TOptional<_$typebox.TString>;
2756
- }>, _$typebox.TSchema, _$typebox.TObject<_$typebox.TProperties>>;
2934
+ readonly command: import("alepha/command").CommandPrimitive<import("typebox").TObject<{
2935
+ out: import("typebox").TOptional<import("typebox").TString>;
2936
+ }>, import("typebox").TSchema, import("typebox").TObject<import("typebox").TProperties>>;
2757
2937
  }
2758
2938
  //#endregion
2759
2939
  //#region ../../src/cli/core/commands/init.d.ts
@@ -2763,46 +2943,75 @@ declare class InitCommand {
2763
2943
  * Ensure the project has the necessary Alepha configuration files.
2764
2944
  * Add the correct dependencies to package.json and install them.
2765
2945
  */
2766
- readonly init: _$alepha_command0.CommandPrimitive<_$typebox.TObject<{
2767
- pm: _$typebox.TOptional<_$typebox.TUnsafe<"bun" | "yarn" | "npm" | "pnpm">>;
2768
- api: _$typebox.TOptional<_$typebox.TBoolean>;
2769
- react: _$typebox.TOptional<_$typebox.TBoolean>;
2770
- tailwind: _$typebox.TOptional<_$typebox.TBoolean>;
2771
- shadcn: _$typebox.TOptional<_$typebox.TUnion<[_$typebox.TBoolean, _$typebox.TString]>>;
2772
- saas: _$typebox.TOptional<_$typebox.TUnion<[_$typebox.TBoolean, _$typebox.TString]>>;
2773
- force: _$typebox.TOptional<_$typebox.TBoolean>;
2774
- }>, _$typebox.TOptional<_$typebox.TString>, _$typebox.TObject<_$typebox.TProperties>>;
2946
+ readonly init: import("alepha/command").CommandPrimitive<import("typebox").TObject<{
2947
+ pm: import("typebox").TOptional<import("typebox").TUnsafe<"bun" | "yarn" | "npm" | "pnpm">>;
2948
+ api: import("typebox").TOptional<import("typebox").TBoolean>;
2949
+ react: import("typebox").TOptional<import("typebox").TBoolean>;
2950
+ tailwind: import("typebox").TOptional<import("typebox").TBoolean>;
2951
+ force: import("typebox").TOptional<import("typebox").TBoolean>;
2952
+ }>, import("typebox").TOptional<import("typebox").TString>, import("typebox").TObject<import("typebox").TProperties>>;
2775
2953
  }
2776
2954
  //#endregion
2777
2955
  //#region ../../src/cli/core/commands/lint.d.ts
2778
2956
  declare class LintCommand {
2779
2957
  protected readonly utils: AlephaCliUtils;
2780
2958
  protected readonly scaffolder: ProjectScaffolder;
2781
- readonly lint: _$alepha_command0.CommandPrimitive<_$typebox.TObject<_$typebox.TProperties>, _$typebox.TSchema, _$typebox.TObject<_$typebox.TProperties>>;
2959
+ readonly lint: import("alepha/command").CommandPrimitive<import("typebox").TObject<import("typebox").TProperties>, import("typebox").TSchema, import("typebox").TObject<import("typebox").TProperties>>;
2960
+ }
2961
+ //#endregion
2962
+ //#region ../../src/cli/core/commands/pack.d.ts
2963
+ /**
2964
+ * Pack the workspace into a deployable `tar.gz`.
2965
+ *
2966
+ * The tar contains everything a remote runner (Alepha Rocket, or any
2967
+ * `alepha platform <op> --prebuilt` consumer) needs to deploy the app:
2968
+ *
2969
+ * dist/ pre-built output (incl. manifest.json)
2970
+ * migrations/ SQL files (if present)
2971
+ *
2972
+ * No source, no `alepha.config.ts`, no `package.json` — the deploy
2973
+ * side reads everything from `dist/manifest.json` and never touches
2974
+ * source. Excludes: `node_modules`, `.DS_Store`, macOS AppleDouble
2975
+ * (`._*`), `.alepha` build cache, `e2e`, `playwright-report`,
2976
+ * `coverage`.
2977
+ *
2978
+ * Output name: `<project-name>-<tag>.tar.gz` (default tag
2979
+ * "latest"). Project name comes from `package.json.name`. Naming
2980
+ * mirrors Docker tags — same artifact, different tag = different
2981
+ * file.
2982
+ */
2983
+ declare class PackCommand {
2984
+ protected readonly log: import("alepha/logger").Logger;
2985
+ protected readonly fs: FileSystemProvider;
2986
+ protected readonly shell: ShellProvider;
2987
+ readonly pack: import("alepha/command").CommandPrimitive<import("typebox").TObject<{
2988
+ tag: import("typebox").TOptional<import("typebox").TString>;
2989
+ output: import("typebox").TOptional<import("typebox").TString>;
2990
+ }>, import("typebox").TSchema, import("typebox").TObject<import("typebox").TProperties>>;
2782
2991
  }
2783
2992
  //#endregion
2784
2993
  //#region ../../src/cli/core/commands/root.d.ts
2785
2994
  declare class RootCommand {
2786
- protected readonly log: _$alepha_logger0.Logger;
2995
+ protected readonly log: import("alepha/logger").Logger;
2787
2996
  protected readonly cli: CliProvider;
2788
2997
  protected readonly alepha: Alepha;
2789
2998
  protected readonly color: ConsoleColorProvider;
2790
2999
  /**
2791
3000
  * Called when no command is provided
2792
3001
  */
2793
- readonly root: _$alepha_command0.CommandPrimitive<_$typebox.TObject<{
2794
- version: _$typebox.TOptional<_$typebox.TBoolean>;
2795
- }>, _$typebox.TSchema, _$typebox.TObject<_$typebox.TProperties>>;
3002
+ readonly root: import("alepha/command").CommandPrimitive<import("typebox").TObject<{
3003
+ version: import("typebox").TOptional<import("typebox").TBoolean>;
3004
+ }>, import("typebox").TSchema, import("typebox").TObject<import("typebox").TProperties>>;
2796
3005
  }
2797
3006
  //#endregion
2798
3007
  //#region ../../src/cli/core/commands/test.d.ts
2799
3008
  declare class TestCommand {
2800
3009
  protected readonly utils: AlephaCliUtils;
2801
3010
  protected readonly scaffolder: ProjectScaffolder;
2802
- readonly test: _$alepha_command0.CommandPrimitive<_$typebox.TObject<{
2803
- config: _$typebox.TOptional<_$typebox.TString>;
2804
- }>, _$typebox.TOptional<_$typebox.TString>, _$typebox.TObject<{
2805
- VITEST_ARGS: _$typebox.TOptional<_$typebox.TString>;
3011
+ readonly test: import("alepha/command").CommandPrimitive<import("typebox").TObject<{
3012
+ config: import("typebox").TOptional<import("typebox").TString>;
3013
+ }>, import("typebox").TOptional<import("typebox").TString>, import("typebox").TObject<{
3014
+ VITEST_ARGS: import("typebox").TOptional<import("typebox").TString>;
2806
3015
  }>>;
2807
3016
  }
2808
3017
  //#endregion
@@ -2813,7 +3022,7 @@ declare class TypecheckCommand {
2813
3022
  /**
2814
3023
  * Run TypeScript type checking across the codebase with no emit.
2815
3024
  */
2816
- readonly typecheck: _$alepha_command0.CommandPrimitive<_$typebox.TObject<_$typebox.TProperties>, _$typebox.TSchema, _$typebox.TObject<_$typebox.TProperties>>;
3025
+ readonly typecheck: import("alepha/command").CommandPrimitive<import("typebox").TObject<import("typebox").TProperties>, import("typebox").TSchema, import("typebox").TObject<import("typebox").TProperties>>;
2817
3026
  }
2818
3027
  //#endregion
2819
3028
  //#region ../../src/cli/core/commands/verify.d.ts
@@ -2833,14 +3042,14 @@ declare class VerifyCommand {
2833
3042
  * - Build the project
2834
3043
  * - Clean the project again
2835
3044
  */
2836
- readonly verify: _$alepha_command0.CommandPrimitive<_$typebox.TObject<_$typebox.TProperties>, _$typebox.TSchema, _$typebox.TObject<_$typebox.TProperties>>;
3045
+ readonly verify: import("alepha/command").CommandPrimitive<import("typebox").TObject<import("typebox").TProperties>, import("typebox").TSchema, import("typebox").TObject<import("typebox").TProperties>>;
2837
3046
  }
2838
3047
  //#endregion
2839
3048
  //#region ../../src/cli/core/providers/AlephaCliExtensionProvider.d.ts
2840
3049
  declare class AlephaCliExtensionProvider {
2841
3050
  protected readonly alepha: Alepha;
2842
3051
  protected readonly fs: FileSystemProvider;
2843
- protected readonly onConfigure: _$alepha.HookPrimitive<"configure">;
3052
+ protected readonly onConfigure: import("alepha").HookPrimitive<"configure">;
2844
3053
  }
2845
3054
  //#endregion
2846
3055
  //#region ../../src/cli/core/index.d.ts
@@ -2848,11 +3057,11 @@ declare class AlephaCliExtensionProvider {
2848
3057
  * Services, providers, and build tasks — no commands.
2849
3058
  * Use this module when you need CLI utilities without registering commands.
2850
3059
  */
2851
- declare const AlephaCliServices: _$alepha.Service<_$alepha.Module>;
3060
+ declare const AlephaCliServices: import("alepha").Service<import("alepha").Module>;
2852
3061
  /**
2853
3062
  * Full CLI module — all services and commands.
2854
3063
  */
2855
- declare const AlephaCli: _$alepha.Service<_$alepha.Module>;
3064
+ declare const AlephaCli: import("alepha").Service<import("alepha").Module>;
2856
3065
  //#endregion
2857
- export { AlephaCli, AlephaCliExtensionProvider, AlephaCliServices, AlephaCliUtils, AppEntry, AppEntryOptions, AppEntryProvider, BufferedLogger, BuildAssetsTask, BuildClientTask, BuildCloudflareTask, BuildCommand, BuildCompressTask, BuildDockerTask, BuildOptions, BuildPrerenderTask, BuildRuntime, BuildServerTask, BuildSitemapTask, BuildStaticTask, BuildTarget, BuildTask, BuildTaskContext, BuildVercelTask, ChangelogCommand, type ChangelogOptions, CleanCommand, Commit, CompressOptions, DEFAULT_IGNORE, DbCommand, DependencyModes, DevCommand, DevOptions, DevServerOptions, GitMessageParser, GitProvider, InitCommand, LintCommand, OnAlephaLoadedHook, OpenApiCommand, PackageManagerUtils, PreloadManifest, ProjectScaffolder, RootCommand, TestCommand, TypecheckCommand, VerifyCommand, ViteBuildProvider, ViteDevServerProvider, ViteUtils, WorkspaceContext, alephaPackageJson, appEntryOptions, buildOptions, changelogOptions, devOptions, version };
3066
+ export { AlephaCli, AlephaCliExtensionProvider, AlephaCliServices, AlephaCliUtils, AppEntry, AppEntryOptions, AppEntryProvider, BufferedLogger, BuildAssetsTask, BuildClientTask, BuildCloudflareTask, BuildCommand, BuildCompressTask, BuildDockerTask, BuildManifest, BuildOptions, BuildPrerenderTask, BuildRuntime, BuildServerTask, BuildStaticTask, BuildTarget, BuildTask, BuildTaskContext, BuildVercelTask, ChangelogCommand, ChangelogOptions, CleanCommand, Commit, CompressOptions, DEFAULT_IGNORE, DbCommand, DependencyModes, DevCommand, DevOptions, DevServerOptions, GitMessageParser, GitProvider, InitCommand, LintCommand, OnAlephaLoadedHook, OpenApiCommand, PackCommand, PackageManagerUtils, PreloadManifest, ProjectScaffolder, RootCommand, TestCommand, TypecheckCommand, VerifyCommand, ViteBuildProvider, ViteDevServerProvider, ViteUtils, WorkspaceContext, alephaPackageJson, appEntryOptions, buildOptions, changelogOptions, devOptions, version };
2858
3067
  //# sourceMappingURL=index.d.ts.map