alchemy 2.0.0-beta.46 → 2.0.0-beta.48

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 (295) hide show
  1. package/bin/exec.js +18 -10
  2. package/bin/exec.js.map +1 -1
  3. package/lib/AWS/Lambda/BucketEventSource.d.ts +1 -1
  4. package/lib/AWS/Lambda/BucketEventSource.d.ts.map +1 -1
  5. package/lib/AWS/Lambda/EventBridgeEventSource.d.ts +1 -1
  6. package/lib/AWS/Lambda/EventBridgeEventSource.d.ts.map +1 -1
  7. package/lib/AWS/Lambda/QueueEventSource.d.ts +1 -1
  8. package/lib/AWS/Lambda/QueueEventSource.d.ts.map +1 -1
  9. package/lib/AWS/Lambda/StreamEventSource.d.ts +1 -1
  10. package/lib/AWS/Lambda/StreamEventSource.d.ts.map +1 -1
  11. package/lib/AWS/Lambda/TableEventSource.d.ts +1 -1
  12. package/lib/AWS/Lambda/TableEventSource.d.ts.map +1 -1
  13. package/lib/AWS/Lambda/TopicEventSource.d.ts +1 -1
  14. package/lib/AWS/Lambda/TopicEventSource.d.ts.map +1 -1
  15. package/lib/Apply.js +2 -2
  16. package/lib/Apply.js.map +1 -1
  17. package/lib/Cli/commands/_shared.d.ts +7 -1
  18. package/lib/Cli/commands/_shared.d.ts.map +1 -1
  19. package/lib/Cli/commands/_shared.js +1 -0
  20. package/lib/Cli/commands/_shared.js.map +1 -1
  21. package/lib/Cli/commands/cloudflare.d.ts +4 -1
  22. package/lib/Cli/commands/cloudflare.d.ts.map +1 -1
  23. package/lib/Cli/commands/cloudflare.js +274 -1
  24. package/lib/Cli/commands/cloudflare.js.map +1 -1
  25. package/lib/Cli/commands/login.d.ts +1 -1
  26. package/lib/Cli/commands/login.d.ts.map +1 -1
  27. package/lib/Cli/commands/login.js +45 -42
  28. package/lib/Cli/commands/login.js.map +1 -1
  29. package/lib/Cli/commands/logs.js +1 -1
  30. package/lib/Cli/commands/logs.js.map +1 -1
  31. package/lib/Cli/commands/state.js +1 -1
  32. package/lib/Cli/commands/state.js.map +1 -1
  33. package/lib/Cli/commands/tail.js +1 -1
  34. package/lib/Cli/commands/tail.js.map +1 -1
  35. package/lib/Cloudflare/AiGateway/AiGateway.d.ts +112 -1
  36. package/lib/Cloudflare/AiGateway/AiGateway.d.ts.map +1 -1
  37. package/lib/Cloudflare/AiGateway/AiGateway.js +114 -2
  38. package/lib/Cloudflare/AiGateway/AiGateway.js.map +1 -1
  39. package/lib/Cloudflare/AiGateway/AiGatewayBinding.d.ts +43 -10
  40. package/lib/Cloudflare/AiGateway/AiGatewayBinding.d.ts.map +1 -1
  41. package/lib/Cloudflare/AiGateway/AiGatewayBinding.js +38 -10
  42. package/lib/Cloudflare/AiGateway/AiGatewayBinding.js.map +1 -1
  43. package/lib/Cloudflare/AiGateway/LanguageModel.d.ts +35 -0
  44. package/lib/Cloudflare/AiGateway/LanguageModel.d.ts.map +1 -0
  45. package/lib/Cloudflare/AiGateway/LanguageModel.js +576 -0
  46. package/lib/Cloudflare/AiGateway/LanguageModel.js.map +1 -0
  47. package/lib/Cloudflare/AiGateway/index.d.ts +1 -0
  48. package/lib/Cloudflare/AiGateway/index.d.ts.map +1 -1
  49. package/lib/Cloudflare/AiGateway/index.js +1 -0
  50. package/lib/Cloudflare/AiGateway/index.js.map +1 -1
  51. package/lib/Cloudflare/ApiToken/AccountApiToken.d.ts +40 -2
  52. package/lib/Cloudflare/ApiToken/AccountApiToken.d.ts.map +1 -1
  53. package/lib/Cloudflare/ApiToken/AccountApiToken.js +49 -6
  54. package/lib/Cloudflare/ApiToken/AccountApiToken.js.map +1 -1
  55. package/lib/Cloudflare/ApiToken/Common.d.ts +26 -3
  56. package/lib/Cloudflare/ApiToken/Common.d.ts.map +1 -1
  57. package/lib/Cloudflare/ApiToken/Common.js +8 -0
  58. package/lib/Cloudflare/ApiToken/Common.js.map +1 -1
  59. package/lib/Cloudflare/ApiToken/UserApiToken.d.ts +38 -2
  60. package/lib/Cloudflare/ApiToken/UserApiToken.d.ts.map +1 -1
  61. package/lib/Cloudflare/ApiToken/UserApiToken.js +47 -6
  62. package/lib/Cloudflare/ApiToken/UserApiToken.js.map +1 -1
  63. package/lib/Cloudflare/Browser/Browser.d.ts +121 -0
  64. package/lib/Cloudflare/Browser/Browser.d.ts.map +1 -0
  65. package/lib/Cloudflare/{BrowserRendering/BrowserRendering.js → Browser/Browser.js} +19 -26
  66. package/lib/Cloudflare/Browser/Browser.js.map +1 -0
  67. package/lib/Cloudflare/Browser/BrowserBinding.d.ts +55 -0
  68. package/lib/Cloudflare/Browser/BrowserBinding.d.ts.map +1 -0
  69. package/lib/Cloudflare/{BrowserRendering/BrowserRenderingBinding.js → Browser/BrowserBinding.js} +11 -11
  70. package/lib/Cloudflare/Browser/BrowserBinding.js.map +1 -0
  71. package/lib/Cloudflare/Browser/index.d.ts +3 -0
  72. package/lib/Cloudflare/Browser/index.d.ts.map +1 -0
  73. package/lib/Cloudflare/Browser/index.js +3 -0
  74. package/lib/Cloudflare/Browser/index.js.map +1 -0
  75. package/lib/Cloudflare/Container/ContainerBinding.d.ts +2 -1
  76. package/lib/Cloudflare/Container/ContainerBinding.d.ts.map +1 -1
  77. package/lib/Cloudflare/D1/D1Database.d.ts.map +1 -1
  78. package/lib/Cloudflare/D1/D1Database.js +2 -1
  79. package/lib/Cloudflare/D1/D1Database.js.map +1 -1
  80. package/lib/Cloudflare/Email/EmailRouting.d.ts +1 -1
  81. package/lib/Cloudflare/Email/EmailRouting.d.ts.map +1 -1
  82. package/lib/Cloudflare/Email/EmailRouting.js +1 -1
  83. package/lib/Cloudflare/Email/EmailRouting.js.map +1 -1
  84. package/lib/Cloudflare/Email/EmailRule.d.ts +1 -1
  85. package/lib/Cloudflare/Email/EmailRule.d.ts.map +1 -1
  86. package/lib/Cloudflare/Email/EmailRule.js +1 -1
  87. package/lib/Cloudflare/Email/EmailRule.js.map +1 -1
  88. package/lib/Cloudflare/Images/Images.d.ts +32 -23
  89. package/lib/Cloudflare/Images/Images.d.ts.map +1 -1
  90. package/lib/Cloudflare/Images/Images.js +10 -13
  91. package/lib/Cloudflare/Images/Images.js.map +1 -1
  92. package/lib/Cloudflare/Providers.d.ts.map +1 -1
  93. package/lib/Cloudflare/Providers.js +10 -3
  94. package/lib/Cloudflare/Providers.js.map +1 -1
  95. package/lib/Cloudflare/R2/R2Bucket.d.ts +1 -1
  96. package/lib/Cloudflare/R2/R2Bucket.d.ts.map +1 -1
  97. package/lib/Cloudflare/R2/R2Bucket.js +13 -7
  98. package/lib/Cloudflare/R2/R2Bucket.js.map +1 -1
  99. package/lib/Cloudflare/RateLimit/RateLimit.d.ts +132 -0
  100. package/lib/Cloudflare/RateLimit/RateLimit.d.ts.map +1 -0
  101. package/lib/Cloudflare/RateLimit/RateLimit.js +80 -0
  102. package/lib/Cloudflare/RateLimit/RateLimit.js.map +1 -0
  103. package/lib/Cloudflare/RateLimit/RateLimitBinding.d.ts +30 -0
  104. package/lib/Cloudflare/RateLimit/RateLimitBinding.d.ts.map +1 -0
  105. package/lib/Cloudflare/RateLimit/RateLimitBinding.js +50 -0
  106. package/lib/Cloudflare/RateLimit/RateLimitBinding.js.map +1 -0
  107. package/lib/Cloudflare/RateLimit/index.d.ts +3 -0
  108. package/lib/Cloudflare/RateLimit/index.d.ts.map +1 -0
  109. package/lib/Cloudflare/RateLimit/index.js +3 -0
  110. package/lib/Cloudflare/RateLimit/index.js.map +1 -0
  111. package/lib/Cloudflare/SecretsStore/Secret.d.ts +2 -1
  112. package/lib/Cloudflare/SecretsStore/Secret.d.ts.map +1 -1
  113. package/lib/Cloudflare/SecretsStore/Secret.js +7 -4
  114. package/lib/Cloudflare/SecretsStore/Secret.js.map +1 -1
  115. package/lib/Cloudflare/StateStore/State.d.ts.map +1 -1
  116. package/lib/Cloudflare/StateStore/State.js +82 -78
  117. package/lib/Cloudflare/StateStore/State.js.map +1 -1
  118. package/lib/Cloudflare/Tunnel/Tunnel.d.ts +27 -0
  119. package/lib/Cloudflare/Tunnel/Tunnel.d.ts.map +1 -1
  120. package/lib/Cloudflare/Tunnel/Tunnel.js +27 -0
  121. package/lib/Cloudflare/Tunnel/Tunnel.js.map +1 -1
  122. package/lib/Cloudflare/Tunnel/TunnelBinding.d.ts +48 -0
  123. package/lib/Cloudflare/Tunnel/TunnelBinding.d.ts.map +1 -0
  124. package/lib/Cloudflare/Tunnel/TunnelBinding.js +56 -0
  125. package/lib/Cloudflare/Tunnel/TunnelBinding.js.map +1 -0
  126. package/lib/Cloudflare/Tunnel/TunnelRead.d.ts +83 -0
  127. package/lib/Cloudflare/Tunnel/TunnelRead.d.ts.map +1 -0
  128. package/lib/Cloudflare/Tunnel/TunnelRead.js +79 -0
  129. package/lib/Cloudflare/Tunnel/TunnelRead.js.map +1 -0
  130. package/lib/Cloudflare/Tunnel/TunnelReadWrite.d.ts +70 -0
  131. package/lib/Cloudflare/Tunnel/TunnelReadWrite.d.ts.map +1 -0
  132. package/lib/Cloudflare/Tunnel/TunnelReadWrite.js +63 -0
  133. package/lib/Cloudflare/Tunnel/TunnelReadWrite.js.map +1 -0
  134. package/lib/Cloudflare/Tunnel/TunnelWrite.d.ts +92 -0
  135. package/lib/Cloudflare/Tunnel/TunnelWrite.d.ts.map +1 -0
  136. package/lib/Cloudflare/Tunnel/TunnelWrite.js +88 -0
  137. package/lib/Cloudflare/Tunnel/TunnelWrite.js.map +1 -0
  138. package/lib/Cloudflare/Tunnel/index.d.ts +4 -0
  139. package/lib/Cloudflare/Tunnel/index.d.ts.map +1 -1
  140. package/lib/Cloudflare/Tunnel/index.js +4 -0
  141. package/lib/Cloudflare/Tunnel/index.js.map +1 -1
  142. package/lib/Cloudflare/Vectorize/VectorizeIndex.js +1 -0
  143. package/lib/Cloudflare/Vectorize/VectorizeIndex.js.map +1 -1
  144. package/lib/Cloudflare/VpcService/VpcService.d.ts +1 -1
  145. package/lib/Cloudflare/VpcService/VpcService.d.ts.map +1 -1
  146. package/lib/Cloudflare/VpcService/VpcService.js.map +1 -1
  147. package/lib/Cloudflare/Workers/DurableObjectBridge.d.ts.map +1 -1
  148. package/lib/Cloudflare/Workers/DurableObjectBridge.js +10 -1
  149. package/lib/Cloudflare/Workers/DurableObjectBridge.js.map +1 -1
  150. package/lib/Cloudflare/Workers/DynamicWorkerLoader.d.ts +119 -11
  151. package/lib/Cloudflare/Workers/DynamicWorkerLoader.d.ts.map +1 -1
  152. package/lib/Cloudflare/Workers/DynamicWorkerLoader.js +88 -9
  153. package/lib/Cloudflare/Workers/DynamicWorkerLoader.js.map +1 -1
  154. package/lib/Cloudflare/Workers/InferEnv.d.ts +1 -1
  155. package/lib/Cloudflare/Workers/InferEnv.d.ts.map +1 -1
  156. package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -1
  157. package/lib/Cloudflare/Workers/LocalWorkerProvider.js +15 -1
  158. package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
  159. package/lib/Cloudflare/Workers/Rpc.d.ts.map +1 -1
  160. package/lib/Cloudflare/Workers/Rpc.js +20 -2
  161. package/lib/Cloudflare/Workers/Rpc.js.map +1 -1
  162. package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts.map +1 -1
  163. package/lib/Cloudflare/Workers/WorkerAsyncBindings.js +18 -2
  164. package/lib/Cloudflare/Workers/WorkerAsyncBindings.js.map +1 -1
  165. package/lib/Cloudflare/Workers/WorkerBinding.d.ts +5 -3
  166. package/lib/Cloudflare/Workers/WorkerBinding.d.ts.map +1 -1
  167. package/lib/Cloudflare/Workers/WorkerBinding.js +1 -1
  168. package/lib/Cloudflare/Workers/WorkerBinding.js.map +1 -1
  169. package/lib/Cloudflare/Workers/WorkerBridge.d.ts.map +1 -1
  170. package/lib/Cloudflare/Workers/WorkerBridge.js +20 -2
  171. package/lib/Cloudflare/Workers/WorkerBridge.js.map +1 -1
  172. package/lib/Cloudflare/Zaraz/ZarazConfig.d.ts +1 -1
  173. package/lib/Cloudflare/Zaraz/ZarazConfig.d.ts.map +1 -1
  174. package/lib/Cloudflare/Zaraz/ZarazConfig.js +1 -1
  175. package/lib/Cloudflare/Zaraz/ZarazConfig.js.map +1 -1
  176. package/lib/Cloudflare/Zone/Zone.d.ts +170 -0
  177. package/lib/Cloudflare/Zone/Zone.d.ts.map +1 -0
  178. package/lib/Cloudflare/Zone/Zone.js +180 -0
  179. package/lib/Cloudflare/Zone/Zone.js.map +1 -0
  180. package/lib/Cloudflare/Zone/index.d.ts +3 -0
  181. package/lib/Cloudflare/Zone/index.d.ts.map +1 -0
  182. package/lib/Cloudflare/Zone/index.js +3 -0
  183. package/lib/Cloudflare/Zone/index.js.map +1 -0
  184. package/lib/Cloudflare/Zone/lookup.d.ts +33 -0
  185. package/lib/Cloudflare/Zone/lookup.d.ts.map +1 -0
  186. package/lib/Cloudflare/{Zone.js → Zone/lookup.js} +2 -2
  187. package/lib/Cloudflare/Zone/lookup.js.map +1 -0
  188. package/lib/Cloudflare/index.d.ts +3 -1
  189. package/lib/Cloudflare/index.d.ts.map +1 -1
  190. package/lib/Cloudflare/index.js +3 -1
  191. package/lib/Cloudflare/index.js.map +1 -1
  192. package/lib/Output.js +2 -2
  193. package/lib/Output.js.map +1 -1
  194. package/lib/Plan.d.ts +2 -2
  195. package/lib/Plan.d.ts.map +1 -1
  196. package/lib/Plan.js +3 -3
  197. package/lib/Plan.js.map +1 -1
  198. package/lib/Platform.d.ts +5 -5
  199. package/lib/Platform.d.ts.map +1 -1
  200. package/lib/Platform.js.map +1 -1
  201. package/lib/RemovalPolicy.js +2 -2
  202. package/lib/RemovalPolicy.js.map +1 -1
  203. package/lib/Resource.d.ts +14 -1
  204. package/lib/Resource.d.ts.map +1 -1
  205. package/lib/Resource.js +3 -2
  206. package/lib/Resource.js.map +1 -1
  207. package/lib/Stack.d.ts.map +1 -1
  208. package/lib/Stack.js +6 -0
  209. package/lib/Stack.js.map +1 -1
  210. package/lib/State/InMemoryState.d.ts +2 -1
  211. package/lib/State/InMemoryState.d.ts.map +1 -1
  212. package/lib/State/InMemoryState.js +3 -3
  213. package/lib/State/InMemoryState.js.map +1 -1
  214. package/lib/State/LocalState.d.ts.map +1 -1
  215. package/lib/State/LocalState.js +5 -1
  216. package/lib/State/LocalState.js.map +1 -1
  217. package/lib/State/State.d.ts +2 -2
  218. package/lib/State/State.d.ts.map +1 -1
  219. package/lib/State/State.js.map +1 -1
  220. package/lib/tsconfig.test.tsbuildinfo +1 -1
  221. package/package.json +7 -7
  222. package/src/Apply.ts +2 -2
  223. package/src/Cli/commands/_shared.ts +7 -1
  224. package/src/Cli/commands/cloudflare.ts +394 -1
  225. package/src/Cli/commands/login.ts +69 -60
  226. package/src/Cli/commands/logs.ts +1 -1
  227. package/src/Cli/commands/state.ts +1 -1
  228. package/src/Cli/commands/tail.ts +1 -1
  229. package/src/Cloudflare/AiGateway/AiGateway.ts +114 -2
  230. package/src/Cloudflare/AiGateway/AiGatewayBinding.ts +52 -10
  231. package/src/Cloudflare/AiGateway/LanguageModel.ts +907 -0
  232. package/src/Cloudflare/AiGateway/index.ts +1 -0
  233. package/src/Cloudflare/ApiToken/AccountApiToken.ts +60 -7
  234. package/src/Cloudflare/ApiToken/Common.ts +32 -3
  235. package/src/Cloudflare/ApiToken/UserApiToken.ts +58 -7
  236. package/src/Cloudflare/Browser/Browser.ts +140 -0
  237. package/src/Cloudflare/Browser/BrowserBinding.ts +128 -0
  238. package/src/Cloudflare/Browser/index.ts +11 -0
  239. package/src/Cloudflare/D1/D1Database.ts +6 -2
  240. package/src/Cloudflare/Email/EmailRouting.ts +1 -1
  241. package/src/Cloudflare/Email/EmailRule.ts +6 -6
  242. package/src/Cloudflare/Images/Images.ts +40 -27
  243. package/src/Cloudflare/Providers.ts +15 -3
  244. package/src/Cloudflare/R2/R2Bucket.ts +17 -9
  245. package/src/Cloudflare/RateLimit/RateLimit.ts +160 -0
  246. package/src/Cloudflare/RateLimit/RateLimitBinding.ts +90 -0
  247. package/src/Cloudflare/RateLimit/index.ts +2 -0
  248. package/src/Cloudflare/SecretsStore/Secret.ts +12 -6
  249. package/src/Cloudflare/StateStore/State.ts +113 -107
  250. package/src/Cloudflare/Tunnel/Tunnel.ts +27 -0
  251. package/src/Cloudflare/Tunnel/TunnelBinding.ts +114 -0
  252. package/src/Cloudflare/Tunnel/TunnelRead.ts +168 -0
  253. package/src/Cloudflare/Tunnel/TunnelReadWrite.ts +88 -0
  254. package/src/Cloudflare/Tunnel/TunnelWrite.ts +194 -0
  255. package/src/Cloudflare/Tunnel/index.ts +4 -0
  256. package/src/Cloudflare/Vectorize/VectorizeIndex.ts +2 -1
  257. package/src/Cloudflare/VpcService/VpcService.ts +4 -2
  258. package/src/Cloudflare/Workers/DurableObjectBridge.ts +10 -1
  259. package/src/Cloudflare/Workers/DynamicWorkerLoader.ts +139 -13
  260. package/src/Cloudflare/Workers/InferEnv.ts +19 -15
  261. package/src/Cloudflare/Workers/LocalWorkerProvider.ts +26 -3
  262. package/src/Cloudflare/Workers/Rpc.ts +38 -9
  263. package/src/Cloudflare/Workers/WorkerAsyncBindings.ts +16 -2
  264. package/src/Cloudflare/Workers/WorkerBinding.ts +6 -2
  265. package/src/Cloudflare/Workers/WorkerBridge.ts +20 -2
  266. package/src/Cloudflare/Zaraz/ZarazConfig.ts +1 -1
  267. package/src/Cloudflare/Zone/Zone.ts +349 -0
  268. package/src/Cloudflare/Zone/index.ts +2 -0
  269. package/src/Cloudflare/{Zone.ts → Zone/lookup.ts} +16 -3
  270. package/src/Cloudflare/index.ts +3 -1
  271. package/src/Output.ts +2 -2
  272. package/src/Plan.ts +4 -4
  273. package/src/Platform.ts +8 -12
  274. package/src/RemovalPolicy.ts +2 -2
  275. package/src/Resource.ts +18 -1
  276. package/src/Stack.ts +6 -0
  277. package/src/State/InMemoryState.ts +87 -85
  278. package/src/State/LocalState.ts +15 -1
  279. package/src/State/State.ts +5 -4
  280. package/lib/Cloudflare/BrowserRendering/BrowserRendering.d.ts +0 -116
  281. package/lib/Cloudflare/BrowserRendering/BrowserRendering.d.ts.map +0 -1
  282. package/lib/Cloudflare/BrowserRendering/BrowserRendering.js.map +0 -1
  283. package/lib/Cloudflare/BrowserRendering/BrowserRenderingBinding.d.ts +0 -55
  284. package/lib/Cloudflare/BrowserRendering/BrowserRenderingBinding.d.ts.map +0 -1
  285. package/lib/Cloudflare/BrowserRendering/BrowserRenderingBinding.js.map +0 -1
  286. package/lib/Cloudflare/BrowserRendering/index.d.ts +0 -3
  287. package/lib/Cloudflare/BrowserRendering/index.d.ts.map +0 -1
  288. package/lib/Cloudflare/BrowserRendering/index.js +0 -3
  289. package/lib/Cloudflare/BrowserRendering/index.js.map +0 -1
  290. package/lib/Cloudflare/Zone.d.ts +0 -14
  291. package/lib/Cloudflare/Zone.d.ts.map +0 -1
  292. package/lib/Cloudflare/Zone.js.map +0 -1
  293. package/src/Cloudflare/BrowserRendering/BrowserRendering.ts +0 -132
  294. package/src/Cloudflare/BrowserRendering/BrowserRenderingBinding.ts +0 -137
  295. package/src/Cloudflare/BrowserRendering/index.ts +0 -11
