alchemy 0.67.0 → 0.69.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 (803) hide show
  1. package/bin/alchemy.js +25580 -26264
  2. package/bin/alchemy.ts +6 -2
  3. package/bin/commands/configure.ts +194 -0
  4. package/bin/commands/login.ts +99 -55
  5. package/bin/commands/logout.ts +66 -0
  6. package/bin/trpc.ts +27 -2
  7. package/lib/apply.d.ts +2 -2
  8. package/lib/apply.d.ts.map +1 -1
  9. package/lib/apply.js +18 -15
  10. package/lib/apply.js.map +1 -1
  11. package/lib/auth.d.ts +72 -0
  12. package/lib/auth.d.ts.map +1 -0
  13. package/lib/auth.js +163 -0
  14. package/lib/auth.js.map +1 -0
  15. package/lib/aws/bucket.d.ts +12 -3
  16. package/lib/aws/bucket.d.ts.map +1 -1
  17. package/lib/aws/bucket.js +2 -2
  18. package/lib/aws/bucket.js.map +1 -1
  19. package/lib/aws/control/properties.d.ts +64 -0
  20. package/lib/aws/control/properties.d.ts.map +1 -1
  21. package/lib/aws/control/properties.js +554 -39
  22. package/lib/aws/control/properties.js.map +1 -1
  23. package/lib/aws/control/resource.d.ts +34 -3
  24. package/lib/aws/control/resource.d.ts.map +1 -1
  25. package/lib/aws/control/resource.js +36 -3
  26. package/lib/aws/control/resource.js.map +1 -1
  27. package/lib/aws/control/types.d.ts +5451 -1587
  28. package/lib/aws/control/types.d.ts.map +1 -1
  29. package/lib/aws/control/types.js.map +1 -1
  30. package/lib/aws/control/update-types.d.ts +12913 -0
  31. package/lib/aws/control/update-types.d.ts.map +1 -0
  32. package/lib/aws/control/update-types.js +12916 -0
  33. package/lib/aws/control/update-types.js.map +1 -0
  34. package/lib/aws/ec2/internet-gateway-attachment.d.ts +1 -2
  35. package/lib/aws/ec2/internet-gateway-attachment.d.ts.map +1 -1
  36. package/lib/aws/ec2/internet-gateway-attachment.js +4 -4
  37. package/lib/aws/ec2/internet-gateway-attachment.js.map +1 -1
  38. package/lib/aws/ec2/internet-gateway.d.ts +1 -2
  39. package/lib/aws/ec2/internet-gateway.d.ts.map +1 -1
  40. package/lib/aws/ec2/internet-gateway.js +2 -2
  41. package/lib/aws/ec2/internet-gateway.js.map +1 -1
  42. package/lib/aws/ec2/nat-gateway.d.ts +1 -2
  43. package/lib/aws/ec2/nat-gateway.d.ts.map +1 -1
  44. package/lib/aws/ec2/nat-gateway.js +2 -2
  45. package/lib/aws/ec2/nat-gateway.js.map +1 -1
  46. package/lib/aws/ec2/route-table-association.d.ts +1 -2
  47. package/lib/aws/ec2/route-table-association.d.ts.map +1 -1
  48. package/lib/aws/ec2/route-table-association.js +2 -2
  49. package/lib/aws/ec2/route-table-association.js.map +1 -1
  50. package/lib/aws/ec2/route-table.d.ts +1 -2
  51. package/lib/aws/ec2/route-table.d.ts.map +1 -1
  52. package/lib/aws/ec2/route-table.js +2 -2
  53. package/lib/aws/ec2/route-table.js.map +1 -1
  54. package/lib/aws/ec2/route.d.ts +1 -2
  55. package/lib/aws/ec2/route.d.ts.map +1 -1
  56. package/lib/aws/ec2/route.js +2 -2
  57. package/lib/aws/ec2/route.js.map +1 -1
  58. package/lib/aws/ec2/security-group-rule.d.ts +1 -2
  59. package/lib/aws/ec2/security-group-rule.d.ts.map +1 -1
  60. package/lib/aws/ec2/security-group-rule.js +2 -2
  61. package/lib/aws/ec2/security-group-rule.js.map +1 -1
  62. package/lib/aws/ec2/security-group.d.ts +1 -2
  63. package/lib/aws/ec2/security-group.d.ts.map +1 -1
  64. package/lib/aws/ec2/security-group.js +2 -2
  65. package/lib/aws/ec2/security-group.js.map +1 -1
  66. package/lib/aws/ec2/subnet.d.ts +1 -2
  67. package/lib/aws/ec2/subnet.d.ts.map +1 -1
  68. package/lib/aws/ec2/subnet.js +2 -2
  69. package/lib/aws/ec2/subnet.js.map +1 -1
  70. package/lib/aws/ec2/vpc.d.ts +1 -2
  71. package/lib/aws/ec2/vpc.d.ts.map +1 -1
  72. package/lib/aws/ec2/vpc.js +2 -2
  73. package/lib/aws/ec2/vpc.js.map +1 -1
  74. package/lib/aws/function.d.ts +116 -3
  75. package/lib/aws/function.d.ts.map +1 -1
  76. package/lib/aws/function.js +2 -2
  77. package/lib/aws/function.js.map +1 -1
  78. package/lib/aws/oidc/github-oidc-provider.d.ts +13 -2
  79. package/lib/aws/oidc/github-oidc-provider.d.ts.map +1 -1
  80. package/lib/aws/oidc/oidc-provider.d.ts +48 -3
  81. package/lib/aws/oidc/oidc-provider.d.ts.map +1 -1
  82. package/lib/aws/oidc/oidc-provider.js +2 -2
  83. package/lib/aws/oidc/oidc-provider.js.map +1 -1
  84. package/lib/aws/policy-attachment.d.ts +2 -3
  85. package/lib/aws/policy-attachment.d.ts.map +1 -1
  86. package/lib/aws/policy-attachment.js +1 -1
  87. package/lib/aws/policy-attachment.js.map +1 -1
  88. package/lib/aws/policy.d.ts +1 -2
  89. package/lib/aws/policy.d.ts.map +1 -1
  90. package/lib/aws/policy.js +4 -4
  91. package/lib/aws/policy.js.map +1 -1
  92. package/lib/aws/queue.d.ts +1 -2
  93. package/lib/aws/queue.d.ts.map +1 -1
  94. package/lib/aws/queue.js +4 -4
  95. package/lib/aws/queue.js.map +1 -1
  96. package/lib/aws/role.d.ts +1 -2
  97. package/lib/aws/role.d.ts.map +1 -1
  98. package/lib/aws/role.js +2 -2
  99. package/lib/aws/role.js.map +1 -1
  100. package/lib/aws/ses.d.ts +1 -2
  101. package/lib/aws/ses.d.ts.map +1 -1
  102. package/lib/aws/ses.js +2 -2
  103. package/lib/aws/ses.js.map +1 -1
  104. package/lib/aws/ssm-parameter.d.ts +1 -2
  105. package/lib/aws/ssm-parameter.d.ts.map +1 -1
  106. package/lib/aws/ssm-parameter.js +2 -2
  107. package/lib/aws/ssm-parameter.js.map +1 -1
  108. package/lib/aws/table.d.ts +1 -2
  109. package/lib/aws/table.d.ts.map +1 -1
  110. package/lib/aws/table.js +2 -2
  111. package/lib/aws/table.js.map +1 -1
  112. package/lib/cloudflare/account-api-token.d.ts +1 -2
  113. package/lib/cloudflare/account-api-token.d.ts.map +1 -1
  114. package/lib/cloudflare/account-api-token.js +2 -2
  115. package/lib/cloudflare/account-api-token.js.map +1 -1
  116. package/lib/cloudflare/ai-gateway.d.ts +1 -2
  117. package/lib/cloudflare/ai-gateway.d.ts.map +1 -1
  118. package/lib/cloudflare/ai-gateway.js +2 -2
  119. package/lib/cloudflare/ai-gateway.js.map +1 -1
  120. package/lib/cloudflare/api-gateway-operation.d.ts +1 -2
  121. package/lib/cloudflare/api-gateway-operation.d.ts.map +1 -1
  122. package/lib/cloudflare/api-gateway-operation.js +2 -2
  123. package/lib/cloudflare/api-gateway-operation.js.map +1 -1
  124. package/lib/cloudflare/api-schema.d.ts +1 -2
  125. package/lib/cloudflare/api-schema.d.ts.map +1 -1
  126. package/lib/cloudflare/api-schema.js +2 -2
  127. package/lib/cloudflare/api-schema.js.map +1 -1
  128. package/lib/cloudflare/api-shield.d.ts +1 -2
  129. package/lib/cloudflare/api-shield.d.ts.map +1 -1
  130. package/lib/cloudflare/api-shield.js +2 -2
  131. package/lib/cloudflare/api-shield.js.map +1 -1
  132. package/lib/cloudflare/api.d.ts +18 -10
  133. package/lib/cloudflare/api.d.ts.map +1 -1
  134. package/lib/cloudflare/api.js +92 -38
  135. package/lib/cloudflare/api.js.map +1 -1
  136. package/lib/cloudflare/assets.d.ts +21 -43
  137. package/lib/cloudflare/assets.d.ts.map +1 -1
  138. package/lib/cloudflare/assets.js +78 -70
  139. package/lib/cloudflare/assets.js.map +1 -1
  140. package/lib/cloudflare/astro/astro.d.ts.map +1 -1
  141. package/lib/cloudflare/astro/astro.js +3 -3
  142. package/lib/cloudflare/astro/astro.js.map +1 -1
  143. package/lib/cloudflare/auth.d.ts +91 -17
  144. package/lib/cloudflare/auth.d.ts.map +1 -1
  145. package/lib/cloudflare/auth.js +141 -62
  146. package/lib/cloudflare/auth.js.map +1 -1
  147. package/lib/cloudflare/bound.d.ts +1 -1
  148. package/lib/cloudflare/bound.d.ts.map +1 -1
  149. package/lib/cloudflare/bucket-object.d.ts +81 -0
  150. package/lib/cloudflare/bucket-object.d.ts.map +1 -0
  151. package/lib/cloudflare/bucket-object.js +67 -0
  152. package/lib/cloudflare/bucket-object.js.map +1 -0
  153. package/lib/cloudflare/bucket.d.ts +87 -8
  154. package/lib/cloudflare/bucket.d.ts.map +1 -1
  155. package/lib/cloudflare/bucket.js +246 -19
  156. package/lib/cloudflare/bucket.js.map +1 -1
  157. package/lib/cloudflare/bundle/plugin-wasm.js +4 -2
  158. package/lib/cloudflare/bundle/plugin-wasm.js.map +1 -1
  159. package/lib/cloudflare/certificate-pack.d.ts +1 -2
  160. package/lib/cloudflare/certificate-pack.d.ts.map +1 -1
  161. package/lib/cloudflare/certificate-pack.js +4 -4
  162. package/lib/cloudflare/certificate-pack.js.map +1 -1
  163. package/lib/cloudflare/compatibility-date.gen.d.ts +1 -1
  164. package/lib/cloudflare/compatibility-date.gen.js +1 -1
  165. package/lib/cloudflare/container.d.ts +1 -2
  166. package/lib/cloudflare/container.d.ts.map +1 -1
  167. package/lib/cloudflare/container.js +7 -7
  168. package/lib/cloudflare/container.js.map +1 -1
  169. package/lib/cloudflare/custom-domain.d.ts +1 -2
  170. package/lib/cloudflare/custom-domain.d.ts.map +1 -1
  171. package/lib/cloudflare/custom-domain.js +2 -2
  172. package/lib/cloudflare/custom-domain.js.map +1 -1
  173. package/lib/cloudflare/d1-database.d.ts +2 -3
  174. package/lib/cloudflare/d1-database.d.ts.map +1 -1
  175. package/lib/cloudflare/d1-database.js +5 -5
  176. package/lib/cloudflare/d1-database.js.map +1 -1
  177. package/lib/cloudflare/dispatch-namespace.d.ts +2 -3
  178. package/lib/cloudflare/dispatch-namespace.d.ts.map +1 -1
  179. package/lib/cloudflare/dispatch-namespace.js +3 -3
  180. package/lib/cloudflare/dispatch-namespace.js.map +1 -1
  181. package/lib/cloudflare/dns-records.d.ts +1 -2
  182. package/lib/cloudflare/dns-records.d.ts.map +1 -1
  183. package/lib/cloudflare/dns-records.js +4 -4
  184. package/lib/cloudflare/dns-records.js.map +1 -1
  185. package/lib/cloudflare/email-address.d.ts +1 -2
  186. package/lib/cloudflare/email-address.d.ts.map +1 -1
  187. package/lib/cloudflare/email-address.js +6 -6
  188. package/lib/cloudflare/email-address.js.map +1 -1
  189. package/lib/cloudflare/email-catch-all.d.ts +1 -2
  190. package/lib/cloudflare/email-catch-all.d.ts.map +1 -1
  191. package/lib/cloudflare/email-catch-all.js +4 -4
  192. package/lib/cloudflare/email-catch-all.js.map +1 -1
  193. package/lib/cloudflare/email-routing.d.ts +1 -2
  194. package/lib/cloudflare/email-routing.d.ts.map +1 -1
  195. package/lib/cloudflare/email-routing.js +4 -4
  196. package/lib/cloudflare/email-routing.js.map +1 -1
  197. package/lib/cloudflare/email-rule.d.ts +1 -2
  198. package/lib/cloudflare/email-rule.d.ts.map +1 -1
  199. package/lib/cloudflare/email-rule.js +4 -4
  200. package/lib/cloudflare/email-rule.js.map +1 -1
  201. package/lib/cloudflare/hyperdrive.d.ts +1 -2
  202. package/lib/cloudflare/hyperdrive.d.ts.map +1 -1
  203. package/lib/cloudflare/hyperdrive.js +4 -4
  204. package/lib/cloudflare/hyperdrive.js.map +1 -1
  205. package/lib/cloudflare/index.d.ts +1 -0
  206. package/lib/cloudflare/index.d.ts.map +1 -1
  207. package/lib/cloudflare/index.js +1 -0
  208. package/lib/cloudflare/index.js.map +1 -1
  209. package/lib/cloudflare/kv-namespace.d.ts +2 -3
  210. package/lib/cloudflare/kv-namespace.d.ts.map +1 -1
  211. package/lib/cloudflare/kv-namespace.js +5 -5
  212. package/lib/cloudflare/kv-namespace.js.map +1 -1
  213. package/lib/cloudflare/miniflare/delete.js +1 -1
  214. package/lib/cloudflare/miniflare/delete.js.map +1 -1
  215. package/lib/cloudflare/miniflare/miniflare-worker-proxy.d.ts.map +1 -1
  216. package/lib/cloudflare/miniflare/miniflare-worker-proxy.js +2 -7
  217. package/lib/cloudflare/miniflare/miniflare-worker-proxy.js.map +1 -1
  218. package/lib/cloudflare/miniflare/remote-binding-proxy.d.ts.map +1 -1
  219. package/lib/cloudflare/miniflare/remote-binding-proxy.js +15 -4
  220. package/lib/cloudflare/miniflare/remote-binding-proxy.js.map +1 -1
  221. package/lib/cloudflare/next.js.map +1 -1
  222. package/lib/cloudflare/nuxt/nuxt.d.ts.map +1 -1
  223. package/lib/cloudflare/nuxt/nuxt.js +3 -3
  224. package/lib/cloudflare/nuxt/nuxt.js.map +1 -1
  225. package/lib/cloudflare/permission-groups.d.ts +1 -2
  226. package/lib/cloudflare/permission-groups.d.ts.map +1 -1
  227. package/lib/cloudflare/permission-groups.js +1 -1
  228. package/lib/cloudflare/permission-groups.js.map +1 -1
  229. package/lib/cloudflare/pipeline.d.ts +2 -3
  230. package/lib/cloudflare/pipeline.d.ts.map +1 -1
  231. package/lib/cloudflare/pipeline.js +5 -5
  232. package/lib/cloudflare/pipeline.js.map +1 -1
  233. package/lib/cloudflare/queue-consumer.d.ts +1 -2
  234. package/lib/cloudflare/queue-consumer.d.ts.map +1 -1
  235. package/lib/cloudflare/queue-consumer.js +4 -4
  236. package/lib/cloudflare/queue-consumer.js.map +1 -1
  237. package/lib/cloudflare/queue.d.ts +1 -2
  238. package/lib/cloudflare/queue.d.ts.map +1 -1
  239. package/lib/cloudflare/queue.js +4 -4
  240. package/lib/cloudflare/queue.js.map +1 -1
  241. package/lib/cloudflare/react-router/plugin.d.ts.map +1 -1
  242. package/lib/cloudflare/react-router/plugin.js +13 -0
  243. package/lib/cloudflare/react-router/plugin.js.map +1 -1
  244. package/lib/cloudflare/redirect-rule.d.ts +1 -2
  245. package/lib/cloudflare/redirect-rule.d.ts.map +1 -1
  246. package/lib/cloudflare/redirect-rule.js +4 -4
  247. package/lib/cloudflare/redirect-rule.js.map +1 -1
  248. package/lib/cloudflare/route.d.ts +1 -2
  249. package/lib/cloudflare/route.d.ts.map +1 -1
  250. package/lib/cloudflare/route.js +4 -4
  251. package/lib/cloudflare/route.js.map +1 -1
  252. package/lib/cloudflare/ruleset.d.ts +1 -2
  253. package/lib/cloudflare/ruleset.d.ts.map +1 -1
  254. package/lib/cloudflare/ruleset.js +2 -2
  255. package/lib/cloudflare/ruleset.js.map +1 -1
  256. package/lib/cloudflare/secret.d.ts +2 -3
  257. package/lib/cloudflare/secret.d.ts.map +1 -1
  258. package/lib/cloudflare/secret.js +3 -3
  259. package/lib/cloudflare/secret.js.map +1 -1
  260. package/lib/cloudflare/secrets-store.d.ts +2 -3
  261. package/lib/cloudflare/secrets-store.d.ts.map +1 -1
  262. package/lib/cloudflare/secrets-store.js +3 -3
  263. package/lib/cloudflare/secrets-store.js.map +1 -1
  264. package/lib/cloudflare/tunnel.d.ts +2 -3
  265. package/lib/cloudflare/tunnel.d.ts.map +1 -1
  266. package/lib/cloudflare/tunnel.js +3 -3
  267. package/lib/cloudflare/tunnel.js.map +1 -1
  268. package/lib/cloudflare/user.d.ts +3 -2
  269. package/lib/cloudflare/user.d.ts.map +1 -1
  270. package/lib/cloudflare/user.js +7 -5
  271. package/lib/cloudflare/user.js.map +1 -1
  272. package/lib/cloudflare/vectorize-index.d.ts +2 -3
  273. package/lib/cloudflare/vectorize-index.d.ts.map +1 -1
  274. package/lib/cloudflare/vectorize-index.js +6 -6
  275. package/lib/cloudflare/vectorize-index.js.map +1 -1
  276. package/lib/cloudflare/vectorize-metadata-index.d.ts +2 -3
  277. package/lib/cloudflare/vectorize-metadata-index.d.ts.map +1 -1
  278. package/lib/cloudflare/vectorize-metadata-index.js +4 -4
  279. package/lib/cloudflare/vectorize-metadata-index.js.map +1 -1
  280. package/lib/cloudflare/vite/vite.d.ts.map +1 -1
  281. package/lib/cloudflare/vite/vite.js +3 -3
  282. package/lib/cloudflare/vite/vite.js.map +1 -1
  283. package/lib/cloudflare/website.d.ts +7 -1
  284. package/lib/cloudflare/website.d.ts.map +1 -1
  285. package/lib/cloudflare/website.js +20 -2
  286. package/lib/cloudflare/website.js.map +1 -1
  287. package/lib/cloudflare/worker-assets.d.ts +1 -29
  288. package/lib/cloudflare/worker-assets.d.ts.map +1 -1
  289. package/lib/cloudflare/worker-assets.js +9 -42
  290. package/lib/cloudflare/worker-assets.js.map +1 -1
  291. package/lib/cloudflare/worker-stub.d.ts +2 -3
  292. package/lib/cloudflare/worker-stub.d.ts.map +1 -1
  293. package/lib/cloudflare/worker-stub.js +3 -3
  294. package/lib/cloudflare/worker-stub.js.map +1 -1
  295. package/lib/cloudflare/worker-subdomain.d.ts +4 -3
  296. package/lib/cloudflare/worker-subdomain.d.ts.map +1 -1
  297. package/lib/cloudflare/worker-subdomain.js +5 -5
  298. package/lib/cloudflare/worker-subdomain.js.map +1 -1
  299. package/lib/cloudflare/worker.d.ts +3 -4
  300. package/lib/cloudflare/worker.d.ts.map +1 -1
  301. package/lib/cloudflare/worker.js +6 -5
  302. package/lib/cloudflare/worker.js.map +1 -1
  303. package/lib/cloudflare/wrangler.json.d.ts +27 -8
  304. package/lib/cloudflare/wrangler.json.d.ts.map +1 -1
  305. package/lib/cloudflare/wrangler.json.js +3 -1
  306. package/lib/cloudflare/wrangler.json.js.map +1 -1
  307. package/lib/cloudflare/zone.d.ts +1 -2
  308. package/lib/cloudflare/zone.d.ts.map +1 -1
  309. package/lib/cloudflare/zone.js +2 -2
  310. package/lib/cloudflare/zone.js.map +1 -1
  311. package/lib/context.d.ts +8 -8
  312. package/lib/context.d.ts.map +1 -1
  313. package/lib/context.js.map +1 -1
  314. package/lib/destroy.d.ts +1 -1
  315. package/lib/destroy.d.ts.map +1 -1
  316. package/lib/destroy.js.map +1 -1
  317. package/lib/dns/import-dns.d.ts +1 -2
  318. package/lib/dns/import-dns.d.ts.map +1 -1
  319. package/lib/dns/import-dns.js +2 -2
  320. package/lib/dns/import-dns.js.map +1 -1
  321. package/lib/docker/container.d.ts +1 -2
  322. package/lib/docker/container.d.ts.map +1 -1
  323. package/lib/docker/container.js +2 -3
  324. package/lib/docker/container.js.map +1 -1
  325. package/lib/docker/image.d.ts +1 -2
  326. package/lib/docker/image.d.ts.map +1 -1
  327. package/lib/docker/image.js +9 -9
  328. package/lib/docker/image.js.map +1 -1
  329. package/lib/docker/network.d.ts +1 -2
  330. package/lib/docker/network.d.ts.map +1 -1
  331. package/lib/docker/network.js +2 -3
  332. package/lib/docker/network.js.map +1 -1
  333. package/lib/docker/remote-image.d.ts +1 -2
  334. package/lib/docker/remote-image.d.ts.map +1 -1
  335. package/lib/docker/remote-image.js +2 -3
  336. package/lib/docker/remote-image.js.map +1 -1
  337. package/lib/docker/volume.d.ts +1 -2
  338. package/lib/docker/volume.d.ts.map +1 -1
  339. package/lib/docker/volume.js +2 -3
  340. package/lib/docker/volume.js.map +1 -1
  341. package/lib/esbuild/bundle.d.ts +1 -2
  342. package/lib/esbuild/bundle.d.ts.map +1 -1
  343. package/lib/esbuild/bundle.js +4 -4
  344. package/lib/esbuild/bundle.js.map +1 -1
  345. package/lib/fs/copy-file.d.ts +1 -2
  346. package/lib/fs/copy-file.d.ts.map +1 -1
  347. package/lib/fs/copy-file.js +2 -2
  348. package/lib/fs/copy-file.js.map +1 -1
  349. package/lib/fs/file.d.ts +1 -2
  350. package/lib/fs/file.d.ts.map +1 -1
  351. package/lib/fs/file.js +2 -2
  352. package/lib/fs/file.js.map +1 -1
  353. package/lib/fs/folder.d.ts +1 -2
  354. package/lib/fs/folder.d.ts.map +1 -1
  355. package/lib/fs/folder.js +2 -2
  356. package/lib/fs/folder.js.map +1 -1
  357. package/lib/github/comment.d.ts +1 -2
  358. package/lib/github/comment.d.ts.map +1 -1
  359. package/lib/github/comment.js +4 -4
  360. package/lib/github/comment.js.map +1 -1
  361. package/lib/github/repository-environment.d.ts +1 -2
  362. package/lib/github/repository-environment.d.ts.map +1 -1
  363. package/lib/github/repository-environment.js +2 -2
  364. package/lib/github/repository-environment.js.map +1 -1
  365. package/lib/github/repository-webhook.d.ts +1 -2
  366. package/lib/github/repository-webhook.d.ts.map +1 -1
  367. package/lib/github/repository-webhook.js +2 -2
  368. package/lib/github/repository-webhook.js.map +1 -1
  369. package/lib/github/secret.d.ts +1 -2
  370. package/lib/github/secret.d.ts.map +1 -1
  371. package/lib/github/secret.js +2 -2
  372. package/lib/github/secret.js.map +1 -1
  373. package/lib/llms.cloudflare.txt +2 -2
  374. package/lib/neon/api/client.gen.d.ts +13 -0
  375. package/lib/neon/api/client.gen.d.ts.map +1 -0
  376. package/lib/neon/api/client.gen.js +7 -0
  377. package/lib/neon/api/client.gen.js.map +1 -0
  378. package/lib/neon/api/sdk.gen.d.ts +880 -0
  379. package/lib/neon/api/sdk.gen.d.ts.map +1 -0
  380. package/lib/neon/api/sdk.gen.js +1527 -0
  381. package/lib/neon/api/sdk.gen.js.map +1 -0
  382. package/lib/neon/api/types.gen.d.ts +7250 -0
  383. package/lib/neon/api/types.gen.d.ts.map +1 -0
  384. package/lib/neon/api/types.gen.js +2 -0
  385. package/lib/neon/api/types.gen.js.map +1 -0
  386. package/lib/neon/api.d.ts +14 -49
  387. package/lib/neon/api.d.ts.map +1 -1
  388. package/lib/neon/api.js +36 -114
  389. package/lib/neon/api.js.map +1 -1
  390. package/lib/neon/branch.d.ts +157 -0
  391. package/lib/neon/branch.d.ts.map +1 -0
  392. package/lib/neon/branch.js +112 -0
  393. package/lib/neon/branch.js.map +1 -0
  394. package/lib/neon/index.d.ts +1 -1
  395. package/lib/neon/index.d.ts.map +1 -1
  396. package/lib/neon/index.js +1 -1
  397. package/lib/neon/index.js.map +1 -1
  398. package/lib/neon/project.d.ts +49 -243
  399. package/lib/neon/project.d.ts.map +1 -1
  400. package/lib/neon/project.js +90 -269
  401. package/lib/neon/project.js.map +1 -1
  402. package/lib/neon/utils.d.ts +49 -0
  403. package/lib/neon/utils.d.ts.map +1 -0
  404. package/lib/neon/utils.js +44 -0
  405. package/lib/neon/utils.js.map +1 -0
  406. package/lib/os/exec.d.ts +1 -2
  407. package/lib/os/exec.d.ts.map +1 -1
  408. package/lib/os/exec.js +2 -2
  409. package/lib/os/exec.js.map +1 -1
  410. package/lib/planetscale/api/client.gen.d.ts +12 -1749
  411. package/lib/planetscale/api/client.gen.d.ts.map +1 -1
  412. package/lib/planetscale/api/client.gen.js +6 -2400
  413. package/lib/planetscale/api/client.gen.js.map +1 -1
  414. package/lib/planetscale/api/sdk.gen.d.ts +1582 -0
  415. package/lib/planetscale/api/sdk.gen.d.ts.map +1 -0
  416. package/lib/planetscale/api/sdk.gen.js +2219 -0
  417. package/lib/planetscale/api/sdk.gen.js.map +1 -0
  418. package/lib/planetscale/api/types.gen.d.ts +594 -449
  419. package/lib/planetscale/api/types.gen.d.ts.map +1 -1
  420. package/lib/planetscale/api.d.ts +43 -0
  421. package/lib/planetscale/api.d.ts.map +1 -0
  422. package/lib/planetscale/api.js +53 -0
  423. package/lib/planetscale/api.js.map +1 -0
  424. package/lib/planetscale/branch.d.ts +2 -3
  425. package/lib/planetscale/branch.d.ts.map +1 -1
  426. package/lib/planetscale/branch.js +17 -15
  427. package/lib/planetscale/branch.js.map +1 -1
  428. package/lib/planetscale/database.d.ts +2 -3
  429. package/lib/planetscale/database.d.ts.map +1 -1
  430. package/lib/planetscale/database.js +34 -34
  431. package/lib/planetscale/database.js.map +1 -1
  432. package/lib/planetscale/index.d.ts +1 -1
  433. package/lib/planetscale/index.d.ts.map +1 -1
  434. package/lib/planetscale/index.js +1 -1
  435. package/lib/planetscale/index.js.map +1 -1
  436. package/lib/planetscale/password.d.ts +2 -3
  437. package/lib/planetscale/password.d.ts.map +1 -1
  438. package/lib/planetscale/password.js +11 -11
  439. package/lib/planetscale/password.js.map +1 -1
  440. package/lib/planetscale/role.d.ts +2 -3
  441. package/lib/planetscale/role.d.ts.map +1 -1
  442. package/lib/planetscale/role.js +18 -18
  443. package/lib/planetscale/role.js.map +1 -1
  444. package/lib/planetscale/utils.d.ts +1 -1
  445. package/lib/planetscale/utils.d.ts.map +1 -1
  446. package/lib/planetscale/utils.js +17 -33
  447. package/lib/planetscale/utils.js.map +1 -1
  448. package/lib/random/random-string.d.ts +1 -2
  449. package/lib/random/random-string.d.ts.map +1 -1
  450. package/lib/random/random-string.js +3 -3
  451. package/lib/random/random-string.js.map +1 -1
  452. package/lib/resource.d.ts +4 -1
  453. package/lib/resource.d.ts.map +1 -1
  454. package/lib/resource.js.map +1 -1
  455. package/lib/sentry/client-key.d.ts +1 -2
  456. package/lib/sentry/client-key.d.ts.map +1 -1
  457. package/lib/sentry/client-key.js +2 -2
  458. package/lib/sentry/client-key.js.map +1 -1
  459. package/lib/sentry/project.d.ts +1 -2
  460. package/lib/sentry/project.d.ts.map +1 -1
  461. package/lib/sentry/project.js +2 -2
  462. package/lib/sentry/project.js.map +1 -1
  463. package/lib/sentry/team.d.ts +1 -2
  464. package/lib/sentry/team.d.ts.map +1 -1
  465. package/lib/sentry/team.js +2 -2
  466. package/lib/sentry/team.js.map +1 -1
  467. package/lib/serde.d.ts +3 -0
  468. package/lib/serde.d.ts.map +1 -1
  469. package/lib/serde.js +40 -0
  470. package/lib/serde.js.map +1 -1
  471. package/lib/state/r2-rest-state-store.d.ts +1 -0
  472. package/lib/state/r2-rest-state-store.d.ts.map +1 -1
  473. package/lib/state/r2-rest-state-store.js +15 -34
  474. package/lib/state/r2-rest-state-store.js.map +1 -1
  475. package/lib/stripe/card.d.ts +1 -2
  476. package/lib/stripe/card.d.ts.map +1 -1
  477. package/lib/stripe/card.js +2 -2
  478. package/lib/stripe/card.js.map +1 -1
  479. package/lib/stripe/coupon.d.ts +1 -2
  480. package/lib/stripe/coupon.d.ts.map +1 -1
  481. package/lib/stripe/coupon.js +2 -2
  482. package/lib/stripe/coupon.js.map +1 -1
  483. package/lib/stripe/customer.d.ts +1 -2
  484. package/lib/stripe/customer.d.ts.map +1 -1
  485. package/lib/stripe/customer.js +2 -2
  486. package/lib/stripe/customer.js.map +1 -1
  487. package/lib/stripe/entitlements-feature.d.ts +1 -2
  488. package/lib/stripe/entitlements-feature.d.ts.map +1 -1
  489. package/lib/stripe/entitlements-feature.js +2 -2
  490. package/lib/stripe/entitlements-feature.js.map +1 -1
  491. package/lib/stripe/file.d.ts +1 -2
  492. package/lib/stripe/file.d.ts.map +1 -1
  493. package/lib/stripe/file.js +2 -2
  494. package/lib/stripe/file.js.map +1 -1
  495. package/lib/stripe/meter.d.ts +1 -2
  496. package/lib/stripe/meter.d.ts.map +1 -1
  497. package/lib/stripe/meter.js +1 -1
  498. package/lib/stripe/meter.js.map +1 -1
  499. package/lib/stripe/portal-configuration.d.ts +1 -2
  500. package/lib/stripe/portal-configuration.d.ts.map +1 -1
  501. package/lib/stripe/portal-configuration.js +2 -2
  502. package/lib/stripe/portal-configuration.js.map +1 -1
  503. package/lib/stripe/price.d.ts +1 -2
  504. package/lib/stripe/price.d.ts.map +1 -1
  505. package/lib/stripe/price.js +2 -2
  506. package/lib/stripe/price.js.map +1 -1
  507. package/lib/stripe/product-feature.d.ts +1 -2
  508. package/lib/stripe/product-feature.d.ts.map +1 -1
  509. package/lib/stripe/product-feature.js +2 -2
  510. package/lib/stripe/product-feature.js.map +1 -1
  511. package/lib/stripe/product.d.ts +1 -2
  512. package/lib/stripe/product.d.ts.map +1 -1
  513. package/lib/stripe/product.js +2 -2
  514. package/lib/stripe/product.js.map +1 -1
  515. package/lib/stripe/promotion-code.d.ts +1 -2
  516. package/lib/stripe/promotion-code.d.ts.map +1 -1
  517. package/lib/stripe/promotion-code.js +2 -2
  518. package/lib/stripe/promotion-code.js.map +1 -1
  519. package/lib/stripe/shipping-rate.d.ts +1 -2
  520. package/lib/stripe/shipping-rate.d.ts.map +1 -1
  521. package/lib/stripe/shipping-rate.js +2 -2
  522. package/lib/stripe/shipping-rate.js.map +1 -1
  523. package/lib/stripe/tax-rate.d.ts +1 -2
  524. package/lib/stripe/tax-rate.d.ts.map +1 -1
  525. package/lib/stripe/tax-rate.js +2 -2
  526. package/lib/stripe/tax-rate.js.map +1 -1
  527. package/lib/stripe/webhook.d.ts +16 -3
  528. package/lib/stripe/webhook.d.ts.map +1 -1
  529. package/lib/stripe/webhook.js +2 -2
  530. package/lib/stripe/webhook.js.map +1 -1
  531. package/lib/test/bun.d.ts.map +1 -1
  532. package/lib/test/bun.js +1 -0
  533. package/lib/test/bun.js.map +1 -1
  534. package/lib/test/options.d.ts +5 -0
  535. package/lib/test/options.d.ts.map +1 -1
  536. package/lib/test/vitest.d.ts.map +1 -1
  537. package/lib/test/vitest.js +1 -0
  538. package/lib/test/vitest.js.map +1 -1
  539. package/lib/upstash/redis.d.ts +1 -2
  540. package/lib/upstash/redis.d.ts.map +1 -1
  541. package/lib/upstash/redis.js.map +1 -1
  542. package/lib/util/api/client/client.gen.d.ts +3 -0
  543. package/lib/util/api/client/client.gen.d.ts.map +1 -0
  544. package/lib/util/api/client/client.gen.js +205 -0
  545. package/lib/util/api/client/client.gen.js.map +1 -0
  546. package/lib/util/api/client/index.d.ts +8 -0
  547. package/lib/util/api/client/index.d.ts.map +1 -0
  548. package/lib/util/api/client/index.js +6 -0
  549. package/lib/util/api/client/index.js.map +1 -0
  550. package/lib/util/api/client/types.gen.d.ts +125 -0
  551. package/lib/util/api/client/types.gen.d.ts.map +1 -0
  552. package/lib/util/api/client/types.gen.js +2 -0
  553. package/lib/util/api/client/types.gen.js.map +1 -0
  554. package/lib/util/api/client/utils.gen.d.ts +34 -0
  555. package/lib/util/api/client/utils.gen.d.ts.map +1 -0
  556. package/lib/util/api/client/utils.gen.js +231 -0
  557. package/lib/util/api/client/utils.gen.js.map +1 -0
  558. package/lib/util/api/core/auth.gen.d.ts +19 -0
  559. package/lib/util/api/core/auth.gen.d.ts.map +1 -0
  560. package/lib/util/api/core/auth.gen.js +15 -0
  561. package/lib/util/api/core/auth.gen.js.map +1 -0
  562. package/lib/util/api/core/bodySerializer.gen.d.ts +18 -0
  563. package/lib/util/api/core/bodySerializer.gen.d.ts.map +1 -0
  564. package/lib/util/api/core/bodySerializer.gen.js +58 -0
  565. package/lib/util/api/core/bodySerializer.gen.js.map +1 -0
  566. package/lib/util/api/core/params.gen.d.ts +34 -0
  567. package/lib/util/api/core/params.gen.d.ts.map +1 -0
  568. package/lib/util/api/core/params.gen.js +89 -0
  569. package/lib/util/api/core/params.gen.js.map +1 -0
  570. package/lib/util/api/core/pathSerializer.gen.d.ts +34 -0
  571. package/lib/util/api/core/pathSerializer.gen.d.ts.map +1 -0
  572. package/lib/util/api/core/pathSerializer.gen.js +115 -0
  573. package/lib/util/api/core/pathSerializer.gen.js.map +1 -0
  574. package/lib/util/api/core/serverSentEvents.gen.d.ts +72 -0
  575. package/lib/util/api/core/serverSentEvents.gen.d.ts.map +1 -0
  576. package/lib/util/api/core/serverSentEvents.gen.js +136 -0
  577. package/lib/util/api/core/serverSentEvents.gen.js.map +1 -0
  578. package/lib/util/api/core/types.gen.d.ts +79 -0
  579. package/lib/util/api/core/types.gen.d.ts.map +1 -0
  580. package/lib/util/api/core/types.gen.js +2 -0
  581. package/lib/util/api/core/types.gen.js.map +1 -0
  582. package/lib/util/api/core/utils.gen.d.ts +20 -0
  583. package/lib/util/api/core/utils.gen.d.ts.map +1 -0
  584. package/lib/util/api/core/utils.gen.js +88 -0
  585. package/lib/util/api/core/utils.gen.js.map +1 -0
  586. package/lib/util/http.d.ts +7 -2
  587. package/lib/util/http.d.ts.map +1 -1
  588. package/lib/util/http.js +29 -11
  589. package/lib/util/http.js.map +1 -1
  590. package/lib/util/lock.d.ts +20 -0
  591. package/lib/util/lock.d.ts.map +1 -0
  592. package/lib/util/lock.js +45 -0
  593. package/lib/util/lock.js.map +1 -0
  594. package/lib/util/memoize.d.ts +6 -0
  595. package/lib/util/memoize.d.ts.map +1 -1
  596. package/lib/util/memoize.js +23 -0
  597. package/lib/util/memoize.js.map +1 -1
  598. package/lib/util/oauth-client.d.ts +71 -0
  599. package/lib/util/oauth-client.d.ts.map +1 -0
  600. package/lib/util/oauth-client.js +188 -0
  601. package/lib/util/oauth-client.js.map +1 -0
  602. package/lib/util/poll.d.ts +33 -0
  603. package/lib/util/poll.d.ts.map +1 -0
  604. package/lib/util/poll.js +19 -0
  605. package/lib/util/poll.js.map +1 -0
  606. package/lib/vercel/project-domain.d.ts +1 -2
  607. package/lib/vercel/project-domain.d.ts.map +1 -1
  608. package/lib/vercel/project-domain.js.map +1 -1
  609. package/lib/vercel/project.d.ts +1 -2
  610. package/lib/vercel/project.d.ts.map +1 -1
  611. package/lib/vercel/project.js +2 -2
  612. package/lib/vercel/project.js.map +1 -1
  613. package/package.json +5 -1
  614. package/src/apply.ts +32 -29
  615. package/src/auth.ts +253 -0
  616. package/src/aws/bucket.ts +3 -3
  617. package/src/aws/control/properties.ts +554 -39
  618. package/src/aws/control/resource.ts +62 -6
  619. package/src/aws/control/types.ts +85281 -84914
  620. package/src/aws/control/update-types.ts +12917 -0
  621. package/src/aws/ec2/internet-gateway-attachment.ts +5 -6
  622. package/src/aws/ec2/internet-gateway.ts +3 -5
  623. package/src/aws/ec2/nat-gateway.ts +3 -5
  624. package/src/aws/ec2/route-table-association.ts +3 -5
  625. package/src/aws/ec2/route-table.ts +3 -5
  626. package/src/aws/ec2/route.ts +3 -3
  627. package/src/aws/ec2/security-group-rule.ts +3 -5
  628. package/src/aws/ec2/security-group.ts +3 -5
  629. package/src/aws/ec2/subnet.ts +3 -3
  630. package/src/aws/ec2/vpc.ts +3 -3
  631. package/src/aws/function.ts +3 -3
  632. package/src/aws/oidc/oidc-provider.ts +3 -5
  633. package/src/aws/policy-attachment.ts +2 -4
  634. package/src/aws/policy.ts +5 -5
  635. package/src/aws/queue.ts +5 -5
  636. package/src/aws/role.ts +3 -3
  637. package/src/aws/ses.ts +3 -3
  638. package/src/aws/ssm-parameter.ts +3 -3
  639. package/src/aws/table.ts +3 -3
  640. package/src/cloudflare/account-api-token.ts +3 -4
  641. package/src/cloudflare/ai-gateway.ts +3 -5
  642. package/src/cloudflare/api-gateway-operation.ts +3 -4
  643. package/src/cloudflare/api-schema.ts +25 -26
  644. package/src/cloudflare/api-shield.ts +3 -4
  645. package/src/cloudflare/api.ts +121 -57
  646. package/src/cloudflare/assets.ts +95 -136
  647. package/src/cloudflare/astro/astro.ts +8 -3
  648. package/src/cloudflare/auth.ts +160 -95
  649. package/src/cloudflare/bound.ts +1 -1
  650. package/src/cloudflare/bucket-object.ts +117 -0
  651. package/src/cloudflare/bucket.ts +452 -55
  652. package/src/cloudflare/bundle/plugin-wasm.ts +5 -5
  653. package/src/cloudflare/certificate-pack.ts +5 -6
  654. package/src/cloudflare/compatibility-date.gen.ts +1 -1
  655. package/src/cloudflare/container.ts +9 -11
  656. package/src/cloudflare/custom-domain.ts +3 -5
  657. package/src/cloudflare/d1-database.ts +33 -34
  658. package/src/cloudflare/dispatch-namespace.ts +5 -6
  659. package/src/cloudflare/dns-records.ts +5 -5
  660. package/src/cloudflare/email-address.ts +7 -7
  661. package/src/cloudflare/email-catch-all.ts +6 -6
  662. package/src/cloudflare/email-routing.ts +5 -5
  663. package/src/cloudflare/email-rule.ts +5 -5
  664. package/src/cloudflare/hyperdrive.ts +35 -36
  665. package/src/cloudflare/index.ts +1 -0
  666. package/src/cloudflare/kv-namespace.ts +31 -32
  667. package/src/cloudflare/miniflare/delete.ts +1 -1
  668. package/src/cloudflare/miniflare/miniflare-worker-proxy.ts +2 -7
  669. package/src/cloudflare/miniflare/remote-binding-proxy.ts +16 -4
  670. package/src/cloudflare/next.ts +2 -2
  671. package/src/cloudflare/nuxt/nuxt.ts +8 -3
  672. package/src/cloudflare/permission-groups.ts +4 -6
  673. package/src/cloudflare/pipeline.ts +29 -30
  674. package/src/cloudflare/queue-consumer.ts +5 -7
  675. package/src/cloudflare/queue.ts +42 -43
  676. package/src/cloudflare/react-router/plugin.ts +20 -0
  677. package/src/cloudflare/redirect-rule.ts +5 -5
  678. package/src/cloudflare/route.ts +5 -5
  679. package/src/cloudflare/ruleset.ts +3 -4
  680. package/src/cloudflare/secret.ts +35 -36
  681. package/src/cloudflare/secrets-store.ts +5 -8
  682. package/src/cloudflare/tunnel.ts +5 -7
  683. package/src/cloudflare/user.ts +12 -9
  684. package/src/cloudflare/vectorize-index.ts +8 -12
  685. package/src/cloudflare/vectorize-metadata-index.ts +6 -8
  686. package/src/cloudflare/vite/vite.ts +8 -3
  687. package/src/cloudflare/website.ts +29 -3
  688. package/src/cloudflare/worker-assets.ts +10 -56
  689. package/src/cloudflare/worker-stub.ts +5 -5
  690. package/src/cloudflare/worker-subdomain.ts +6 -7
  691. package/src/cloudflare/worker.ts +91 -91
  692. package/src/cloudflare/wrangler.json.ts +32 -17
  693. package/src/cloudflare/zone.ts +3 -3
  694. package/src/context.ts +9 -7
  695. package/src/destroy.ts +2 -2
  696. package/src/dns/import-dns.ts +3 -5
  697. package/src/docker/container.ts +3 -6
  698. package/src/docker/image.ts +13 -13
  699. package/src/docker/network.ts +3 -4
  700. package/src/docker/remote-image.ts +3 -6
  701. package/src/docker/volume.ts +3 -4
  702. package/src/esbuild/bundle.ts +10 -8
  703. package/src/fs/copy-file.ts +3 -3
  704. package/src/fs/file.ts +3 -3
  705. package/src/fs/folder.ts +3 -3
  706. package/src/github/comment.ts +5 -7
  707. package/src/github/repository-environment.ts +3 -5
  708. package/src/github/repository-webhook.ts +3 -5
  709. package/src/github/secret.ts +3 -5
  710. package/src/llms.cloudflare.txt +2 -2
  711. package/src/neon/api/client.gen.ts +28 -0
  712. package/src/neon/api/sdk.gen.ts +2596 -0
  713. package/src/neon/api/types.gen.ts +8287 -0
  714. package/src/neon/api.ts +51 -147
  715. package/src/neon/branch.ts +279 -0
  716. package/src/neon/index.ts +1 -1
  717. package/src/neon/project.ts +136 -721
  718. package/src/neon/utils.ts +105 -0
  719. package/src/os/exec.ts +3 -3
  720. package/src/planetscale/api/client.gen.ts +28 -2882
  721. package/src/planetscale/api/sdk.gen.ts +3336 -0
  722. package/src/planetscale/api/types.gen.ts +778 -450
  723. package/src/planetscale/api.ts +101 -0
  724. package/src/planetscale/branch.ts +20 -19
  725. package/src/planetscale/database.ts +69 -70
  726. package/src/planetscale/index.ts +1 -1
  727. package/src/planetscale/password.ts +18 -22
  728. package/src/planetscale/role.ts +21 -21
  729. package/src/planetscale/utils.ts +20 -74
  730. package/src/random/random-string.ts +4 -4
  731. package/src/resource.ts +6 -2
  732. package/src/sentry/client-key.ts +3 -5
  733. package/src/sentry/project.ts +3 -5
  734. package/src/sentry/team.ts +3 -3
  735. package/src/serde.ts +50 -0
  736. package/src/state/r2-rest-state-store.ts +15 -57
  737. package/src/stripe/card.ts +3 -3
  738. package/src/stripe/coupon.ts +3 -3
  739. package/src/stripe/customer.ts +3 -3
  740. package/src/stripe/entitlements-feature.ts +3 -5
  741. package/src/stripe/file.ts +3 -3
  742. package/src/stripe/meter.ts +3 -3
  743. package/src/stripe/portal-configuration.ts +3 -5
  744. package/src/stripe/price.ts +3 -3
  745. package/src/stripe/product-feature.ts +3 -5
  746. package/src/stripe/product.ts +3 -3
  747. package/src/stripe/promotion-code.ts +3 -5
  748. package/src/stripe/shipping-rate.ts +3 -5
  749. package/src/stripe/tax-rate.ts +3 -3
  750. package/src/stripe/webhook.ts +3 -5
  751. package/src/test/bun.ts +2 -1
  752. package/src/test/options.ts +6 -0
  753. package/src/test/vitest.ts +1 -0
  754. package/src/upstash/redis.ts +1 -3
  755. package/src/util/api/client/client.gen.ts +268 -0
  756. package/src/util/api/client/index.ts +25 -0
  757. package/src/util/api/client/types.gen.ts +268 -0
  758. package/src/util/api/client/utils.gen.ts +331 -0
  759. package/src/util/api/core/auth.gen.ts +42 -0
  760. package/src/util/api/core/bodySerializer.gen.ts +92 -0
  761. package/src/util/api/core/params.gen.ts +153 -0
  762. package/src/util/api/core/pathSerializer.gen.ts +181 -0
  763. package/src/util/api/core/serverSentEvents.gen.ts +264 -0
  764. package/src/util/api/core/types.gen.ts +118 -0
  765. package/src/util/api/core/utils.gen.ts +143 -0
  766. package/src/util/http.ts +38 -11
  767. package/src/util/lock.ts +48 -0
  768. package/src/util/memoize.ts +26 -0
  769. package/src/util/oauth-client.ts +238 -0
  770. package/src/util/poll.ts +55 -0
  771. package/src/vercel/project-domain.ts +1 -3
  772. package/src/vercel/project.ts +3 -3
  773. package/templates/rwsdk/.cursor/rules/alchemy_cloudflare.mdc +2 -2
  774. package/workers/cloudflare-state-store.js +8 -5619
  775. package/workers/dofs-state-store.js +2 -802
  776. package/workers/remote-binding-proxy.js +3 -39
  777. package/workers/remote-binding-proxy.ts +126 -35
  778. package/workers/tunnel-proxy.js +6 -73
  779. package/lib/cloudflare/asset-manifest.d.ts +0 -15
  780. package/lib/cloudflare/asset-manifest.d.ts.map +0 -1
  781. package/lib/cloudflare/asset-manifest.js +0 -1
  782. package/lib/cloudflare/asset-manifest.js.map +0 -1
  783. package/lib/cloudflare/oauth.d.ts +0 -22
  784. package/lib/cloudflare/oauth.d.ts.map +0 -1
  785. package/lib/cloudflare/oauth.js +0 -214
  786. package/lib/cloudflare/oauth.js.map +0 -1
  787. package/lib/neon/api-error.d.ts +0 -31
  788. package/lib/neon/api-error.d.ts.map +0 -1
  789. package/lib/neon/api-error.js +0 -73
  790. package/lib/neon/api-error.js.map +0 -1
  791. package/lib/planetscale/api/index.d.ts +0 -3
  792. package/lib/planetscale/api/index.d.ts.map +0 -1
  793. package/lib/planetscale/api/index.js +0 -4
  794. package/lib/planetscale/api/index.js.map +0 -1
  795. package/lib/util/neverthrow.d.ts +0 -16
  796. package/lib/util/neverthrow.d.ts.map +0 -1
  797. package/lib/util/neverthrow.js +0 -46
  798. package/lib/util/neverthrow.js.map +0 -1
  799. package/src/cloudflare/asset-manifest.ts +0 -16
  800. package/src/cloudflare/oauth.ts +0 -301
  801. package/src/neon/api-error.ts +0 -81
  802. package/src/planetscale/api/index.ts +0 -4
  803. package/src/util/neverthrow.ts +0 -64
