alchemy 0.66.0 → 0.68.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (825) hide show
  1. package/bin/alchemy.js +25554 -26250
  2. package/bin/alchemy.ts +6 -2
  3. package/bin/commands/configure.ts +194 -0
  4. package/bin/commands/login.ts +99 -55
  5. package/bin/commands/logout.ts +66 -0
  6. package/bin/services/find-workspace-root.ts +1 -1
  7. package/bin/trpc.ts +27 -2
  8. package/lib/alchemy.d.ts +6 -0
  9. package/lib/alchemy.d.ts.map +1 -1
  10. package/lib/alchemy.js +1 -0
  11. package/lib/alchemy.js.map +1 -1
  12. package/lib/apply.d.ts +2 -2
  13. package/lib/apply.d.ts.map +1 -1
  14. package/lib/apply.js +18 -15
  15. package/lib/apply.js.map +1 -1
  16. package/lib/auth.d.ts +72 -0
  17. package/lib/auth.d.ts.map +1 -0
  18. package/lib/auth.js +163 -0
  19. package/lib/auth.js.map +1 -0
  20. package/lib/aws/bucket.d.ts +12 -3
  21. package/lib/aws/bucket.d.ts.map +1 -1
  22. package/lib/aws/bucket.js +2 -2
  23. package/lib/aws/bucket.js.map +1 -1
  24. package/lib/aws/control/resource.d.ts +34 -3
  25. package/lib/aws/control/resource.d.ts.map +1 -1
  26. package/lib/aws/control/resource.js +3 -3
  27. package/lib/aws/control/resource.js.map +1 -1
  28. package/lib/aws/ec2/internet-gateway-attachment.d.ts +1 -2
  29. package/lib/aws/ec2/internet-gateway-attachment.d.ts.map +1 -1
  30. package/lib/aws/ec2/internet-gateway-attachment.js +4 -4
  31. package/lib/aws/ec2/internet-gateway-attachment.js.map +1 -1
  32. package/lib/aws/ec2/internet-gateway.d.ts +1 -2
  33. package/lib/aws/ec2/internet-gateway.d.ts.map +1 -1
  34. package/lib/aws/ec2/internet-gateway.js +2 -2
  35. package/lib/aws/ec2/internet-gateway.js.map +1 -1
  36. package/lib/aws/ec2/nat-gateway.d.ts +1 -2
  37. package/lib/aws/ec2/nat-gateway.d.ts.map +1 -1
  38. package/lib/aws/ec2/nat-gateway.js +2 -2
  39. package/lib/aws/ec2/nat-gateway.js.map +1 -1
  40. package/lib/aws/ec2/route-table-association.d.ts +1 -2
  41. package/lib/aws/ec2/route-table-association.d.ts.map +1 -1
  42. package/lib/aws/ec2/route-table-association.js +2 -2
  43. package/lib/aws/ec2/route-table-association.js.map +1 -1
  44. package/lib/aws/ec2/route-table.d.ts +1 -2
  45. package/lib/aws/ec2/route-table.d.ts.map +1 -1
  46. package/lib/aws/ec2/route-table.js +2 -2
  47. package/lib/aws/ec2/route-table.js.map +1 -1
  48. package/lib/aws/ec2/route.d.ts +1 -2
  49. package/lib/aws/ec2/route.d.ts.map +1 -1
  50. package/lib/aws/ec2/route.js +2 -2
  51. package/lib/aws/ec2/route.js.map +1 -1
  52. package/lib/aws/ec2/security-group-rule.d.ts +1 -2
  53. package/lib/aws/ec2/security-group-rule.d.ts.map +1 -1
  54. package/lib/aws/ec2/security-group-rule.js +2 -2
  55. package/lib/aws/ec2/security-group-rule.js.map +1 -1
  56. package/lib/aws/ec2/security-group.d.ts +1 -2
  57. package/lib/aws/ec2/security-group.d.ts.map +1 -1
  58. package/lib/aws/ec2/security-group.js +2 -2
  59. package/lib/aws/ec2/security-group.js.map +1 -1
  60. package/lib/aws/ec2/subnet.d.ts +1 -2
  61. package/lib/aws/ec2/subnet.d.ts.map +1 -1
  62. package/lib/aws/ec2/subnet.js +2 -2
  63. package/lib/aws/ec2/subnet.js.map +1 -1
  64. package/lib/aws/ec2/vpc.d.ts +1 -2
  65. package/lib/aws/ec2/vpc.d.ts.map +1 -1
  66. package/lib/aws/ec2/vpc.js +2 -2
  67. package/lib/aws/ec2/vpc.js.map +1 -1
  68. package/lib/aws/function.d.ts +116 -3
  69. package/lib/aws/function.d.ts.map +1 -1
  70. package/lib/aws/function.js +2 -2
  71. package/lib/aws/function.js.map +1 -1
  72. package/lib/aws/oidc/github-oidc-provider.d.ts +13 -2
  73. package/lib/aws/oidc/github-oidc-provider.d.ts.map +1 -1
  74. package/lib/aws/oidc/oidc-provider.d.ts +48 -3
  75. package/lib/aws/oidc/oidc-provider.d.ts.map +1 -1
  76. package/lib/aws/oidc/oidc-provider.js +2 -2
  77. package/lib/aws/oidc/oidc-provider.js.map +1 -1
  78. package/lib/aws/policy-attachment.d.ts +2 -3
  79. package/lib/aws/policy-attachment.d.ts.map +1 -1
  80. package/lib/aws/policy-attachment.js +1 -1
  81. package/lib/aws/policy-attachment.js.map +1 -1
  82. package/lib/aws/policy.d.ts +1 -2
  83. package/lib/aws/policy.d.ts.map +1 -1
  84. package/lib/aws/policy.js +4 -4
  85. package/lib/aws/policy.js.map +1 -1
  86. package/lib/aws/queue.d.ts +1 -2
  87. package/lib/aws/queue.d.ts.map +1 -1
  88. package/lib/aws/queue.js +4 -4
  89. package/lib/aws/queue.js.map +1 -1
  90. package/lib/aws/role.d.ts +1 -2
  91. package/lib/aws/role.d.ts.map +1 -1
  92. package/lib/aws/role.js +2 -2
  93. package/lib/aws/role.js.map +1 -1
  94. package/lib/aws/ses.d.ts +1 -2
  95. package/lib/aws/ses.d.ts.map +1 -1
  96. package/lib/aws/ses.js +2 -2
  97. package/lib/aws/ses.js.map +1 -1
  98. package/lib/aws/ssm-parameter.d.ts +1 -2
  99. package/lib/aws/ssm-parameter.d.ts.map +1 -1
  100. package/lib/aws/ssm-parameter.js +2 -2
  101. package/lib/aws/ssm-parameter.js.map +1 -1
  102. package/lib/aws/table.d.ts +1 -2
  103. package/lib/aws/table.d.ts.map +1 -1
  104. package/lib/aws/table.js +2 -2
  105. package/lib/aws/table.js.map +1 -1
  106. package/lib/cloudflare/account-api-token.d.ts +1 -2
  107. package/lib/cloudflare/account-api-token.d.ts.map +1 -1
  108. package/lib/cloudflare/account-api-token.js +2 -2
  109. package/lib/cloudflare/account-api-token.js.map +1 -1
  110. package/lib/cloudflare/ai-gateway.d.ts +1 -2
  111. package/lib/cloudflare/ai-gateway.d.ts.map +1 -1
  112. package/lib/cloudflare/ai-gateway.js +2 -2
  113. package/lib/cloudflare/ai-gateway.js.map +1 -1
  114. package/lib/cloudflare/api-gateway-operation.d.ts +1 -2
  115. package/lib/cloudflare/api-gateway-operation.d.ts.map +1 -1
  116. package/lib/cloudflare/api-gateway-operation.js +2 -2
  117. package/lib/cloudflare/api-gateway-operation.js.map +1 -1
  118. package/lib/cloudflare/api-schema.d.ts +1 -2
  119. package/lib/cloudflare/api-schema.d.ts.map +1 -1
  120. package/lib/cloudflare/api-schema.js +2 -2
  121. package/lib/cloudflare/api-schema.js.map +1 -1
  122. package/lib/cloudflare/api-shield.d.ts +1 -2
  123. package/lib/cloudflare/api-shield.d.ts.map +1 -1
  124. package/lib/cloudflare/api-shield.js +2 -2
  125. package/lib/cloudflare/api-shield.js.map +1 -1
  126. package/lib/cloudflare/api.d.ts +18 -10
  127. package/lib/cloudflare/api.d.ts.map +1 -1
  128. package/lib/cloudflare/api.js +93 -38
  129. package/lib/cloudflare/api.js.map +1 -1
  130. package/lib/cloudflare/assets.d.ts +21 -43
  131. package/lib/cloudflare/assets.d.ts.map +1 -1
  132. package/lib/cloudflare/assets.js +78 -70
  133. package/lib/cloudflare/assets.js.map +1 -1
  134. package/lib/cloudflare/auth.d.ts +91 -17
  135. package/lib/cloudflare/auth.d.ts.map +1 -1
  136. package/lib/cloudflare/auth.js +141 -62
  137. package/lib/cloudflare/auth.js.map +1 -1
  138. package/lib/cloudflare/bindings.d.ts +17 -5
  139. package/lib/cloudflare/bindings.d.ts.map +1 -1
  140. package/lib/cloudflare/bindings.js +3 -1
  141. package/lib/cloudflare/bindings.js.map +1 -1
  142. package/lib/cloudflare/bound.d.ts +4 -3
  143. package/lib/cloudflare/bound.d.ts.map +1 -1
  144. package/lib/cloudflare/bucket.d.ts +60 -8
  145. package/lib/cloudflare/bucket.d.ts.map +1 -1
  146. package/lib/cloudflare/bucket.js +161 -18
  147. package/lib/cloudflare/bucket.js.map +1 -1
  148. package/lib/cloudflare/bundle/internal-worker-bundle.d.ts +1 -1
  149. package/lib/cloudflare/bundle/internal-worker-bundle.d.ts.map +1 -1
  150. package/lib/cloudflare/bundle/internal-worker-bundle.js.map +1 -1
  151. package/lib/cloudflare/bundle/plugin-wasm.js +4 -2
  152. package/lib/cloudflare/bundle/plugin-wasm.js.map +1 -1
  153. package/lib/cloudflare/certificate-pack.d.ts +1 -2
  154. package/lib/cloudflare/certificate-pack.d.ts.map +1 -1
  155. package/lib/cloudflare/certificate-pack.js +4 -4
  156. package/lib/cloudflare/certificate-pack.js.map +1 -1
  157. package/lib/cloudflare/compatibility-date.gen.d.ts +1 -1
  158. package/lib/cloudflare/compatibility-date.gen.js +1 -1
  159. package/lib/cloudflare/container.d.ts +1 -2
  160. package/lib/cloudflare/container.d.ts.map +1 -1
  161. package/lib/cloudflare/container.js +6 -6
  162. package/lib/cloudflare/container.js.map +1 -1
  163. package/lib/cloudflare/custom-domain.d.ts +1 -2
  164. package/lib/cloudflare/custom-domain.d.ts.map +1 -1
  165. package/lib/cloudflare/custom-domain.js +2 -2
  166. package/lib/cloudflare/custom-domain.js.map +1 -1
  167. package/lib/cloudflare/d1-database.d.ts +2 -3
  168. package/lib/cloudflare/d1-database.d.ts.map +1 -1
  169. package/lib/cloudflare/d1-database.js +5 -5
  170. package/lib/cloudflare/d1-database.js.map +1 -1
  171. package/lib/cloudflare/dispatch-namespace.d.ts +2 -3
  172. package/lib/cloudflare/dispatch-namespace.d.ts.map +1 -1
  173. package/lib/cloudflare/dispatch-namespace.js +3 -3
  174. package/lib/cloudflare/dispatch-namespace.js.map +1 -1
  175. package/lib/cloudflare/dns-records.d.ts +1 -2
  176. package/lib/cloudflare/dns-records.d.ts.map +1 -1
  177. package/lib/cloudflare/dns-records.js +4 -4
  178. package/lib/cloudflare/dns-records.js.map +1 -1
  179. package/lib/cloudflare/email-address.d.ts +1 -2
  180. package/lib/cloudflare/email-address.d.ts.map +1 -1
  181. package/lib/cloudflare/email-address.js +6 -6
  182. package/lib/cloudflare/email-address.js.map +1 -1
  183. package/lib/cloudflare/email-catch-all.d.ts +1 -2
  184. package/lib/cloudflare/email-catch-all.d.ts.map +1 -1
  185. package/lib/cloudflare/email-catch-all.js +4 -4
  186. package/lib/cloudflare/email-catch-all.js.map +1 -1
  187. package/lib/cloudflare/email-routing.d.ts +1 -2
  188. package/lib/cloudflare/email-routing.d.ts.map +1 -1
  189. package/lib/cloudflare/email-routing.js +4 -4
  190. package/lib/cloudflare/email-routing.js.map +1 -1
  191. package/lib/cloudflare/email-rule.d.ts +1 -2
  192. package/lib/cloudflare/email-rule.d.ts.map +1 -1
  193. package/lib/cloudflare/email-rule.js +4 -4
  194. package/lib/cloudflare/email-rule.js.map +1 -1
  195. package/lib/cloudflare/hyperdrive-ref.d.ts +23 -0
  196. package/lib/cloudflare/hyperdrive-ref.d.ts.map +1 -0
  197. package/lib/cloudflare/hyperdrive-ref.js +52 -0
  198. package/lib/cloudflare/hyperdrive-ref.js.map +1 -0
  199. package/lib/cloudflare/hyperdrive.d.ts +1 -2
  200. package/lib/cloudflare/hyperdrive.d.ts.map +1 -1
  201. package/lib/cloudflare/hyperdrive.js +4 -4
  202. package/lib/cloudflare/hyperdrive.js.map +1 -1
  203. package/lib/cloudflare/index.d.ts +2 -0
  204. package/lib/cloudflare/index.d.ts.map +1 -1
  205. package/lib/cloudflare/index.js +2 -0
  206. package/lib/cloudflare/index.js.map +1 -1
  207. package/lib/cloudflare/kv-namespace.d.ts +2 -3
  208. package/lib/cloudflare/kv-namespace.d.ts.map +1 -1
  209. package/lib/cloudflare/kv-namespace.js +5 -5
  210. package/lib/cloudflare/kv-namespace.js.map +1 -1
  211. package/lib/cloudflare/miniflare/build-worker-options.d.ts +2 -1
  212. package/lib/cloudflare/miniflare/build-worker-options.d.ts.map +1 -1
  213. package/lib/cloudflare/miniflare/build-worker-options.js +11 -6
  214. package/lib/cloudflare/miniflare/build-worker-options.js.map +1 -1
  215. package/lib/cloudflare/miniflare/delete.js +1 -1
  216. package/lib/cloudflare/miniflare/delete.js.map +1 -1
  217. package/lib/cloudflare/miniflare/miniflare-controller.d.ts +3 -1
  218. package/lib/cloudflare/miniflare/miniflare-controller.d.ts.map +1 -1
  219. package/lib/cloudflare/miniflare/miniflare-controller.js +24 -9
  220. package/lib/cloudflare/miniflare/miniflare-controller.js.map +1 -1
  221. package/lib/cloudflare/miniflare/miniflare-worker-proxy.d.ts +24 -13
  222. package/lib/cloudflare/miniflare/miniflare-worker-proxy.d.ts.map +1 -1
  223. package/lib/cloudflare/miniflare/miniflare-worker-proxy.js +90 -79
  224. package/lib/cloudflare/miniflare/miniflare-worker-proxy.js.map +1 -1
  225. package/lib/cloudflare/miniflare/remote-binding-proxy.d.ts.map +1 -1
  226. package/lib/cloudflare/miniflare/remote-binding-proxy.js +15 -4
  227. package/lib/cloudflare/miniflare/remote-binding-proxy.js.map +1 -1
  228. package/lib/cloudflare/miniflare/tunnel.d.ts +18 -0
  229. package/lib/cloudflare/miniflare/tunnel.d.ts.map +1 -0
  230. package/lib/cloudflare/miniflare/tunnel.js +79 -0
  231. package/lib/cloudflare/miniflare/tunnel.js.map +1 -0
  232. package/lib/cloudflare/next.d.ts.map +1 -1
  233. package/lib/cloudflare/next.js +3 -0
  234. package/lib/cloudflare/next.js.map +1 -1
  235. package/lib/cloudflare/permission-groups.d.ts +1 -2
  236. package/lib/cloudflare/permission-groups.d.ts.map +1 -1
  237. package/lib/cloudflare/permission-groups.js +1 -1
  238. package/lib/cloudflare/permission-groups.js.map +1 -1
  239. package/lib/cloudflare/pipeline.d.ts +2 -3
  240. package/lib/cloudflare/pipeline.d.ts.map +1 -1
  241. package/lib/cloudflare/pipeline.js +5 -5
  242. package/lib/cloudflare/pipeline.js.map +1 -1
  243. package/lib/cloudflare/queue-consumer.d.ts +1 -2
  244. package/lib/cloudflare/queue-consumer.d.ts.map +1 -1
  245. package/lib/cloudflare/queue-consumer.js +4 -4
  246. package/lib/cloudflare/queue-consumer.js.map +1 -1
  247. package/lib/cloudflare/queue.d.ts +1 -2
  248. package/lib/cloudflare/queue.d.ts.map +1 -1
  249. package/lib/cloudflare/queue.js +4 -4
  250. package/lib/cloudflare/queue.js.map +1 -1
  251. package/lib/cloudflare/quick-tunnel.d.ts +1 -1
  252. package/lib/cloudflare/react-router/plugin.d.ts.map +1 -1
  253. package/lib/cloudflare/react-router/plugin.js +13 -0
  254. package/lib/cloudflare/react-router/plugin.js.map +1 -1
  255. package/lib/cloudflare/redirect-rule.d.ts +1 -2
  256. package/lib/cloudflare/redirect-rule.d.ts.map +1 -1
  257. package/lib/cloudflare/redirect-rule.js +4 -4
  258. package/lib/cloudflare/redirect-rule.js.map +1 -1
  259. package/lib/cloudflare/route.d.ts +1 -2
  260. package/lib/cloudflare/route.d.ts.map +1 -1
  261. package/lib/cloudflare/route.js +4 -4
  262. package/lib/cloudflare/route.js.map +1 -1
  263. package/lib/cloudflare/ruleset.d.ts +1 -2
  264. package/lib/cloudflare/ruleset.d.ts.map +1 -1
  265. package/lib/cloudflare/ruleset.js +2 -2
  266. package/lib/cloudflare/ruleset.js.map +1 -1
  267. package/lib/cloudflare/secret-ref.d.ts +38 -0
  268. package/lib/cloudflare/secret-ref.d.ts.map +1 -0
  269. package/lib/cloudflare/secret-ref.js +38 -0
  270. package/lib/cloudflare/secret-ref.js.map +1 -0
  271. package/lib/cloudflare/secret.d.ts +2 -3
  272. package/lib/cloudflare/secret.d.ts.map +1 -1
  273. package/lib/cloudflare/secret.js +3 -3
  274. package/lib/cloudflare/secret.js.map +1 -1
  275. package/lib/cloudflare/secrets-store.d.ts +2 -3
  276. package/lib/cloudflare/secrets-store.d.ts.map +1 -1
  277. package/lib/cloudflare/secrets-store.js +3 -3
  278. package/lib/cloudflare/secrets-store.js.map +1 -1
  279. package/lib/cloudflare/tunnel.d.ts +2 -3
  280. package/lib/cloudflare/tunnel.d.ts.map +1 -1
  281. package/lib/cloudflare/tunnel.js +3 -3
  282. package/lib/cloudflare/tunnel.js.map +1 -1
  283. package/lib/cloudflare/user.d.ts +3 -2
  284. package/lib/cloudflare/user.d.ts.map +1 -1
  285. package/lib/cloudflare/user.js +7 -5
  286. package/lib/cloudflare/user.js.map +1 -1
  287. package/lib/cloudflare/vectorize-index.d.ts +2 -3
  288. package/lib/cloudflare/vectorize-index.d.ts.map +1 -1
  289. package/lib/cloudflare/vectorize-index.js +6 -6
  290. package/lib/cloudflare/vectorize-index.js.map +1 -1
  291. package/lib/cloudflare/vectorize-metadata-index.d.ts +2 -3
  292. package/lib/cloudflare/vectorize-metadata-index.d.ts.map +1 -1
  293. package/lib/cloudflare/vectorize-metadata-index.js +4 -4
  294. package/lib/cloudflare/vectorize-metadata-index.js.map +1 -1
  295. package/lib/cloudflare/website.js +1 -1
  296. package/lib/cloudflare/website.js.map +1 -1
  297. package/lib/cloudflare/worker-assets.d.ts +1 -29
  298. package/lib/cloudflare/worker-assets.d.ts.map +1 -1
  299. package/lib/cloudflare/worker-assets.js +9 -42
  300. package/lib/cloudflare/worker-assets.js.map +1 -1
  301. package/lib/cloudflare/worker-metadata.d.ts +1 -1
  302. package/lib/cloudflare/worker-metadata.d.ts.map +1 -1
  303. package/lib/cloudflare/worker-metadata.js +7 -9
  304. package/lib/cloudflare/worker-metadata.js.map +1 -1
  305. package/lib/cloudflare/worker-stub.d.ts +2 -3
  306. package/lib/cloudflare/worker-stub.d.ts.map +1 -1
  307. package/lib/cloudflare/worker-stub.js +3 -3
  308. package/lib/cloudflare/worker-stub.js.map +1 -1
  309. package/lib/cloudflare/worker-subdomain.d.ts +4 -3
  310. package/lib/cloudflare/worker-subdomain.d.ts.map +1 -1
  311. package/lib/cloudflare/worker-subdomain.js +5 -5
  312. package/lib/cloudflare/worker-subdomain.js.map +1 -1
  313. package/lib/cloudflare/worker.d.ts +19 -5
  314. package/lib/cloudflare/worker.d.ts.map +1 -1
  315. package/lib/cloudflare/worker.js +18 -5
  316. package/lib/cloudflare/worker.js.map +1 -1
  317. package/lib/cloudflare/wrangler.json.d.ts +2 -1
  318. package/lib/cloudflare/wrangler.json.d.ts.map +1 -1
  319. package/lib/cloudflare/wrangler.json.js +4 -6
  320. package/lib/cloudflare/wrangler.json.js.map +1 -1
  321. package/lib/cloudflare/zone.d.ts +1 -2
  322. package/lib/cloudflare/zone.d.ts.map +1 -1
  323. package/lib/cloudflare/zone.js +2 -2
  324. package/lib/cloudflare/zone.js.map +1 -1
  325. package/lib/context.d.ts +8 -8
  326. package/lib/context.d.ts.map +1 -1
  327. package/lib/context.js.map +1 -1
  328. package/lib/destroy.d.ts +1 -1
  329. package/lib/destroy.d.ts.map +1 -1
  330. package/lib/destroy.js.map +1 -1
  331. package/lib/dns/import-dns.d.ts +1 -2
  332. package/lib/dns/import-dns.d.ts.map +1 -1
  333. package/lib/dns/import-dns.js +2 -2
  334. package/lib/dns/import-dns.js.map +1 -1
  335. package/lib/docker/container.d.ts +1 -2
  336. package/lib/docker/container.d.ts.map +1 -1
  337. package/lib/docker/container.js +2 -3
  338. package/lib/docker/container.js.map +1 -1
  339. package/lib/docker/image.d.ts +1 -2
  340. package/lib/docker/image.d.ts.map +1 -1
  341. package/lib/docker/image.js +9 -9
  342. package/lib/docker/image.js.map +1 -1
  343. package/lib/docker/network.d.ts +1 -2
  344. package/lib/docker/network.d.ts.map +1 -1
  345. package/lib/docker/network.js +2 -3
  346. package/lib/docker/network.js.map +1 -1
  347. package/lib/docker/remote-image.d.ts +1 -2
  348. package/lib/docker/remote-image.d.ts.map +1 -1
  349. package/lib/docker/remote-image.js +2 -3
  350. package/lib/docker/remote-image.js.map +1 -1
  351. package/lib/docker/volume.d.ts +1 -2
  352. package/lib/docker/volume.d.ts.map +1 -1
  353. package/lib/docker/volume.js +2 -3
  354. package/lib/docker/volume.js.map +1 -1
  355. package/lib/esbuild/bundle.d.ts +1 -2
  356. package/lib/esbuild/bundle.d.ts.map +1 -1
  357. package/lib/esbuild/bundle.js +4 -4
  358. package/lib/esbuild/bundle.js.map +1 -1
  359. package/lib/fs/copy-file.d.ts +1 -2
  360. package/lib/fs/copy-file.d.ts.map +1 -1
  361. package/lib/fs/copy-file.js +2 -2
  362. package/lib/fs/copy-file.js.map +1 -1
  363. package/lib/fs/file.d.ts +1 -2
  364. package/lib/fs/file.d.ts.map +1 -1
  365. package/lib/fs/file.js +2 -2
  366. package/lib/fs/file.js.map +1 -1
  367. package/lib/fs/folder.d.ts +1 -2
  368. package/lib/fs/folder.d.ts.map +1 -1
  369. package/lib/fs/folder.js +2 -2
  370. package/lib/fs/folder.js.map +1 -1
  371. package/lib/github/comment.d.ts +1 -2
  372. package/lib/github/comment.d.ts.map +1 -1
  373. package/lib/github/comment.js +4 -4
  374. package/lib/github/comment.js.map +1 -1
  375. package/lib/github/repository-environment.d.ts +1 -2
  376. package/lib/github/repository-environment.d.ts.map +1 -1
  377. package/lib/github/repository-environment.js +2 -2
  378. package/lib/github/repository-environment.js.map +1 -1
  379. package/lib/github/repository-webhook.d.ts +1 -2
  380. package/lib/github/repository-webhook.d.ts.map +1 -1
  381. package/lib/github/repository-webhook.js +2 -2
  382. package/lib/github/repository-webhook.js.map +1 -1
  383. package/lib/github/secret.d.ts +1 -2
  384. package/lib/github/secret.d.ts.map +1 -1
  385. package/lib/github/secret.js +2 -2
  386. package/lib/github/secret.js.map +1 -1
  387. package/lib/llms.cloudflare.txt +1 -1
  388. package/lib/neon/api/client.gen.d.ts +13 -0
  389. package/lib/neon/api/client.gen.d.ts.map +1 -0
  390. package/lib/neon/api/client.gen.js +7 -0
  391. package/lib/neon/api/client.gen.js.map +1 -0
  392. package/lib/neon/api/sdk.gen.d.ts +880 -0
  393. package/lib/neon/api/sdk.gen.d.ts.map +1 -0
  394. package/lib/neon/api/sdk.gen.js +1527 -0
  395. package/lib/neon/api/sdk.gen.js.map +1 -0
  396. package/lib/neon/api/types.gen.d.ts +7250 -0
  397. package/lib/neon/api/types.gen.d.ts.map +1 -0
  398. package/lib/neon/api/types.gen.js +2 -0
  399. package/lib/neon/api/types.gen.js.map +1 -0
  400. package/lib/neon/api.d.ts +14 -49
  401. package/lib/neon/api.d.ts.map +1 -1
  402. package/lib/neon/api.js +36 -114
  403. package/lib/neon/api.js.map +1 -1
  404. package/lib/neon/branch.d.ts +141 -0
  405. package/lib/neon/branch.d.ts.map +1 -0
  406. package/lib/neon/branch.js +112 -0
  407. package/lib/neon/branch.js.map +1 -0
  408. package/lib/neon/index.d.ts +1 -1
  409. package/lib/neon/index.d.ts.map +1 -1
  410. package/lib/neon/index.js +1 -1
  411. package/lib/neon/index.js.map +1 -1
  412. package/lib/neon/project.d.ts +32 -242
  413. package/lib/neon/project.d.ts.map +1 -1
  414. package/lib/neon/project.js +90 -269
  415. package/lib/neon/project.js.map +1 -1
  416. package/lib/neon/utils.d.ts +49 -0
  417. package/lib/neon/utils.d.ts.map +1 -0
  418. package/lib/neon/utils.js +44 -0
  419. package/lib/neon/utils.js.map +1 -0
  420. package/lib/os/exec.d.ts +1 -2
  421. package/lib/os/exec.d.ts.map +1 -1
  422. package/lib/os/exec.js +2 -2
  423. package/lib/os/exec.js.map +1 -1
  424. package/lib/planetscale/api/client.gen.d.ts +12 -1749
  425. package/lib/planetscale/api/client.gen.d.ts.map +1 -1
  426. package/lib/planetscale/api/client.gen.js +6 -2400
  427. package/lib/planetscale/api/client.gen.js.map +1 -1
  428. package/lib/planetscale/api/sdk.gen.d.ts +1582 -0
  429. package/lib/planetscale/api/sdk.gen.d.ts.map +1 -0
  430. package/lib/planetscale/api/sdk.gen.js +2219 -0
  431. package/lib/planetscale/api/sdk.gen.js.map +1 -0
  432. package/lib/planetscale/api/types.gen.d.ts +594 -449
  433. package/lib/planetscale/api/types.gen.d.ts.map +1 -1
  434. package/lib/planetscale/api.d.ts +43 -0
  435. package/lib/planetscale/api.d.ts.map +1 -0
  436. package/lib/planetscale/api.js +53 -0
  437. package/lib/planetscale/api.js.map +1 -0
  438. package/lib/planetscale/branch.d.ts +2 -3
  439. package/lib/planetscale/branch.d.ts.map +1 -1
  440. package/lib/planetscale/branch.js +17 -15
  441. package/lib/planetscale/branch.js.map +1 -1
  442. package/lib/planetscale/database.d.ts +2 -3
  443. package/lib/planetscale/database.d.ts.map +1 -1
  444. package/lib/planetscale/database.js +34 -34
  445. package/lib/planetscale/database.js.map +1 -1
  446. package/lib/planetscale/index.d.ts +1 -1
  447. package/lib/planetscale/index.d.ts.map +1 -1
  448. package/lib/planetscale/index.js +1 -1
  449. package/lib/planetscale/index.js.map +1 -1
  450. package/lib/planetscale/password.d.ts +2 -3
  451. package/lib/planetscale/password.d.ts.map +1 -1
  452. package/lib/planetscale/password.js +11 -11
  453. package/lib/planetscale/password.js.map +1 -1
  454. package/lib/planetscale/role.d.ts +2 -3
  455. package/lib/planetscale/role.d.ts.map +1 -1
  456. package/lib/planetscale/role.js +18 -18
  457. package/lib/planetscale/role.js.map +1 -1
  458. package/lib/planetscale/utils.d.ts +1 -1
  459. package/lib/planetscale/utils.d.ts.map +1 -1
  460. package/lib/planetscale/utils.js +17 -33
  461. package/lib/planetscale/utils.js.map +1 -1
  462. package/lib/random/random-string.d.ts +1 -2
  463. package/lib/random/random-string.d.ts.map +1 -1
  464. package/lib/random/random-string.js +3 -3
  465. package/lib/random/random-string.js.map +1 -1
  466. package/lib/resource.d.ts +4 -1
  467. package/lib/resource.d.ts.map +1 -1
  468. package/lib/resource.js.map +1 -1
  469. package/lib/scope.d.ts +10 -1
  470. package/lib/scope.d.ts.map +1 -1
  471. package/lib/scope.js +3 -1
  472. package/lib/scope.js.map +1 -1
  473. package/lib/sentry/client-key.d.ts +1 -2
  474. package/lib/sentry/client-key.d.ts.map +1 -1
  475. package/lib/sentry/client-key.js +2 -2
  476. package/lib/sentry/client-key.js.map +1 -1
  477. package/lib/sentry/project.d.ts +1 -2
  478. package/lib/sentry/project.d.ts.map +1 -1
  479. package/lib/sentry/project.js +2 -2
  480. package/lib/sentry/project.js.map +1 -1
  481. package/lib/sentry/team.d.ts +1 -2
  482. package/lib/sentry/team.d.ts.map +1 -1
  483. package/lib/sentry/team.js +2 -2
  484. package/lib/sentry/team.js.map +1 -1
  485. package/lib/state/r2-rest-state-store.d.ts +1 -0
  486. package/lib/state/r2-rest-state-store.d.ts.map +1 -1
  487. package/lib/state/r2-rest-state-store.js +15 -34
  488. package/lib/state/r2-rest-state-store.js.map +1 -1
  489. package/lib/stripe/card.d.ts +1 -2
  490. package/lib/stripe/card.d.ts.map +1 -1
  491. package/lib/stripe/card.js +2 -2
  492. package/lib/stripe/card.js.map +1 -1
  493. package/lib/stripe/coupon.d.ts +1 -2
  494. package/lib/stripe/coupon.d.ts.map +1 -1
  495. package/lib/stripe/coupon.js +2 -2
  496. package/lib/stripe/coupon.js.map +1 -1
  497. package/lib/stripe/customer.d.ts +1 -2
  498. package/lib/stripe/customer.d.ts.map +1 -1
  499. package/lib/stripe/customer.js +2 -2
  500. package/lib/stripe/customer.js.map +1 -1
  501. package/lib/stripe/entitlements-feature.d.ts +1 -2
  502. package/lib/stripe/entitlements-feature.d.ts.map +1 -1
  503. package/lib/stripe/entitlements-feature.js +2 -2
  504. package/lib/stripe/entitlements-feature.js.map +1 -1
  505. package/lib/stripe/file.d.ts +1 -2
  506. package/lib/stripe/file.d.ts.map +1 -1
  507. package/lib/stripe/file.js +2 -2
  508. package/lib/stripe/file.js.map +1 -1
  509. package/lib/stripe/meter.d.ts +1 -2
  510. package/lib/stripe/meter.d.ts.map +1 -1
  511. package/lib/stripe/meter.js +1 -1
  512. package/lib/stripe/meter.js.map +1 -1
  513. package/lib/stripe/portal-configuration.d.ts +1 -2
  514. package/lib/stripe/portal-configuration.d.ts.map +1 -1
  515. package/lib/stripe/portal-configuration.js +2 -2
  516. package/lib/stripe/portal-configuration.js.map +1 -1
  517. package/lib/stripe/price.d.ts +1 -2
  518. package/lib/stripe/price.d.ts.map +1 -1
  519. package/lib/stripe/price.js +2 -2
  520. package/lib/stripe/price.js.map +1 -1
  521. package/lib/stripe/product-feature.d.ts +1 -2
  522. package/lib/stripe/product-feature.d.ts.map +1 -1
  523. package/lib/stripe/product-feature.js +2 -2
  524. package/lib/stripe/product-feature.js.map +1 -1
  525. package/lib/stripe/product.d.ts +1 -2
  526. package/lib/stripe/product.d.ts.map +1 -1
  527. package/lib/stripe/product.js +2 -2
  528. package/lib/stripe/product.js.map +1 -1
  529. package/lib/stripe/promotion-code.d.ts +1 -2
  530. package/lib/stripe/promotion-code.d.ts.map +1 -1
  531. package/lib/stripe/promotion-code.js +2 -2
  532. package/lib/stripe/promotion-code.js.map +1 -1
  533. package/lib/stripe/shipping-rate.d.ts +1 -2
  534. package/lib/stripe/shipping-rate.d.ts.map +1 -1
  535. package/lib/stripe/shipping-rate.js +2 -2
  536. package/lib/stripe/shipping-rate.js.map +1 -1
  537. package/lib/stripe/tax-rate.d.ts +1 -2
  538. package/lib/stripe/tax-rate.d.ts.map +1 -1
  539. package/lib/stripe/tax-rate.js +2 -2
  540. package/lib/stripe/tax-rate.js.map +1 -1
  541. package/lib/stripe/webhook.d.ts +16 -3
  542. package/lib/stripe/webhook.d.ts.map +1 -1
  543. package/lib/stripe/webhook.js +2 -2
  544. package/lib/stripe/webhook.js.map +1 -1
  545. package/lib/test/bun.d.ts.map +1 -1
  546. package/lib/test/bun.js +1 -0
  547. package/lib/test/bun.js.map +1 -1
  548. package/lib/test/options.d.ts +5 -0
  549. package/lib/test/options.d.ts.map +1 -1
  550. package/lib/test/vitest.d.ts.map +1 -1
  551. package/lib/test/vitest.js +1 -0
  552. package/lib/test/vitest.js.map +1 -1
  553. package/lib/upstash/redis.d.ts +1 -2
  554. package/lib/upstash/redis.d.ts.map +1 -1
  555. package/lib/upstash/redis.js.map +1 -1
  556. package/lib/util/api/client/client.gen.d.ts +3 -0
  557. package/lib/util/api/client/client.gen.d.ts.map +1 -0
  558. package/lib/util/api/client/client.gen.js +205 -0
  559. package/lib/util/api/client/client.gen.js.map +1 -0
  560. package/lib/util/api/client/index.d.ts +8 -0
  561. package/lib/util/api/client/index.d.ts.map +1 -0
  562. package/lib/util/api/client/index.js +6 -0
  563. package/lib/util/api/client/index.js.map +1 -0
  564. package/lib/util/api/client/types.gen.d.ts +125 -0
  565. package/lib/util/api/client/types.gen.d.ts.map +1 -0
  566. package/lib/util/api/client/types.gen.js +2 -0
  567. package/lib/util/api/client/types.gen.js.map +1 -0
  568. package/lib/util/api/client/utils.gen.d.ts +34 -0
  569. package/lib/util/api/client/utils.gen.d.ts.map +1 -0
  570. package/lib/util/api/client/utils.gen.js +231 -0
  571. package/lib/util/api/client/utils.gen.js.map +1 -0
  572. package/lib/util/api/core/auth.gen.d.ts +19 -0
  573. package/lib/util/api/core/auth.gen.d.ts.map +1 -0
  574. package/lib/util/api/core/auth.gen.js +15 -0
  575. package/lib/util/api/core/auth.gen.js.map +1 -0
  576. package/lib/util/api/core/bodySerializer.gen.d.ts +18 -0
  577. package/lib/util/api/core/bodySerializer.gen.d.ts.map +1 -0
  578. package/lib/util/api/core/bodySerializer.gen.js +58 -0
  579. package/lib/util/api/core/bodySerializer.gen.js.map +1 -0
  580. package/lib/util/api/core/params.gen.d.ts +34 -0
  581. package/lib/util/api/core/params.gen.d.ts.map +1 -0
  582. package/lib/util/api/core/params.gen.js +89 -0
  583. package/lib/util/api/core/params.gen.js.map +1 -0
  584. package/lib/util/api/core/pathSerializer.gen.d.ts +34 -0
  585. package/lib/util/api/core/pathSerializer.gen.d.ts.map +1 -0
  586. package/lib/util/api/core/pathSerializer.gen.js +115 -0
  587. package/lib/util/api/core/pathSerializer.gen.js.map +1 -0
  588. package/lib/util/api/core/serverSentEvents.gen.d.ts +72 -0
  589. package/lib/util/api/core/serverSentEvents.gen.d.ts.map +1 -0
  590. package/lib/util/api/core/serverSentEvents.gen.js +136 -0
  591. package/lib/util/api/core/serverSentEvents.gen.js.map +1 -0
  592. package/lib/util/api/core/types.gen.d.ts +79 -0
  593. package/lib/util/api/core/types.gen.d.ts.map +1 -0
  594. package/lib/util/api/core/types.gen.js +2 -0
  595. package/lib/util/api/core/types.gen.js.map +1 -0
  596. package/lib/util/api/core/utils.gen.d.ts +20 -0
  597. package/lib/util/api/core/utils.gen.d.ts.map +1 -0
  598. package/lib/util/api/core/utils.gen.js +88 -0
  599. package/lib/util/api/core/utils.gen.js.map +1 -0
  600. package/lib/util/http.d.ts +7 -2
  601. package/lib/util/http.d.ts.map +1 -1
  602. package/lib/util/http.js +29 -11
  603. package/lib/util/http.js.map +1 -1
  604. package/lib/util/idempotent-spawn.d.ts.map +1 -1
  605. package/lib/util/idempotent-spawn.js +5 -8
  606. package/lib/util/idempotent-spawn.js.map +1 -1
  607. package/lib/util/lock.d.ts +20 -0
  608. package/lib/util/lock.d.ts.map +1 -0
  609. package/lib/util/lock.js +45 -0
  610. package/lib/util/lock.js.map +1 -0
  611. package/lib/util/memoize.d.ts +6 -0
  612. package/lib/util/memoize.d.ts.map +1 -1
  613. package/lib/util/memoize.js +23 -0
  614. package/lib/util/memoize.js.map +1 -1
  615. package/lib/util/oauth-client.d.ts +71 -0
  616. package/lib/util/oauth-client.d.ts.map +1 -0
  617. package/lib/util/oauth-client.js +188 -0
  618. package/lib/util/oauth-client.js.map +1 -0
  619. package/lib/util/poll.d.ts +33 -0
  620. package/lib/util/poll.d.ts.map +1 -0
  621. package/lib/util/poll.js +19 -0
  622. package/lib/util/poll.js.map +1 -0
  623. package/lib/vercel/project-domain.d.ts +1 -2
  624. package/lib/vercel/project-domain.d.ts.map +1 -1
  625. package/lib/vercel/project-domain.js.map +1 -1
  626. package/lib/vercel/project.d.ts +1 -2
  627. package/lib/vercel/project.d.ts.map +1 -1
  628. package/lib/vercel/project.js +2 -2
  629. package/lib/vercel/project.js.map +1 -1
  630. package/package.json +5 -1
  631. package/src/alchemy.ts +7 -0
  632. package/src/apply.ts +32 -29
  633. package/src/auth.ts +253 -0
  634. package/src/aws/bucket.ts +3 -3
  635. package/src/aws/control/resource.ts +4 -6
  636. package/src/aws/ec2/internet-gateway-attachment.ts +5 -6
  637. package/src/aws/ec2/internet-gateway.ts +3 -5
  638. package/src/aws/ec2/nat-gateway.ts +3 -5
  639. package/src/aws/ec2/route-table-association.ts +3 -5
  640. package/src/aws/ec2/route-table.ts +3 -5
  641. package/src/aws/ec2/route.ts +3 -3
  642. package/src/aws/ec2/security-group-rule.ts +3 -5
  643. package/src/aws/ec2/security-group.ts +3 -5
  644. package/src/aws/ec2/subnet.ts +3 -3
  645. package/src/aws/ec2/vpc.ts +3 -3
  646. package/src/aws/function.ts +3 -3
  647. package/src/aws/oidc/oidc-provider.ts +3 -5
  648. package/src/aws/policy-attachment.ts +2 -4
  649. package/src/aws/policy.ts +5 -5
  650. package/src/aws/queue.ts +5 -5
  651. package/src/aws/role.ts +3 -3
  652. package/src/aws/ses.ts +3 -3
  653. package/src/aws/ssm-parameter.ts +3 -3
  654. package/src/aws/table.ts +3 -3
  655. package/src/cloudflare/account-api-token.ts +3 -4
  656. package/src/cloudflare/ai-gateway.ts +3 -5
  657. package/src/cloudflare/api-gateway-operation.ts +3 -4
  658. package/src/cloudflare/api-schema.ts +25 -26
  659. package/src/cloudflare/api-shield.ts +3 -4
  660. package/src/cloudflare/api.ts +122 -57
  661. package/src/cloudflare/assets.ts +95 -136
  662. package/src/cloudflare/auth.ts +160 -95
  663. package/src/cloudflare/bindings.ts +21 -4
  664. package/src/cloudflare/bound.ts +50 -52
  665. package/src/cloudflare/bucket.ts +321 -58
  666. package/src/cloudflare/bundle/internal-worker-bundle.ts +2 -1
  667. package/src/cloudflare/bundle/plugin-wasm.ts +5 -5
  668. package/src/cloudflare/certificate-pack.ts +5 -6
  669. package/src/cloudflare/compatibility-date.gen.ts +1 -1
  670. package/src/cloudflare/container.ts +7 -8
  671. package/src/cloudflare/custom-domain.ts +3 -5
  672. package/src/cloudflare/d1-database.ts +33 -34
  673. package/src/cloudflare/dispatch-namespace.ts +5 -6
  674. package/src/cloudflare/dns-records.ts +5 -5
  675. package/src/cloudflare/email-address.ts +7 -7
  676. package/src/cloudflare/email-catch-all.ts +6 -6
  677. package/src/cloudflare/email-routing.ts +5 -5
  678. package/src/cloudflare/email-rule.ts +5 -5
  679. package/src/cloudflare/hyperdrive-ref.ts +98 -0
  680. package/src/cloudflare/hyperdrive.ts +35 -36
  681. package/src/cloudflare/index.ts +2 -0
  682. package/src/cloudflare/kv-namespace.ts +31 -32
  683. package/src/cloudflare/miniflare/build-worker-options.ts +21 -12
  684. package/src/cloudflare/miniflare/delete.ts +1 -1
  685. package/src/cloudflare/miniflare/miniflare-controller.ts +27 -12
  686. package/src/cloudflare/miniflare/miniflare-worker-proxy.ts +117 -102
  687. package/src/cloudflare/miniflare/remote-binding-proxy.ts +16 -4
  688. package/src/cloudflare/miniflare/tunnel.ts +116 -0
  689. package/src/cloudflare/next.ts +3 -0
  690. package/src/cloudflare/permission-groups.ts +4 -6
  691. package/src/cloudflare/pipeline.ts +29 -30
  692. package/src/cloudflare/queue-consumer.ts +5 -7
  693. package/src/cloudflare/queue.ts +42 -43
  694. package/src/cloudflare/react-router/plugin.ts +20 -0
  695. package/src/cloudflare/redirect-rule.ts +5 -5
  696. package/src/cloudflare/route.ts +5 -5
  697. package/src/cloudflare/ruleset.ts +3 -4
  698. package/src/cloudflare/secret-ref.ts +56 -0
  699. package/src/cloudflare/secret.ts +35 -36
  700. package/src/cloudflare/secrets-store.ts +5 -8
  701. package/src/cloudflare/tunnel.ts +5 -7
  702. package/src/cloudflare/user.ts +12 -9
  703. package/src/cloudflare/vectorize-index.ts +8 -12
  704. package/src/cloudflare/vectorize-metadata-index.ts +6 -8
  705. package/src/cloudflare/website.ts +1 -1
  706. package/src/cloudflare/worker-assets.ts +10 -56
  707. package/src/cloudflare/worker-metadata.ts +14 -12
  708. package/src/cloudflare/worker-stub.ts +5 -5
  709. package/src/cloudflare/worker-subdomain.ts +6 -7
  710. package/src/cloudflare/worker.ts +123 -92
  711. package/src/cloudflare/wrangler.json.ts +13 -11
  712. package/src/cloudflare/zone.ts +3 -3
  713. package/src/context.ts +9 -7
  714. package/src/destroy.ts +2 -2
  715. package/src/dns/import-dns.ts +3 -5
  716. package/src/docker/container.ts +3 -6
  717. package/src/docker/image.ts +13 -13
  718. package/src/docker/network.ts +3 -4
  719. package/src/docker/remote-image.ts +3 -6
  720. package/src/docker/volume.ts +3 -4
  721. package/src/esbuild/bundle.ts +10 -8
  722. package/src/fs/copy-file.ts +3 -3
  723. package/src/fs/file.ts +3 -3
  724. package/src/fs/folder.ts +3 -3
  725. package/src/github/comment.ts +5 -7
  726. package/src/github/repository-environment.ts +3 -5
  727. package/src/github/repository-webhook.ts +3 -5
  728. package/src/github/secret.ts +3 -5
  729. package/src/llms.cloudflare.txt +1 -1
  730. package/src/neon/api/client.gen.ts +28 -0
  731. package/src/neon/api/sdk.gen.ts +2596 -0
  732. package/src/neon/api/types.gen.ts +8287 -0
  733. package/src/neon/api.ts +51 -147
  734. package/src/neon/branch.ts +278 -0
  735. package/src/neon/index.ts +1 -1
  736. package/src/neon/project.ts +136 -721
  737. package/src/neon/utils.ts +105 -0
  738. package/src/os/exec.ts +3 -3
  739. package/src/planetscale/api/client.gen.ts +28 -2882
  740. package/src/planetscale/api/sdk.gen.ts +3336 -0
  741. package/src/planetscale/api/types.gen.ts +778 -450
  742. package/src/planetscale/api.ts +101 -0
  743. package/src/planetscale/branch.ts +20 -19
  744. package/src/planetscale/database.ts +69 -70
  745. package/src/planetscale/index.ts +1 -1
  746. package/src/planetscale/password.ts +18 -22
  747. package/src/planetscale/role.ts +21 -21
  748. package/src/planetscale/utils.ts +20 -74
  749. package/src/random/random-string.ts +4 -4
  750. package/src/resource.ts +6 -2
  751. package/src/scope.ts +12 -1
  752. package/src/sentry/client-key.ts +3 -5
  753. package/src/sentry/project.ts +3 -5
  754. package/src/sentry/team.ts +3 -3
  755. package/src/state/r2-rest-state-store.ts +15 -57
  756. package/src/stripe/card.ts +3 -3
  757. package/src/stripe/coupon.ts +3 -3
  758. package/src/stripe/customer.ts +3 -3
  759. package/src/stripe/entitlements-feature.ts +3 -5
  760. package/src/stripe/file.ts +3 -3
  761. package/src/stripe/meter.ts +3 -3
  762. package/src/stripe/portal-configuration.ts +3 -5
  763. package/src/stripe/price.ts +3 -3
  764. package/src/stripe/product-feature.ts +3 -5
  765. package/src/stripe/product.ts +3 -3
  766. package/src/stripe/promotion-code.ts +3 -5
  767. package/src/stripe/shipping-rate.ts +3 -5
  768. package/src/stripe/tax-rate.ts +3 -3
  769. package/src/stripe/webhook.ts +3 -5
  770. package/src/test/bun.ts +1 -0
  771. package/src/test/options.ts +6 -0
  772. package/src/test/vitest.ts +1 -0
  773. package/src/upstash/redis.ts +1 -3
  774. package/src/util/api/client/client.gen.ts +268 -0
  775. package/src/util/api/client/index.ts +25 -0
  776. package/src/util/api/client/types.gen.ts +268 -0
  777. package/src/util/api/client/utils.gen.ts +331 -0
  778. package/src/util/api/core/auth.gen.ts +42 -0
  779. package/src/util/api/core/bodySerializer.gen.ts +92 -0
  780. package/src/util/api/core/params.gen.ts +153 -0
  781. package/src/util/api/core/pathSerializer.gen.ts +181 -0
  782. package/src/util/api/core/serverSentEvents.gen.ts +264 -0
  783. package/src/util/api/core/types.gen.ts +118 -0
  784. package/src/util/api/core/utils.gen.ts +143 -0
  785. package/src/util/http.ts +38 -11
  786. package/src/util/idempotent-spawn.ts +5 -6
  787. package/src/util/lock.ts +48 -0
  788. package/src/util/memoize.ts +26 -0
  789. package/src/util/oauth-client.ts +238 -0
  790. package/src/util/poll.ts +55 -0
  791. package/src/vercel/project-domain.ts +1 -3
  792. package/src/vercel/project.ts +3 -3
  793. package/templates/rwsdk/.cursor/rules/alchemy_cloudflare.mdc +1 -1
  794. package/templates/rwsdk/package.json +3 -3
  795. package/workers/cloudflare-state-store.js +8 -5619
  796. package/workers/dofs-state-store.js +2 -802
  797. package/workers/remote-binding-proxy.js +3 -39
  798. package/workers/remote-binding-proxy.ts +126 -35
  799. package/workers/tunnel-proxy.js +43 -0
  800. package/workers/tunnel-proxy.ts +121 -0
  801. package/lib/cloudflare/asset-manifest.d.ts +0 -15
  802. package/lib/cloudflare/asset-manifest.d.ts.map +0 -1
  803. package/lib/cloudflare/asset-manifest.js +0 -1
  804. package/lib/cloudflare/asset-manifest.js.map +0 -1
  805. package/lib/cloudflare/oauth.d.ts +0 -22
  806. package/lib/cloudflare/oauth.d.ts.map +0 -1
  807. package/lib/cloudflare/oauth.js +0 -214
  808. package/lib/cloudflare/oauth.js.map +0 -1
  809. package/lib/neon/api-error.d.ts +0 -31
  810. package/lib/neon/api-error.d.ts.map +0 -1
  811. package/lib/neon/api-error.js +0 -73
  812. package/lib/neon/api-error.js.map +0 -1
  813. package/lib/planetscale/api/index.d.ts +0 -3
  814. package/lib/planetscale/api/index.d.ts.map +0 -1
  815. package/lib/planetscale/api/index.js +0 -4
  816. package/lib/planetscale/api/index.js.map +0 -1
  817. package/lib/util/neverthrow.d.ts +0 -16
  818. package/lib/util/neverthrow.d.ts.map +0 -1
  819. package/lib/util/neverthrow.js +0 -46
  820. package/lib/util/neverthrow.js.map +0 -1
  821. package/src/cloudflare/asset-manifest.ts +0 -16
  822. package/src/cloudflare/oauth.ts +0 -301
  823. package/src/neon/api-error.ts +0 -81
  824. package/src/planetscale/api/index.ts +0 -4
  825. package/src/util/neverthrow.ts +0 -64
