alchemy 0.66.0 → 0.68.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 (825) hide show
  1. package/bin/alchemy.js +25554 -26250
  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/services/find-workspace-root.ts +1 -1
  7. package/bin/trpc.ts +27 -2
  8. package/lib/alchemy.d.ts +6 -0
  9. package/lib/alchemy.d.ts.map +1 -1
  10. package/lib/alchemy.js +1 -0
  11. package/lib/alchemy.js.map +1 -1
  12. package/lib/apply.d.ts +2 -2
  13. package/lib/apply.d.ts.map +1 -1
  14. package/lib/apply.js +18 -15
  15. package/lib/apply.js.map +1 -1
  16. package/lib/auth.d.ts +72 -0
  17. package/lib/auth.d.ts.map +1 -0
  18. package/lib/auth.js +163 -0
  19. package/lib/auth.js.map +1 -0
  20. package/lib/aws/bucket.d.ts +12 -3
  21. package/lib/aws/bucket.d.ts.map +1 -1
  22. package/lib/aws/bucket.js +2 -2
  23. package/lib/aws/bucket.js.map +1 -1
  24. package/lib/aws/control/resource.d.ts +34 -3
  25. package/lib/aws/control/resource.d.ts.map +1 -1
  26. package/lib/aws/control/resource.js +3 -3
  27. package/lib/aws/control/resource.js.map +1 -1
  28. package/lib/aws/ec2/internet-gateway-attachment.d.ts +1 -2
  29. package/lib/aws/ec2/internet-gateway-attachment.d.ts.map +1 -1
  30. package/lib/aws/ec2/internet-gateway-attachment.js +4 -4
  31. package/lib/aws/ec2/internet-gateway-attachment.js.map +1 -1
  32. package/lib/aws/ec2/internet-gateway.d.ts +1 -2
  33. package/lib/aws/ec2/internet-gateway.d.ts.map +1 -1
  34. package/lib/aws/ec2/internet-gateway.js +2 -2
  35. package/lib/aws/ec2/internet-gateway.js.map +1 -1
  36. package/lib/aws/ec2/nat-gateway.d.ts +1 -2
  37. package/lib/aws/ec2/nat-gateway.d.ts.map +1 -1
  38. package/lib/aws/ec2/nat-gateway.js +2 -2
  39. package/lib/aws/ec2/nat-gateway.js.map +1 -1
  40. package/lib/aws/ec2/route-table-association.d.ts +1 -2
  41. package/lib/aws/ec2/route-table-association.d.ts.map +1 -1
  42. package/lib/aws/ec2/route-table-association.js +2 -2
  43. package/lib/aws/ec2/route-table-association.js.map +1 -1
  44. package/lib/aws/ec2/route-table.d.ts +1 -2
  45. package/lib/aws/ec2/route-table.d.ts.map +1 -1
  46. package/lib/aws/ec2/route-table.js +2 -2
  47. package/lib/aws/ec2/route-table.js.map +1 -1
  48. package/lib/aws/ec2/route.d.ts +1 -2
  49. package/lib/aws/ec2/route.d.ts.map +1 -1
  50. package/lib/aws/ec2/route.js +2 -2
  51. package/lib/aws/ec2/route.js.map +1 -1
  52. package/lib/aws/ec2/security-group-rule.d.ts +1 -2
  53. package/lib/aws/ec2/security-group-rule.d.ts.map +1 -1
  54. package/lib/aws/ec2/security-group-rule.js +2 -2
  55. package/lib/aws/ec2/security-group-rule.js.map +1 -1
  56. package/lib/aws/ec2/security-group.d.ts +1 -2
  57. package/lib/aws/ec2/security-group.d.ts.map +1 -1
  58. package/lib/aws/ec2/security-group.js +2 -2
  59. package/lib/aws/ec2/security-group.js.map +1 -1
  60. package/lib/aws/ec2/subnet.d.ts +1 -2
  61. package/lib/aws/ec2/subnet.d.ts.map +1 -1
  62. package/lib/aws/ec2/subnet.js +2 -2
  63. package/lib/aws/ec2/subnet.js.map +1 -1
  64. package/lib/aws/ec2/vpc.d.ts +1 -2
  65. package/lib/aws/ec2/vpc.d.ts.map +1 -1
  66. package/lib/aws/ec2/vpc.js +2 -2
  67. package/lib/aws/ec2/vpc.js.map +1 -1
  68. package/lib/aws/function.d.ts +116 -3
  69. package/lib/aws/function.d.ts.map +1 -1
  70. package/lib/aws/function.js +2 -2
  71. package/lib/aws/function.js.map +1 -1
  72. package/lib/aws/oidc/github-oidc-provider.d.ts +13 -2
  73. package/lib/aws/oidc/github-oidc-provider.d.ts.map +1 -1
  74. package/lib/aws/oidc/oidc-provider.d.ts +48 -3
  75. package/lib/aws/oidc/oidc-provider.d.ts.map +1 -1
  76. package/lib/aws/oidc/oidc-provider.js +2 -2
  77. package/lib/aws/oidc/oidc-provider.js.map +1 -1
  78. package/lib/aws/policy-attachment.d.ts +2 -3
  79. package/lib/aws/policy-attachment.d.ts.map +1 -1
  80. package/lib/aws/policy-attachment.js +1 -1
  81. package/lib/aws/policy-attachment.js.map +1 -1
  82. package/lib/aws/policy.d.ts +1 -2
  83. package/lib/aws/policy.d.ts.map +1 -1
  84. package/lib/aws/policy.js +4 -4
  85. package/lib/aws/policy.js.map +1 -1
  86. package/lib/aws/queue.d.ts +1 -2
  87. package/lib/aws/queue.d.ts.map +1 -1
  88. package/lib/aws/queue.js +4 -4
  89. package/lib/aws/queue.js.map +1 -1
  90. package/lib/aws/role.d.ts +1 -2
  91. package/lib/aws/role.d.ts.map +1 -1
  92. package/lib/aws/role.js +2 -2
  93. package/lib/aws/role.js.map +1 -1
  94. package/lib/aws/ses.d.ts +1 -2
  95. package/lib/aws/ses.d.ts.map +1 -1
  96. package/lib/aws/ses.js +2 -2
  97. package/lib/aws/ses.js.map +1 -1
  98. package/lib/aws/ssm-parameter.d.ts +1 -2
  99. package/lib/aws/ssm-parameter.d.ts.map +1 -1
  100. package/lib/aws/ssm-parameter.js +2 -2
  101. package/lib/aws/ssm-parameter.js.map +1 -1
  102. package/lib/aws/table.d.ts +1 -2
  103. package/lib/aws/table.d.ts.map +1 -1
  104. package/lib/aws/table.js +2 -2
  105. package/lib/aws/table.js.map +1 -1
  106. package/lib/cloudflare/account-api-token.d.ts +1 -2
  107. package/lib/cloudflare/account-api-token.d.ts.map +1 -1
  108. package/lib/cloudflare/account-api-token.js +2 -2
  109. package/lib/cloudflare/account-api-token.js.map +1 -1
  110. package/lib/cloudflare/ai-gateway.d.ts +1 -2
  111. package/lib/cloudflare/ai-gateway.d.ts.map +1 -1
  112. package/lib/cloudflare/ai-gateway.js +2 -2
  113. package/lib/cloudflare/ai-gateway.js.map +1 -1
  114. package/lib/cloudflare/api-gateway-operation.d.ts +1 -2
  115. package/lib/cloudflare/api-gateway-operation.d.ts.map +1 -1
  116. package/lib/cloudflare/api-gateway-operation.js +2 -2
  117. package/lib/cloudflare/api-gateway-operation.js.map +1 -1
  118. package/lib/cloudflare/api-schema.d.ts +1 -2
  119. package/lib/cloudflare/api-schema.d.ts.map +1 -1
  120. package/lib/cloudflare/api-schema.js +2 -2
  121. package/lib/cloudflare/api-schema.js.map +1 -1
  122. package/lib/cloudflare/api-shield.d.ts +1 -2
  123. package/lib/cloudflare/api-shield.d.ts.map +1 -1
  124. package/lib/cloudflare/api-shield.js +2 -2
  125. package/lib/cloudflare/api-shield.js.map +1 -1
  126. package/lib/cloudflare/api.d.ts +18 -10
  127. package/lib/cloudflare/api.d.ts.map +1 -1
  128. package/lib/cloudflare/api.js +93 -38
  129. package/lib/cloudflare/api.js.map +1 -1
  130. package/lib/cloudflare/assets.d.ts +21 -43
  131. package/lib/cloudflare/assets.d.ts.map +1 -1
  132. package/lib/cloudflare/assets.js +78 -70
  133. package/lib/cloudflare/assets.js.map +1 -1
  134. package/lib/cloudflare/auth.d.ts +91 -17
  135. package/lib/cloudflare/auth.d.ts.map +1 -1
  136. package/lib/cloudflare/auth.js +141 -62
  137. package/lib/cloudflare/auth.js.map +1 -1
  138. package/lib/cloudflare/bindings.d.ts +17 -5
  139. package/lib/cloudflare/bindings.d.ts.map +1 -1
  140. package/lib/cloudflare/bindings.js +3 -1
  141. package/lib/cloudflare/bindings.js.map +1 -1
  142. package/lib/cloudflare/bound.d.ts +4 -3
  143. package/lib/cloudflare/bound.d.ts.map +1 -1
  144. package/lib/cloudflare/bucket.d.ts +60 -8
  145. package/lib/cloudflare/bucket.d.ts.map +1 -1
  146. package/lib/cloudflare/bucket.js +161 -18
  147. package/lib/cloudflare/bucket.js.map +1 -1
  148. package/lib/cloudflare/bundle/internal-worker-bundle.d.ts +1 -1
  149. package/lib/cloudflare/bundle/internal-worker-bundle.d.ts.map +1 -1
  150. package/lib/cloudflare/bundle/internal-worker-bundle.js.map +1 -1
  151. package/lib/cloudflare/bundle/plugin-wasm.js +4 -2
  152. package/lib/cloudflare/bundle/plugin-wasm.js.map +1 -1
  153. package/lib/cloudflare/certificate-pack.d.ts +1 -2
  154. package/lib/cloudflare/certificate-pack.d.ts.map +1 -1
  155. package/lib/cloudflare/certificate-pack.js +4 -4
  156. package/lib/cloudflare/certificate-pack.js.map +1 -1
  157. package/lib/cloudflare/compatibility-date.gen.d.ts +1 -1
  158. package/lib/cloudflare/compatibility-date.gen.js +1 -1
  159. package/lib/cloudflare/container.d.ts +1 -2
  160. package/lib/cloudflare/container.d.ts.map +1 -1
  161. package/lib/cloudflare/container.js +6 -6
  162. package/lib/cloudflare/container.js.map +1 -1
  163. package/lib/cloudflare/custom-domain.d.ts +1 -2
  164. package/lib/cloudflare/custom-domain.d.ts.map +1 -1
  165. package/lib/cloudflare/custom-domain.js +2 -2
  166. package/lib/cloudflare/custom-domain.js.map +1 -1
  167. package/lib/cloudflare/d1-database.d.ts +2 -3
  168. package/lib/cloudflare/d1-database.d.ts.map +1 -1
  169. package/lib/cloudflare/d1-database.js +5 -5
  170. package/lib/cloudflare/d1-database.js.map +1 -1
  171. package/lib/cloudflare/dispatch-namespace.d.ts +2 -3
  172. package/lib/cloudflare/dispatch-namespace.d.ts.map +1 -1
  173. package/lib/cloudflare/dispatch-namespace.js +3 -3
  174. package/lib/cloudflare/dispatch-namespace.js.map +1 -1
  175. package/lib/cloudflare/dns-records.d.ts +1 -2
  176. package/lib/cloudflare/dns-records.d.ts.map +1 -1
  177. package/lib/cloudflare/dns-records.js +4 -4
  178. package/lib/cloudflare/dns-records.js.map +1 -1
  179. package/lib/cloudflare/email-address.d.ts +1 -2
  180. package/lib/cloudflare/email-address.d.ts.map +1 -1
  181. package/lib/cloudflare/email-address.js +6 -6
  182. package/lib/cloudflare/email-address.js.map +1 -1
  183. package/lib/cloudflare/email-catch-all.d.ts +1 -2
  184. package/lib/cloudflare/email-catch-all.d.ts.map +1 -1
  185. package/lib/cloudflare/email-catch-all.js +4 -4
  186. package/lib/cloudflare/email-catch-all.js.map +1 -1
  187. package/lib/cloudflare/email-routing.d.ts +1 -2
  188. package/lib/cloudflare/email-routing.d.ts.map +1 -1
  189. package/lib/cloudflare/email-routing.js +4 -4
  190. package/lib/cloudflare/email-routing.js.map +1 -1
  191. package/lib/cloudflare/email-rule.d.ts +1 -2
  192. package/lib/cloudflare/email-rule.d.ts.map +1 -1
  193. package/lib/cloudflare/email-rule.js +4 -4
  194. package/lib/cloudflare/email-rule.js.map +1 -1
  195. package/lib/cloudflare/hyperdrive-ref.d.ts +23 -0
  196. package/lib/cloudflare/hyperdrive-ref.d.ts.map +1 -0
  197. package/lib/cloudflare/hyperdrive-ref.js +52 -0
  198. package/lib/cloudflare/hyperdrive-ref.js.map +1 -0
  199. package/lib/cloudflare/hyperdrive.d.ts +1 -2
  200. package/lib/cloudflare/hyperdrive.d.ts.map +1 -1
  201. package/lib/cloudflare/hyperdrive.js +4 -4
  202. package/lib/cloudflare/hyperdrive.js.map +1 -1
  203. package/lib/cloudflare/index.d.ts +2 -0
  204. package/lib/cloudflare/index.d.ts.map +1 -1
  205. package/lib/cloudflare/index.js +2 -0
  206. package/lib/cloudflare/index.js.map +1 -1
  207. package/lib/cloudflare/kv-namespace.d.ts +2 -3
  208. package/lib/cloudflare/kv-namespace.d.ts.map +1 -1
  209. package/lib/cloudflare/kv-namespace.js +5 -5
  210. package/lib/cloudflare/kv-namespace.js.map +1 -1
  211. package/lib/cloudflare/miniflare/build-worker-options.d.ts +2 -1
  212. package/lib/cloudflare/miniflare/build-worker-options.d.ts.map +1 -1
  213. package/lib/cloudflare/miniflare/build-worker-options.js +11 -6
  214. package/lib/cloudflare/miniflare/build-worker-options.js.map +1 -1
  215. package/lib/cloudflare/miniflare/delete.js +1 -1
  216. package/lib/cloudflare/miniflare/delete.js.map +1 -1
  217. package/lib/cloudflare/miniflare/miniflare-controller.d.ts +3 -1
  218. package/lib/cloudflare/miniflare/miniflare-controller.d.ts.map +1 -1
  219. package/lib/cloudflare/miniflare/miniflare-controller.js +24 -9
  220. package/lib/cloudflare/miniflare/miniflare-controller.js.map +1 -1
  221. package/lib/cloudflare/miniflare/miniflare-worker-proxy.d.ts +24 -13
  222. package/lib/cloudflare/miniflare/miniflare-worker-proxy.d.ts.map +1 -1
  223. package/lib/cloudflare/miniflare/miniflare-worker-proxy.js +90 -79
  224. package/lib/cloudflare/miniflare/miniflare-worker-proxy.js.map +1 -1
  225. package/lib/cloudflare/miniflare/remote-binding-proxy.d.ts.map +1 -1
  226. package/lib/cloudflare/miniflare/remote-binding-proxy.js +15 -4
  227. package/lib/cloudflare/miniflare/remote-binding-proxy.js.map +1 -1
  228. package/lib/cloudflare/miniflare/tunnel.d.ts +18 -0
  229. package/lib/cloudflare/miniflare/tunnel.d.ts.map +1 -0
  230. package/lib/cloudflare/miniflare/tunnel.js +79 -0
  231. package/lib/cloudflare/miniflare/tunnel.js.map +1 -0
  232. package/lib/cloudflare/next.d.ts.map +1 -1
  233. package/lib/cloudflare/next.js +3 -0
  234. package/lib/cloudflare/next.js.map +1 -1
  235. package/lib/cloudflare/permission-groups.d.ts +1 -2
  236. package/lib/cloudflare/permission-groups.d.ts.map +1 -1
  237. package/lib/cloudflare/permission-groups.js +1 -1
  238. package/lib/cloudflare/permission-groups.js.map +1 -1
  239. package/lib/cloudflare/pipeline.d.ts +2 -3
  240. package/lib/cloudflare/pipeline.d.ts.map +1 -1
  241. package/lib/cloudflare/pipeline.js +5 -5
  242. package/lib/cloudflare/pipeline.js.map +1 -1
  243. package/lib/cloudflare/queue-consumer.d.ts +1 -2
  244. package/lib/cloudflare/queue-consumer.d.ts.map +1 -1
  245. package/lib/cloudflare/queue-consumer.js +4 -4
  246. package/lib/cloudflare/queue-consumer.js.map +1 -1
  247. package/lib/cloudflare/queue.d.ts +1 -2
  248. package/lib/cloudflare/queue.d.ts.map +1 -1
  249. package/lib/cloudflare/queue.js +4 -4
  250. package/lib/cloudflare/queue.js.map +1 -1
  251. package/lib/cloudflare/quick-tunnel.d.ts +1 -1
  252. package/lib/cloudflare/react-router/plugin.d.ts.map +1 -1
  253. package/lib/cloudflare/react-router/plugin.js +13 -0
  254. package/lib/cloudflare/react-router/plugin.js.map +1 -1
  255. package/lib/cloudflare/redirect-rule.d.ts +1 -2
  256. package/lib/cloudflare/redirect-rule.d.ts.map +1 -1
  257. package/lib/cloudflare/redirect-rule.js +4 -4
  258. package/lib/cloudflare/redirect-rule.js.map +1 -1
  259. package/lib/cloudflare/route.d.ts +1 -2
  260. package/lib/cloudflare/route.d.ts.map +1 -1
  261. package/lib/cloudflare/route.js +4 -4
  262. package/lib/cloudflare/route.js.map +1 -1
  263. package/lib/cloudflare/ruleset.d.ts +1 -2
  264. package/lib/cloudflare/ruleset.d.ts.map +1 -1
  265. package/lib/cloudflare/ruleset.js +2 -2
  266. package/lib/cloudflare/ruleset.js.map +1 -1
  267. package/lib/cloudflare/secret-ref.d.ts +38 -0
  268. package/lib/cloudflare/secret-ref.d.ts.map +1 -0
  269. package/lib/cloudflare/secret-ref.js +38 -0
  270. package/lib/cloudflare/secret-ref.js.map +1 -0
  271. package/lib/cloudflare/secret.d.ts +2 -3
  272. package/lib/cloudflare/secret.d.ts.map +1 -1
  273. package/lib/cloudflare/secret.js +3 -3
  274. package/lib/cloudflare/secret.js.map +1 -1
  275. package/lib/cloudflare/secrets-store.d.ts +2 -3
  276. package/lib/cloudflare/secrets-store.d.ts.map +1 -1
  277. package/lib/cloudflare/secrets-store.js +3 -3
  278. package/lib/cloudflare/secrets-store.js.map +1 -1
  279. package/lib/cloudflare/tunnel.d.ts +2 -3
  280. package/lib/cloudflare/tunnel.d.ts.map +1 -1
  281. package/lib/cloudflare/tunnel.js +3 -3
  282. package/lib/cloudflare/tunnel.js.map +1 -1
  283. package/lib/cloudflare/user.d.ts +3 -2
  284. package/lib/cloudflare/user.d.ts.map +1 -1
  285. package/lib/cloudflare/user.js +7 -5
  286. package/lib/cloudflare/user.js.map +1 -1
  287. package/lib/cloudflare/vectorize-index.d.ts +2 -3
  288. package/lib/cloudflare/vectorize-index.d.ts.map +1 -1
  289. package/lib/cloudflare/vectorize-index.js +6 -6
  290. package/lib/cloudflare/vectorize-index.js.map +1 -1
  291. package/lib/cloudflare/vectorize-metadata-index.d.ts +2 -3
  292. package/lib/cloudflare/vectorize-metadata-index.d.ts.map +1 -1
  293. package/lib/cloudflare/vectorize-metadata-index.js +4 -4
  294. package/lib/cloudflare/vectorize-metadata-index.js.map +1 -1
  295. package/lib/cloudflare/website.js +1 -1
  296. package/lib/cloudflare/website.js.map +1 -1
  297. package/lib/cloudflare/worker-assets.d.ts +1 -29
  298. package/lib/cloudflare/worker-assets.d.ts.map +1 -1
  299. package/lib/cloudflare/worker-assets.js +9 -42
  300. package/lib/cloudflare/worker-assets.js.map +1 -1
  301. package/lib/cloudflare/worker-metadata.d.ts +1 -1
  302. package/lib/cloudflare/worker-metadata.d.ts.map +1 -1
  303. package/lib/cloudflare/worker-metadata.js +7 -9
  304. package/lib/cloudflare/worker-metadata.js.map +1 -1
  305. package/lib/cloudflare/worker-stub.d.ts +2 -3
  306. package/lib/cloudflare/worker-stub.d.ts.map +1 -1
  307. package/lib/cloudflare/worker-stub.js +3 -3
  308. package/lib/cloudflare/worker-stub.js.map +1 -1
  309. package/lib/cloudflare/worker-subdomain.d.ts +4 -3
  310. package/lib/cloudflare/worker-subdomain.d.ts.map +1 -1
  311. package/lib/cloudflare/worker-subdomain.js +5 -5
  312. package/lib/cloudflare/worker-subdomain.js.map +1 -1
  313. package/lib/cloudflare/worker.d.ts +19 -5
  314. package/lib/cloudflare/worker.d.ts.map +1 -1
  315. package/lib/cloudflare/worker.js +18 -5
  316. package/lib/cloudflare/worker.js.map +1 -1
  317. package/lib/cloudflare/wrangler.json.d.ts +2 -1
  318. package/lib/cloudflare/wrangler.json.d.ts.map +1 -1
  319. package/lib/cloudflare/wrangler.json.js +4 -6
  320. package/lib/cloudflare/wrangler.json.js.map +1 -1
  321. package/lib/cloudflare/zone.d.ts +1 -2
  322. package/lib/cloudflare/zone.d.ts.map +1 -1
  323. package/lib/cloudflare/zone.js +2 -2
  324. package/lib/cloudflare/zone.js.map +1 -1
  325. package/lib/context.d.ts +8 -8
  326. package/lib/context.d.ts.map +1 -1
  327. package/lib/context.js.map +1 -1
  328. package/lib/destroy.d.ts +1 -1
  329. package/lib/destroy.d.ts.map +1 -1
  330. package/lib/destroy.js.map +1 -1
  331. package/lib/dns/import-dns.d.ts +1 -2
  332. package/lib/dns/import-dns.d.ts.map +1 -1
  333. package/lib/dns/import-dns.js +2 -2
  334. package/lib/dns/import-dns.js.map +1 -1
  335. package/lib/docker/container.d.ts +1 -2
  336. package/lib/docker/container.d.ts.map +1 -1
  337. package/lib/docker/container.js +2 -3
  338. package/lib/docker/container.js.map +1 -1
  339. package/lib/docker/image.d.ts +1 -2
  340. package/lib/docker/image.d.ts.map +1 -1
  341. package/lib/docker/image.js +9 -9
  342. package/lib/docker/image.js.map +1 -1
  343. package/lib/docker/network.d.ts +1 -2
  344. package/lib/docker/network.d.ts.map +1 -1
  345. package/lib/docker/network.js +2 -3
  346. package/lib/docker/network.js.map +1 -1
  347. package/lib/docker/remote-image.d.ts +1 -2
  348. package/lib/docker/remote-image.d.ts.map +1 -1
  349. package/lib/docker/remote-image.js +2 -3
  350. package/lib/docker/remote-image.js.map +1 -1
  351. package/lib/docker/volume.d.ts +1 -2
  352. package/lib/docker/volume.d.ts.map +1 -1
  353. package/lib/docker/volume.js +2 -3
  354. package/lib/docker/volume.js.map +1 -1
  355. package/lib/esbuild/bundle.d.ts +1 -2
  356. package/lib/esbuild/bundle.d.ts.map +1 -1
  357. package/lib/esbuild/bundle.js +4 -4
  358. package/lib/esbuild/bundle.js.map +1 -1
  359. package/lib/fs/copy-file.d.ts +1 -2
  360. package/lib/fs/copy-file.d.ts.map +1 -1
  361. package/lib/fs/copy-file.js +2 -2
  362. package/lib/fs/copy-file.js.map +1 -1
  363. package/lib/fs/file.d.ts +1 -2
  364. package/lib/fs/file.d.ts.map +1 -1
  365. package/lib/fs/file.js +2 -2
  366. package/lib/fs/file.js.map +1 -1
  367. package/lib/fs/folder.d.ts +1 -2
  368. package/lib/fs/folder.d.ts.map +1 -1
  369. package/lib/fs/folder.js +2 -2
  370. package/lib/fs/folder.js.map +1 -1
  371. package/lib/github/comment.d.ts +1 -2
  372. package/lib/github/comment.d.ts.map +1 -1
  373. package/lib/github/comment.js +4 -4
  374. package/lib/github/comment.js.map +1 -1
  375. package/lib/github/repository-environment.d.ts +1 -2
  376. package/lib/github/repository-environment.d.ts.map +1 -1
  377. package/lib/github/repository-environment.js +2 -2
  378. package/lib/github/repository-environment.js.map +1 -1
  379. package/lib/github/repository-webhook.d.ts +1 -2
  380. package/lib/github/repository-webhook.d.ts.map +1 -1
  381. package/lib/github/repository-webhook.js +2 -2
  382. package/lib/github/repository-webhook.js.map +1 -1
  383. package/lib/github/secret.d.ts +1 -2
  384. package/lib/github/secret.d.ts.map +1 -1
  385. package/lib/github/secret.js +2 -2
  386. package/lib/github/secret.js.map +1 -1
  387. package/lib/llms.cloudflare.txt +1 -1
  388. package/lib/neon/api/client.gen.d.ts +13 -0
  389. package/lib/neon/api/client.gen.d.ts.map +1 -0
  390. package/lib/neon/api/client.gen.js +7 -0
  391. package/lib/neon/api/client.gen.js.map +1 -0
  392. package/lib/neon/api/sdk.gen.d.ts +880 -0
  393. package/lib/neon/api/sdk.gen.d.ts.map +1 -0
  394. package/lib/neon/api/sdk.gen.js +1527 -0
  395. package/lib/neon/api/sdk.gen.js.map +1 -0
  396. package/lib/neon/api/types.gen.d.ts +7250 -0
  397. package/lib/neon/api/types.gen.d.ts.map +1 -0
  398. package/lib/neon/api/types.gen.js +2 -0
  399. package/lib/neon/api/types.gen.js.map +1 -0
  400. package/lib/neon/api.d.ts +14 -49
  401. package/lib/neon/api.d.ts.map +1 -1
  402. package/lib/neon/api.js +36 -114
  403. package/lib/neon/api.js.map +1 -1
  404. package/lib/neon/branch.d.ts +141 -0
  405. package/lib/neon/branch.d.ts.map +1 -0
  406. package/lib/neon/branch.js +112 -0
  407. package/lib/neon/branch.js.map +1 -0
  408. package/lib/neon/index.d.ts +1 -1
  409. package/lib/neon/index.d.ts.map +1 -1
  410. package/lib/neon/index.js +1 -1
  411. package/lib/neon/index.js.map +1 -1
  412. package/lib/neon/project.d.ts +32 -242
  413. package/lib/neon/project.d.ts.map +1 -1
  414. package/lib/neon/project.js +90 -269
  415. package/lib/neon/project.js.map +1 -1
  416. package/lib/neon/utils.d.ts +49 -0
  417. package/lib/neon/utils.d.ts.map +1 -0
  418. package/lib/neon/utils.js +44 -0
  419. package/lib/neon/utils.js.map +1 -0
  420. package/lib/os/exec.d.ts +1 -2
  421. package/lib/os/exec.d.ts.map +1 -1
  422. package/lib/os/exec.js +2 -2
  423. package/lib/os/exec.js.map +1 -1
  424. package/lib/planetscale/api/client.gen.d.ts +12 -1749
  425. package/lib/planetscale/api/client.gen.d.ts.map +1 -1
  426. package/lib/planetscale/api/client.gen.js +6 -2400
  427. package/lib/planetscale/api/client.gen.js.map +1 -1
  428. package/lib/planetscale/api/sdk.gen.d.ts +1582 -0
  429. package/lib/planetscale/api/sdk.gen.d.ts.map +1 -0
  430. package/lib/planetscale/api/sdk.gen.js +2219 -0
  431. package/lib/planetscale/api/sdk.gen.js.map +1 -0
  432. package/lib/planetscale/api/types.gen.d.ts +594 -449
  433. package/lib/planetscale/api/types.gen.d.ts.map +1 -1
  434. package/lib/planetscale/api.d.ts +43 -0
  435. package/lib/planetscale/api.d.ts.map +1 -0
  436. package/lib/planetscale/api.js +53 -0
  437. package/lib/planetscale/api.js.map +1 -0
  438. package/lib/planetscale/branch.d.ts +2 -3
  439. package/lib/planetscale/branch.d.ts.map +1 -1
  440. package/lib/planetscale/branch.js +17 -15
  441. package/lib/planetscale/branch.js.map +1 -1
  442. package/lib/planetscale/database.d.ts +2 -3
  443. package/lib/planetscale/database.d.ts.map +1 -1
  444. package/lib/planetscale/database.js +34 -34
  445. package/lib/planetscale/database.js.map +1 -1
  446. package/lib/planetscale/index.d.ts +1 -1
  447. package/lib/planetscale/index.d.ts.map +1 -1
  448. package/lib/planetscale/index.js +1 -1
  449. package/lib/planetscale/index.js.map +1 -1
  450. package/lib/planetscale/password.d.ts +2 -3
  451. package/lib/planetscale/password.d.ts.map +1 -1
  452. package/lib/planetscale/password.js +11 -11
  453. package/lib/planetscale/password.js.map +1 -1
  454. package/lib/planetscale/role.d.ts +2 -3
  455. package/lib/planetscale/role.d.ts.map +1 -1
  456. package/lib/planetscale/role.js +18 -18
  457. package/lib/planetscale/role.js.map +1 -1
  458. package/lib/planetscale/utils.d.ts +1 -1
  459. package/lib/planetscale/utils.d.ts.map +1 -1
  460. package/lib/planetscale/utils.js +17 -33
  461. package/lib/planetscale/utils.js.map +1 -1
  462. package/lib/random/random-string.d.ts +1 -2
  463. package/lib/random/random-string.d.ts.map +1 -1
  464. package/lib/random/random-string.js +3 -3
  465. package/lib/random/random-string.js.map +1 -1
  466. package/lib/resource.d.ts +4 -1
  467. package/lib/resource.d.ts.map +1 -1
  468. package/lib/resource.js.map +1 -1
  469. package/lib/scope.d.ts +10 -1
  470. package/lib/scope.d.ts.map +1 -1
  471. package/lib/scope.js +3 -1
  472. package/lib/scope.js.map +1 -1
  473. package/lib/sentry/client-key.d.ts +1 -2
  474. package/lib/sentry/client-key.d.ts.map +1 -1
  475. package/lib/sentry/client-key.js +2 -2
  476. package/lib/sentry/client-key.js.map +1 -1
  477. package/lib/sentry/project.d.ts +1 -2
  478. package/lib/sentry/project.d.ts.map +1 -1
  479. package/lib/sentry/project.js +2 -2
  480. package/lib/sentry/project.js.map +1 -1
  481. package/lib/sentry/team.d.ts +1 -2
  482. package/lib/sentry/team.d.ts.map +1 -1
  483. package/lib/sentry/team.js +2 -2
  484. package/lib/sentry/team.js.map +1 -1
  485. package/lib/state/r2-rest-state-store.d.ts +1 -0
  486. package/lib/state/r2-rest-state-store.d.ts.map +1 -1
  487. package/lib/state/r2-rest-state-store.js +15 -34
  488. package/lib/state/r2-rest-state-store.js.map +1 -1
  489. package/lib/stripe/card.d.ts +1 -2
  490. package/lib/stripe/card.d.ts.map +1 -1
  491. package/lib/stripe/card.js +2 -2
  492. package/lib/stripe/card.js.map +1 -1
  493. package/lib/stripe/coupon.d.ts +1 -2
  494. package/lib/stripe/coupon.d.ts.map +1 -1
  495. package/lib/stripe/coupon.js +2 -2
  496. package/lib/stripe/coupon.js.map +1 -1
  497. package/lib/stripe/customer.d.ts +1 -2
  498. package/lib/stripe/customer.d.ts.map +1 -1
  499. package/lib/stripe/customer.js +2 -2
  500. package/lib/stripe/customer.js.map +1 -1
  501. package/lib/stripe/entitlements-feature.d.ts +1 -2
  502. package/lib/stripe/entitlements-feature.d.ts.map +1 -1
  503. package/lib/stripe/entitlements-feature.js +2 -2
  504. package/lib/stripe/entitlements-feature.js.map +1 -1
  505. package/lib/stripe/file.d.ts +1 -2
  506. package/lib/stripe/file.d.ts.map +1 -1
  507. package/lib/stripe/file.js +2 -2
  508. package/lib/stripe/file.js.map +1 -1
  509. package/lib/stripe/meter.d.ts +1 -2
  510. package/lib/stripe/meter.d.ts.map +1 -1
  511. package/lib/stripe/meter.js +1 -1
  512. package/lib/stripe/meter.js.map +1 -1
  513. package/lib/stripe/portal-configuration.d.ts +1 -2
  514. package/lib/stripe/portal-configuration.d.ts.map +1 -1
  515. package/lib/stripe/portal-configuration.js +2 -2
  516. package/lib/stripe/portal-configuration.js.map +1 -1
  517. package/lib/stripe/price.d.ts +1 -2
  518. package/lib/stripe/price.d.ts.map +1 -1
  519. package/lib/stripe/price.js +2 -2
  520. package/lib/stripe/price.js.map +1 -1
  521. package/lib/stripe/product-feature.d.ts +1 -2
  522. package/lib/stripe/product-feature.d.ts.map +1 -1
  523. package/lib/stripe/product-feature.js +2 -2
  524. package/lib/stripe/product-feature.js.map +1 -1
  525. package/lib/stripe/product.d.ts +1 -2
  526. package/lib/stripe/product.d.ts.map +1 -1
  527. package/lib/stripe/product.js +2 -2
  528. package/lib/stripe/product.js.map +1 -1
  529. package/lib/stripe/promotion-code.d.ts +1 -2
  530. package/lib/stripe/promotion-code.d.ts.map +1 -1
  531. package/lib/stripe/promotion-code.js +2 -2
  532. package/lib/stripe/promotion-code.js.map +1 -1
  533. package/lib/stripe/shipping-rate.d.ts +1 -2
  534. package/lib/stripe/shipping-rate.d.ts.map +1 -1
  535. package/lib/stripe/shipping-rate.js +2 -2
  536. package/lib/stripe/shipping-rate.js.map +1 -1
  537. package/lib/stripe/tax-rate.d.ts +1 -2
  538. package/lib/stripe/tax-rate.d.ts.map +1 -1
  539. package/lib/stripe/tax-rate.js +2 -2
  540. package/lib/stripe/tax-rate.js.map +1 -1
  541. package/lib/stripe/webhook.d.ts +16 -3
  542. package/lib/stripe/webhook.d.ts.map +1 -1
  543. package/lib/stripe/webhook.js +2 -2
  544. package/lib/stripe/webhook.js.map +1 -1
  545. package/lib/test/bun.d.ts.map +1 -1
  546. package/lib/test/bun.js +1 -0
  547. package/lib/test/bun.js.map +1 -1
  548. package/lib/test/options.d.ts +5 -0
  549. package/lib/test/options.d.ts.map +1 -1
  550. package/lib/test/vitest.d.ts.map +1 -1
  551. package/lib/test/vitest.js +1 -0
  552. package/lib/test/vitest.js.map +1 -1
  553. package/lib/upstash/redis.d.ts +1 -2
  554. package/lib/upstash/redis.d.ts.map +1 -1
  555. package/lib/upstash/redis.js.map +1 -1
  556. package/lib/util/api/client/client.gen.d.ts +3 -0
  557. package/lib/util/api/client/client.gen.d.ts.map +1 -0
  558. package/lib/util/api/client/client.gen.js +205 -0
  559. package/lib/util/api/client/client.gen.js.map +1 -0
  560. package/lib/util/api/client/index.d.ts +8 -0
  561. package/lib/util/api/client/index.d.ts.map +1 -0
  562. package/lib/util/api/client/index.js +6 -0
  563. package/lib/util/api/client/index.js.map +1 -0
  564. package/lib/util/api/client/types.gen.d.ts +125 -0
  565. package/lib/util/api/client/types.gen.d.ts.map +1 -0
  566. package/lib/util/api/client/types.gen.js +2 -0
  567. package/lib/util/api/client/types.gen.js.map +1 -0
  568. package/lib/util/api/client/utils.gen.d.ts +34 -0
  569. package/lib/util/api/client/utils.gen.d.ts.map +1 -0
  570. package/lib/util/api/client/utils.gen.js +231 -0
  571. package/lib/util/api/client/utils.gen.js.map +1 -0
  572. package/lib/util/api/core/auth.gen.d.ts +19 -0
  573. package/lib/util/api/core/auth.gen.d.ts.map +1 -0
  574. package/lib/util/api/core/auth.gen.js +15 -0
  575. package/lib/util/api/core/auth.gen.js.map +1 -0
  576. package/lib/util/api/core/bodySerializer.gen.d.ts +18 -0
  577. package/lib/util/api/core/bodySerializer.gen.d.ts.map +1 -0
  578. package/lib/util/api/core/bodySerializer.gen.js +58 -0
  579. package/lib/util/api/core/bodySerializer.gen.js.map +1 -0
  580. package/lib/util/api/core/params.gen.d.ts +34 -0
  581. package/lib/util/api/core/params.gen.d.ts.map +1 -0
  582. package/lib/util/api/core/params.gen.js +89 -0
  583. package/lib/util/api/core/params.gen.js.map +1 -0
  584. package/lib/util/api/core/pathSerializer.gen.d.ts +34 -0
  585. package/lib/util/api/core/pathSerializer.gen.d.ts.map +1 -0
  586. package/lib/util/api/core/pathSerializer.gen.js +115 -0
  587. package/lib/util/api/core/pathSerializer.gen.js.map +1 -0
  588. package/lib/util/api/core/serverSentEvents.gen.d.ts +72 -0
  589. package/lib/util/api/core/serverSentEvents.gen.d.ts.map +1 -0
  590. package/lib/util/api/core/serverSentEvents.gen.js +136 -0
  591. package/lib/util/api/core/serverSentEvents.gen.js.map +1 -0
  592. package/lib/util/api/core/types.gen.d.ts +79 -0
  593. package/lib/util/api/core/types.gen.d.ts.map +1 -0
  594. package/lib/util/api/core/types.gen.js +2 -0
  595. package/lib/util/api/core/types.gen.js.map +1 -0
  596. package/lib/util/api/core/utils.gen.d.ts +20 -0
  597. package/lib/util/api/core/utils.gen.d.ts.map +1 -0
  598. package/lib/util/api/core/utils.gen.js +88 -0
  599. package/lib/util/api/core/utils.gen.js.map +1 -0
  600. package/lib/util/http.d.ts +7 -2
  601. package/lib/util/http.d.ts.map +1 -1
  602. package/lib/util/http.js +29 -11
  603. package/lib/util/http.js.map +1 -1
  604. package/lib/util/idempotent-spawn.d.ts.map +1 -1
  605. package/lib/util/idempotent-spawn.js +5 -8
  606. package/lib/util/idempotent-spawn.js.map +1 -1
  607. package/lib/util/lock.d.ts +20 -0
  608. package/lib/util/lock.d.ts.map +1 -0
  609. package/lib/util/lock.js +45 -0
  610. package/lib/util/lock.js.map +1 -0
  611. package/lib/util/memoize.d.ts +6 -0
  612. package/lib/util/memoize.d.ts.map +1 -1
  613. package/lib/util/memoize.js +23 -0
  614. package/lib/util/memoize.js.map +1 -1
  615. package/lib/util/oauth-client.d.ts +71 -0
  616. package/lib/util/oauth-client.d.ts.map +1 -0
  617. package/lib/util/oauth-client.js +188 -0
  618. package/lib/util/oauth-client.js.map +1 -0
  619. package/lib/util/poll.d.ts +33 -0
  620. package/lib/util/poll.d.ts.map +1 -0
  621. package/lib/util/poll.js +19 -0
  622. package/lib/util/poll.js.map +1 -0
  623. package/lib/vercel/project-domain.d.ts +1 -2
  624. package/lib/vercel/project-domain.d.ts.map +1 -1
  625. package/lib/vercel/project-domain.js.map +1 -1
  626. package/lib/vercel/project.d.ts +1 -2
  627. package/lib/vercel/project.d.ts.map +1 -1
  628. package/lib/vercel/project.js +2 -2
  629. package/lib/vercel/project.js.map +1 -1
  630. package/package.json +5 -1
  631. package/src/alchemy.ts +7 -0
  632. package/src/apply.ts +32 -29
  633. package/src/auth.ts +253 -0
  634. package/src/aws/bucket.ts +3 -3
  635. package/src/aws/control/resource.ts +4 -6
  636. package/src/aws/ec2/internet-gateway-attachment.ts +5 -6
  637. package/src/aws/ec2/internet-gateway.ts +3 -5
  638. package/src/aws/ec2/nat-gateway.ts +3 -5
  639. package/src/aws/ec2/route-table-association.ts +3 -5
  640. package/src/aws/ec2/route-table.ts +3 -5
  641. package/src/aws/ec2/route.ts +3 -3
  642. package/src/aws/ec2/security-group-rule.ts +3 -5
  643. package/src/aws/ec2/security-group.ts +3 -5
  644. package/src/aws/ec2/subnet.ts +3 -3
  645. package/src/aws/ec2/vpc.ts +3 -3
  646. package/src/aws/function.ts +3 -3
  647. package/src/aws/oidc/oidc-provider.ts +3 -5
  648. package/src/aws/policy-attachment.ts +2 -4
  649. package/src/aws/policy.ts +5 -5
  650. package/src/aws/queue.ts +5 -5
  651. package/src/aws/role.ts +3 -3
  652. package/src/aws/ses.ts +3 -3
  653. package/src/aws/ssm-parameter.ts +3 -3
  654. package/src/aws/table.ts +3 -3
  655. package/src/cloudflare/account-api-token.ts +3 -4
  656. package/src/cloudflare/ai-gateway.ts +3 -5
  657. package/src/cloudflare/api-gateway-operation.ts +3 -4
  658. package/src/cloudflare/api-schema.ts +25 -26
  659. package/src/cloudflare/api-shield.ts +3 -4
  660. package/src/cloudflare/api.ts +122 -57
  661. package/src/cloudflare/assets.ts +95 -136
  662. package/src/cloudflare/auth.ts +160 -95
  663. package/src/cloudflare/bindings.ts +21 -4
  664. package/src/cloudflare/bound.ts +50 -52
  665. package/src/cloudflare/bucket.ts +321 -58
  666. package/src/cloudflare/bundle/internal-worker-bundle.ts +2 -1
  667. package/src/cloudflare/bundle/plugin-wasm.ts +5 -5
  668. package/src/cloudflare/certificate-pack.ts +5 -6
  669. package/src/cloudflare/compatibility-date.gen.ts +1 -1
  670. package/src/cloudflare/container.ts +7 -8
  671. package/src/cloudflare/custom-domain.ts +3 -5
  672. package/src/cloudflare/d1-database.ts +33 -34
  673. package/src/cloudflare/dispatch-namespace.ts +5 -6
  674. package/src/cloudflare/dns-records.ts +5 -5
  675. package/src/cloudflare/email-address.ts +7 -7
  676. package/src/cloudflare/email-catch-all.ts +6 -6
  677. package/src/cloudflare/email-routing.ts +5 -5
  678. package/src/cloudflare/email-rule.ts +5 -5
  679. package/src/cloudflare/hyperdrive-ref.ts +98 -0
  680. package/src/cloudflare/hyperdrive.ts +35 -36
  681. package/src/cloudflare/index.ts +2 -0
  682. package/src/cloudflare/kv-namespace.ts +31 -32
  683. package/src/cloudflare/miniflare/build-worker-options.ts +21 -12
  684. package/src/cloudflare/miniflare/delete.ts +1 -1
  685. package/src/cloudflare/miniflare/miniflare-controller.ts +27 -12
  686. package/src/cloudflare/miniflare/miniflare-worker-proxy.ts +117 -102
  687. package/src/cloudflare/miniflare/remote-binding-proxy.ts +16 -4
  688. package/src/cloudflare/miniflare/tunnel.ts +116 -0
  689. package/src/cloudflare/next.ts +3 -0
  690. package/src/cloudflare/permission-groups.ts +4 -6
  691. package/src/cloudflare/pipeline.ts +29 -30
  692. package/src/cloudflare/queue-consumer.ts +5 -7
  693. package/src/cloudflare/queue.ts +42 -43
  694. package/src/cloudflare/react-router/plugin.ts +20 -0
  695. package/src/cloudflare/redirect-rule.ts +5 -5
  696. package/src/cloudflare/route.ts +5 -5
  697. package/src/cloudflare/ruleset.ts +3 -4
  698. package/src/cloudflare/secret-ref.ts +56 -0
  699. package/src/cloudflare/secret.ts +35 -36
  700. package/src/cloudflare/secrets-store.ts +5 -8
  701. package/src/cloudflare/tunnel.ts +5 -7
  702. package/src/cloudflare/user.ts +12 -9
  703. package/src/cloudflare/vectorize-index.ts +8 -12
  704. package/src/cloudflare/vectorize-metadata-index.ts +6 -8
  705. package/src/cloudflare/website.ts +1 -1
  706. package/src/cloudflare/worker-assets.ts +10 -56
  707. package/src/cloudflare/worker-metadata.ts +14 -12
  708. package/src/cloudflare/worker-stub.ts +5 -5
  709. package/src/cloudflare/worker-subdomain.ts +6 -7
  710. package/src/cloudflare/worker.ts +123 -92
  711. package/src/cloudflare/wrangler.json.ts +13 -11
  712. package/src/cloudflare/zone.ts +3 -3
  713. package/src/context.ts +9 -7
  714. package/src/destroy.ts +2 -2
  715. package/src/dns/import-dns.ts +3 -5
  716. package/src/docker/container.ts +3 -6
  717. package/src/docker/image.ts +13 -13
  718. package/src/docker/network.ts +3 -4
  719. package/src/docker/remote-image.ts +3 -6
  720. package/src/docker/volume.ts +3 -4
  721. package/src/esbuild/bundle.ts +10 -8
  722. package/src/fs/copy-file.ts +3 -3
  723. package/src/fs/file.ts +3 -3
  724. package/src/fs/folder.ts +3 -3
  725. package/src/github/comment.ts +5 -7
  726. package/src/github/repository-environment.ts +3 -5
  727. package/src/github/repository-webhook.ts +3 -5
  728. package/src/github/secret.ts +3 -5
  729. package/src/llms.cloudflare.txt +1 -1
  730. package/src/neon/api/client.gen.ts +28 -0
  731. package/src/neon/api/sdk.gen.ts +2596 -0
  732. package/src/neon/api/types.gen.ts +8287 -0
  733. package/src/neon/api.ts +51 -147
  734. package/src/neon/branch.ts +278 -0
  735. package/src/neon/index.ts +1 -1
  736. package/src/neon/project.ts +136 -721
  737. package/src/neon/utils.ts +105 -0
  738. package/src/os/exec.ts +3 -3
  739. package/src/planetscale/api/client.gen.ts +28 -2882
  740. package/src/planetscale/api/sdk.gen.ts +3336 -0
  741. package/src/planetscale/api/types.gen.ts +778 -450
  742. package/src/planetscale/api.ts +101 -0
  743. package/src/planetscale/branch.ts +20 -19
  744. package/src/planetscale/database.ts +69 -70
  745. package/src/planetscale/index.ts +1 -1
  746. package/src/planetscale/password.ts +18 -22
  747. package/src/planetscale/role.ts +21 -21
  748. package/src/planetscale/utils.ts +20 -74
  749. package/src/random/random-string.ts +4 -4
  750. package/src/resource.ts +6 -2
  751. package/src/scope.ts +12 -1
  752. package/src/sentry/client-key.ts +3 -5
  753. package/src/sentry/project.ts +3 -5
  754. package/src/sentry/team.ts +3 -3
  755. package/src/state/r2-rest-state-store.ts +15 -57
  756. package/src/stripe/card.ts +3 -3
  757. package/src/stripe/coupon.ts +3 -3
  758. package/src/stripe/customer.ts +3 -3
  759. package/src/stripe/entitlements-feature.ts +3 -5
  760. package/src/stripe/file.ts +3 -3
  761. package/src/stripe/meter.ts +3 -3
  762. package/src/stripe/portal-configuration.ts +3 -5
  763. package/src/stripe/price.ts +3 -3
  764. package/src/stripe/product-feature.ts +3 -5
  765. package/src/stripe/product.ts +3 -3
  766. package/src/stripe/promotion-code.ts +3 -5
  767. package/src/stripe/shipping-rate.ts +3 -5
  768. package/src/stripe/tax-rate.ts +3 -3
  769. package/src/stripe/webhook.ts +3 -5
  770. package/src/test/bun.ts +1 -0
  771. package/src/test/options.ts +6 -0
  772. package/src/test/vitest.ts +1 -0
  773. package/src/upstash/redis.ts +1 -3
  774. package/src/util/api/client/client.gen.ts +268 -0
  775. package/src/util/api/client/index.ts +25 -0
  776. package/src/util/api/client/types.gen.ts +268 -0
  777. package/src/util/api/client/utils.gen.ts +331 -0
  778. package/src/util/api/core/auth.gen.ts +42 -0
  779. package/src/util/api/core/bodySerializer.gen.ts +92 -0
  780. package/src/util/api/core/params.gen.ts +153 -0
  781. package/src/util/api/core/pathSerializer.gen.ts +181 -0
  782. package/src/util/api/core/serverSentEvents.gen.ts +264 -0
  783. package/src/util/api/core/types.gen.ts +118 -0
  784. package/src/util/api/core/utils.gen.ts +143 -0
  785. package/src/util/http.ts +38 -11
  786. package/src/util/idempotent-spawn.ts +5 -6
  787. package/src/util/lock.ts +48 -0
  788. package/src/util/memoize.ts +26 -0
  789. package/src/util/oauth-client.ts +238 -0
  790. package/src/util/poll.ts +55 -0
  791. package/src/vercel/project-domain.ts +1 -3
  792. package/src/vercel/project.ts +3 -3
  793. package/templates/rwsdk/.cursor/rules/alchemy_cloudflare.mdc +1 -1
  794. package/templates/rwsdk/package.json +3 -3
  795. package/workers/cloudflare-state-store.js +8 -5619
  796. package/workers/dofs-state-store.js +2 -802
  797. package/workers/remote-binding-proxy.js +3 -39
  798. package/workers/remote-binding-proxy.ts +126 -35
  799. package/workers/tunnel-proxy.js +43 -0
  800. package/workers/tunnel-proxy.ts +121 -0
  801. package/lib/cloudflare/asset-manifest.d.ts +0 -15
  802. package/lib/cloudflare/asset-manifest.d.ts.map +0 -1
  803. package/lib/cloudflare/asset-manifest.js +0 -1
  804. package/lib/cloudflare/asset-manifest.js.map +0 -1
  805. package/lib/cloudflare/oauth.d.ts +0 -22
  806. package/lib/cloudflare/oauth.d.ts.map +0 -1
  807. package/lib/cloudflare/oauth.js +0 -214
  808. package/lib/cloudflare/oauth.js.map +0 -1
  809. package/lib/neon/api-error.d.ts +0 -31
  810. package/lib/neon/api-error.d.ts.map +0 -1
  811. package/lib/neon/api-error.js +0 -73
  812. package/lib/neon/api-error.js.map +0 -1
  813. package/lib/planetscale/api/index.d.ts +0 -3
  814. package/lib/planetscale/api/index.d.ts.map +0 -1
  815. package/lib/planetscale/api/index.js +0 -4
  816. package/lib/planetscale/api/index.js.map +0 -1
  817. package/lib/util/neverthrow.d.ts +0 -16
  818. package/lib/util/neverthrow.d.ts.map +0 -1
  819. package/lib/util/neverthrow.js +0 -46
  820. package/lib/util/neverthrow.js.map +0 -1
  821. package/src/cloudflare/asset-manifest.ts +0 -16
  822. package/src/cloudflare/oauth.ts +0 -301
  823. package/src/neon/api-error.ts +0 -81
  824. package/src/planetscale/api/index.ts +0 -4
  825. package/src/util/neverthrow.ts +0 -64