@@ -48,33 +48,32 @@ export interface APISchemaProps<S extends OpenAPIV3.Document>
48
48
  /**
49
49
  * APISchema resource attributes.
50
50
  */
51
- export type APISchema<S extends OpenAPIV3.Document = OpenAPIV3.Document> =
52
- Resource<"cloudflare::APISchema"> & {
53
- /**
54
- * Schema ID
55
- */
56
- id: string;
57
-
58
- /**
59
- * Name for the schema
60
- */
61
- name: string;
51
+ export type APISchema<S extends OpenAPIV3.Document = OpenAPIV3.Document> = {
52
+ /**
53
+ * Schema ID
54
+ */
55
+ id: string;
56
+
57
+ /**
58
+ * Name for the schema
59
+ */
60
+ name: string;
62
61
 
63
- /**
64
- * The API Schema
65
- */
66
- schema: S;
62
+ /**
63
+ * The API Schema
64
+ */
65
+ schema: S;
67
66
 
68
- /**
69
- * Source of the schema
70
- */
71
- source: string;
67
+ /**
68
+ * Source of the schema
69
+ */
70
+ source: string;
72
71
 
73
- /**
74
- * Whether validation is enabled
75
- */
76
- enabled: boolean;
77
- };
72
+ /**
73
+ * Whether validation is enabled
74
+ */
75
+ enabled: boolean;
76
+ };
78
77
 
