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
@@ -51,18 +51,14 @@ export interface VectorizeIndexProps extends CloudflareApiOptions {
51
51
  adopt?: boolean;
52
52
  }
53
53
 
54
- export function isVectorizeIndex(
55
- resource: Resource,
56
- ): resource is VectorizeIndex {
57
- return resource[ResourceKind] === "cloudflare::VectorizeIndex";
54
+ export function isVectorizeIndex(resource: any): resource is VectorizeIndex {
55
+ return resource?.[ResourceKind] === "cloudflare::VectorizeIndex";
58
56
  }
59
57
 
60
58
  /**
61
59
  * Output returned after Vectorize Index creation/update
62
60
  */
63
- export interface VectorizeIndex
64
- extends Resource<"cloudflare::VectorizeIndex">,
65
- VectorizeIndexProps {
61
+ export interface VectorizeIndex extends VectorizeIndexProps {
66
62
  type: "vectorize";
67
63
 
68
64
  /**
@@ -176,10 +172,10 @@ export const VectorizeIndex = Resource(
176
172
  `Attempted to update Vectorize index ${indexName} but only the delete property can be changed.`,
177
173
  );
178
174
  }
179
- return this({
175
+ return {
180
176
  ...this.output,
181
177
  delete: props.delete,
182
- });
178
+ };
183
179
  }
184
180
 
185
181
  // Check if this is a no-op update
@@ -194,7 +190,7 @@ export const VectorizeIndex = Resource(
194
190
  `Attempted to update Vectorize index ${indexName} but it was a no-op.`,
195
191
  );
196
192
  }
197
- return this(this.output);
193
+ return this.output;
198
194
  }
199
195
 
200
196
  // Update operation is not supported by Vectorize API
@@ -204,7 +200,7 @@ export const VectorizeIndex = Resource(
204
200
  );
205
201
  }
206
202
 
207
- return this({
203
+ return {
208
204
  type: "vectorize",
209
205
  id: indexName,
210
206
  name: indexName,
@@ -218,7 +214,7 @@ export const VectorizeIndex = Resource(
218
214
  createdAt: indexData.result.created_on
219
215
  ? new Date(indexData.result.created_on).getTime()
220
216
  : undefined,
221
- });
217
+ };
222
218
  },
223
219
  );
224
220
 
@@ -30,17 +30,15 @@ export interface VectorizeMetadataIndexProps extends CloudflareApiOptions {
30
30
  }
31
31
 
32
32
  export function isVectorizeMetadataIndex(
33
- resource: Resource,
33
+ resource: any,
34
34
  ): resource is VectorizeMetadataIndex {
35
- return resource[ResourceKind] === "cloudflare::VectorizeMetadataIndex";
35
+ return resource?.[ResourceKind] === "cloudflare::VectorizeMetadataIndex";
36
36
  }
37
37
 
38
38
  /**
39
39
  * Output returned after Vectorize Metadata Index creation/deletion
40
40
  */
41
- export interface VectorizeMetadataIndex
42
- extends Resource<"cloudflare::VectorizeMetadataIndex">,
43
- VectorizeMetadataIndexProps {
41
+ export interface VectorizeMetadataIndex extends VectorizeMetadataIndexProps {
44
42
  /**
45
43
  * ID of this metadata index (derived from propertyName)
46
44
  */
@@ -126,7 +124,7 @@ export const VectorizeMetadataIndex = Resource(
126
124
  `Attempted to update Vectorize metadata index ${this.props.propertyName} but it was a no-op.`,
127
125
  );
128
126
  }
129
- return this(this.output);
127
+ return this.output;
130
128
  }
131
129
  // Update operation is not supported
132
130
  throw new Error(
@@ -136,14 +134,14 @@ export const VectorizeMetadataIndex = Resource(
136
134
  }
137
135
  const indexData = await createMetadataIndex(api, indexName, props);
138
136
 
139
- return this({
137
+ return {
140
138
  id: propertyName, // Use propertyName as ID
141
139
  index: props.index,
142
140
  propertyName: props.propertyName,
143
141
  indexType: props.indexType,
144
142
  accountId: api.accountId,
145
143
  mutationId: indexData.result.mutationId,
146
- });
144
+ };
147
145
  },
148
146
  );
149
147
 
@@ -344,7 +344,7 @@ export async function Website<B extends Bindings>(
344
344
  ...worker.bindings,
345
345
  ...(!scope.local
346
346
  ? {
347
- ASSETS: await Assets("assets", {
347
+ ASSETS: await Assets({
348
348
  path: path.relative(process.cwd(), paths.assets),
349
349
  }),
350
350
  }
@@ -1,11 +1,9 @@
1
- import crypto from "node:crypto";
2
1
  import fs from "node:fs/promises";
3
- import path from "node:path";
4
2
  import { AsyncQueue } from "../util/async-queue.ts";
5
3
  import { withExponentialBackoff } from "../util/retry.ts";
6
4
  import { extractCloudflareResult } from "./api-response.ts";
7
5
  import type { CloudflareApi } from "./api.ts";
8
- import type { AssetFile, Assets } from "./assets.ts";
6
+ import { Assets } from "./assets.ts";
9
7
  import type { AssetsConfig, WorkerProps } from "./worker.ts";
10
8
 
11
9
  export interface AssetUploadResult {
@@ -47,7 +45,12 @@ export async function uploadAssets(
47
45
  // Process the assets configuration once at the beginning
48
46
  const processedConfig = createAssetConfig(assetConfig);
49
47
 
50
- const { manifest, filesByHash } = await prepareAssetManifest(assets);
48
+ const manifest: Record<string, FileMetadata> = {};
49
+ const filesByHash = new Map<string, Assets.FileMetadata>();
50
+ for (const file of await Assets.read(assets.path)) {
51
+ manifest[file.name] = { hash: file.hash, size: file.size };
52
+ filesByHash.set(file.hash, file);
53
+ }
51
54
 
52
55
  // Start the upload session
53
56
  const uploadSession = await extractCloudflareResult<{
@@ -130,31 +133,11 @@ export function createAssetConfig(config?: AssetsConfig): AssetsConfig {
130
133
  return assetConfig;
131
134
  }
132
135
 
133
- /**
134
- * Prepares the asset manifest for the assets upload session
135
- *
136
- * @param assets Assets resource containing files to upload
137
- * @returns Asset manifest and files by hash
138
- */
139
- export async function prepareAssetManifest(assets: Assets) {
140
- const manifest: Record<string, FileMetadata> = {};
141
- const filesByHash = new Map<string, AssetFile>();
142
- await Promise.all(
143
- assets.files.map(async (file) => {
144
- const { hash, size } = await calculateFileMetadata(file.filePath);
145
- const key = file.path.startsWith("/") ? file.path : `/${file.path}`;
146
- manifest[key] = { hash, size };
147
- filesByHash.set(hash, file);
148
- }),
149
- );
150
- return { manifest, filesByHash };
151
- }
152
-
153
136
  async function uploadBucket(
154
137
  api: CloudflareApi,
155
138
  jwt: string,
156
139
  bucket: string[],
157
- filesByHash: Map<string, AssetFile>,
140
+ filesByHash: Map<string, Assets.FileMetadata>,
158
141
  ) {
159
142
  const formData = new FormData();
160
143
  await Promise.all(
@@ -163,9 +146,9 @@ async function uploadBucket(
163
146
  if (!file) {
164
147
  throw new Error(`Could not find file with hash ${fileHash}`);
165
148
  }
166
- const fileContent = await fs.readFile(file.filePath);
149
+ const fileContent = await fs.readFile(file.path);
167
150
  const blob = new Blob([fileContent.toString("base64")], {
168
- type: file.contentType,
151
+ type: file.type,
169
152
  });
170
153
  formData.append(fileHash, blob, fileHash);
171
154
  }),
@@ -184,32 +167,3 @@ async function uploadBucket(
184
167
  );
185
168
  return uploadResult.jwt;
186
169
  }
187
-
188
- /**
189
- * Calculate the SHA-256 hash and size of a file
190
- *
191
- * @param filePath Path to the file
192
- * @returns Hash (first 32 chars of SHA-256) and size of the file
193
- */
194
- export async function calculateFileMetadata(
195
- filePath: string,
196
- ): Promise<{ hash: string; size: number }> {
197
- const contents = await fs.readFile(filePath);
198
-
199
- const hash = crypto.createHash("sha256");
200
- hash.update(contents);
201
-
202
- const extension = path.extname(filePath).substring(1);
203
- hash.update(extension);
204
-
205
- if (contents.length > 26214400) {
206
- throw new Error(
207
- `File "${filePath}" is too large to upload as an asset to Cloudflare (the file is ${(contents.length / 1024 / 1024).toFixed(2)} MB; the maximum size is 25MB).`,
208
- );
209
- }
210
-
211
- return {
212
- hash: hash.digest("hex").slice(0, 32),
213
- size: contents.length,
214
- };
215
- }
@@ -43,7 +43,7 @@ export interface WorkerStubProps<
43
43
  */
44
44
  export interface WorkerStub<
45
45
  RPC extends Rpc.WorkerEntrypointBranded = Rpc.WorkerEntrypointBranded,
46
- > extends Resource<"cloudflare::WorkerStub"> {
46
+ > {
47
47
  type: "service";
48
48
  /**
49
49
  * The name of the worker
@@ -64,8 +64,8 @@ export interface WorkerStub<
64
64
  __rpc__?: RPC;
65
65
  }
66
66
 
67
- export function isWorkerStub(resource: Resource): resource is WorkerStub {
68
- return resource[ResourceKind] === "cloudflare::WorkerStub";
67
+ export function isWorkerStub(resource: any): resource is WorkerStub {
68
+ return resource?.[ResourceKind] === "cloudflare::WorkerStub";
69
69
  }
70
70
 
71
71
  /**
@@ -120,12 +120,12 @@ export const WorkerStub = Resource("cloudflare::WorkerStub", async function <
120
120
  : undefined;
121
121
 
122
122
  // Return the worker stub info
123
- return this({
123
+ return {
124
124
  type: "service",
125
125
  __rpc__: props.rpc as unknown as RPC,
126
126
  ...props,
127
127
  url: subdomain?.url,
128
- }) as WorkerStub<RPC>;
128
+ } as WorkerStub<RPC>;
129
129
  });
130
130
 
131
131
  async function exists(
@@ -37,8 +37,7 @@ interface WorkerSubdomainProps extends CloudflareApiOptions {
37
37
  dev?: boolean;
38
38
  }
39
39
 
40
- export interface WorkerSubdomain
41
- extends Resource<"cloudflare::WorkerSubdomain"> {
40
+ export interface WorkerSubdomain {
42
41
  /**
43
42
  * The `workers.dev` URL for the worker or preview version.
44
43
  */
@@ -49,13 +48,13 @@ export const WorkerSubdomain = Resource(
49
48
  "cloudflare::WorkerSubdomain",
50
49
  async function (
51
50
  this: Context<WorkerSubdomain>,
52
- id: string,
51
+ _id: string,
53
52
  props: WorkerSubdomainProps,
54
53
  ) {
55
54
  if (this.scope.local && props.dev) {
56
- return this({
55
+ return {
57
56
  url: this.output?.url ?? "https://unavailable.alchemy.run",
58
- });
57
+ };
59
58
  }
60
59
 
61
60
  const api = await createCloudflareApi(props);
@@ -74,9 +73,9 @@ export const WorkerSubdomain = Resource(
74
73
  } else {
75
74
  url = `https://${props.scriptName}.${base}`;
76
75
  }
77
- return this(id, {
76
+ return {
78
77
  url,
79
- });
78
+ };
80
79
  },
81
80
  );
82
81
 
@@ -432,8 +432,8 @@ export type WorkerProps<
432
432
  RPC extends Rpc.WorkerEntrypointBranded = Rpc.WorkerEntrypointBranded,
433
433
  > = InlineWorkerProps<B, RPC> | EntrypointWorkerProps<B, RPC>;
434
434
 
435
- export function isWorker(resource: Resource): resource is Worker<any> {
436
- return resource[ResourceKind] === "cloudflare::Worker";
435
+ export function isWorker(resource: any): resource is Worker<any> {
436
+ return resource?.[ResourceKind] === "cloudflare::Worker";
437
437
  }
438
438
 
439
439
  /**
@@ -442,109 +442,108 @@ export function isWorker(resource: Resource): resource is Worker<any> {
442
442
  export type Worker<
443
443
  B extends Bindings | undefined = Bindings | undefined,
444
444
  RPC extends Rpc.WorkerEntrypointBranded = Rpc.WorkerEntrypointBranded,
445
- > = Resource<"cloudflare::Worker"> &
446
- Omit<WorkerProps<B>, "url" | "script" | "routes" | "domains"> & {
447
- /** @internal phantom property */
448
- __rpc__?: RPC;
445
+ > = Omit<WorkerProps<B>, "url" | "script" | "routes" | "domains"> & {
446
+ /** @internal phantom property */
447
+ __rpc__?: RPC;
449
448
 
450
- type: "service";
449
+ type: "service";
451
450
 
452
- /**
453
- * The ID of the worker
454
- */
455
- id: string;
451
+ /**
452
+ * The ID of the worker
453
+ */
454
+ id: string;
456
455
 
457
- /**
458
- * The name of the worker
459
- */
460
- name: string;
456
+ /**
457
+ * The name of the worker
458
+ */
459
+ name: string;
461
460
 
462
- /**
463
- * The root directory of the project
464
- * @default process.cwd()
465
- */
466
- cwd: string;
461
+ /**
462
+ * The root directory of the project
463
+ * @default process.cwd()
464
+ */
465
+ cwd: string;
467
466
 
468
- /**
469
- * Time at which the worker was created
470
- */
471
- createdAt: number;
467
+ /**
468
+ * Time at which the worker was created
469
+ */
470
+ createdAt: number;
472
471
 
473
- /**
474
- * Time at which the worker was last updated
475
- */
476
- updatedAt: number;
472
+ /**
473
+ * Time at which the worker was last updated
474
+ */
475
+ updatedAt: number;
477
476
 
478
- /**
479
- * The worker's URL if enabled
480
- * Format: {name}.{subdomain}.workers.dev
481
- *
482
- * @default true
483
- */
484
- url?: string;
477
+ /**
478
+ * The worker's URL if enabled
479
+ * Format: {name}.{subdomain}.workers.dev
480
+ *
481
+ * @default true
482
+ */
483
+ url?: string;
485
484
 
486
- /**
487
- * The bindings that were created
488
- */
489
- bindings: B;
485
+ /**
486
+ * The bindings that were created
487
+ */
488
+ bindings: B;
490
489
 
491
- /**
492
- * Configuration for static assets
493
- */
494
- assets?: AssetsConfig;
490
+ /**
491
+ * Configuration for static assets
492
+ */
493
+ assets?: AssetsConfig;
495
494
 
496
- /**
497
- * The routes that were created for this worker
498
- */
499
- routes?: Route[];
495
+ /**
496
+ * The routes that were created for this worker
497
+ */
498
+ routes?: Route[];
500
499
 
501
- /**
502
- * The custom domains that were created for this worker
503
- */
504
- domains?: CustomDomain[];
500
+ /**
501
+ * The custom domains that were created for this worker
502
+ */
503
+ domains?: CustomDomain[];
505
504
 
506
- // phantom property (for typeof myWorker.Env)
507
- Env: B extends Bindings
508
- ? {
509
- [bindingName in keyof B]: Bound<B[bindingName]>;
510
- }
511
- : undefined;
505
+ // phantom property (for typeof myWorker.Env)
506
+ Env: B extends Bindings
507
+ ? {
508
+ [bindingName in keyof B]: Bound<B[bindingName]>;
509
+ }
510
+ : undefined;
512
511
 
513
- /**
514
- * The compatibility date for the worker
515
- */
516
- compatibilityDate: string;
512
+ /**
513
+ * The compatibility date for the worker
514
+ */
515
+ compatibilityDate: string;
517
516
 
518
- /**
519
- * The compatibility flags for the worker
520
- */
521
- compatibilityFlags: string[];
517
+ /**
518
+ * The compatibility flags for the worker
519
+ */
520
+ compatibilityFlags: string[];
522
521
 
523
- /**
524
- * The dispatch namespace this worker is deployed to
525
- */
526
- namespace?: string | DispatchNamespace;
522
+ /**
523
+ * The dispatch namespace this worker is deployed to
524
+ */
525
+ namespace?: string | DispatchNamespace;
527
526
 
528
- /**
529
- * Version label for this worker deployment
530
- */
531
- version?: string;
527
+ /**
528
+ * Version label for this worker deployment
529
+ */
530
+ version?: string;
532
531
 
533
- /**
534
- * Smart placement configuration for the worker
535
- */
536
- placement?: {
537
- mode: "smart";
538
- };
532
+ /**
533
+ * Smart placement configuration for the worker
534
+ */
535
+ placement?: {
536
+ mode: "smart";
537
+ };
539
538
 
540
- /**
541
- * Whether the worker has a remote deployment
542
- * @internal
543
- */
544
- dev?: {
545
- hasRemote: boolean;
546
- };
539
+ /**
540
+ * Whether the worker has a remote deployment
541
+ * @internal
542
+ */
543
+ dev?: {
544
+ hasRemote: boolean;
547
545
  };
546
+ };
548
547
 
549
548
  /**
550
549
  * A Cloudflare Worker is a serverless function that can be deployed to the Cloudflare network.
@@ -614,7 +613,7 @@ export type Worker<
614
613
  *
615
614
  * @example
616
615
  * // Create a worker with static assets:
617
- * const staticAssets = await Assets("static", {
616
+ * const staticAssets = await Assets({
618
617
  * path: "./src/assets"
619
618
  * });
620
619
  *
@@ -901,7 +900,7 @@ const _Worker = Resource(
901
900
  containers: options.containers,
902
901
  },
903
902
  );
904
- return this({
903
+ return {
905
904
  ...props,
906
905
  type: "service",
907
906
  id,
@@ -920,7 +919,7 @@ const _Worker = Resource(
920
919
  hasRemote: this.output?.dev?.hasRemote ?? false,
921
920
  },
922
921
  Env: undefined!,
923
- } as unknown as Worker<B>);
922
+ } as unknown as Worker<B>;
924
923
  }
925
924
 
926
925
  if (this.phase === "create" || this.output.dev?.hasRemote === false) {
@@ -1045,7 +1044,7 @@ const _Worker = Resource(
1045
1044
  );
1046
1045
 
1047
1046
  const now = new Date();
1048
- return this({
1047
+ return {
1049
1048
  ...props,
1050
1049
  type: "service",
1051
1050
  id,
@@ -1074,7 +1073,7 @@ const _Worker = Resource(
1074
1073
  dev: {
1075
1074
  hasRemote: true,
1076
1075
  },
1077
- } as unknown as Worker<B>);
1076
+ } as unknown as Worker<B>;
1078
1077
  },
1079
1078
  );
1080
1079
 
@@ -1190,6 +1189,7 @@ async function provisionResources<B extends Bindings>(
1190
1189
  apiToken: props.apiToken,
1191
1190
  email: props.email,
1192
1191
  baseUrl: props.baseUrl,
1192
+ profile: props.profile,
1193
1193
  } satisfies CloudflareApiOptions,
1194
1194
  };
1195
1195
 
@@ -263,7 +263,7 @@ export interface ZoneData {
263
263
  /**
264
264
  * Output returned after Zone creation/update
265
265
  */
266
- export interface Zone extends Resource<"cloudflare::Zone">, ZoneData {}
266
+ export interface Zone extends ZoneData {}
267
267
 
268
268
  /**
269
269
  * A Cloudflare Zone represents a domain and its configuration settings on Cloudflare.
@@ -425,7 +425,7 @@ export const Zone = Resource(
425
425
  this.props?.botManagement,
426
426
  );
427
427
 
428
- return this({
428
+ return {
429
429
  id: zoneData.id,
430
430
  name: zoneData.name,
431
431
  type: zoneData.type,
@@ -440,7 +440,7 @@ export const Zone = Resource(
440
440
  ? new Date(zoneData.activated_on).getTime()
441
441
  : null,
442
442
  settings: await getZoneSettings(api, zoneData.id),
443
- });
443
+ };
444
444
  },
445
445
  );
446
446
 
package/src/context.ts CHANGED
@@ -6,24 +6,26 @@ import {
6
6
  ResourceScope,
7
7
  ResourceSeq,
8
8
  type Resource,
9
+ type ResourceAttributes,
9
10
  type ResourceProps,
10
11
  } from "./resource.ts";
11
12
  import type { Scope } from "./scope.ts";
12
13
  import type { State } from "./state.ts";
13
14
 
14
15
  export type Context<
15
- Out extends Resource,
16
+ Out extends ResourceAttributes,
16
17
  Props extends ResourceProps = ResourceProps,
17
18
  > = CreateContext<Out> | UpdateContext<Out, Props> | DeleteContext<Out, Props>;
18
19
 
19
- export interface CreateContext<Out extends Resource> extends BaseContext<Out> {
20
+ export interface CreateContext<Out extends ResourceAttributes>
21
+ extends BaseContext<Out> {
20
22
  phase: "create";
21
23
  output?: undefined;
22
24
  props?: undefined;
23
25
  }
24
26
 
25
27
  export interface UpdateContext<
26
- Out extends Resource,
28
+ Out extends ResourceAttributes,
27
29
  Props extends ResourceProps = ResourceProps,
28
30
  > extends BaseContext<Out> {
29
31
  phase: "update";
@@ -32,7 +34,7 @@ export interface UpdateContext<
32
34
  }
33
35
 
34
36
  export interface DeleteContext<
35
- Out extends Resource,
37
+ Out extends ResourceAttributes,
36
38
  Props extends ResourceProps = ResourceProps,
37
39
  > extends BaseContext<Out> {
38
40
  phase: "delete";
@@ -40,7 +42,7 @@ export interface DeleteContext<
40
42
  props: Props;
41
43
  }
42
44
 
43
- export interface BaseContext<Out extends Resource> {
45
+ export interface BaseContext<Out extends ResourceAttributes> {
44
46
  quiet: boolean;
45
47
  stage: string;
46
48
  id: ResourceID;
@@ -94,7 +96,7 @@ export interface BaseContext<Out extends Resource> {
94
96
  export function context<
95
97
  Kind extends string,
96
98
  Props extends ResourceProps | undefined,
97
- Out extends Resource,
99
+ Out extends ResourceAttributes,
98
100
  >({
99
101
  scope,
100
102
  phase,
@@ -114,7 +116,7 @@ export function context<
114
116
  fqn: ResourceFQN;
115
117
  seq: number;
116
118
  props: Props;
117
- state: State<Kind, Props, Out>;
119
+ state: State<Kind, Props, Out & Resource>;
118
120
  replace: (force?: boolean) => never;
119
121
  isReplacement?: boolean;
120
122
  }): Context<Out> {
package/src/destroy.ts CHANGED
@@ -50,10 +50,10 @@ function isScopeArgs(a: any): a is [scope: Scope, options?: DestroyOptions] {
50
50
  /**
51
51
  * Prune all resources from an Output and "down", i.e. that branches from it.
52
52
  */
53
- export async function destroy<Type extends string>(
53
+ export async function destroy(
54
54
  ...args:
55
55
  | [scope: Scope, options?: DestroyOptions]
56
- | [resource: Resource<Type> | undefined | null, options?: DestroyOptions]
56
+ | [resource: any | undefined | null, options?: DestroyOptions]
57
57
  ): Promise<void> {
58
58
  if (isScopeArgs(args)) {
59
59
  const [scope] = args;
@@ -62,9 +62,7 @@ export interface ImportDnsRecordsProps {
62
62
  /**
63
63
  * Output returned after DNS records import
64
64
  */
65
- export interface ImportDnsRecords
66
- extends Resource<"dns::ImportDnsRecords">,
67
- ImportDnsRecordsProps {
65
+ export interface ImportDnsRecords extends ImportDnsRecordsProps {
68
66
  /**
69
67
  * The DNS records as a flat array, directly compatible with DnsRecords function
70
68
  */
@@ -204,11 +202,11 @@ export const ImportDnsRecords = Resource(
204
202
  }
205
203
 
206
204
  // Return the resource with fetched records as a flat array
207
- return this({
205
+ return {
208
206
  domain: props.domain,
209
207
  recordTypes: [...recordTypes],
210
208
  records: allRecords,
211
209
  importedAt: Date.now(),
212
- });
210
+ };
213
211
  },
214
212
  );