alchemy 0.67.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 (750) hide show
  1. package/bin/alchemy.js +25563 -26265
  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/resource.d.ts +34 -3
  20. package/lib/aws/control/resource.d.ts.map +1 -1
  21. package/lib/aws/control/resource.js +3 -3
  22. package/lib/aws/control/resource.js.map +1 -1
  23. package/lib/aws/ec2/internet-gateway-attachment.d.ts +1 -2
  24. package/lib/aws/ec2/internet-gateway-attachment.d.ts.map +1 -1
  25. package/lib/aws/ec2/internet-gateway-attachment.js +4 -4
  26. package/lib/aws/ec2/internet-gateway-attachment.js.map +1 -1
  27. package/lib/aws/ec2/internet-gateway.d.ts +1 -2
  28. package/lib/aws/ec2/internet-gateway.d.ts.map +1 -1
  29. package/lib/aws/ec2/internet-gateway.js +2 -2
  30. package/lib/aws/ec2/internet-gateway.js.map +1 -1
  31. package/lib/aws/ec2/nat-gateway.d.ts +1 -2
  32. package/lib/aws/ec2/nat-gateway.d.ts.map +1 -1
  33. package/lib/aws/ec2/nat-gateway.js +2 -2
  34. package/lib/aws/ec2/nat-gateway.js.map +1 -1
  35. package/lib/aws/ec2/route-table-association.d.ts +1 -2
  36. package/lib/aws/ec2/route-table-association.d.ts.map +1 -1
  37. package/lib/aws/ec2/route-table-association.js +2 -2
  38. package/lib/aws/ec2/route-table-association.js.map +1 -1
  39. package/lib/aws/ec2/route-table.d.ts +1 -2
  40. package/lib/aws/ec2/route-table.d.ts.map +1 -1
  41. package/lib/aws/ec2/route-table.js +2 -2
  42. package/lib/aws/ec2/route-table.js.map +1 -1
  43. package/lib/aws/ec2/route.d.ts +1 -2
  44. package/lib/aws/ec2/route.d.ts.map +1 -1
  45. package/lib/aws/ec2/route.js +2 -2
  46. package/lib/aws/ec2/route.js.map +1 -1
  47. package/lib/aws/ec2/security-group-rule.d.ts +1 -2
  48. package/lib/aws/ec2/security-group-rule.d.ts.map +1 -1
  49. package/lib/aws/ec2/security-group-rule.js +2 -2
  50. package/lib/aws/ec2/security-group-rule.js.map +1 -1
  51. package/lib/aws/ec2/security-group.d.ts +1 -2
  52. package/lib/aws/ec2/security-group.d.ts.map +1 -1
  53. package/lib/aws/ec2/security-group.js +2 -2
  54. package/lib/aws/ec2/security-group.js.map +1 -1
  55. package/lib/aws/ec2/subnet.d.ts +1 -2
  56. package/lib/aws/ec2/subnet.d.ts.map +1 -1
  57. package/lib/aws/ec2/subnet.js +2 -2
  58. package/lib/aws/ec2/subnet.js.map +1 -1
  59. package/lib/aws/ec2/vpc.d.ts +1 -2
  60. package/lib/aws/ec2/vpc.d.ts.map +1 -1
  61. package/lib/aws/ec2/vpc.js +2 -2
  62. package/lib/aws/ec2/vpc.js.map +1 -1
  63. package/lib/aws/function.d.ts +116 -3
  64. package/lib/aws/function.d.ts.map +1 -1
  65. package/lib/aws/function.js +2 -2
  66. package/lib/aws/function.js.map +1 -1
  67. package/lib/aws/oidc/github-oidc-provider.d.ts +13 -2
  68. package/lib/aws/oidc/github-oidc-provider.d.ts.map +1 -1
  69. package/lib/aws/oidc/oidc-provider.d.ts +48 -3
  70. package/lib/aws/oidc/oidc-provider.d.ts.map +1 -1
  71. package/lib/aws/oidc/oidc-provider.js +2 -2
  72. package/lib/aws/oidc/oidc-provider.js.map +1 -1
  73. package/lib/aws/policy-attachment.d.ts +2 -3
  74. package/lib/aws/policy-attachment.d.ts.map +1 -1
  75. package/lib/aws/policy-attachment.js +1 -1
  76. package/lib/aws/policy-attachment.js.map +1 -1
  77. package/lib/aws/policy.d.ts +1 -2
  78. package/lib/aws/policy.d.ts.map +1 -1
  79. package/lib/aws/policy.js +4 -4
  80. package/lib/aws/policy.js.map +1 -1
  81. package/lib/aws/queue.d.ts +1 -2
  82. package/lib/aws/queue.d.ts.map +1 -1
  83. package/lib/aws/queue.js +4 -4
  84. package/lib/aws/queue.js.map +1 -1
  85. package/lib/aws/role.d.ts +1 -2
  86. package/lib/aws/role.d.ts.map +1 -1
  87. package/lib/aws/role.js +2 -2
  88. package/lib/aws/role.js.map +1 -1
  89. package/lib/aws/ses.d.ts +1 -2
  90. package/lib/aws/ses.d.ts.map +1 -1
  91. package/lib/aws/ses.js +2 -2
  92. package/lib/aws/ses.js.map +1 -1
  93. package/lib/aws/ssm-parameter.d.ts +1 -2
  94. package/lib/aws/ssm-parameter.d.ts.map +1 -1
  95. package/lib/aws/ssm-parameter.js +2 -2
  96. package/lib/aws/ssm-parameter.js.map +1 -1
  97. package/lib/aws/table.d.ts +1 -2
  98. package/lib/aws/table.d.ts.map +1 -1
  99. package/lib/aws/table.js +2 -2
  100. package/lib/aws/table.js.map +1 -1
  101. package/lib/cloudflare/account-api-token.d.ts +1 -2
  102. package/lib/cloudflare/account-api-token.d.ts.map +1 -1
  103. package/lib/cloudflare/account-api-token.js +2 -2
  104. package/lib/cloudflare/account-api-token.js.map +1 -1
  105. package/lib/cloudflare/ai-gateway.d.ts +1 -2
  106. package/lib/cloudflare/ai-gateway.d.ts.map +1 -1
  107. package/lib/cloudflare/ai-gateway.js +2 -2
  108. package/lib/cloudflare/ai-gateway.js.map +1 -1
  109. package/lib/cloudflare/api-gateway-operation.d.ts +1 -2
  110. package/lib/cloudflare/api-gateway-operation.d.ts.map +1 -1
  111. package/lib/cloudflare/api-gateway-operation.js +2 -2
  112. package/lib/cloudflare/api-gateway-operation.js.map +1 -1
  113. package/lib/cloudflare/api-schema.d.ts +1 -2
  114. package/lib/cloudflare/api-schema.d.ts.map +1 -1
  115. package/lib/cloudflare/api-schema.js +2 -2
  116. package/lib/cloudflare/api-schema.js.map +1 -1
  117. package/lib/cloudflare/api-shield.d.ts +1 -2
  118. package/lib/cloudflare/api-shield.d.ts.map +1 -1
  119. package/lib/cloudflare/api-shield.js +2 -2
  120. package/lib/cloudflare/api-shield.js.map +1 -1
  121. package/lib/cloudflare/api.d.ts +18 -10
  122. package/lib/cloudflare/api.d.ts.map +1 -1
  123. package/lib/cloudflare/api.js +93 -38
  124. package/lib/cloudflare/api.js.map +1 -1
  125. package/lib/cloudflare/assets.d.ts +21 -43
  126. package/lib/cloudflare/assets.d.ts.map +1 -1
  127. package/lib/cloudflare/assets.js +78 -70
  128. package/lib/cloudflare/assets.js.map +1 -1
  129. package/lib/cloudflare/auth.d.ts +91 -17
  130. package/lib/cloudflare/auth.d.ts.map +1 -1
  131. package/lib/cloudflare/auth.js +141 -62
  132. package/lib/cloudflare/auth.js.map +1 -1
  133. package/lib/cloudflare/bound.d.ts +1 -1
  134. package/lib/cloudflare/bound.d.ts.map +1 -1
  135. package/lib/cloudflare/bucket.d.ts +60 -8
  136. package/lib/cloudflare/bucket.d.ts.map +1 -1
  137. package/lib/cloudflare/bucket.js +161 -18
  138. package/lib/cloudflare/bucket.js.map +1 -1
  139. package/lib/cloudflare/bundle/plugin-wasm.js +4 -2
  140. package/lib/cloudflare/bundle/plugin-wasm.js.map +1 -1
  141. package/lib/cloudflare/certificate-pack.d.ts +1 -2
  142. package/lib/cloudflare/certificate-pack.d.ts.map +1 -1
  143. package/lib/cloudflare/certificate-pack.js +4 -4
  144. package/lib/cloudflare/certificate-pack.js.map +1 -1
  145. package/lib/cloudflare/compatibility-date.gen.d.ts +1 -1
  146. package/lib/cloudflare/compatibility-date.gen.js +1 -1
  147. package/lib/cloudflare/container.d.ts +1 -2
  148. package/lib/cloudflare/container.d.ts.map +1 -1
  149. package/lib/cloudflare/container.js +6 -6
  150. package/lib/cloudflare/container.js.map +1 -1
  151. package/lib/cloudflare/custom-domain.d.ts +1 -2
  152. package/lib/cloudflare/custom-domain.d.ts.map +1 -1
  153. package/lib/cloudflare/custom-domain.js +2 -2
  154. package/lib/cloudflare/custom-domain.js.map +1 -1
  155. package/lib/cloudflare/d1-database.d.ts +2 -3
  156. package/lib/cloudflare/d1-database.d.ts.map +1 -1
  157. package/lib/cloudflare/d1-database.js +5 -5
  158. package/lib/cloudflare/d1-database.js.map +1 -1
  159. package/lib/cloudflare/dispatch-namespace.d.ts +2 -3
  160. package/lib/cloudflare/dispatch-namespace.d.ts.map +1 -1
  161. package/lib/cloudflare/dispatch-namespace.js +3 -3
  162. package/lib/cloudflare/dispatch-namespace.js.map +1 -1
  163. package/lib/cloudflare/dns-records.d.ts +1 -2
  164. package/lib/cloudflare/dns-records.d.ts.map +1 -1
  165. package/lib/cloudflare/dns-records.js +4 -4
  166. package/lib/cloudflare/dns-records.js.map +1 -1
  167. package/lib/cloudflare/email-address.d.ts +1 -2
  168. package/lib/cloudflare/email-address.d.ts.map +1 -1
  169. package/lib/cloudflare/email-address.js +6 -6
  170. package/lib/cloudflare/email-address.js.map +1 -1
  171. package/lib/cloudflare/email-catch-all.d.ts +1 -2
  172. package/lib/cloudflare/email-catch-all.d.ts.map +1 -1
  173. package/lib/cloudflare/email-catch-all.js +4 -4
  174. package/lib/cloudflare/email-catch-all.js.map +1 -1
  175. package/lib/cloudflare/email-routing.d.ts +1 -2
  176. package/lib/cloudflare/email-routing.d.ts.map +1 -1
  177. package/lib/cloudflare/email-routing.js +4 -4
  178. package/lib/cloudflare/email-routing.js.map +1 -1
  179. package/lib/cloudflare/email-rule.d.ts +1 -2
  180. package/lib/cloudflare/email-rule.d.ts.map +1 -1
  181. package/lib/cloudflare/email-rule.js +4 -4
  182. package/lib/cloudflare/email-rule.js.map +1 -1
  183. package/lib/cloudflare/hyperdrive.d.ts +1 -2
  184. package/lib/cloudflare/hyperdrive.d.ts.map +1 -1
  185. package/lib/cloudflare/hyperdrive.js +4 -4
  186. package/lib/cloudflare/hyperdrive.js.map +1 -1
  187. package/lib/cloudflare/kv-namespace.d.ts +2 -3
  188. package/lib/cloudflare/kv-namespace.d.ts.map +1 -1
  189. package/lib/cloudflare/kv-namespace.js +5 -5
  190. package/lib/cloudflare/kv-namespace.js.map +1 -1
  191. package/lib/cloudflare/miniflare/delete.js +1 -1
  192. package/lib/cloudflare/miniflare/delete.js.map +1 -1
  193. package/lib/cloudflare/miniflare/miniflare-worker-proxy.d.ts.map +1 -1
  194. package/lib/cloudflare/miniflare/miniflare-worker-proxy.js +2 -7
  195. package/lib/cloudflare/miniflare/miniflare-worker-proxy.js.map +1 -1
  196. package/lib/cloudflare/miniflare/remote-binding-proxy.d.ts.map +1 -1
  197. package/lib/cloudflare/miniflare/remote-binding-proxy.js +15 -4
  198. package/lib/cloudflare/miniflare/remote-binding-proxy.js.map +1 -1
  199. package/lib/cloudflare/permission-groups.d.ts +1 -2
  200. package/lib/cloudflare/permission-groups.d.ts.map +1 -1
  201. package/lib/cloudflare/permission-groups.js +1 -1
  202. package/lib/cloudflare/permission-groups.js.map +1 -1
  203. package/lib/cloudflare/pipeline.d.ts +2 -3
  204. package/lib/cloudflare/pipeline.d.ts.map +1 -1
  205. package/lib/cloudflare/pipeline.js +5 -5
  206. package/lib/cloudflare/pipeline.js.map +1 -1
  207. package/lib/cloudflare/queue-consumer.d.ts +1 -2
  208. package/lib/cloudflare/queue-consumer.d.ts.map +1 -1
  209. package/lib/cloudflare/queue-consumer.js +4 -4
  210. package/lib/cloudflare/queue-consumer.js.map +1 -1
  211. package/lib/cloudflare/queue.d.ts +1 -2
  212. package/lib/cloudflare/queue.d.ts.map +1 -1
  213. package/lib/cloudflare/queue.js +4 -4
  214. package/lib/cloudflare/queue.js.map +1 -1
  215. package/lib/cloudflare/react-router/plugin.d.ts.map +1 -1
  216. package/lib/cloudflare/react-router/plugin.js +13 -0
  217. package/lib/cloudflare/react-router/plugin.js.map +1 -1
  218. package/lib/cloudflare/redirect-rule.d.ts +1 -2
  219. package/lib/cloudflare/redirect-rule.d.ts.map +1 -1
  220. package/lib/cloudflare/redirect-rule.js +4 -4
  221. package/lib/cloudflare/redirect-rule.js.map +1 -1
  222. package/lib/cloudflare/route.d.ts +1 -2
  223. package/lib/cloudflare/route.d.ts.map +1 -1
  224. package/lib/cloudflare/route.js +4 -4
  225. package/lib/cloudflare/route.js.map +1 -1
  226. package/lib/cloudflare/ruleset.d.ts +1 -2
  227. package/lib/cloudflare/ruleset.d.ts.map +1 -1
  228. package/lib/cloudflare/ruleset.js +2 -2
  229. package/lib/cloudflare/ruleset.js.map +1 -1
  230. package/lib/cloudflare/secret.d.ts +2 -3
  231. package/lib/cloudflare/secret.d.ts.map +1 -1
  232. package/lib/cloudflare/secret.js +3 -3
  233. package/lib/cloudflare/secret.js.map +1 -1
  234. package/lib/cloudflare/secrets-store.d.ts +2 -3
  235. package/lib/cloudflare/secrets-store.d.ts.map +1 -1
  236. package/lib/cloudflare/secrets-store.js +3 -3
  237. package/lib/cloudflare/secrets-store.js.map +1 -1
  238. package/lib/cloudflare/tunnel.d.ts +2 -3
  239. package/lib/cloudflare/tunnel.d.ts.map +1 -1
  240. package/lib/cloudflare/tunnel.js +3 -3
  241. package/lib/cloudflare/tunnel.js.map +1 -1
  242. package/lib/cloudflare/user.d.ts +3 -2
  243. package/lib/cloudflare/user.d.ts.map +1 -1
  244. package/lib/cloudflare/user.js +7 -5
  245. package/lib/cloudflare/user.js.map +1 -1
  246. package/lib/cloudflare/vectorize-index.d.ts +2 -3
  247. package/lib/cloudflare/vectorize-index.d.ts.map +1 -1
  248. package/lib/cloudflare/vectorize-index.js +6 -6
  249. package/lib/cloudflare/vectorize-index.js.map +1 -1
  250. package/lib/cloudflare/vectorize-metadata-index.d.ts +2 -3
  251. package/lib/cloudflare/vectorize-metadata-index.d.ts.map +1 -1
  252. package/lib/cloudflare/vectorize-metadata-index.js +4 -4
  253. package/lib/cloudflare/vectorize-metadata-index.js.map +1 -1
  254. package/lib/cloudflare/website.js +1 -1
  255. package/lib/cloudflare/website.js.map +1 -1
  256. package/lib/cloudflare/worker-assets.d.ts +1 -29
  257. package/lib/cloudflare/worker-assets.d.ts.map +1 -1
  258. package/lib/cloudflare/worker-assets.js +9 -42
  259. package/lib/cloudflare/worker-assets.js.map +1 -1
  260. package/lib/cloudflare/worker-stub.d.ts +2 -3
  261. package/lib/cloudflare/worker-stub.d.ts.map +1 -1
  262. package/lib/cloudflare/worker-stub.js +3 -3
  263. package/lib/cloudflare/worker-stub.js.map +1 -1
  264. package/lib/cloudflare/worker-subdomain.d.ts +4 -3
  265. package/lib/cloudflare/worker-subdomain.d.ts.map +1 -1
  266. package/lib/cloudflare/worker-subdomain.js +5 -5
  267. package/lib/cloudflare/worker-subdomain.js.map +1 -1
  268. package/lib/cloudflare/worker.d.ts +3 -4
  269. package/lib/cloudflare/worker.d.ts.map +1 -1
  270. package/lib/cloudflare/worker.js +6 -5
  271. package/lib/cloudflare/worker.js.map +1 -1
  272. package/lib/cloudflare/zone.d.ts +1 -2
  273. package/lib/cloudflare/zone.d.ts.map +1 -1
  274. package/lib/cloudflare/zone.js +2 -2
  275. package/lib/cloudflare/zone.js.map +1 -1
  276. package/lib/context.d.ts +8 -8
  277. package/lib/context.d.ts.map +1 -1
  278. package/lib/context.js.map +1 -1
  279. package/lib/destroy.d.ts +1 -1
  280. package/lib/destroy.d.ts.map +1 -1
  281. package/lib/destroy.js.map +1 -1
  282. package/lib/dns/import-dns.d.ts +1 -2
  283. package/lib/dns/import-dns.d.ts.map +1 -1
  284. package/lib/dns/import-dns.js +2 -2
  285. package/lib/dns/import-dns.js.map +1 -1
  286. package/lib/docker/container.d.ts +1 -2
  287. package/lib/docker/container.d.ts.map +1 -1
  288. package/lib/docker/container.js +2 -3
  289. package/lib/docker/container.js.map +1 -1
  290. package/lib/docker/image.d.ts +1 -2
  291. package/lib/docker/image.d.ts.map +1 -1
  292. package/lib/docker/image.js +9 -9
  293. package/lib/docker/image.js.map +1 -1
  294. package/lib/docker/network.d.ts +1 -2
  295. package/lib/docker/network.d.ts.map +1 -1
  296. package/lib/docker/network.js +2 -3
  297. package/lib/docker/network.js.map +1 -1
  298. package/lib/docker/remote-image.d.ts +1 -2
  299. package/lib/docker/remote-image.d.ts.map +1 -1
  300. package/lib/docker/remote-image.js +2 -3
  301. package/lib/docker/remote-image.js.map +1 -1
  302. package/lib/docker/volume.d.ts +1 -2
  303. package/lib/docker/volume.d.ts.map +1 -1
  304. package/lib/docker/volume.js +2 -3
  305. package/lib/docker/volume.js.map +1 -1
  306. package/lib/esbuild/bundle.d.ts +1 -2
  307. package/lib/esbuild/bundle.d.ts.map +1 -1
  308. package/lib/esbuild/bundle.js +4 -4
  309. package/lib/esbuild/bundle.js.map +1 -1
  310. package/lib/fs/copy-file.d.ts +1 -2
  311. package/lib/fs/copy-file.d.ts.map +1 -1
  312. package/lib/fs/copy-file.js +2 -2
  313. package/lib/fs/copy-file.js.map +1 -1
  314. package/lib/fs/file.d.ts +1 -2
  315. package/lib/fs/file.d.ts.map +1 -1
  316. package/lib/fs/file.js +2 -2
  317. package/lib/fs/file.js.map +1 -1
  318. package/lib/fs/folder.d.ts +1 -2
  319. package/lib/fs/folder.d.ts.map +1 -1
  320. package/lib/fs/folder.js +2 -2
  321. package/lib/fs/folder.js.map +1 -1
  322. package/lib/github/comment.d.ts +1 -2
  323. package/lib/github/comment.d.ts.map +1 -1
  324. package/lib/github/comment.js +4 -4
  325. package/lib/github/comment.js.map +1 -1
  326. package/lib/github/repository-environment.d.ts +1 -2
  327. package/lib/github/repository-environment.d.ts.map +1 -1
  328. package/lib/github/repository-environment.js +2 -2
  329. package/lib/github/repository-environment.js.map +1 -1
  330. package/lib/github/repository-webhook.d.ts +1 -2
  331. package/lib/github/repository-webhook.d.ts.map +1 -1
  332. package/lib/github/repository-webhook.js +2 -2
  333. package/lib/github/repository-webhook.js.map +1 -1
  334. package/lib/github/secret.d.ts +1 -2
  335. package/lib/github/secret.d.ts.map +1 -1
  336. package/lib/github/secret.js +2 -2
  337. package/lib/github/secret.js.map +1 -1
  338. package/lib/neon/api/client.gen.d.ts +13 -0
  339. package/lib/neon/api/client.gen.d.ts.map +1 -0
  340. package/lib/neon/api/client.gen.js +7 -0
  341. package/lib/neon/api/client.gen.js.map +1 -0
  342. package/lib/neon/api/sdk.gen.d.ts +880 -0
  343. package/lib/neon/api/sdk.gen.d.ts.map +1 -0
  344. package/lib/neon/api/sdk.gen.js +1527 -0
  345. package/lib/neon/api/sdk.gen.js.map +1 -0
  346. package/lib/neon/api/types.gen.d.ts +7250 -0
  347. package/lib/neon/api/types.gen.d.ts.map +1 -0
  348. package/lib/neon/api/types.gen.js +2 -0
  349. package/lib/neon/api/types.gen.js.map +1 -0
  350. package/lib/neon/api.d.ts +14 -49
  351. package/lib/neon/api.d.ts.map +1 -1
  352. package/lib/neon/api.js +36 -114
  353. package/lib/neon/api.js.map +1 -1
  354. package/lib/neon/branch.d.ts +141 -0
  355. package/lib/neon/branch.d.ts.map +1 -0
  356. package/lib/neon/branch.js +112 -0
  357. package/lib/neon/branch.js.map +1 -0
  358. package/lib/neon/index.d.ts +1 -1
  359. package/lib/neon/index.d.ts.map +1 -1
  360. package/lib/neon/index.js +1 -1
  361. package/lib/neon/index.js.map +1 -1
  362. package/lib/neon/project.d.ts +32 -242
  363. package/lib/neon/project.d.ts.map +1 -1
  364. package/lib/neon/project.js +90 -269
  365. package/lib/neon/project.js.map +1 -1
  366. package/lib/neon/utils.d.ts +49 -0
  367. package/lib/neon/utils.d.ts.map +1 -0
  368. package/lib/neon/utils.js +44 -0
  369. package/lib/neon/utils.js.map +1 -0
  370. package/lib/os/exec.d.ts +1 -2
  371. package/lib/os/exec.d.ts.map +1 -1
  372. package/lib/os/exec.js +2 -2
  373. package/lib/os/exec.js.map +1 -1
  374. package/lib/planetscale/api/client.gen.d.ts +12 -1749
  375. package/lib/planetscale/api/client.gen.d.ts.map +1 -1
  376. package/lib/planetscale/api/client.gen.js +6 -2400
  377. package/lib/planetscale/api/client.gen.js.map +1 -1
  378. package/lib/planetscale/api/sdk.gen.d.ts +1582 -0
  379. package/lib/planetscale/api/sdk.gen.d.ts.map +1 -0
  380. package/lib/planetscale/api/sdk.gen.js +2219 -0
  381. package/lib/planetscale/api/sdk.gen.js.map +1 -0
  382. package/lib/planetscale/api/types.gen.d.ts +594 -449
  383. package/lib/planetscale/api/types.gen.d.ts.map +1 -1
  384. package/lib/planetscale/api.d.ts +43 -0
  385. package/lib/planetscale/api.d.ts.map +1 -0
  386. package/lib/planetscale/api.js +53 -0
  387. package/lib/planetscale/api.js.map +1 -0
  388. package/lib/planetscale/branch.d.ts +2 -3
  389. package/lib/planetscale/branch.d.ts.map +1 -1
  390. package/lib/planetscale/branch.js +17 -15
  391. package/lib/planetscale/branch.js.map +1 -1
  392. package/lib/planetscale/database.d.ts +2 -3
  393. package/lib/planetscale/database.d.ts.map +1 -1
  394. package/lib/planetscale/database.js +34 -34
  395. package/lib/planetscale/database.js.map +1 -1
  396. package/lib/planetscale/index.d.ts +1 -1
  397. package/lib/planetscale/index.d.ts.map +1 -1
  398. package/lib/planetscale/index.js +1 -1
  399. package/lib/planetscale/index.js.map +1 -1
  400. package/lib/planetscale/password.d.ts +2 -3
  401. package/lib/planetscale/password.d.ts.map +1 -1
  402. package/lib/planetscale/password.js +11 -11
  403. package/lib/planetscale/password.js.map +1 -1
  404. package/lib/planetscale/role.d.ts +2 -3
  405. package/lib/planetscale/role.d.ts.map +1 -1
  406. package/lib/planetscale/role.js +18 -18
  407. package/lib/planetscale/role.js.map +1 -1
  408. package/lib/planetscale/utils.d.ts +1 -1
  409. package/lib/planetscale/utils.d.ts.map +1 -1
  410. package/lib/planetscale/utils.js +17 -33
  411. package/lib/planetscale/utils.js.map +1 -1
  412. package/lib/random/random-string.d.ts +1 -2
  413. package/lib/random/random-string.d.ts.map +1 -1
  414. package/lib/random/random-string.js +3 -3
  415. package/lib/random/random-string.js.map +1 -1
  416. package/lib/resource.d.ts +4 -1
  417. package/lib/resource.d.ts.map +1 -1
  418. package/lib/resource.js.map +1 -1
  419. package/lib/sentry/client-key.d.ts +1 -2
  420. package/lib/sentry/client-key.d.ts.map +1 -1
  421. package/lib/sentry/client-key.js +2 -2
  422. package/lib/sentry/client-key.js.map +1 -1
  423. package/lib/sentry/project.d.ts +1 -2
  424. package/lib/sentry/project.d.ts.map +1 -1
  425. package/lib/sentry/project.js +2 -2
  426. package/lib/sentry/project.js.map +1 -1
  427. package/lib/sentry/team.d.ts +1 -2
  428. package/lib/sentry/team.d.ts.map +1 -1
  429. package/lib/sentry/team.js +2 -2
  430. package/lib/sentry/team.js.map +1 -1
  431. package/lib/state/r2-rest-state-store.d.ts +1 -0
  432. package/lib/state/r2-rest-state-store.d.ts.map +1 -1
  433. package/lib/state/r2-rest-state-store.js +15 -34
  434. package/lib/state/r2-rest-state-store.js.map +1 -1
  435. package/lib/stripe/card.d.ts +1 -2
  436. package/lib/stripe/card.d.ts.map +1 -1
  437. package/lib/stripe/card.js +2 -2
  438. package/lib/stripe/card.js.map +1 -1
  439. package/lib/stripe/coupon.d.ts +1 -2
  440. package/lib/stripe/coupon.d.ts.map +1 -1
  441. package/lib/stripe/coupon.js +2 -2
  442. package/lib/stripe/coupon.js.map +1 -1
  443. package/lib/stripe/customer.d.ts +1 -2
  444. package/lib/stripe/customer.d.ts.map +1 -1
  445. package/lib/stripe/customer.js +2 -2
  446. package/lib/stripe/customer.js.map +1 -1
  447. package/lib/stripe/entitlements-feature.d.ts +1 -2
  448. package/lib/stripe/entitlements-feature.d.ts.map +1 -1
  449. package/lib/stripe/entitlements-feature.js +2 -2
  450. package/lib/stripe/entitlements-feature.js.map +1 -1
  451. package/lib/stripe/file.d.ts +1 -2
  452. package/lib/stripe/file.d.ts.map +1 -1
  453. package/lib/stripe/file.js +2 -2
  454. package/lib/stripe/file.js.map +1 -1
  455. package/lib/stripe/meter.d.ts +1 -2
  456. package/lib/stripe/meter.d.ts.map +1 -1
  457. package/lib/stripe/meter.js +1 -1
  458. package/lib/stripe/meter.js.map +1 -1
  459. package/lib/stripe/portal-configuration.d.ts +1 -2
  460. package/lib/stripe/portal-configuration.d.ts.map +1 -1
  461. package/lib/stripe/portal-configuration.js +2 -2
  462. package/lib/stripe/portal-configuration.js.map +1 -1
  463. package/lib/stripe/price.d.ts +1 -2
  464. package/lib/stripe/price.d.ts.map +1 -1
  465. package/lib/stripe/price.js +2 -2
  466. package/lib/stripe/price.js.map +1 -1
  467. package/lib/stripe/product-feature.d.ts +1 -2
  468. package/lib/stripe/product-feature.d.ts.map +1 -1
  469. package/lib/stripe/product-feature.js +2 -2
  470. package/lib/stripe/product-feature.js.map +1 -1
  471. package/lib/stripe/product.d.ts +1 -2
  472. package/lib/stripe/product.d.ts.map +1 -1
  473. package/lib/stripe/product.js +2 -2
  474. package/lib/stripe/product.js.map +1 -1
  475. package/lib/stripe/promotion-code.d.ts +1 -2
  476. package/lib/stripe/promotion-code.d.ts.map +1 -1
  477. package/lib/stripe/promotion-code.js +2 -2
  478. package/lib/stripe/promotion-code.js.map +1 -1
  479. package/lib/stripe/shipping-rate.d.ts +1 -2
  480. package/lib/stripe/shipping-rate.d.ts.map +1 -1
  481. package/lib/stripe/shipping-rate.js +2 -2
  482. package/lib/stripe/shipping-rate.js.map +1 -1
  483. package/lib/stripe/tax-rate.d.ts +1 -2
  484. package/lib/stripe/tax-rate.d.ts.map +1 -1
  485. package/lib/stripe/tax-rate.js +2 -2
  486. package/lib/stripe/tax-rate.js.map +1 -1
  487. package/lib/stripe/webhook.d.ts +16 -3
  488. package/lib/stripe/webhook.d.ts.map +1 -1
  489. package/lib/stripe/webhook.js +2 -2
  490. package/lib/stripe/webhook.js.map +1 -1
  491. package/lib/test/bun.d.ts.map +1 -1
  492. package/lib/test/bun.js +1 -0
  493. package/lib/test/bun.js.map +1 -1
  494. package/lib/test/options.d.ts +5 -0
  495. package/lib/test/options.d.ts.map +1 -1
  496. package/lib/test/vitest.d.ts.map +1 -1
  497. package/lib/test/vitest.js +1 -0
  498. package/lib/test/vitest.js.map +1 -1
  499. package/lib/upstash/redis.d.ts +1 -2
  500. package/lib/upstash/redis.d.ts.map +1 -1
  501. package/lib/upstash/redis.js.map +1 -1
  502. package/lib/util/api/client/client.gen.d.ts +3 -0
  503. package/lib/util/api/client/client.gen.d.ts.map +1 -0
  504. package/lib/util/api/client/client.gen.js +205 -0
  505. package/lib/util/api/client/client.gen.js.map +1 -0
  506. package/lib/util/api/client/index.d.ts +8 -0
  507. package/lib/util/api/client/index.d.ts.map +1 -0
  508. package/lib/util/api/client/index.js +6 -0
  509. package/lib/util/api/client/index.js.map +1 -0
  510. package/lib/util/api/client/types.gen.d.ts +125 -0
  511. package/lib/util/api/client/types.gen.d.ts.map +1 -0
  512. package/lib/util/api/client/types.gen.js +2 -0
  513. package/lib/util/api/client/types.gen.js.map +1 -0
  514. package/lib/util/api/client/utils.gen.d.ts +34 -0
  515. package/lib/util/api/client/utils.gen.d.ts.map +1 -0
  516. package/lib/util/api/client/utils.gen.js +231 -0
  517. package/lib/util/api/client/utils.gen.js.map +1 -0
  518. package/lib/util/api/core/auth.gen.d.ts +19 -0
  519. package/lib/util/api/core/auth.gen.d.ts.map +1 -0
  520. package/lib/util/api/core/auth.gen.js +15 -0
  521. package/lib/util/api/core/auth.gen.js.map +1 -0
  522. package/lib/util/api/core/bodySerializer.gen.d.ts +18 -0
  523. package/lib/util/api/core/bodySerializer.gen.d.ts.map +1 -0
  524. package/lib/util/api/core/bodySerializer.gen.js +58 -0
  525. package/lib/util/api/core/bodySerializer.gen.js.map +1 -0
  526. package/lib/util/api/core/params.gen.d.ts +34 -0
  527. package/lib/util/api/core/params.gen.d.ts.map +1 -0
  528. package/lib/util/api/core/params.gen.js +89 -0
  529. package/lib/util/api/core/params.gen.js.map +1 -0
  530. package/lib/util/api/core/pathSerializer.gen.d.ts +34 -0
  531. package/lib/util/api/core/pathSerializer.gen.d.ts.map +1 -0
  532. package/lib/util/api/core/pathSerializer.gen.js +115 -0
  533. package/lib/util/api/core/pathSerializer.gen.js.map +1 -0
  534. package/lib/util/api/core/serverSentEvents.gen.d.ts +72 -0
  535. package/lib/util/api/core/serverSentEvents.gen.d.ts.map +1 -0
  536. package/lib/util/api/core/serverSentEvents.gen.js +136 -0
  537. package/lib/util/api/core/serverSentEvents.gen.js.map +1 -0
  538. package/lib/util/api/core/types.gen.d.ts +79 -0
  539. package/lib/util/api/core/types.gen.d.ts.map +1 -0
  540. package/lib/util/api/core/types.gen.js +2 -0
  541. package/lib/util/api/core/types.gen.js.map +1 -0
  542. package/lib/util/api/core/utils.gen.d.ts +20 -0
  543. package/lib/util/api/core/utils.gen.d.ts.map +1 -0
  544. package/lib/util/api/core/utils.gen.js +88 -0
  545. package/lib/util/api/core/utils.gen.js.map +1 -0
  546. package/lib/util/http.d.ts +7 -2
  547. package/lib/util/http.d.ts.map +1 -1
  548. package/lib/util/http.js +29 -11
  549. package/lib/util/http.js.map +1 -1
  550. package/lib/util/lock.d.ts +20 -0
  551. package/lib/util/lock.d.ts.map +1 -0
  552. package/lib/util/lock.js +45 -0
  553. package/lib/util/lock.js.map +1 -0
  554. package/lib/util/memoize.d.ts +6 -0
  555. package/lib/util/memoize.d.ts.map +1 -1
  556. package/lib/util/memoize.js +23 -0
  557. package/lib/util/memoize.js.map +1 -1
  558. package/lib/util/oauth-client.d.ts +71 -0
  559. package/lib/util/oauth-client.d.ts.map +1 -0
  560. package/lib/util/oauth-client.js +188 -0
  561. package/lib/util/oauth-client.js.map +1 -0
  562. package/lib/util/poll.d.ts +33 -0
  563. package/lib/util/poll.d.ts.map +1 -0
  564. package/lib/util/poll.js +19 -0
  565. package/lib/util/poll.js.map +1 -0
  566. package/lib/vercel/project-domain.d.ts +1 -2
  567. package/lib/vercel/project-domain.d.ts.map +1 -1
  568. package/lib/vercel/project-domain.js.map +1 -1
  569. package/lib/vercel/project.d.ts +1 -2
  570. package/lib/vercel/project.d.ts.map +1 -1
  571. package/lib/vercel/project.js +2 -2
  572. package/lib/vercel/project.js.map +1 -1
  573. package/package.json +5 -1
  574. package/src/apply.ts +32 -29
  575. package/src/auth.ts +253 -0
  576. package/src/aws/bucket.ts +3 -3
  577. package/src/aws/control/resource.ts +4 -6
  578. package/src/aws/ec2/internet-gateway-attachment.ts +5 -6
  579. package/src/aws/ec2/internet-gateway.ts +3 -5
  580. package/src/aws/ec2/nat-gateway.ts +3 -5
  581. package/src/aws/ec2/route-table-association.ts +3 -5
  582. package/src/aws/ec2/route-table.ts +3 -5
  583. package/src/aws/ec2/route.ts +3 -3
  584. package/src/aws/ec2/security-group-rule.ts +3 -5
  585. package/src/aws/ec2/security-group.ts +3 -5
  586. package/src/aws/ec2/subnet.ts +3 -3
  587. package/src/aws/ec2/vpc.ts +3 -3
  588. package/src/aws/function.ts +3 -3
  589. package/src/aws/oidc/oidc-provider.ts +3 -5
  590. package/src/aws/policy-attachment.ts +2 -4
  591. package/src/aws/policy.ts +5 -5
  592. package/src/aws/queue.ts +5 -5
  593. package/src/aws/role.ts +3 -3
  594. package/src/aws/ses.ts +3 -3
  595. package/src/aws/ssm-parameter.ts +3 -3
  596. package/src/aws/table.ts +3 -3
  597. package/src/cloudflare/account-api-token.ts +3 -4
  598. package/src/cloudflare/ai-gateway.ts +3 -5
  599. package/src/cloudflare/api-gateway-operation.ts +3 -4
  600. package/src/cloudflare/api-schema.ts +25 -26
  601. package/src/cloudflare/api-shield.ts +3 -4
  602. package/src/cloudflare/api.ts +122 -57
  603. package/src/cloudflare/assets.ts +95 -136
  604. package/src/cloudflare/auth.ts +160 -95
  605. package/src/cloudflare/bound.ts +1 -1
  606. package/src/cloudflare/bucket.ts +321 -58
  607. package/src/cloudflare/bundle/plugin-wasm.ts +5 -5
  608. package/src/cloudflare/certificate-pack.ts +5 -6
  609. package/src/cloudflare/compatibility-date.gen.ts +1 -1
  610. package/src/cloudflare/container.ts +7 -8
  611. package/src/cloudflare/custom-domain.ts +3 -5
  612. package/src/cloudflare/d1-database.ts +33 -34
  613. package/src/cloudflare/dispatch-namespace.ts +5 -6
  614. package/src/cloudflare/dns-records.ts +5 -5
  615. package/src/cloudflare/email-address.ts +7 -7
  616. package/src/cloudflare/email-catch-all.ts +6 -6
  617. package/src/cloudflare/email-routing.ts +5 -5
  618. package/src/cloudflare/email-rule.ts +5 -5
  619. package/src/cloudflare/hyperdrive.ts +35 -36
  620. package/src/cloudflare/kv-namespace.ts +31 -32
  621. package/src/cloudflare/miniflare/delete.ts +1 -1
  622. package/src/cloudflare/miniflare/miniflare-worker-proxy.ts +2 -7
  623. package/src/cloudflare/miniflare/remote-binding-proxy.ts +16 -4
  624. package/src/cloudflare/permission-groups.ts +4 -6
  625. package/src/cloudflare/pipeline.ts +29 -30
  626. package/src/cloudflare/queue-consumer.ts +5 -7
  627. package/src/cloudflare/queue.ts +42 -43
  628. package/src/cloudflare/react-router/plugin.ts +20 -0
  629. package/src/cloudflare/redirect-rule.ts +5 -5
  630. package/src/cloudflare/route.ts +5 -5
  631. package/src/cloudflare/ruleset.ts +3 -4
  632. package/src/cloudflare/secret.ts +35 -36
  633. package/src/cloudflare/secrets-store.ts +5 -8
  634. package/src/cloudflare/tunnel.ts +5 -7
  635. package/src/cloudflare/user.ts +12 -9
  636. package/src/cloudflare/vectorize-index.ts +8 -12
  637. package/src/cloudflare/vectorize-metadata-index.ts +6 -8
  638. package/src/cloudflare/website.ts +1 -1
  639. package/src/cloudflare/worker-assets.ts +10 -56
  640. package/src/cloudflare/worker-stub.ts +5 -5
  641. package/src/cloudflare/worker-subdomain.ts +6 -7
  642. package/src/cloudflare/worker.ts +91 -91
  643. package/src/cloudflare/zone.ts +3 -3
  644. package/src/context.ts +9 -7
  645. package/src/destroy.ts +2 -2
  646. package/src/dns/import-dns.ts +3 -5
  647. package/src/docker/container.ts +3 -6
  648. package/src/docker/image.ts +13 -13
  649. package/src/docker/network.ts +3 -4
  650. package/src/docker/remote-image.ts +3 -6
  651. package/src/docker/volume.ts +3 -4
  652. package/src/esbuild/bundle.ts +10 -8
  653. package/src/fs/copy-file.ts +3 -3
  654. package/src/fs/file.ts +3 -3
  655. package/src/fs/folder.ts +3 -3
  656. package/src/github/comment.ts +5 -7
  657. package/src/github/repository-environment.ts +3 -5
  658. package/src/github/repository-webhook.ts +3 -5
  659. package/src/github/secret.ts +3 -5
  660. package/src/neon/api/client.gen.ts +28 -0
  661. package/src/neon/api/sdk.gen.ts +2596 -0
  662. package/src/neon/api/types.gen.ts +8287 -0
  663. package/src/neon/api.ts +51 -147
  664. package/src/neon/branch.ts +278 -0
  665. package/src/neon/index.ts +1 -1
  666. package/src/neon/project.ts +136 -721
  667. package/src/neon/utils.ts +105 -0
  668. package/src/os/exec.ts +3 -3
  669. package/src/planetscale/api/client.gen.ts +28 -2882
  670. package/src/planetscale/api/sdk.gen.ts +3336 -0
  671. package/src/planetscale/api/types.gen.ts +778 -450
  672. package/src/planetscale/api.ts +101 -0
  673. package/src/planetscale/branch.ts +20 -19
  674. package/src/planetscale/database.ts +69 -70
  675. package/src/planetscale/index.ts +1 -1
  676. package/src/planetscale/password.ts +18 -22
  677. package/src/planetscale/role.ts +21 -21
  678. package/src/planetscale/utils.ts +20 -74
  679. package/src/random/random-string.ts +4 -4
  680. package/src/resource.ts +6 -2
  681. package/src/sentry/client-key.ts +3 -5
  682. package/src/sentry/project.ts +3 -5
  683. package/src/sentry/team.ts +3 -3
  684. package/src/state/r2-rest-state-store.ts +15 -57
  685. package/src/stripe/card.ts +3 -3
  686. package/src/stripe/coupon.ts +3 -3
  687. package/src/stripe/customer.ts +3 -3
  688. package/src/stripe/entitlements-feature.ts +3 -5
  689. package/src/stripe/file.ts +3 -3
  690. package/src/stripe/meter.ts +3 -3
  691. package/src/stripe/portal-configuration.ts +3 -5
  692. package/src/stripe/price.ts +3 -3
  693. package/src/stripe/product-feature.ts +3 -5
  694. package/src/stripe/product.ts +3 -3
  695. package/src/stripe/promotion-code.ts +3 -5
  696. package/src/stripe/shipping-rate.ts +3 -5
  697. package/src/stripe/tax-rate.ts +3 -3
  698. package/src/stripe/webhook.ts +3 -5
  699. package/src/test/bun.ts +1 -0
  700. package/src/test/options.ts +6 -0
  701. package/src/test/vitest.ts +1 -0
  702. package/src/upstash/redis.ts +1 -3
  703. package/src/util/api/client/client.gen.ts +268 -0
  704. package/src/util/api/client/index.ts +25 -0
  705. package/src/util/api/client/types.gen.ts +268 -0
  706. package/src/util/api/client/utils.gen.ts +331 -0
  707. package/src/util/api/core/auth.gen.ts +42 -0
  708. package/src/util/api/core/bodySerializer.gen.ts +92 -0
  709. package/src/util/api/core/params.gen.ts +153 -0
  710. package/src/util/api/core/pathSerializer.gen.ts +181 -0
  711. package/src/util/api/core/serverSentEvents.gen.ts +264 -0
  712. package/src/util/api/core/types.gen.ts +118 -0
  713. package/src/util/api/core/utils.gen.ts +143 -0
  714. package/src/util/http.ts +38 -11
  715. package/src/util/lock.ts +48 -0
  716. package/src/util/memoize.ts +26 -0
  717. package/src/util/oauth-client.ts +238 -0
  718. package/src/util/poll.ts +55 -0
  719. package/src/vercel/project-domain.ts +1 -3
  720. package/src/vercel/project.ts +3 -3
  721. package/workers/cloudflare-state-store.js +8 -5619
  722. package/workers/dofs-state-store.js +2 -802
  723. package/workers/remote-binding-proxy.js +3 -39
  724. package/workers/remote-binding-proxy.ts +126 -35
  725. package/workers/tunnel-proxy.js +6 -73
  726. package/lib/cloudflare/asset-manifest.d.ts +0 -15
  727. package/lib/cloudflare/asset-manifest.d.ts.map +0 -1
  728. package/lib/cloudflare/asset-manifest.js +0 -1
  729. package/lib/cloudflare/asset-manifest.js.map +0 -1
  730. package/lib/cloudflare/oauth.d.ts +0 -22
  731. package/lib/cloudflare/oauth.d.ts.map +0 -1
  732. package/lib/cloudflare/oauth.js +0 -214
  733. package/lib/cloudflare/oauth.js.map +0 -1
  734. package/lib/neon/api-error.d.ts +0 -31
  735. package/lib/neon/api-error.d.ts.map +0 -1
  736. package/lib/neon/api-error.js +0 -73
  737. package/lib/neon/api-error.js.map +0 -1
  738. package/lib/planetscale/api/index.d.ts +0 -3
  739. package/lib/planetscale/api/index.d.ts.map +0 -1
  740. package/lib/planetscale/api/index.js +0 -4
  741. package/lib/planetscale/api/index.js.map +0 -1
  742. package/lib/util/neverthrow.d.ts +0 -16
  743. package/lib/util/neverthrow.d.ts.map +0 -1
  744. package/lib/util/neverthrow.js +0 -46
  745. package/lib/util/neverthrow.js.map +0 -1
  746. package/src/cloudflare/asset-manifest.ts +0 -16
  747. package/src/cloudflare/oauth.ts +0 -301
  748. package/src/neon/api-error.ts +0 -81
  749. package/src/planetscale/api/index.ts +0 -4
  750. package/src/util/neverthrow.ts +0 -64