79
78
  /**
80
79
  * Cloudflare API Gateway Schema manages OpenAPI v3 schemas for API validation.
@@ -191,13 +190,13 @@ export const APISchema = Resource("cloudflare::APISchema", async function <
191
190
  });
192
191
  }
193
192
 
194
- return this({
193
+ return {
195
194
  id: schemaDetails.id,
196
195
  name: schemaDetails.name,
197
196
  schema: parsedSchema as any,
198
197
  source: schemaDetails.source,
199
198
  enabled: schemaDetails.validationEnabled,
200
- });
199
+ };
201
200
  });
202
201
 
203
202
  // API helper functions
@@ -163,8 +163,7 @@ export interface ValidationSettings {
163
163
  /**
164
164
  * Schema Validation output
165
165
  */
166
- export interface APIShield<S extends OpenAPIV3.Document = OpenAPIV3.Document>
167
- extends Resource<"cloudflare::APIShield"> {
166
+ export interface APIShield<S extends OpenAPIV3.Document = OpenAPIV3.Document> {
168
167
  /**
169
168
  * Name of the API Shield.
170
169
  */
@@ -440,7 +439,7 @@ const _APIShield = Resource(
440
439
  email: props.email,
441
440
  });
442
441
 
443
- return this({
442
+ return {
444
443
  zoneId,
445
444
  schema,
446
445
  name: schemaName,
@@ -475,7 +474,7 @@ const _APIShield = Resource(
475
474
  );
476
475
  }),
477
476
  ),
478
- });
477
+ };
479
478
  },