@@ -1,5 +1,6 @@
1
- import * as fs from "node:fs/promises";
2
- import * as path from "pathe";
1
+ import crypto from "node:crypto";
2
+ import fs from "node:fs/promises";
3
+ import path from "pathe";
3
4
  import { Resource } from "../resource.js";
4
5
  import { getContentType } from "../util/content-type.js";
5
6
  import ignore from "../util/ignore-matcher.js";
@@ -9,7 +10,7 @@ import ignore from "../util/ignore-matcher.js";
9
10
  *
10
11
  * @example
11
12
  * // Create a basic assets bundle from a local directory
12
- * const staticAssets = await Assets("static", {
13
+ * const staticAssets = await Assets({
13
14
  * path: "./src/assets"
14
15
  * });
15
16
  *
@@ -22,75 +23,82 @@ import ignore from "../util/ignore-matcher.js";
22
23
  * }
23
24
  * });
24
25
  */
25
- export const Assets = Resource("cloudflare::Asset", {
26
- alwaysUpdate: true,
27
- }, async function (id, props) {
28
- if (this.phase === "delete") {
29
- return this.destroy();
30
- }
31
- try {
32
- // Check if the assets directory exists
33
- const stats = await fs.stat(props.path);
34
- if (!stats.isDirectory()) {
35
- throw new Error(`Assets path ${props.path} is not a directory`);
36
- }
37
- }
38
- catch (_error) {
39
- throw new Error(`Assets directory ${props.path} does not exist or is not accessible`);
40
- }
41
- // Recursively get all files in the assets directory
42
- const ignoreMatcher = await createIgnoreMatcher(props.path);
43
- const filesList = await getFilesRecursively(props.path, ignoreMatcher);
44
- // Create asset file objects
45
- const files = filesList.map((filePath) => {
46
- const relativePath = path.relative(props.path, filePath);
47
- return {
48
- path: path.normalize(relativePath),
49
- filePath: path.normalize(filePath),
50
- contentType: getContentType(filePath) ?? "application/null",
51
- };
52
- });
53
- // Get current timestamp
54
- const now = Date.now();
55
- // Construct the output
56
- return this({
57
- id,
26
+ export async function Assets(props) {
27
+ return {
58
28
  type: "assets",
59
- path: props.path,
60
- files,
61
- createdAt: this.output?.createdAt || now,
62
- updatedAt: now,
63
- });
64
- });
65
- async function createIgnoreMatcher(dir) {
66
- const ignoreMatcher = ignore().add(".assetsignore");
67
- const ignorePath = path.join(dir, ".assetsignore");
68
- try {
69
- const content = await fs.readFile(ignorePath, "utf-8");
70
- ignoreMatcher.add(content.split("\n"));
71
- }
72
- catch {
73
- // ignore
74
- }
75
- return ignoreMatcher;
29
+ ...props,
30
+ };
76
31
  }
77
- // Helper functions for file operations
78
- async function getFilesRecursively(dir, ignoreMatcher) {
79
- const files = await fs.readdir(dir, { withFileTypes: true });
80
- const result = [];
81
- await Promise.all(files.map(async (file) => {
82
- const filePath = path.join(dir, file.name);
83
- if (ignoreMatcher.ignores(file.name)) {
84
- return;
85
- }
86
- if (file.isDirectory() ||
87
- (file.isSymbolicLink() && (await fs.stat(filePath)).isDirectory())) {
88
- result.push(...(await getFilesRecursively(filePath, ignoreMatcher)));
32
+ (function (Assets) {
33
+ /**
34
+ * Recursively read the metadata for all assets in a directory, skipping files that are ignored by the .assetsignore file
35
+ *
36
+ * @param root Path to the directory
37
+ * @returns Metadata for all assets in the directory
38
+ */
39
+ Assets.read = async (root) => {
40
+ const matcher = ignore().add(".assetsignore");
41
+ const ignorePath = path.join(root, ".assetsignore");
42
+ try {
43
+ const content = await fs.readFile(ignorePath, "utf-8");
44
+ matcher.add(content.split("\n"));
89
45
  }
90
- else {
91
- result.push(filePath);
46
+ catch {
47
+ // ignore
92
48
  }
93
- }));
94
- return result;
95
- }
49
+ const readDirectory = async (directory) => {
50
+ const files = await fs.readdir(directory);
51
+ const result = [];
52
+ await Promise.all(files.map(async (file) => {
53
+ const absolutePath = path.join(directory, file);
54
+ const relativePath = path.relative(root, absolutePath);
55
+ if (matcher.ignores(relativePath)) {
56
+ return;
57
+ }
58
+ const stat = await fs.stat(absolutePath);
59
+ if (stat.isDirectory()) {
60
+ result.push(...(await readDirectory(absolutePath)));
61
+ }
62
+ else {
63
+ if (stat.size > 26214400) {
64
+ throw new Error(`File "${absolutePath}" is too large to upload as an asset to Cloudflare (the file is ${(stat.size / 1024 / 1024).toFixed(2)} MB; the maximum size is 25MB).`);
65
+ }
66
+ result.push({
67
+ path: absolutePath,
68
+ name: relativePath.startsWith("/")
69
+ ? relativePath
70
+ : `/${relativePath}`,
71
+ hash: await computeHash(absolutePath),
72
+ size: stat.size,
73
+ type: getContentType(absolutePath) ?? "application/null",
74
+ });
75
+ }
76
+ }));
77
+ return result;
78
+ };
79
+ return await readDirectory(root);
80
+ };
81
+ /**
82
+ * Calculate the SHA-256 hash and size of a file
83
+ *
84
+ * @param filePath Path to the file
85
+ * @returns Hash (first 32 chars of SHA-256) and size of the file
86
+ */
87
+ const computeHash = async (filePath) => {
88
+ const contents = await fs.readFile(filePath);
89
+ const hash = crypto.createHash("sha256");
90
+ hash.update(contents);
91
+ const extension = path.extname(filePath).substring(1);
92
+ hash.update(extension);
93
+ return hash.digest("hex").slice(0, 32);
94
+ };
95
+ })(Assets || (Assets = {}));
96
+ // we are deprecating the Assets resource (it is now just a function)
97
+ // but, a user may still have a resource that depends on it, so we register a no-op dummy resource so that it can be cleanly deleted
98
+ Resource("cloudflare::Asset", async function () {
99
+ if (this.phase === "delete") {
100
+ return this.destroy();
101
+ }
102
+ throw new Error("Not implemented");
103
+ });
96
104
  //# sourceMappingURL=assets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/cloudflare/assets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/cloudflare/assets.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,93 @@
1
- import type { Secret } from "../secret.ts";
2
- import type { CloudflareApiOptions } from "./api.ts";
3
- export interface CloudflareApiTokenAuthOptions {
4
- type: "api-token";
5
- apiToken: Secret<string>;
1
+ import { Credentials } from "../auth.ts";
2
+ import { OAuthClient } from "../util/oauth-client.ts";
3
+ export declare namespace CloudflareAuth {
4
+ const client: OAuthClient;
5
+ type Metadata = {
6
+ id: string;
7
+ name: string;
8
+ };
9
+ const ALL_SCOPES: {
10
+ "access:read": string;
11
+ "access:write": string;
12
+ "account:read": string;
13
+ "agw:read": string;
14
+ "agw:run": string;
15
+ "ai:read": string;
16
+ "ai:write": string;
17
+ "aiaudit:read": string;
18
+ "aiaudit:write": string;
19
+ "aig:read": string;
20
+ "aig:write": string;
21
+ "auditlogs:read": string;
22
+ "browser:read": string;
23
+ "browser:write": string;
24
+ "cfone:read": string;
25
+ "cfone:write": string;
26
+ "cloudchamber:write": string;
27
+ "constellation:write": string;
28
+ "containers:write": string;
29
+ "d1:write": string;
30
+ "dex:read": string;
31
+ "dex:write": string;
32
+ "dns_analytics:read": string;
33
+ "dns_records:edit": string;
34
+ "dns_records:read": string;
35
+ "dns_settings:read": string;
36
+ "firstpartytags:write": string;
37
+ "lb:edit": string;
38
+ "lb:read": string;
39
+ "logpush:read": string;
40
+ "logpush:write": string;
41
+ "notification:read": string;
42
+ "notification:write": string;
43
+ "pages:read": string;
44
+ "pages:write": string;
45
+ "pipelines:read": string;
46
+ "pipelines:setup": string;
47
+ "pipelines:write": string;
48
+ "query_cache:write": string;
49
+ "queues:write": string;
50
+ "r2_catalog:write": string;
51
+ "radar:read": string;
52
+ "rag:read": string;
53
+ "rag:write": string;
54
+ "secrets_store:read": string;
55
+ "secrets_store:write": string;
56
+ "sso-connector:read": string;
57
+ "sso-connector:write": string;
58
+ "ssl_certs:write": string;
59
+ "teams:pii": string;
60
+ "teams:read": string;
61
+ "teams:secure_location": string;
62
+ "teams:write": string;
63
+ "url_scanner:read": string;
64
+ "url_scanner:write": string;
65
+ "user:read": string;
66
+ "vectorize:write": string;
67
+ "workers:write": string;
68
+ "workers_builds:read": string;
69
+ "workers_builds:write": string;
70
+ "workers_kv:write": string;
71
+ "workers_observability:read": string;
72
+ "workers_observability:write": string;
73
+ "workers_observability_telemetry:write": string;
74
+ "workers_routes:write": string;
75
+ "workers_scripts:write": string;
76
+ "workers_tail:read": string;
77
+ "zone:read": string;
78
+ };
79
+ const DEFAULT_SCOPES: string[];
80
+ /**
81
+ * Format Cloudflare credentials as headers, refreshing OAuth credentials if expired.
82
+ * If the credentials are OAuth, the `profile` is required so we can read and write the updated credentials.
83
+ */
84
+ const formatHeadersWithRefresh: (input: {
85
+ profile: string | undefined;
86
+ credentials: Credentials;
87
+ }) => Promise<Record<string, string>>;
88
+ /**
89
+ * Format Cloudflare credentials as headers.
90
+ */
91
+ const formatHeaders: (credentials: Credentials) => Record<string, string>;
6
92
  }
7
- export interface CloudflareApiKeyAuthOptions {
8
- type: "api-key";
9
- apiKey: Secret;
10
- apiEmail: string;
11
- }
12
- export interface CloudflareWranglerAuthOptions {
13
- type: "wrangler";
14
- }
15
- export type CloudflareAuthOptions = CloudflareApiTokenAuthOptions | CloudflareApiKeyAuthOptions | CloudflareWranglerAuthOptions;
16
- export declare const isCloudflareAuthOptions: (input?: CloudflareApiOptions | CloudflareAuthOptions) => input is CloudflareAuthOptions;
17
- export declare function normalizeAuthOptions(input?: CloudflareApiOptions | CloudflareAuthOptions): Promise<CloudflareAuthOptions>;
18
- export declare function getCloudflareAuthHeaders(authOptions: CloudflareAuthOptions): Promise<Record<string, string>>;
19
93
  //# sourceMappingURL=auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/cloudflare/auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAIrD,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,MAAM,qBAAqB,GAC7B,6BAA6B,GAC7B,2BAA2B,GAC3B,6BAA6B,CAAC;AAElC,eAAO,MAAM,uBAAuB,GAClC,QAAQ,oBAAoB,GAAG,qBAAqB,KACnD,KAAK,IAAI,qBAQX,CAAC;AAEF,wBAAsB,oBAAoB,CACxC,KAAK,CAAC,EAAE,oBAAoB,GAAG,qBAAqB,GACnD,OAAO,CAAC,qBAAqB,CAAC,CA+BhC;AAED,wBAAsB,wBAAwB,CAC5C,WAAW,EAAE,qBAAqB,GACjC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAyBjC"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/cloudflare/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,yBAAiB,cAAc,CAAC;IACvB,MAAM,MAAM,aAQjB,CAAC;IAEH,KAAY,QAAQ,GAAG;QACrB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACK,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAkFtB,CAAC;IACK,MAAM,cAAc,UAkB1B,CAAC;IAEF;;;OAGG;IACI,MAAM,wBAAwB,GAAU,OAAO;QACpD,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;QAC5B,WAAW,EAAE,WAAW,CAAC;KAC1B,oCAgBA,CAAC;IAEF;;OAEG;IACI,MAAM,aAAa,GACxB,aAAa,WAAW,KACvB,MAAM,CAAC,MAAM,EAAE,MAAM,CAYvB,CAAC;CACH"}
@@ -1,64 +1,143 @@
1
- import { alchemy } from "../alchemy.js";
2
- import { getRefreshedWranglerConfig } from "./oauth.js";
3
- import { getUserEmailFromApiKey } from "./user.js";
4
- export const isCloudflareAuthOptions = (input) => {
5
- return (input !== undefined &&
6
- "type" in input &&
7
- (input.type === "api-token" ||
8
- input.type === "api-key" ||
9
- input.type === "wrangler"));
10
- };
11
- export async function normalizeAuthOptions(input) {
12
- if (isCloudflareAuthOptions(input)) {
13
- return input;
14
- }
15
- const email = async (apiKey) => input?.email ??
16
- process.env.CLOUDFLARE_EMAIL ??
17
- (await getUserEmailFromApiKey(apiKey.unencrypted));
18
- if (input?.apiKey) {
19
- return {
20
- type: "api-key",
21
- apiKey: input.apiKey,
22
- apiEmail: await email(input.apiKey),
23
- };
24
- }
25
- if (input?.apiToken) {
26
- return { type: "api-token", apiToken: input.apiToken };
27
- }
28
- if (process.env.CLOUDFLARE_API_KEY) {
29
- const key = alchemy.secret(process.env.CLOUDFLARE_API_KEY);
30
- return { type: "api-key", apiKey: key, apiEmail: await email(key) };
31
- }
32
- if (process.env.CLOUDFLARE_API_TOKEN) {
33
- return {
34
- type: "api-token",
35
- apiToken: alchemy.secret(process.env.CLOUDFLARE_API_TOKEN),
36
- };
37
- }
38
- return { type: "wrangler" };
39
- }
40
- export async function getCloudflareAuthHeaders(authOptions) {
41
- switch (authOptions.type) {
42
- case "api-token":
43
- return { Authorization: `Bearer ${authOptions.apiToken.unencrypted}` };
44
- case "api-key":
45
- return {
46
- "X-Auth-Key": authOptions.apiKey.unencrypted,
47
- "X-Auth-Email": authOptions.apiEmail,
48
- };
49
- case "wrangler": {
50
- const wranglerConfig = await getRefreshedWranglerConfig();
51
- if (wranglerConfig.isErr()) {
52
- throw new Error([
53
- wranglerConfig.error.message,
54
- "Please run `alchemy login`, or set either CLOUDFLARE_API_TOKEN or CLOUDFLARE_API_KEY in your environment.",
55
- "Learn more: https://alchemy.run/guides/cloudflare/",
56
- ].join("\n"));
57
- }
58
- return {
59
- Authorization: `Bearer ${wranglerConfig.value.oauth_token}`,
60
- };
1
+ import assert from "node:assert";
2
+ import { Credentials } from "../auth.js";
3
+ import { OAuthClient } from "../util/oauth-client.js";
4
+ export var CloudflareAuth;
5
+ (function (CloudflareAuth) {
6
+ CloudflareAuth.client = new OAuthClient({
7
+ clientId: "6d8c2255-0773-45f6-b376-2914632e6f91",
8
+ redirectUri: "http://localhost:9976/auth/callback",
9
+ endpoints: {
10
+ authorize: "https://dash.cloudflare.com/oauth2/authorize",
11
+ token: "https://dash.cloudflare.com/oauth2/token",
12
+ revoke: "https://dash.cloudflare.com/oauth2/revoke",
13
+ },
14
+ });
15
+ CloudflareAuth.ALL_SCOPES = {
16
+ // TODO: Verify descriptions marked with `//*`
17
+ "access:read": "Read Cloudflare Access", //*
18
+ "access:write": "Write Cloudflare Access", //*
19
+ "account:read": "See your account info such as account details, analytics, and memberships.",
20
+ "agw:read": "Read API Gateway", //*
21
+ "agw:run": "Run API Gateway", //*
22
+ "ai:read": "Read access to Workers AI catalog and assets",
23
+ "ai:write": "See and change Workers AI catalog and assets",
24
+ "aiaudit:read": "Read AI Audit", //*
25
+ "aiaudit:write": "Write AI Audit", //*
26
+ "aig:read": "Read AI Gateway", //*
27
+ "aig:write": "Write AI Gateway", //*
28
+ "auditlogs:read": "Read audit logs", //*
29
+ "browser:read": "Read Browser", //*
30
+ "browser:write": "Write Browser", //*
31
+ "cfone:read": "Read Cloudflare One", //*
32
+ "cfone:write": "Write Cloudflare One", //*
33
+ "cloudchamber:write": "Manage Cloudchamber",
34
+ "constellation:write": "Write Constellation", //*
35
+ "containers:write": "Manage Workers Containers",
36
+ "d1:write": "See and change D1 Databases.",
37
+ "dex:read": "Read DEX", //*
38
+ "dex:write": "Write DEX", //*
39
+ "dns_analytics:read": "Read DNS analytics",
40
+ "dns_records:edit": "Edit DNS records",
41
+ "dns_records:read": "Read DNS records",
42
+ "dns_settings:read": "Read DNS settings",
43
+ "firstpartytags:write": "Write First Party Tags", //*
44
+ "lb:edit": "Edit Load Balancer", //*
45
+ "lb:read": "Read Load Balancer", //*
46
+ "logpush:read": "Read Logpush", //*
47
+ "logpush:write": "Write Logpush", //*
48
+ "notification:read": "Read Notifications", //*
49
+ "notification:write": "Write Notifications", //*
50
+ "pages:read": "Read access to Pages projects, settings, and deployments.",
51
+ "pages:write": "See and change Pages projects, settings, and deployments.",
52
+ "pipelines:read": "Read access to Pipelines configurations and data",
53
+ "pipelines:setup": "Setup access to Pipelines configurations and data",
54
+ "pipelines:write": "See and change Pipelines configurations and data",
55
+ "query_cache:write": "Write Query Cache", //*
56
+ "queues:write": "See and change Queues settings and data",
57
+ "r2_catalog:write": "Write R2 Catalog", //*
58
+ "radar:read": "Read Radar", //*
59
+ "rag:read": "Read RAG", //*
60
+ "rag:write": "Write RAG", //*
61
+ "secrets_store:read": "Read access to secrets + stores within the Secrets Store",
62
+ "secrets_store:write": "See and change secrets + stores within the Secrets Store",
63
+ "sso-connector:read": "Read SSO Connector", //*
64
+ "sso-connector:write": "Write SSO Connector", //*
65
+ "ssl_certs:write": "See and manage mTLS certificates for your account",
66
+ "teams:pii": "Read Teams PII", //*
67
+ "teams:read": "Read Teams", //*
68
+ "teams:secure_location": "Read Secure Location", //*
69
+ "teams:write": "Write Teams", //*
70
+ "url_scanner:read": "Read URL Scanner", //*
71
+ "url_scanner:write": "Write URL Scanner", //*
72
+ "user:read": "See your user info such as name, email address, and account memberships.",
73
+ "vectorize:write": "Write Vectorize", //*
74
+ "workers:write": "See and change Cloudflare Workers data such as zones, KV storage, namespaces, scripts, and routes.",
75
+ "workers_builds:read": "Read Workers Builds", //*
76
+ "workers_builds:write": "Write Workers Builds", //*
77
+ "workers_kv:write": "See and change Cloudflare Workers KV Storage data such as keys and namespaces.",
78
+ "workers_observability:read": "Read Workers Observability", //*
79
+ "workers_observability:write": "Write Workers Observability", //*
80
+ "workers_observability_telemetry:write": "Write Workers Observability Telemetry", //*
81
+ "workers_routes:write": "See and change Cloudflare Workers data such as filters and routes.",
82
+ "workers_scripts:write": "See and change Cloudflare Workers scripts, durable objects, subdomains, triggers, and tail data.",
83
+ "workers_tail:read": "See Cloudflare Workers tail and script data.",
84
+ "zone:read": "Grants read level access to account zone.",
85
+ // Not granted yet
86
+ // "connectivity:admin":
87
+ // "See, change, and bind to Connectivity Directory services, including creating services targeting Cloudflare Tunnel.",
88
+ };
89
+ CloudflareAuth.DEFAULT_SCOPES = [
90
+ "account:read",
91
+ "user:read",
92
+ "workers:write",
93
+ "workers_kv:write",
94
+ "workers_routes:write",
95
+ "workers_scripts:write",
96
+ "workers_tail:read",
97
+ "d1:write",
98
+ "pages:write",
99
+ "zone:read",
100
+ "ssl_certs:write",
101
+ "ai:write",
102
+ "queues:write",
103
+ "pipelines:write",
104
+ "secrets_store:write",
105
+ "containers:write",
106
+ "cloudchamber:write",
107
+ ];
108
+ /**
109
+ * Format Cloudflare credentials as headers, refreshing OAuth credentials if expired.
110
+ * If the credentials are OAuth, the `profile` is required so we can read and write the updated credentials.
111
+ */
112
+ CloudflareAuth.formatHeadersWithRefresh = async (input) => {
113
+ // if the credentials are not expired, return them as is
114
+ if (!Credentials.isOAuthExpired(input.credentials)) {
115
+ return CloudflareAuth.formatHeaders(input.credentials);
61
116
  }
62
- }
63
- }
117
+ assert(input.profile, "Profile is required for OAuth credentials");
118
+ const credentials = await Credentials.getRefreshed({
119
+ provider: "cloudflare",
120
+ profile: input.profile,
121
+ }, async (credentials) => {
122
+ return await CloudflareAuth.client.refresh(credentials);
123
+ });
124
+ return CloudflareAuth.formatHeaders(credentials);
125
+ };
126
+ /**
127
+ * Format Cloudflare credentials as headers.
128
+ */
129
+ CloudflareAuth.formatHeaders = (credentials) => {
130
+ switch (credentials.type) {
131
+ case "api-key":
132
+ return {
133
+ "X-Auth-Key": credentials.apiKey,
134
+ "X-Auth-Email": credentials.email,
135
+ };
136
+ case "api-token":
137
+ return { Authorization: `Bearer ${credentials.apiToken}` };
138
+ case "oauth":
139
+ return { Authorization: `Bearer ${credentials.access}` };
140
+ }
141
+ };
142
+ })(CloudflareAuth || (CloudflareAuth = {}));
64
143
  //# sourceMappingURL=auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/cloudflare/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/cloudflare/auth.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,6 @@
4
4
  * https://developers.cloudflare.com/api/resources/workers/subresources/scripts/methods/update/
5
5
  */
6
6
  import type { Secret } from "../secret.ts";
7
- import type { AiGateway } from "./ai-gateway.ts";
8
7
  import type { Ai } from "./ai.ts";
9
8
  import type { AnalyticsEngineDataset } from "./analytics-engine.ts";
10
9
  import type { Assets } from "./assets.ts";
@@ -15,6 +14,7 @@ import type { Container } from "./container.ts";
15
14
  import type { D1Database } from "./d1-database.ts";
16
15
  import type { DispatchNamespace } from "./dispatch-namespace.ts";
17
16
  import type { DurableObjectNamespace } from "./durable-object-namespace.ts";
17
+ import type { HyperdriveRef } from "./hyperdrive-ref.ts";
18
18
  import type { Hyperdrive } from "./hyperdrive.ts";
19
19
  import type { Images } from "./images.ts";
20
20
  import type { KVNamespace } from "./kv-namespace.ts";
@@ -22,6 +22,7 @@ import type { Pipeline } from "./pipeline.ts";
22
22
  import type { Queue } from "./queue.ts";
23
23
  import type { RateLimit } from "./rate-limit.ts";
24
24
  import type { SecretKey } from "./secret-key.ts";
25
+ import type { SecretRef as CloudflareSecretRef } from "./secret-ref.ts";
25
26
  import type { Secret as CloudflareSecret } from "./secret.ts";
26
27
  import type { VectorizeIndex } from "./vectorize-index.ts";
27
28
  import type { VersionMetadata } from "./version-metadata.ts";
@@ -40,12 +41,21 @@ export declare namespace Bindings {
40
41
  /**
41
42
  * L2 Binding Resources.
42
43
  */
43
- export type Binding = Ai | AiGateway | Assets | Container | CloudflareSecret | D1Database | DispatchNamespace | AnalyticsEngineDataset | DurableObjectNamespace<any> | Hyperdrive | Images | KVNamespace | Pipeline | Queue | RateLimit | R2Bucket | {
44
+ export type Binding = Ai | Assets | Container | CloudflareSecret | CloudflareSecretRef | D1Database | DispatchNamespace | AnalyticsEngineDataset | DurableObjectNamespace<any> | Hyperdrive | HyperdriveRef | Images | KVNamespace | Pipeline | Queue | RateLimit | R2Bucket | {
44
45
  type: "kv_namespace";
45
46
  id: string;
46
- } | Secret | SecretKey | string | VectorizeIndex | Worker | WorkerStub | WorkerRef | Workflow | BrowserRendering | VersionMetadata | Self | Json;
47
- export type Self = typeof Self;
48
- export declare const Self: unique symbol;
47
+ } | Secret | SecretKey | string | VectorizeIndex | Worker | WorkerStub | WorkerRef | WorkerEntrypoint | Workflow | BrowserRendering | VersionMetadata | Self | Json;
48
+ export type Self<RPC extends Rpc.WorkerEntrypointBranded = Rpc.WorkerEntrypointBranded> = {
49
+ type: "cloudflare::Worker::Self";
50
+ __entrypoint__?: string;
51
+ __rpc__?: RPC;
52
+ };
53
+ export declare const Self: {
54
+ readonly type: "cloudflare::Worker::Self";
55
+ };
56
+ export type WorkerEntrypoint = (Worker | WorkerRef) & {
57
+ __entrypoint__?: string;
58
+ };
49
59
  export type Json<T = any> = {
50
60
  type: "json";
51
61
  json: T;
@@ -303,6 +313,8 @@ export interface WorkerBindingService {
303
313
  environment?: string;
304
314
  /** Service namespace */
305
315
  namespace?: string;
316
+ /** Service entrypoint */
317
+ entrypoint?: string;
306
318
  }
307
319
  /**
308
320
  * Tail Consumer binding type