@@ -117,48 +117,47 @@ export interface D1DatabaseProps extends CloudflareApiOptions {
117
117
  };
118
118
  }
119
119
 
120
- export function isD1Database(resource: Resource): resource is D1Database {
121
- return resource[ResourceKind] === "cloudflare::D1Database";
120
+ export function isD1Database(resource: any): resource is D1Database {
121
+ return resource?.[ResourceKind] === "cloudflare::D1Database";
122
122
  }
123
123
 
124
124
  /**
125
125
  * Output returned after D1 Database creation/update
126
126
  */
127
- export type D1Database = Resource<"cloudflare::D1Database"> &
128
- Pick<
129
- D1DatabaseProps,
130
- | "migrationsDir"
131
- | "migrationsTable"
132
- | "primaryLocationHint"
133
- | "readReplication"
134
- > & {
135
- type: "d1";
136
- /**
137
- * The unique ID of the database (UUID)
138
- */
139
- id: string;
127
+ export type D1Database = Pick<
128
+ D1DatabaseProps,
129
+ | "migrationsDir"
130
+ | "migrationsTable"
131
+ | "primaryLocationHint"
132
+ | "readReplication"
133
+ > & {
134
+ type: "d1";
135
+ /**
136
+ * The unique ID of the database (UUID)
137
+ */
138
+ id: string;
139
+
140
+ /**
141
+ * The name of the database
142
+ */
143
+ name: string;
140
144
 
145
+ /**
146
+ * Development mode properties
147
+ * @internal
148
+ */
149
+ dev: {
141
150
  /**
142
- * The name of the database
151
+ * The ID of the database in development mode
143
152
  */
144
- name: string;
153
+ id: string;
145
154
 
146
155
  /**
147
- * Development mode properties
148
- * @internal
156
+ * Whether the database is running remotely
149
157
  */
150
- dev: {
151
- /**
152
- * The ID of the database in development mode
153
- */
154
- id: string;
155
-
156
- /**
157
- * Whether the database is running remotely
158
- */
159
- remote: boolean;
160
- };
158
+ remote: boolean;
161
159
  };
160
+ };
162
161
 
163
162
  /**
164
163
  * Creates and manages Cloudflare D1 Databases.
@@ -286,7 +285,7 @@ const _D1Database = Resource(
286
285
  rootDir: this.scope.rootDir,
287
286
  });
288
287
  }
289
- return this({
288
+ return {
290
289
  type: "d1",
291
290
  id: this.output?.id ?? "",
292
291
  name: databaseName,
@@ -295,7 +294,7 @@ const _D1Database = Resource(
295
294
  migrationsDir: props.migrationsDir,
296
295
  migrationsTable: props.migrationsTable ?? DEFAULT_MIGRATIONS_TABLE,
297
296
  dev,
298
- });
297
+ };
299
298
  }
300
299
 
301
300
  const api = await createCloudflareApi(props);
@@ -414,7 +413,7 @@ const _D1Database = Resource(
414
413
  // TODO(sam): why would this ever happen?
415
414
  throw new Error("Database ID not found");
416
415
  }
417
- return this({
416
+ return {
418
417
  type: "d1",
419
418
  id: dbData.result.uuid!,
420
419
  name: databaseName,
@@ -423,7 +422,7 @@ const _D1Database = Resource(
423
422
  dev,
424
423
  migrationsDir: props.migrationsDir,
425
424
  migrationsTable: props.migrationsTable ?? DEFAULT_MIGRATIONS_TABLE,
426
- });
425
+ };
427
426
  },
428
427
  );
429
428
 
@@ -37,17 +37,16 @@ export interface DispatchNamespaceProps extends CloudflareApiOptions {
37
37
  }
38
38
 
39
39
  export function isDispatchNamespace(
40
- resource: Resource,
40
+ resource: any,
41
41
  ): resource is DispatchNamespace {
42
- return resource[ResourceKind] === "cloudflare::DispatchNamespace";
42
+ return resource?.[ResourceKind] === "cloudflare::DispatchNamespace";
43
43
  }
44
44
 
45
45
  /**
46
46
  * Output returned after Dispatch Namespace creation/update
47
47
  */
48
48
  export interface DispatchNamespace
49
- extends Resource<"cloudflare::DispatchNamespace">,
50
- Omit<DispatchNamespaceProps, "delete"> {
49
+ extends Omit<DispatchNamespaceProps, "delete"> {
51
50
  type: "dispatch_namespace";
52
51
  /**
53
52
  * The name of the namespace
@@ -182,14 +181,14 @@ export const DispatchNamespace = Resource(
182
181
  throw new Error(`Failed to get namespace information for '${namespace}'`);
183
182
  }
184
183
 
185
- return this({
184
+ return {
186
185
  type: "dispatch_namespace",
187
186
  namespace,
188
187
  namespaceName: namespaceInfo.namespaceName,
189
188
  namespaceId: namespaceInfo.namespaceId,
190
189
  createdAt: createdAt,
191
190
  modifiedAt: Date.now(),
192
- });
191
+ };
193
192
  },
194
193
  );
195
194
 
@@ -68,7 +68,7 @@ export interface DnsRecordsProps extends CloudflareApiOptions {
68
68
  /**
69
69
  * Output returned after DNS records creation/update
70
70
  */
71
- export interface DnsRecords extends Resource<"cloudflare::DnsRecords"> {
71
+ export interface DnsRecords {
72
72
  /**
73
73
  * Zone ID where records are created
74
74
  */
@@ -219,10 +219,10 @@ export const DnsRecords = Resource(
219
219
  }),
220
220
  );
221
221
 
222
- return this({
222
+ return {
223
223
  zoneId,
224
224
  records: updatedRecords,
225
- });
225
+ };
226
226
  }
227
227
 
228
228
  // Create new records
@@ -270,10 +270,10 @@ export const DnsRecords = Resource(
270
270
  }),
271
271
  );
272
272
 
273
- return this({
273
+ return {
274
274
  zoneId,
275
275
  records: createdRecords,
276
- });
276
+ };
277
277
  },
