alchemy 2.0.0-beta.44 → 2.0.0-beta.45

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 (404) hide show
  1. package/bin/exec.js +67 -8
  2. package/bin/exec.js.map +1 -1
  3. package/lib/AWS/Lambda/Function.d.ts +17 -0
  4. package/lib/AWS/Lambda/Function.d.ts.map +1 -1
  5. package/lib/AWS/Lambda/Function.js +61 -16
  6. package/lib/AWS/Lambda/Function.js.map +1 -1
  7. package/lib/AWS/Providers.d.ts +2 -1
  8. package/lib/AWS/Providers.d.ts.map +1 -1
  9. package/lib/AWS/Providers.js +3 -1
  10. package/lib/AWS/Providers.js.map +1 -1
  11. package/lib/Apply.js +17 -1
  12. package/lib/Apply.js.map +1 -1
  13. package/lib/Auth/AuthProvider.d.ts.map +1 -1
  14. package/lib/Auth/AuthProvider.js +24 -6
  15. package/lib/Auth/AuthProvider.js.map +1 -1
  16. package/lib/Auth/Credentials.d.ts.map +1 -1
  17. package/lib/Auth/Credentials.js +3 -3
  18. package/lib/Auth/Credentials.js.map +1 -1
  19. package/lib/Cli/commands/_shared.d.ts +13 -1
  20. package/lib/Cli/commands/_shared.d.ts.map +1 -1
  21. package/lib/Cli/commands/_shared.js +33 -2
  22. package/lib/Cli/commands/_shared.js.map +1 -1
  23. package/lib/Cli/commands/dev.d.ts.map +1 -1
  24. package/lib/Cli/commands/dev.js +10 -1
  25. package/lib/Cli/commands/dev.js.map +1 -1
  26. package/lib/Cli/commands/login.d.ts.map +1 -1
  27. package/lib/Cli/commands/login.js +19 -5
  28. package/lib/Cli/commands/login.js.map +1 -1
  29. package/lib/Cli/commands/profile.d.ts.map +1 -1
  30. package/lib/Cli/commands/profile.js +7 -27
  31. package/lib/Cli/commands/profile.js.map +1 -1
  32. package/lib/Cli/main.d.ts.map +1 -1
  33. package/lib/Cli/main.js +0 -2
  34. package/lib/Cli/main.js.map +1 -1
  35. package/lib/Cloudflare/AiGateway/AiGateway.d.ts +0 -2
  36. package/lib/Cloudflare/AiGateway/AiGateway.d.ts.map +1 -1
  37. package/lib/Cloudflare/AiGateway/AiGateway.js +2 -4
  38. package/lib/Cloudflare/AiGateway/AiGateway.js.map +1 -1
  39. package/lib/Cloudflare/BrowserRendering/BrowserRendering.d.ts +116 -0
  40. package/lib/Cloudflare/BrowserRendering/BrowserRendering.d.ts.map +1 -0
  41. package/lib/Cloudflare/BrowserRendering/BrowserRendering.js +92 -0
  42. package/lib/Cloudflare/BrowserRendering/BrowserRendering.js.map +1 -0
  43. package/lib/Cloudflare/BrowserRendering/BrowserRenderingBinding.d.ts +55 -0
  44. package/lib/Cloudflare/BrowserRendering/BrowserRenderingBinding.d.ts.map +1 -0
  45. package/lib/Cloudflare/BrowserRendering/BrowserRenderingBinding.js +55 -0
  46. package/lib/Cloudflare/BrowserRendering/BrowserRenderingBinding.js.map +1 -0
  47. package/lib/Cloudflare/BrowserRendering/index.d.ts +3 -0
  48. package/lib/Cloudflare/BrowserRendering/index.d.ts.map +1 -0
  49. package/lib/Cloudflare/BrowserRendering/index.js +3 -0
  50. package/lib/Cloudflare/BrowserRendering/index.js.map +1 -0
  51. package/lib/Cloudflare/Container/Container.d.ts +3 -3
  52. package/lib/Cloudflare/Container/Container.js +3 -3
  53. package/lib/Cloudflare/Container/StartContainer.d.ts.map +1 -1
  54. package/lib/Cloudflare/Container/StartContainer.js.map +1 -1
  55. package/lib/Cloudflare/D1/D1Database.d.ts +1 -0
  56. package/lib/Cloudflare/D1/D1Database.d.ts.map +1 -1
  57. package/lib/Cloudflare/D1/D1Database.js +2 -1
  58. package/lib/Cloudflare/D1/D1Database.js.map +1 -1
  59. package/lib/Cloudflare/D1/D1DatabaseBinding.js +1 -1
  60. package/lib/Cloudflare/D1/D1DatabaseBinding.js.map +1 -1
  61. package/lib/Cloudflare/Fetcher.d.ts.map +1 -1
  62. package/lib/Cloudflare/Fetcher.js +0 -2
  63. package/lib/Cloudflare/Fetcher.js.map +1 -1
  64. package/lib/Cloudflare/Hyperdrive/Hyperdrive.d.ts +1 -0
  65. package/lib/Cloudflare/Hyperdrive/Hyperdrive.d.ts.map +1 -1
  66. package/lib/Cloudflare/Hyperdrive/Hyperdrive.js +3 -0
  67. package/lib/Cloudflare/Hyperdrive/Hyperdrive.js.map +1 -1
  68. package/lib/Cloudflare/Hyperdrive/HyperdriveBinding.d.ts +3 -2
  69. package/lib/Cloudflare/Hyperdrive/HyperdriveBinding.d.ts.map +1 -1
  70. package/lib/Cloudflare/Hyperdrive/HyperdriveBinding.js +32 -33
  71. package/lib/Cloudflare/Hyperdrive/HyperdriveBinding.js.map +1 -1
  72. package/lib/Cloudflare/KV/KVNamespace.d.ts +1 -0
  73. package/lib/Cloudflare/KV/KVNamespace.d.ts.map +1 -1
  74. package/lib/Cloudflare/KV/KVNamespace.js +2 -0
  75. package/lib/Cloudflare/KV/KVNamespace.js.map +1 -1
  76. package/lib/Cloudflare/Local.js +1 -1
  77. package/lib/Cloudflare/Local.js.map +1 -1
  78. package/lib/Cloudflare/Providers.d.ts +2 -1
  79. package/lib/Cloudflare/Providers.d.ts.map +1 -1
  80. package/lib/Cloudflare/Providers.js +21 -17
  81. package/lib/Cloudflare/Providers.js.map +1 -1
  82. package/lib/Cloudflare/Queue/Queue.d.ts +1 -0
  83. package/lib/Cloudflare/Queue/Queue.d.ts.map +1 -1
  84. package/lib/Cloudflare/Queue/Queue.js +1 -0
  85. package/lib/Cloudflare/Queue/Queue.js.map +1 -1
  86. package/lib/Cloudflare/Queue/QueueConsumer.d.ts +2 -1
  87. package/lib/Cloudflare/Queue/QueueConsumer.d.ts.map +1 -1
  88. package/lib/Cloudflare/Queue/QueueConsumer.js +11 -3
  89. package/lib/Cloudflare/Queue/QueueConsumer.js.map +1 -1
  90. package/lib/Cloudflare/Queue/QueueEventSource.d.ts +30 -4
  91. package/lib/Cloudflare/Queue/QueueEventSource.d.ts.map +1 -1
  92. package/lib/Cloudflare/Queue/QueueEventSource.js +22 -1
  93. package/lib/Cloudflare/Queue/QueueEventSource.js.map +1 -1
  94. package/lib/Cloudflare/R2/R2Bucket.d.ts +1 -0
  95. package/lib/Cloudflare/R2/R2Bucket.d.ts.map +1 -1
  96. package/lib/Cloudflare/R2/R2Bucket.js +18 -0
  97. package/lib/Cloudflare/R2/R2Bucket.js.map +1 -1
  98. package/lib/Cloudflare/SecretsStore/Secret.d.ts.map +1 -1
  99. package/lib/Cloudflare/SecretsStore/Secret.js +13 -34
  100. package/lib/Cloudflare/SecretsStore/Secret.js.map +1 -1
  101. package/lib/Cloudflare/SecretsStore/SecretBinding.d.ts +3 -2
  102. package/lib/Cloudflare/SecretsStore/SecretBinding.d.ts.map +1 -1
  103. package/lib/Cloudflare/SecretsStore/SecretBinding.js +3 -2
  104. package/lib/Cloudflare/SecretsStore/SecretBinding.js.map +1 -1
  105. package/lib/Cloudflare/StateStore/Api.d.ts +5 -13
  106. package/lib/Cloudflare/StateStore/Api.d.ts.map +1 -1
  107. package/lib/Cloudflare/StateStore/Api.js +14 -8
  108. package/lib/Cloudflare/StateStore/Api.js.map +1 -1
  109. package/lib/Cloudflare/StateStore/State.d.ts.map +1 -1
  110. package/lib/Cloudflare/StateStore/State.js +45 -9
  111. package/lib/Cloudflare/StateStore/State.js.map +1 -1
  112. package/lib/Cloudflare/StateStore/Store.d.ts.map +1 -1
  113. package/lib/Cloudflare/StateStore/Store.js +5 -2
  114. package/lib/Cloudflare/StateStore/Store.js.map +1 -1
  115. package/lib/Cloudflare/VpcService/VpcService.d.ts +2 -2
  116. package/lib/Cloudflare/VpcService/VpcService.d.ts.map +1 -1
  117. package/lib/Cloudflare/Website/StaticSite.d.ts +5 -5
  118. package/lib/Cloudflare/Website/StaticSite.d.ts.map +1 -1
  119. package/lib/Cloudflare/Website/StaticSite.js +3 -0
  120. package/lib/Cloudflare/Website/StaticSite.js.map +1 -1
  121. package/lib/Cloudflare/Website/Vite.d.ts +5 -5
  122. package/lib/Cloudflare/Website/Vite.d.ts.map +1 -1
  123. package/lib/Cloudflare/Website/Vite.js.map +1 -1
  124. package/lib/Cloudflare/Workers/Assets.d.ts.map +1 -1
  125. package/lib/Cloudflare/Workers/Assets.js +1 -1
  126. package/lib/Cloudflare/Workers/Assets.js.map +1 -1
  127. package/lib/Cloudflare/Workers/DurableObjectBridge.d.ts.map +1 -1
  128. package/lib/Cloudflare/Workers/DurableObjectBridge.js +4 -2
  129. package/lib/Cloudflare/Workers/DurableObjectBridge.js.map +1 -1
  130. package/lib/Cloudflare/Workers/DurableObjectNamespace.d.ts +183 -6
  131. package/lib/Cloudflare/Workers/DurableObjectNamespace.d.ts.map +1 -1
  132. package/lib/Cloudflare/Workers/DurableObjectNamespace.js +279 -76
  133. package/lib/Cloudflare/Workers/DurableObjectNamespace.js.map +1 -1
  134. package/lib/Cloudflare/Workers/HttpServer.d.ts +6 -4
  135. package/lib/Cloudflare/Workers/HttpServer.d.ts.map +1 -1
  136. package/lib/Cloudflare/Workers/HttpServer.js +20 -15
  137. package/lib/Cloudflare/Workers/HttpServer.js.map +1 -1
  138. package/lib/Cloudflare/Workers/InferEnv.d.ts +3 -2
  139. package/lib/Cloudflare/Workers/InferEnv.d.ts.map +1 -1
  140. package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts +4 -7
  141. package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -1
  142. package/lib/Cloudflare/Workers/LocalWorkerProvider.js +111 -66
  143. package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
  144. package/lib/Cloudflare/Workers/Rpc.d.ts +16 -0
  145. package/lib/Cloudflare/Workers/Rpc.d.ts.map +1 -1
  146. package/lib/Cloudflare/Workers/Rpc.js +22 -0
  147. package/lib/Cloudflare/Workers/Rpc.js.map +1 -1
  148. package/lib/Cloudflare/Workers/RpcDurableObjectNamespace.d.ts +285 -0
  149. package/lib/Cloudflare/Workers/RpcDurableObjectNamespace.d.ts.map +1 -0
  150. package/lib/Cloudflare/Workers/RpcDurableObjectNamespace.js +288 -0
  151. package/lib/Cloudflare/Workers/RpcDurableObjectNamespace.js.map +1 -0
  152. package/lib/Cloudflare/Workers/RpcWorker.d.ts +305 -0
  153. package/lib/Cloudflare/Workers/RpcWorker.d.ts.map +1 -0
  154. package/lib/Cloudflare/Workers/RpcWorker.js +350 -0
  155. package/lib/Cloudflare/Workers/RpcWorker.js.map +1 -0
  156. package/lib/Cloudflare/Workers/Vite.d.ts +1 -1
  157. package/lib/Cloudflare/Workers/Vite.d.ts.map +1 -1
  158. package/lib/Cloudflare/Workers/Vite.js +2 -1
  159. package/lib/Cloudflare/Workers/Vite.js.map +1 -1
  160. package/lib/Cloudflare/Workers/Worker.d.ts +69 -24
  161. package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
  162. package/lib/Cloudflare/Workers/Worker.js +168 -47
  163. package/lib/Cloudflare/Workers/Worker.js.map +1 -1
  164. package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts +1 -1
  165. package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts.map +1 -1
  166. package/lib/Cloudflare/Workers/WorkerAsyncBindings.js +158 -97
  167. package/lib/Cloudflare/Workers/WorkerAsyncBindings.js.map +1 -1
  168. package/lib/Cloudflare/Workers/WorkerBinding.d.ts +11 -23
  169. package/lib/Cloudflare/Workers/WorkerBinding.d.ts.map +1 -1
  170. package/lib/Cloudflare/Workers/WorkerBinding.js +3 -0
  171. package/lib/Cloudflare/Workers/WorkerBinding.js.map +1 -1
  172. package/lib/Cloudflare/Workers/WorkerBridge.d.ts.map +1 -1
  173. package/lib/Cloudflare/Workers/WorkerBridge.js +5 -2
  174. package/lib/Cloudflare/Workers/WorkerBridge.js.map +1 -1
  175. package/lib/Cloudflare/Workers/WorkerBundle.d.ts.map +1 -1
  176. package/lib/Cloudflare/Workers/WorkerBundle.js +4 -1
  177. package/lib/Cloudflare/Workers/WorkerBundle.js.map +1 -1
  178. package/lib/Cloudflare/Workers/WorkerRuntimeContext.d.ts.map +1 -1
  179. package/lib/Cloudflare/Workers/WorkerRuntimeContext.js +9 -10
  180. package/lib/Cloudflare/Workers/WorkerRuntimeContext.js.map +1 -1
  181. package/lib/Cloudflare/Workers/Workflow.d.ts +5 -3
  182. package/lib/Cloudflare/Workers/Workflow.d.ts.map +1 -1
  183. package/lib/Cloudflare/Workers/Workflow.js +19 -1
  184. package/lib/Cloudflare/Workers/Workflow.js.map +1 -1
  185. package/lib/Cloudflare/Workers/index.d.ts +2 -0
  186. package/lib/Cloudflare/Workers/index.d.ts.map +1 -1
  187. package/lib/Cloudflare/Workers/index.js +2 -0
  188. package/lib/Cloudflare/Workers/index.js.map +1 -1
  189. package/lib/Cloudflare/index.d.ts +1 -0
  190. package/lib/Cloudflare/index.d.ts.map +1 -1
  191. package/lib/Cloudflare/index.js +1 -0
  192. package/lib/Cloudflare/index.js.map +1 -1
  193. package/lib/Dependencies.d.ts +10 -0
  194. package/lib/Dependencies.d.ts.map +1 -0
  195. package/lib/Dependencies.js +1 -0
  196. package/lib/Dependencies.js.map +1 -0
  197. package/lib/Deploy.d.ts +2 -1
  198. package/lib/Deploy.d.ts.map +1 -1
  199. package/lib/Deploy.js +2 -2
  200. package/lib/Deploy.js.map +1 -1
  201. package/lib/Diff.d.ts +11 -0
  202. package/lib/Diff.d.ts.map +1 -1
  203. package/lib/Diff.js +11 -0
  204. package/lib/Diff.js.map +1 -1
  205. package/lib/Input.d.ts +2 -1
  206. package/lib/Input.d.ts.map +1 -1
  207. package/lib/KeyPair.d.ts +77 -0
  208. package/lib/KeyPair.d.ts.map +1 -0
  209. package/lib/KeyPair.js +102 -0
  210. package/lib/KeyPair.js.map +1 -0
  211. package/lib/Local/RpcProvider.d.ts +3 -1
  212. package/lib/Local/RpcProvider.d.ts.map +1 -1
  213. package/lib/Local/RpcProvider.js +28 -2
  214. package/lib/Local/RpcProvider.js.map +1 -1
  215. package/lib/Local/RpcServerEnvironment.js +1 -1
  216. package/lib/Local/RpcServerEnvironment.js.map +1 -1
  217. package/lib/Neon/Project.d.ts.map +1 -1
  218. package/lib/Neon/Project.js +14 -3
  219. package/lib/Neon/Project.js.map +1 -1
  220. package/lib/Output.d.ts.map +1 -1
  221. package/lib/Output.js +9 -2
  222. package/lib/Output.js.map +1 -1
  223. package/lib/Phase.d.ts +2 -1
  224. package/lib/Phase.d.ts.map +1 -1
  225. package/lib/Phase.js +6 -1
  226. package/lib/Phase.js.map +1 -1
  227. package/lib/Plan.d.ts.map +1 -1
  228. package/lib/Plan.js +14 -3
  229. package/lib/Plan.js.map +1 -1
  230. package/lib/Platform.d.ts +8 -6
  231. package/lib/Platform.d.ts.map +1 -1
  232. package/lib/Platform.js +33 -3
  233. package/lib/Platform.js.map +1 -1
  234. package/lib/Random.d.ts.map +1 -1
  235. package/lib/Random.js +9 -14
  236. package/lib/Random.js.map +1 -1
  237. package/lib/RuntimeContext.d.ts +21 -1
  238. package/lib/RuntimeContext.d.ts.map +1 -1
  239. package/lib/RuntimeContext.js +12 -0
  240. package/lib/RuntimeContext.js.map +1 -1
  241. package/lib/Stack.d.ts +3 -3
  242. package/lib/Stack.d.ts.map +1 -1
  243. package/lib/Stack.js.map +1 -1
  244. package/lib/State/HttpStateApi.d.ts +2 -2
  245. package/lib/State/StateEncoding.d.ts +8 -0
  246. package/lib/State/StateEncoding.d.ts.map +1 -1
  247. package/lib/State/StateEncoding.js +55 -5
  248. package/lib/State/StateEncoding.js.map +1 -1
  249. package/lib/Test/Bun.d.ts.map +1 -1
  250. package/lib/Test/Bun.js +0 -2
  251. package/lib/Test/Bun.js.map +1 -1
  252. package/lib/Test/Vitest.d.ts.map +1 -1
  253. package/lib/Test/Vitest.js +0 -2
  254. package/lib/Test/Vitest.js.map +1 -1
  255. package/lib/Util/Duration.d.ts +14 -0
  256. package/lib/Util/Duration.d.ts.map +1 -0
  257. package/lib/Util/Duration.js +18 -0
  258. package/lib/Util/Duration.js.map +1 -0
  259. package/lib/Util/index.d.ts +0 -6
  260. package/lib/Util/index.d.ts.map +1 -1
  261. package/lib/Util/index.js +0 -6
  262. package/lib/Util/index.js.map +1 -1
  263. package/lib/Util/types.d.ts +3 -1
  264. package/lib/Util/types.d.ts.map +1 -1
  265. package/lib/Util/types.js +5 -1
  266. package/lib/Util/types.js.map +1 -1
  267. package/lib/index.d.ts +2 -3
  268. package/lib/index.d.ts.map +1 -1
  269. package/lib/index.js +1 -3
  270. package/lib/index.js.map +1 -1
  271. package/lib/tsconfig.test.tsbuildinfo +1 -1
  272. package/package.json +20 -19
  273. package/src/AWS/Lambda/Function.ts +87 -34
  274. package/src/AWS/Providers.ts +3 -0
  275. package/src/Apply.ts +18 -1
  276. package/src/Auth/AuthProvider.ts +25 -5
  277. package/src/Auth/Credentials.ts +8 -7
  278. package/src/Cli/commands/_shared.ts +47 -4
  279. package/src/Cli/commands/dev.ts +13 -1
  280. package/src/Cli/commands/login.ts +20 -4
  281. package/src/Cli/commands/profile.ts +24 -34
  282. package/src/Cli/main.ts +0 -3
  283. package/src/Cloudflare/AiGateway/AiGateway.ts +2 -6
  284. package/src/Cloudflare/BrowserRendering/BrowserRendering.ts +132 -0
  285. package/src/Cloudflare/BrowserRendering/BrowserRenderingBinding.ts +137 -0
  286. package/src/Cloudflare/BrowserRendering/index.ts +11 -0
  287. package/src/Cloudflare/Container/Container.ts +3 -3
  288. package/src/Cloudflare/Container/StartContainer.ts +1 -2
  289. package/src/Cloudflare/D1/D1Database.ts +4 -1
  290. package/src/Cloudflare/D1/D1DatabaseBinding.ts +1 -1
  291. package/src/Cloudflare/Fetcher.ts +0 -2
  292. package/src/Cloudflare/Hyperdrive/Hyperdrive.ts +5 -0
  293. package/src/Cloudflare/Hyperdrive/HyperdriveBinding.ts +41 -43
  294. package/src/Cloudflare/KV/KVNamespace.ts +4 -0
  295. package/src/Cloudflare/Local.ts +1 -1
  296. package/src/Cloudflare/Providers.ts +25 -16
  297. package/src/Cloudflare/Queue/Queue.ts +3 -0
  298. package/src/Cloudflare/Queue/QueueConsumer.ts +23 -8
  299. package/src/Cloudflare/Queue/QueueEventSource.ts +33 -5
  300. package/src/Cloudflare/R2/R2Bucket.ts +26 -0
  301. package/src/Cloudflare/SecretsStore/Secret.ts +14 -41
  302. package/src/Cloudflare/SecretsStore/SecretBinding.ts +11 -11
  303. package/src/Cloudflare/StateStore/Api.ts +15 -15
  304. package/src/Cloudflare/StateStore/State.ts +68 -6
  305. package/src/Cloudflare/StateStore/Store.ts +5 -2
  306. package/src/Cloudflare/VpcService/VpcService.ts +2 -2
  307. package/src/Cloudflare/Website/StaticSite.ts +8 -10
  308. package/src/Cloudflare/Website/Vite.ts +4 -7
  309. package/src/Cloudflare/Workers/Assets.ts +1 -1
  310. package/src/Cloudflare/Workers/DurableObjectBridge.ts +7 -4
  311. package/src/Cloudflare/Workers/DurableObjectNamespace.ts +380 -121
  312. package/src/Cloudflare/Workers/HttpServer.ts +31 -25
  313. package/src/Cloudflare/Workers/InferEnv.ts +15 -8
  314. package/src/Cloudflare/Workers/LocalWorkerProvider.ts +139 -78
  315. package/src/Cloudflare/Workers/Rpc.ts +50 -0
  316. package/src/Cloudflare/Workers/RpcDurableObjectNamespace.ts +502 -0
  317. package/src/Cloudflare/Workers/RpcWorker.ts +562 -0
  318. package/src/Cloudflare/Workers/Vite.ts +2 -0
  319. package/src/Cloudflare/Workers/Worker.ts +274 -93
  320. package/src/Cloudflare/Workers/WorkerAsyncBindings.ts +158 -103
  321. package/src/Cloudflare/Workers/WorkerBinding.ts +10 -0
  322. package/src/Cloudflare/Workers/WorkerBridge.ts +7 -4
  323. package/src/Cloudflare/Workers/WorkerBundle.ts +4 -1
  324. package/src/Cloudflare/Workers/WorkerRuntimeContext.ts +8 -15
  325. package/src/Cloudflare/Workers/Workflow.ts +22 -3
  326. package/src/Cloudflare/Workers/index.ts +2 -0
  327. package/src/Cloudflare/index.ts +1 -0
  328. package/src/Dependencies.ts +10 -0
  329. package/src/Deploy.ts +3 -1
  330. package/src/Diff.ts +13 -0
  331. package/src/Input.ts +2 -0
  332. package/src/KeyPair.ts +146 -0
  333. package/src/Local/RpcProvider.ts +45 -1
  334. package/src/Local/RpcServerEnvironment.ts +1 -1
  335. package/src/Neon/Project.ts +16 -3
  336. package/src/Output.ts +8 -2
  337. package/src/Phase.ts +8 -0
  338. package/src/Plan.ts +16 -3
  339. package/src/Platform.ts +74 -27
  340. package/src/Random.ts +22 -27
  341. package/src/RuntimeContext.ts +23 -1
  342. package/src/Stack.ts +3 -3
  343. package/src/State/StateEncoding.ts +58 -7
  344. package/src/Test/Bun.ts +0 -3
  345. package/src/Test/Vitest.ts +0 -3
  346. package/src/Util/Duration.ts +21 -0
  347. package/src/Util/index.ts +0 -6
  348. package/src/Util/types.ts +9 -2
  349. package/src/index.ts +2 -3
  350. package/lib/Secret.d.ts +0 -50
  351. package/lib/Secret.d.ts.map +0 -1
  352. package/lib/Secret.js +0 -23
  353. package/lib/Secret.js.map +0 -1
  354. package/lib/Trait.d.ts +0 -43
  355. package/lib/Trait.d.ts.map +0 -1
  356. package/lib/Trait.js +0 -17
  357. package/lib/Trait.js.map +0 -1
  358. package/lib/Util/LocalhostDns.d.ts +0 -23
  359. package/lib/Util/LocalhostDns.d.ts.map +0 -1
  360. package/lib/Util/LocalhostDns.js +0 -46
  361. package/lib/Util/LocalhostDns.js.map +0 -1
  362. package/lib/Util/assert-never.d.ts +0 -12
  363. package/lib/Util/assert-never.d.ts.map +0 -1
  364. package/lib/Util/assert-never.js +0 -11
  365. package/lib/Util/assert-never.js.map +0 -1
  366. package/lib/Util/class.d.ts +0 -3
  367. package/lib/Util/class.d.ts.map +0 -1
  368. package/lib/Util/class.js +0 -1
  369. package/lib/Util/class.js.map +0 -1
  370. package/lib/Util/ignore.d.ts +0 -40
  371. package/lib/Util/ignore.d.ts.map +0 -1
  372. package/lib/Util/ignore.js +0 -591
  373. package/lib/Util/ignore.js.map +0 -1
  374. package/lib/Util/instance.d.ts +0 -4
  375. package/lib/Util/instance.d.ts.map +0 -1
  376. package/lib/Util/instance.js +0 -1
  377. package/lib/Util/instance.js.map +0 -1
  378. package/lib/Util/pointer.d.ts +0 -5
  379. package/lib/Util/pointer.d.ts.map +0 -1
  380. package/lib/Util/pointer.js +0 -1
  381. package/lib/Util/pointer.js.map +0 -1
  382. package/lib/Util/schema-to-type.d.ts +0 -42
  383. package/lib/Util/schema-to-type.d.ts.map +0 -1
  384. package/lib/Util/schema-to-type.js +0 -364
  385. package/lib/Util/schema-to-type.js.map +0 -1
  386. package/lib/Util/todo.d.ts +0 -3
  387. package/lib/Util/todo.d.ts.map +0 -1
  388. package/lib/Util/todo.js +0 -3
  389. package/lib/Util/todo.js.map +0 -1
  390. package/lib/Variable.d.ts +0 -29
  391. package/lib/Variable.d.ts.map +0 -1
  392. package/lib/Variable.js +0 -9
  393. package/lib/Variable.js.map +0 -1
  394. package/src/Secret.ts +0 -87
  395. package/src/Trait.ts +0 -105
  396. package/src/Util/LocalhostDns.ts +0 -52
  397. package/src/Util/assert-never.ts +0 -18
  398. package/src/Util/class.ts +0 -7
  399. package/src/Util/ignore.ts +0 -815
  400. package/src/Util/instance.ts +0 -9
  401. package/src/Util/pointer.ts +0 -5
  402. package/src/Util/schema-to-type.ts +0 -456
  403. package/src/Util/todo.ts +0 -4
  404. package/src/Variable.ts +0 -44
