alchemy 2.0.0-beta.62 → 2.0.0-beta.63

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 (489) hide show
  1. package/README.md +12 -12
  2. package/bin/exec.js +1959 -70
  3. package/bin/exec.js.map +1 -1
  4. package/lib/AWS/AuthProvider.js +1 -1
  5. package/lib/AWS/AuthProvider.js.map +1 -1
  6. package/lib/AWS/EC2/hosted.d.ts.map +1 -1
  7. package/lib/AWS/EC2/hosted.js +2 -1
  8. package/lib/AWS/EC2/hosted.js.map +1 -1
  9. package/lib/AWS/ECS/Task.d.ts.map +1 -1
  10. package/lib/AWS/ECS/Task.js +2 -1
  11. package/lib/AWS/ECS/Task.js.map +1 -1
  12. package/lib/AWS/Lambda/Function.d.ts.map +1 -1
  13. package/lib/AWS/Lambda/Function.js +13 -40
  14. package/lib/AWS/Lambda/Function.js.map +1 -1
  15. package/lib/AWS/Lambda/MicrovmRuntimeContext.d.ts.map +1 -1
  16. package/lib/AWS/Lambda/MicrovmRuntimeContext.js +9 -21
  17. package/lib/AWS/Lambda/MicrovmRuntimeContext.js.map +1 -1
  18. package/lib/Action.d.ts +8 -0
  19. package/lib/Action.d.ts.map +1 -1
  20. package/lib/Action.js +16 -5
  21. package/lib/Action.js.map +1 -1
  22. package/lib/ActionRuntimeContext.d.ts +14 -0
  23. package/lib/ActionRuntimeContext.d.ts.map +1 -0
  24. package/lib/ActionRuntimeContext.js +56 -0
  25. package/lib/ActionRuntimeContext.js.map +1 -0
  26. package/lib/Apply.d.ts.map +1 -1
  27. package/lib/Apply.js +40 -6
  28. package/lib/Apply.js.map +1 -1
  29. package/lib/Auth/AuthProvider.d.ts +3 -3
  30. package/lib/Auth/AuthProvider.d.ts.map +1 -1
  31. package/lib/Auth/AuthProvider.js +1 -1
  32. package/lib/Auth/AuthProvider.js.map +1 -1
  33. package/lib/Auth/Lock.d.ts.map +1 -1
  34. package/lib/Auth/Lock.js +5 -2
  35. package/lib/Auth/Lock.js.map +1 -1
  36. package/lib/Bundle/PurePlugin.d.ts.map +1 -1
  37. package/lib/Bundle/PurePlugin.js +26 -1
  38. package/lib/Bundle/PurePlugin.js.map +1 -1
  39. package/lib/Bundle/Vite.d.ts +2 -0
  40. package/lib/Bundle/Vite.d.ts.map +1 -1
  41. package/lib/Bundle/Vite.js +24 -1
  42. package/lib/Bundle/Vite.js.map +1 -1
  43. package/lib/Cli/LoggingCli.d.ts.map +1 -1
  44. package/lib/Cli/LoggingCli.js +7 -4
  45. package/lib/Cli/LoggingCli.js.map +1 -1
  46. package/lib/Cli/commands/_shared.d.ts +19 -0
  47. package/lib/Cli/commands/_shared.d.ts.map +1 -1
  48. package/lib/Cli/commands/_shared.js +22 -0
  49. package/lib/Cli/commands/_shared.js.map +1 -1
  50. package/lib/Cli/commands/login.d.ts +7 -3
  51. package/lib/Cli/commands/login.d.ts.map +1 -1
  52. package/lib/Cli/commands/login.js +70 -12
  53. package/lib/Cli/commands/login.js.map +1 -1
  54. package/lib/Cli/commands/profile.d.ts.map +1 -1
  55. package/lib/Cli/commands/profile.js +7 -20
  56. package/lib/Cli/commands/profile.js.map +1 -1
  57. package/lib/Cloudflare/AI/LanguageModel.js +21 -4
  58. package/lib/Cloudflare/AI/LanguageModel.js.map +1 -1
  59. package/lib/Cloudflare/AI/QuerySearchLocal.d.ts +37 -0
  60. package/lib/Cloudflare/AI/QuerySearchLocal.d.ts.map +1 -0
  61. package/lib/Cloudflare/AI/QuerySearchLocal.js +53 -0
  62. package/lib/Cloudflare/AI/QuerySearchLocal.js.map +1 -0
  63. package/lib/Cloudflare/AI/QuerySearchNamespaceLocal.d.ts +35 -0
  64. package/lib/Cloudflare/AI/QuerySearchNamespaceLocal.d.ts.map +1 -0
  65. package/lib/Cloudflare/AI/QuerySearchNamespaceLocal.js +47 -0
  66. package/lib/Cloudflare/AI/QuerySearchNamespaceLocal.js.map +1 -0
  67. package/lib/Cloudflare/AI/SearchHttpClient.d.ts +34 -0
  68. package/lib/Cloudflare/AI/SearchHttpClient.d.ts.map +1 -0
  69. package/lib/Cloudflare/AI/SearchHttpClient.js +262 -0
  70. package/lib/Cloudflare/AI/SearchHttpClient.js.map +1 -0
  71. package/lib/Cloudflare/AI/index.d.ts +2 -0
  72. package/lib/Cloudflare/AI/index.d.ts.map +1 -1
  73. package/lib/Cloudflare/AI/index.js +2 -0
  74. package/lib/Cloudflare/AI/index.js.map +1 -1
  75. package/lib/Cloudflare/Auth/AuthProvider.js +1 -1
  76. package/lib/Cloudflare/Auth/AuthProvider.js.map +1 -1
  77. package/lib/Cloudflare/Containers/ContainerBundle.d.ts.map +1 -1
  78. package/lib/Cloudflare/Containers/ContainerBundle.js +11 -1
  79. package/lib/Cloudflare/Containers/ContainerBundle.js.map +1 -1
  80. package/lib/Cloudflare/Containers/ContainerPlatform.d.ts.map +1 -1
  81. package/lib/Cloudflare/Containers/ContainerPlatform.js +12 -33
  82. package/lib/Cloudflare/Containers/ContainerPlatform.js.map +1 -1
  83. package/lib/Cloudflare/D1/QueryDatabaseHttpClient.d.ts +24 -0
  84. package/lib/Cloudflare/D1/QueryDatabaseHttpClient.d.ts.map +1 -0
  85. package/lib/Cloudflare/D1/QueryDatabaseHttpClient.js +106 -0
  86. package/lib/Cloudflare/D1/QueryDatabaseHttpClient.js.map +1 -0
  87. package/lib/Cloudflare/D1/QueryDatabaseLocal.d.ts +38 -0
  88. package/lib/Cloudflare/D1/QueryDatabaseLocal.d.ts.map +1 -0
  89. package/lib/Cloudflare/D1/QueryDatabaseLocal.js +54 -0
  90. package/lib/Cloudflare/D1/QueryDatabaseLocal.js.map +1 -0
  91. package/lib/Cloudflare/D1/index.d.ts +1 -0
  92. package/lib/Cloudflare/D1/index.d.ts.map +1 -1
  93. package/lib/Cloudflare/D1/index.js +1 -0
  94. package/lib/Cloudflare/D1/index.js.map +1 -1
  95. package/lib/Cloudflare/DNS/DnsHttp.d.ts +16 -1
  96. package/lib/Cloudflare/DNS/DnsHttp.d.ts.map +1 -1
  97. package/lib/Cloudflare/DNS/DnsHttp.js +6 -1
  98. package/lib/Cloudflare/DNS/DnsHttp.js.map +1 -1
  99. package/lib/Cloudflare/DNS/DnsLocal.d.ts +22 -0
  100. package/lib/Cloudflare/DNS/DnsLocal.d.ts.map +1 -0
  101. package/lib/Cloudflare/DNS/DnsLocal.js +31 -0
  102. package/lib/Cloudflare/DNS/DnsLocal.js.map +1 -0
  103. package/lib/Cloudflare/DNS/ReadDnsHttp.d.ts +3 -3
  104. package/lib/Cloudflare/DNS/ReadDnsHttp.d.ts.map +1 -1
  105. package/lib/Cloudflare/DNS/ReadDnsHttp.js +3 -4
  106. package/lib/Cloudflare/DNS/ReadDnsHttp.js.map +1 -1
  107. package/lib/Cloudflare/DNS/ReadDnsLocal.d.ts +32 -0
  108. package/lib/Cloudflare/DNS/ReadDnsLocal.d.ts.map +1 -0
  109. package/lib/Cloudflare/DNS/ReadDnsLocal.js +35 -0
  110. package/lib/Cloudflare/DNS/ReadDnsLocal.js.map +1 -0
  111. package/lib/Cloudflare/DNS/ReadWriteDnsHttp.d.ts +3 -3
  112. package/lib/Cloudflare/DNS/ReadWriteDnsHttp.d.ts.map +1 -1
  113. package/lib/Cloudflare/DNS/ReadWriteDnsHttp.js +4 -4
  114. package/lib/Cloudflare/DNS/ReadWriteDnsHttp.js.map +1 -1
  115. package/lib/Cloudflare/DNS/ReadWriteDnsLocal.d.ts +40 -0
  116. package/lib/Cloudflare/DNS/ReadWriteDnsLocal.d.ts.map +1 -0
  117. package/lib/Cloudflare/DNS/ReadWriteDnsLocal.js +43 -0
  118. package/lib/Cloudflare/DNS/ReadWriteDnsLocal.js.map +1 -0
  119. package/lib/Cloudflare/DNS/WriteDnsHttp.d.ts +3 -3
  120. package/lib/Cloudflare/DNS/WriteDnsHttp.d.ts.map +1 -1
  121. package/lib/Cloudflare/DNS/WriteDnsHttp.js +3 -4
  122. package/lib/Cloudflare/DNS/WriteDnsHttp.js.map +1 -1
  123. package/lib/Cloudflare/DNS/WriteDnsLocal.d.ts +38 -0
  124. package/lib/Cloudflare/DNS/WriteDnsLocal.d.ts.map +1 -0
  125. package/lib/Cloudflare/DNS/WriteDnsLocal.js +41 -0
  126. package/lib/Cloudflare/DNS/WriteDnsLocal.js.map +1 -0
  127. package/lib/Cloudflare/DNS/index.d.ts +3 -0
  128. package/lib/Cloudflare/DNS/index.d.ts.map +1 -1
  129. package/lib/Cloudflare/DNS/index.js +3 -0
  130. package/lib/Cloudflare/DNS/index.js.map +1 -1
  131. package/lib/Cloudflare/Flagship/ReadFlagsHttpClient.d.ts +27 -0
  132. package/lib/Cloudflare/Flagship/ReadFlagsHttpClient.d.ts.map +1 -0
  133. package/lib/Cloudflare/Flagship/ReadFlagsHttpClient.js +86 -0
  134. package/lib/Cloudflare/Flagship/ReadFlagsHttpClient.js.map +1 -0
  135. package/lib/Cloudflare/Flagship/ReadFlagsLocal.d.ts +41 -0
  136. package/lib/Cloudflare/Flagship/ReadFlagsLocal.d.ts.map +1 -0
  137. package/lib/Cloudflare/Flagship/ReadFlagsLocal.js +57 -0
  138. package/lib/Cloudflare/Flagship/ReadFlagsLocal.js.map +1 -0
  139. package/lib/Cloudflare/Flagship/index.d.ts +1 -0
  140. package/lib/Cloudflare/Flagship/index.d.ts.map +1 -1
  141. package/lib/Cloudflare/Flagship/index.js +1 -0
  142. package/lib/Cloudflare/Flagship/index.js.map +1 -1
  143. package/lib/Cloudflare/KV/NamespaceHttp.d.ts +16 -1
  144. package/lib/Cloudflare/KV/NamespaceHttp.d.ts.map +1 -1
  145. package/lib/Cloudflare/KV/NamespaceHttp.js +8 -2
  146. package/lib/Cloudflare/KV/NamespaceHttp.js.map +1 -1
  147. package/lib/Cloudflare/KV/NamespaceLocal.d.ts +22 -0
  148. package/lib/Cloudflare/KV/NamespaceLocal.d.ts.map +1 -0
  149. package/lib/Cloudflare/KV/NamespaceLocal.js +32 -0
  150. package/lib/Cloudflare/KV/NamespaceLocal.js.map +1 -0
  151. package/lib/Cloudflare/KV/ReadNamespaceHttp.d.ts +2 -2
  152. package/lib/Cloudflare/KV/ReadNamespaceHttp.d.ts.map +1 -1
  153. package/lib/Cloudflare/KV/ReadNamespaceHttp.js +5 -6
  154. package/lib/Cloudflare/KV/ReadNamespaceHttp.js.map +1 -1
  155. package/lib/Cloudflare/KV/ReadNamespaceLocal.d.ts +27 -0
  156. package/lib/Cloudflare/KV/ReadNamespaceLocal.d.ts.map +1 -0
  157. package/lib/Cloudflare/KV/ReadNamespaceLocal.js +30 -0
  158. package/lib/Cloudflare/KV/ReadNamespaceLocal.js.map +1 -0
  159. package/lib/Cloudflare/KV/ReadWriteNamespaceHttp.d.ts +3 -3
  160. package/lib/Cloudflare/KV/ReadWriteNamespaceHttp.d.ts.map +1 -1
  161. package/lib/Cloudflare/KV/ReadWriteNamespaceHttp.js +6 -6
  162. package/lib/Cloudflare/KV/ReadWriteNamespaceHttp.js.map +1 -1
  163. package/lib/Cloudflare/KV/ReadWriteNamespaceLocal.d.ts +34 -0
  164. package/lib/Cloudflare/KV/ReadWriteNamespaceLocal.d.ts.map +1 -0
  165. package/lib/Cloudflare/KV/ReadWriteNamespaceLocal.js +37 -0
  166. package/lib/Cloudflare/KV/ReadWriteNamespaceLocal.js.map +1 -0
  167. package/lib/Cloudflare/KV/WriteNamespaceHttp.d.ts +2 -2
  168. package/lib/Cloudflare/KV/WriteNamespaceHttp.d.ts.map +1 -1
  169. package/lib/Cloudflare/KV/WriteNamespaceHttp.js +5 -6
  170. package/lib/Cloudflare/KV/WriteNamespaceHttp.js.map +1 -1
  171. package/lib/Cloudflare/KV/WriteNamespaceLocal.d.ts +27 -0
  172. package/lib/Cloudflare/KV/WriteNamespaceLocal.d.ts.map +1 -0
  173. package/lib/Cloudflare/KV/WriteNamespaceLocal.js +30 -0
  174. package/lib/Cloudflare/KV/WriteNamespaceLocal.js.map +1 -0
  175. package/lib/Cloudflare/KV/index.d.ts +3 -0
  176. package/lib/Cloudflare/KV/index.d.ts.map +1 -1
  177. package/lib/Cloudflare/KV/index.js +3 -0
  178. package/lib/Cloudflare/KV/index.js.map +1 -1
  179. package/lib/Cloudflare/Queues/QueueHttp.d.ts +20 -1
  180. package/lib/Cloudflare/Queues/QueueHttp.d.ts.map +1 -1
  181. package/lib/Cloudflare/Queues/QueueHttp.js +2 -2
  182. package/lib/Cloudflare/Queues/QueueHttp.js.map +1 -1
  183. package/lib/Cloudflare/Queues/WriteQueueHttp.d.ts +9 -3
  184. package/lib/Cloudflare/Queues/WriteQueueHttp.d.ts.map +1 -1
  185. package/lib/Cloudflare/Queues/WriteQueueHttp.js +11 -6
  186. package/lib/Cloudflare/Queues/WriteQueueHttp.js.map +1 -1
  187. package/lib/Cloudflare/Queues/WriteQueueLocal.d.ts +36 -0
  188. package/lib/Cloudflare/Queues/WriteQueueLocal.d.ts.map +1 -0
  189. package/lib/Cloudflare/Queues/WriteQueueLocal.js +51 -0
  190. package/lib/Cloudflare/Queues/WriteQueueLocal.js.map +1 -0
  191. package/lib/Cloudflare/Queues/index.d.ts +1 -0
  192. package/lib/Cloudflare/Queues/index.d.ts.map +1 -1
  193. package/lib/Cloudflare/Queues/index.js +1 -0
  194. package/lib/Cloudflare/Queues/index.js.map +1 -1
  195. package/lib/Cloudflare/R2/BucketHttp.d.ts +15 -1
  196. package/lib/Cloudflare/R2/BucketHttp.d.ts.map +1 -1
  197. package/lib/Cloudflare/R2/BucketHttp.js +3 -3
  198. package/lib/Cloudflare/R2/BucketHttp.js.map +1 -1
  199. package/lib/Cloudflare/R2/BucketLocal.d.ts +21 -0
  200. package/lib/Cloudflare/R2/BucketLocal.d.ts.map +1 -0
  201. package/lib/Cloudflare/R2/BucketLocal.js +32 -0
  202. package/lib/Cloudflare/R2/BucketLocal.js.map +1 -0
  203. package/lib/Cloudflare/R2/ReadBucketHttp.d.ts +2 -2
  204. package/lib/Cloudflare/R2/ReadBucketHttp.d.ts.map +1 -1
  205. package/lib/Cloudflare/R2/ReadBucketHttp.js +4 -4
  206. package/lib/Cloudflare/R2/ReadBucketHttp.js.map +1 -1
  207. package/lib/Cloudflare/R2/ReadBucketLocal.d.ts +27 -0
  208. package/lib/Cloudflare/R2/ReadBucketLocal.d.ts.map +1 -0
  209. package/lib/Cloudflare/R2/ReadBucketLocal.js +30 -0
  210. package/lib/Cloudflare/R2/ReadBucketLocal.js.map +1 -0
  211. package/lib/Cloudflare/R2/ReadWriteBucketHttp.d.ts +2 -2
  212. package/lib/Cloudflare/R2/ReadWriteBucketHttp.d.ts.map +1 -1
  213. package/lib/Cloudflare/R2/ReadWriteBucketHttp.js +5 -4
  214. package/lib/Cloudflare/R2/ReadWriteBucketHttp.js.map +1 -1
  215. package/lib/Cloudflare/R2/ReadWriteBucketLocal.d.ts +30 -0
  216. package/lib/Cloudflare/R2/ReadWriteBucketLocal.d.ts.map +1 -0
  217. package/lib/Cloudflare/R2/ReadWriteBucketLocal.js +33 -0
  218. package/lib/Cloudflare/R2/ReadWriteBucketLocal.js.map +1 -0
  219. package/lib/Cloudflare/R2/WriteBucketHttp.d.ts +2 -2
  220. package/lib/Cloudflare/R2/WriteBucketHttp.d.ts.map +1 -1
  221. package/lib/Cloudflare/R2/WriteBucketHttp.js +4 -4
  222. package/lib/Cloudflare/R2/WriteBucketHttp.js.map +1 -1
  223. package/lib/Cloudflare/R2/WriteBucketLocal.d.ts +27 -0
  224. package/lib/Cloudflare/R2/WriteBucketLocal.d.ts.map +1 -0
  225. package/lib/Cloudflare/R2/WriteBucketLocal.js +30 -0
  226. package/lib/Cloudflare/R2/WriteBucketLocal.js.map +1 -0
  227. package/lib/Cloudflare/R2/index.d.ts +3 -0
  228. package/lib/Cloudflare/R2/index.d.ts.map +1 -1
  229. package/lib/Cloudflare/R2/index.js +3 -0
  230. package/lib/Cloudflare/R2/index.js.map +1 -1
  231. package/lib/Cloudflare/StateStore/Api.d.ts +2 -0
  232. package/lib/Cloudflare/Tunnel/ReadTunnel.d.ts +3 -3
  233. package/lib/Cloudflare/Tunnel/ReadTunnel.d.ts.map +1 -1
  234. package/lib/Cloudflare/Tunnel/ReadTunnel.js +7 -8
  235. package/lib/Cloudflare/Tunnel/ReadTunnel.js.map +1 -1
  236. package/lib/Cloudflare/Tunnel/ReadTunnelLocal.d.ts +29 -0
  237. package/lib/Cloudflare/Tunnel/ReadTunnelLocal.d.ts.map +1 -0
  238. package/lib/Cloudflare/Tunnel/ReadTunnelLocal.js +30 -0
  239. package/lib/Cloudflare/Tunnel/ReadTunnelLocal.js.map +1 -0
  240. package/lib/Cloudflare/Tunnel/ReadWriteTunnel.d.ts +3 -3
  241. package/lib/Cloudflare/Tunnel/ReadWriteTunnel.d.ts.map +1 -1
  242. package/lib/Cloudflare/Tunnel/ReadWriteTunnel.js +4 -4
  243. package/lib/Cloudflare/Tunnel/ReadWriteTunnel.js.map +1 -1
  244. package/lib/Cloudflare/Tunnel/ReadWriteTunnelLocal.d.ts +35 -0
  245. package/lib/Cloudflare/Tunnel/ReadWriteTunnelLocal.d.ts.map +1 -0
  246. package/lib/Cloudflare/Tunnel/ReadWriteTunnelLocal.js +36 -0
  247. package/lib/Cloudflare/Tunnel/ReadWriteTunnelLocal.js.map +1 -0
  248. package/lib/Cloudflare/Tunnel/TunnelBinding.d.ts +17 -1
  249. package/lib/Cloudflare/Tunnel/TunnelBinding.d.ts.map +1 -1
  250. package/lib/Cloudflare/Tunnel/TunnelBinding.js +7 -1
  251. package/lib/Cloudflare/Tunnel/TunnelBinding.js.map +1 -1
  252. package/lib/Cloudflare/Tunnel/TunnelLocalBinding.d.ts +19 -0
  253. package/lib/Cloudflare/Tunnel/TunnelLocalBinding.d.ts.map +1 -0
  254. package/lib/Cloudflare/Tunnel/TunnelLocalBinding.js +29 -0
  255. package/lib/Cloudflare/Tunnel/TunnelLocalBinding.js.map +1 -0
  256. package/lib/Cloudflare/Tunnel/WarpConnector.d.ts +3 -3
  257. package/lib/Cloudflare/Tunnel/WarpConnector.d.ts.map +1 -1
  258. package/lib/Cloudflare/Tunnel/WarpConnector.js +7 -4
  259. package/lib/Cloudflare/Tunnel/WarpConnector.js.map +1 -1
  260. package/lib/Cloudflare/Tunnel/WriteTunnel.d.ts +3 -3
  261. package/lib/Cloudflare/Tunnel/WriteTunnel.d.ts.map +1 -1
  262. package/lib/Cloudflare/Tunnel/WriteTunnel.js +7 -8
  263. package/lib/Cloudflare/Tunnel/WriteTunnel.js.map +1 -1
  264. package/lib/Cloudflare/Tunnel/WriteTunnelLocal.d.ts +29 -0
  265. package/lib/Cloudflare/Tunnel/WriteTunnelLocal.d.ts.map +1 -0
  266. package/lib/Cloudflare/Tunnel/WriteTunnelLocal.js +30 -0
  267. package/lib/Cloudflare/Tunnel/WriteTunnelLocal.js.map +1 -0
  268. package/lib/Cloudflare/Tunnel/index.d.ts +3 -0
  269. package/lib/Cloudflare/Tunnel/index.d.ts.map +1 -1
  270. package/lib/Cloudflare/Tunnel/index.js +3 -0
  271. package/lib/Cloudflare/Tunnel/index.js.map +1 -1
  272. package/lib/Cloudflare/Vectorize/SearchIndexHttpClient.d.ts +30 -0
  273. package/lib/Cloudflare/Vectorize/SearchIndexHttpClient.d.ts.map +1 -0
  274. package/lib/Cloudflare/Vectorize/SearchIndexHttpClient.js +100 -0
  275. package/lib/Cloudflare/Vectorize/SearchIndexHttpClient.js.map +1 -0
  276. package/lib/Cloudflare/Vectorize/SearchIndexLocal.d.ts +42 -0
  277. package/lib/Cloudflare/Vectorize/SearchIndexLocal.d.ts.map +1 -0
  278. package/lib/Cloudflare/Vectorize/SearchIndexLocal.js +58 -0
  279. package/lib/Cloudflare/Vectorize/SearchIndexLocal.js.map +1 -0
  280. package/lib/Cloudflare/Vectorize/index.d.ts +1 -0
  281. package/lib/Cloudflare/Vectorize/index.d.ts.map +1 -1
  282. package/lib/Cloudflare/Vectorize/index.js +1 -0
  283. package/lib/Cloudflare/Vectorize/index.js.map +1 -1
  284. package/lib/Cloudflare/Workers/BrowserHttpClient.d.ts +32 -0
  285. package/lib/Cloudflare/Workers/BrowserHttpClient.d.ts.map +1 -0
  286. package/lib/Cloudflare/Workers/BrowserHttpClient.js +100 -0
  287. package/lib/Cloudflare/Workers/BrowserHttpClient.js.map +1 -0
  288. package/lib/Cloudflare/Workers/BrowserLocal.d.ts +37 -0
  289. package/lib/Cloudflare/Workers/BrowserLocal.d.ts.map +1 -0
  290. package/lib/Cloudflare/Workers/BrowserLocal.js +53 -0
  291. package/lib/Cloudflare/Workers/BrowserLocal.js.map +1 -0
  292. package/lib/Cloudflare/Workers/ConfigProvider.d.ts +8 -0
  293. package/lib/Cloudflare/Workers/ConfigProvider.d.ts.map +1 -1
  294. package/lib/Cloudflare/Workers/ConfigProvider.js +10 -1
  295. package/lib/Cloudflare/Workers/ConfigProvider.js.map +1 -1
  296. package/lib/Cloudflare/Workers/DurableObject.d.ts +137 -3
  297. package/lib/Cloudflare/Workers/DurableObject.d.ts.map +1 -1
  298. package/lib/Cloudflare/Workers/DurableObject.js +141 -6
  299. package/lib/Cloudflare/Workers/DurableObject.js.map +1 -1
  300. package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts +2 -185
  301. package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -1
  302. package/lib/Cloudflare/Workers/Vite.d.ts.map +1 -1
  303. package/lib/Cloudflare/Workers/Vite.js +81 -2
  304. package/lib/Cloudflare/Workers/Vite.js.map +1 -1
  305. package/lib/Cloudflare/Workers/Worker.d.ts +15 -1
  306. package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
  307. package/lib/Cloudflare/Workers/Worker.js.map +1 -1
  308. package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts.map +1 -1
  309. package/lib/Cloudflare/Workers/WorkerAsyncBindings.js +2 -1
  310. package/lib/Cloudflare/Workers/WorkerAsyncBindings.js.map +1 -1
  311. package/lib/Cloudflare/Workers/WorkerBinding.d.ts +22 -1
  312. package/lib/Cloudflare/Workers/WorkerBinding.d.ts.map +1 -1
  313. package/lib/Cloudflare/Workers/WorkerBinding.js.map +1 -1
  314. package/lib/Cloudflare/Workers/WorkerBridge.d.ts.map +1 -1
  315. package/lib/Cloudflare/Workers/WorkerBridge.js +7 -2
  316. package/lib/Cloudflare/Workers/WorkerBridge.js.map +1 -1
  317. package/lib/Cloudflare/Workers/WorkerProvider.d.ts +81 -0
  318. package/lib/Cloudflare/Workers/WorkerProvider.d.ts.map +1 -1
  319. package/lib/Cloudflare/Workers/WorkerProvider.js +450 -61
  320. package/lib/Cloudflare/Workers/WorkerProvider.js.map +1 -1
  321. package/lib/Cloudflare/Workers/WorkerRuntimeContext.d.ts.map +1 -1
  322. package/lib/Cloudflare/Workers/WorkerRuntimeContext.js +11 -37
  323. package/lib/Cloudflare/Workers/WorkerRuntimeContext.js.map +1 -1
  324. package/lib/Cloudflare/Workers/index.d.ts +1 -0
  325. package/lib/Cloudflare/Workers/index.d.ts.map +1 -1
  326. package/lib/Cloudflare/Workers/index.js +1 -0
  327. package/lib/Cloudflare/Workers/index.js.map +1 -1
  328. package/lib/Diff.d.ts +16 -0
  329. package/lib/Diff.d.ts.map +1 -1
  330. package/lib/Diff.js +33 -0
  331. package/lib/Diff.js.map +1 -1
  332. package/lib/GitHub/Secrets.d.ts +1 -1
  333. package/lib/GitHub/Secrets.js +1 -1
  334. package/lib/GitHub/Variables.d.ts +1 -1
  335. package/lib/GitHub/Variables.js +1 -1
  336. package/lib/Local/RpcSerialization.d.ts.map +1 -1
  337. package/lib/Local/RpcSerialization.js +6 -2
  338. package/lib/Local/RpcSerialization.js.map +1 -1
  339. package/lib/Local/RpcSpawner.d.ts.map +1 -1
  340. package/lib/Local/RpcSpawner.js +14 -8
  341. package/lib/Local/RpcSpawner.js.map +1 -1
  342. package/lib/Neon/AuthProvider.js +1 -1
  343. package/lib/Neon/AuthProvider.js.map +1 -1
  344. package/lib/Plan.d.ts.map +1 -1
  345. package/lib/Plan.js +11 -4
  346. package/lib/Plan.js.map +1 -1
  347. package/lib/Planetscale/Database.d.ts +2 -1
  348. package/lib/Planetscale/Database.d.ts.map +1 -1
  349. package/lib/Planetscale/MySQL/MySQLClusterSize.d.ts +41 -3
  350. package/lib/Planetscale/MySQL/MySQLClusterSize.d.ts.map +1 -1
  351. package/lib/Planetscale/MySQL/MySQLClusterSize.js +88 -11
  352. package/lib/Planetscale/MySQL/MySQLClusterSize.js.map +1 -1
  353. package/lib/Planetscale/MySQL/MySQLDatabase.d.ts +14 -0
  354. package/lib/Planetscale/MySQL/MySQLDatabase.d.ts.map +1 -1
  355. package/lib/Planetscale/MySQL/MySQLDatabase.js +24 -11
  356. package/lib/Planetscale/MySQL/MySQLDatabase.js.map +1 -1
  357. package/lib/Platform.d.ts.map +1 -1
  358. package/lib/Platform.js +11 -1
  359. package/lib/Platform.js.map +1 -1
  360. package/lib/Runtime.d.ts +23 -0
  361. package/lib/Runtime.d.ts.map +1 -1
  362. package/lib/Runtime.js +83 -0
  363. package/lib/Runtime.js.map +1 -1
  364. package/lib/RuntimeContext.d.ts +46 -0
  365. package/lib/RuntimeContext.d.ts.map +1 -1
  366. package/lib/RuntimeContext.js +60 -0
  367. package/lib/RuntimeContext.js.map +1 -1
  368. package/lib/Server/Process.d.ts +1 -1
  369. package/lib/Server/Process.d.ts.map +1 -1
  370. package/lib/Server/Process.js +8 -8
  371. package/lib/Server/Process.js.map +1 -1
  372. package/lib/Stack.js +1 -1
  373. package/lib/Stack.js.map +1 -1
  374. package/lib/State/HttpStateApi.d.ts +10 -10
  375. package/lib/Test/Alchemy.d.ts +74 -0
  376. package/lib/Test/Alchemy.d.ts.map +1 -0
  377. package/lib/Test/Alchemy.js +143 -0
  378. package/lib/Test/Alchemy.js.map +1 -0
  379. package/lib/Util/cached-function.d.ts +1 -1
  380. package/lib/Util/cached-function.d.ts.map +1 -1
  381. package/lib/Util/cached-function.js +2 -2
  382. package/lib/Util/cached-function.js.map +1 -1
  383. package/lib/Util/proxy-chain.js +3 -0
  384. package/lib/Util/proxy-chain.js.map +1 -1
  385. package/package.json +10 -10
  386. package/src/AWS/AuthProvider.ts +1 -1
  387. package/src/AWS/EC2/hosted.ts +2 -1
  388. package/src/AWS/ECS/Task.ts +2 -1
  389. package/src/AWS/Lambda/Function.ts +13 -47
  390. package/src/AWS/Lambda/MicrovmRuntimeContext.ts +11 -38
  391. package/src/Action.ts +39 -6
  392. package/src/ActionRuntimeContext.ts +68 -0
  393. package/src/Apply.ts +46 -8
  394. package/src/Auth/AuthProvider.ts +1 -1
  395. package/src/Auth/Lock.ts +5 -2
  396. package/src/Bundle/PurePlugin.ts +34 -1
  397. package/src/Bundle/Vite.ts +51 -1
  398. package/src/Cli/LoggingCli.ts +7 -4
  399. package/src/Cli/commands/_shared.ts +52 -0
  400. package/src/Cli/commands/login.ts +90 -14
  401. package/src/Cli/commands/profile.ts +7 -41
  402. package/src/Cloudflare/AI/LanguageModel.ts +25 -5
  403. package/src/Cloudflare/AI/QuerySearchLocal.ts +66 -0
  404. package/src/Cloudflare/AI/QuerySearchNamespaceLocal.ts +60 -0
  405. package/src/Cloudflare/AI/SearchHttpClient.ts +423 -0
  406. package/src/Cloudflare/AI/index.ts +2 -0
  407. package/src/Cloudflare/Auth/AuthProvider.ts +1 -1
  408. package/src/Cloudflare/Containers/ContainerBundle.ts +11 -1
  409. package/src/Cloudflare/Containers/ContainerPlatform.ts +14 -52
  410. package/src/Cloudflare/D1/QueryDatabaseHttpClient.ts +176 -0
  411. package/src/Cloudflare/D1/QueryDatabaseLocal.ts +66 -0
  412. package/src/Cloudflare/D1/index.ts +1 -0
  413. package/src/Cloudflare/DNS/DnsHttp.ts +24 -2
  414. package/src/Cloudflare/DNS/DnsLocal.ts +41 -0
  415. package/src/Cloudflare/DNS/ReadDnsHttp.ts +4 -5
  416. package/src/Cloudflare/DNS/ReadDnsLocal.ts +38 -0
  417. package/src/Cloudflare/DNS/ReadWriteDnsHttp.ts +5 -5
  418. package/src/Cloudflare/DNS/ReadWriteDnsLocal.ts +46 -0
  419. package/src/Cloudflare/DNS/WriteDnsHttp.ts +4 -5
  420. package/src/Cloudflare/DNS/WriteDnsLocal.ts +44 -0
  421. package/src/Cloudflare/DNS/index.ts +3 -0
  422. package/src/Cloudflare/Flagship/ReadFlagsHttpClient.ts +183 -0
  423. package/src/Cloudflare/Flagship/ReadFlagsLocal.ts +69 -0
  424. package/src/Cloudflare/Flagship/index.ts +1 -0
  425. package/src/Cloudflare/KV/NamespaceHttp.ts +25 -2
  426. package/src/Cloudflare/KV/NamespaceLocal.ts +42 -0
  427. package/src/Cloudflare/KV/ReadNamespaceHttp.ts +7 -6
  428. package/src/Cloudflare/KV/ReadNamespaceLocal.ts +35 -0
  429. package/src/Cloudflare/KV/ReadWriteNamespaceHttp.ts +11 -6
  430. package/src/Cloudflare/KV/ReadWriteNamespaceLocal.ts +42 -0
  431. package/src/Cloudflare/KV/WriteNamespaceHttp.ts +7 -6
  432. package/src/Cloudflare/KV/WriteNamespaceLocal.ts +35 -0
  433. package/src/Cloudflare/KV/index.ts +3 -0
  434. package/src/Cloudflare/Queues/QueueHttp.ts +24 -2
  435. package/src/Cloudflare/Queues/WriteQueueHttp.ts +16 -7
  436. package/src/Cloudflare/Queues/WriteQueueLocal.ts +64 -0
  437. package/src/Cloudflare/Queues/index.ts +1 -0
  438. package/src/Cloudflare/R2/BucketHttp.ts +20 -3
  439. package/src/Cloudflare/R2/BucketLocal.ts +47 -0
  440. package/src/Cloudflare/R2/ReadBucketHttp.ts +10 -5
  441. package/src/Cloudflare/R2/ReadBucketLocal.ts +33 -0
  442. package/src/Cloudflare/R2/ReadWriteBucketHttp.ts +11 -5
  443. package/src/Cloudflare/R2/ReadWriteBucketLocal.ts +36 -0
  444. package/src/Cloudflare/R2/WriteBucketHttp.ts +10 -5
  445. package/src/Cloudflare/R2/WriteBucketLocal.ts +33 -0
  446. package/src/Cloudflare/R2/index.ts +3 -0
  447. package/src/Cloudflare/Tunnel/ReadTunnel.ts +8 -9
  448. package/src/Cloudflare/Tunnel/ReadTunnelLocal.ts +33 -0
  449. package/src/Cloudflare/Tunnel/ReadWriteTunnel.ts +5 -5
  450. package/src/Cloudflare/Tunnel/ReadWriteTunnelLocal.ts +39 -0
  451. package/src/Cloudflare/Tunnel/TunnelBinding.ts +26 -2
  452. package/src/Cloudflare/Tunnel/TunnelLocalBinding.ts +38 -0
  453. package/src/Cloudflare/Tunnel/WarpConnector.ts +8 -5
  454. package/src/Cloudflare/Tunnel/WriteTunnel.ts +8 -9
  455. package/src/Cloudflare/Tunnel/WriteTunnelLocal.ts +33 -0
  456. package/src/Cloudflare/Tunnel/index.ts +3 -0
  457. package/src/Cloudflare/Vectorize/SearchIndexHttpClient.ts +183 -0
  458. package/src/Cloudflare/Vectorize/SearchIndexLocal.ts +70 -0
  459. package/src/Cloudflare/Vectorize/index.ts +1 -0
  460. package/src/Cloudflare/Workers/BrowserHttpClient.ts +201 -0
  461. package/src/Cloudflare/Workers/BrowserLocal.ts +65 -0
  462. package/src/Cloudflare/Workers/ConfigProvider.ts +15 -1
  463. package/src/Cloudflare/Workers/DurableObject.ts +227 -6
  464. package/src/Cloudflare/Workers/Vite.ts +93 -11
  465. package/src/Cloudflare/Workers/Worker.ts +19 -1
  466. package/src/Cloudflare/Workers/WorkerAsyncBindings.ts +6 -5
  467. package/src/Cloudflare/Workers/WorkerBinding.ts +20 -1
  468. package/src/Cloudflare/Workers/WorkerBridge.ts +12 -2
  469. package/src/Cloudflare/Workers/WorkerProvider.ts +664 -117
  470. package/src/Cloudflare/Workers/WorkerRuntimeContext.ts +14 -45
  471. package/src/Cloudflare/Workers/index.ts +1 -0
  472. package/src/Diff.ts +33 -0
  473. package/src/GitHub/Secrets.ts +1 -1
  474. package/src/GitHub/Variables.ts +1 -1
  475. package/src/Local/RpcSerialization.ts +6 -2
  476. package/src/Local/RpcSpawner.ts +21 -8
  477. package/src/Neon/AuthProvider.ts +1 -1
  478. package/src/Plan.ts +17 -4
  479. package/src/Planetscale/Database.ts +2 -1
  480. package/src/Planetscale/MySQL/MySQLClusterSize.ts +120 -21
  481. package/src/Planetscale/MySQL/MySQLDatabase.ts +84 -44
  482. package/src/Platform.ts +12 -3
  483. package/src/Runtime.ts +92 -0
  484. package/src/RuntimeContext.ts +79 -0
  485. package/src/Server/Process.ts +11 -18
  486. package/src/Stack.ts +1 -1
  487. package/src/Test/Alchemy.ts +282 -0
  488. package/src/Util/cached-function.ts +5 -5
  489. package/src/Util/proxy-chain.ts +3 -0