480
479
  );
481
480
 
@@ -1,12 +1,11 @@
1
+ import { Provider, type Credentials } from "../auth.ts";
1
2
  import type { Secret } from "../secret.ts";
3
+ import { isBinary } from "../serde.ts";
4
+ import { memoize } from "../util/memoize.ts";
2
5
  import { withExponentialBackoff } from "../util/retry.ts";
3
6
  import { safeFetch } from "../util/safe-fetch.ts";
4
- import {
5
- getCloudflareAuthHeaders,
6
- normalizeAuthOptions,
7
- type CloudflareAuthOptions,
8
- } from "./auth.ts";
9
- import { getCloudflareAccountId } from "./user.ts";
7
+ import { CloudflareAuth } from "./auth.ts";
8
+ import { getCloudflareAccountId, getUserEmailFromApiKey } from "./user.ts";
10
9
 
11
10
  /**
12
11
  * Options for Cloudflare API requests
@@ -19,6 +18,17 @@ export interface CloudflareApiOptions {
19
18
  */
20
19
  baseUrl?: string;
21
20
 
21
+ /**
22
+ * The Alchemy profile to use for Cloudflare credentials. Defaults to:
23
+ * - `process.env.CLOUDFLARE_PROFILE`
24
+ * - `process.env.ALCHEMY_PROFILE`
25
+ * - `"default"`
26
+ *
27
+ * If an API key or token is provided in these options or in the environment,
28
+ * the profile will be ignored.
29
+ */
30
+ profile?: string;
31
+
22
32
  /**
23
33
  * API Key to use (overrides CLOUDFLARE_API_KEY env var)
24
34
  */