278
278
  );
279
279
 
@@ -36,7 +36,7 @@ export interface EmailAddressProps extends CloudflareApiOptions {
36
36
  /**
37
37
  * A destination email address for Cloudflare email routing
38
38
  */
39
- export interface EmailAddress extends Resource<"cloudflare::EmailAddress"> {
39
+ export interface EmailAddress {
40
40
  /**
41
41
  * The email address
42
42
  */
@@ -145,13 +145,13 @@ export const EmailAddress = Resource(
145
145
  const result =
146
146
  (await getResponse.json()) as CloudflareResponse<CloudflareEmailAddress>;
147
147
 
148
- return this({
148
+ return {
149
149
  email: result.result.email,
150
150
  verified: result.result.verified,
151
151
  created: result.result.created,
152
152
  modified: result.result.modified,
153
153
  tag: result.result.tag,
154
- });
154
+ };
155
155
  }
156
156
  }
157
157
  }
@@ -166,13 +166,13 @@ export const EmailAddress = Resource(
166
166
  const result =
167
167
  (await getResponse.json()) as CloudflareResponse<CloudflareEmailAddress>;
168
168
 
169
- return this({
169
+ return {
170
170
  email: result.result.email,
171
171
  verified: result.result.verified,
172
172
  created: result.result.created,
173
173
  modified: result.result.modified,
174
174
  tag: result.result.tag,
175
- });
175
+ };
176
176
  }
177
177
 
178
178
  // Create new email address
@@ -192,12 +192,12 @@ export const EmailAddress = Resource(
192
192
  const result =
193
193
  (await createResponse.json()) as CloudflareResponse<CloudflareEmailAddress>;
194
194
 
195
- return this({
195
+ return {
196
196
  email: result.result.email,
197
197
  verified: result.result.verified,
198
198
  created: result.result.created,
199
199
  modified: result.result.modified,
200
200
  tag: result.result.tag,
201
- });
201
+ };
202
202
  },
203
203
  );