@@ -1,10 +1,12 @@
1
1
  import * as Context from "effect/Context";
2
2
  import * as Effect from "effect/Effect";
3
+ import * as Layer from "effect/Layer";
3
4
  import * as HttpServerRequest from "effect/unstable/http/HttpServerRequest";
4
5
  import * as HttpServerResponse from "effect/unstable/http/HttpServerResponse";
5
6
  import * as Output from "../../Output.js";
6
7
  import { ALCHEMY_PHASE } from "../../Phase.js";
7
8
  import { effectClass, taggedFunction } from "../../Util/effect.js";
9
+ import { asEffect } from "../../Util/types.js";
8
10
  import { DurableObjectState } from "./DurableObjectState.js";
9
11
  import { makeRpcStub } from "./Rpc.js";
10
12
  import {} from "./WebSocket.js";
@@ -97,7 +99,7 @@ export class DurableObjectNamespaceScope extends Context.Service()("Cloudflare.D
97
99
  * @example Modular Durable Object (class + .make() in one file)
98
100
  * ```typescript
99
101
  * // src/Counter.ts
100
- * export default class Counter extends Cloudflare.DurableObjectNamespace<Counter>()(
102
+ * export class Counter extends Cloudflare.DurableObjectNamespace<Counter>()(
101
103
  * "Counter",
102
104
  * ) {}
103
105
  *
@@ -142,6 +144,115 @@ export class DurableObjectNamespaceScope extends Context.Service()("Cloudflare.D
142
144
  * };
143
145
  * ```
144
146
  *
147
+ * @section Cross-Worker Binding
148
+ * A Durable Object is _hosted_ by exactly one Worker, but any
149
+ * number of other Workers can bind to the same DO. This is how
150
+ * you share state across Workers: one Worker hosts the DO, every
151
+ * other Worker addresses it by `scriptName` and gets a typed stub.
152
+ *
153
+ * To make this type-safe, the **host Worker** must declare the DO
154
+ * as part of its public contract via the third type argument to
155
+ * `Cloudflare.Worker<Self, Bindings, Deps>()`. `Deps` is the set
156
+ * of DO classes (or other Workers) the script exposes for other
157
+ * scripts to bind to.
158
+ *
159
+ * @example Host Worker declares the DO in its contract
160
+ * ```typescript
161
+ * // workerA.ts — hosts Counter
162
+ * import { Counter, CounterLive } from "./object.ts";
163
+ *
164
+ * // ^^^^^^^ declared as part of WorkerA's public contract
165
+ * export class WorkerA extends Cloudflare.Worker<WorkerA, {}, Counter>()(
166
+ * "WorkerA",
167
+ * { main: import.meta.filename },
168
+ * ) {}
169
+ *
170
+ * // WorkerA's Layer also provides the DO's Live implementation.
171
+ * export default WorkerA.make(
172
+ * Effect.gen(function* () {
173
+ * const counter = yield* Counter;
174
+ * return { fetch: Effect.gen(function* () { ... }) };
175
+ * }).pipe(Effect.provide(CounterLive)),
176
+ * );
177
+ * ```
178
+ *
179
+ * @example Consumer Worker binds the DO via `Counter.from(WorkerA)`
180
+ * ```typescript
181
+ * // workerB.ts — binds to the same Counter, hosted by WorkerA
182
+ * import { Counter } from "./object.ts";
183
+ * import { WorkerA } from "./workerA.ts";
184
+ *
185
+ * export default class WorkerB extends Cloudflare.Worker<WorkerB>()(
186
+ * "WorkerB",
187
+ * { main: import.meta.filename },
188
+ * Effect.gen(function* () {
189
+ * // ^^^^^^^^^^^^ scriptName-bound stub of WorkerA's Counter
190
+ * const counter = yield* Counter.from(WorkerA);
191
+ * return {
192
+ * fetch: Effect.gen(function* () {
193
+ * const value = yield* counter.getByName("shared").get();
194
+ * return HttpServerResponse.text(String(value));
195
+ * }),
196
+ * };
197
+ * }),
198
+ * ) {}
199
+ * ```
200
+ *
201
+ * :::tip
202
+ * The `, Counter` in `Worker<WorkerA, {}, Counter>` is what makes
203
+ * `Counter.from(WorkerA)` type-check. You can still bind across
204
+ * scripts without it (the runtime works either way), but consumers
205
+ * will get a TypeScript error because `WorkerA` doesn't declare
206
+ * `Counter` as part of its public contract.
207
+ * :::
208
+ *
209
+ * Only the host Worker's Stack provides `CounterLive` — the
210
+ * consumer Worker just imports the `Counter` class as a typed
211
+ * identifier. Rolldown tree-shakes `CounterLive` (and its
212
+ * dependencies) out of WorkerB's bundle.
213
+ *
214
+ * @section Using `.from(Self)` Inside the Host
215
+ * Inside the host Worker, `yield* Counter` and
216
+ * `yield* Counter.from(Self)` resolve to the same local namespace.
217
+ * The `.from(Self)` form is preferred — especially in code that
218
+ * may be extracted into a reusable Layer — because it makes the
219
+ * scriptName explicit and lets the same Layer shape work whether
220
+ * the consumer is the host or another script.
221
+ *
222
+ * @example `Counter.from(WorkerA)` inside WorkerA itself
223
+ * ```typescript
224
+ * // workerA.ts — host uses `.from(Self)` instead of bare `yield* Counter`
225
+ * export default WorkerA.make(
226
+ * Effect.gen(function* () {
227
+ * const counter = yield* Counter.from(WorkerA); // same as `yield* Counter`
228
+ * return { fetch: Effect.gen(function* () { ... }) };
229
+ * }).pipe(Effect.provide(CounterLive)),
230
+ * );
231
+ * ```
232
+ *
233
+ * A Worker can also host its **own isolated** namespace this way.
234
+ * If a second host Worker declares `Counter` in its contract and
235
+ * provides `CounterLive`, the DO instances under that script are
236
+ * separate from the original host's — same class, two namespaces.
237
+ *
238
+ * @example Two hosts, two isolated namespaces
239
+ * ```typescript
240
+ * // workerC.ts — another host of Counter, isolated from WorkerA
241
+ * export class WorkerC extends Cloudflare.Worker<WorkerC, {}, Counter>()(
242
+ * "WorkerC",
243
+ * { main: import.meta.filename },
244
+ * ) {}
245
+ *
246
+ * export default WorkerC.make(
247
+ * Effect.gen(function* () {
248
+ * // .from(WorkerC) binds to WorkerC's own Counter namespace —
249
+ * // writes here are NOT visible from WorkerA's Counter.
250
+ * const counter = yield* Counter.from(WorkerC);
251
+ * return { fetch: Effect.gen(function* () { ... }) };
252
+ * }).pipe(Effect.provide(CounterLive)),
253
+ * );
254
+ * ```
255
+ *
145
256
  * @section RPC Methods
146
257
  * Any function you return from the inner Effect becomes an RPC method
147
258
  * that Workers can call through a stub. Methods must return an `Effect`.
@@ -358,7 +469,8 @@ export class DurableObjectNamespaceScope extends Context.Service()("Cloudflare.D
358
469
  * runtime), declare Durable Objects in the `bindings` prop of the
359
470
  * Worker resource. Pass a `DurableObjectNamespace` reference with a
360
471
  * `className` matching the exported `DurableObject` subclass in your
361
- * worker source file. Use `Cloudflare.InferEnv` to get a fully typed
472
+ * worker source file. If `className` is omitted, it defaults to the
473
+ * namespace name. Use `Cloudflare.InferEnv` to get a fully typed
362
474
  * `env` object that includes the namespace.
363
475
  *
364
476
  * @example Declaring a DO binding in the stack
@@ -371,9 +483,7 @@ export class DurableObjectNamespaceScope extends Context.Service()("Cloudflare.D
371
483
  * export const Worker = Cloudflare.Worker("Worker", {
372
484
  * main: "./src/worker.ts",
373
485
  * bindings: {
374
- * Counter: Cloudflare.DurableObjectNamespace<Counter>("Counter", {
375
- * className: "Counter",
376
- * }),
486
+ * Counter: Cloudflare.DurableObjectNamespace<Counter>("Counter"),
377
487
  * },
378
488
  * });
379
489
  * ```
@@ -399,78 +509,171 @@ export class DurableObjectNamespaceScope extends Context.Service()("Cloudflare.D
399
509
  * }
400
510
  * }
401
511
  * ```
512
+ *
513
+ * @section Cross-Script Binding in an Async Worker
514
+ * Async Workers can also bind to a Durable Object hosted by another
515
+ * Worker script. The host Worker declares and exports the DO class. The
516
+ * consumer Worker declares a `DurableObjectNamespace` with `scriptName`
517
+ * set to the host Worker's script name.
518
+ *
519
+ * Cross-script async bindings are references only: the consumer uploads
520
+ * the binding metadata, but Alchemy does not drive class migrations for
521
+ * the foreign class. Deploy the host first so Cloudflare can verify that
522
+ * the target script exports the requested class.
523
+ *
524
+ * @example Host Worker owns the Durable Object class
525
+ * ```typescript
526
+ * const host = yield* Cloudflare.Worker("Host", {
527
+ * main: "./src/host.ts",
528
+ * bindings: {
529
+ * Counter: Cloudflare.DurableObjectNamespace<Counter>("Counter"),
530
+ * },
531
+ * });
532
+ * ```
533
+ *
534
+ * @example Consumer Worker binds to the host script
535
+ * ```typescript
536
+ * const consumer = yield* Cloudflare.Worker("Consumer", {
537
+ * main: "./src/consumer.ts",
538
+ * bindings: {
539
+ * Counter: Cloudflare.DurableObjectNamespace<Counter>("Counter", {
540
+ * scriptName: host.workerName,
541
+ * }),
542
+ * },
543
+ * });
544
+ * ```
545
+ *
546
+ * @example Binding to a different exported class name
547
+ * ```typescript
548
+ * const consumer = yield* Cloudflare.Worker("Consumer", {
549
+ * main: "./src/consumer.ts",
550
+ * bindings: {
551
+ * Counter: Cloudflare.DurableObjectNamespace<Counter>("Counter", {
552
+ * className: "CounterV2",
553
+ * scriptName: host.workerName,
554
+ * }),
555
+ * },
556
+ * });
557
+ * ```
402
558
  */
403
- export const DurableObjectNamespace = taggedFunction(DurableObjectNamespaceScope, ((...args) => args.length === 0
404
- ? DurableObjectNamespace
405
- : !Effect.isEffect(args[1])
406
- ? {
559
+ export const DurableObjectNamespace = taggedFunction(DurableObjectNamespaceScope, function (...args) {
560
+ if (args.length === 0) {
561
+ return (name, propsOrImpl) =>
562
+ // @ts-expect-error
563
+ DurableObjectNamespace(name, propsOrImpl, true);
564
+ }
565
+ const namespace = args[0];
566
+ const isClassForm = args[2] === true;
567
+ const propsOrImpl = args[1];
568
+ const tag = Context.Service(namespace);
569
+ const binding = (scriptName) => Effect.gen(function* () {
570
+ const worker = yield* Worker;
571
+ yield* worker.bind `${namespace}`({
572
+ // TODO(sam): automate class migrations, probably in the provider
573
+ bindings: [
574
+ {
575
+ type: "durable_object_namespace",
576
+ name: namespace,
577
+ className: namespace,
578
+ scriptName,
579
+ },
580
+ ],
581
+ });
582
+ const binding = yield* Effect.all([
583
+ WorkerEnvironment,
584
+ ALCHEMY_PHASE,
585
+ ]).pipe(Effect.flatMap(([env, phase]) => {
586
+ if (env === undefined || phase === "plan") {
587
+ // should be fine to return undefined here (it is only undefined at plantime)
588
+ return Effect.succeed(undefined);
589
+ }
590
+ const ns = env[namespace];
591
+ if (!ns) {
592
+ return Effect.die(new Error(`DurableObjectNamespace '${namespace}' not found`));
593
+ }
594
+ else if (typeof ns.getByName === "function") {
595
+ return Effect.succeed(ns);
596
+ }
597
+ else {
598
+ return Effect.die(new Error(`DurableObjectNamespace '${namespace}' is not a DurableObjectNamespace`));
599
+ }
600
+ }));
601
+ return {
602
+ Type: TypeId,
603
+ LogicalId: namespace,
604
+ name: namespace,
605
+ namespaceId: worker.durableObjectNamespaces.pipe(Output.map((durableObjectNamespaces) => durableObjectNamespaces?.[namespace])),
606
+ getByName: (name) => makeRpcStub(binding.getByName(name)),
607
+ // newUniqueId: () => use((ns) => ns.newUniqueId()),
608
+ // idFromName: (name: string) => use((ns) => ns.idFromName(name)),
609
+ // idFromString: (id: string) => use((ns) => ns.idFromString(id)),
610
+ // get: (
611
+ // id: cf.DurableObjectId,
612
+ // options?: cf.DurableObjectNamespaceGetDurableObjectOptions,
613
+ // ) => use((ns) => makeRpcStub(ns.get(id, options))),
614
+ // jurisdiction: (jurisdiction: cf.DurableObjectJurisdiction) =>
615
+ // use((ns) => ns.jurisdiction(jurisdiction) as any),
616
+ };
617
+ });
618
+ const make = Effect.fnUntraced(function* (impl) {
619
+ // Register the local DO binding (no `scriptName`) and obtain the
620
+ // namespace handle. We provide this same handle as
621
+ // `DurableObjectNamespaceScope` to the user's constructor effect
622
+ // and also return it so a `Layer.effect(tag, make(impl))` Layer
623
+ // resolves the tag to a concrete namespace value.
624
+ const self = yield* binding();
625
+ yield* (yield* Worker).export(namespace, {
626
+ kind: "durableObject",
627
+ // initialize the object's constructor (apply infra dependencies)
628
+ constructor: yield* impl.pipe(Effect.provideService(DurableObjectNamespaceScope, self)),
629
+ // grab the object's infra dependencies so we can apply them when calling the instance's methods
630
+ services: yield* Effect.context(),
631
+ });
632
+ return self;
633
+ });
634
+ if (!isClassForm && !Effect.isEffect(args[1])) {
635
+ // this is an in-line, async only DO (no implementation, props only)
636
+ return {
407
637
  kind: TypeId,
408
- name: args[0],
409
- className: args[1]
410
- ?.className,
411
- }
412
- : effectClass(Effect.gen(function* () {
413
- const [namespace, impl] = args;
414
- const worker = yield* Worker;
415
- yield* worker.bind `${namespace}`({
416
- // TODO(sam): automate class migrations, probably in the provider
417
- bindings: [
418
- {
419
- type: "durable_object_namespace",
420
- name: namespace,
421
- className: namespace,
422
- // scriptName:
423
- // binding.scriptName === props.workerName
424
- // ? undefined
425
- // : binding.scriptName,
426
- // environment: binding.environment,
427
- // namespaceId: binding.namespaceId,
428
- },
429
- ],
430
- });
431
- const binding = yield* Effect.all([
432
- WorkerEnvironment,
433
- ALCHEMY_PHASE,
434
- ]).pipe(Effect.flatMap(([env, phase]) => {
435
- if (env === undefined || phase === "plan") {
436
- // should be fine to return undefined here (it is only undefined at plantime)
437
- return Effect.succeed(undefined);
438
- }
439
- const ns = env[namespace];
440
- if (!ns) {
441
- return Effect.die(new Error(`DurableObjectNamespace '${namespace}' not found`));
442
- }
443
- else if (typeof ns.getByName === "function") {
444
- return Effect.succeed(ns);
445
- }
446
- else {
447
- return Effect.die(new Error(`DurableObjectNamespace '${namespace}' is not a DurableObjectNamespace`));
448
- }
449
- }));
450
- const namespaceId = worker.durableObjectNamespaces.pipe(Output.map((durableObjectNamespaces) => durableObjectNamespaces?.[namespace]));
451
- const self = {
452
- Type: TypeId,
453
- LogicalId: namespace,
454
- name: namespace,
455
- namespaceId,
456
- getByName: (name) => makeRpcStub(binding.getByName(name)),
457
- // newUniqueId: () => use((ns) => ns.newUniqueId()),
458
- // idFromName: (name: string) => use((ns) => ns.idFromName(name)),
459
- // idFromString: (id: string) => use((ns) => ns.idFromString(id)),
460
- // get: (
461
- // id: cf.DurableObjectId,
462
- // options?: cf.DurableObjectNamespaceGetDurableObjectOptions,
463
- // ) => use((ns) => makeRpcStub(ns.get(id, options))),
464
- // jurisdiction: (jurisdiction: cf.DurableObjectJurisdiction) =>
465
- // use((ns) => ns.jurisdiction(jurisdiction) as any),
638
+ name: namespace,
639
+ className: args[1]?.className || namespace,
640
+ scriptName: args[1]?.scriptName,
641
+ };
642
+ }
643
+ else if (Effect.isEffect(propsOrImpl)) {
644
+ // inline Effect DO
645
+ return effectClass(Effect.tap(binding(), () => make(propsOrImpl)));
646
+ }
647
+ else {
648
+ // Tagged Effect DO. Yielding the class resolves the `tag`, which
649
+ // forces the `CounterLive` Layer (built by `Counter.make(impl)`) to
650
+ // run so `worker.export(namespace, …)` is invoked — without this,
651
+ // the class would never be registered with the Worker's exports
652
+ // map and the deployed bundle would have no DO class for
653
+ // Cloudflare to instantiate.
654
+ return class extends effectClass(tag) {
655
+ static make = (impl) => Layer.effect(tag, make(impl));
656
+ static from = (worker) => {
657
+ // Resolve `worker` to an Effect that yields the actual Worker
658
+ // instance (or a plain string scriptName).
659
+ //
660
+ // A class produced by `Cloudflare.Worker<T>()(...)` exposes
661
+ // `asEffect()` returning the Self tag — yielding that tag
662
+ // resolves to the live Worker instance whose `workerName`
663
+ // is a `PropExpr`, which is what we need so the engine can:
664
+ // 1) Track WorkerB → WorkerA as a binding-level upstream
665
+ // dependency (so WorkerA reconciles first).
666
+ // 2) Persist `scriptName` as a real value (not `undefined`)
667
+ // on the cross-script binding so the migration code in
668
+ // Worker.ts can detect it and skip emitting class
669
+ // migrations for the foreign class.
670
+ // Plain Effects and string literals are passed through as-is.
671
+ const resolved = typeof worker === "string"
672
+ ? Effect.succeed(worker)
673
+ : asEffect(worker);
674
+ return resolved.pipe(Effect.flatMap((w) => binding(typeof w === "string" ? w : w.workerName)));
466
675
  };
467
- yield* worker.export(namespace, {
468
- kind: "durableObject",
469
- // initialize the object's constructor (apply infra dependencies)
470
- constructor: yield* impl.pipe(Effect.provideService(DurableObjectNamespaceScope, self)),
471
- // grab the object's infra dependencies so we can apply them when calling the instance's methods
472
- services: yield* Effect.context(),
473
- });
474
- return self;
475
- }))));
676
+ };
677
+ }
678
+ });
476
679
  //# sourceMappingURL=DurableObjectNamespace.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DurableObjectNamespace.js","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/DurableObjectNamespace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DurableObjectNamespace.js","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/DurableObjectNamespace.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  import type * as cf from "@cloudflare/workers-types";
2
2
  import * as Effect from "effect/Effect";
3
- import type { Scope } from "effect/Scope";
4
- import * as HttpServerRequest from "effect/unstable/http/HttpServerRequest";
3
+ import * as Scope from "effect/Scope";
5
4
  import * as Http from "../../Http.ts";
6
5
  import { type WorkerServices } from "./Worker.ts";
7
6
  export type HttpEffect = Http.HttpEffect<WorkerServices>;
8
- export declare const makeRequestHandler: <Req = never>(handler: Http.HttpEffect<Req> | Effect.Effect<Http.HttpEffect<Req>>) => (event: any) => Effect.Effect<Response, never, Exclude<Req, Scope | HttpServerRequest.HttpServerRequest>> | undefined;
9
- export declare const makeRequestEffect: <Req = never>(webRequest: cf.Request, handler: Http.HttpEffect<Req> | Effect.Effect<Http.HttpEffect<Req>>) => Effect.Effect<Response, never, Exclude<Req, HttpServerRequest.HttpServerRequest | Scope>>;
7
+ export declare const makeRequestHandler: <Req = never>(handler: Http.HttpEffect<Req> | Effect.Effect<Http.HttpEffect<Req>>) => (event: any) => any;
8
+ export declare const makeRequestEffect: <Req = never>(webRequest: cf.Request, handler: Http.HttpEffect<Req> | Effect.Effect<Http.HttpEffect<Req>>) => any;
9
+ declare const scopeEjected: unique symbol;
10
+ export declare const isScopeEjected: (scope: Scope.Scope) => scope is Scope.Scope & Record<typeof scopeEjected, unknown>;
11
+ export {};
10
12
  //# sourceMappingURL=HttpServer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpServer.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/HttpServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,iBAAiB,MAAM,wCAAwC,CAAC;AAE5E,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAEjE,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AAEzD,eAAO,MAAM,kBAAkB,GAC5B,GAAG,GAAG,KAAK,EACV,SAAS,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,MAEpE,OAAO,GAAG,0GAGI,CAAC;AAElB,eAAO,MAAM,iBAAiB,GAAI,GAAG,GAAG,KAAK,EAC3C,YAAY,EAAE,CAAC,OAAO,EACtB,SAAS,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAClE,MAAM,CAAC,MAAM,CACd,QAAQ,EACR,KAAK,EACL,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC,iBAAiB,GAAG,KAAK,CAAC,CA2C1D,CAAC"}
1
+ {"version":3,"file":"HttpServer.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/HttpServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAItC,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAEjE,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AAEzD,eAAO,MAAM,kBAAkB,GAC5B,GAAG,GAAG,KAAK,EACV,SAAS,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,MAEpE,OAAO,GAAG,QAGI,CAAC;AAElB,eAAO,MAAM,iBAAiB,GAAI,GAAG,GAAG,KAAK,EAC3C,YAAY,EAAE,CAAC,OAAO,EACtB,SAAS,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAyB7D,GACP,CAAC;AAwBF,QAAA,MAAM,YAAY,eAAoD,CAAC;AAEvE,eAAO,MAAM,cAAc,GAAI,OAAO,KAAK,CAAC,KAAK,gEAA0B,CAAC"}
@@ -1,7 +1,9 @@
1
- import * as Cause from "effect/Cause";
1
+ import * as Deferred from "effect/Deferred";
2
2
  import * as Effect from "effect/Effect";
3
3
  import * as Layer from "effect/Layer";
4
4
  import * as Option from "effect/Option";
5
+ import * as Scope from "effect/Scope";
6
+ import * as EffectHttp from "effect/unstable/http/HttpEffect";
5
7
  import * as HttpServerRequest from "effect/unstable/http/HttpServerRequest";
6
8
  import * as HttpServerResponse from "effect/unstable/http/HttpServerResponse";
7
9
  import * as Http from "../../Http.js";
@@ -21,22 +23,25 @@ export const makeRequestEffect = (webRequest, handler) => {
21
23
  raw: webRequest.body,
22
24
  }),
23
25
  });
