alepha 0.22.0 → 0.24.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 (869) hide show
  1. package/assets/swagger-ui/swagger-ui-bundle.js +1 -1
  2. package/assets/swagger-ui/swagger-ui-standalone-preset.js +1 -1
  3. package/dist/api/audits/index.browser.js +49 -52
  4. package/dist/api/audits/index.browser.js.map +1 -1
  5. package/dist/api/audits/index.d.ts +629 -565
  6. package/dist/api/audits/index.d.ts.map +1 -1
  7. package/dist/api/audits/index.js +206 -98
  8. package/dist/api/audits/index.js.map +1 -1
  9. package/dist/api/files/index.browser.js +44 -44
  10. package/dist/api/files/index.browser.js.map +1 -1
  11. package/dist/api/files/index.d.ts +292 -293
  12. package/dist/api/files/index.d.ts.map +1 -1
  13. package/dist/api/files/index.js +61 -64
  14. package/dist/api/files/index.js.map +1 -1
  15. package/dist/api/jobs/index.browser.js +61 -59
  16. package/dist/api/jobs/index.browser.js.map +1 -1
  17. package/dist/api/jobs/index.d.ts +546 -347
  18. package/dist/api/jobs/index.d.ts.map +1 -1
  19. package/dist/api/jobs/index.js +165 -86
  20. package/dist/api/jobs/index.js.map +1 -1
  21. package/dist/api/keys/index.d.ts +242 -230
  22. package/dist/api/keys/index.d.ts.map +1 -1
  23. package/dist/api/keys/index.js +63 -66
  24. package/dist/api/keys/index.js.map +1 -1
  25. package/dist/api/notifications/index.browser.js +40 -38
  26. package/dist/api/notifications/index.browser.js.map +1 -1
  27. package/dist/api/notifications/index.d.ts +339 -209
  28. package/dist/api/notifications/index.d.ts.map +1 -1
  29. package/dist/api/notifications/index.js +108 -60
  30. package/dist/api/notifications/index.js.map +1 -1
  31. package/dist/api/oauth/index.d.ts +190 -78
  32. package/dist/api/oauth/index.d.ts.map +1 -1
  33. package/dist/api/oauth/index.js +290 -68
  34. package/dist/api/oauth/index.js.map +1 -1
  35. package/dist/api/organizations/index.browser.js +14 -14
  36. package/dist/api/organizations/index.browser.js.map +1 -1
  37. package/dist/api/organizations/index.d.ts +158 -134
  38. package/dist/api/organizations/index.d.ts.map +1 -1
  39. package/dist/api/organizations/index.js +18 -18
  40. package/dist/api/organizations/index.js.map +1 -1
  41. package/dist/api/parameters/index.browser.js +74 -53
  42. package/dist/api/parameters/index.browser.js.map +1 -1
  43. package/dist/api/parameters/index.d.ts +607 -513
  44. package/dist/api/parameters/index.d.ts.map +1 -1
  45. package/dist/api/parameters/index.js +205 -127
  46. package/dist/api/parameters/index.js.map +1 -1
  47. package/dist/api/payments/index.d.ts +652 -449
  48. package/dist/api/payments/index.d.ts.map +1 -1
  49. package/dist/api/payments/index.js +159 -93
  50. package/dist/api/payments/index.js.map +1 -1
  51. package/dist/api/subscriptions/index.d.ts +1032 -762
  52. package/dist/api/subscriptions/index.d.ts.map +1 -1
  53. package/dist/api/subscriptions/index.js +166 -185
  54. package/dist/api/subscriptions/index.js.map +1 -1
  55. package/dist/api/users/index.browser.js +48 -71
  56. package/dist/api/users/index.browser.js.map +1 -1
  57. package/dist/api/users/index.d.ts +1297 -1109
  58. package/dist/api/users/index.d.ts.map +1 -1
  59. package/dist/api/users/index.js +454 -369
  60. package/dist/api/users/index.js.map +1 -1
  61. package/dist/api/verifications/index.browser.js +17 -17
  62. package/dist/api/verifications/index.browser.js.map +1 -1
  63. package/dist/api/verifications/index.d.ts +169 -157
  64. package/dist/api/verifications/index.d.ts.map +1 -1
  65. package/dist/api/verifications/index.js +47 -95
  66. package/dist/api/verifications/index.js.map +1 -1
  67. package/dist/background/index.d.ts +0 -1
  68. package/dist/background/index.d.ts.map +1 -1
  69. package/dist/background/index.js.map +1 -1
  70. package/dist/background/index.workerd.js.map +1 -1
  71. package/dist/batch/index.d.ts +0 -1
  72. package/dist/batch/index.d.ts.map +1 -1
  73. package/dist/batch/index.js.map +1 -1
  74. package/dist/bin/index.js +1 -1
  75. package/dist/bin/index.js.map +1 -1
  76. package/dist/bucket/index.d.ts +27 -32
  77. package/dist/bucket/index.d.ts.map +1 -1
  78. package/dist/bucket/index.js +56 -26
  79. package/dist/bucket/index.js.map +1 -1
  80. package/dist/bucket/index.workerd.js +52 -24
  81. package/dist/bucket/index.workerd.js.map +1 -1
  82. package/dist/cache/core/index.d.ts +4 -6
  83. package/dist/cache/core/index.d.ts.map +1 -1
  84. package/dist/cache/core/index.js +4 -10
  85. package/dist/cache/core/index.js.map +1 -1
  86. package/dist/cache/core/index.workerd.js +4 -10
  87. package/dist/cache/core/index.workerd.js.map +1 -1
  88. package/dist/cache/database/index.d.ts +22 -23
  89. package/dist/cache/database/index.d.ts.map +1 -1
  90. package/dist/cache/database/index.js +11 -20
  91. package/dist/cache/database/index.js.map +1 -1
  92. package/dist/cache/redis/index.d.ts +3 -4
  93. package/dist/cache/redis/index.d.ts.map +1 -1
  94. package/dist/cache/redis/index.js +2 -2
  95. package/dist/cache/redis/index.js.map +1 -1
  96. package/dist/captcha/index.d.ts.map +1 -1
  97. package/dist/captcha/index.js +4 -4
  98. package/dist/captcha/index.js.map +1 -1
  99. package/dist/cli/config/index.d.ts +0 -1
  100. package/dist/cli/config/index.d.ts.map +1 -1
  101. package/dist/cli/core/index.d.ts +244 -475
  102. package/dist/cli/core/index.d.ts.map +1 -1
  103. package/dist/cli/core/index.js +308 -383
  104. package/dist/cli/core/index.js.map +1 -1
  105. package/dist/cli/devtools/index.d.ts +3 -9
  106. package/dist/cli/devtools/index.d.ts.map +1 -1
  107. package/dist/cli/devtools/index.js +3 -3
  108. package/dist/cli/devtools/index.js.map +1 -1
  109. package/dist/cli/i18n/index.d.ts +20 -39
  110. package/dist/cli/i18n/index.d.ts.map +1 -1
  111. package/dist/cli/i18n/index.js +51 -17
  112. package/dist/cli/i18n/index.js.map +1 -1
  113. package/dist/cli/platform/index.d.ts +89 -82
  114. package/dist/cli/platform/index.d.ts.map +1 -1
  115. package/dist/cli/platform/index.js +27 -33
  116. package/dist/cli/platform/index.js.map +1 -1
  117. package/dist/cli/platform-lib/index.d.ts +383 -410
  118. package/dist/cli/platform-lib/index.d.ts.map +1 -1
  119. package/dist/cli/platform-lib/index.js +300 -258
  120. package/dist/cli/platform-lib/index.js.map +1 -1
  121. package/dist/cli/vendor/index.d.ts +17 -41
  122. package/dist/cli/vendor/index.d.ts.map +1 -1
  123. package/dist/cli/vendor/index.js +10 -13
  124. package/dist/cli/vendor/index.js.map +1 -1
  125. package/dist/command/index.d.ts +82 -194
  126. package/dist/command/index.d.ts.map +1 -1
  127. package/dist/command/index.js +160 -563
  128. package/dist/command/index.js.map +1 -1
  129. package/dist/core/index.browser.js +845 -859
  130. package/dist/core/index.browser.js.map +1 -1
  131. package/dist/core/index.d.ts +787 -527
  132. package/dist/core/index.d.ts.map +1 -1
  133. package/dist/core/index.js +845 -859
  134. package/dist/core/index.js.map +1 -1
  135. package/dist/core/index.native.js +845 -859
  136. package/dist/core/index.native.js.map +1 -1
  137. package/dist/core/index.workerd.js +845 -859
  138. package/dist/core/index.workerd.js.map +1 -1
  139. package/dist/crypto/index.browser.js +1 -1
  140. package/dist/crypto/index.browser.js.map +1 -1
  141. package/dist/crypto/index.d.ts +3 -4
  142. package/dist/crypto/index.d.ts.map +1 -1
  143. package/dist/crypto/index.js +6 -3
  144. package/dist/crypto/index.js.map +1 -1
  145. package/dist/datetime/index.d.ts +12 -2
  146. package/dist/datetime/index.d.ts.map +1 -1
  147. package/dist/datetime/index.js +6 -1
  148. package/dist/datetime/index.js.map +1 -1
  149. package/dist/email/brevo/index.d.ts +0 -1
  150. package/dist/email/brevo/index.d.ts.map +1 -1
  151. package/dist/email/brevo/index.js +4 -4
  152. package/dist/email/brevo/index.js.map +1 -1
  153. package/dist/email/cloudflare/index.d.ts +0 -1
  154. package/dist/email/cloudflare/index.d.ts.map +1 -1
  155. package/dist/email/cloudflare/index.js +2 -2
  156. package/dist/email/cloudflare/index.js.map +1 -1
  157. package/dist/email/core/index.d.ts +15 -7
  158. package/dist/email/core/index.d.ts.map +1 -1
  159. package/dist/email/core/index.js +14 -5
  160. package/dist/email/core/index.js.map +1 -1
  161. package/dist/email/core/index.workerd.js +5 -1
  162. package/dist/email/core/index.workerd.js.map +1 -1
  163. package/dist/email/smtp/index.d.ts +8 -9
  164. package/dist/email/smtp/index.d.ts.map +1 -1
  165. package/dist/email/smtp/index.js +702 -479
  166. package/dist/email/smtp/index.js.map +1 -1
  167. package/dist/fake/index.d.ts +1580 -1238
  168. package/dist/fake/index.d.ts.map +1 -1
  169. package/dist/fake/index.js +11728 -32131
  170. package/dist/fake/index.js.map +1 -1
  171. package/dist/lock/core/index.d.ts +13 -9
  172. package/dist/lock/core/index.d.ts.map +1 -1
  173. package/dist/lock/core/index.js +5 -5
  174. package/dist/lock/core/index.js.map +1 -1
  175. package/dist/lock/redis/index.d.ts +0 -1
  176. package/dist/lock/redis/index.d.ts.map +1 -1
  177. package/dist/lock/redis/index.js.map +1 -1
  178. package/dist/logger/index.d.ts +81 -69
  179. package/dist/logger/index.d.ts.map +1 -1
  180. package/dist/logger/index.js +123 -56
  181. package/dist/logger/index.js.map +1 -1
  182. package/dist/mcp/index.d.ts +36 -90
  183. package/dist/mcp/index.d.ts.map +1 -1
  184. package/dist/mcp/index.js +65 -70
  185. package/dist/mcp/index.js.map +1 -1
  186. package/dist/orm/core/index.browser.js +54 -40
  187. package/dist/orm/core/index.browser.js.map +1 -1
  188. package/dist/orm/core/index.bun.js +140 -106
  189. package/dist/orm/core/index.bun.js.map +1 -1
  190. package/dist/orm/core/index.d.ts +145 -150
  191. package/dist/orm/core/index.d.ts.map +1 -1
  192. package/dist/orm/core/index.js +144 -109
  193. package/dist/orm/core/index.js.map +1 -1
  194. package/dist/orm/postgres/index.bun.js +64 -54
  195. package/dist/orm/postgres/index.bun.js.map +1 -1
  196. package/dist/orm/postgres/index.d.ts +36 -76
  197. package/dist/orm/postgres/index.d.ts.map +1 -1
  198. package/dist/orm/postgres/index.js +67 -57
  199. package/dist/orm/postgres/index.js.map +1 -1
  200. package/dist/queue/core/index.d.ts +62 -75
  201. package/dist/queue/core/index.d.ts.map +1 -1
  202. package/dist/queue/core/index.js +48 -71
  203. package/dist/queue/core/index.js.map +1 -1
  204. package/dist/queue/core/index.workerd.js +48 -71
  205. package/dist/queue/core/index.workerd.js.map +1 -1
  206. package/dist/queue/redis/index.d.ts +3 -4
  207. package/dist/queue/redis/index.d.ts.map +1 -1
  208. package/dist/queue/redis/index.js +2 -2
  209. package/dist/queue/redis/index.js.map +1 -1
  210. package/dist/react/auth/index.browser.js.map +1 -1
  211. package/dist/react/auth/index.d.ts +7 -4
  212. package/dist/react/auth/index.d.ts.map +1 -1
  213. package/dist/react/auth/index.js.map +1 -1
  214. package/dist/react/core/index.d.ts +87 -5
  215. package/dist/react/core/index.d.ts.map +1 -1
  216. package/dist/react/core/index.js +170 -23
  217. package/dist/react/core/index.js.map +1 -1
  218. package/dist/react/form/index.d.ts +4 -6
  219. package/dist/react/form/index.d.ts.map +1 -1
  220. package/dist/react/form/index.js +107 -71
  221. package/dist/react/form/index.js.map +1 -1
  222. package/dist/react/head/index.browser.js.map +1 -1
  223. package/dist/react/head/index.d.ts +0 -1
  224. package/dist/react/head/index.d.ts.map +1 -1
  225. package/dist/react/head/index.js.map +1 -1
  226. package/dist/react/i18n/index.d.ts +47 -5
  227. package/dist/react/i18n/index.d.ts.map +1 -1
  228. package/dist/react/i18n/index.js +116 -12
  229. package/dist/react/i18n/index.js.map +1 -1
  230. package/dist/react/intro/index.d.ts +1 -4
  231. package/dist/react/intro/index.d.ts.map +1 -1
  232. package/dist/react/intro/index.js.map +1 -1
  233. package/dist/react/router/index.browser.js +188 -29
  234. package/dist/react/router/index.browser.js.map +1 -1
  235. package/dist/react/router/index.d.ts +480 -372
  236. package/dist/react/router/index.d.ts.map +1 -1
  237. package/dist/react/router/index.js +261 -47
  238. package/dist/react/router/index.js.map +1 -1
  239. package/dist/react/sitemap/index.browser.js +35 -0
  240. package/dist/react/sitemap/index.browser.js.map +1 -0
  241. package/dist/react/sitemap/index.d.ts +91 -0
  242. package/dist/react/sitemap/index.d.ts.map +1 -0
  243. package/dist/react/sitemap/index.js +131 -0
  244. package/dist/react/sitemap/index.js.map +1 -0
  245. package/dist/react/testing/index.d.ts +4 -5
  246. package/dist/react/testing/index.d.ts.map +1 -1
  247. package/dist/react/testing/index.js +41 -15
  248. package/dist/react/testing/index.js.map +1 -1
  249. package/dist/react/testing/{chunk-BpyX8vjI.js → rolldown-runtime-Bl3dcgcQ.js} +1 -1
  250. package/dist/react/ui/index.d.ts +35 -34
  251. package/dist/react/ui/index.d.ts.map +1 -1
  252. package/dist/react/ui/index.js +12 -17
  253. package/dist/react/ui/index.js.map +1 -1
  254. package/dist/redis/index.bun.js +5 -5
  255. package/dist/redis/index.bun.js.map +1 -1
  256. package/dist/redis/index.d.ts +6 -7
  257. package/dist/redis/index.d.ts.map +1 -1
  258. package/dist/redis/index.js +6 -6
  259. package/dist/redis/index.js.map +1 -1
  260. package/dist/retry/index.d.ts +0 -1
  261. package/dist/retry/index.d.ts.map +1 -1
  262. package/dist/retry/index.js.map +1 -1
  263. package/dist/router/index.d.ts.map +1 -1
  264. package/dist/router/index.js.map +1 -1
  265. package/dist/scheduler/index.d.ts +4 -12
  266. package/dist/scheduler/index.d.ts.map +1 -1
  267. package/dist/scheduler/index.js +9 -4
  268. package/dist/scheduler/index.js.map +1 -1
  269. package/dist/scheduler/index.workerd.js +9 -4
  270. package/dist/scheduler/index.workerd.js.map +1 -1
  271. package/dist/security/index.browser.js +30 -28
  272. package/dist/security/index.browser.js.map +1 -1
  273. package/dist/security/index.d.ts +113 -44
  274. package/dist/security/index.d.ts.map +1 -1
  275. package/dist/security/index.js +452 -37
  276. package/dist/security/index.js.map +1 -1
  277. package/dist/server/auth/index.browser.js +19 -19
  278. package/dist/server/auth/index.browser.js.map +1 -1
  279. package/dist/server/auth/index.d.ts +215 -187
  280. package/dist/server/auth/index.d.ts.map +1 -1
  281. package/dist/server/auth/index.js +1145 -86
  282. package/dist/server/auth/index.js.map +1 -1
  283. package/dist/server/cookies/index.browser.js +103 -5
  284. package/dist/server/cookies/index.browser.js.map +1 -1
  285. package/dist/server/cookies/index.d.ts +86 -4
  286. package/dist/server/cookies/index.d.ts.map +1 -1
  287. package/dist/server/cookies/index.js +121 -8
  288. package/dist/server/cookies/index.js.map +1 -1
  289. package/dist/server/core/index.browser.js +22 -27
  290. package/dist/server/core/index.browser.js.map +1 -1
  291. package/dist/server/core/index.d.ts +134 -85
  292. package/dist/server/core/index.d.ts.map +1 -1
  293. package/dist/server/core/index.js +130 -118
  294. package/dist/server/core/index.js.map +1 -1
  295. package/dist/server/cors/index.d.ts +9 -10
  296. package/dist/server/cors/index.d.ts.map +1 -1
  297. package/dist/server/cors/index.js +14 -26
  298. package/dist/server/cors/index.js.map +1 -1
  299. package/dist/server/etag/index.d.ts +2 -3
  300. package/dist/server/etag/index.d.ts.map +1 -1
  301. package/dist/server/etag/index.js.map +1 -1
  302. package/dist/server/health/index.d.ts +18 -19
  303. package/dist/server/health/index.d.ts.map +1 -1
  304. package/dist/server/health/index.js +6 -6
  305. package/dist/server/health/index.js.map +1 -1
  306. package/dist/server/links/index.browser.js +15 -18
  307. package/dist/server/links/index.browser.js.map +1 -1
  308. package/dist/server/links/index.d.ts +66 -67
  309. package/dist/server/links/index.d.ts.map +1 -1
  310. package/dist/server/links/index.js +29 -32
  311. package/dist/server/links/index.js.map +1 -1
  312. package/dist/server/metrics/index.d.ts +0 -1
  313. package/dist/server/metrics/index.d.ts.map +1 -1
  314. package/dist/server/metrics/index.js +10 -3
  315. package/dist/server/metrics/index.js.map +1 -1
  316. package/dist/server/proxy/index.d.ts +0 -1
  317. package/dist/server/proxy/index.d.ts.map +1 -1
  318. package/dist/server/proxy/index.js.map +1 -1
  319. package/dist/server/rate-limit/index.d.ts +8 -9
  320. package/dist/server/rate-limit/index.d.ts.map +1 -1
  321. package/dist/server/rate-limit/index.js +6 -12
  322. package/dist/server/rate-limit/index.js.map +1 -1
  323. package/dist/server/static/index.d.ts +0 -1
  324. package/dist/server/static/index.d.ts.map +1 -1
  325. package/dist/server/static/index.js.map +1 -1
  326. package/dist/server/swagger/index.d.ts +4 -4
  327. package/dist/server/swagger/index.d.ts.map +1 -1
  328. package/dist/server/swagger/index.js +37 -25
  329. package/dist/server/swagger/index.js.map +1 -1
  330. package/dist/sms/index.d.ts +0 -1
  331. package/dist/sms/index.d.ts.map +1 -1
  332. package/dist/sms/index.js.map +1 -1
  333. package/dist/system/index.browser.js.map +1 -1
  334. package/dist/system/index.d.ts +0 -1
  335. package/dist/system/index.d.ts.map +1 -1
  336. package/dist/system/index.js +2 -1
  337. package/dist/system/index.js.map +1 -1
  338. package/dist/system/index.workerd.js.map +1 -1
  339. package/dist/topic/core/index.d.ts +19 -20
  340. package/dist/topic/core/index.d.ts.map +1 -1
  341. package/dist/topic/core/index.js +8 -8
  342. package/dist/topic/core/index.js.map +1 -1
  343. package/dist/topic/redis/index.d.ts +3 -4
  344. package/dist/topic/redis/index.d.ts.map +1 -1
  345. package/dist/topic/redis/index.js +2 -2
  346. package/dist/topic/redis/index.js.map +1 -1
  347. package/package.json +36 -36
  348. package/src/api/audits/__tests__/AuditJobs.spec.ts +83 -0
  349. package/src/api/audits/__tests__/AuditService.spec.ts +139 -1
  350. package/src/api/audits/controllers/AdminAuditController.ts +41 -41
  351. package/src/api/audits/entities/audits.ts +22 -22
  352. package/src/api/audits/index.ts +6 -1
  353. package/src/api/audits/jobs/AuditJobs.ts +29 -0
  354. package/src/api/audits/parameters/AuditParameters.ts +51 -0
  355. package/src/api/audits/primitives/$audit.ts +24 -0
  356. package/src/api/audits/schemas/auditQuerySchema.ts +13 -13
  357. package/src/api/audits/schemas/createAuditSchema.ts +18 -18
  358. package/src/api/audits/services/AuditService.ts +79 -7
  359. package/src/api/files/__tests__/FileController.spec.ts +5 -5
  360. package/src/api/files/__tests__/FileJobs.spec.ts +6 -0
  361. package/src/api/files/controllers/FileController.ts +25 -25
  362. package/src/api/files/entities/files.ts +15 -15
  363. package/src/api/files/schemas/fileCreatorSummarySchema.ts +7 -7
  364. package/src/api/files/schemas/fileQuerySchema.ts +9 -9
  365. package/src/api/files/schemas/fileResourceSchema.ts +7 -9
  366. package/src/api/files/schemas/storageStatsSchema.ts +13 -13
  367. package/src/api/jobs/__tests__/$job-hardening.spec.ts +289 -0
  368. package/src/api/jobs/__tests__/$job.spec.ts +18 -18
  369. package/src/api/jobs/controllers/AdminJobController.ts +8 -8
  370. package/src/api/jobs/entities/jobExecutionEntity.ts +29 -19
  371. package/src/api/jobs/providers/JobProvider.ts +128 -12
  372. package/src/api/jobs/providers/JobQueueProvider.ts +2 -2
  373. package/src/api/jobs/schemas/jobConfigAtom.ts +22 -22
  374. package/src/api/jobs/schemas/jobExecutionQuerySchema.ts +6 -6
  375. package/src/api/jobs/schemas/jobExecutionResourceSchema.ts +11 -15
  376. package/src/api/jobs/schemas/jobRegistrationSchema.ts +20 -19
  377. package/src/api/jobs/schemas/triggerJobSchema.ts +3 -3
  378. package/src/api/jobs/services/JobService.ts +6 -6
  379. package/src/api/keys/__tests__/ApiKeyService.spec.ts +2 -2
  380. package/src/api/keys/controllers/AdminApiKeyController.ts +10 -10
  381. package/src/api/keys/entities/apiKeyEntity.ts +15 -15
  382. package/src/api/keys/schemas/adminApiKeyQuerySchema.ts +4 -4
  383. package/src/api/keys/schemas/adminApiKeyResourceSchema.ts +15 -15
  384. package/src/api/keys/schemas/createApiKeyBodySchema.ts +5 -5
  385. package/src/api/keys/schemas/createApiKeyResponseSchema.ts +9 -9
  386. package/src/api/keys/schemas/listApiKeyResponseSchema.ts +13 -13
  387. package/src/api/keys/schemas/revokeApiKeyParamsSchema.ts +3 -3
  388. package/src/api/keys/schemas/revokeApiKeyResponseSchema.ts +3 -3
  389. package/src/api/notifications/__tests__/AlephaApiNotifications.spec.ts +2 -2
  390. package/src/api/notifications/controllers/AdminNotificationController.ts +38 -14
  391. package/src/api/notifications/jobs/NotificationJobs.ts +7 -6
  392. package/src/api/notifications/primitives/$notification.ts +43 -4
  393. package/src/api/notifications/schemas/notificationContactPreferencesSchema.ts +4 -4
  394. package/src/api/notifications/schemas/notificationContactSchema.ts +7 -7
  395. package/src/api/notifications/schemas/notificationDetailResourceSchema.ts +9 -11
  396. package/src/api/notifications/schemas/notificationPayloadSchema.ts +11 -9
  397. package/src/api/notifications/schemas/notificationQuerySchema.ts +6 -6
  398. package/src/api/notifications/schemas/notificationResourceSchema.ts +14 -14
  399. package/src/api/notifications/services/NotificationSenderService.ts +38 -2
  400. package/src/api/oauth/__tests__/OAuthClientService.spec.ts +42 -0
  401. package/src/api/oauth/__tests__/OAuthController.spec.ts +128 -0
  402. package/src/api/oauth/controllers/OAuthController.ts +132 -12
  403. package/src/api/oauth/entities/oauthClientEntity.ts +29 -12
  404. package/src/api/oauth/helpers/oauthMetadata.ts +1 -0
  405. package/src/api/oauth/helpers/oidcMetadata.ts +19 -0
  406. package/src/api/oauth/index.ts +1 -0
  407. package/src/api/oauth/schemas/authorizeDecisionBodySchema.ts +12 -11
  408. package/src/api/oauth/schemas/authorizeQuerySchema.ts +12 -10
  409. package/src/api/oauth/schemas/registerClientBodySchema.ts +10 -11
  410. package/src/api/oauth/schemas/tokenRequestBodySchema.ts +9 -8
  411. package/src/api/oauth/services/OAuthClientService.ts +228 -15
  412. package/src/api/organizations/controllers/AdminOrganizationController.ts +8 -8
  413. package/src/api/organizations/entities/organizations.ts +6 -6
  414. package/src/api/organizations/schemas/createOrganizationSchema.ts +5 -5
  415. package/src/api/organizations/schemas/organizationQuerySchema.ts +4 -4
  416. package/src/api/organizations/schemas/updateOrganizationSchema.ts +1 -2
  417. package/src/api/parameters/__tests__/$parameter.spec.ts +229 -50
  418. package/src/api/parameters/controllers/AdminParameterController.ts +9 -12
  419. package/src/api/parameters/entities/parameters.ts +29 -16
  420. package/src/api/parameters/primitives/$parameter.ts +3 -3
  421. package/src/api/parameters/schemas/activateParameterBodySchema.ts +4 -4
  422. package/src/api/parameters/schemas/createParameterVersionBodySchema.ts +15 -15
  423. package/src/api/parameters/schemas/parameterCreatorSummarySchema.ts +7 -7
  424. package/src/api/parameters/schemas/parameterCurrentResponseSchema.ts +7 -7
  425. package/src/api/parameters/schemas/parameterHistoryResponseSchema.ts +3 -3
  426. package/src/api/parameters/schemas/parameterNameParamSchema.ts +2 -3
  427. package/src/api/parameters/schemas/parameterNamesResponseSchema.ts +3 -3
  428. package/src/api/parameters/schemas/parameterResponseSchema.ts +3 -3
  429. package/src/api/parameters/schemas/parameterStatusSchema.ts +2 -2
  430. package/src/api/parameters/schemas/parameterTreeNodeSchema.ts +6 -6
  431. package/src/api/parameters/schemas/parameterVersionParamSchema.ts +5 -6
  432. package/src/api/parameters/schemas/parameterVersionResponseSchema.ts +3 -3
  433. package/src/api/parameters/schemas/rollbackParameterBodySchema.ts +6 -9
  434. package/src/api/parameters/services/ParameterProvider.ts +152 -65
  435. package/src/api/payments/controllers/AdminPaymentController.ts +7 -7
  436. package/src/api/payments/controllers/MockCheckoutController.ts +79 -28
  437. package/src/api/payments/controllers/PaymentController.ts +4 -4
  438. package/src/api/payments/entities/paymentIntents.ts +11 -11
  439. package/src/api/payments/entities/paymentMethods.ts +11 -11
  440. package/src/api/payments/entities/refunds.ts +9 -9
  441. package/src/api/payments/providers/PaymentProvider.ts +18 -0
  442. package/src/api/payments/schemas/intentSchemas.ts +25 -25
  443. package/src/api/payments/schemas/paymentMethodSchemas.ts +3 -3
  444. package/src/api/payments/services/PaymentService.ts +60 -3
  445. package/src/api/subscriptions/__tests__/SubscriptionService.spec.ts +14 -0
  446. package/src/api/subscriptions/controllers/AdminSubscriptionController.ts +11 -11
  447. package/src/api/subscriptions/controllers/SubscriptionController.ts +5 -4
  448. package/src/api/subscriptions/entities/subscriptionEvents.ts +15 -15
  449. package/src/api/subscriptions/entities/subscriptions.ts +22 -22
  450. package/src/api/subscriptions/notifications/SubscriptionNotifications.ts +22 -22
  451. package/src/api/subscriptions/schemas/cancelSubscriptionSchema.ts +4 -4
  452. package/src/api/subscriptions/schemas/changePlanSchema.ts +5 -5
  453. package/src/api/subscriptions/schemas/createSubscriptionSchema.ts +14 -7
  454. package/src/api/subscriptions/schemas/entitlementsSchema.ts +10 -10
  455. package/src/api/subscriptions/schemas/mrrSchema.ts +9 -9
  456. package/src/api/subscriptions/schemas/planDefinitionSchema.ts +21 -21
  457. package/src/api/subscriptions/schemas/planResourceSchema.ts +19 -19
  458. package/src/api/subscriptions/schemas/subscriptionQuerySchema.ts +8 -8
  459. package/src/api/subscriptions/schemas/subscriptionSettingsSchema.ts +7 -7
  460. package/src/api/subscriptions/schemas/subscriptionStatsSchema.ts +17 -17
  461. package/src/api/subscriptions/services/SubscriptionConfig.ts +2 -2
  462. package/src/api/users/__tests__/ApiKeys-integration.spec.ts +11 -11
  463. package/src/api/users/atoms/realmAuthSettingsAtom.ts +111 -119
  464. package/src/api/users/controllers/AdminIdentityController.ts +29 -19
  465. package/src/api/users/controllers/AdminSessionController.ts +37 -27
  466. package/src/api/users/controllers/AdminUserController.ts +75 -53
  467. package/src/api/users/controllers/MySessionController.ts +125 -0
  468. package/src/api/users/controllers/RealmController.ts +9 -9
  469. package/src/api/users/controllers/UserController.ts +55 -55
  470. package/src/api/users/entities/identities.ts +8 -8
  471. package/src/api/users/entities/sessions.ts +17 -17
  472. package/src/api/users/entities/users.ts +17 -17
  473. package/src/api/users/index.ts +3 -0
  474. package/src/api/users/notifications/UserNotifications.ts +76 -24
  475. package/src/api/users/primitives/$realm.ts +12 -0
  476. package/src/api/users/schemas/completePasswordResetRequestSchema.ts +8 -12
  477. package/src/api/users/schemas/completeRegistrationRequestSchema.ts +17 -20
  478. package/src/api/users/schemas/createUserSchema.ts +2 -2
  479. package/src/api/users/schemas/identityQuerySchema.ts +4 -4
  480. package/src/api/users/schemas/identityResourceSchema.ts +3 -2
  481. package/src/api/users/schemas/loginSchema.ts +4 -4
  482. package/src/api/users/schemas/passwordResetIntentResponseSchema.ts +6 -8
  483. package/src/api/users/schemas/realmConfigSchema.ts +10 -10
  484. package/src/api/users/schemas/registerQuerySchema.ts +6 -6
  485. package/src/api/users/schemas/registerRequestSchema.ts +21 -43
  486. package/src/api/users/schemas/registerResponseSchema.ts +2 -2
  487. package/src/api/users/schemas/registerSchema.ts +13 -31
  488. package/src/api/users/schemas/registrationIntentResponseSchema.ts +19 -23
  489. package/src/api/users/schemas/resetPasswordSchema.ts +10 -17
  490. package/src/api/users/schemas/sessionQuerySchema.ts +3 -3
  491. package/src/api/users/schemas/sessionResourceSchema.ts +25 -25
  492. package/src/api/users/schemas/updateUserSchema.ts +3 -4
  493. package/src/api/users/schemas/userQuerySchema.ts +7 -7
  494. package/src/api/users/services/RegistrationService.ts +25 -11
  495. package/src/api/users/services/UserService.ts +12 -6
  496. package/src/api/verifications/__tests__/CodeVerification.spec.ts +63 -101
  497. package/src/api/verifications/__tests__/LinkVerification.spec.ts +23 -92
  498. package/src/api/verifications/controllers/VerificationController.ts +13 -27
  499. package/src/api/verifications/entities/verifications.ts +13 -14
  500. package/src/api/verifications/schemas/requestVerificationCodeResponseSchema.ts +17 -14
  501. package/src/api/verifications/schemas/validateVerificationCodeResponseSchema.ts +9 -10
  502. package/src/api/verifications/schemas/verificationSettingsSchema.ts +65 -66
  503. package/src/api/verifications/schemas/verificationTypeEnumSchema.ts +2 -2
  504. package/src/api/verifications/services/VerificationService.ts +12 -0
  505. package/src/background/__tests__/BackgroundTaskProvider.spec.ts +36 -0
  506. package/src/batch/__tests__/$batch.spec.ts +22 -22
  507. package/src/batch/__tests__/startup-buffering.spec.ts +9 -9
  508. package/src/bin/index.ts +1 -1
  509. package/src/bucket/__tests__/TenantScopedBucket.spec.ts +60 -0
  510. package/src/bucket/providers/LocalFileStorageProvider.ts +14 -6
  511. package/src/bucket/providers/MemoryFileStorageProvider.ts +18 -7
  512. package/src/bucket/providers/R2FileStorageProvider.ts +14 -6
  513. package/src/bucket/providers/S3FileStorageProvider.ts +31 -15
  514. package/src/cache/core/primitives/$cache.ts +7 -10
  515. package/src/cache/database/entities/cacheEntries.ts +16 -27
  516. package/src/cache/database/providers/DatabaseCacheProvider.ts +15 -13
  517. package/src/cache/redis/providers/RedisCacheProvider.ts +6 -6
  518. package/src/captcha/providers/TurnstileCaptchaProvider.ts +4 -4
  519. package/src/cli/core/__tests__/BuildCloudflareTask.spec.ts +178 -0
  520. package/src/cli/core/__tests__/BuildDockerTask.spec.ts +0 -2
  521. package/src/cli/core/__tests__/DbCommand.spec.ts +108 -0
  522. package/src/cli/core/atoms/appEntryOptions.ts +5 -5
  523. package/src/cli/core/atoms/buildOptions.ts +76 -88
  524. package/src/cli/core/atoms/changelogOptions.ts +3 -3
  525. package/src/cli/core/atoms/devOptions.ts +3 -3
  526. package/src/cli/core/commands/build.ts +36 -49
  527. package/src/cli/core/commands/db.ts +171 -83
  528. package/src/cli/core/commands/dev.ts +8 -8
  529. package/src/cli/core/commands/gen/changelog.ts +12 -14
  530. package/src/cli/core/commands/gen/env.ts +6 -6
  531. package/src/cli/core/commands/gen/openapi.ts +6 -6
  532. package/src/cli/core/commands/init.ts +28 -33
  533. package/src/cli/core/commands/pack.ts +10 -10
  534. package/src/cli/core/commands/root.ts +7 -8
  535. package/src/cli/core/commands/test.ts +17 -20
  536. package/src/cli/core/index.ts +0 -3
  537. package/src/cli/core/tasks/BuildCloudflareTask.ts +138 -245
  538. package/src/cli/core/tasks/BuildPrerenderTask.ts +44 -7
  539. package/src/cli/core/templates/apiHelloResponseSchemaTs.ts +4 -4
  540. package/src/cli/devtools/atoms/devtoolsOptions.ts +6 -6
  541. package/src/cli/i18n/__tests__/I18nCheckService.spec.ts +48 -0
  542. package/src/cli/i18n/atoms/i18nOptions.ts +8 -8
  543. package/src/cli/i18n/services/I18nCheckService.ts +65 -11
  544. package/src/cli/platform/commands/SecretsCommand.ts +24 -25
  545. package/src/cli/platform/commands/platform.ts +40 -46
  546. package/src/cli/platform/index.ts +1 -1
  547. package/src/cli/platform-lib/__tests__/CloudflareAdapter.spec.ts +0 -4
  548. package/src/cli/platform-lib/__tests__/PlatformInspector.spec.ts +10 -3
  549. package/src/cli/platform-lib/__tests__/VercelAdapter.spec.ts +0 -2
  550. package/src/cli/platform-lib/adapters/CloudflareAdapter.ts +141 -50
  551. package/src/cli/platform-lib/adapters/VercelAdapter.ts +6 -11
  552. package/src/cli/platform-lib/atoms/platformOptions.ts +46 -25
  553. package/src/cli/platform-lib/schemas/cloudflare.ts +87 -87
  554. package/src/cli/platform-lib/schemas/platform.ts +51 -51
  555. package/src/cli/platform-lib/schemas/vercel.ts +28 -28
  556. package/src/cli/platform-lib/services/CloudflareApi.ts +5 -5
  557. package/src/cli/platform-lib/services/VercelApi.ts +4 -4
  558. package/src/cli/platform-lib/services/VercelCli.ts +6 -15
  559. package/src/cli/platform-lib/services/WranglerApi.ts +6 -15
  560. package/src/cli/vendor/atoms/vendorOptions.ts +9 -9
  561. package/src/cli/vendor/commands/VendorCommand.ts +11 -12
  562. package/src/command/__tests__/$command.spec.ts +82 -83
  563. package/src/command/__tests__/Asker.spec.ts +6 -13
  564. package/src/command/__tests__/CliProvider.spec.ts +136 -149
  565. package/src/command/__tests__/Runner.spec.ts +86 -110
  566. package/src/command/helpers/Asker.ts +23 -58
  567. package/src/command/helpers/Runner.ts +34 -110
  568. package/src/command/index.ts +4 -9
  569. package/src/command/primitives/$command.ts +10 -10
  570. package/src/command/providers/CliProvider.ts +183 -161
  571. package/src/core/Alepha.ts +62 -13
  572. package/src/core/__tests__/$atom.spec.ts +52 -3
  573. package/src/core/__tests__/$computed.spec.ts +129 -0
  574. package/src/core/__tests__/$env.spec.ts +13 -13
  575. package/src/core/__tests__/$inject.spec.ts +4 -4
  576. package/src/core/__tests__/$module.spec.ts +1 -1
  577. package/src/core/__tests__/Alepha-graph.spec.ts +1 -1
  578. package/src/core/__tests__/Alepha-parseEnv.spec.ts +32 -32
  579. package/src/core/__tests__/Alepha-start.spec.ts +3 -3
  580. package/src/core/__tests__/CodecManager.spec.ts +113 -94
  581. package/src/core/__tests__/KeylessJsonSchemaCodec.spec.ts +138 -138
  582. package/src/core/__tests__/SchemaValidator.spec.ts +43 -44
  583. package/src/core/__tests__/StateManager.persist.browser.spec.ts +87 -0
  584. package/src/core/__tests__/StateManager.spec.ts +423 -0
  585. package/src/core/__tests__/TypeBox-usecases.spec.ts +8 -8
  586. package/src/core/__tests__/TypeProvider.spec.ts +314 -309
  587. package/src/core/__tests__/dump.spec.ts +6 -6
  588. package/src/core/__tests__/pagination.spec.ts +4 -4
  589. package/src/core/__tests__/scoped-after-start.spec.ts +43 -0
  590. package/src/core/errors/TypeBoxError.ts +10 -4
  591. package/src/core/helpers/FileLike.ts +5 -5
  592. package/src/core/helpers/coerceStrings.ts +70 -0
  593. package/src/core/helpers/jsonSchemaToZod.ts +112 -0
  594. package/src/core/index.shared.ts +4 -1
  595. package/src/core/primitives/$atom.ts +95 -27
  596. package/src/core/primitives/$computed.ts +148 -0
  597. package/src/core/primitives/$env.ts +5 -5
  598. package/src/core/primitives/$state.ts +1 -1
  599. package/src/core/providers/AlsProvider.ts +26 -0
  600. package/src/core/providers/CodecManager.ts +1 -2
  601. package/src/core/providers/JsonSchemaCodec.ts +1 -2
  602. package/src/core/providers/KeylessJsonSchemaCodec.ts +82 -57
  603. package/src/core/providers/SchemaValidator.ts +48 -158
  604. package/src/core/providers/StateManager.ts +383 -9
  605. package/src/core/providers/TypeProvider.ts +80 -734
  606. package/src/core/providers/ZodProvider.ts +380 -0
  607. package/src/core/providers/zodAugment.ts +69 -0
  608. package/src/core/schemas/pageQuerySchema.ts +19 -21
  609. package/src/core/schemas/pageSchema.ts +47 -57
  610. package/src/crypto/__tests__/SecretProvider.spec.ts +31 -0
  611. package/src/crypto/providers/SecretProvider.ts +16 -10
  612. package/src/datetime/primitives/$throttle.ts +6 -1
  613. package/src/email/brevo/providers/BrevoEmailProvider.ts +4 -4
  614. package/src/email/cloudflare/providers/CloudflareEmailProvider.ts +6 -6
  615. package/src/email/core/index.ts +7 -2
  616. package/src/email/core/primitives/$email.ts +5 -1
  617. package/src/email/core/providers/LocalEmailProvider.ts +5 -5
  618. package/src/email/smtp/providers/NodemailerEmailProvider.ts +41 -52
  619. package/src/fake/__tests__/FakeProvider.spec.ts +110 -110
  620. package/src/fake/__tests__/keyName.example.ts +21 -21
  621. package/src/fake/__tests__/keyName.spec.ts +41 -41
  622. package/src/fake/__tests__/module.example.ts +8 -8
  623. package/src/fake/providers/FakeProvider.ts +122 -121
  624. package/src/lock/core/__tests__/lock-mutual-exclusion.spec.ts +44 -0
  625. package/src/lock/core/index.ts +1 -0
  626. package/src/lock/core/primitives/$lock.ts +13 -6
  627. package/src/logger/__tests__/CliFormatterProvider.spec.ts +76 -0
  628. package/src/logger/__tests__/Logger.spec.ts +49 -0
  629. package/src/logger/index.ts +25 -18
  630. package/src/logger/providers/CliFormatterProvider.ts +75 -0
  631. package/src/logger/schemas/logEntrySchema.ts +10 -10
  632. package/src/logger/services/Logger.ts +18 -0
  633. package/src/mcp/__tests__/$prompt.spec.ts +21 -23
  634. package/src/mcp/__tests__/$tool.spec.ts +22 -22
  635. package/src/mcp/__tests__/McpServerProvider.spec.ts +82 -11
  636. package/src/mcp/__tests__/StreamableHttpMcpTransport.spec.ts +2 -2
  637. package/src/mcp/__tests__/integration.spec.ts +33 -33
  638. package/src/mcp/primitives/$prompt.ts +11 -9
  639. package/src/mcp/primitives/$tool.ts +27 -86
  640. package/src/mcp/providers/McpServerProvider.ts +55 -0
  641. package/src/mcp/transports/StreamableHttpMcpTransport.ts +7 -7
  642. package/src/orm/__tests__/$repository-tests.ts +133 -27
  643. package/src/orm/__tests__/$repository.spec.ts +23 -0
  644. package/src/orm/__tests__/$transactional-tests.ts +4 -4
  645. package/src/orm/__tests__/ModelBuilder-tests.ts +28 -28
  646. package/src/orm/__tests__/ModelBuilder.spec.ts +124 -106
  647. package/src/orm/__tests__/QueryManager.spec.ts +5 -5
  648. package/src/orm/__tests__/delete-returning-tests.ts +11 -11
  649. package/src/orm/__tests__/deletedAt-tests.ts +3 -3
  650. package/src/orm/__tests__/enums.spec.ts +29 -25
  651. package/src/orm/__tests__/execute-tests.ts +8 -8
  652. package/src/orm/__tests__/fixtures/bigEntitySchema.ts +48 -48
  653. package/src/orm/__tests__/fixtures/userEntitySchema.ts +6 -6
  654. package/src/orm/__tests__/joins-tests.ts +30 -30
  655. package/src/orm/__tests__/organization-tests.ts +105 -3
  656. package/src/orm/__tests__/organization.spec.ts +46 -0
  657. package/src/orm/__tests__/orm-errors.spec.ts +10 -10
  658. package/src/orm/__tests__/orm-next-tests.ts +29 -29
  659. package/src/orm/__tests__/orm-showcase-tests.ts +9 -9
  660. package/src/orm/__tests__/primaryKey.spec.ts +4 -4
  661. package/src/orm/__tests__/query-date-encoding-tests.ts +17 -17
  662. package/src/orm/__tests__/ref-auto-onDelete.spec.ts +14 -14
  663. package/src/orm/__tests__/references.spec.ts +7 -7
  664. package/src/orm/__tests__/security.spec.ts +17 -17
  665. package/src/orm/__tests__/string-operators-tests.ts +5 -5
  666. package/src/orm/__tests__/timestamps-tests.ts +14 -14
  667. package/src/orm/__tests__/validation-tests.ts +5 -5
  668. package/src/orm/core/__tests__/BunSqliteProvider.bun.spec.ts +8 -8
  669. package/src/orm/core/constants/PG_SYMBOLS.ts +13 -1
  670. package/src/orm/core/entities/alephaSequences.ts +8 -8
  671. package/src/orm/core/helpers/pgAttr.ts +4 -4
  672. package/src/orm/core/primitives/$entity.ts +10 -6
  673. package/src/orm/core/providers/DatabaseTypeProvider.ts +46 -53
  674. package/src/orm/core/providers/drivers/BunSqliteProvider.ts +8 -8
  675. package/src/orm/core/providers/drivers/CloudflareD1Provider.ts +3 -5
  676. package/src/orm/core/providers/drivers/NodeSqliteProvider.ts +8 -8
  677. package/src/orm/core/schemas/databaseEnvSchema.ts +4 -4
  678. package/src/orm/core/schemas/insertSchema.ts +14 -18
  679. package/src/orm/core/schemas/legacyIdSchema.ts +2 -2
  680. package/src/orm/core/schemas/updateSchema.ts +10 -16
  681. package/src/orm/core/services/PgRelationManager.ts +2 -2
  682. package/src/orm/core/services/QueryManager.ts +13 -2
  683. package/src/orm/core/services/Repository.ts +88 -33
  684. package/src/orm/core/services/SqliteModelBuilder.ts +38 -45
  685. package/src/orm/postgres/__tests__/BunPostgresProvider.bun.spec.ts +4 -4
  686. package/src/orm/postgres/providers/CloudflareHyperdriveProvider.ts +4 -6
  687. package/src/orm/postgres/schemas/postgresEnvSchema.ts +6 -6
  688. package/src/orm/postgres/services/PostgresModelBuilder.ts +127 -114
  689. package/src/queue/core/__tests__/$consumer.spec.ts +4 -4
  690. package/src/queue/core/__tests__/WorkerProvider.spec.ts +4 -4
  691. package/src/queue/core/__tests__/shared.ts +6 -6
  692. package/src/queue/core/primitives/$consumer.ts +5 -5
  693. package/src/queue/core/primitives/$queue.ts +44 -61
  694. package/src/queue/core/providers/CloudflareQueueProvider.ts +6 -0
  695. package/src/queue/core/providers/WorkerProvider.ts +17 -14
  696. package/src/queue/redis/providers/RedisQueueProvider.ts +3 -3
  697. package/src/react/core/__tests__/ErrorBoundary.browser.spec.tsx +92 -0
  698. package/src/react/core/__tests__/Router.spec.tsx +4 -4
  699. package/src/react/core/__tests__/useComputed.browser.spec.tsx +192 -0
  700. package/src/react/core/__tests__/useQuery.browser.spec.tsx +48 -0
  701. package/src/react/core/__tests__/useSelector.browser.spec.tsx +105 -0
  702. package/src/react/core/__tests__/useStore.browser.spec.tsx +113 -0
  703. package/src/react/core/components/ErrorBoundary.tsx +42 -0
  704. package/src/react/core/hooks/useAction.ts +56 -19
  705. package/src/react/core/hooks/useComputed.ts +91 -0
  706. package/src/react/core/hooks/useSelector.ts +67 -0
  707. package/src/react/core/hooks/useStore.ts +36 -17
  708. package/src/react/core/index.ts +3 -0
  709. package/src/react/core/utils/shallowEqual.ts +36 -0
  710. package/src/react/form/__tests__/FormModel-submit-loading.spec.ts +71 -0
  711. package/src/react/form/__tests__/form-submitting-reactive.browser.spec.tsx +96 -0
  712. package/src/react/form/__tests__/useForm.browser.spec.tsx +54 -54
  713. package/src/react/form/errors/FormValidationError.ts +0 -2
  714. package/src/react/form/hooks/useForm.ts +19 -4
  715. package/src/react/form/hooks/useFormQuerySync.ts +0 -0
  716. package/src/react/form/services/FormModel.ts +124 -86
  717. package/src/react/form/services/parseField.ts +66 -27
  718. package/src/react/i18n/__tests__/I18nProvider.spec.ts +89 -0
  719. package/src/react/i18n/__tests__/Localize.spec.tsx +1 -1
  720. package/src/react/i18n/__tests__/locale-routing.spec.ts +107 -0
  721. package/src/react/i18n/providers/I18nProvider.ts +173 -14
  722. package/src/react/router/__tests__/$page.browser.spec.tsx +19 -19
  723. package/src/react/router/__tests__/$page.spec.tsx +21 -21
  724. package/src/react/router/__tests__/ReactBrowserProvider.browser.spec.ts +87 -1
  725. package/src/react/router/__tests__/RouterLocaleProvider.spec.ts +127 -0
  726. package/src/react/router/atoms/ssrManifestAtom.ts +16 -16
  727. package/src/react/router/components/NestedView.tsx +11 -3
  728. package/src/react/router/hooks/useQueryParams.ts +1 -1
  729. package/src/react/router/index.browser.ts +4 -0
  730. package/src/react/router/index.shared.ts +1 -0
  731. package/src/react/router/index.ts +9 -0
  732. package/src/react/router/primitives/$page.ts +2 -2
  733. package/src/react/router/providers/ReactBrowserProvider.ts +64 -13
  734. package/src/react/router/providers/ReactBrowserRouterProvider.ts +15 -1
  735. package/src/react/router/providers/ReactPageProvider.ts +38 -13
  736. package/src/react/router/providers/ReactServerProvider.ts +105 -16
  737. package/src/react/router/providers/RootComponentsProvider.ts +13 -0
  738. package/src/react/router/providers/RouterLocaleProvider.ts +125 -0
  739. package/src/react/router/providers/__tests__/RootComponentsProvider.spec.ts +15 -0
  740. package/src/react/router/providers/__tests__/rootComponents.ssr.browser.spec.tsx +67 -0
  741. package/src/react/sitemap/__tests__/$sitemap.spec.ts +131 -0
  742. package/src/react/sitemap/index.browser.ts +21 -0
  743. package/src/react/sitemap/index.ts +25 -0
  744. package/src/react/sitemap/primitives/$sitemap.browser.ts +26 -0
  745. package/src/react/sitemap/primitives/$sitemap.ts +196 -0
  746. package/src/react/ui/atoms/uiAtom.ts +6 -6
  747. package/src/react/ui/atoms/uiThemeListAtom.ts +7 -7
  748. package/src/react/ui/hooks/useColorMode.ts +11 -4
  749. package/src/react/ui/services/SchemaControl.ts +4 -4
  750. package/src/redis/providers/BunRedisProvider.ts +19 -11
  751. package/src/redis/providers/NodeRedisProvider.ts +3 -3
  752. package/src/scheduler/primitives/$scheduler.ts +21 -8
  753. package/src/security/__tests__/assertRealmScope.spec.ts +29 -0
  754. package/src/security/atoms/currentTenantAtom.ts +6 -6
  755. package/src/security/atoms/currentUserAtom.ts +2 -2
  756. package/src/security/primitives/$issuer.ts +24 -2
  757. package/src/security/providers/JwtProvider.ts +100 -0
  758. package/src/security/providers/SecurityProvider.ts +43 -2
  759. package/src/security/schemas/permissionSchema.ts +19 -19
  760. package/src/security/schemas/roleSchema.ts +22 -28
  761. package/src/security/schemas/userAccountInfoSchema.ts +47 -37
  762. package/src/server/auth/__tests__/appleClientSecret.spec.ts +34 -0
  763. package/src/server/auth/__tests__/federationRedirectReplay.spec.ts +44 -0
  764. package/src/server/auth/helpers/appleClientSecret.ts +24 -0
  765. package/src/server/auth/helpers/jtiReplayGuard.ts +41 -0
  766. package/src/server/auth/helpers/safeRedirectPath.ts +19 -0
  767. package/src/server/auth/index.ts +1 -0
  768. package/src/server/auth/primitives/$auth.ts +6 -6
  769. package/src/server/auth/primitives/$authApple.ts +10 -10
  770. package/src/server/auth/primitives/$authFacebook.ts +10 -10
  771. package/src/server/auth/primitives/$authFranceConnect.ts +10 -10
  772. package/src/server/auth/primitives/$authGithub.ts +10 -10
  773. package/src/server/auth/primitives/$authGoogle.ts +10 -10
  774. package/src/server/auth/primitives/$authMicrosoft.ts +14 -14
  775. package/src/server/auth/providers/ServerAuthProvider.ts +67 -52
  776. package/src/server/auth/schemas/authenticationProviderSchema.ts +9 -12
  777. package/src/server/auth/schemas/tokenResponseSchema.ts +2 -2
  778. package/src/server/auth/schemas/tokensSchema.ts +16 -16
  779. package/src/server/auth/schemas/userinfoResponseSchema.ts +3 -3
  780. package/src/server/cookies/__tests__/AtomCookieBinding.spec.ts +80 -0
  781. package/src/server/cookies/__tests__/AtomCookiePersistence.browser.spec.ts +169 -0
  782. package/src/server/cookies/__tests__/AtomCookiePersistence.spec.ts +294 -0
  783. package/src/server/cookies/__tests__/ServerCookiesProvider.spec.ts +82 -12
  784. package/src/server/cookies/index.browser.ts +4 -1
  785. package/src/server/cookies/index.ts +8 -1
  786. package/src/server/cookies/primitives/$cookie.browser.ts +1 -1
  787. package/src/server/cookies/primitives/$cookie.ts +16 -0
  788. package/src/server/cookies/providers/AtomCookiePersistence.browser.ts +133 -0
  789. package/src/server/cookies/providers/AtomCookiePersistence.ts +148 -0
  790. package/src/server/cookies/providers/ServerCookiesProvider.ts +32 -4
  791. package/src/server/cookies/services/CookieParser.ts +6 -1
  792. package/src/server/core/__tests__/$action.spec.ts +13 -13
  793. package/src/server/core/__tests__/$middleware.spec.ts +10 -10
  794. package/src/server/core/__tests__/$route.spec.ts +9 -9
  795. package/src/server/core/__tests__/$sse.spec.ts +26 -26
  796. package/src/server/core/__tests__/BunHttpServerProvider.bun.spec.ts +6 -6
  797. package/src/server/core/__tests__/HttpClient.spec.ts +2 -2
  798. package/src/server/core/__tests__/NodeHttpServerProvider.spec.ts +15 -3
  799. package/src/server/core/__tests__/ServerBodyParserProvider.spec.ts +14 -14
  800. package/src/server/core/__tests__/ServerMultipartProvider.spec.ts +33 -33
  801. package/src/server/core/__tests__/ServerRouterProvider-errorHandler.spec.ts +5 -1
  802. package/src/server/core/__tests__/ServerRouterProvider-getRoutes.spec.ts +25 -25
  803. package/src/server/core/__tests__/ServerRouterProvider-serializationError.spec.ts +9 -5
  804. package/src/server/core/__tests__/ServerRouterProvider-validationError.spec.ts +56 -24
  805. package/src/server/core/errors/ValidationError.ts +6 -3
  806. package/src/server/core/helpers/isMultipart.ts +2 -1
  807. package/src/server/core/index.ts +5 -2
  808. package/src/server/core/interfaces/ServerRequest.ts +14 -14
  809. package/src/server/core/primitives/$action.ts +26 -36
  810. package/src/server/core/primitives/$route.ts +27 -0
  811. package/src/server/core/primitives/$sse.ts +3 -3
  812. package/src/server/core/providers/BunHttpServerProvider.ts +8 -9
  813. package/src/server/core/providers/NodeHttpServerProvider.ts +8 -9
  814. package/src/server/core/providers/ServerBodyParserProvider.ts +20 -12
  815. package/src/server/core/providers/ServerCompressProvider.ts +9 -10
  816. package/src/server/core/providers/ServerHelmetProvider.ts +26 -27
  817. package/src/server/core/providers/ServerMultipartProvider.ts +19 -19
  818. package/src/server/core/providers/ServerRouterProvider.ts +44 -15
  819. package/src/server/core/schemas/errorSchema.ts +20 -25
  820. package/src/server/core/schemas/okSchema.ts +9 -14
  821. package/src/server/core/services/HttpClient.ts +13 -1
  822. package/src/server/core/services/ServerRequestParser.ts +6 -6
  823. package/src/server/cors/providers/ServerCorsProvider.ts +26 -28
  824. package/src/server/health/schemas/healthSchema.ts +6 -6
  825. package/src/server/links/__tests__/$remote.spec.ts +3 -3
  826. package/src/server/links/__tests__/BatchEndpoint.spec.ts +9 -9
  827. package/src/server/links/__tests__/LinkProvider.spec.ts +9 -9
  828. package/src/server/links/__tests__/ServerLinksProvider.spec.ts +23 -23
  829. package/src/server/links/__tests__/fixtures/CrudApp.ts +21 -21
  830. package/src/server/links/atoms/apiLinksAtom.ts +2 -2
  831. package/src/server/links/atoms/linkOptionsAtom.ts +6 -6
  832. package/src/server/links/primitives/$remote.ts +3 -3
  833. package/src/server/links/providers/LinkProvider.ts +3 -3
  834. package/src/server/links/providers/ServerLinksProvider.ts +20 -20
  835. package/src/server/links/schemas/apiLinksResponseSchema.ts +23 -23
  836. package/src/server/proxy/__tests__/$proxy.spec.ts +9 -9
  837. package/src/server/proxy/providers/ServerProxyProvider.ts +5 -0
  838. package/src/server/rate-limit/providers/ServerRateLimitProvider.ts +18 -20
  839. package/src/server/swagger/__tests__/$swagger.spec.ts +91 -94
  840. package/src/server/swagger/__tests__/ui.spec.ts +3 -3
  841. package/src/server/swagger/providers/ServerSwaggerProvider.ts +66 -43
  842. package/src/system/__tests__/NodeShellProvider.spec.ts +46 -0
  843. package/src/system/providers/NodeShellProvider.ts +4 -1
  844. package/src/topic/core/__tests__/$subscriber.spec.ts +4 -4
  845. package/src/topic/core/__tests__/shared.ts +8 -8
  846. package/src/topic/core/primitives/$subscriber.ts +5 -5
  847. package/src/topic/core/primitives/$topic.ts +14 -14
  848. package/src/topic/redis/providers/RedisTopicProvider.ts +3 -3
  849. package/dist/container/core/index.d.ts +0 -236
  850. package/dist/container/core/index.d.ts.map +0 -1
  851. package/dist/container/core/index.js +0 -231
  852. package/dist/container/core/index.js.map +0 -1
  853. package/dist/container/core/index.workerd.js +0 -192
  854. package/dist/container/core/index.workerd.js.map +0 -1
  855. package/src/cli/core/tasks/BuildSitemapTask.ts +0 -130
  856. package/src/command/helpers/PrettyAsker.ts +0 -256
  857. package/src/command/helpers/PrettyPrint.ts +0 -332
  858. package/src/container/core/__tests__/$container.spec.ts +0 -83
  859. package/src/container/core/index.ts +0 -50
  860. package/src/container/core/index.workerd.ts +0 -53
  861. package/src/container/core/interfaces/ContainerOptions.ts +0 -69
  862. package/src/container/core/primitives/$container.ts +0 -100
  863. package/src/container/core/providers/CloudflareContainerProvider.ts +0 -70
  864. package/src/container/core/providers/ContainerProvider.ts +0 -92
  865. package/src/container/core/providers/MockContainerProvider.ts +0 -62
  866. package/src/container/core/providers/NodeContainerProvider.ts +0 -53
  867. package/src/core/__tests__/jsonSchemaToTypeBox.spec.ts +0 -771
  868. package/src/core/helpers/jsonSchemaToTypeBox.ts +0 -359
  869. /package/dist/orm/core/{chunk-B4FMCO8f.js → rolldown-runtime-B4FMCO8f.js} +0 -0
