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
@@ -45,7 +45,7 @@ export type R2PermissionGroups =
45
45
  *
46
46
  * @see https://developers.cloudflare.com/r2/api/tokens/#permissions
47
47
  */
48
- export type PermissionGroups = Resource<"cloudflare::PermissionGroups"> & {
48
+ export type PermissionGroups = {
49
49
  /**
50
50
  * Admin Read & Write - Allows create, list, delete buckets and edit bucket configurations
51
51
  * plus list, write, and read object access
@@ -140,10 +140,8 @@ export const PermissionGroups = Resource(
140
140
  );
141
141
  }
142
142
 
143
- return this(
144
- Object.fromEntries(
145
- data.result.map((group) => [group.name, group]),
146
- ) as PermissionGroups,
147
- );
143
+ return Object.fromEntries(
144
+ data.result.map((group) => [group.name, group]),
145
+ ) as PermissionGroups;
148
146
  },
149
147
  );
@@ -229,41 +229,40 @@ export interface PipelineRecord {
229
229
  [key: string]: any;
230
230
  }
231
231
 
232
- export function isPipeline(resource: Resource): resource is Pipeline {
233
- return resource[ResourceKind] === "cloudflare::Pipeline";
232
+ export function isPipeline(resource: any): resource is Pipeline {
233
+ return resource?.[ResourceKind] === "cloudflare::Pipeline";
234
234
  }
235
235
 
236
236
  /**
237
237
  * Output returned after Pipeline creation/update
238
238
  */
239
239
  export type Pipeline<_T extends PipelineRecord = PipelineRecord> =
240
- Resource<"cloudflare::Pipeline"> &
241
- PipelineProps & {
242
- /**
243
- * Type identifier for the Pipeline resource
244
- */
245
- type: "pipeline";
246
-
247
- /**
248
- * The unique ID of the pipeline
249
- */
250
- id: string;
240
+ PipelineProps & {
241
+ /**
242
+ * Type identifier for the Pipeline resource
243
+ */
244
+ type: "pipeline";
251
245
 
252
- /**
253
- * The name of the pipeline
254
- */
255
- name: string;
246
+ /**
247
+ * The unique ID of the pipeline
248
+ */
249
+ id: string;
256
250
 
257
- /**
258
- * HTTP endpoint URL for the pipeline
259
- */
260
- endpoint: string;
251
+ /**
252
+ * The name of the pipeline
253
+ */
254
+ name: string;
261
255
 
262
- /**
263
- * Version of the pipeline
264
- */
265
- version: number;
266
- };
256
+ /**
257
+ * HTTP endpoint URL for the pipeline
258
+ */
259
+ endpoint: string;
260
+
261
+ /**
262
+ * Version of the pipeline
263
+ */
264
+ version: number;
265
+ };
267
266
 
268
267
  /**
269
268
  * Creates and manages Cloudflare Pipelines.
@@ -341,7 +340,7 @@ export const Pipeline = Resource("cloudflare::Pipeline", async function <
341
340
  props.name ?? this.output?.name ?? this.scope.createPhysicalName(id);
342
341
 
343
342
  if (this.scope.local && !props.dev?.remote) {
344
- return this({
343
+ return {
345
344
  type: "pipeline",
346
345
  id: this.output?.id ?? "",
347
346
  name: this.output?.name ?? pipelineName,
@@ -351,7 +350,7 @@ export const Pipeline = Resource("cloudflare::Pipeline", async function <
351
350
  destination: props.destination,
352
351
  compression: props.compression,
353
352
  accountId: this.output?.accountId ?? "",
354
- });
353
+ };
355
354
  }
356
355
 
357
356
  if (this.phase === "update" && this.output?.name !== pipelineName) {
@@ -418,7 +417,7 @@ export const Pipeline = Resource("cloudflare::Pipeline", async function <
418
417
  }
419
418
  }
420
419
 
421
- return this({
420
+ return {
422
421
  type: "pipeline",
423
422
  id: pipelineData.result.id,
424
423
  name: pipelineName,
@@ -433,7 +432,7 @@ export const Pipeline = Resource("cloudflare::Pipeline", async function <
433
432
  destination: props.destination, // Use the input destination, not the API response
434
433
  compression: props.compression,
435
434
  accountId: api.accountId,
436
- });
435
+ };
437
436
  });
438
437
 
439
438
  interface CloudflarePipelineResponse {
@@ -96,9 +96,7 @@ export interface QueueConsumerProps extends CloudflareApiOptions {
96
96
  /**
97
97
  * Output returned after Queue Consumer creation/update
98
98
  */
99
- export interface QueueConsumer
100
- extends Resource<"cloudflare::QueueConsumer">,
101
- QueueConsumerProps {
99
+ export interface QueueConsumer extends QueueConsumerProps {
102
100
  /**
103
101
  * Unique ID for the consumer
104
102
  */
@@ -162,7 +160,7 @@ export const QueueConsumer = Resource(
162
160
  typeof props.queue === "string" ? props.queue : props.queue.id;
163
161
 
164
162
  if (this.scope.local && props.dev) {
165
- return this({
163
+ return {
166
164
  id: this.output?.id ?? "",
167
165
  queueId,
168
166
  queue: props.queue,
@@ -170,7 +168,7 @@ export const QueueConsumer = Resource(
170
168
  scriptName: props.scriptName,
171
169
  settings: props.settings,
172
170
  accountId: this.output?.accountId ?? "",
173
- });
171
+ };
174
172
  }
175
173
 
176
174
  const api = await createCloudflareApi(props);
@@ -231,7 +229,7 @@ export const QueueConsumer = Resource(
231
229
  );
232
230
  }
233
231
 
234
- return this({
232
+ return {
235
233
  id: consumerData.result.consumer_id,
236
234
  queueId,
237
235
  queue: props.queue,
@@ -249,7 +247,7 @@ export const QueueConsumer = Resource(
249
247
  : undefined,
250
248
  createdOn: consumerData.result.created_on,
251
249
  accountId: api.accountId,
252
- });
250
+ };
253
251
  },
254
252
  );
255
253
 
@@ -100,56 +100,55 @@ export function isQueue(eventSource: any): eventSource is Queue {
100
100
  /**
101
101
  * Output returned after Cloudflare Queue creation/update
102
102
  */
103
- export type Queue<Body = unknown> = Resource<"cloudflare::Queue"> &
104
- Omit<QueueProps, "dev"> & {
105
- /**
106
- * Type identifier for Cloudflare Queue
107
- */
108
- type: "queue";
103
+ export type Queue<Body = unknown> = Omit<QueueProps, "dev"> & {
104
+ /**
105
+ * Type identifier for Cloudflare Queue
106
+ */
107
+ type: "queue";
109
108
 
110
- /**
111
- * The unique ID of the queue
112
- */
113
- id: string;
109
+ /**
110
+ * The unique ID of the queue
111
+ */
112
+ id: string;
114
113
 
115
- /**
116
- * The name of the queue
117
- */
118
- name: string;
114
+ /**
115
+ * The name of the queue
116
+ */
117
+ name: string;
119
118
 
120
- /**
121
- * Time when the queue was created
122
- */
123
- createdOn: string;
119
+ /**
120
+ * Time when the queue was created
121
+ */
122
+ createdOn: string;
124
123
 
125
- /**
126
- * Modified timestamp
127
- */
128
- modifiedOn: string;
124
+ /**
125
+ * Modified timestamp
126
+ */
127
+ modifiedOn: string;
129
128
 
129
+ /**
130
+ * Phantom property to allow type inference
131
+ */
132
+ Body: Body;
133
+
134
+ Batch: MessageBatch<Body>;
135
+
136
+ /**
137
+ * Development mode properties
138
+ * @internal
139
+ */
140
+ dev: {
130
141
  /**
131
- * Phantom property to allow type inference
142
+ * The ID of the queue in development mode
132
143
  */
133
- Body: Body;
134
-
135
- Batch: MessageBatch<Body>;
144
+ id: string;
136
145
 
137
146
  /**
138
- * Development mode properties
139
- * @internal
147
+ * Whether the queue is running remotely
140
148
  */
141
- dev: {
142
- /**
143
- * The ID of the queue in development mode
144
- */
145
- id: string;
146
-
147
- /**
148
- * Whether the queue is running remotely
149
- */
150
- remote: boolean;
151
- };
149
+ remote: boolean;
152
150
  };
151
+ };
153
152
 
154
153
  /**
155
154
  * Creates and manages Cloudflare Queues.
@@ -256,7 +255,7 @@ const _Queue = Resource("cloudflare::Queue", async function <
256
255
  remote: props.dev?.remote ?? false,
257
256
  };
258
257
  if (this.scope.local && !props.dev?.remote) {
259
- return this({
258
+ return {
260
259
  type: "queue",
261
260
  id: this.output?.id ?? "",
262
261
  name: queueName,
@@ -265,7 +264,7 @@ const _Queue = Resource("cloudflare::Queue", async function <
265
264
  modifiedOn: this.output?.modifiedOn ?? new Date().toISOString(),
266
265
  Body: undefined as T,
267
266
  Batch: undefined! as MessageBatch<T>,
268
- });
267
+ };
269
268
  }
270
269
 
271
270
  const api = await createCloudflareApi(props);
@@ -320,7 +319,7 @@ const _Queue = Resource("cloudflare::Queue", async function <
320
319
  }
321
320
  }
322
321
 
323
- return this({
322
+ return {
324
323
  type: "queue",
325
324
  id: queueData.result.queue_id || "",
326
325
  name: queueName,
@@ -340,7 +339,7 @@ const _Queue = Resource("cloudflare::Queue", async function <
340
339
  // phantom properties
341
340
  Body: undefined as T,
342
341
  Batch: undefined! as MessageBatch<T>,
343
- });
342
+ };
344
343
  });
345
344
 
346
345
  interface CloudflareQueueResponse {
@@ -1,7 +1,27 @@
1
1
  import type { PluginConfig } from "@cloudflare/vite-plugin";
2
+ import { existsSync, mkdirSync, writeFileSync } from "node:fs";
3
+ import { dirname } from "node:path";
4
+ import { getDefaultConfigPath } from "../miniflare/paths.ts";
2
5
  import alchemyVite from "../vite/plugin.ts";
3
6
 
4
7
  const alchemy = (config?: PluginConfig) => {
8
+ const configPath = config?.configPath ?? getDefaultConfigPath();
9
+ // react-router type generation requries a wrangler.json and creates a chicken and egg problem
10
+ // we create a dummy wrangler.json file so that clean builds can be performed
11
+ if (!existsSync(configPath)) {
12
+ mkdirSync(dirname(configPath), { recursive: true });
13
+ writeFileSync(
14
+ configPath,
15
+ JSON.stringify(
16
+ {
17
+ name: "dummy",
18
+ compatibility_date: "2025-09-23",
19
+ },
20
+ null,
21
+ 2,
22
+ ),
23
+ );
24
+ }
5
25
  return alchemyVite({
6
26
  ...config,
7
27
  viteEnvironment: {
@@ -94,7 +94,7 @@ interface CloudflareRule {
94
94
  /**
95
95
  * Output returned after RedirectRule creation/update
96
96
  */
97
- export interface RedirectRule extends Resource<"cloudflare::RedirectRule"> {
97
+ export interface RedirectRule {
98
98
  /**
99
99
  * The ID of the redirect rule
100
100
  */
@@ -263,7 +263,7 @@ export const RedirectRule = Resource(
263
263
  },
264
264
  );
265
265
 
266
- return this({
266
+ return {
267
267
  ruleId: updatedRule.id,
268
268
  rulesetId: this.output.rulesetId,
269
269
  zoneId,
@@ -274,7 +274,7 @@ export const RedirectRule = Resource(
274
274
  preserveQueryString,
275
275
  enabled: updatedRule.enabled ?? true,
276
276
  lastUpdated: updatedRule.last_updated,
277
- });
277
+ };
278
278
  }
279
279
 
280
280
  // Get or create the redirect ruleset for this zone
@@ -288,7 +288,7 @@ export const RedirectRule = Resource(
288
288
  preserveQueryString,
289
289
  });
290
290
 
291
- return this({
291
+ return {
292
292
  ruleId: createdRule.id,
293
293
  rulesetId,
294
294
  zoneId,
@@ -299,7 +299,7 @@ export const RedirectRule = Resource(
299
299
  preserveQueryString,
300
300
  enabled: createdRule.enabled ?? true,
301
301
  lastUpdated: createdRule.last_updated,
302
- });
302
+ };
303
303
  },
304
304
  );
305
305
 
@@ -62,7 +62,7 @@ export interface RouteProps extends CloudflareApiOptions {
62
62
  /**
63
63
  * Output returned after Route creation/update
64
64
  */
65
- export interface Route extends Resource<"cloudflare::Route">, RouteProps {
65
+ export interface Route extends RouteProps {
66
66
  /**
67
67
  * The unique ID of the route
68
68
  */
@@ -166,12 +166,12 @@ export const Route = Resource(
166
166
  zoneId = this.output?.zoneId ?? "noop-zone";
167
167
  }
168
168
 
169
- return this({
169
+ return {
170
170
  id: this.output?.id ?? "noop-route",
171
171
  pattern: props.pattern,
172
172
  script: scriptName,
173
173
  zoneId: zoneId,
174
- });
174
+ };
175
175
  }
176
176
 
177
177
  // Get or infer zone ID (only needed for create/update phases)
@@ -247,12 +247,12 @@ export const Route = Resource(
247
247
  }
248
248
 
249
249
  // Return the route resource
250
- return this({
250
+ return {
251
251
  id: routeData.result.id,
252
252
  pattern: routeData.result.pattern,
253
253
  script: routeData.result.script,
254
254
  zoneId,
255
- });
255
+ };
256
256
  },
257
257
  );
258
258
 
@@ -46,8 +46,7 @@ export interface RulesetProps<Phase extends RulePhase>
46
46
  /**
47
47
  * Output returned after Ruleset creation/update
48
48
  */
49
- export interface Ruleset<Phase extends RulePhase>
50
- extends Resource<"cloudflare::Ruleset"> {
49
+ export interface Ruleset<Phase extends RulePhase> {
51
50
  /**
52
51
  * The ID of the ruleset
53
52
  */
@@ -185,7 +184,7 @@ export const Ruleset = Resource("cloudflare::Ruleset", async function <
185
184
  });
186
185
 
187
186
  // Transform response back to our format
188
- return this({
187
+ return {
189
188
  id: result.id,
190
189
  zoneId,
191
190
  phase: props.phase,
@@ -194,7 +193,7 @@ export const Ruleset = Resource("cloudflare::Ruleset", async function <
194
193
  rules: (result.rules as Array<Rule> | undefined) ?? [],
195
194
  lastUpdated: result.last_updated,
196
195
  version: result.version,
197
- });
196
+ };
198
197
  });
199
198
 
200
199
  interface CloudflareApiRuleset {
@@ -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)",