@@ -42,56 +52,96 @@ export interface CloudflareApiOptions {
42
52
  email?: string;
43
53
  }
44
54
 
45
- /** Used to propagate normalized auth options from a parent resource to `createCloudflareApi` in a child resource */
46
- export type InternalCloudflareApiOptions = CloudflareAuthOptions & {
47
- baseUrl?: string;
48
- accountId: string;
49
- };
50
-
51
- function computeCacheKey(options: CloudflareApiOptions): string {
52
- return `${options.baseUrl}|${options.accountId}|${options.apiKey?.unencrypted}|${options.apiToken?.unencrypted}|${options.email}`;
53
- }
54
-
55
- const cloudflareApiCache: Record<string, CloudflareApi> = {};
56
-
57
55
  /**
58
56
  * Creates a CloudflareApi instance with automatic account ID discovery if not provided
59
57
  *
60
58
  * @param options API options
61
59
  * @returns Promise resolving to a CloudflareApi instance
62
60
  */
63
- export async function createCloudflareApi(
64
- options: Partial<CloudflareApiOptions> | InternalCloudflareApiOptions = {},
65
- ): Promise<CloudflareApi> {
66
- // TODO: Implement scope-level credential resolution similar to AWS
67
- // This function should check for scope.providerCredentials.cloudflare
68
- // and merge those credentials with the provided options, following
69
- // the same three-tier resolution pattern: global → scope → resource
70
- const cacheKey = computeCacheKey(options);
71
- if (cloudflareApiCache[cacheKey]) {
72
- return cloudflareApiCache[cacheKey];
73
- }
61
+ export const createCloudflareApi = memoize(
62
+ async (options: CloudflareApiOptions = {}) => {
63
+ const baseUrl = options.baseUrl ?? process.env.CLOUDFLARE_BASE_URL;
64
+ const apiKey =
65
+ options.apiKey?.unencrypted ?? process.env.CLOUDFLARE_API_KEY;
66
+ const apiToken =
67
+ options.apiToken?.unencrypted ?? process.env.CLOUDFLARE_API_TOKEN;
68
+ const email = options.email ?? process.env.CLOUDFLARE_EMAIL;
69
+ const accountId =
70
+ options.accountId ??
71
+ process.env.CLOUDFLARE_ACCOUNT_ID ??
72
+ process.env.CF_ACCOUNT_ID;
74
73
 
75
- const authOptions = await normalizeAuthOptions(options);
76
- const accountId =
77
- options.accountId ??
78
- process.env.CLOUDFLARE_ACCOUNT_ID ??
79
- process.env.CF_ACCOUNT_ID ??
80
- (await getCloudflareAccountId(authOptions));
81
- return (cloudflareApiCache[cacheKey] = new CloudflareApi({
82
- baseUrl: options.baseUrl,
83
- accountId,
84
- authOptions,
85
- }));
86
- }
74
+ if (apiKey) {
75
+ const credentials: Credentials.ApiKey = {
76
+ type: "api-key",
77
+ apiKey,
78
+ email: email ?? (await getUserEmailFromApiKey(apiKey)),
79
+ };
80
+ return new CloudflareApi({
81
+ baseUrl: options.baseUrl,
82
+ credentials,
83
+ accountId: accountId ?? (await getCloudflareAccountId(credentials)),
84
+ });
85
+ }
86
+
87
+ if (apiToken) {
88
+ const credentials: Credentials.ApiToken = {
89
+ type: "api-token",
90
+ apiToken,
91
+ };
92
+ return new CloudflareApi({
93
+ baseUrl,
94
+ credentials,
95
+ accountId: accountId ?? (await getCloudflareAccountId(credentials)),
96
+ });
97
+ }
98
+
99
+ try {
100
+ const profile =
101
+ options.profile ??
102
+ process.env.CLOUDFLARE_PROFILE ??
103
+ process.env.ALCHEMY_PROFILE ??
104
+ "default";
105
+ const { provider, credentials } =
106
+ await Provider.getWithCredentials<CloudflareAuth.Metadata>({
107
+ provider: "cloudflare",
108
+ profile,
109
+ });
110
+ return new CloudflareApi({
111
+ baseUrl,
112
+ profile,
113
+ credentials,
114
+ accountId: provider.metadata.id,
115
+ });
116
+ } catch (error) {
117
+ throw new Error(
118
+ [
119
+ "No credentials found. Please run `alchemy login`, or set either CLOUDFLARE_API_TOKEN or CLOUDFLARE_API_KEY in your environment.",
120
+ "Learn more: https://alchemy.run/guides/cloudflare/",
121
+ ].join("\n"),
122
+ { cause: error },
123
+ );
124
+ }
125
+ },
126
+ (options = {}) =>
127
+ [
128
+ options.baseUrl,
129
+ options.profile,
130
+ options.apiKey?.unencrypted,
131
+ options.apiToken?.unencrypted,
132
+ options.accountId,
133
+ options.email,
134
+ ].join("|"),
135
+ );
87
136
 