@@ -1,4 +1,4 @@
1
- import { $atom, $inject, $module, $state, Alepha, AlephaError, t } from "alepha";
1
+ import { $atom, $inject, $module, $state, Alepha, AlephaError, z } from "alepha";
2
2
  import { createHash } from "node:crypto";
3
3
  import { readFile } from "node:fs/promises";
4
4
  import { join } from "node:path";
@@ -19,17 +19,17 @@ import { homedir, platform } from "node:os";
19
19
  const platformOptions = $atom({
20
20
  name: "alepha.cli.platform.options",
21
21
  description: "Platform deployment configuration",
22
- schema: t.optional(t.object({
22
+ schema: z.object({
23
23
  /**
24
24
  * Project name override. Defaults to root package.json "name".
25
25
  */
26
- name: t.optional(t.text()),
26
+ name: z.text().optional(),
27
27
  /**
28
28
  * Default environment when --env is omitted.
29
29
  *
30
30
  * @default "production"
31
31
  */
32
- default: t.optional(t.text()),
32
+ default: z.text().optional(),
33
33
  /**
34
34
  * Multi-tenancy mode — controls whether `--tenant <slug>` is
35
35
  * accepted/required and how it shapes resource names + the domain.
@@ -43,16 +43,16 @@ const platformOptions = $atom({
43
43
  *
44
44
  * @default "none"
45
45
  */
46
- tenancy: t.optional(t.enum([
46
+ tenancy: z.enum([
47
47
  "none",
48
48
  "optional",
49
49
  "required"
50
- ])),
50
+ ]).optional(),
51
51
  /**
52
52
  * Secret store configuration for syncing .env secrets
53
53
  * to external providers (e.g. GitHub Actions environments).
54
54
  */
55
- secrets: t.optional(t.object({
55
+ secrets: z.object({
56
56
  /**
57
57
  * Explicit override of the worker secret-key allowlist.
58
58
  *
@@ -69,24 +69,24 @@ const platformOptions = $atom({
69
69
  * neither this nor a manifest is present, the `.env.<env>` file is
70
70
  * itself the allowlist (legacy fallback).
71
71
  */
72
- keys: t.optional(t.array(t.text())),
72
+ keys: z.array(z.text()).optional(),
73
73
  /**
74
74
  * Secret store backend.
75
75
  */
76
- store: t.optional(t.enum(["github"])),
76
+ store: z.enum(["github"]).optional(),
77
77
  /**
78
78
  * Pattern for resolving environment names in the store.
79
79
  * Placeholders: {project}, {env}.
80
80
  *
81
81
  * @default "{project}-{env}"
82
82
  */
83
- environmentPattern: t.optional(t.text())
84
- })),
83
+ environmentPattern: z.text().optional()
84
+ }).optional(),
85
85
  /**
86
86
  * Named environments with their adapter and configuration.
87
87
  */
88
- environments: t.record(t.text({ description: "Environment name (e.g. 'production', 'staging', 'preview'). Used in resource naming and selected via --env." }), t.object({
89
- adapter: t.enum(["cloudflare", "vercel"]),
88
+ environments: z.record(z.text({ description: "Environment name (e.g. 'production', 'staging', 'preview'). Used in resource naming and selected via --env." }), z.object({
89
+ adapter: z.enum(["cloudflare", "vercel"]),
90
90
  /**
91
91
  * Custom domain for the deployed worker (e.g. "api.example.com").
92
92
  *
@@ -98,14 +98,30 @@ const platformOptions = $atom({
98
98
  * Wildcard patterns require `zone` to be set, and the wildcard DNS
99
99
  * record must already exist (proxied) in the Cloudflare zone.
100
100
  */
101
- domain: t.optional(t.text()),
101
+ domain: z.text().optional(),
102
102
  /**
103
103
  * Cloudflare zone name (e.g. "alepha.dev") that owns `domain`.
104
104
  *
105
- * Required when `domain` contains a wildcard (`*`). Ignored for
106
- * plain custom domains, which Cloudflare resolves automatically.
105
+ * Required when `domain` contains a wildcard (`*`). For a plain
106
+ * host, setting `zone` switches the binding from a Custom Domain to
107
+ * a zone *Route* (`domain/*`) — needed when another Worker holds a
108
+ * wildcard route covering the host (routes win by specificity,
109
+ * while a Custom Domain would lose to the wildcard route).
107
110
  */
108
- zone: t.optional(t.text()),
111
+ zone: z.text().optional(),
112
+ /**
113
+ * Worker-to-worker service bindings, e.g.
114
+ * `[{ binding: "CLUB", service: "club-staging" }]`.
115
+ *
116
+ * Exposed on the runtime `env` (Alepha store key `cloudflare.env`).
117
+ * Use a binding to fetch() a sibling Worker on the same zone —
118
+ * plain subrequests to a host served by a same-zone Worker route
119
+ * bypass the route and 522.
120
+ */
121
+ services: z.array(z.object({
122
+ binding: z.text(),
123
+ service: z.text()
124
+ })).optional(),
109
125
  /**
110
126
  * Cloudflare data jurisdiction for R2 buckets and D1 databases.
111
127
  * - "eu": data stays within the EU
@@ -113,7 +129,7 @@ const platformOptions = $atom({
113
129
  *
114
130
  * Omit for the default (global) jurisdiction.
115
131
  */
116
- jurisdiction: t.optional(t.enum(["eu", "fedramp"])),
132
+ jurisdiction: z.enum(["eu", "fedramp"]).optional(),
117
133
  /**
118
134
  * Cloudflare account ID to deploy into.
119
135
  *
@@ -121,9 +137,9 @@ const platformOptions = $atom({
121
137
  * token's account when the token is scoped to exactly one.
122
138
  * Required when the token has access to multiple accounts.
123
139
  */
124
- accountId: t.optional(t.text())
140
+ accountId: z.text().optional()
125
141
  }))
126
- }))
142
+ }).optional()
127
143
  });
128
144
  //#endregion
129
145
  //#region ../../src/cli/platform-lib/providers/PlatformCacheProvider.ts
@@ -174,104 +190,104 @@ var PlatformCacheProvider = class PlatformCacheProvider {
174
190
  };
175
191
  //#endregion
176
192
  //#region ../../src/cli/platform-lib/schemas/cloudflare.ts
177
- const cloudflareAccountSchema = t.object({
178
- id: t.string(),
179
- name: t.string()
193
+ const cloudflareAccountSchema = z.object({
194
+ id: z.string(),
195
+ name: z.string()
180
196
  });
181
- const cloudflareD1Schema = t.object({
182
- uuid: t.string(),
183
- name: t.string()
197
+ const cloudflareD1Schema = z.object({
198
+ uuid: z.string(),
199
+ name: z.string()
184
200
  });
185
- const cloudflareKVSchema = t.object({
186
- id: t.string(),
187
- title: t.string()
201
+ const cloudflareKVSchema = z.object({
202
+ id: z.string(),
203
+ title: z.string()
188
204
  });
189
- const cloudflareR2Schema = t.object({
190
- name: t.string(),
191
- creation_date: t.optional(t.string())
205
+ const cloudflareR2Schema = z.object({
206
+ name: z.string(),
207
+ creation_date: z.string().optional()
192
208
  });
193
- const cloudflareR2ListSchema = t.object({ buckets: t.array(cloudflareR2Schema) });
194
- const cloudflareQueueSchema = t.object({
195
- queue_id: t.string(),
196
- queue_name: t.string()
209
+ const cloudflareR2ListSchema = z.object({ buckets: z.array(cloudflareR2Schema) });
210
+ const cloudflareQueueSchema = z.object({
211
+ queue_id: z.string(),
212
+ queue_name: z.string()
197
213
  });
198
- const cloudflareQueueConsumerSchema = t.object({
199
- consumer_id: t.string(),
200
- service: t.string(),
201
- environment: t.optional(t.string())
214
+ const cloudflareQueueConsumerSchema = z.object({
215
+ consumer_id: z.string(),
216
+ service: z.string(),
217
+ environment: z.string().optional()
202
218
  });
203
- const cloudflareHyperdriveOriginSchema = t.object({ host: t.string() });
204
- const cloudflareHyperdriveSchema = t.object({
205
- id: t.string(),
206
- name: t.string(),
219
+ const cloudflareHyperdriveOriginSchema = z.object({ host: z.string() });
220
+ const cloudflareHyperdriveSchema = z.object({
221
+ id: z.string(),
222
+ name: z.string(),
207
223
  origin: cloudflareHyperdriveOriginSchema
208
224
  });
209
- const cloudflareWorkerSchema = t.object({
210
- id: t.string(),
211
- created_on: t.string(),
212
- modified_on: t.string()
225
+ const cloudflareWorkerSchema = z.object({
226
+ id: z.string(),
227
+ created_on: z.string(),
228
+ modified_on: z.string()
213
229
  });
214
- const cloudflareDeploymentVersionSchema = t.object({
215
- version_id: t.string(),
216
- percentage: t.number()
230
+ const cloudflareDeploymentVersionSchema = z.object({
231
+ version_id: z.string(),
232
+ percentage: z.number()
217
233
  });
218
- const cloudflareDeploymentSchema = t.object({
219
- id: t.string(),
220
- versions: t.array(cloudflareDeploymentVersionSchema),
221
- created_on: t.string()
234
+ const cloudflareDeploymentSchema = z.object({
235
+ id: z.string(),
236
+ versions: z.array(cloudflareDeploymentVersionSchema),
237
+ created_on: z.string()
222
238
  });
223
- const cloudflareDeploymentListSchema = t.object({ deployments: t.array(cloudflareDeploymentSchema) });
224
- const cloudflareVersionSchema = t.object({
225
- id: t.string(),
226
- metadata: t.object({ created_on: t.string() }),
227
- annotations: t.optional(t.record(t.string(), t.string()))
239
+ const cloudflareDeploymentListSchema = z.object({ deployments: z.array(cloudflareDeploymentSchema) });
240
+ const cloudflareVersionSchema = z.object({
241
+ id: z.string(),
242
+ metadata: z.object({ created_on: z.string() }),
243
+ annotations: z.record(z.string(), z.string()).optional()
228
244
  });
229
- const cloudflareVersionListSchema = t.object({ items: t.array(cloudflareVersionSchema) });
230
- const cloudflareSecretSchema = t.object({
231
- name: t.string(),
232
- type: t.string()
245
+ const cloudflareVersionListSchema = z.object({ items: z.array(cloudflareVersionSchema) });
246
+ const cloudflareSecretSchema = z.object({
247
+ name: z.string(),
248
+ type: z.string()
233
249
  });
234
- const createD1BodySchema = t.object({
235
- name: t.string(),
236
- primary_location_hint: t.optional(t.string()),
237
- jurisdiction: t.optional(t.string())
250
+ const createD1BodySchema = z.object({
251
+ name: z.string(),
252
+ primary_location_hint: z.string().optional(),
253
+ jurisdiction: z.string().optional()
238
254
  });
239
- const createKVBodySchema = t.object({ title: t.string() });
240
- const createR2BodySchema = t.object({ name: t.string() });
241
- const cloudflareR2TokenSchema = t.object({
242
- id: t.string(),
243
- accessKeyId: t.string(),
244
- secretAccessKey: t.string()
255
+ const createKVBodySchema = z.object({ title: z.string() });
256
+ const createR2BodySchema = z.object({ name: z.string() });
257
+ const cloudflareR2TokenSchema = z.object({
258
+ id: z.string(),
259
+ accessKeyId: z.string(),
260
+ secretAccessKey: z.string()
245
261
  });
246
- const createR2TokenBodySchema = t.object({
247
- name: t.string(),
248
- policies: t.array(t.object({
249
- effect: t.string(),
250
- permissions: t.array(t.string()),
251
- buckets: t.optional(t.array(t.string()))
262
+ const createR2TokenBodySchema = z.object({
263
+ name: z.string(),
264
+ policies: z.array(z.object({
265
+ effect: z.string(),
266
+ permissions: z.array(z.string()),
267
+ buckets: z.array(z.string()).optional()
252
268
  }))
253
269
  });
254
- const createQueueBodySchema = t.object({ queue_name: t.string() });
255
- const createHyperdriveOriginSchema = t.object({
256
- scheme: t.string(),
257
- host: t.string(),
258
- port: t.number(),
259
- database: t.string(),
260
- user: t.string(),
261
- password: t.string()
270
+ const createQueueBodySchema = z.object({ queue_name: z.string() });
271
+ const createHyperdriveOriginSchema = z.object({
272
+ scheme: z.string(),
273
+ host: z.string(),
274
+ port: z.number(),
275
+ database: z.string(),
276
+ user: z.string(),
277
+ password: z.string()
262
278
  });
263
- const createHyperdriveBodySchema = t.object({
264
- name: t.string(),
279
+ const createHyperdriveBodySchema = z.object({
280
+ name: z.string(),
265
281
  origin: createHyperdriveOriginSchema
266
282
  });
267
- const putSecretBodySchema = t.object({
268
- name: t.string(),
269
- text: t.string(),
270
- type: t.string()
283
+ const putSecretBodySchema = z.object({
284
+ name: z.string(),
285
+ text: z.string(),
286
+ type: z.string()
271
287
  });
272
- const cloudflareApiErrorSchema = t.object({
273
- code: t.number(),
274
- message: t.string()
288
+ const cloudflareApiErrorSchema = z.object({
289
+ code: z.number(),
290
+ message: z.string()
275
291
  });
276
292
  //#endregion
277
293
  //#region ../../src/cli/platform-lib/services/WranglerApi.ts
@@ -287,29 +303,19 @@ var WranglerApi = class {
287
303
  shell = $inject(ShellProvider);
288
304
  utils = $inject(AlephaCliUtils);
289
305
  pm = $inject(PackageManagerUtils);
290
- runner = $inject(Runner);
291
306
  async runShell(command, options = {}) {
292
- const capture = options.capture;
293
- const output = await this.shell.run(command, {
294
- ...options,
295
- capture: capture ?? this.runner.useDynamicLogger
296
- });
297
- if (capture && !this.runner.useDynamicLogger) this.log.info(output);
307
+ const output = await this.shell.run(command, options);
308
+ if (options.capture) this.log.info(output);
298
309
  return output;
299
310
  }
300
311
  /**
301
312
  * Ensure wrangler is installed in the project.
302
313
  */
303
- async ensureInstalled(root, run) {
314
+ async ensureInstalled(root) {
304
315
  await this.pm.ensureDependency(root, "wrangler", {
305
316
  dev: true,
306
317
  exec: async (cmd, opts) => {
307
- run.pause();
308
- try {
309
- await this.utils.exec(cmd, opts);
310
- } finally {
311
- run.resume();
312
- }
318
+ await this.utils.exec(cmd, opts);
313
319
  }
314
320
  });
315
321
  }
@@ -417,7 +423,7 @@ var CloudflareApi = class CloudflareApi {
417
423
  this.accountId = fromEnv;
418
424
  return this.accountId;
419
425
  }
420
- const res = await this.fetch("/accounts", { schema: t.array(cloudflareAccountSchema) });
426
+ const res = await this.fetch("/accounts", { schema: z.array(cloudflareAccountSchema) });
421
427
  if (res.length === 0) throw new AlephaError("No Cloudflare accounts found for this token.");
422
428
  if (res.length > 1) {
423
429
  const list = res.map((a) => ` - ${a.id} ${a.name}`).join("\n");
@@ -582,7 +588,7 @@ var CloudflareApi = class CloudflareApi {
582
588
  }
583
589
  async listSecrets(scriptName) {
584
590
  const accountId = await this.resolveAccountId();
585
- return await this.fetch(`/accounts/${accountId}/workers/scripts/${scriptName}/secrets`, { schema: t.array(cloudflareSecretSchema) });
591
+ return await this.fetch(`/accounts/${accountId}/workers/scripts/${scriptName}/secrets`, { schema: z.array(cloudflareSecretSchema) });
586
592
  }
587
593
  async putSecret(scriptName, name, value) {
588
594
  const accountId = await this.resolveAccountId();
@@ -681,7 +687,7 @@ var CloudflareApi = class CloudflareApi {
681
687
  headers
682
688
  })).json();
683
689
  if (!json.success) throw new AlephaError(`Cloudflare API error (GET ${path}): ${json.errors.map((e) => e.message).join(", ")}`);
684
- const validated = this.alepha.codec.validate(t.array(itemSchema), json.result);
690
+ const validated = this.alepha.codec.validate(z.array(itemSchema), json.result);
685
691
  results.push(...validated);
686
692
  const totalPages = json.result_info?.total_pages;
687
693
  if (!totalPages || page >= totalPages || validated.length === 0) break;
@@ -702,7 +708,7 @@ var CloudflareApi = class CloudflareApi {
702
708
  if (cursor) query.cursor = cursor;
703
709
  const res = await this.fetch(path, { query });
704
710
  const items = res[itemsKey] ?? [];
705
- const validated = this.alepha.codec.validate(t.array(itemSchema), items);
711
+ const validated = this.alepha.codec.validate(z.array(itemSchema), items);
706
712
  results.push(...validated);
707
713
  const nextCursor = res.cursor;
708
714
  if (!nextCursor || validated.length === 0) break;
@@ -882,12 +888,8 @@ var CloudflareAdapter = class CloudflareAdapter extends PlatformAdapter {
882
888
  this.api.setAccountId(ctx.envConfig.accountId);
883
889
  }
884
890
  async runShell(command, options = {}) {
885
- const capture = options.capture;
886
- const output = await this.shell.run(command, {
887
- ...options,
888
- capture: capture ?? this.runner.useDynamicLogger
889
- });
890
- if (capture && !this.runner.useDynamicLogger) this.log.info(output);
891
+ const output = await this.shell.run(command, options);
892
+ if (options.capture) this.log.info(output);
891
893
  return output;
892
894
  }
893
895
  async authenticate(ctx, run) {
@@ -895,18 +897,14 @@ var CloudflareAdapter = class CloudflareAdapter extends PlatformAdapter {
895
897
  await run({
896
898
  name: "authenticate",
897
899
  handler: async () => {
898
- await this.wrangler.ensureInstalled(ctx.root, run);
900
+ await this.wrangler.ensureInstalled(ctx.root);
899
901
  let needsLogin = false;
900
902
  try {
901
903
  await this.wrangler.getAuthToken();
902
904
  } catch {
903
905
  needsLogin = true;
904
906
  }
905
- if (needsLogin) {
906
- run.pause();
907
- await this.wrangler.login();
908
- run.resume();
909
- }
907
+ if (needsLogin) await this.wrangler.login();
910
908
  if (await this.cache.isLoginFresh(ctx.root, "cloudflare")) return;
911
909
  try {
912
910
  const accountId = await this.api.resolveAccountId();
@@ -938,11 +936,11 @@ var CloudflareAdapter = class CloudflareAdapter extends PlatformAdapter {
938
936
  if (ctx.resources.hasQueue) env.CLOUDFLARE_QUEUE_NAME = ctx.naming.queue();
939
937
  const host = tenantDomain(ctx.envConfig.domain, ctx.tenant);
940
938
  if (host) {
941
- if (host.includes("*") && !ctx.envConfig.zone) throw new AlephaError(`Wildcard domain "${host}" requires "zone" to be set in the environment config (the Cloudflare zone name, e.g. "alepha.dev").`);
942
939
  env.CLOUDFLARE_DOMAIN = host;
943
940
  if (ctx.envConfig.zone) env.CLOUDFLARE_ZONE = ctx.envConfig.zone;
944
941
  }
945
942
  if (ctx.envConfig.jurisdiction) env.CLOUDFLARE_JURISDICTION = ctx.envConfig.jurisdiction;
943
+ if (ctx.envConfig.services?.length) env.CLOUDFLARE_SERVICES = JSON.stringify(ctx.envConfig.services);
946
944
  if (ctx.prebuilt) {
947
945
  await run({
948
946
  name: "alepha build -t cloudflare --prebuilt (in-process)",
@@ -1033,7 +1031,7 @@ var CloudflareAdapter = class CloudflareAdapter extends PlatformAdapter {
1033
1031
  * Vars that are handled by wrangler bindings or build config.
1034
1032
  * These should not be pushed as secrets.
1035
1033
  */
1036
- static EXCLUDED_SECRET_KEYS = new Set([
1034
+ static EXCLUDED_SECRET_KEYS = /* @__PURE__ */ new Set([
1037
1035
  "DATABASE_URL",
1038
1036
  "R2_BUCKET_NAME",
1039
1037
  "CLOUDFLARE_DOMAIN",
@@ -1071,7 +1069,7 @@ var CloudflareAdapter = class CloudflareAdapter extends PlatformAdapter {
1071
1069
  const declaredKeys = this.options?.secrets?.keys;
1072
1070
  const manifestKeys = await this.readManifestEnvKeys(ctx.root);
1073
1071
  const localKeys = Object.keys(await this.envUtils.parseEnv(ctx.root, [`.env.${ctx.env}.local`]));
1074
- const keys = declaredKeys ?? Array.from(new Set([...manifestKeys ?? Object.keys(envVars), ...localKeys]));
1072
+ const keys = declaredKeys ?? Array.from(/* @__PURE__ */ new Set([...manifestKeys ?? Object.keys(envVars), ...localKeys]));
1075
1073
  const secrets = {};
1076
1074
  for (const key of keys) {
1077
1075
  if (CloudflareAdapter.EXCLUDED_SECRET_KEYS.has(key)) continue;
@@ -1450,11 +1448,10 @@ var CloudflareAdapter = class CloudflareAdapter extends PlatformAdapter {
1450
1448
  name: `delete r2 ${name}`,
1451
1449
  handler: async () => {
1452
1450
  try {
1453
- await this.wipeR2Bucket(name, ctx);
1454
- await this.api.deleteR2(name);
1451
+ await this.deleteR2Bucket(name, ctx);
1455
1452
  } catch (error) {
1456
1453
  const msg = String(error.message || "");
1457
- if (msg.includes("does not exist") || msg.includes("NoSuchBucket")) this.log.debug(`Bucket ${name} not found — skipping.`);
1454
+ if (this.isMissingBucketError(msg)) this.log.debug(`Bucket ${name} not found — skipping.`);
1458
1455
  else this.log.warn(`Failed to delete r2 ${name}: ${msg}`);
1459
1456
  }
1460
1457
  }
@@ -1510,33 +1507,97 @@ var CloudflareAdapter = class CloudflareAdapter extends PlatformAdapter {
1510
1507
  if ((await this.api.listR2()).find((b) => b.name === name)) return;
1511
1508
  await this.api.createR2(name);
1512
1509
  }
1510
+ /** Whether a Cloudflare error message indicates the bucket is already gone. */
1511
+ isMissingBucketError(msg) {
1512
+ return msg.includes("does not exist") || msg.includes("NoSuchBucket") || msg.includes("bucket not found");
1513
+ }
1514
+ /**
1515
+ * Resolve S3 credentials for wiping an R2 bucket over the S3 protocol.
1516
+ *
1517
+ * Prefers the account's R2 S3 credentials from the environment
1518
+ * (`S3_ACCESS_KEY_ID` / `S3_SECRET_ACCESS_KEY`) — these are already
1519
+ * provisioned for the deploy (artifact registry) and are account-scoped,
1520
+ * so they can empty any bucket without minting anything. Returns `null`
1521
+ * when not configured, letting the caller fall back to token minting.
1522
+ */
1523
+ resolveR2Credentials() {
1524
+ const accessKeyId = process.env.S3_ACCESS_KEY_ID;
1525
+ const secretAccessKey = process.env.S3_SECRET_ACCESS_KEY;
1526
+ if (accessKeyId && secretAccessKey) return {
1527
+ accessKeyId,
1528
+ secretAccessKey
1529
+ };
1530
+ return null;
1531
+ }
1532
+ /**
1533
+ * Delete an R2 bucket, emptying it first only when necessary.
1534
+ *
1535
+ * Cloudflare's REST `DELETE /r2/buckets/:name` succeeds on an empty bucket
1536
+ * but rejects a non-empty one. So we attempt the delete directly (the
1537
+ * common teardown case — no objects, no creds needed), and only on failure
1538
+ * empty the bucket over the S3 protocol and retry. A missing bucket is a
1539
+ * no-op, so teardown is idempotent.
1540
+ */
1541
+ async deleteR2Bucket(name, ctx) {
1542
+ try {
1543
+ await this.api.deleteR2(name);
1544
+ return;
1545
+ } catch (error) {
1546
+ const msg = String(error.message || "");
1547
+ if (this.isMissingBucketError(msg)) return;
1548
+ this.log.debug(`Direct delete of r2 ${name} failed (${msg}); emptying then retrying.`);
1549
+ }
1550
+ await this.wipeR2Bucket(name, ctx);
1551
+ try {
1552
+ await this.api.deleteR2(name);
1553
+ } catch (error) {
1554
+ const msg = String(error.message || "");
1555
+ if (this.isMissingBucketError(msg)) return;
1556
+ throw error;
1557
+ }
1558
+ }
1513
1559
  /**
1514
1560
  * Empty an R2 bucket via the S3-compatible API.
1515
1561
  *
1516
- * Cloudflare's REST `DELETE /r2/buckets/:name` rejects non-empty buckets
1517
- * with `BucketNotEmpty`, and the REST API has no object-level endpoints
1518
- * objects must be listed and deleted over the S3 protocol. To avoid
1519
- * making users pre-create R2 access keys, we mint a short-lived
1520
- * bucket-scoped API token using the wrangler bearer token, wipe the
1521
- * bucket with `s3mini`, then revoke the token.
1562
+ * Cloudflare's REST API has no object-level endpoints — objects must be
1563
+ * listed and deleted over the S3 protocol. We use the account's R2 S3
1564
+ * credentials (`S3_ACCESS_KEY_ID` / `S3_SECRET_ACCESS_KEY`) when present;
1565
+ * otherwise we fall back to minting a short-lived bucket-scoped token via
1566
+ * the CF API (requires a user-scoped `CLOUDFLARE_API_TOKEN`) and revoke it
1567
+ * after. When neither is available the wipe is skipped with a warning —
1568
+ * the caller still attempts the delete, which succeeds for empty buckets.
1522
1569
  *
1523
1570
  * Also aborts any pending multipart uploads — those count as bucket
1524
1571
  * contents from R2's perspective and would otherwise block the delete.
1525
1572
  */
1526
1573
  async wipeR2Bucket(bucketName, ctx) {
1527
- if (!process.env.CLOUDFLARE_API_TOKEN) {
1528
- this.log.warn(`Skipping R2 wipe for ${bucketName}: CLOUDFLARE_API_TOKEN not set. Delete the bucket manually in the Cloudflare dashboard.`);
1529
- return;
1574
+ let creds = this.resolveR2Credentials();
1575
+ let mintedTokenId;
1576
+ if (!creds) {
1577
+ if (!process.env.CLOUDFLARE_API_TOKEN) {
1578
+ this.log.warn(`Skipping R2 wipe for ${bucketName}: no S3 credentials (S3_ACCESS_KEY_ID / S3_SECRET_ACCESS_KEY) and no CLOUDFLARE_API_TOKEN to mint a bucket-scoped token. A non-empty bucket must be emptied manually in the Cloudflare dashboard.`);
1579
+ return;
1580
+ }
1581
+ try {
1582
+ const tokenName = `alepha-teardown-${bucketName}-${Date.now()}`;
1583
+ const token = await this.api.createR2Token(tokenName, bucketName);
1584
+ mintedTokenId = token.id;
1585
+ creds = {
1586
+ accessKeyId: token.accessKeyId,
1587
+ secretAccessKey: token.secretAccessKey
1588
+ };
1589
+ } catch (error) {
1590
+ this.log.warn(`Skipping R2 wipe for ${bucketName}: could not mint an R2 token (${String(error.message || "")}). Set S3_ACCESS_KEY_ID / S3_SECRET_ACCESS_KEY for reliable teardown.`);
1591
+ return;
1592
+ }
1530
1593
  }
1531
- const tokenName = `alepha-teardown-${bucketName}-${Date.now()}`;
1532
- const token = await this.api.createR2Token(tokenName, bucketName);
1533
1594
  try {
1534
1595
  const accountId = await this.api.resolveAccountId();
1535
1596
  const jur = ctx.envConfig.jurisdiction;
1536
1597
  const host = jur ? `${accountId}.${jur}.r2.cloudflarestorage.com` : `${accountId}.r2.cloudflarestorage.com`;
1537
1598
  const client = new S3mini({
1538
- accessKeyId: token.accessKeyId,
1539
- secretAccessKey: token.secretAccessKey,
1599
+ accessKeyId: creds.accessKeyId,
1600
+ secretAccessKey: creds.secretAccessKey,
1540
1601
  region: "auto",
1541
1602
  endpoint: `https://${host}/${bucketName}`
1542
1603
  });
@@ -1567,10 +1628,10 @@ var CloudflareAdapter = class CloudflareAdapter extends PlatformAdapter {
1567
1628
  }
1568
1629
  if (total > 0) this.log.info(`Emptied ${total} object(s) from bucket ${bucketName}.`);
1569
1630
  } finally {
1570
- try {
1571
- await this.api.deleteR2Token(token.id);
1631
+ if (mintedTokenId) try {
1632
+ await this.api.deleteR2Token(mintedTokenId);
1572
1633
  } catch (error) {
1573
- this.log.warn(`Failed to revoke ephemeral R2 token ${token.id}: ${String(error.message || "")}`);
1634
+ this.log.warn(`Failed to revoke ephemeral R2 token ${mintedTokenId}: ${String(error.message || "")}`);
1574
1635
  }
1575
1636
  }
1576
1637
  }
@@ -1609,37 +1670,37 @@ function computeSecretsHash(secrets) {
1609
1670
  }
1610
1671
  //#endregion
1611
1672
  //#region ../../src/cli/platform-lib/schemas/vercel.ts
1612
- const vercelProjectSchema = t.object({
1613
- id: t.string(),
1614
- name: t.string(),
1615
- accountId: t.string()
1673
+ const vercelProjectSchema = z.object({
1674
+ id: z.string(),
1675
+ name: z.string(),
1676
+ accountId: z.string()
1616
1677
  });
1617
- const createProjectBodySchema = t.object({
1618
- name: t.string(),
1619
- framework: t.optional(t.null())
1678
+ const createProjectBodySchema = z.object({
1679
+ name: z.string(),
1680
+ framework: z.null().optional()
1620
1681
  });
1621
- const vercelDeploymentSchema = t.object({
1622
- uid: t.string(),
1623
- name: t.string(),
1624
- url: t.string(),
1625
- state: t.optional(t.string()),
1626
- readyState: t.optional(t.string()),
1627
- created: t.optional(t.number()),
1628
- target: t.optional(t.string()),
1629
- alias: t.optional(t.array(t.string()))
1682
+ const vercelDeploymentSchema = z.object({
1683
+ uid: z.string(),
1684
+ name: z.string(),
1685
+ url: z.string(),
1686
+ state: z.string().optional(),
1687
+ readyState: z.string().optional(),
1688
+ created: z.number().optional(),
1689
+ target: z.string().optional(),
1690
+ alias: z.array(z.string()).optional()
1630
1691
  });
1631
- const vercelEnvVarSchema = t.object({
1632
- id: t.string(),
1633
- key: t.string(),
1634
- value: t.optional(t.string()),
1635
- type: t.string(),
1636
- target: t.array(t.string())
1692
+ const vercelEnvVarSchema = z.object({
1693
+ id: z.string(),
1694
+ key: z.string(),
1695
+ value: z.string().optional(),
1696
+ type: z.string(),
1697
+ target: z.array(z.string())
1637
1698
  });
1638
- const createEnvVarBodySchema = t.object({
1639
- key: t.string(),
1640
- value: t.string(),
1641
- type: t.string(),
1642
- target: t.array(t.string())
1699
+ const createEnvVarBodySchema = z.object({
1700
+ key: z.string(),
1701
+ value: z.string(),
1702
+ type: z.string(),
1703
+ target: z.array(z.string())
1643
1704
  });
1644
1705
  //#endregion
1645
1706
  //#region ../../src/cli/platform-lib/services/VercelCli.ts
@@ -1655,29 +1716,19 @@ var VercelCli = class {
1655
1716
  fs = $inject(FileSystemProvider);
1656
1717
  utils = $inject(AlephaCliUtils);
1657
1718
  pm = $inject(PackageManagerUtils);
1658
- runner = $inject(Runner);
1659
1719
  async runShell(command, options = {}) {
1660
- const capture = options.capture;
1661
- const output = await this.shell.run(command, {
1662
- ...options,
1663
- capture: capture ?? this.runner.useDynamicLogger
1664
- });
1665
- if (capture && !this.runner.useDynamicLogger) this.log.info(output);
1720
+ const output = await this.shell.run(command, options);
1721
+ if (options.capture) this.log.info(output);
1666
1722
  return output;
1667
1723
  }
1668
1724
  /**
1669
1725
  * Ensure vercel CLI is installed in the project.
1670
1726
  */
1671
- async ensureInstalled(root, run) {
1727
+ async ensureInstalled(root) {
1672
1728
  await this.pm.ensureDependency(root, "vercel", {
1673
1729
  dev: true,
1674
1730
  exec: async (cmd, opts) => {
1675
- run.pause();
1676
- try {
1677
- await this.utils.exec(cmd, opts);
1678
- } finally {
1679
- run.resume();
1680
- }
1731
+ await this.utils.exec(cmd, opts);
1681
1732
  }
1682
1733
  });
1683
1734
  }
@@ -1764,7 +1815,7 @@ var VercelApi = class VercelApi {
1764
1815
  return this.token;
1765
1816
  }
1766
1817
  async listProjects() {
1767
- return (await this.fetch("/v10/projects", { schema: t.object({ projects: t.array(vercelProjectSchema) }) })).projects;
1818
+ return (await this.fetch("/v10/projects", { schema: z.object({ projects: z.array(vercelProjectSchema) }) })).projects;
1768
1819
  }
1769
1820
  async getProject(nameOrId) {
1770
1821
  try {
@@ -1799,13 +1850,13 @@ var VercelApi = class VercelApi {
1799
1850
  if (options?.target) query.target = options.target;
1800
1851
  return (await this.fetch("/v6/deployments", {
1801
1852
  query,
1802
- schema: t.object({ deployments: t.array(vercelDeploymentSchema) })
1853
+ schema: z.object({ deployments: z.array(vercelDeploymentSchema) })
1803
1854
  })).deployments;
1804
1855
  }
1805
1856
  async listEnvVars(projectId) {
1806
1857
  return (await this.fetch(`/v10/projects/${encodeURIComponent(projectId)}/env`, {
1807
1858
  query: { decrypt: "true" },
1808
- schema: t.object({ envs: t.array(vercelEnvVarSchema) })
1859
+ schema: z.object({ envs: z.array(vercelEnvVarSchema) })
1809
1860
  })).envs;
1810
1861
  }
1811
1862
  async upsertEnvVars(projectId, vars) {
@@ -1871,26 +1922,21 @@ var VercelAdapter = class VercelAdapter extends PlatformAdapter {
1871
1922
  envUtils = $inject(EnvUtils);
1872
1923
  api = $inject(VercelApi);
1873
1924
  vercelCli = $inject(VercelCli);
1874
- runner = $inject(Runner);
1875
1925
  /**
1876
1926
  * Vars that should not be pushed as env vars.
1877
1927
  * These are either handled by the build or are internal.
1878
1928
  */
1879
- static EXCLUDED_SECRET_KEYS = new Set(["NODE_ENV"]);
1929
+ static EXCLUDED_SECRET_KEYS = /* @__PURE__ */ new Set(["NODE_ENV"]);
1880
1930
  async runShell(command, options = {}) {
1881
- const capture = options.capture;
1882
- const output = await this.shell.run(command, {
1883
- ...options,
1884
- capture: capture ?? this.runner.useDynamicLogger
1885
- });
1886
- if (capture && !this.runner.useDynamicLogger) this.log.info(output);
1931
+ const output = await this.shell.run(command, options);
1932
+ if (options.capture) this.log.info(output);
1887
1933
  return output;
1888
1934
  }
1889
1935
  async authenticate(ctx, run) {
1890
1936
  await run({
1891
1937
  name: "authenticate",
1892
1938
  handler: async () => {
1893
- await this.vercelCli.ensureInstalled(ctx.root, run);
1939
+ await this.vercelCli.ensureInstalled(ctx.root);
1894
1940
  let needsLogin = false;
1895
1941
  try {
1896
1942
  await this.vercelCli.getAuthToken();
@@ -1898,11 +1944,7 @@ var VercelAdapter = class VercelAdapter extends PlatformAdapter {
1898
1944
  } catch {
1899
1945
  needsLogin = true;
1900
1946
  }
1901
- if (needsLogin) {
1902
- run.pause();
1903
- await this.vercelCli.login();
1904
- run.resume();
1905
- }
1947
+ if (needsLogin) await this.vercelCli.login();
1906
1948
  if (await this.cache.isLoginFresh(ctx.root, "vercel")) return;
1907
1949
  await this.cache.recordLogin(ctx.root, "vercel");
1908
1950
  }
@@ -2453,7 +2495,7 @@ var PlatformOrchestrator = class {
2453
2495
  * secret names starting with GITHUB_.
2454
2496
  */
2455
2497
  var SecretFilterService = class SecretFilterService {
2456
- static EXCLUDED_KEYS = new Set(["NODE_ENV"]);
2498
+ static EXCLUDED_KEYS = /* @__PURE__ */ new Set(["NODE_ENV"]);
2457
2499
  static GITHUB_PREFIX = "GITHUB_";
2458
2500
  static REMOTE_PREFIX = "APP_GITHUB_";
2459
2501
  /**
@@ -2497,65 +2539,65 @@ var SecretFilterService = class SecretFilterService {
2497
2539
  var SecretStoreProvider = class {};
2498
2540
  //#endregion
2499
2541
  //#region ../../src/cli/platform-lib/schemas/platform.ts
2500
- const platformStatusWorkerSchema = t.object({
2501
- name: t.string(),
2502
- exists: t.boolean(),
2503
- id: t.optional(t.string()),
2504
- detail: t.optional(t.string()),
2505
- version: t.optional(t.string()),
2506
- tag: t.optional(t.string()),
2507
- createdAt: t.optional(t.string())
2542
+ const platformStatusWorkerSchema = z.object({
2543
+ name: z.string(),
2544
+ exists: z.boolean(),
2545
+ id: z.string().optional(),
2546
+ detail: z.string().optional(),
2547
+ version: z.string().optional(),
2548
+ tag: z.string().optional(),
2549
+ createdAt: z.string().optional()
2508
2550
  });
2509
- const platformStatusResourceSchema = t.object({
2510
- name: t.string(),
2511
- exists: t.boolean(),
2512
- id: t.optional(t.string()),
2513
- detail: t.optional(t.string())
2551
+ const platformStatusResourceSchema = z.object({
2552
+ name: z.string(),
2553
+ exists: z.boolean(),
2554
+ id: z.string().optional(),
2555
+ detail: z.string().optional()
2514
2556
  });
2515
- const platformStatusSecretSchema = t.object({
2516
- name: t.string(),
2517
- deployed: t.boolean()
2557
+ const platformStatusSecretSchema = z.object({
2558
+ name: z.string(),
2559
+ deployed: z.boolean()
2518
2560
  });
2519
- const platformStatusSchema = t.object({
2520
- project: t.string(),
2521
- env: t.string(),
2522
- adapter: t.string(),
2523
- workers: t.array(platformStatusWorkerSchema),
2524
- databases: t.array(platformStatusResourceSchema),
2525
- buckets: t.array(platformStatusResourceSchema),
2526
- kvNamespaces: t.array(platformStatusResourceSchema),
2527
- queues: t.array(platformStatusResourceSchema),
2528
- secrets: t.array(platformStatusSecretSchema)
2561
+ const platformStatusSchema = z.object({
2562
+ project: z.string(),
2563
+ env: z.string(),
2564
+ adapter: z.string(),
2565
+ workers: z.array(platformStatusWorkerSchema),
2566
+ databases: z.array(platformStatusResourceSchema),
2567
+ buckets: z.array(platformStatusResourceSchema),
2568
+ kvNamespaces: z.array(platformStatusResourceSchema),
2569
+ queues: z.array(platformStatusResourceSchema),
2570
+ secrets: z.array(platformStatusSecretSchema)
2529
2571
  });
2530
- const platformPlanAppResourcesSchema = t.object({
2531
- hasDatabase: t.boolean(),
2532
- hasBucket: t.boolean(),
2533
- hasKV: t.boolean(),
2534
- hasQueue: t.boolean(),
2535
- hasCron: t.boolean()
2572
+ const platformPlanAppResourcesSchema = z.object({
2573
+ hasDatabase: z.boolean(),
2574
+ hasBucket: z.boolean(),
2575
+ hasKV: z.boolean(),
2576
+ hasQueue: z.boolean(),
2577
+ hasCron: z.boolean()
2536
2578
  });
2537
- const platformPlanAppSchema = t.object({
2538
- name: t.string(),
2539
- path: t.string(),
2579
+ const platformPlanAppSchema = z.object({
2580
+ name: z.string(),
2581
+ path: z.string(),
2540
2582
  resources: platformPlanAppResourcesSchema
2541
2583
  });
2542
- const platformPlanEnvironmentSchema = t.object({
2543
- adapter: t.string(),
2544
- domain: t.optional(t.string()),
2545
- zone: t.optional(t.string())
2584
+ const platformPlanEnvironmentSchema = z.object({
2585
+ adapter: z.string(),
2586
+ domain: z.string().optional(),
2587
+ zone: z.string().optional()
2546
2588
  });
2547
- const platformPlanResourceSchema = t.object({
2548
- label: t.string(),
2549
- value: t.string()
2589
+ const platformPlanResourceSchema = z.object({
2590
+ label: z.string(),
2591
+ value: z.string()
2550
2592
  });
2551
- const platformPlanSchema = t.object({
2552
- project: t.string(),
2553
- env: t.string(),
2554
- mode: t.enum(["monorepo", "standalone"]),
2555
- apps: t.array(platformPlanAppSchema),
2556
- environments: t.record(t.string(), platformPlanEnvironmentSchema),
2557
- resources: t.array(platformPlanResourceSchema),
2558
- secretCount: t.number()
2593
+ const platformPlanSchema = z.object({
2594
+ project: z.string(),
2595
+ env: z.string(),
2596
+ mode: z.enum(["monorepo", "standalone"]),
2597
+ apps: z.array(platformPlanAppSchema),
2598
+ environments: z.record(z.string(), platformPlanEnvironmentSchema),
2599
+ resources: z.array(platformPlanResourceSchema),
2600
+ secretCount: z.number()
2559
2601
  });
2560
2602
  //#endregion
2561
2603
  //#region ../../src/cli/platform-lib/index.ts