@@ -51,42 +51,41 @@ export interface SecretProps extends CloudflareApiOptions {
51
51
  delete?: boolean;
52
52
  }
53
53
 
54
- export function isSecret(resource: Resource): resource is Secret {
55
- return resource[ResourceKind] === "cloudflare::Secret";
54
+ export function isSecret(resource: any): resource is Secret {
55
+ return resource?.[ResourceKind] === "cloudflare::Secret";
56
56
  }
57
57
 
58
- export type Secret = Resource<"cloudflare::Secret"> &
59
- Omit<SecretProps, "delete" | "value"> & {
60
- /**
61
- * The binding type for Cloudflare Workers
62
- */
63
- type: "secrets_store_secret";
64
-
65
- /**
66
- * The name of the secret
67
- */
68
- name: string;
69
-
70
- /**
71
- * The unique identifier of the secrets store this secret belongs to
72
- */
73
- storeId: string;
74
-
75
- /**
76
- * The secret value (as an alchemy Secret instance)
77
- */
78
- value: AlchemySecret;
79
-
80
- /**
81
- * Timestamp when the secret was created
82
- */
83
- createdAt: number;
84
-
85
- /**
86
- * Timestamp when the secret was last modified
87
- */
88
- modifiedAt: number;
89
- };
58
+ export type Secret = Omit<SecretProps, "delete" | "value"> & {
59
+ /**
60
+ * The binding type for Cloudflare Workers
61
+ */
62
+ type: "secrets_store_secret";
63
+
64
+ /**
65
+ * The name of the secret
66
+ */
67
+ name: string;
68
+
69
+ /**
70
+ * The unique identifier of the secrets store this secret belongs to
71
+ */
72
+ storeId: string;
73
+
74
+ /**
75
+ * The secret value (as an alchemy Secret instance)
76
+ */
77
+ value: AlchemySecret;
78
+
79
+ /**
80
+ * Timestamp when the secret was created
81
+ */
82
+ createdAt: number;
83
+
84
+ /**
85
+ * Timestamp when the secret was last modified
86
+ */
87
+ modifiedAt: number;
88
+ };
90
89
 
91
90
  /**
92
91
  * A Cloudflare Secret represents an individual secret stored in a Secrets Store.
@@ -197,7 +196,7 @@ const _Secret = Resource(
197
196
  // Insert or update the secret
198
197
  await insertSecret(api, storeId, secretName, props.value);
199
198
 
200
- return this({
199
+ return {
201
200
  type: "secrets_store_secret",
202
201
  name: secretName,
203
202
  storeId,
@@ -205,7 +204,7 @@ const _Secret = Resource(
205
204
  value: props.value,
206
205
  createdAt,
207
206
  modifiedAt: Date.now(),
208
- });
207
+ };
209
208
  },
210
209
  );
211
210
 
@@ -54,16 +54,13 @@ export interface SecretsStoreProps<
54
54
  delete?: boolean;
55
55
  }
56
56
 
57
- export function isSecretsStore(
58
- resource: Resource,
59
- ): resource is SecretsStore<any> {
60
- return resource[ResourceKind] === "cloudflare::SecretsStore";
57
+ export function isSecretsStore(resource: any): resource is SecretsStore<any> {
58
+ return resource?.[ResourceKind] === "cloudflare::SecretsStore";
61
59
  }
62
60
 
63
61
  export interface SecretsStore<
64
62
  S extends Record<string, Secret> | undefined = undefined,
65
- > extends Resource<"cloudflare::SecretsStore">,
66
- Omit<SecretsStoreProps<S>, "delete"> {
63
+ > extends Omit<SecretsStoreProps<S>, "delete"> {
67
64
  /**
68
65
  * The unique identifier of the secrets store
69
66
  */
@@ -240,13 +237,13 @@ const _SecretsStore = Resource("cloudflare::SecretsStore", async function <
240
237
  await insertSecrets(api, storeId, props);
241
238
  }
242
239
 
243
- return this({
240
+ return {
244
241
  id: storeId,
245
242
  name: name,
246
243
  secrets: props.secrets as S,
247
244
  createdAt: createdAt,
248
245
  modifiedAt: Date.now(),
249
- });
246
+ };
250
247
  });