@@ -1,8 +1,8 @@
1
1
  import type { Context } from "../context.ts";
2
2
  import { Resource } from "../resource.ts";
3
3
  import { type CloudflareApiOptions, createCloudflareApi } from "./api.ts";
4
- import type { CloudflareResponse } from "./response.ts";
5
4
  import type { EmailAction, EmailMatcher } from "./email-rule.ts";
5
+ import type { CloudflareResponse } from "./response.ts";
6
6
  import type { Zone } from "./zone.ts";
7
7
 
8
8
  /**
@@ -54,7 +54,7 @@ export interface EmailCatchAllProps extends CloudflareApiOptions {
54
54
  /**
55
55
  * A catch-all email routing rule for a Cloudflare zone
56
56
  */
57
- export interface EmailCatchAll extends Resource<"cloudflare::EmailCatchAll"> {
57
+ export interface EmailCatchAll {
58
58
  /**
59
59
  * Zone ID where the catch-all rule is configured
60
60
  */
@@ -203,14 +203,14 @@ export const EmailCatchAll = Resource(
203
203
  const result =
204
204
  (await response.json()) as CloudflareResponse<CloudflareEmailCatchAll>;
205
205
 
206
- return this({
206
+ return {
207
207
  zoneId,
208
208
  enabled: result.result.enabled,
209
209
  name: result.result.name,
210
210
  matchers: result.result.matchers,
211
211
  actions: result.result.actions,
212
212
  tag: result.result.tag,
213
- });
213
+ };
214
214
  }
215
215
 
216
216
  // Create or update catch-all rule
@@ -236,13 +236,13 @@ export const EmailCatchAll = Resource(
236
236
  const result =
237
237
  (await response.json()) as CloudflareResponse<CloudflareEmailCatchAll>;
238
238
 
239
- return this({
239
+ return {
240
240
  zoneId,
241
241
  enabled: result.result.enabled,
242
242
  name: result.result.name,
243
243
  matchers: result.result.matchers,
244
244
  actions: result.result.actions,
245
245
  tag: result.result.tag,
246
- });
246
+ };
247
247
  },
248
248
  );
@@ -43,7 +43,7 @@ export interface EmailRoutingProps extends CloudflareApiOptions {
43
43
  /**
44
44
  * Email routing configuration for a Cloudflare zone
45
45
  */
46
- export interface EmailRouting extends Resource<"cloudflare::EmailRouting"> {
46
+ export interface EmailRouting {
47
47
  /**
48
48
  * Zone ID where email routing is configured
49
49
  */
@@ -173,14 +173,14 @@ export const EmailRouting = Resource(
173
173
  const result =
174
174
  (await getResponse.json()) as CloudflareResponse<CloudflareEmailRouting>;
175
175
 
176
- return this({
176
+ return {
177
177
  zoneId,
178
178
  enabled: result.result.enabled,
179
179
  name: result.result.name,
180
180
  created: result.result.created,
181
181
  modified: result.result.modified,
182
182
  tag: result.result.tag,
183
- });
183
+ };
184
184
  }
185
185
 
186
186
  // Create/Enable email routing
@@ -218,13 +218,13 @@ export const EmailRouting = Resource(
218
218
  const result =
219
219
  (await getResponse.json()) as CloudflareResponse<CloudflareEmailRouting>;
220
220
 
221
- return this({
221
+ return {
222
222
  zoneId,
223
223
  enabled: result.result.enabled,
224
224
  name: result.result.name,
225
225
  created: result.result.created,
226
226
  modified: result.result.modified,
227
227
  tag: result.result.tag,
228
- });
228
+ };
229
229
  },
230
230
  );
@@ -104,7 +104,7 @@ export interface EmailRuleProps extends CloudflareApiOptions {
104
104
  /**
105
105
  * An email routing rule for a Cloudflare zone
106
106
  */
107
- export interface EmailRule extends Resource<"cloudflare::EmailRule"> {
107
+ export interface EmailRule {
108
108
  /**
109
109
  * Zone ID where the rule is created
110
110
  */
@@ -274,7 +274,7 @@ export const EmailRule = Resource(
274
274
  const result =
275
275
  (await response.json()) as CloudflareResponse<CloudflareEmailRule>;
276
276
 
277
- return this({
277
+ return {
278
278
  zoneId,
279
279
  ruleId: result.result.id,
280
280
  name: result.result.name,
@@ -283,7 +283,7 @@ export const EmailRule = Resource(
283
283
  matchers: result.result.matchers,
284
284
  actions: result.result.actions,
285
285
  tag: result.result.tag,
286
- });
286
+ };
287
287
  }
288
288
  }
289
289
 
@@ -308,7 +308,7 @@ export const EmailRule = Resource(
308
308
  const result =
309
309
  (await createResponse.json()) as CloudflareResponse<CloudflareEmailRule>;
310
310
 
311
- return this({
311
+ return {
312
312
  zoneId,
313
313
  ruleId: result.result.id,
314
314
  name: result.result.name,
@@ -317,6 +317,6 @@ export const EmailRule = Resource(
317
317
  matchers: result.result.matchers,
318
318
  actions: result.result.actions,
319
319
  tag: result.result.tag,
320
- });
320
+ };
321
321
  },
322
322
  );
@@ -190,46 +190,45 @@ export interface HyperdriveProps extends CloudflareApiOptions {
190
190
  * Output returned after Cloudflare Hyperdrive creation/update.
191
191
  * IMPORTANT: The interface name MUST match the exported resource name.
192
192
  */
193
- export type Hyperdrive = Resource<"cloudflare::Hyperdrive"> &
194
- Omit<HyperdriveProps, "origin" | "dev"> & {
195
- /**
196
- * The ID of the resource
197
- */
198
- id: string;
199
-
200
- /**
201
- * Name of the Hyperdrive configuration
202
- */
203
- name: string;
193
+ export type Hyperdrive = Omit<HyperdriveProps, "origin" | "dev"> & {
194
+ /**
195
+ * The ID of the resource
196
+ */
197
+ id: string;
204
198
 
205
- /**
206
- * The Cloudflare-generated UUID of the hyperdrive
207
- */
208
- hyperdriveId: string;
199
+ /**
200
+ * Name of the Hyperdrive configuration
201
+ */
202
+ name: string;
209
203
 
210
- /**
211
- * Database connection origin configuration
212
- */
213
- origin: HyperdrivePublicOrigin | HyperdriveOriginWithAccess;
204
+ /**
205
+ * The Cloudflare-generated UUID of the hyperdrive
206
+ */
207
+ hyperdriveId: string;
214
208
 
215
- /**
216
- * Local development configuration
217
- * @internal
218
- */
219
- dev: {
220
- /**
221
- * The connection string to use for local development
222
- */
223
- origin: Secret;
224
- };
209
+ /**
210
+ * Database connection origin configuration
211
+ */
212
+ origin: HyperdrivePublicOrigin | HyperdriveOriginWithAccess;
225
213
 
214
+ /**
215
+ * Local development configuration
216
+ * @internal
217
+ */
218
+ dev: {
226
219
  /**
227
- * Resource type identifier for binding.
228
- * @internal
220
+ * The connection string to use for local development
229
221
  */
230
- type: "hyperdrive";
222
+ origin: Secret;
231
223
  };
232
224
 
225
+ /**
226
+ * Resource type identifier for binding.
227
+ * @internal
228
+ */
229
+ type: "hyperdrive";
230
+ };
231
+
233
232
  /**
234
233
  * Represents a Cloudflare Hyperdrive configuration.
235
234
  *
@@ -356,7 +355,7 @@ const _Hyperdrive = Resource(
356
355
  props.name ?? this.output?.name ?? this.scope.createPhysicalName(id);
357
356
 
358
357
  if (this.scope.local) {
359
- return this({
358
+ return {
360
359
  id,
361
360
  hyperdriveId: hyperdriveId || "",
362
361
  name,
@@ -365,7 +364,7 @@ const _Hyperdrive = Resource(
365
364
  mtls: props.mtls,
366
365
  dev: props.dev,
367
366
  type: "hyperdrive",
368
- });
367
+ };
369
368
  }
370
369
  const api = await createCloudflareApi(props);
371
370
 
@@ -445,7 +444,7 @@ const _Hyperdrive = Resource(
445
444
  }
446
445
 
447
446
  // Construct the output object from API response and props
448
- return this({
447
+ return {
449
448
  id,
450
449
  hyperdriveId: result.id, // Store the Cloudflare-assigned UUID
451
450
  name: result.name,
@@ -454,7 +453,7 @@ const _Hyperdrive = Resource(
454
453
  mtls: result.mtls,
455
454
  dev: props.dev,
456
455
  type: "hyperdrive",
457
- });
456
+ };
458
457
  },
459
458
  );
460
459
 
@@ -95,47 +95,46 @@ export interface KVPair {
95
95
  metadata?: any;
96
96
  }
97
97
 
98
- export function isKVNamespace(resource: Resource): resource is KVNamespace {
99
- return resource[ResourceKind] === "cloudflare::KVNamespace";
98
+ export function isKVNamespace(resource: any): resource is KVNamespace {
99
+ return resource?.[ResourceKind] === "cloudflare::KVNamespace";
100
100
  }
101
101
 
102
102
  /**
103
103
  * Output returned after KV Namespace creation/update
104
104
  */
105
- export type KVNamespace = Resource<"cloudflare::KVNamespace"> &
106
- Omit<KVNamespaceProps, "delete" | "dev"> & {
107
- type: "kv_namespace";
108
- /**
109
- * The ID of the namespace
110
- */
111
- namespaceId: string;
105
+ export type KVNamespace = Omit<KVNamespaceProps, "delete" | "dev"> & {
106
+ type: "kv_namespace";
107
+ /**
108
+ * The ID of the namespace
109
+ */
110
+ namespaceId: string;
112
111
 
113
- /**
114
- * Time at which the namespace was created
115
- */
116
- createdAt: number;
112
+ /**
113
+ * Time at which the namespace was created
114
+ */
115
+ createdAt: number;
116
+
117
+ /**
118
+ * Time at which the namespace was last modified
119
+ */
120
+ modifiedAt: number;
117
121
 
122
+ /**
123
+ * Development mode properties
124
+ * @internal
125
+ */
126
+ dev: {
118
127
  /**
119
- * Time at which the namespace was last modified
128
+ * The ID of the KV namespace in development mode
120
129
  */
121
- modifiedAt: number;
130
+ id: string;
122
131
 
123
132
  /**
124
- * Development mode properties
125
- * @internal
133
+ * Whether the KV namespace is running remotely
126
134
  */
127
- dev: {
128
- /**
129
- * The ID of the KV namespace in development mode
130
- */
131
- id: string;
132
-
133
- /**
134
- * Whether the KV namespace is running remotely
135
- */
136
- remote: boolean;
137
- };
135
+ remote: boolean;
138
136
  };
137
+ };
139
138
 
140
139
  /**
141
140
  * A Cloudflare KV Namespace is a key-value store that can be used to store data for your application.
@@ -221,7 +220,7 @@ const _KVNamespace = Resource(
221
220
  };
222
221
 
223
222
  if (local) {
224
- return this({
223
+ return {
225
224
  type: "kv_namespace",
226
225
  namespaceId: this.output?.namespaceId ?? "",
227
226
  title,
@@ -229,7 +228,7 @@ const _KVNamespace = Resource(
229
228
  dev,
230
229
  createdAt: this.output?.createdAt ?? Date.now(),
231
230
  modifiedAt: Date.now(),
232
- });
231
+ };
233
232
  }
234
233
 
235
234
  const api = await createCloudflareApi(props);
@@ -260,7 +259,7 @@ const _KVNamespace = Resource(
260
259
 
261
260
  await insertKVRecords(api, result.namespaceId, props);
262
261
 
263
- return this({
262
+ return {
264
263
  type: "kv_namespace",
265
264
  namespaceId: result.namespaceId,
266
265
  title,
@@ -268,7 +267,7 @@ const _KVNamespace = Resource(
268
267
  dev,
269
268
  createdAt: result.createdAt,
270
269
  modifiedAt: Date.now(),
271
- });
270
+ };
272
271
  },
273
272
  );
274
273
 
@@ -113,7 +113,7 @@ async function cleanMiniflareDirectory(dotAlchemy: string) {
113
113
 
114
114
  const removeDirectory = async (path: string, options?: RmDirOptions) => {
115
115
  try {
116
- await fs.rmdir(path, options);
116
+ await fs.rm(path, options);
117
117
  } catch (error) {
118
118
  if (!isENOENT(error)) {
119
119
  throw error;
@@ -3,6 +3,7 @@ import { once } from "node:events";
3
3
  import http from "node:http";
4
4
  import { Readable } from "node:stream";
5
5
  import { WebSocket, WebSocketServer } from "ws";
6
+ import { coupleWebSocket } from "../../util/http.ts";
6
7
 
7
8
  export interface MiniflareWorkerProxy {
8
9
  url: URL;
@@ -22,13 +23,7 @@ export async function createMiniflareWorkerProxy(options: {
22
23
  server.on("upgrade", async (req, socket, head) => {
23
24
  try {
24
25
  const server = await createServerWebSocket(req);
25
- wss.handleUpgrade(req, socket, head, (client) => {
26
- client.on("message", (event, binary) => server.send(event, { binary }));
27
- client.on("close", (code, reason) => server.close(code, reason));
28
- server.on("message", (event, binary) => client.send(event, { binary }));
29
- server.on("close", (code, reason) => client.close(code, reason));
30
- wss.emit("connection", client, req);
31
- });
26
+ coupleWebSocket(wss, req, socket, head, server);
32
27
  } catch (error) {
33
28
  console.error(error);
34
29
  socket.destroy();
@@ -1,4 +1,5 @@
1
1
  import type { RemoteProxyConnectionString } from "miniflare";
2
+ import { WebSocket } from "ws";
2
3
  import { HTTPServer } from "../../util/http.ts";
3
4
  import { extractCloudflareResult } from "../api-response.ts";
4
5
  import type { CloudflareApi } from "../api.ts";
@@ -54,18 +55,29 @@ export async function createRemoteProxyWorker(input: {
54
55
  getAccountSubdomain(input.api),
55
56
  ]);
56
57
 
57
- const proxyURL = `https://${input.name}.${subdomain}.workers.dev`;
58
+ const host = `${input.name}.${subdomain}.workers.dev`;
59
+
58
60
  const server = new HTTPServer({
61
+ websocket: async (req) => {
62
+ const input = new URL(req.url);
63
+ const proxied = new URL(input.pathname + input.search, `https://${host}`);
64
+ return new WebSocket(proxied, {
65
+ headers: {
66
+ "cf-workers-preview-token": token,
67
+ host,
68
+ },
69
+ });
70
+ },
59
71
  fetch: async (req) => {
60
72
  const url = new URL(req.url);
61
- const targetUrl = new URL(url.pathname + url.search, proxyURL);
73
+ const proxied = new URL(url.pathname + url.search, `https://${host}`);
62
74
 
63
75
  const headers = new Headers(req.headers);
64
76
  headers.set("cf-workers-preview-token", token);
65
- headers.set("host", new URL(proxyURL).hostname);
77
+ headers.set("host", host);
66
78
  headers.delete("cf-connecting-ip");
67
79
 
68
- const res = await fetch(targetUrl, {
80
+ const res = await fetch(proxied, {
69
81
  method: req.method,
70
82
  headers,
71
83
  body: req.body,