package/src/Resource.ts CHANGED
@@ -135,6 +135,20 @@ export type Resource<
135
135
  [attr in keyof Attributes]-?: Output.Output<Attributes[attr], never>;
136
136
  };
137
137
 
138
+ export interface ResourceOptions {
139
+ /**
140
+ * Default removal policy for this resource type when the caller has not
141
+ * explicitly provided one via `RemovalPolicy` / `destroy()` / `retain()`.
142
+ *
143
+ * Useful for resources that wrap unrecoverable real-world identifiers
144
+ * (DNS zones, customer accounts, etc.) where the safe default is to
145
+ * leave the cloud object alone on stack destroy.
146
+ *
147
+ * @default "destroy"
148
+ */
149
+ defaultRemovalPolicy?: RemovalPolicy["Service"];
150
+ }
151
+
138
152
  /**
139
153
  * Creates a resource constructor for a concrete resource type.
140
154
  *
@@ -145,7 +159,9 @@ export type Resource<
145
159
  */
146
160
  export function Resource<R extends ResourceLike>(
147
161
  type: R["Type"],
162
+ options?: ResourceOptions,
148
163
  ): ResourceClass<R> {
164
+ const defaultRemovalPolicy = options?.defaultRemovalPolicy ?? "destroy";
149
165
  type Props = Input<R["Props"]>;
150
166
  const self = Self<R>(type);
151
167
  const constructor = (
@@ -228,7 +244,7 @@ export function Resource<R extends ResourceLike>(
228
244
  Props: props,
229
245
  Provider: ProviderTag as Provider<any>,
230
246
  RemovalPolicy: yield* Effect.serviceOption(RemovalPolicy).pipe(
231
- Effect.map(Option.getOrElse(() => "destroy" as const)),
247
+ Effect.map(Option.getOrElse(() => defaultRemovalPolicy)),
232
248
  ),
233
249
  bind,
234
250
  toString(this: typeof target) {
@@ -285,6 +301,7 @@ export function Resource<R extends ResourceLike>(
285
301
  options?: { stage?: string; stack?: string },
286
302
  ): Effect.Effect<R> =>
287
303
  Effect.succeed(Output.of(makeRef<R>(id, options)) as unknown as R),
304
+
288
305
  Type: type,
289
306
  Provider: ProviderTag,
290
307
  Self: self,
package/src/Stack.ts CHANGED
@@ -125,7 +125,10 @@ export const Stack: Context.ServiceClass<
125
125
  // by default, reference the stack at the "current" stage of the importer
126
126
  Output.stackRef<A>(stackName).pipe(effectClass),
127
127
  {
128
+ stackName,
128
129
  stage: createStageProxy(stackName),
130
+ state: options?.state,
131
+ providers: options?.providers,
129
132
  make: <Req = never>(
130
133
  options: StackProps<NoInfer<Req>>,
131
134
  eff: Effect.Effect<A, never, Req>,
@@ -140,7 +143,10 @@ export const Stack: Context.ServiceClass<
140
143
  }),
141
144
  (eff) =>
142
145
  Object.assign(eff, {
146
+ stackName,
143
147
  stage: createStageProxy(stackName),
148
+ state: options?.state,
149
+ providers: options?.providers,
144
150
  }),
145
151
  );
146
152
  },
@@ -18,8 +18,8 @@ export const inMemoryState = (
18
18
  ) =>
19
19
  Layer.effect(
20
20
  State,
21
- Effect.succeed(InMemoryService(initialState, initialOutputs)).pipe(
22
- recordStateStoreInit,
21
+ Effect.cached(
22
+ InMemoryService(initialState, initialOutputs).pipe(recordStateStoreInit),
23
23
  ),
24
24
  );
25
25
 
@@ -27,87 +27,89 @@ export const InMemoryService = (
27
27
  state: Record<StackId, Record<StageId, Record<Fqn, ResourceState>>> = {},
28
28
  outputs: Record<StackId, Record<StageId, unknown>> = {},
29
29
  ) =>
30
- State.of({
31
- id: "inmemory",
32
- getVersion: () => Effect.succeed(STATE_STORE_VERSION),
33
- listStacks: () => Effect.succeed(Array.from(Object.keys(state))),
34
- listStages: (stack: string) =>
35
- Effect.succeed(
36
- Array.from(stack in state ? Object.keys(state[stack]) : []),
37
- ),
38
- get: ({
39
- stack,
40
- stage,
41
- fqn,
42
- }: {
43
- stack: string;
44
- stage: string;
45
- fqn: string;
46
- }) => Effect.succeed(state[stack]?.[stage]?.[fqn]),
47
- getReplacedResources: ({
48
- stack,
49
- stage,
50
- }: {
51
- stack: string;
52
- stage: string;
53
- }) =>
54
- Effect.succeed(
55
- Array.from(Object.values(state[stack]?.[stage] ?? {}) ?? []).filter(
56
- (s) => s.status === "replaced",
30
+ State.of(
31
+ Effect.succeed({
32
+ id: "inmemory",
33
+ getVersion: () => Effect.succeed(STATE_STORE_VERSION),
34
+ listStacks: () => Effect.succeed(Array.from(Object.keys(state))),
35
+ listStages: (stack: string) =>
36
+ Effect.succeed(
37
+ Array.from(stack in state ? Object.keys(state[stack]) : []),
57
38
  ),
58
- ),
59
- set: <V extends PersistedState>({
60
- stack,
61
- stage,
62
- fqn,
63
- value,
64
- }: {
65
- stack: string;
66
- stage: string;
67
- fqn: string;
68
- value: V;
69
- }) =>
70
- Effect.sync(() => {
71
- const stackState = (state[stack] ??= {});
72
- const stageState = (stackState[stage] ??= {});
73
- stageState[fqn] = value as ResourceState;
74
- return value;
75
- }),
76
- delete: ({
77
- stack,
78
- stage,
79
- fqn,
80
- }: {
81
- stack: string;
82
- stage: string;
83
- fqn: string;
84
- }) => Effect.sync(() => delete state[stack]?.[stage]?.[fqn]),
85
- deleteStack: ({ stack, stage }: { stack: string; stage?: string }) =>
86
- Effect.sync(() => {
87
- if (stage === undefined) {
88
- delete state[stack];
89
- } else {
90
- delete state[stack]?.[stage];
91
- }
92
- }),
93
- list: ({ stack, stage }: { stack: string; stage: string }) =>
94
- Effect.succeed(
95
- Array.from(Object.keys(state[stack]?.[stage] ?? {}) ?? []),
96
- ),
97
- getOutput: ({ stack, stage }: { stack: string; stage: string }) =>
98
- Effect.succeed(outputs[stack]?.[stage]),
99
- setOutput: ({
100
- stack,
101
- stage,
102
- value,
103
- }: {
104
- stack: string;
105
- stage: string;
106
- value: unknown;
107
- }) =>
108
- Effect.sync(() => {
109
- const stackOutputs = (outputs[stack] ??= {});
110
- stackOutputs[stage] = value;
111
- return value;
112
- }),
113
- });
39
+ get: ({
40
+ stack,
41
+ stage,
42
+ fqn,
43
+ }: {
44
+ stack: string;
45
+ stage: string;
46
+ fqn: string;
47
+ }) => Effect.succeed(state[stack]?.[stage]?.[fqn]),
48
+ getReplacedResources: ({
49
+ stack,
50
+ stage,
51
+ }: {
52
+ stack: string;
53
+ stage: string;
54
+ }) =>
55
+ Effect.succeed(
56
+ Array.from(Object.values(state[stack]?.[stage] ?? {}) ?? []).filter(
57
+ (s) => s.status === "replaced",
58
+ ),
59
+ ),
60
+ set: <V extends PersistedState>({
61
+ stack,
62
+ stage,
63
+ fqn,
64
+ value,
65
+ }: {
66
+ stack: string;
67
+ stage: string;
68
+ fqn: string;
69
+ value: V;
70
+ }) =>
71
+ Effect.sync(() => {
72
+ const stackState = (state[stack] ??= {});
73
+ const stageState = (stackState[stage] ??= {});
74
+ stageState[fqn] = value as ResourceState;
75
+ return value;
76
+ }),
77
+ delete: ({
78
+ stack,
79
+ stage,
80
+ fqn,
81
+ }: {
82
+ stack: string;
83
+ stage: string;
84
+ fqn: string;
85
+ }) => Effect.sync(() => delete state[stack]?.[stage]?.[fqn]),
86
+ deleteStack: ({ stack, stage }: { stack: string; stage?: string }) =>
87
+ Effect.sync(() => {
88
+ if (stage === undefined) {
89
+ delete state[stack];
90
+ } else {
91
+ delete state[stack]?.[stage];
92
+ }
93
+ }),
94
+ list: ({ stack, stage }: { stack: string; stage: string }) =>
95
+ Effect.succeed(
96
+ Array.from(Object.keys(state[stack]?.[stage] ?? {}) ?? []),
97
+ ),
98
+ getOutput: ({ stack, stage }: { stack: string; stage: string }) =>
99
+ Effect.succeed(outputs[stack]?.[stage]),
100
+ setOutput: ({
101
+ stack,
102
+ stage,
103
+ value,
104
+ }: {
105
+ stack: string;
106
+ stage: string;
107
+ value: unknown;
108
+ }) =>
109
+ Effect.sync(() => {
110
+ const stackOutputs = (outputs[stack] ??= {});
111
+ stackOutputs[stage] = value;
112
+ return value;
113
+ }),
114
+ }),
115
+ );
@@ -10,7 +10,21 @@ import { State, StateStoreError, type StateService } from "./State.ts";
10
10
  import { encodeState, reviveState } from "./StateEncoding.ts";
11
11
 
12
12
  export const localState = () =>
13
- Layer.effect(State, makeLocalState().pipe(recordStateStoreInit));
13
+ Layer.effect(
14
+ State,
15
+ Effect.gen(function* () {
16
+ const context = yield* Effect.context<
17
+ FileSystem.FileSystem | Path.Path
18
+ >();
19
+
20
+ const make = makeLocalState().pipe(
21
+ recordStateStoreInit,
22
+ Effect.provideContext(context),
23
+ );
24
+
25
+ return yield* Effect.cached(make);
26
+ }),
27
+ );
14
28
 
15
29
  export const makeLocalState = () =>
16
30
  Effect.gen(function* () {
@@ -1,8 +1,8 @@
1
1
  import * as Context from "effect/Context";
2
2
  import * as Data from "effect/Data";
3
3
  import * as Effect from "effect/Effect";
4
- import type { ReplacedResourceState, ResourceState } from "./ResourceState.ts";
5
4
  import type { ActionState } from "./ActionState.ts";
5
+ import type { ReplacedResourceState, ResourceState } from "./ResourceState.ts";
6
6
 
7
7
  /**
8
8
  * Anything persistable under an FQN. Resources are discriminated by status
@@ -23,9 +23,10 @@ export class StateStoreError extends Data.TaggedError("StateStoreError")<{
23
23
  cause?: Error;
24
24
  }> {}
25
25
 
26
- export class State extends Context.Service<State, StateService>()(
27
- "alchemy/State",
28
- ) {}
26
+ export class State extends Context.Service<
27
+ State,
28
+ Effect.Effect<StateService>
29
+ >()("alchemy/State") {}
29
30
 
30
31
  /**
31
32
  * State service interface.
@@ -1,116 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import { BrowserRenderingBinding } from "./BrowserRenderingBinding.ts";
3
- type BrowserRenderingTypeId = typeof BrowserRenderingTypeId;
4
- declare const BrowserRenderingTypeId: "Cloudflare.BrowserRendering";
5
- export type BrowserRenderingProps = {
6
- /**
7
- * Binding name used when `Cloudflare.BrowserRendering.bind(browser)` attaches
8
- * Browser Rendering from inside a Worker init phase. When Browser Rendering
9
- * is passed through `Worker({ bindings: { ... } })`, the object key remains
10
- * the binding name.
11
- *
12
- * @default "BROWSER"
13
- */
14
- name?: string;
15
- };
16
- /**
17
- * Marker for a Cloudflare Browser Rendering binding.
18
- *
19
- * Browser Rendering bindings are configured directly on Workers and do not
20
- * have a standalone provisioning API. The Worker provider sees this object in
21
- * `bindings: { ... }` and emits the corresponding `{ type: "browser" }`
22
- * metadata binding to the script.
23
- */
24
- export type BrowserRendering = {
25
- kind: BrowserRenderingTypeId;
26
- name: string;
27
- };
28
- export declare const isBrowserRendering: (value: unknown) => value is BrowserRendering;
29
- /**
30
- * A Cloudflare Browser Rendering binding for launching headless browser
31
- * sessions from Workers via `@cloudflare/puppeteer`.
32
- *
33
- * @binding
34
- *
35
- * @section Effect-style Worker (recommended)
36
- * @example Render a page title with managed browser cleanup
37
- * ```typescript
38
- * import puppeteer from "@cloudflare/puppeteer";
39
- * import * as Effect from "effect/Effect";
40
- *
41
- * const Browser = Cloudflare.BrowserRendering({ name: "BROWSER" });
42
- *
43
- * Cloudflare.Worker(
44
- * "BrowserWorker",
45
- * { main: import.meta.filename },
46
- * Effect.gen(function* () {
47
- * const browserRendering = yield* Cloudflare.BrowserRendering.bind(
48
- * yield* Browser,
49
- * );
50
- *
51
- * return {
52
- * fetch: browserRendering.withBrowser(puppeteer, (browser) =>
53
- * Effect.gen(function* () {
54
- * const page = yield* Effect.tryPromise(() => browser.newPage());
55
- * yield* Effect.tryPromise(() => page.goto("https://example.com"));
56
- * const title = yield* Effect.tryPromise(() => page.title());
57
- * return Response.json({ title });
58
- * }),
59
- * ),
60
- * };
61
- * }).pipe(Effect.provide(Cloudflare.BrowserRenderingBindingLive)),
62
- * );
63
- * ```
64
- *
65
- * @section Declaring Browser Rendering
66
- * @example
67
- * ```typescript
68
- * const Browser = yield* Cloudflare.BrowserRendering({ name: "BROWSER" });
69
- * ```
70
- *
71
- * @section Worker binding metadata
72
- * @example
73
- * ```typescript
74
- * export const Worker = Cloudflare.Worker("Worker", {
75
- * main: "./src/worker.ts",
76
- * bindings: {
77
- * BROWSER: Cloudflare.BrowserRendering(),
78
- * },
79
- * });
80
- *
81
- * export type WorkerEnv = Cloudflare.InferEnv<typeof Worker>;
82
- * // { BROWSER: Fetcher }
83
- * ```
84
- *
85
- * @example Async-style worker with the raw runtime binding
86
- * ```typescript
87
- * import puppeteer from "@cloudflare/puppeteer";
88
- * import type { WorkerEnv } from "../alchemy.run.ts";
89
- *
90
- * export default {
91
- * async fetch(request: Request, env: WorkerEnv) {
92
- * const browser = await puppeteer.launch(env.BROWSER);
93
- * const page = await browser.newPage();
94
- * await page.goto("https://example.com");
95
- * const screenshot = await page.screenshot();
96
- * await browser.close();
97
- *
98
- * return new Response(screenshot, {
99
- * headers: { "content-type": "image/png" },
100
- * });
101
- * },
102
- * };
103
- * ```
104
- *
105
- * @see https://developers.cloudflare.com/browser-rendering/workers-binding-api/
106
- */
107
- export declare const BrowserRendering: {
108
- (props?: BrowserRenderingProps): Effect.Effect<BrowserRendering>;
109
- /**
110
- * Bind Browser Rendering to the surrounding Worker, returning a small client
111
- * with access to the native Workers runtime binding.
112
- */
113
- bind: typeof BrowserRenderingBinding.bind;
114
- };
115
- export {};
116
- //# sourceMappingURL=BrowserRendering.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BrowserRendering.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/BrowserRendering/BrowserRendering.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,KAAK,sBAAsB,GAAG,OAAO,sBAAsB,CAAC;AAC5D,QAAA,MAAM,sBAAsB,EAAG,6BAAsC,CAAC;AAEtE,MAAM,MAAM,qBAAqB,GAAG;IAClC;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,sBAAsB,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,gBAEC,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6EG;AACH,eAAO,MAAM,gBAAgB,EAAE;IAC7B,CAAC,KAAK,CAAC,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACjE;;;OAGG;IACH,IAAI,EAAE,OAAO,uBAAuB,CAAC,IAAI,CAAC;CAY3C,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BrowserRendering.js","sourceRoot":"","sources":["../../../src/Cloudflare/BrowserRendering/BrowserRendering.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,MAAM,sBAAsB,GAAG,6BAAsC,CAAC;AA2BtE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAA6B,EAAE,CAC9E,OAAO,KAAK,KAAK,QAAQ;IACxB,KAA0B,EAAE,IAAI,KAAK,sBAAsB,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6EG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAOzB,MAAM,CAAC,MAAM,CACf,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,KAA6B;IAChD,OAAO;QACL,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,SAAS;KACJ,CAAC;AAC/B,CAAC,CAAC,EACF;IACE,IAAI,EAAE,CAAC,GAAG,IAAqD,EAAE,EAAE,CACjE,uBAAuB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACxC,CACF,CAAC"}
@@ -1,55 +0,0 @@
1
- import type * as cf from "@cloudflare/workers-types";
2
- import * as Effect from "effect/Effect";
3
- import * as Layer from "effect/Layer";
4
- import * as Binding from "../../Binding.ts";
5
- import { WorkerEnvironment } from "../Workers/Worker.ts";
6
- import type { BrowserRendering as BrowserRenderingLike } from "./BrowserRendering.ts";
7
- declare const BrowserRenderingError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
8
- readonly _tag: "BrowserRenderingError";
9
- } & Readonly<A>;
10
- export declare class BrowserRenderingError extends BrowserRenderingError_base<{
11
- message: string;
12
- cause: unknown;
13
- }> {
14
- }
15
- export interface BrowserRenderingBrowser {
16
- close(): Promise<void>;
17
- }
18
- export interface BrowserRenderingPuppeteer<Browser extends BrowserRenderingBrowser> {
19
- launch(binding: cf.Fetcher): Promise<Browser>;
20
- }
21
- /**
22
- * Effect-native client for a Cloudflare Browser Rendering binding.
23
- *
24
- * Browser Rendering's Workers binding is consumed by `@cloudflare/puppeteer`.
25
- * Alchemy keeps Puppeteer as a caller-provided dependency while wrapping
26
- * launch and cleanup in Effects.
27
- */
28
- export interface BrowserRenderingClient {
29
- /**
30
- * Effect resolving to the raw Cloudflare Browser Rendering runtime binding.
31
- */
32
- raw: Effect.Effect<cf.Fetcher, never, WorkerEnvironment>;
33
- /**
34
- * Launch a Browser Rendering session through `@cloudflare/puppeteer`.
35
- */
36
- launch<Browser extends BrowserRenderingBrowser>(puppeteer: BrowserRenderingPuppeteer<Browser>): Effect.Effect<Browser, BrowserRenderingError, WorkerEnvironment>;
37
- /**
38
- * Launch a browser, run an Effect with it, and close it afterward.
39
- */
40
- withBrowser<Browser extends BrowserRenderingBrowser, A, E, R>(puppeteer: BrowserRenderingPuppeteer<Browser>, use: (browser: Browser) => Effect.Effect<A, E, R>): Effect.Effect<A, BrowserRenderingError | E, WorkerEnvironment | R>;
41
- }
42
- declare const BrowserRenderingBinding_base: Binding.Service<BrowserRenderingBinding, "Cloudflare.BrowserRendering.Binding", (browser: BrowserRenderingLike) => Effect.Effect<BrowserRenderingClient>> & {
43
- bind: (browser: BrowserRenderingLike) => Effect.Effect<any, any, any>;
44
- };
45
- export declare class BrowserRenderingBinding extends BrowserRenderingBinding_base {
46
- }
47
- export declare const BrowserRenderingBindingLive: Layer.Layer<BrowserRenderingBinding, never, BrowserRenderingBindingPolicy>;
48
- declare const BrowserRenderingBindingPolicy_base: Binding.Policy<BrowserRenderingBindingPolicy, "Policy<Cloudflare.BrowserRendering.Binding>", (browser: BrowserRenderingLike) => Effect.Effect<void>>;
49
- export declare class BrowserRenderingBindingPolicy extends BrowserRenderingBindingPolicy_base {
50
- }
51
- export declare const BrowserRenderingBindingPolicyLive: Layer.Layer<BrowserRenderingBindingPolicy, never, never>;
52
- /** @internal */
53
- export declare const makeBrowserRenderingClient: (raw: Effect.Effect<cf.Fetcher, never, WorkerEnvironment>) => BrowserRenderingClient;
54
- export {};
55
- //# sourceMappingURL=BrowserRenderingBinding.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BrowserRenderingBinding.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/BrowserRendering/BrowserRenderingBinding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAY,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;;;;AAEtF,qBAAa,qBAAsB,SAAQ,2BAEzC;IACA,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;CAAG;AAEL,MAAM,WAAW,uBAAuB;IACtC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,yBAAyB,CACxC,OAAO,SAAS,uBAAuB;IAEvC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/C;AAED;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACzD;;OAEG;IACH,MAAM,CAAC,OAAO,SAAS,uBAAuB,EAC5C,SAAS,EAAE,yBAAyB,CAAC,OAAO,CAAC,GAC5C,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,CAAC,CAAC;IACpE;;OAEG;IACH,WAAW,CAAC,OAAO,SAAS,uBAAuB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAC1D,SAAS,EAAE,yBAAyB,CAAC,OAAO,CAAC,EAC7C,GAAG,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAChD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,qBAAqB,GAAG,CAAC,EAAE,iBAAiB,GAAG,CAAC,CAAC,CAAC;CACvE;sIAIW,oBAAoB,KAAK,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC;;;AAF1E,qBAAa,uBAAwB,SAAQ,4BAGH;CAAG;AAE7C,eAAO,MAAM,2BAA2B,4EAevC,CAAC;yJAIU,oBAAoB,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;AAFxD,qBAAa,6BAA8B,SAAQ,kCAGT;CAAG;AAE7C,eAAO,MAAM,iCAAiC,0DAoB3C,CAAC;AAiBJ,gBAAgB;AAChB,eAAO,MAAM,0BAA0B,GACrC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,iBAAiB,CAAC,KACvD,sBAgBF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BrowserRenderingBinding.js","sourceRoot":"","sources":["../../../src/Cloudflare/BrowserRendering/BrowserRenderingBinding.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export * from "./BrowserRendering.ts";
2
- export { BrowserRenderingBinding, BrowserRenderingBindingLive, BrowserRenderingBindingPolicy, BrowserRenderingBindingPolicyLive, BrowserRenderingError, type BrowserRenderingBrowser, type BrowserRenderingClient, type BrowserRenderingPuppeteer, } from "./BrowserRenderingBinding.ts";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/BrowserRendering/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,6BAA6B,EAC7B,iCAAiC,EACjC,qBAAqB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,GAC/B,MAAM,8BAA8B,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from "./BrowserRendering.js";
2
- export { BrowserRenderingBinding, BrowserRenderingBindingLive, BrowserRenderingBindingPolicy, BrowserRenderingBindingPolicyLive, BrowserRenderingError, } from "./BrowserRenderingBinding.js";
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Cloudflare/BrowserRendering/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,6BAA6B,EAC7B,iCAAiC,EACjC,qBAAqB,GAItB,MAAM,8BAA8B,CAAC"}
@@ -1,14 +0,0 @@
1
- import { Credentials } from "@distilled.cloud/cloudflare/Credentials";
2
- import * as Effect from "effect/Effect";
3
- export type ZoneReference = string | {
4
- zoneId: string;
5
- name?: string;
6
- };
7
- export declare const isZoneId: (zone: string) => boolean;
8
- export declare const matchesZoneHostname: (zoneName: string, hostname: string) => boolean;
9
- export declare const resolveZoneId: ({ accountId, zone, hostname, }: {
10
- accountId: string;
11
- zone: ZoneReference | undefined;
12
- hostname: string;
13
- }) => Effect.Effect<string, Error, Credentials>;
14
- //# sourceMappingURL=Zone.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Zone.d.ts","sourceRoot":"","sources":["../../src/Cloudflare/Zone.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAEZ,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,KAAG,OAAuC,CAAC;AAEhF,eAAO,MAAM,mBAAmB,GAC9B,UAAU,MAAM,EAChB,UAAU,MAAM,KACf,OAAqE,CAAC;AAEzE,eAAO,MAAM,aAAa,GAAI,gCAI3B;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,aAAa,GAAG,SAAS,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;CAClB,8CAaG,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Zone.js","sourceRoot":"","sources":["../../src/Cloudflare/Zone.ts"],"names":[],"mappings":"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"}