@@ -1,11 +1,10 @@
1
- import * as Config from "effect/Config";
2
1
  import * as Effect from "effect/Effect";
3
2
  import * as Option from "effect/Option";
4
- import * as Redacted from "effect/Redacted";
5
3
  import { HttpServer } from "../../Http.js";
6
4
  import * as Output from "../../Output.js";
7
5
  import { Platform } from "../../Platform.js";
8
6
  import { serveRpc } from "../../Rpc.js";
7
+ import { packEnvValueKeepRedacted, unpackEnvValue, } from "../../RuntimeContext.js";
9
8
  import * as Server from "../../Server/index.js";
10
9
  import { fromCloudflareFetcher, toCloudflareFetcher } from "../Fetcher.js";
11
10
  import { DurableObject } from "../Workers/DurableObject.js";
@@ -44,40 +43,20 @@ export const ContainerPlatform = Platform("Cloudflare.Container", {
44
43
  env,
45
44
  set: (bindingId, output) => Effect.sync(() => {
46
45
  const key = bindingId.replaceAll(/[^a-zA-Z0-9]/g, "_");
47
- // Preserve `Redacted`-ness across the Output → env → Cloudflare
48
- // boundary so the provider can deploy secrets through the
46
+ // `packEnvValueKeepRedacted` keeps the Redacted wrapper on the
47
+ // outside so the provider can deploy secrets through the
49
48
  // Secrets Store (referenced via `secrets`) instead of leaking
50
- // them as plain `environmentVariables`. The JSON payload carries
51
- // a `{_tag: "Redacted", …}` marker so the runtime `get` accessor
52
- // can rebuild the wrapper after Cloudflare hands the value back
53
- // as a plain env-var string. Mirrors `makeWorkerRuntimeContext`.
54
- env[key] = output.pipe(Output.map((value) => Redacted.isRedacted(value)
55
- ? Redacted.make(JSON.stringify({
56
- _tag: "Redacted",
57
- value: Redacted.value(value),
58
- }))
59
- : JSON.stringify(value)));
49
+ // them as plain `environmentVariables`, while the inner marker
50
+ // lets the runtime `get` accessor rebuild the wrapper after
51
+ // Cloudflare hands the value back as a plain env-var string.
52
+ // Mirrors `makeWorkerRuntimeContext`.
53
+ env[key] = output.pipe(Output.map(packEnvValueKeepRedacted));
60
54
  return key;
61
55
  }),
62
- get: (key) => Config.string(key).pipe(Effect.flatMap((value) => Effect.try({
63
- try: () => {
64
- const parsed = JSON.parse(value);
65
- // The `set` path serializes Redacted values as
66
- // `{_tag: "Redacted", value: ...}`. After JSON.parse the
67
- // result is a plain object — detect the marker shape and
68
- // rebuild the Redacted wrapper. Plain values pass through.
69
- if (typeof parsed === "object" &&
70
- parsed !== null &&
71
- parsed._tag === "Redacted" &&
72
- "value" in parsed) {
73
- return Redacted.make(parsed.value);
74
- }
75
- return parsed;
76
- },
77
- catch: (error) => error,
78
- })), Effect.catch((cause) => Effect.die(new Error(`Failed to get environment variable: ${key}`, {
79
- cause,
80
- })))),
56
+ get: (key) =>
57
+ // Read straight from `process.env` — see `unpackEnvValue` for why
58
+ // this must never resolve through `Config.string`.
59
+ Effect.sync(() => unpackEnvValue(process.env[key])),
81
60
  run: ((effect) => Effect.sync(() => {
82
61
  runners.push(effect);
83
62
  })),
@@ -1 +1 @@
1
- {"version":3,"file":"ContainerPlatform.js","sourceRoot":"","sources":["../../../src/Cloudflare/Containers/ContainerPlatform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContainerPlatform.js","sourceRoot":"","sources":["../../../src/Cloudflare/Containers/ContainerPlatform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,UAAU,EAAmB,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAY,MAAM,cAAc,CAAC;AAClD,OAAO,EACL,wBAAwB,EACxB,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAOjD,MAAM,CAAC,MAAM,iBAAiB,GAM1B,QAAQ,CACV,sBAAsB,EACtB;IACE,oBAAoB,EAAE,CAAC,EAAU,EAAyB,EAAE;QAC1D,MAAM,OAAO,GAAsC,EAAE,CAAC;QACtD,MAAM,GAAG,GAAwB,EAAE,CAAC;QAEpC,MAAM,KAAK,GAAG,CACZ,OAAwB,EACxB,OAA6C,EAC7C,EAAE,CACF,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,+DAA+D;YAC/D,kEAAkE;YAClE,oEAAoE;YACpE,iEAAiE;YACjE,mEAAmE;YACnE,wDAAwD;YACxD,MAAM,YAAY,GAAG,OAAO,EAAE,KAAK;gBACjC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;gBAClC,CAAC,CAAC,OAAO,CAAC;YACZ,OAAO,CAAC,IAAI,CACV,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAClB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,CAC7D,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAClC,CAAC;gBACF,IAAI,UAAU,EAAE,CAAC;oBACf,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;oBACtC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACN,iDAAiD;gBACnD,CAAC;YACH,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CACtB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEL,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,SAAS,EAAE,EAAE;YACb,EAAE;YACF,GAAG;YACH,GAAG,EAAE,CAAC,SAAiB,EAAE,MAAqB,EAAE,EAAE,CAChD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBACf,MAAM,GAAG,GAAG,SAAS,CAAC,UAAU,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;gBACvD,+DAA+D;gBAC/D,yDAAyD;gBACzD,8DAA8D;gBAC9D,+DAA+D;gBAC/D,4DAA4D;gBAC5D,6DAA6D;gBAC7D,sCAAsC;gBACtC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBAC7D,OAAO,GAAG,CAAC;YACb,CAAC,CAAC;YACJ,GAAG,EAAE,CAAI,GAAW,EAAE,EAAE;YACtB,kEAAkE;YAClE,mDAAmD;YACnD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,cAAc,CAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAM,CAAC;YAC7D,GAAG,EAAE,CAAC,CAAC,MAAuC,EAAE,EAAE,CAChD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBACf,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC,CAAC,CAA4C;YAChD,KAAK;YACL,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC1B,OAAO,EAAE,MAAM,CAAC,GAAG,CACjB,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAClB,MAAM,CAAC,OAAO,CACZ,GAAG,CAAC,IAAI;gBACN,6DAA6D;gBAC7D,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAC9C,MAAM,CAAC,MAAM,CAGd,CACF,CACF,EACD;oBACE,WAAW,EAAE,WAAW;iBACzB,CACF;aACF,CAAC,CAAC;SACqB,CAAC;IAC7B,CAAC;CACF,EACD;IACE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EACvB,YAEgE;QAEhE,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC;QAEvC,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC7C,CAAC,CAAC,KAAK,CAAC,CAAC,YAEN;YACH,CAAC,CAAC,YAAY,CAAC;QAEjB,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAA,GAAG,SAAS,EAAE,CAAC;YAClC,cAAc,EAAE;gBACd,WAAW,EAAE,SAAS,CAAC,WAAW;aACnC;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC;QAC7B,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;QAEjC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAA,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;YACzC,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC;SAChD,CAAC,CAAC;QAEH,8DAA8D;QAC9D,mCAAmC;QACnC,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACzB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,kBAAkB,CAAC;YACxC,OAAO;gBACL,EAAE,EAAE,SAAS,CAAC,SAAS;gBACvB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,SAAU,CAAC,OAAO,IAAI,KAAK,CAAC;gBAC7D,OAAO,EAAE,CAAC,KAAW,EAAE,EAAE,CACvB,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,SAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACvD,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CACxB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,SAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACnD,UAAU,EAAE,CAAC,IAAY,EAAE,EAAE,CAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CACf,qBAAqB,CAAC,KAAK,CAAC,SAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CACzD;gBACH,oBAAoB,EAAE,CAAC,UAA2B,EAAE,EAAE,CACpD,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAClB,KAAK,CAAC,SAAU,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAClD;gBACH,qBAAqB,EAAE,CAAC,IAAY,EAAE,OAAgB,EAAE,EAAE,CACxD,mBAAmB,CAAC,OAAO,CAAC,CAAC,IAAI,CAC/B,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACrB,KAAK,CAAC,SAAU,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CACtD,CACF;gBACH,wBAAwB,EAAE,CAAC,OAAgB,EAAE,EAAE,CAC7C,mBAAmB,CAAC,OAAO,CAAC,CAAC,IAAI,CAC/B,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACrB,KAAK,CAAC,SAAU,CAAC,wBAAwB,CAAC,OAAO,CAAC,CACnD,CACF;gBACH,OAAO,EAAE,GAAG,EAAE,CACZ,MAAM,CAAC,OAAO,CACZ,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE,CACtD;gBACH,KAAK,EAAE,CAAC,OAAiC,EAAE,EAAE,CAC3C,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,SAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAC1C,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;CACH,CACF,CAAC"}
@@ -0,0 +1,24 @@
1
+ import * as Effect from "effect/Effect";
2
+ import type * as HttpClient from "effect/unstable/http/HttpClient";
3
+ import type { Credentials } from "../Credentials.ts";
4
+ import { type QueryDatabaseClient } from "./QueryDatabase.ts";
5
+ /**
6
+ * Injectable auth shared by the Local (current-credentials) impl and a future
7
+ * Http (scoped-token) impl. `authorize` discharges the
8
+ * `Credentials | HttpClient` requirement of a distilled op; `accountId` is the
9
+ * Cloudflare account the ops run against.
10
+ */
11
+ export interface D1Auth {
12
+ authorize: <A, E>(eff: Effect.Effect<A, E, Credentials | HttpClient.HttpClient>) => Effect.Effect<A, E>;
13
+ accountId: string;
14
+ }
15
+ /**
16
+ * Build a {@link QueryDatabaseClient} over the D1 HTTP query API.
17
+ *
18
+ * `databaseId` is an Effect so the resolution stays deferred to each call —
19
+ * inside an Action it resolves through the apply-time RuntimeContext. The
20
+ * credentials are provided ONLY around the distilled op (via `auth.authorize`),
21
+ * never around the id accessor, matching the KV / Vectorize Local variants.
22
+ */
23
+ export declare const makeHttpQueryDatabaseClient: (auth: D1Auth, databaseId: Effect.Effect<string>) => QueryDatabaseClient;
24
+ //# sourceMappingURL=QueryDatabaseHttpClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryDatabaseHttpClient.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/D1/QueryDatabaseHttpClient.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,UAAU,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,oBAAoB,CAAC;AAa5B;;;;;GAKG;AACH,MAAM,WAAW,MAAM;IACrB,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EACd,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC,KAC1D,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,SAChC,MAAM,cACA,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAChC,mBAeF,CAAC"}
@@ -0,0 +1,106 @@
1
+ import * as d1 from "@distilled.cloud/cloudflare/d1";
2
+ import * as Effect from "effect/Effect";
3
+ import { PreparedStatement, } from "./QueryDatabase.js";
4
+ /**
5
+ * Build a {@link QueryDatabaseClient} over the D1 HTTP query API.
6
+ *
7
+ * `databaseId` is an Effect so the resolution stays deferred to each call —
8
+ * inside an Action it resolves through the apply-time RuntimeContext. The
9
+ * credentials are provided ONLY around the distilled op (via `auth.authorize`),
10
+ * never around the id accessor, matching the KV / Vectorize Local variants.
11
+ */
12
+ export const makeHttpQueryDatabaseClient = (auth, databaseId) => {
13
+ const rawEff = Effect.map(databaseId, (id) => makeHttpD1Database(auth, id));
14
+ return {
15
+ raw: rawEff,
16
+ prepare: (query) => new PreparedStatement(query, [], rawEff),
17
+ exec: (query) => Effect.flatMap(rawEff, (raw) => Effect.promise(() => raw.exec(query))),
18
+ batch: (statements) => Effect.flatMap(rawEff, (raw) => Effect.promise(() => raw.batch(statements.map((s) => s._build(raw))))),
19
+ };
20
+ };
21
+ const runQuery = (auth, databaseId, body) => auth
22
+ .authorize(d1.queryDatabase({
23
+ accountId: auth.accountId,
24
+ databaseId,
25
+ ...body,
26
+ }))
27
+ .pipe(Effect.runPromise);
28
+ const toResult = (r) => ({
29
+ results: (r?.results ?? []),
30
+ success: r?.success ?? true,
31
+ meta: (r?.meta ?? {}),
32
+ });
33
+ /**
34
+ * Normalize a bound value the way the native D1 binding does before it reaches
35
+ * SQLite. Over the raw HTTP query API, unlike the Worker binding, values are
36
+ * bound verbatim — a JS `true` would arrive as the string `"true"`. Match the
37
+ * native semantics: booleans become integers (1/0) and binary becomes a byte
38
+ * array (BLOB). `null`, numbers, and strings pass through unchanged.
39
+ */
40
+ const normalizeBind = (value) => {
41
+ if (typeof value === "boolean")
42
+ return value ? 1 : 0;
43
+ if (value instanceof ArrayBuffer) {
44
+ return Array.from(new Uint8Array(value));
45
+ }
46
+ if (ArrayBuffer.isView(value)) {
47
+ return Array.from(new Uint8Array(value.buffer, value.byteOffset, value.byteLength));
48
+ }
49
+ return value;
50
+ };
51
+ const makeHttpD1Database = (auth, databaseId) => {
52
+ const makeStatement = (query, binds) => {
53
+ const exec = async () => {
54
+ const res = await runQuery(auth, databaseId, {
55
+ sql: query,
56
+ params: binds.length ? binds.map(normalizeBind) : undefined,
57
+ });
58
+ return res.result[0];
59
+ };
60
+ return {
61
+ bind: (...values) => makeStatement(query, values),
62
+ first: (async (column) => {
63
+ const first = (await exec())?.results?.[0];
64
+ if (first == null)
65
+ return null;
66
+ return column !== undefined ? (first[column] ?? null) : first;
67
+ }),
68
+ all: (async () => toResult(await exec())),
69
+ run: (async () => toResult(await exec())),
70
+ raw: (async (options) => {
71
+ const rows = ((await exec())?.results ?? []);
72
+ const arrays = rows.map((row) => Object.values(row));
73
+ if (options?.columnNames && rows[0]) {
74
+ return [Object.keys(rows[0]), ...arrays];
75
+ }
76
+ return arrays;
77
+ }),
78
+ // Carry query + params so `batch` can reconstruct the request.
79
+ __query: query,
80
+ __params: binds,
81
+ };
82
+ };
83
+ return {
84
+ prepare: (query) => makeStatement(query, []),
85
+ exec: async (query) => {
86
+ const res = await runQuery(auth, databaseId, { sql: query });
87
+ const meta = res.result[res.result.length - 1]?.meta;
88
+ return {
89
+ count: res.result.length,
90
+ duration: meta?.duration ?? 0,
91
+ };
92
+ },
93
+ batch: async (statements) => {
94
+ const res = await runQuery(auth, databaseId, {
95
+ batch: statements.map((s) => ({
96
+ sql: s.__query,
97
+ params: s.__params.length
98
+ ? s.__params.map(normalizeBind)
99
+ : undefined,
100
+ })),
101
+ });
102
+ return res.result.map((r) => toResult(r));
103
+ },
104
+ };
105
+ };
106
+ //# sourceMappingURL=QueryDatabaseHttpClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryDatabaseHttpClient.js","sourceRoot":"","sources":["../../../src/Cloudflare/D1/QueryDatabaseHttpClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import * as Layer from "effect/Layer";
2
+ import type * as HttpClient from "effect/unstable/http/HttpClient";
3
+ import { CloudflareEnvironment } from "../CloudflareEnvironment.ts";
4
+ import type { Credentials } from "../Credentials.ts";
5
+ import { QueryDatabase } from "./QueryDatabase.ts";
6
+ /**
7
+ * Local implementation of the {@link QueryDatabase} binding — queries D1 over
8
+ * the Cloudflare HTTP API using the **current credentials** instead of a native
9
+ * Worker binding (`QueryDatabaseBinding`) or a scoped API token.
10
+ *
11
+ * Provide it on an {@link Action} (or any deploy-time Effect) so you can talk to
12
+ * a D1 database with the same `prepare`/`exec`/`batch` client you'd use inside a
13
+ * Worker:
14
+ *
15
+ * @example Seeding a database from an Action
16
+ * ```typescript
17
+ * const Seed = Alchemy.Action(
18
+ * "Seed",
19
+ * Effect.gen(function* () {
20
+ * const db = yield* Cloudflare.D1.QueryDatabase(database);
21
+ * return Effect.fn(function* () {
22
+ * yield* db.exec("CREATE TABLE IF NOT EXISTS users (id TEXT, name TEXT)");
23
+ * yield* db
24
+ * .prepare("INSERT INTO users (id, name) VALUES (?, ?)")
25
+ * .bind("1", "Ada")
26
+ * .run();
27
+ * });
28
+ * }).pipe(Effect.provide(Cloudflare.D1.QueryDatabaseLocal)),
29
+ * );
30
+ * ```
31
+ *
32
+ * The database id is resolved at apply time through the ambient
33
+ * {@link RuntimeContext} (in an Action, that's the resolve context the engine
34
+ * provides around the body), so `QueryDatabase(database)` works even though the
35
+ * database is created in the same deploy.
36
+ */
37
+ export declare const QueryDatabaseLocal: Layer.Layer<QueryDatabase, never, CloudflareEnvironment | Credentials | HttpClient.HttpClient>;
38
+ //# sourceMappingURL=QueryDatabaseLocal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryDatabaseLocal.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/D1/QueryDatabaseLocal.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,KAAK,UAAU,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAMnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,kBAAkB,gGAsB9B,CAAC"}
@@ -0,0 +1,54 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Layer from "effect/Layer";
3
+ import { CloudflareEnvironment } from "../CloudflareEnvironment.js";
4
+ import { QueryDatabase } from "./QueryDatabase.js";
5
+ import { makeHttpQueryDatabaseClient, } from "./QueryDatabaseHttpClient.js";
6
+ /**
7
+ * Local implementation of the {@link QueryDatabase} binding — queries D1 over
8
+ * the Cloudflare HTTP API using the **current credentials** instead of a native
9
+ * Worker binding (`QueryDatabaseBinding`) or a scoped API token.
10
+ *
11
+ * Provide it on an {@link Action} (or any deploy-time Effect) so you can talk to
12
+ * a D1 database with the same `prepare`/`exec`/`batch` client you'd use inside a
13
+ * Worker:
14
+ *
15
+ * @example Seeding a database from an Action
16
+ * ```typescript
17
+ * const Seed = Alchemy.Action(
18
+ * "Seed",
19
+ * Effect.gen(function* () {
20
+ * const db = yield* Cloudflare.D1.QueryDatabase(database);
21
+ * return Effect.fn(function* () {
22
+ * yield* db.exec("CREATE TABLE IF NOT EXISTS users (id TEXT, name TEXT)");
23
+ * yield* db
24
+ * .prepare("INSERT INTO users (id, name) VALUES (?, ?)")
25
+ * .bind("1", "Ada")
26
+ * .run();
27
+ * });
28
+ * }).pipe(Effect.provide(Cloudflare.D1.QueryDatabaseLocal)),
29
+ * );
30
+ * ```
31
+ *
32
+ * The database id is resolved at apply time through the ambient
33
+ * {@link RuntimeContext} (in an Action, that's the resolve context the engine
34
+ * provides around the body), so `QueryDatabase(database)` works even though the
35
+ * database is created in the same deploy.
36
+ */
37
+ export const QueryDatabaseLocal = Layer.effect(QueryDatabase, Effect.gen(function* () {
38
+ // Account + credentials are ambient during stack-eval (the stack's
39
+ // providers layer). Capture the full context so the HTTP query ops run
40
+ // with the current credentials — no `host.bind`, no minted token.
41
+ const { accountId } = yield* yield* CloudflareEnvironment;
42
+ const context = yield* Effect.context();
43
+ const auth = {
44
+ authorize: (eff) => eff.pipe(Effect.provideContext(context)),
45
+ accountId,
46
+ };
47
+ return Effect.fn(function* (database) {
48
+ // Deferred accessor — resolves the databaseId against the tracker at
49
+ // apply time. No `host.bind`: the local variant registers no binding.
50
+ const databaseId = yield* database.databaseId;
51
+ return makeHttpQueryDatabaseClient(auth, databaseId);
52
+ });
53
+ }));
54
+ //# sourceMappingURL=QueryDatabaseLocal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryDatabaseLocal.js","sourceRoot":"","sources":["../../../src/Cloudflare/D1/QueryDatabaseLocal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAGpE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAEL,2BAA2B,GAC5B,MAAM,8BAA8B,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAC5C,aAAa,EACb,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,mEAAmE;IACnE,uEAAuE;IACvE,kEAAkE;IAClE,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC;IAC1D,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAElC,CAAC;IACJ,MAAM,IAAI,GAAW;QACnB,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC5D,SAAS;KACV,CAAC;IAEF,OAAO,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAkB;QAC5C,qEAAqE;QACrE,sEAAsE;QACtE,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC9C,OAAO,2BAA2B,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CACH,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from "./Database.ts";
2
2
  export * from "./QueryDatabase.ts";
3
3
  export * from "./QueryDatabaseBinding.ts";
4
+ export * from "./QueryDatabaseLocal.ts";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/D1/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/D1/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from "./Database.js";
2
2
  export * from "./QueryDatabase.js";
3
3
  export * from "./QueryDatabaseBinding.js";
4
+ export * from "./QueryDatabaseLocal.js";
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Cloudflare/D1/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Cloudflare/D1/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC"}
@@ -1,7 +1,10 @@
1
1
  import * as Effect from "effect/Effect";
2
2
  import type * as Redacted from "effect/Redacted";
3
+ import type * as HttpClient from "effect/unstable/http/HttpClient";
4
+ import type { RuntimeContext } from "../../RuntimeContext.ts";
3
5
  import { Self } from "../../Self.ts";
4
6
  import type { PermissionGroupRef } from "../ApiToken/Common.ts";
7
+ import type { Credentials } from "../Credentials.ts";
5
8
  import type { Zone } from "../Zone/Zone.ts";
6
9
  /**
7
10
  * Shared scaffolding for the HTTP-backed DNS bindings.
@@ -18,11 +21,23 @@ import type { Zone } from "../Zone/Zone.ts";
18
21
  */
19
22
  export declare const makeHttpDnsBinding: <Client>(options: {
20
23
  permissionGroups: PermissionGroupRef[];
21
- makeClient: (token: Token, zoneId: Effect.Effect<string>) => Client;
24
+ makeClient: (auth: DnsAuth, zoneId: Effect.Effect<string>) => Client;
22
25
  }) => Effect.Effect<(zone: Zone) => Effect.Effect<Client, never, never>, never, Self<{
23
26
  Type: string;
24
27
  LogicalId: string;
25
28
  }>>;
29
+ /**
30
+ * Injectable auth for the DNS HTTP client builders. Both the scoped-token
31
+ * (`*Http`) and current-credentials (`*Local`) variants supply an `authorize`
32
+ * that provides `Credentials` + `HttpClient` to a raw SDK op, so the client
33
+ * builders are agnostic to how creds are obtained. DNS record ops are
34
+ * zone-scoped (the `zoneId` is passed alongside), so no `accountId` is needed.
35
+ */
36
+ export interface DnsAuth {
37
+ authorize: <A, E>(eff: Effect.Effect<A, E, Credentials | HttpClient.HttpClient>) => Effect.Effect<A, E, RuntimeContext>;
38
+ }
39
+ /** Build a scoped-token {@link DnsAuth} from a bound {@link Token}. */
40
+ export declare const makeDnsAuth: (token: Token) => DnsAuth;
26
41
  /**
27
42
  * Runtime accessor for a DNS binding's token, obtained by binding the
28
43
  * {@link AccountApiToken}'s `value` output in the Worker's Init phase. Reads the
@@ -1 +1 @@
1
- {"version":3,"file":"DnsHttp.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/DNS/DnsHttp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM,WAAW;IAClD,gBAAgB,EAAE,kBAAkB,EAAE,CAAC;IACvC,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC;CACrE;;;GAgCG,CAAC;AAEL;;;;;;GAMG;AACH,MAAM,WAAW,KAAK;IACpB,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;CACjD"}
1
+ {"version":3,"file":"DnsHttp.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/DNS/DnsHttp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,KAAK,UAAU,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM,WAAW;IAClD,gBAAgB,EAAE,kBAAkB,EAAE,CAAC;IACvC,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC;CACtE;;;GAgCG,CAAC;AAEL;;;;;;GAMG;AACH,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EACd,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC,KAC1D,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC;CAC1C;AAED,uEAAuE;AACvE,eAAO,MAAM,WAAW,UAAW,KAAK,KAAG,OAEzC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,KAAK;IACpB,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;CACjD"}
@@ -2,6 +2,7 @@ import * as Effect from "effect/Effect";
2
2
  import * as Output from "../../Output.js";
3
3
  import { Self } from "../../Self.js";
4
4
  import { AccountApiToken } from "../ApiToken/AccountApiToken.js";
5
+ import { authorizeWith } from "../HttpClientUtils.js";
5
6
  /**
6
7
  * Shared scaffolding for the HTTP-backed DNS bindings.
7
8
  *
@@ -37,7 +38,11 @@ export const makeHttpDnsBinding = (options) => Effect.gen(function* () {
37
38
  value: yield* token.value,
38
39
  };
39
40
  const zoneId = yield* zone.zoneId;
40
- return options.makeClient(bound, zoneId);
41
+ return options.makeClient(makeDnsAuth(bound), zoneId);
41
42
  });
42
43
  });
44
+ /** Build a scoped-token {@link DnsAuth} from a bound {@link Token}. */
45
+ export const makeDnsAuth = (token) => ({
46
+ authorize: authorizeWith(token),
47
+ });
43
48
  //# sourceMappingURL=DnsHttp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DnsHttp.js","sourceRoot":"","sources":["../../../src/Cloudflare/DNS/DnsHttp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAIjE;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAS,OAG1C,EAAE,EAAE,CACH,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,eAAe,CAAC;IACrC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC;IAEzB,OAAO,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAU;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC;YACpC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,GAAG,CAAC;gBAC5C,QAAQ,EAAE;oBACR;wBACE,MAAM,EAAE,OAAO;wBACf,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;wBAC1C,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CACzB,MAAM,CAAC,OAAO,CACZ,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,WAAW,CAAA,mCAAmC,MAAM,EAAE,CAChE,EACD,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;4BACtB,CAAC,MAAM,CAAC,EAAE,GAAG;yBACd,CAAC,CAAC,CACJ;qBACF;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,GAAG;YACZ,KAAK,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK;SACV,CAAC;QAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAClC,OAAO,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"DnsHttp.js","sourceRoot":"","sources":["../../../src/Cloudflare/DNS/DnsHttp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGjE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAS,OAG1C,EAAE,EAAE,CACH,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,eAAe,CAAC;IACrC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC;IAEzB,OAAO,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAU;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC;YACpC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,GAAG,CAAC;gBAC5C,QAAQ,EAAE;oBACR;wBACE,MAAM,EAAE,OAAO;wBACf,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;wBAC1C,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CACzB,MAAM,CAAC,OAAO,CACZ,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,WAAW,CAAA,mCAAmC,MAAM,EAAE,CAChE,EACD,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;4BACtB,CAAC,MAAM,CAAC,EAAE,GAAG;yBACd,CAAC,CAAC,CACJ;qBACF;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,GAAG;YACZ,KAAK,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK;SACV,CAAC;QAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAClC,OAAO,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAeL,uEAAuE;AACvE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAY,EAAW,EAAE,CAAC,CAAC;IACrD,SAAS,EAAE,aAAa,CAAC,KAAK,CAAC;CAChC,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import * as Effect from "effect/Effect";
2
+ import type * as HttpClient from "effect/unstable/http/HttpClient";
3
+ import type { Credentials } from "../Credentials.ts";
4
+ import type { Zone } from "../Zone/Zone.ts";
5
+ import type { DnsAuth } from "./DnsHttp.ts";
6
+ /**
7
+ * Shared scaffolding for the `*Local` DNS services.
8
+ *
9
+ * Instead of minting a scoped {@link AccountApiToken} (the `*Http` path), it
10
+ * captures the ambient current-credentials context available during stack-eval
11
+ * and builds a {@link DnsAuth} that provides those credentials directly to the
12
+ * DNS HTTP ops. It then delegates to the same client builders the `*Http`
13
+ * variant uses. DNS is a zone-management capability with no native Worker
14
+ * binding, so there is no `*Binding` counterpart.
15
+ *
16
+ * NOT exported from `index.ts` — this is internal scaffolding shared by the
17
+ * three access-level Local layers.
18
+ */
19
+ export declare const makeLocalDnsBinding: <Client>(options: {
20
+ makeClient: (auth: DnsAuth, zoneId: Effect.Effect<string>) => Client;
21
+ }) => Effect.Effect<(zone: Zone) => Effect.Effect<Client, never, never>, never, Credentials | HttpClient.HttpClient>;
22
+ //# sourceMappingURL=DnsLocal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DnsLocal.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/DNS/DnsLocal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,UAAU,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB,GAAI,MAAM,WAAW;IACnD,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC;CACtE,mHAmBG,CAAC"}
@@ -0,0 +1,31 @@
1
+ import * as Effect from "effect/Effect";
2
+ /**
3
+ * Shared scaffolding for the `*Local` DNS services.
4
+ *
5
+ * Instead of minting a scoped {@link AccountApiToken} (the `*Http` path), it
6
+ * captures the ambient current-credentials context available during stack-eval
7
+ * and builds a {@link DnsAuth} that provides those credentials directly to the
8
+ * DNS HTTP ops. It then delegates to the same client builders the `*Http`
9
+ * variant uses. DNS is a zone-management capability with no native Worker
10
+ * binding, so there is no `*Binding` counterpart.
11
+ *
12
+ * NOT exported from `index.ts` — this is internal scaffolding shared by the
13
+ * three access-level Local layers.
14
+ */
15
+ export const makeLocalDnsBinding = (options) => Effect.gen(function* () {
16
+ // Credentials are ambient during stack-eval (the stack's providers layer).
17
+ // Capture the full context so DNS HTTP ops can run with the current
18
+ // credentials — no `host.bind`, no minted token. DNS record ops are
19
+ // zone-scoped, so no accountId is needed.
20
+ const context = yield* Effect.context();
21
+ return Effect.fn(function* (zone) {
22
+ // Deferred accessor — resolves the zoneId against the tracker at apply
23
+ // time (in an Action, that's the engine's resolve context).
24
+ const zoneId = yield* zone.zoneId;
25
+ const auth = {
26
+ authorize: (eff) => eff.pipe(Effect.provideContext(context)),
27
+ };
28
+ return options.makeClient(auth, zoneId);
29
+ });
30
+ });
31
+ //# sourceMappingURL=DnsLocal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DnsLocal.js","sourceRoot":"","sources":["../../../src/Cloudflare/DNS/DnsLocal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAMxC;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAS,OAE3C,EAAE,EAAE,CACH,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,2EAA2E;IAC3E,oEAAoE;IACpE,oEAAoE;IACpE,0CAA0C;IAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAElC,CAAC;IAEJ,OAAO,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAU;QACpC,uEAAuE;QACvE,4DAA4D;QAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAClC,MAAM,IAAI,GAAY;YACpB,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;SAC7D,CAAC;QACF,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,12 +1,12 @@
1
1
  import * as Effect from "effect/Effect";
2
2
  import * as Layer from "effect/Layer";
3
- import { type Token } from "./DnsHttp.ts";
3
+ import { type DnsAuth } from "./DnsHttp.ts";
4
4
  import { ReadDns, type ReadDnsClient } from "./ReadDns.ts";
5
5
  /** Runtime layer for {@link ReadDns}. */
6
6
  export declare const ReadDnsHttp: Layer.Layer<ReadDns, never, import("../../Self.ts").Self<{
7
7
  Type: string;
8
8
  LogicalId: string;
9
9
  }>>;
10
- /** Build the read-only client over a bound token and zone id. */
11
- export declare const dnsReadClient: (token: Token, zoneId: Effect.Effect<string>) => ReadDnsClient;
10
+ /** Build the read-only client over an injectable auth and zone id. */
11
+ export declare const dnsReadClient: (auth: DnsAuth, zoneId: Effect.Effect<string>) => ReadDnsClient;
12
12
  //# sourceMappingURL=ReadDnsHttp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReadDnsHttp.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/DNS/ReadDnsHttp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAsB,KAAK,KAAK,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAE3D,yCAAyC;AACzC,eAAO,MAAM,WAAW;;;GAQvB,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,aAAa,UACjB,KAAK,UACJ,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAC5B,aAkBF,CAAC"}
1
+ {"version":3,"file":"ReadDnsHttp.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/DNS/ReadDnsHttp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,KAAK,OAAO,EAAsB,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAE3D,yCAAyC;AACzC,eAAO,MAAM,WAAW;;;GAQvB,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,aAAa,SAClB,OAAO,UACL,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAC5B,aAkBF,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import * as dns from "@distilled.cloud/cloudflare/dns";
2
2
  import * as Effect from "effect/Effect";
3
3
  import * as Layer from "effect/Layer";
4
- import { authorizeWith } from "../HttpClientUtils.js";
5
4
  import { makeHttpDnsBinding } from "./DnsHttp.js";
6
5
  import { ReadDns } from "./ReadDns.js";
7
6
  /** Runtime layer for {@link ReadDns}. */
@@ -9,9 +8,9 @@ export const ReadDnsHttp = Layer.effect(ReadDns, Effect.suspend(() => makeHttpDn
9
8
  permissionGroups: ["DNS Read"],
10
9
  makeClient: dnsReadClient,
11
10
  })));
12
- /** Build the read-only client over a bound token and zone id. */
13
- export const dnsReadClient = (token, zoneId) => {
14
- const authorize = authorizeWith(token);
11
+ /** Build the read-only client over an injectable auth and zone id. */
12
+ export const dnsReadClient = (auth, zoneId) => {
13
+ const authorize = auth.authorize;
15
14
  return {
16
15
  getDnsRecord: Effect.fn("Cloudflare.DNS.getDnsRecord")(function* (dnsRecordId) {
17
16
  return yield* authorize(dns.getRecord({ zoneId: yield* zoneId, dnsRecordId }));
@@ -1 +1 @@
1
- {"version":3,"file":"ReadDnsHttp.js","sourceRoot":"","sources":["../../../src/Cloudflare/DNS/ReadDnsHttp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iCAAiC,CAAC;AACvD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAc,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAsB,MAAM,cAAc,CAAC;AAE3D,yCAAyC;AACzC,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CACrC,OAAO,EACP,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAClB,kBAAkB,CAAC;IACjB,gBAAgB,EAAE,CAAC,UAAU,CAAC;IAC9B,UAAU,EAAE,aAAa;CAC1B,CAAC,CACH,CACF,CAAC;AAEF,iEAAiE;AACjE,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,KAAY,EACZ,MAA6B,EACd,EAAE;IACjB,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACvC,OAAO;QACL,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,6BAA6B,CAAC,CACpD,QAAQ,CAAC,EAAE,WAAW;YACpB,OAAO,KAAK,CAAC,CAAC,SAAS,CACrB,GAAG,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CACtD,CAAC;QACJ,CAAC,CACF;QACD,cAAc,EAAE,MAAM,CAAC,EAAE,CAAC,+BAA+B,CAAC,CACxD,QAAQ,CAAC,EAAE,OAAO;YAChB,OAAO,KAAK,CAAC,CAAC,SAAS,CACrB,GAAG,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CACvD,CAAC;QACJ,CAAC,CACF;KACF,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"ReadDnsHttp.js","sourceRoot":"","sources":["../../../src/Cloudflare/DNS/ReadDnsHttp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iCAAiC,CAAC;AACvD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAgB,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,OAAO,EAAsB,MAAM,cAAc,CAAC;AAE3D,yCAAyC;AACzC,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CACrC,OAAO,EACP,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAClB,kBAAkB,CAAC;IACjB,gBAAgB,EAAE,CAAC,UAAU,CAAC;IAC9B,UAAU,EAAE,aAAa;CAC1B,CAAC,CACH,CACF,CAAC;AAEF,sEAAsE;AACtE,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,IAAa,EACb,MAA6B,EACd,EAAE;IACjB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACjC,OAAO;QACL,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,6BAA6B,CAAC,CACpD,QAAQ,CAAC,EAAE,WAAW;YACpB,OAAO,KAAK,CAAC,CAAC,SAAS,CACrB,GAAG,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CACtD,CAAC;QACJ,CAAC,CACF;QACD,cAAc,EAAE,MAAM,CAAC,EAAE,CAAC,+BAA+B,CAAC,CACxD,QAAQ,CAAC,EAAE,OAAO;YAChB,OAAO,KAAK,CAAC,CAAC,SAAS,CACrB,GAAG,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CACvD,CAAC;QACJ,CAAC,CACF;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,32 @@
1
+ import * as Layer from "effect/Layer";
2
+ import { ReadDns } from "./ReadDns.ts";
3
+ /**
4
+ * Local implementation of the {@link ReadDns} binding — reads Cloudflare DNS
5
+ * records over the HTTP API using the **current credentials** instead of a
6
+ * scoped API token ({@link ReadDnsHttp}). DNS is a zone-management capability
7
+ * with no native Worker binding.
8
+ *
9
+ * Provide it on an {@link Action} (or any deploy-time Effect) so you can read a
10
+ * zone's DNS records with the same `getDnsRecord`/`listDnsRecords` client you'd
11
+ * use inside a Worker:
12
+ *
13
+ * @example Reading records from an Action
14
+ * ```typescript
15
+ * const Check = Alchemy.Action(
16
+ * "Check",
17
+ * Effect.gen(function* () {
18
+ * const dns = yield* Cloudflare.DNS.ReadDns(zone);
19
+ * return Effect.fn(function* () {
20
+ * return yield* dns.listDnsRecords({ type: "TXT" });
21
+ * });
22
+ * }).pipe(Effect.provide(Cloudflare.DNS.ReadDnsLocal)),
23
+ * );
24
+ * ```
25
+ *
26
+ * The zone id is resolved at apply time through the ambient
27
+ * {@link RuntimeContext} (in an Action, that's the resolve context the engine
28
+ * provides around the body), so `ReadDns(zone)` works even though the zone may
29
+ * be created/adopted in the same deploy.
30
+ */
31
+ export declare const ReadDnsLocal: Layer.Layer<ReadDns, never, import("@distilled.cloud/cloudflare").Credentials | import("effect/unstable/http/HttpClient").HttpClient>;
32
+ //# sourceMappingURL=ReadDnsLocal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReadDnsLocal.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/DNS/ReadDnsLocal.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,YAAY,uIAGxB,CAAC"}