24
- const response = yield* safeHandler.pipe(Effect.provide([
26
+ return yield* toHandledWebResponse(safeHandler).pipe(Effect.provide([
25
27
  Layer.succeed(HttpServerRequest.HttpServerRequest, request),
26
28
  Layer.succeed(Request, webRequest),
27
- ]), Effect.catchCause((cause) => {
28
- const message = Option.match(Cause.findErrorOption(cause), {
29
- onNone: () => "Internal Server Error",
30
- onSome: (error) => error instanceof Error && error.message
31
- ? error.message
32
- : "Internal Server Error",
33
- });
34
- return Effect.succeed(HttpServerResponse.text(message, {
35
- status: 500,
36
- statusText: message,
37
- }));
38
- }));
39
- return HttpServerResponse.toWeb(response);
29
+ ]));
40
30
  });
41
31
  };
32
+ const toHandledWebResponse = (handler) => Effect.gen(function* () {
33
+ // `toHandled` exposes the final response through this callback, not its
34
+ // return value. Keep the assignment isolated here so callers get Response.
35
+ const context = yield* Effect.context();
36
+ const webResponse = yield* Deferred.make();
37
+ yield* EffectHttp.toHandled(handler, (request, response) => Deferred.succeed(webResponse,
38
+ // Conversion to web response with options matches `EffectHttp.toWebHandler`'s callback.
39
+ HttpServerResponse.toWeb(EffectHttp.scopeTransferToStream(response), {
40
+ withoutBody: request.method === "HEAD",
41
+ context,
42
+ })));
43
+ return yield* Deferred.await(webResponse);
44
+ });
45
+ const scopeEjected = Symbol.for("effect/http/HttpEffect/scopeEjected");
46
+ export const isScopeEjected = (scope) => scopeEjected in scope;
42
47
  //# sourceMappingURL=HttpServer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpServer.js","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/HttpServer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,iBAAiB,MAAM,wCAAwC,CAAC;AAC5E,OAAO,KAAK,kBAAkB,MAAM,yCAAyC,CAAC;AAC9E,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,aAAa,EAAuB,MAAM,aAAa,CAAC;AAIjE,MAAM,CAAC,MAAM,kBAAkB,GAC7B,CACE,OAAmE,EACnE,EAAE,CACJ,CAAC,KAAU,EAAE,EAAE,CACb,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;IAC5C,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC;IACzC,CAAC,CAAC,SAAS,CAAC;AAElB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,UAAsB,EACtB,OAAmE,EAKnE,EAAE;IACF,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACjD,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzB,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CACvC,UAAuC,CACxC,CAAC,MAAM,CAAC;YACP,aAAa,EAAE,MAAM,CAAC,eAAe,CACnC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,SAAS,CACxD;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE;YACpC,GAAG,EAAE,GAAG,EAAE,CACR,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;gBAC5B,GAAG,EAAE,UAAU,CAAC,IAAI;aACrB,CAAC;SACL,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,CACtC,MAAM,CAAC,OAAO,CAAC;YACb,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,OAAO,CAAC;YAC3D,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,UAAiB,CAAC;SAC1C,CAAC,EACF,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;gBACzD,MAAM,EAAE,GAAG,EAAE,CAAC,uBAAuB;gBACrC,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE,CACrB,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO;oBACrC,CAAC,CAAC,KAAK,CAAC,OAAO;oBACf,CAAC,CAAC,uBAAuB;aAC9B,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,OAAO,CACnB,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE;gBAC/B,MAAM,EAAE,GAAG;gBACX,UAAU,EAAE,OAAO;aACpB,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QAEF,OAAO,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC,CAAQ,CAAC;AACZ,CAAC,CAAC"}