251
248
 
252
249
  export async function createSecretsStore<
@@ -264,16 +264,14 @@ export interface OriginRequestConfig {
264
264
  tcpKeepAliveInterval?: number;
265
265
  }
266
266
 
267
- export function isTunnel(resource: Resource): resource is Tunnel {
268
- return resource[ResourceKind] === "cloudflare::Tunnel";
267
+ export function isTunnel(resource: any): resource is Tunnel {
268
+ return resource?.[ResourceKind] === "cloudflare::Tunnel";
269
269
  }
270
270
 
271
271
  /**
272
272
  * Output returned after Tunnel creation/update
273
273
  */
274
- export interface Tunnel
275
- extends Resource<"cloudflare::Tunnel">,
276
- Omit<TunnelProps, "delete" | "tunnelSecret"> {
274
+ export interface Tunnel extends Omit<TunnelProps, "delete" | "tunnelSecret"> {
277
275
  /**
278
276
  * The name of the tunnel
279
277
  */
@@ -667,7 +665,7 @@ export const Tunnel = Resource(
667
665
  }
668
666
 
669
667
  // Transform API response to our interface
670
- return this({
668
+ return {
671
669
  tunnelId: tunnelData.id,
672
670
  accountTag: tunnelData.account_tag,
673
671
  name: tunnelData.name,
@@ -697,7 +695,7 @@ export const Tunnel = Resource(
697
695
  originRequest: props.originRequest,
698
696
  configSrc: props.configSrc,
699
697
  dnsRecords: Object.keys(dnsRecords).length > 0 ? dnsRecords : undefined,
700
- });
698
+ };
701
699
  },
702
700
  );
703
701
 
@@ -1,11 +1,9 @@
1
+ import type { Credentials } from "../auth.ts";
1
2
  import type { Secret } from "../secret.ts";
2
3
  import { logger } from "../util/logger.ts";
3
4
  import { memoize } from "../util/memoize.ts";
4
5
  import { extractCloudflareResult } from "./api-response.ts";
5
- import {
6
- getCloudflareAuthHeaders,
7
- type CloudflareAuthOptions,
8
- } from "./auth.ts";
6
+ import { CloudflareAuth } from "./auth.ts";
9
7
 
10
8
  export interface CloudflareAccount {
11
9
  name: string;
@@ -56,15 +54,20 @@ export interface CloudflareOrganization {
56
54
  roles: string[];
57
55
  }
58
56
 
59
- export const getCloudflareAccountId = memoize(
60
- async (options: CloudflareAuthOptions): Promise<string> => {
61
- const headers = await getCloudflareAuthHeaders(options);
62
- const accounts = await extractCloudflareResult<CloudflareAccount[]>(
57
+ export const listCloudflareAccounts = memoize(
58
+ async (credentials: Credentials): Promise<CloudflareAccount[]> => {
59
+ return await extractCloudflareResult<CloudflareAccount[]>(
63
60
  "get accounts for authorized user",
64
61
  fetch("https://api.cloudflare.com/client/v4/accounts", {
65
- headers,
62
+ headers: CloudflareAuth.formatHeaders(credentials),
66
63
  }),
67
64
  );
65
+ },
66
+ );
67
+
68
+ export const getCloudflareAccountId = memoize(
69
+ async (credentials: Credentials): Promise<string> => {
70
+ const accounts = await listCloudflareAccounts(credentials);
68
71
  if (!accounts[0]) {
69
72
  throw new Error(
70
73
  "No accounts found for authorized user. Please make sure you're authenticated (see: https://alchemy.run/guides/cloudflare/) or explicitly set the Cloudflare Account ID (see: https://alchemy.run/guides/cloudflare/#account-id)",
@@ -51,18 +51,14 @@ export interface VectorizeIndexProps extends CloudflareApiOptions {
51
51
  adopt?: boolean;
52
52
  }
53
53
 
54
- export function isVectorizeIndex(
55
- resource: Resource,
56
- ): resource is VectorizeIndex {
57
- return resource[ResourceKind] === "cloudflare::VectorizeIndex";
54
+ export function isVectorizeIndex(resource: any): resource is VectorizeIndex {
55
+ return resource?.[ResourceKind] === "cloudflare::VectorizeIndex";
58
56
  }
59
57
 
60
58
  /**
61
59
  * Output returned after Vectorize Index creation/update
62
60
  */
63
- export interface VectorizeIndex
64
- extends Resource<"cloudflare::VectorizeIndex">,
65
- VectorizeIndexProps {
61
+ export interface VectorizeIndex extends VectorizeIndexProps {
66
62
  type: "vectorize";
67
63
 
68
64
  /**
@@ -176,10 +172,10 @@ export const VectorizeIndex = Resource(
176
172
  `Attempted to update Vectorize index ${indexName} but only the delete property can be changed.`,
177
173
  );
178
174
  }
179
- return this({
175
+ return {
180
176
  ...this.output,
181
177
  delete: props.delete,
182
- });
178
+ };
183
179
  }
184
180
 
185
181
  // Check if this is a no-op update
@@ -194,7 +190,7 @@ export const VectorizeIndex = Resource(
194
190
  `Attempted to update Vectorize index ${indexName} but it was a no-op.`,
195
191
  );
196
192
  }
197
- return this(this.output);
193
+ return this.output;
198
194
  }
199
195
 
200
196
  // Update operation is not supported by Vectorize API
@@ -204,7 +200,7 @@ export const VectorizeIndex = Resource(
204
200
  );
205
201
  }
206
202
 
207
- return this({
203
+ return {
208
204
  type: "vectorize",
209
205
  id: indexName,
210
206
  name: indexName,
@@ -218,7 +214,7 @@ export const VectorizeIndex = Resource(
218
214
  createdAt: indexData.result.created_on
219
215
  ? new Date(indexData.result.created_on).getTime()
220
216
  : undefined,
221
- });
217
+ };
222
218
  },
223
219
  );
224
220
 
@@ -30,17 +30,15 @@ export interface VectorizeMetadataIndexProps extends CloudflareApiOptions {
30
30
  }
31
31
 
32
32
  export function isVectorizeMetadataIndex(
33
- resource: Resource,
33
+ resource: any,
34
34
  ): resource is VectorizeMetadataIndex {
35
- return resource[ResourceKind] === "cloudflare::VectorizeMetadataIndex";
35
+ return resource?.[ResourceKind] === "cloudflare::VectorizeMetadataIndex";
36
36
  }
37
37
 
38
38
  /**
39
39
  * Output returned after Vectorize Metadata Index creation/deletion
40
40
  */
41
- export interface VectorizeMetadataIndex
42
- extends Resource<"cloudflare::VectorizeMetadataIndex">,
43
- VectorizeMetadataIndexProps {
41
+ export interface VectorizeMetadataIndex extends VectorizeMetadataIndexProps {
44
42
  /**
45
43
  * ID of this metadata index (derived from propertyName)
46
44
  */
@@ -126,7 +124,7 @@ export const VectorizeMetadataIndex = Resource(
126
124
  `Attempted to update Vectorize metadata index ${this.props.propertyName} but it was a no-op.`,
127
125
  );
128
126
  }
129
- return this(this.output);
127
+ return this.output;
130
128
  }
131
129
  // Update operation is not supported
132
130
  throw new Error(
@@ -136,14 +134,14 @@ export const VectorizeMetadataIndex = Resource(
136
134
  }
137
135
  const indexData = await createMetadataIndex(api, indexName, props);
138
136
 
139
- return this({
137
+ return {
140
138
  id: propertyName, // Use propertyName as ID
141
139
  index: props.index,
142
140
  propertyName: props.propertyName,
143
141
  indexType: props.indexType,
144
142
  accountId: api.accountId,
145
143
  mutationId: indexData.result.mutationId,
146
- });
144
+ };
147
145
  },
148
146
  );
149
147
 
@@ -344,7 +344,7 @@ export async function Website<B extends Bindings>(
344
344
  ...worker.bindings,
345
345
  ...(!scope.local
346
346
  ? {
347
- ASSETS: await Assets("assets", {
347
+ ASSETS: await Assets({
348
348
  path: path.relative(process.cwd(), paths.assets),
349
349
  }),
350
350
  }
@@ -1,11 +1,9 @@
1
- import crypto from "node:crypto";
2
1
  import fs from "node:fs/promises";
3
- import path from "node:path";
4
2
  import { AsyncQueue } from "../util/async-queue.ts";
5
3
  import { withExponentialBackoff } from "../util/retry.ts";
6
4
  import { extractCloudflareResult } from "./api-response.ts";
7
5
  import type { CloudflareApi } from "./api.ts";
8
- import type { AssetFile, Assets } from "./assets.ts";
6
+ import { Assets } from "./assets.ts";
9
7
  import type { AssetsConfig, WorkerProps } from "./worker.ts";
10
8
 
11
9
  export interface AssetUploadResult {
@@ -47,7 +45,12 @@ export async function uploadAssets(
47
45
  // Process the assets configuration once at the beginning
48
46
  const processedConfig = createAssetConfig(assetConfig);
49
47
 
50
- const { manifest, filesByHash } = await prepareAssetManifest(assets);
48
+ const manifest: Record<string, FileMetadata> = {};
49
+ const filesByHash = new Map<string, Assets.FileMetadata>();
50
+ for (const file of await Assets.read(assets.path)) {
51
+ manifest[file.name] = { hash: file.hash, size: file.size };
52
+ filesByHash.set(file.hash, file);
53
+ }
51
54
 
52
55
  // Start the upload session
53
56
  const uploadSession = await extractCloudflareResult<{
@@ -130,31 +133,11 @@ export function createAssetConfig(config?: AssetsConfig): AssetsConfig {
130
133
  return assetConfig;
131
134
  }
132
135
 
133
- /**
134
- * Prepares the asset manifest for the assets upload session
135
- *
136
- * @param assets Assets resource containing files to upload
137
- * @returns Asset manifest and files by hash
138
- */
139
- export async function prepareAssetManifest(assets: Assets) {
140
- const manifest: Record<string, FileMetadata> = {};
141
- const filesByHash = new Map<string, AssetFile>();
142
- await Promise.all(
143
- assets.files.map(async (file) => {
144
- const { hash, size } = await calculateFileMetadata(file.filePath);
145
- const key = file.path.startsWith("/") ? file.path : `/${file.path}`;
146
- manifest[key] = { hash, size };
147
- filesByHash.set(hash, file);
148
- }),
149
- );
150
- return { manifest, filesByHash };
151
- }
152
-
153
136
  async function uploadBucket(
154
137
  api: CloudflareApi,
155
138
  jwt: string,
156
139
  bucket: string[],
157
- filesByHash: Map<string, AssetFile>,
140
+ filesByHash: Map<string, Assets.FileMetadata>,
158
141
  ) {
159
142
  const formData = new FormData();
160
143
  await Promise.all(
@@ -163,9 +146,9 @@ async function uploadBucket(
163
146
  if (!file) {
164
147
  throw new Error(`Could not find file with hash ${fileHash}`);
165
148
  }
166
- const fileContent = await fs.readFile(file.filePath);
149
+ const fileContent = await fs.readFile(file.path);
167
150
  const blob = new Blob([fileContent.toString("base64")], {
168
- type: file.contentType,
151
+ type: file.type,
169
152
  });
170
153
  formData.append(fileHash, blob, fileHash);
171
154
  }),
@@ -184,32 +167,3 @@ async function uploadBucket(
184
167
  );
185
168
  return uploadResult.jwt;
186
169
  }
187
-
188
- /**
189
- * Calculate the SHA-256 hash and size of a file
190
- *
191
- * @param filePath Path to the file
192
- * @returns Hash (first 32 chars of SHA-256) and size of the file
193
- */
194
- export async function calculateFileMetadata(
195
- filePath: string,
196
- ): Promise<{ hash: string; size: number }> {
197
- const contents = await fs.readFile(filePath);
198
-
199
- const hash = crypto.createHash("sha256");
200
- hash.update(contents);
201
-
202
- const extension = path.extname(filePath).substring(1);
203
- hash.update(extension);
204
-
205
- if (contents.length > 26214400) {
206
- throw new Error(
207
- `File "${filePath}" is too large to upload as an asset to Cloudflare (the file is ${(contents.length / 1024 / 1024).toFixed(2)} MB; the maximum size is 25MB).`,
208
- );
209
- }
210
-
211
- return {
212
- hash: hash.digest("hex").slice(0, 32),
213
- size: contents.length,
214
- };
215
- }
@@ -3,11 +3,10 @@ import { logger } from "../util/logger.ts";
3
3
  import { memoize } from "../util/memoize.ts";
4
4
  import { extractCloudflareResult } from "./api-response.ts";
5
5
  import type { CloudflareApi } from "./api.ts";
6
- import {
7
- Self,
8
- type Bindings,
9
- type WorkerBindingDurableObjectNamespace,
10
- type WorkerBindingSpec,
6
+ import type {
7
+ Bindings,
8
+ WorkerBindingDurableObjectNamespace,
9
+ WorkerBindingSpec,
11
10
  } from "./bindings.ts";
12
11
  import { isContainer, type Container } from "./container.ts";
13
12
  import {
@@ -392,11 +391,12 @@ export async function prepareWorkerMetadata(
392
391
  name: bindingName,
393
392
  text: binding,
394
393
  });
395
- } else if (binding === Self) {
394
+ } else if (binding.type === "cloudflare::Worker::Self") {
396
395
  meta.bindings.push({
397
396
  type: "service",
398
397
  name: bindingName,
399
398
  service: props.workerName,
399
+ entrypoint: binding.__entrypoint__,
400
400
  });
401
401
  } else if (binding.type === "d1") {
402
402
  meta.bindings.push({
@@ -416,6 +416,8 @@ export async function prepareWorkerMetadata(
416
416
  type: "service",
417
417
  name: bindingName,
418
418
  service: "service" in binding ? binding.service : binding.name,
419
+ entrypoint:
420
+ "__entrypoint__" in binding ? binding.__entrypoint__ : undefined,
419
421
  });
420
422
  } else if (binding.type === "durable_object_namespace") {
421
423
  meta.bindings.push({
@@ -491,12 +493,6 @@ export async function prepareWorkerMetadata(
491
493
  name: bindingName,
492
494
  index_name: binding.name,
493
495
  });
494
- } else if (binding.type === "ai_gateway") {
495
- // AI Gateway binding - just needs the name property
496
- meta.bindings.push({
497
- type: "ai",
498
- name: bindingName,
499
- });
500
496
  } else if (binding.type === "hyperdrive") {
501
497
  // Hyperdrive binding
502
498
  meta.bindings.push({
@@ -510,6 +506,12 @@ export async function prepareWorkerMetadata(
510
506
  name: bindingName,
511
507
  });
512
508
  } else if (binding.type === "ai") {
509
+ const existing = meta.bindings.find((b) => b.type === "ai");
510
+ if (existing) {
511
+ throw new Error(
512
+ `Workers cannot have multiple AI bindings. Binding "${bindingName}" conflicts with "${existing.name}".`,
513
+ );
514
+ }
513
515
  meta.bindings.push({
514
516
  type: "ai",
515
517
  name: bindingName,
@@ -43,7 +43,7 @@ export interface WorkerStubProps<
43
43
  */
44
44
  export interface WorkerStub<
45
45
  RPC extends Rpc.WorkerEntrypointBranded = Rpc.WorkerEntrypointBranded,
46
- > extends Resource<"cloudflare::WorkerStub"> {
46
+ > {
47
47
  type: "service";
48
48
  /**
49
49
  * The name of the worker
@@ -64,8 +64,8 @@ export interface WorkerStub<
64
64
  __rpc__?: RPC;
65
65
  }
66
66
 
67
- export function isWorkerStub(resource: Resource): resource is WorkerStub {
68
- return resource[ResourceKind] === "cloudflare::WorkerStub";
67
+ export function isWorkerStub(resource: any): resource is WorkerStub {
68
+ return resource?.[ResourceKind] === "cloudflare::WorkerStub";
69
69
  }
70
70
 
71
71
  /**
@@ -120,12 +120,12 @@ export const WorkerStub = Resource("cloudflare::WorkerStub", async function <
120
120
  : undefined;
121
121
 
122
122
  // Return the worker stub info
123
- return this({
123
+ return {
124
124
  type: "service",
125
125
  __rpc__: props.rpc as unknown as RPC,
126
126
  ...props,
127
127
  url: subdomain?.url,
128
- }) as WorkerStub<RPC>;
128
+ } as WorkerStub<RPC>;
129
129
  });
130
130
 
131
131
  async function exists(
@@ -37,8 +37,7 @@ interface WorkerSubdomainProps extends CloudflareApiOptions {
37
37
  dev?: boolean;
38
38
  }
39
39
 
40
- export interface WorkerSubdomain
41
- extends Resource<"cloudflare::WorkerSubdomain"> {
40
+ export interface WorkerSubdomain {
42
41
  /**
43
42
  * The `workers.dev` URL for the worker or preview version.
44
43
  */
@@ -49,13 +48,13 @@ export const WorkerSubdomain = Resource(
49
48
  "cloudflare::WorkerSubdomain",
50
49
  async function (
51
50
  this: Context<WorkerSubdomain>,
52
- id: string,
51
+ _id: string,
53
52
  props: WorkerSubdomainProps,
54
53
  ) {
55
54
  if (this.scope.local && props.dev) {
56
- return this({
55
+ return {
57
56
  url: this.output?.url ?? "https://unavailable.alchemy.run",
58
- });
57
+ };
59
58
  }
60
59
 
61
60
  const api = await createCloudflareApi(props);
@@ -74,9 +73,9 @@ export const WorkerSubdomain = Resource(
74
73
  } else {
75
74
  url = `https://${props.scriptName}.${base}`;
76
75
  }
77
- return this(id, {
76
+ return {
78
77
  url,
79
- });
78
+ };
80
79
  },
81
80
  );
82
81