88
137
  /**
89
138
  * Cloudflare API client using raw fetch
90
139
  */
91
140
  export class CloudflareApi {
92
- public readonly accountId: string;
93
141
  public readonly baseUrl: string;
94
- public readonly authOptions: CloudflareAuthOptions;
142
+ public readonly accountId: string;
143
+ public readonly credentials: Credentials;
144
+ public readonly profile: string | undefined;
95
145
 
96
146
  /**
97
147
  * Create a new Cloudflare API client
@@ -103,11 +153,13 @@ export class CloudflareApi {
103
153
  constructor(options: {
104
154
  baseUrl?: string;
105
155
  accountId: string;
106
- authOptions: CloudflareAuthOptions;
156
+ credentials: Credentials;
157
+ profile?: string;
107
158
  }) {
108
- this.accountId = options.accountId;
109
159
  this.baseUrl = options.baseUrl ?? "https://api.cloudflare.com/client/v4";
110
- this.authOptions = options.authOptions;
160
+ this.accountId = options.accountId;
161
+ this.credentials = options.credentials;
162
+ this.profile = options.profile;
111
163
  }
112
164
 
113
165
  /**
@@ -133,7 +185,10 @@ export class CloudflareApi {
133
185
  headers = init.headers;
134
186
  }
135
187
  headers = {
136
- ...(await getCloudflareAuthHeaders(this.authOptions)),
188
+ ...(await CloudflareAuth.formatHeadersWithRefresh({
189
+ profile: this.profile,
190
+ credentials: this.credentials,
191
+ })),
137
192
  ...headers,
138
193
  };
139
194
 
@@ -200,13 +255,11 @@ export class CloudflareApi {
200
255
  body: any,
201
256
  init: RequestInit = {},
202
257
  ): Promise<Response> {
203
- const requestBody =
204
- body instanceof FormData
205
- ? body
206
- : typeof body === "string"
207
- ? body
208
- : JSON.stringify(body);
209
- return this.fetch(path, { ...init, method: "POST", body: requestBody });
258
+ return this.fetch(path, {
259
+ ...init,
260
+ method: "POST",
261
+ body: await this.toBody(body),
262
+ });
210
263
  }
211
264
 
212
265
  /**
@@ -217,8 +270,19 @@ export class CloudflareApi {
217
270
  body: any,
218
271
  init: RequestInit = {},
219
272
  ): Promise<Response> {
220
- const requestBody = body instanceof FormData ? body : JSON.stringify(body);
221
- return this.fetch(path, { ...init, method: "PUT", body: requestBody });
273
+ return this.fetch(path, {
274
+ ...init,
275
+ method: "PUT",
276
+ body: await this.toBody(body),
277
+ });
278
+ }
279
+
280
+ async toBody(body: BodyInit): Promise<BodyInit> {
281
+ return body instanceof FormData ||
282
+ typeof body === "string" ||
283
+ isBinary(body)
284
+ ? body
285
+ : JSON.stringify(body);
222
286
  }
223
287
 
224
288
  /**
@@ -232,7 +296,7 @@ export class CloudflareApi {
232
296
  return this.fetch(path, {
233
297
  ...init,
234
298
  method: "PATCH",
235
- body: JSON.stringify(body),
299
+ body: await this.toBody(body),
236
300
  });
237
301
  }
238
302
 
@@ -1,9 +1,9 @@
1
- import * as fs from "node:fs/promises";
2
- import * as path from "pathe";
3
- import type { Context } from "../context.ts";
1
+ import crypto from "node:crypto";
2
+ import fs from "node:fs/promises";
3
+ import path from "pathe";
4
4
  import { Resource } from "../resource.ts";
5
5
  import { getContentType } from "../util/content-type.ts";
6
- import ignore from "../util/ignore-matcher.js";
6
+ import ignore from "../util/ignore-matcher.ts";
7
7
 
8
8
  /**
9
9
  * Properties for creating or updating Assets
@@ -17,54 +17,11 @@ export interface AssetsProps {
17
17
  }
18
18
 
19
19
  /**
20
- * Output returned after Assets creation/update
20
+ * Assets binding type
21
21
  */
22
- export interface Assets extends Resource<"cloudflare::Asset">, AssetsProps {
23
- /**
24
- * The type of binding
25
- */
22
+ export type Assets = AssetsProps & {
26
23
  type: "assets";
27
-
28
- /**
29
- * The ID of the assets bundle
30
- */
31
- id: string;
32
-
33
- /**
34
- * Asset files that were found
35
- */
36
- files: AssetFile[];
37
-
38
- /**
39
- * Time at which the assets were created
40
- */
41
- createdAt: number;
42
-
43
- /**
44
- * Time at which the assets were last updated
45
- */
46
- updatedAt: number;
47
- }
48
-
49
- /**
50
- * Represents a single asset file
51
- */
52
- export interface AssetFile {
53
- /**
54
- * Path relative to the assets directory
55
- */
56
- path: string;
57
-
58
- /**
59
- * Full filesystem path to the file
60
- */
61
- filePath: string;
62
-
63
- /**
64
- * Content type of the file
65
- */
66
- contentType: string;
67
- }
24
+ };
68
25
 
69
26
  /**
70
27
  * Cloudflare Assets represent a collection of static files that can be uploaded and served
@@ -72,7 +29,7 @@ export interface AssetFile {
72
29
  *
73
30
  * @example
74
31
  * // Create a basic assets bundle from a local directory
75
- * const staticAssets = await Assets("static", {
32
+ * const staticAssets = await Assets({
76
33
  * path: "./src/assets"
77
34
  * });
78
35
  *
@@ -85,100 +42,102 @@ export interface AssetFile {
85
42
  * }
86
43
  * });
87
44
  */
88
- export const Assets = Resource(
89
- "cloudflare::Asset",
90
- {
91
- alwaysUpdate: true,
92
- },
93
- async function (
94
- this: Context<Assets>,
95
- id: string,
96
- props: AssetsProps,
97
- ): Promise<Assets> {
98
- if (this.phase === "delete") {
99
- return this.destroy();
100
- }
45
+ export async function Assets(props: AssetsProps): Promise<Assets> {
46
+ return {
47
+ type: "assets",
48
+ ...props,
49
+ };
50
+ }
51
+
52
+ export namespace Assets {
53
+ export interface FileMetadata {
54
+ path: string;
55
+ name: string;
56
+ hash: string;
57
+ size: number;
58
+ type: string;
59
+ }
101
60
 
61
+ /**
62
+ * Recursively read the metadata for all assets in a directory, skipping files that are ignored by the .assetsignore file
63
+ *
64
+ * @param root Path to the directory
65
+ * @returns Metadata for all assets in the directory
66
+ */
67
+ export const read = async (root: string): Promise<FileMetadata[]> => {
68
+ const matcher = ignore().add(".assetsignore");
69
+ const ignorePath = path.join(root, ".assetsignore");
102
70
  try {
103
- // Check if the assets directory exists
104
- const stats = await fs.stat(props.path);
105
- if (!stats.isDirectory()) {
106
- throw new Error(`Assets path ${props.path} is not a directory`);
107
- }
108
- } catch (_error) {
109
- throw new Error(
110
- `Assets directory ${props.path} does not exist or is not accessible`,
111
- );
71
+ const content = await fs.readFile(ignorePath, "utf-8");
72
+ matcher.add(content.split("\n"));
73
+ } catch {
74
+ // ignore
112
75
  }
113
76
 
114
- // Recursively get all files in the assets directory
115
- const ignoreMatcher = await createIgnoreMatcher(props.path);
116
- const filesList = await getFilesRecursively(props.path, ignoreMatcher);
77
+ const readDirectory = async (
78
+ directory: string,
79
+ ): Promise<FileMetadata[]> => {
80
+ const files = await fs.readdir(directory);
81
+ const result: FileMetadata[] = [];
82
+ await Promise.all(
83
+ files.map(async (file) => {
84
+ const absolutePath = path.join(directory, file);
85
+ const relativePath = path.relative(root, absolutePath);
86
+ if (matcher.ignores(relativePath)) {
87
+ return;
88
+ }
89
+ const stat = await fs.stat(absolutePath);
90
+ if (stat.isDirectory()) {
91
+ result.push(...(await readDirectory(absolutePath)));
92
+ } else {
93
+ if (stat.size > 26214400) {
94
+ throw new Error(
95
+ `File "${absolutePath}" is too large to upload as an asset to Cloudflare (the file is ${(stat.size / 1024 / 1024).toFixed(2)} MB; the maximum size is 25MB).`,
96
+ );
97
+ }
98
+ result.push({
99
+ path: absolutePath,
100
+ name: relativePath.startsWith("/")
101
+ ? relativePath
102
+ : `/${relativePath}`,
103
+ hash: await computeHash(absolutePath),
104
+ size: stat.size,
105
+ type: getContentType(absolutePath) ?? "application/null",
106
+ });
107
+ }
108
+ }),
109
+ );
110
+ return result;
111
+ };
117
112
 
118
- // Create asset file objects
119
- const files: AssetFile[] = filesList.map((filePath) => {
120
- const relativePath = path.relative(props.path, filePath);
113
+ return await readDirectory(root);
114
+ };
121
115
 
122
- return {
123
- path: path.normalize(relativePath),
124
- filePath: path.normalize(filePath),
125
- contentType: getContentType(filePath) ?? "application/null",
126
- };
127
- });
116
+ /**
117
+ * Calculate the SHA-256 hash and size of a file
118
+ *
119
+ * @param filePath Path to the file
120
+ * @returns Hash (first 32 chars of SHA-256) and size of the file
121
+ */
122
+ const computeHash = async (filePath: string): Promise<string> => {
123
+ const contents = await fs.readFile(filePath);
128
124
 
129
- // Get current timestamp
130
- const now = Date.now();
125
+ const hash = crypto.createHash("sha256");
126
+ hash.update(contents);
131
127
 
132
- // Construct the output
133
- return this({
134
- id,
135
- type: "assets",
136
- path: props.path,
137
- files,
138
- createdAt: this.output?.createdAt || now,
139
- updatedAt: now,
140
- });
141
- },
142
- );
128
+ const extension = path.extname(filePath).substring(1);
129
+ hash.update(extension);
143
130
 
144
- async function createIgnoreMatcher(
145
- dir: string,
146
- ): Promise<{ ignores: (path: string) => boolean }> {
147
- const ignoreMatcher = ignore().add(".assetsignore");
148
- const ignorePath = path.join(dir, ".assetsignore");
149
- try {
150
- const content = await fs.readFile(ignorePath, "utf-8");
151
- ignoreMatcher.add(content.split("\n"));
152
- } catch {
153
- // ignore
154
- }
155
- return ignoreMatcher;
131
+ return hash.digest("hex").slice(0, 32);
132
+ };
156
133
  }
157
134
 
158
- // Helper functions for file operations
159
- async function getFilesRecursively(
160
- dir: string,
161
- ignoreMatcher: { ignores: (path: string) => boolean },
162
- ): Promise<string[]> {
163
- const files = await fs.readdir(dir, { withFileTypes: true });
164
- const result: string[] = [];
165
-
166
- await Promise.all(
167
- files.map(async (file) => {
168
- const filePath = path.join(dir, file.name);
169
- if (ignoreMatcher.ignores(file.name)) {
170
- return;
171
- }
172
- if (
173
- file.isDirectory() ||
174
- (file.isSymbolicLink() && (await fs.stat(filePath)).isDirectory())
175
- ) {
176
- result.push(...(await getFilesRecursively(filePath, ignoreMatcher)));
177
- } else {
178
- result.push(filePath);
179
- }
180
- }),
181
- );
135
+ // we are deprecating the Assets resource (it is now just a function)
136
+ // but, a user may still have a resource that depends on it, so we register a no-op dummy resource so that it can be cleanly deleted
137
+ Resource("cloudflare::Asset", async function (this) {
138
+ if (this.phase === "delete") {
139
+ return this.destroy();
140
+ }
182
141
 
183
- return result;
184
- }
142
+ throw new Error("Not implemented");
143
+ });
@@ -3,7 +3,12 @@ import { getPackageManagerRunner } from "../../util/detect-package-manager.ts";
3
3
  import type { Assets } from "../assets.ts";
4
4
  import type { Bindings } from "../bindings.ts";
5
5
  import { withSkipPathValidation } from "../miniflare/paths.ts";
6
- import { Website, type WebsiteProps } from "../website.ts";
6
+ import {
7
+ spreadBuildProps,
8
+ spreadDevProps,
9
+ Website,
10
+ type WebsiteProps,
11
+ } from "../website.ts";
7
12
  import type { Worker } from "../worker.ts";
8
13
 
9
14
  /**
@@ -75,8 +80,8 @@ export async function Astro<B extends Bindings>(
75
80
  return await Website(id, {
76
81
  ...props,
77
82
  noBundle: props.noBundle ?? true,
78
- build: props.build ?? `${runner} astro build`,
79
- dev: props.dev ?? `${runner} astro dev`,
83
+ build: spreadBuildProps(props, `${runner} astro build`),
84
+ dev: spreadDevProps(props, `${runner} astro dev`),
80
85
  entrypoint:
81
86
  props.entrypoint ??
82
87
  (output === "server" ? "dist/_worker.js/index.js" : undefined),