1
+ {"version":3,"file":"HttpServer.js","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/HttpServer.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,14 @@
1
1
  import type * as Effect from "effect/Effect";
2
+ import type { Redacted } from "effect/Redacted";
2
3
  import type * as Stream from "effect/Stream";
3
4
  import type { Rpc } from "../../Rpc.ts";
4
5
  import type * as Cloudflare from "../index.ts";
5
6
  import type { RpcErrorEnvelope, RpcStreamEnvelope } from "./Rpc.ts";
6
7
  import type { Worker } from "./Worker.ts";
7
- export type InferEnv<W> = W extends Effect.Effect<infer A, infer _E, infer _R> ? InferEnv<A> : W extends Worker<any> ? InferEnv<Exclude<W["Props"]["bindings"], undefined>> : {
8
+ export type InferEnv<W> = W extends Effect.Effect<infer A, infer _E, infer _R> ? InferEnv<A> : W extends Worker<any> ? InferEnv<Exclude<W["Props"]["env"], undefined>> : {
8
9
  [k in keyof W]: GetBindingType<W[k]>;
9
10
  };
10
- export type GetBindingType<T> = T extends Effect.Effect<infer A, infer _E, infer _R> ? GetBindingType<A> : T extends Cloudflare.Assets ? Service : T extends Rpc<infer Shape extends object> ? RpcWireShape<Shape> & Service : T extends Cloudflare.D1Database ? D1Database : T extends Cloudflare.R2Bucket ? R2Bucket : T extends Cloudflare.KVNamespace ? KVNamespace : T extends Cloudflare.Queue ? Queue<unknown> : T extends Cloudflare.AiGateway ? Ai : T extends Cloudflare.SendEmail ? SendEmail : T extends Cloudflare.AnalyticsEngineDataset ? AnalyticsEngineDataset : T extends Cloudflare.Artifacts ? Artifacts : T extends Cloudflare.Images ? ImagesBinding : T extends Cloudflare.Hyperdrive ? Hyperdrive : T extends Cloudflare.DurableObjectNamespaceLike ? DurableObjectNamespace<Exclude<T["Shape"], undefined>> : T;
11
+ export type GetBindingType<T> = T extends Effect.Effect<infer A, infer _E, infer _R> ? GetBindingType<A> : T extends Cloudflare.Assets ? Service : T extends Rpc<infer Shape extends object> ? RpcWireShape<Shape> & Service : T extends Cloudflare.D1Database ? D1Database : T extends Cloudflare.R2Bucket ? R2Bucket : T extends Cloudflare.KVNamespace ? KVNamespace : T extends Cloudflare.Queue ? Queue<unknown> : T extends Cloudflare.AiGateway ? Ai : T extends Cloudflare.SendEmail ? SendEmail : T extends Cloudflare.AnalyticsEngineDataset ? AnalyticsEngineDataset : T extends Cloudflare.Artifacts ? Artifacts : T extends Cloudflare.Images ? ImagesBinding : T extends Cloudflare.BrowserRendering ? Fetcher : T extends Cloudflare.Hyperdrive ? Hyperdrive : T extends Cloudflare.DurableObjectNamespaceLike ? DurableObjectNamespace<Exclude<T["Shape"], undefined>> : T extends Redacted<any> ? string : T;
11
12
  /**
12
13
  * Cloudflare service-binding wire shape for an Effect-native Worker.
13
14
  *
@@ -1 +1 @@
1
- {"version":3,"file":"InferEnv.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/InferEnv.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,KAAK,UAAU,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,MAAM,QAAQ,CAAC,CAAC,IACpB,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GAChD,QAAQ,CAAC,CAAC,CAAC,GACX,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,GACnB,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC,GACpD;KACG,CAAC,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACrC,CAAC;AAEV,MAAM,MAAM,cAAc,CAAC,CAAC,IAC1B,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GAChD,cAAc,CAAC,CAAC,CAAC,GACjB,CAAC,SAAS,UAAU,CAAC,MAAM,GACzB,OAAO,GACP,CAAC,SAAS,GAAG,CAAC,MAAM,KAAK,SAAS,MAAM,CAAC,GACvC,YAAY,CAAC,KAAK,CAAC,GAAG,OAAO,GAC7B,CAAC,SAAS,UAAU,CAAC,UAAU,GAC7B,UAAU,GACV,CAAC,SAAS,UAAU,CAAC,QAAQ,GAC3B,QAAQ,GACR,CAAC,SAAS,UAAU,CAAC,WAAW,GAC9B,WAAW,GACX,CAAC,SAAS,UAAU,CAAC,KAAK,GACxB,KAAK,CAAC,OAAO,CAAC,GACd,CAAC,SAAS,UAAU,CAAC,SAAS,GAC5B,EAAE,GACF,CAAC,SAAS,UAAU,CAAC,SAAS,GAC5B,SAAS,GACT,CAAC,SAAS,UAAU,CAAC,sBAAsB,GACzC,sBAAsB,GACtB,CAAC,SAAS,UAAU,CAAC,SAAS,GAC5B,SAAS,GACT,CAAC,SAAS,UAAU,CAAC,MAAM,GACzB,aAAa,GACb,CAAC,SAAS,UAAU,CAAC,UAAU,GAC7B,UAAU,GACV,CAAC,SAAS,UAAU,CAAC,0BAA0B,GAC7C,sBAAsB,CACpB,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAC/B,GACD,CAAC,CAAC;AAElC;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,YAAY,CAAC,KAAK,IAAI;KAC/B,CAAC,IAAI,MAAM,KAAK,IAAI,CAAC,SAAS,OAAO,GAAG,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CACpE,GAAG,IAAI,EAAE,MAAM,CAAC,KACb,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,GAAG,gBAAgB,CAAC,GAC7C,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GACjE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,GAC7D,KAAK,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAC/C,OAAO,CAAC,CAAC,GAAG,gBAAgB,CAAC,GAC7B,KAAK,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAC3C,OAAO,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,GAC7C,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC,GAC5C,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GACnC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAC9B,CAAC"}
1
+ {"version":3,"file":"InferEnv.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/InferEnv.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  import { Runtime, type RuntimeServices } from "@distilled.cloud/cloudflare-runtime";
2
- import { Assets, Hyperdrive } from "@distilled.cloud/cloudflare-runtime/bindings";
3
- import * as LocalProxy from "@distilled.cloud/cloudflare-runtime/proxy/LocalProxy";
2
+ import { AnalyticsEngine, Assets, DispatchNamespace, Hyperdrive, RateLimit, SendEmail, Workflows } from "@distilled.cloud/cloudflare-runtime/bindings";
3
+ import * as WorkerProxy from "@distilled.cloud/cloudflare-runtime/proxy/WorkerProxy";
4
4
  import * as Cause from "effect/Cause";
5
- import * as Layer from "effect/Layer";
6
5
  import * as Path from "effect/Path";
7
6
  import * as Schema from "effect/Schema";
8
7
  import * as Scope from "effect/Scope";
@@ -17,9 +16,7 @@ declare const WorkerValidationError_base: Schema.Class<WorkerValidationError, Sc
17
16
  }>, Cause.YieldableError>;
18
17
  export declare class WorkerValidationError extends WorkerValidationError_base {
19
18
  }
20
- export declare const localRuntimeServices: (options?: {
21
- port?: number;
22
- }) => Layer.Layer<import("@distilled.cloud/cloudflare-runtime/remote-bindings/RemoteBindings").RemoteBindings | Assets.Assets | import("@distilled.cloud/cloudflare-runtime/dev-registry/DevRegistryProxy").DevRegistryProxy | Hyperdrive.Hyperdrive | import("@distilled.cloud/cloudflare-runtime/globals/Loopback").Loopback | Runtime | LocalProxy.LocalProxy, import("effect/Config").ConfigError | import("effect/PlatformError").PlatformError | import("@distilled.cloud/cloudflare-runtime").ConfigError | import("@distilled.cloud/cloudflare-runtime").SystemError, import("effect/unstable/process/ChildProcessSpawner").ChildProcessSpawner | import("effect/FileSystem").FileSystem | Path.Path | import("effect/unstable/http/HttpClient").HttpClient | AlchemyContext | import("@distilled.cloud/cloudflare").Credentials | CloudflareEnvironment>;
23
- export declare const LocalWorkerProvider: () => Layer.Layer<import("../../Provider.ts").Provider<Worker<any>>, never, Scope.Scope | import("effect/FileSystem").FileSystem | Path.Path | AlchemyContext | Stack | CloudflareEnvironment | LocalProxy.LocalProxy | RuntimeServices>;
19
+ export declare const localRuntimeServices: () => import("effect/Layer").Layer<import("@distilled.cloud/cloudflare-runtime/remote-bindings/RemoteBindings").RemoteBindings | AnalyticsEngine.AnalyticsEngine | Assets.Assets | DispatchNamespace.DispatchNamespace | import("@distilled.cloud/cloudflare-runtime/dev-registry/DevRegistryProxy").DevRegistryProxy | Hyperdrive.Hyperdrive | RateLimit.RateLimit | SendEmail.SendEmail | Workflows.Workflows | Runtime | import("@distilled.cloud/cloudflare-runtime/globals/Loopback").Loopback | WorkerProxy.WorkerProxy, import("effect/Config").ConfigError | import("effect/PlatformError").PlatformError | import("@distilled.cloud/cloudflare-runtime").SystemError, import("effect/unstable/process/ChildProcessSpawner").ChildProcessSpawner | import("effect/FileSystem").FileSystem | Path.Path | import("effect/unstable/http/HttpClient").HttpClient | AlchemyContext | import("@distilled.cloud/cloudflare").Credentials | CloudflareEnvironment>;
20
+ export declare const LocalWorkerProvider: () => import("effect/Layer").Layer<import("../../Provider.ts").Provider<Worker<any>>, never, Scope.Scope | import("effect/FileSystem").FileSystem | Path.Path | AlchemyContext | import("../../Stage.ts").Stage | Stack | CloudflareEnvironment | WorkerProxy.WorkerProxy | RuntimeServices>;
24
21
  export {};
25
22
  //# sourceMappingURL=LocalWorkerProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LocalWorkerProvider.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/LocalWorkerProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,OAAO,EAQP,KAAK,eAAe,EACrB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAGL,MAAM,EAKN,UAAU,EAUX,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,UAAU,MAAM,sDAAsD,CAAC;AACnF,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAKtC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAGpC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAKzD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAIpE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;;;;;;AAMrC,qBAAa,qBAAsB,SAAQ,0BAO1C;CAAG;AAEJ,eAAO,MAAM,oBAAoB,GAAI,UAAS;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,g0BAkBjE,CAAC;AAEJ,eAAO,MAAM,mBAAmB,0OAoV7B,CAAC"}
1
+ {"version":3,"file":"LocalWorkerProvider.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/LocalWorkerProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EAQP,KAAK,eAAe,EACrB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAEL,eAAe,EAEf,MAAM,EAIN,iBAAiB,EAEjB,UAAU,EAOV,SAAS,EACT,SAAS,EAOT,SAAS,EACV,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,WAAW,MAAM,uDAAuD,CAAC;AACrF,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAMtC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAGpC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAKzD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAIpE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;;;;;;AAMrC,qBAAa,qBAAsB,SAAQ,0BAO1C;CAAG;AAEJ,eAAO,MAAM,oBAAoB,o6BAe9B,CAAC;AAEJ,eAAO,MAAM,mBAAmB,8RA6X7B,CAAC"}