alchemy 2.0.0-beta.35 → 2.0.0-beta.37

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 (222) hide show
  1. package/bin/exec.js +176 -26
  2. package/bin/exec.js.map +1 -1
  3. package/lib/AWS/Lambda/Function.d.ts.map +1 -1
  4. package/lib/AWS/Lambda/Function.js +22 -2
  5. package/lib/AWS/Lambda/Function.js.map +1 -1
  6. package/lib/Apply.d.ts.map +1 -1
  7. package/lib/Apply.js +6 -1
  8. package/lib/Apply.js.map +1 -1
  9. package/lib/Cli/main.d.ts.map +1 -1
  10. package/lib/Cli/main.js +2 -0
  11. package/lib/Cli/main.js.map +1 -1
  12. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDataset.d.ts +54 -0
  13. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDataset.d.ts.map +1 -0
  14. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDataset.js +17 -0
  15. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDataset.js.map +1 -0
  16. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.d.ts +37 -0
  17. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.d.ts.map +1 -0
  18. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.js +45 -0
  19. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.js.map +1 -0
  20. package/lib/Cloudflare/AnalyticsEngine/index.d.ts +3 -0
  21. package/lib/Cloudflare/AnalyticsEngine/index.d.ts.map +1 -0
  22. package/lib/Cloudflare/AnalyticsEngine/index.js +3 -0
  23. package/lib/Cloudflare/AnalyticsEngine/index.js.map +1 -0
  24. package/lib/Cloudflare/D1/D1Connection.d.ts +47 -3
  25. package/lib/Cloudflare/D1/D1Connection.d.ts.map +1 -1
  26. package/lib/Cloudflare/D1/D1Connection.js +62 -5
  27. package/lib/Cloudflare/D1/D1Connection.js.map +1 -1
  28. package/lib/Cloudflare/Images/Images.d.ts +103 -0
  29. package/lib/Cloudflare/Images/Images.d.ts.map +1 -0
  30. package/lib/Cloudflare/Images/Images.js +82 -0
  31. package/lib/Cloudflare/Images/Images.js.map +1 -0
  32. package/lib/Cloudflare/Images/ImagesBinding.d.ts +73 -0
  33. package/lib/Cloudflare/Images/ImagesBinding.d.ts.map +1 -0
  34. package/lib/Cloudflare/Images/ImagesBinding.js +83 -0
  35. package/lib/Cloudflare/Images/ImagesBinding.js.map +1 -0
  36. package/lib/Cloudflare/Images/index.d.ts +3 -0
  37. package/lib/Cloudflare/Images/index.d.ts.map +1 -0
  38. package/lib/Cloudflare/Images/index.js +3 -0
  39. package/lib/Cloudflare/Images/index.js.map +1 -0
  40. package/lib/Cloudflare/Local/SidecarHandlers.js +9 -1
  41. package/lib/Cloudflare/Local/SidecarHandlers.js.map +1 -1
  42. package/lib/Cloudflare/Providers.d.ts.map +1 -1
  43. package/lib/Cloudflare/Providers.js +6 -1
  44. package/lib/Cloudflare/Providers.js.map +1 -1
  45. package/lib/Cloudflare/R2/R2Bucket.d.ts +135 -0
  46. package/lib/Cloudflare/R2/R2Bucket.d.ts.map +1 -1
  47. package/lib/Cloudflare/R2/R2Bucket.js +146 -7
  48. package/lib/Cloudflare/R2/R2Bucket.js.map +1 -1
  49. package/lib/Cloudflare/StateStore/Api.d.ts +6 -1
  50. package/lib/Cloudflare/StateStore/Api.d.ts.map +1 -1
  51. package/lib/Cloudflare/StateStore/Api.js +23 -1
  52. package/lib/Cloudflare/StateStore/Api.js.map +1 -1
  53. package/lib/Cloudflare/StateStore/Store.d.ts +16 -1
  54. package/lib/Cloudflare/StateStore/Store.d.ts.map +1 -1
  55. package/lib/Cloudflare/StateStore/Store.js +22 -5
  56. package/lib/Cloudflare/StateStore/Store.js.map +1 -1
  57. package/lib/Cloudflare/Workers/CronEventSource.d.ts +35 -0
  58. package/lib/Cloudflare/Workers/CronEventSource.d.ts.map +1 -0
  59. package/lib/Cloudflare/Workers/CronEventSource.js +55 -0
  60. package/lib/Cloudflare/Workers/CronEventSource.js.map +1 -0
  61. package/lib/Cloudflare/Workers/InferEnv.d.ts +37 -2
  62. package/lib/Cloudflare/Workers/InferEnv.d.ts.map +1 -1
  63. package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -1
  64. package/lib/Cloudflare/Workers/LocalWorkerProvider.js +2 -1
  65. package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
  66. package/lib/Cloudflare/Workers/Rpc.d.ts +76 -3
  67. package/lib/Cloudflare/Workers/Rpc.d.ts.map +1 -1
  68. package/lib/Cloudflare/Workers/Rpc.js +197 -13
  69. package/lib/Cloudflare/Workers/Rpc.js.map +1 -1
  70. package/lib/Cloudflare/Workers/Worker.d.ts +26 -6
  71. package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
  72. package/lib/Cloudflare/Workers/Worker.js +183 -41
  73. package/lib/Cloudflare/Workers/Worker.js.map +1 -1
  74. package/lib/Cloudflare/Workers/WorkerBundle.d.ts.map +1 -1
  75. package/lib/Cloudflare/Workers/WorkerBundle.js +15 -5
  76. package/lib/Cloudflare/Workers/WorkerBundle.js.map +1 -1
  77. package/lib/Cloudflare/Workers/Workflow.d.ts +50 -47
  78. package/lib/Cloudflare/Workers/Workflow.d.ts.map +1 -1
  79. package/lib/Cloudflare/Workers/Workflow.js +41 -35
  80. package/lib/Cloudflare/Workers/Workflow.js.map +1 -1
  81. package/lib/Cloudflare/Workers/index.d.ts +1 -0
  82. package/lib/Cloudflare/Workers/index.d.ts.map +1 -1
  83. package/lib/Cloudflare/Workers/index.js +1 -0
  84. package/lib/Cloudflare/Workers/index.js.map +1 -1
  85. package/lib/Cloudflare/index.d.ts +2 -0
  86. package/lib/Cloudflare/index.d.ts.map +1 -1
  87. package/lib/Cloudflare/index.js +2 -0
  88. package/lib/Cloudflare/index.js.map +1 -1
  89. package/lib/Deploy.d.ts +4 -1
  90. package/lib/Deploy.d.ts.map +1 -1
  91. package/lib/Deploy.js +2 -2
  92. package/lib/Deploy.js.map +1 -1
  93. package/lib/Destroy.d.ts +4 -1
  94. package/lib/Destroy.d.ts.map +1 -1
  95. package/lib/Destroy.js +2 -2
  96. package/lib/Destroy.js.map +1 -1
  97. package/lib/Output.d.ts +45 -5
  98. package/lib/Output.d.ts.map +1 -1
  99. package/lib/Output.js +100 -4
  100. package/lib/Output.js.map +1 -1
  101. package/lib/Plan.d.ts.map +1 -1
  102. package/lib/Plan.js +93 -12
  103. package/lib/Plan.js.map +1 -1
  104. package/lib/Platform.d.ts.map +1 -1
  105. package/lib/Platform.js +16 -3
  106. package/lib/Platform.js.map +1 -1
  107. package/lib/Ref.d.ts +4 -1
  108. package/lib/Ref.d.ts.map +1 -1
  109. package/lib/Ref.js +1 -1
  110. package/lib/Ref.js.map +1 -1
  111. package/lib/Resource.d.ts +8 -0
  112. package/lib/Resource.d.ts.map +1 -1
  113. package/lib/Resource.js +10 -0
  114. package/lib/Resource.js.map +1 -1
  115. package/lib/RuntimeContext.d.ts +3 -1
  116. package/lib/RuntimeContext.d.ts.map +1 -1
  117. package/lib/RuntimeContext.js.map +1 -1
  118. package/lib/Secret.d.ts +50 -0
  119. package/lib/Secret.d.ts.map +1 -0
  120. package/lib/Secret.js +23 -0
  121. package/lib/Secret.js.map +1 -0
  122. package/lib/Serverless/Function.d.ts +9 -1
  123. package/lib/Serverless/Function.d.ts.map +1 -1
  124. package/lib/Stack.d.ts +14 -5
  125. package/lib/Stack.d.ts.map +1 -1
  126. package/lib/Stack.js +31 -19
  127. package/lib/Stack.js.map +1 -1
  128. package/lib/State/HttpStateApi.d.ts +15 -1
  129. package/lib/State/HttpStateApi.d.ts.map +1 -1
  130. package/lib/State/HttpStateApi.js +11 -0
  131. package/lib/State/HttpStateApi.js.map +1 -1
  132. package/lib/State/HttpStateStore.d.ts.map +1 -1
  133. package/lib/State/HttpStateStore.js +11 -0
  134. package/lib/State/HttpStateStore.js.map +1 -1
  135. package/lib/State/InMemoryState.d.ts +2 -2
  136. package/lib/State/InMemoryState.d.ts.map +1 -1
  137. package/lib/State/InMemoryState.js +12 -6
  138. package/lib/State/InMemoryState.js.map +1 -1
  139. package/lib/State/LocalState.d.ts.map +1 -1
  140. package/lib/State/LocalState.js +11 -2
  141. package/lib/State/LocalState.js.map +1 -1
  142. package/lib/State/State.d.ts +21 -0
  143. package/lib/State/State.d.ts.map +1 -1
  144. package/lib/Test/Bun.d.ts.map +1 -1
  145. package/lib/Test/Bun.js +30 -7
  146. package/lib/Test/Bun.js.map +1 -1
  147. package/lib/Test/Core.d.ts +17 -2
  148. package/lib/Test/Core.d.ts.map +1 -1
  149. package/lib/Test/Core.js +29 -11
  150. package/lib/Test/Core.js.map +1 -1
  151. package/lib/Test/Vitest.d.ts.map +1 -1
  152. package/lib/Test/Vitest.js +26 -5
  153. package/lib/Test/Vitest.js.map +1 -1
  154. package/lib/Util/LocalhostDns.d.ts +23 -0
  155. package/lib/Util/LocalhostDns.d.ts.map +1 -0
  156. package/lib/Util/LocalhostDns.js +46 -0
  157. package/lib/Util/LocalhostDns.js.map +1 -0
  158. package/lib/Util/PlatformServices.d.ts.map +1 -1
  159. package/lib/Util/PlatformServices.js +2 -0
  160. package/lib/Util/PlatformServices.js.map +1 -1
  161. package/lib/Util/effect.d.ts +7 -0
  162. package/lib/Util/effect.d.ts.map +1 -1
  163. package/lib/Util/effect.js +6 -0
  164. package/lib/Util/effect.js.map +1 -1
  165. package/lib/Variable.d.ts +29 -0
  166. package/lib/Variable.d.ts.map +1 -0
  167. package/lib/Variable.js +9 -0
  168. package/lib/Variable.js.map +1 -0
  169. package/lib/index.d.ts +3 -0
  170. package/lib/index.d.ts.map +1 -1
  171. package/lib/index.js +3 -0
  172. package/lib/index.js.map +1 -1
  173. package/lib/tsconfig.test.tsbuildinfo +1 -1
  174. package/package.json +7 -7
  175. package/src/AWS/Lambda/Function.ts +30 -2
  176. package/src/Apply.ts +8 -1
  177. package/src/Cli/main.ts +3 -0
  178. package/src/Cloudflare/AnalyticsEngine/AnalyticsEngineDataset.ts +82 -0
  179. package/src/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.ts +106 -0
  180. package/src/Cloudflare/AnalyticsEngine/index.ts +2 -0
  181. package/src/Cloudflare/D1/D1Connection.ts +95 -12
  182. package/src/Cloudflare/Images/Images.ts +121 -0
  183. package/src/Cloudflare/Images/ImagesBinding.ts +192 -0
  184. package/src/Cloudflare/Images/index.ts +2 -0
  185. package/src/Cloudflare/Local/SidecarHandlers.ts +9 -1
  186. package/src/Cloudflare/Providers.ts +8 -0
  187. package/src/Cloudflare/R2/R2Bucket.ts +271 -7
  188. package/src/Cloudflare/StateStore/Api.ts +34 -1
  189. package/src/Cloudflare/StateStore/Store.ts +40 -10
  190. package/src/Cloudflare/Workers/CronEventSource.ts +89 -0
  191. package/src/Cloudflare/Workers/InferEnv.ts +94 -16
  192. package/src/Cloudflare/Workers/LocalWorkerProvider.ts +9 -1
  193. package/src/Cloudflare/Workers/Rpc.ts +227 -18
  194. package/src/Cloudflare/Workers/Worker.ts +295 -62
  195. package/src/Cloudflare/Workers/WorkerBundle.ts +15 -5
  196. package/src/Cloudflare/Workers/Workflow.ts +74 -70
  197. package/src/Cloudflare/Workers/index.ts +1 -0
  198. package/src/Cloudflare/index.ts +2 -0
  199. package/src/Deploy.ts +5 -1
  200. package/src/Destroy.ts +5 -1
  201. package/src/Output.ts +121 -12
  202. package/src/Plan.ts +101 -12
  203. package/src/Platform.ts +19 -4
  204. package/src/Ref.ts +10 -5
  205. package/src/Resource.ts +22 -0
  206. package/src/RuntimeContext.ts +1 -0
  207. package/src/Secret.ts +87 -0
  208. package/src/Serverless/Function.ts +10 -1
  209. package/src/Stack.ts +52 -29
  210. package/src/State/HttpStateApi.ts +21 -0
  211. package/src/State/HttpStateStore.ts +21 -0
  212. package/src/State/InMemoryState.ts +29 -8
  213. package/src/State/LocalState.ts +28 -4
  214. package/src/State/State.ts +21 -0
  215. package/src/Test/Bun.ts +43 -7
  216. package/src/Test/Core.ts +29 -8
  217. package/src/Test/Vitest.ts +36 -4
  218. package/src/Util/LocalhostDns.ts +52 -0
  219. package/src/Util/PlatformServices.ts +2 -0
  220. package/src/Util/effect.ts +25 -0
  221. package/src/Variable.ts +44 -0
  222. package/src/index.ts +3 -0
@@ -13,6 +13,7 @@ import { ProfileLive } from "../Auth/Profile.js";
13
13
  import { Random, RandomProvider } from "../Random.js";
14
14
  import * as Access from "./Access.js";
15
15
  import * as AiGateway from "./AiGateway/index.js";
16
+ import * as AnalyticsEngine from "./AnalyticsEngine/index.js";
16
17
  import * as ApiToken from "./ApiToken/index.js";
17
18
  import * as Artifacts from "./Artifacts/index.js";
18
19
  import { CloudflareAuth } from "./Auth/AuthProvider.js";
@@ -21,6 +22,7 @@ import * as Containers from "./Container/index.js";
21
22
  import * as Credentials from "./Credentials.js";
22
23
  import * as D1 from "./D1/index.js";
23
24
  import * as Hyperdrive from "./Hyperdrive/index.js";
25
+ import * as Images from "./Images/index.js";
24
26
  import * as KV from "./KV/index.js";
25
27
  import * as Queue from "./Queue/index.js";
26
28
  import * as R2 from "./R2/index.js";
@@ -40,6 +42,7 @@ export const providers = () => Layer.effect(Providers, Provider.collection([
40
42
  ApiToken.UserApiToken,
41
43
  AiGateway.AiGateway,
42
44
  AiGateway.AiGatewayBindingPolicy,
45
+ AnalyticsEngine.AnalyticsEngineDatasetBindingPolicy,
43
46
  Artifacts.ArtifactsBindingPolicy,
44
47
  Command,
45
48
  Containers.Container,
@@ -47,6 +50,7 @@ export const providers = () => Layer.effect(Providers, Provider.collection([
47
50
  D1.D1Database,
48
51
  Hyperdrive.Hyperdrive,
49
52
  Hyperdrive.HyperdriveBindingPolicy,
53
+ Images.ImagesBindingPolicy,
50
54
  KV.KVNamespace,
51
55
  KV.KVNamespaceBindingPolicy,
52
56
  Queue.Queue,
@@ -62,10 +66,11 @@ export const providers = () => Layer.effect(Providers, Provider.collection([
62
66
  VpcService.VpcService,
63
67
  Random,
64
68
  Workers.BindWorkerPolicy,
69
+ Workers.CronEventSourcePolicy,
65
70
  Workers.FetchPolicy,
66
71
  Workers.Worker,
67
72
  Workflows.WorkflowResource,
68
- ])).pipe(Layer.provide(Layer.mergeAll(ApiToken.AccountApiTokenProvider(), ApiToken.UserApiTokenProvider(), AiGateway.AiGatewayProvider(), AiGateway.AiGatewayBindingPolicyLive, Artifacts.ArtifactsBindingPolicyLive, Containers.ContainerProvider(), D1.D1ConnectionPolicyLive, D1.DatabaseProvider(), Hyperdrive.HyperdriveBindingPolicyLive, Hyperdrive.HyperdriveProvider(), KV.KVNamespaceBindingPolicyLive, KV.KVNamespaceProvider(), Queue.QueueBindingPolicyLive, Queue.QueueEventSourcePolicyLive, Queue.QueueProvider(), Queue.QueueConsumerProvider(), R2.R2BucketBindingPolicyLive, R2.R2BucketProvider(), SecretsStore.SecretBindingPolicyLive, SecretsStore.SecretsStoreProvider(), SecretsStore.StoreSecretProvider(), Tunnel.TunnelProvider(), VpcService.VpcServiceProvider(), Workers.BindWorkerPolicyLive, Workers.FetchPolicyLive, Workers.WorkerProvider(), Workflows.WorkflowProvider())), Layer.provideMerge(Layer.mergeAll(Build.CommandProvider(), RandomProvider())), Layer.provideMerge(Credentials.fromAuthProvider()), Layer.provideMerge(CloudflareEnvironment.fromProfile()), Layer.provideMerge(CloudflareAuth), Layer.provideMerge(Access.AccessLive), Layer.provideMerge(ProfileLive), Layer.provideMerge(CredentialsStoreLive),
73
+ ])).pipe(Layer.provide(Layer.mergeAll(ApiToken.AccountApiTokenProvider(), ApiToken.UserApiTokenProvider(), AiGateway.AiGatewayProvider(), AiGateway.AiGatewayBindingPolicyLive, AnalyticsEngine.AnalyticsEngineDatasetBindingPolicyLive, Artifacts.ArtifactsBindingPolicyLive, Containers.ContainerProvider(), D1.D1ConnectionPolicyLive, D1.DatabaseProvider(), Hyperdrive.HyperdriveBindingPolicyLive, Hyperdrive.HyperdriveProvider(), Images.ImagesBindingPolicyLive, KV.KVNamespaceBindingPolicyLive, KV.KVNamespaceProvider(), Queue.QueueBindingPolicyLive, Queue.QueueEventSourcePolicyLive, Queue.QueueProvider(), Queue.QueueConsumerProvider(), R2.R2BucketBindingPolicyLive, R2.R2BucketProvider(), SecretsStore.SecretBindingPolicyLive, SecretsStore.SecretsStoreProvider(), SecretsStore.StoreSecretProvider(), Tunnel.TunnelProvider(), VpcService.VpcServiceProvider(), Workers.BindWorkerPolicyLive, Workers.CronEventSourcePolicyLive, Workers.FetchPolicyLive, Workers.WorkerProvider(), Workflows.WorkflowProvider())), Layer.provideMerge(Layer.mergeAll(Build.CommandProvider(), RandomProvider())), Layer.provideMerge(Credentials.fromAuthProvider()), Layer.provideMerge(CloudflareEnvironment.fromProfile()), Layer.provideMerge(CloudflareAuth), Layer.provideMerge(Access.AccessLive), Layer.provideMerge(ProfileLive), Layer.provideMerge(CredentialsStoreLive),
69
74
  // Apply a blanket retry policy to every Cloudflare API call. Extends
70
75
  // `Retry.makeDefault`'s transient detection (throttling / 5xx /
71
76
  // network) with one Cloudflare-specific misleadingly-tagged
@@ -1 +1 @@
1
- {"version":3,"file":"Providers.js","sourceRoot":"","sources":["../../src/Cloudflare/Providers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Providers.js","sourceRoot":"","sources":["../../src/Cloudflare/Providers.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,59 @@ export type R2BucketCustomDomain = {
33
33
  */
34
34
  minTLS?: "1.0" | "1.1" | "1.2" | "1.3";
35
35
  };
36
+ export type R2BucketLifecycleCondition = {
37
+ type: "Age";
38
+ /**
39
+ * Maximum age of an object, in seconds, before the rule's action applies.
40
+ */
41
+ maxAge: number;
42
+ } | {
43
+ type: "Date";
44
+ /**
45
+ * Absolute date (ISO 8601) at which the rule's action applies.
46
+ */
47
+ date: string;
48
+ };
49
+ export type R2BucketLifecycleRule = {
50
+ /**
51
+ * Unique identifier for the rule within the bucket.
52
+ */
53
+ id: string;
54
+ /**
55
+ * Whether the rule is enabled.
56
+ * @default true
57
+ */
58
+ enabled?: boolean;
59
+ /**
60
+ * Object key prefix the rule applies to. Use `""` (or omit) to match all
61
+ * objects in the bucket.
62
+ * @default ""
63
+ */
64
+ prefix?: string;
65
+ /**
66
+ * Abort incomplete multipart uploads after the configured age.
67
+ */
68
+ abortMultipartUploadsTransition?: {
69
+ condition?: {
70
+ type: "Age";
71
+ maxAge: number;
72
+ };
73
+ };
74
+ /**
75
+ * Delete matching objects after the configured age or on a specific date.
76
+ */
77
+ deleteObjectsTransition?: {
78
+ condition?: R2BucketLifecycleCondition;
79
+ };
80
+ /**
81
+ * Transition matching objects to a different storage class. Cloudflare R2
82
+ * only supports transitioning to `InfrequentAccess` today.
83
+ */
84
+ storageClassTransitions?: {
85
+ condition: R2BucketLifecycleCondition;
86
+ storageClass: "InfrequentAccess";
87
+ }[];
88
+ };
36
89
  export type R2BucketProps = {
37
90
  /**
38
91
  * Name of the bucket. If omitted, a unique name will be generated.
@@ -58,6 +111,12 @@ export type R2BucketProps = {
58
111
  * to remove all custom domains.
59
112
  */
60
113
  domains?: R2BucketCustomDomain[];
114
+ /**
115
+ * Object lifecycle rules applied to the bucket. Pass an empty array (or
116
+ * omit) to clear all lifecycle rules. See the Cloudflare R2 docs for
117
+ * supported transitions.
118
+ */
119
+ lifecycleRules?: R2BucketLifecycleRule[];
61
120
  };
62
121
  export type R2Bucket = Resource<"Cloudflare.R2Bucket", R2BucketProps, {
63
122
  bucketName: R2BucketName;
@@ -66,6 +125,7 @@ export type R2Bucket = Resource<"Cloudflare.R2Bucket", R2BucketProps, {
66
125
  location: R2Bucket.Location | undefined;
67
126
  accountId: string;
68
127
  domains: R2Bucket.CustomDomain[];
128
+ lifecycleRules: R2Bucket.LifecycleRule[];
69
129
  }, never, Cloudflare.Providers>;
70
130
  /**
71
131
  * A Cloudflare R2 object storage bucket with S3-compatible API.
@@ -158,6 +218,63 @@ export type R2Bucket = Resource<"Cloudflare.R2Bucket", R2BucketProps, {
158
218
  * ],
159
219
  * });
160
220
  * ```
221
+ *
222
+ * @section Object Lifecycle Rules
223
+ *
224
+ * Configure lifecycle rules to automatically delete objects, abort
225
+ * incomplete multipart uploads, or transition objects to InfrequentAccess
226
+ * storage. Pass an empty array (or omit) to clear all rules. See the
227
+ * [Cloudflare R2 docs](https://developers.cloudflare.com/r2/buckets/object-lifecycles/)
228
+ * for details and limits (max 1000 rules per bucket).
229
+ *
230
+ * @example Delete objects 30 days after upload
231
+ * ```typescript
232
+ * const bucket = yield* Cloudflare.R2Bucket("MyBucket", {
233
+ * lifecycleRules: [
234
+ * {
235
+ * id: "expire-old-objects",
236
+ * deleteObjectsTransition: {
237
+ * condition: { type: "Age", maxAge: 60 * 60 * 24 * 30 },
238
+ * },
239
+ * },
240
+ * ],
241
+ * });
242
+ * ```
243
+ *
244
+ * @example Transition to InfrequentAccess after 60 days, delete after 365
245
+ * ```typescript
246
+ * const bucket = yield* Cloudflare.R2Bucket("MyBucket", {
247
+ * lifecycleRules: [
248
+ * {
249
+ * id: "archive-then-delete",
250
+ * prefix: "logs/",
251
+ * storageClassTransitions: [
252
+ * {
253
+ * condition: { type: "Age", maxAge: 60 * 60 * 24 * 60 },
254
+ * storageClass: "InfrequentAccess",
255
+ * },
256
+ * ],
257
+ * deleteObjectsTransition: {
258
+ * condition: { type: "Age", maxAge: 60 * 60 * 24 * 365 },
259
+ * },
260
+ * },
261
+ * ],
262
+ * });
263
+ * ```
264
+ *
265
+ * @example Abort incomplete multipart uploads after 7 days
266
+ * ```typescript
267
+ * const bucket = yield* Cloudflare.R2Bucket("MyBucket", {
268
+ * lifecycleRules: [
269
+ * {
270
+ * id: "abort-stale-uploads",
271
+ * abortMultipartUploadsTransition: {
272
+ * condition: { type: "Age", maxAge: 60 * 60 * 24 * 7 },
273
+ * },
274
+ * },
275
+ * ],
276
+ * });
277
+ * ```
161
278
  */
162
279
  export declare const R2Bucket: import("../../Resource.ts").ResourceClassWithMethods<R2Bucket, {
163
280
  readonly bind: (<Req = never>(args_0: R2Bucket | Effect.Effect<R2Bucket, never, Req>) => Effect.Effect<import("./R2BucketBinding.ts").R2BucketClient, never, R2BucketBinding | Req>) & ((bucket: R2Bucket) => Effect.Effect<any, any, any>);
@@ -166,6 +283,24 @@ export declare namespace R2Bucket {
166
283
  type StorageClass = "Standard" | "InfrequentAccess";
167
284
  type Jurisdiction = "default" | "eu" | "fedramp";
168
285
  type Location = "apac" | "eeur" | "enam" | "weur" | "wnam" | "oc";
286
+ type LifecycleRule = {
287
+ id: string;
288
+ enabled: boolean;
289
+ prefix: string;
290
+ abortMultipartUploadsTransition: {
291
+ condition: {
292
+ type: "Age";
293
+ maxAge: number;
294
+ } | undefined;
295
+ } | undefined;
296
+ deleteObjectsTransition: {
297
+ condition: R2BucketLifecycleCondition | undefined;
298
+ } | undefined;
299
+ storageClassTransitions: {
300
+ condition: R2BucketLifecycleCondition;
301
+ storageClass: "InfrequentAccess";
302
+ }[] | undefined;
303
+ };
169
304
  type CustomDomain = {
170
305
  domain: string;
171
306
  zoneId: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"R2Bucket.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/R2/R2Bucket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"R2Bucket.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/R2/R2Bucket.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import * as r2 from "@distilled.cloud/cloudflare/r2";
2
2
  import * as Effect from "effect/Effect";
3
3
  import * as Schedule from "effect/Schedule";
4
+ import * as Stream from "effect/Stream";
4
5
  import { deepEqual, isResolved } from "../../Diff.js";
5
6
  import { createPhysicalName } from "../../PhysicalName.js";
6
7
  import * as Provider from "../../Provider.js";
@@ -99,6 +100,63 @@ import { R2BucketBinding } from "./R2BucketBinding.js";
99
100
  * ],
100
101
  * });
101
102
  * ```
103
+ *
104
+ * @section Object Lifecycle Rules
105
+ *
106
+ * Configure lifecycle rules to automatically delete objects, abort
107
+ * incomplete multipart uploads, or transition objects to InfrequentAccess
108
+ * storage. Pass an empty array (or omit) to clear all rules. See the
109
+ * [Cloudflare R2 docs](https://developers.cloudflare.com/r2/buckets/object-lifecycles/)
110
+ * for details and limits (max 1000 rules per bucket).
111
+ *
112
+ * @example Delete objects 30 days after upload
113
+ * ```typescript
114
+ * const bucket = yield* Cloudflare.R2Bucket("MyBucket", {
115
+ * lifecycleRules: [
116
+ * {
117
+ * id: "expire-old-objects",
118
+ * deleteObjectsTransition: {
119
+ * condition: { type: "Age", maxAge: 60 * 60 * 24 * 30 },
120
+ * },
121
+ * },
122
+ * ],
123
+ * });
124
+ * ```
125
+ *
126
+ * @example Transition to InfrequentAccess after 60 days, delete after 365
127
+ * ```typescript
128
+ * const bucket = yield* Cloudflare.R2Bucket("MyBucket", {
129
+ * lifecycleRules: [
130
+ * {
131
+ * id: "archive-then-delete",
132
+ * prefix: "logs/",
133
+ * storageClassTransitions: [
134
+ * {
135
+ * condition: { type: "Age", maxAge: 60 * 60 * 24 * 60 },
136
+ * storageClass: "InfrequentAccess",
137
+ * },
138
+ * ],
139
+ * deleteObjectsTransition: {
140
+ * condition: { type: "Age", maxAge: 60 * 60 * 24 * 365 },
141
+ * },
142
+ * },
143
+ * ],
144
+ * });
145
+ * ```
146
+ *
147
+ * @example Abort incomplete multipart uploads after 7 days
148
+ * ```typescript
149
+ * const bucket = yield* Cloudflare.R2Bucket("MyBucket", {
150
+ * lifecycleRules: [
151
+ * {
152
+ * id: "abort-stale-uploads",
153
+ * abortMultipartUploadsTransition: {
154
+ * condition: { type: "Age", maxAge: 60 * 60 * 24 * 7 },
155
+ * },
156
+ * },
157
+ * ],
158
+ * });
159
+ * ```
102
160
  */
103
161
  export const R2Bucket = Resource("Cloudflare.R2Bucket")({
104
162
  bind: R2BucketBinding.bind,
@@ -109,10 +167,26 @@ export const R2BucketProvider = () => Provider.effect(R2Bucket, Effect.gen(funct
109
167
  const patchBucket = yield* r2.patchBucket;
110
168
  const deleteBucket = yield* r2.deleteBucket;
111
169
  const getBucket = yield* r2.getBucket;
170
+ const deleteObjects = yield* r2.deleteObjects;
112
171
  const listBucketDomainCustoms = yield* r2.listBucketDomainCustoms;
113
172
  const createBucketDomainCustom = yield* r2.createBucketDomainCustom;
114
173
  const updateBucketDomainCustom = yield* r2.updateBucketDomainCustom;
115
174
  const deleteBucketDomainCustom = yield* r2.deleteBucketDomainCustom;
175
+ const getBucketLifecycle = yield* r2.getBucketLifecycle;
176
+ const putBucketLifecycle = yield* r2.putBucketLifecycle;
177
+ const emptyBucket = (bucketName, jurisdiction) => r2.listObjects
178
+ .items({
179
+ accountId,
180
+ bucketName,
181
+ cfR2Jurisdiction: jurisdiction,
182
+ perPage: 1000,
183
+ })
184
+ .pipe(Stream.filter((o) => typeof o.key === "string" && o.key !== ""), Stream.map((o) => o.key), Stream.runForEachArray((chunk) => deleteObjects({
185
+ accountId,
186
+ bucketName,
187
+ cfR2Jurisdiction: jurisdiction,
188
+ body: [...chunk],
189
+ })), Effect.catchTag("NoSuchBucket", () => Effect.void));
116
190
  const createBucketName = (id, name) => Effect.gen(function* () {
117
191
  if (name)
118
192
  return name;
@@ -132,7 +206,7 @@ export const R2BucketProvider = () => Provider.effect(R2Bucket, Effect.gen(funct
132
206
  jurisdiction,
133
207
  }).pipe(Effect.retry({
134
208
  while: isNoSuchBucket,
135
- schedule: r2CustomDomainConsistencySchedule,
209
+ schedule: r2BucketEndpointConsistencySchedule,
136
210
  }), Effect.map((response) => response.domains.map(toCustomDomainAttributes)), Effect.catchTag("NoSuchBucket", () => Effect.succeed(undefined)));
137
211
  const reconcileCustomDomains = (bucketName, jurisdiction, desired, previous) => Effect.gen(function* () {
138
212
  const observed = yield* listCustomDomains(bucketName, jurisdiction);
@@ -187,7 +261,7 @@ export const R2BucketProvider = () => Provider.effect(R2Bucket, Effect.gen(funct
187
261
  minTLS: domain.minTLS,
188
262
  }).pipe(Effect.retry({
189
263
  while: isNoSuchBucket,
190
- schedule: r2CustomDomainConsistencySchedule,
264
+ schedule: r2BucketEndpointConsistencySchedule,
191
265
  }));
192
266
  return toCustomDomainAttributes({ ...created, zoneId });
193
267
  }
@@ -201,7 +275,7 @@ export const R2BucketProvider = () => Provider.effect(R2Bucket, Effect.gen(funct
201
275
  minTLS: domain.minTLS,
202
276
  }).pipe(Effect.retry({
203
277
  while: isNoSuchBucket,
204
- schedule: r2CustomDomainConsistencySchedule,
278
+ schedule: r2BucketEndpointConsistencySchedule,
205
279
  }));
206
280
  return toCustomDomainAttributes({
207
281
  ...updated,
@@ -211,6 +285,31 @@ export const R2BucketProvider = () => Provider.effect(R2Bucket, Effect.gen(funct
211
285
  }), { concurrency: "unbounded" });
212
286
  return applied.sort((a, b) => a.domain.localeCompare(b.domain));
213
287
  });
288
+ const reconcileLifecycleRules = (bucketName, jurisdiction, desired) => Effect.gen(function* () {
289
+ const observed = yield* getBucketLifecycle({
290
+ accountId,
291
+ bucketName,
292
+ jurisdiction,
293
+ }).pipe(Effect.retry({
294
+ while: isNoSuchBucket,
295
+ schedule: r2BucketEndpointConsistencySchedule,
296
+ }));
297
+ const observedRules = (observed.rules ?? []).map(toLifecycleRule);
298
+ const desiredRules = desired.map(normalizeLifecycleRule);
299
+ if (deepEqual(observedRules, desiredRules)) {
300
+ return desiredRules;
301
+ }
302
+ yield* putBucketLifecycle({
303
+ accountId,
304
+ bucketName,
305
+ jurisdiction,
306
+ rules: desired.map(toLifecyclePutPayload),
307
+ }).pipe(Effect.retry({
308
+ while: isNoSuchBucket,
309
+ schedule: r2BucketEndpointConsistencySchedule,
310
+ }));
311
+ return desiredRules;
312
+ });
214
313
  return {
215
314
  stables: ["bucketName", "accountId"],
216
315
  diff: Effect.fn(function* ({ id, olds = {}, news = {}, output }) {
@@ -237,6 +336,9 @@ export const R2BucketProvider = () => Provider.effect(R2Bucket, Effect.gen(funct
237
336
  if (!deepEqual(olds.domains, news.domains)) {
238
337
  return { action: "update" };
239
338
  }
339
+ if (!deepEqual(olds.lifecycleRules, news.lifecycleRules)) {
340
+ return { action: "update" };
341
+ }
240
342
  }),
241
343
  reconcile: Effect.fn(function* ({ id, news = {}, output }) {
242
344
  const name = yield* createBucketName(id, news.name);
@@ -288,9 +390,11 @@ export const R2BucketProvider = () => Provider.effect(R2Bucket, Effect.gen(funct
288
390
  accountId: acct,
289
391
  };
290
392
  const domains = yield* reconcileCustomDomains(attrs.bucketName, attrs.jurisdiction, news.domains ?? [], output?.domains ?? []);
393
+ const lifecycleRules = yield* reconcileLifecycleRules(attrs.bucketName, attrs.jurisdiction, news.lifecycleRules ?? []);
291
394
  return {
292
395
  ...attrs,
293
396
  domains,
397
+ lifecycleRules,
294
398
  };
295
399
  }),
296
400
  delete: Effect.fn(function* ({ output }) {
@@ -302,6 +406,7 @@ export const R2BucketProvider = () => Provider.effect(R2Bucket, Effect.gen(funct
302
406
  jurisdiction: output.jurisdiction,
303
407
  }).pipe(Effect.catchIf(isMissingCustomDomainOrBucket, () => Effect.void));
304
408
  }
409
+ yield* emptyBucket(output.bucketName, output.jurisdiction);
305
410
  yield* deleteBucket({
306
411
  accountId: output.accountId,
307
412
  bucketName: output.bucketName,
@@ -322,14 +427,16 @@ export const R2BucketProvider = () => Provider.effect(R2Bucket, Effect.gen(funct
322
427
  location: normalizeLocation(bucket.location),
323
428
  accountId: acct,
324
429
  domains: output?.domains ?? [],
430
+ lifecycleRules: output?.lifecycleRules ?? [],
325
431
  })), Effect.catchTag("NoSuchBucket", () => Effect.succeed(undefined)));
326
432
  }),
327
433
  };
328
434
  }));
329
- // R2 can make a newly-created bucket visible to `getBucket` before the custom
330
- // domain endpoints accept it. Retry only that narrow `NoSuchBucket` lag here;
331
- // not-found domains are still treated as terminal for idempotent deletes.
332
- const r2CustomDomainConsistencySchedule = Schedule.exponential(100).pipe(Schedule.both(Schedule.recurs(5)));
435
+ // R2 can make a newly-created bucket visible to `getBucket` before its
436
+ // sub-resource endpoints (custom domains, lifecycle) accept it. Retry only
437
+ // that narrow `NoSuchBucket` lag here; not-found sub-resources are still
438
+ // treated as terminal for idempotent deletes.
439
+ const r2BucketEndpointConsistencySchedule = Schedule.exponential(100).pipe(Schedule.both(Schedule.recurs(5)));
333
440
  const toCustomDomainAttributes = (domain) => ({
334
441
  domain: domain.domain,
335
442
  zoneId: domain.zoneId ?? undefined,
@@ -349,6 +456,38 @@ const isMissingCustomDomainOrBucket = (error) => typeof error === "object" &&
349
456
  ("_tag" in error &&
350
457
  (error._tag === "DomainNotFound" ||
351
458
  error._tag === "NoSuchBucket")));
459
+ const toLifecycleRule = (rule) => ({
460
+ id: rule.id,
461
+ enabled: rule.enabled,
462
+ prefix: rule.conditions.prefix ?? "",
463
+ abortMultipartUploadsTransition: rule.abortMultipartUploadsTransition
464
+ ? { condition: rule.abortMultipartUploadsTransition.condition ?? undefined }
465
+ : undefined,
466
+ deleteObjectsTransition: rule.deleteObjectsTransition
467
+ ? { condition: rule.deleteObjectsTransition.condition ?? undefined }
468
+ : undefined,
469
+ storageClassTransitions: rule.storageClassTransitions ?? undefined,
470
+ });
471
+ const normalizeLifecycleRule = (rule) => ({
472
+ id: rule.id,
473
+ enabled: rule.enabled ?? true,
474
+ prefix: rule.prefix ?? "",
475
+ abortMultipartUploadsTransition: rule.abortMultipartUploadsTransition
476
+ ? { condition: rule.abortMultipartUploadsTransition.condition }
477
+ : undefined,
478
+ deleteObjectsTransition: rule.deleteObjectsTransition
479
+ ? { condition: rule.deleteObjectsTransition.condition }
480
+ : undefined,
481
+ storageClassTransitions: rule.storageClassTransitions,
482
+ });
483
+ const toLifecyclePutPayload = (rule) => ({
484
+ id: rule.id,
485
+ enabled: rule.enabled ?? true,
486
+ conditions: { prefix: rule.prefix ?? "" },
487
+ abortMultipartUploadsTransition: rule.abortMultipartUploadsTransition,
488
+ deleteObjectsTransition: rule.deleteObjectsTransition,
489
+ storageClassTransitions: rule.storageClassTransitions,
490
+ });
352
491
  const isNoSuchBucket = (error) => typeof error === "object" &&
353
492
  error !== null &&
354
493
  "_tag" in error &&
@@ -1 +1 @@
1
- {"version":3,"file":"R2Bucket.js","sourceRoot":"","sources":["../../../src/Cloudflare/R2/R2Bucket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"R2Bucket.js","sourceRoot":"","sources":["../../../src/Cloudflare/R2/R2Bucket.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export declare const STATE_STORE_SCRIPT_NAME: "alchemy-state-store";
9
9
  * compare against this constant; a mismatch (or 404) triggers a
10
10
  * forced redeploy via the bootstrap flow.
11
11
  */
12
- export declare const STATE_STORE_VERSION: 3;
12
+ export declare const STATE_STORE_VERSION: 4;
13
13
  /**
14
14
  * Hard-coded OTLP/HTTP endpoints. Point at the public ingest relay
15
15
  * defined in `stacks/otel.ts` (bound to `otel.alchemy.run`), which
@@ -51,6 +51,7 @@ declare const _default: Effect.Effect<import("effect/Pipeable").Pipeable & impor
51
51
  id: string;
52
52
  zoneId: string;
53
53
  }[];
54
+ crons: string[];
54
55
  hash?: {
55
56
  assets: string | undefined;
56
57
  bundle: string | undefined;
@@ -61,6 +62,7 @@ declare const _default: Effect.Effect<import("effect/Pipeable").Pipeable & impor
61
62
  containers?: {
62
63
  className: string;
63
64
  }[];
65
+ crons?: string[];
64
66
  hyperdrives?: Record<string, Required<import("../index.ts").HyperdriveDevOrigin>>;
65
67
  }, import("../Providers.ts").Providers> & {
66
68
  bind(sid: string, binding: import("../../Input.ts").Input<{
@@ -68,6 +70,7 @@ declare const _default: Effect.Effect<import("effect/Pipeable").Pipeable & impor
68
70
  containers?: {
69
71
  className: string;
70
72
  }[];
73
+ crons?: string[];
71
74
  hyperdrives?: Record<string, Required<import("../index.ts").HyperdriveDevOrigin>>;
72
75
  }>): Effect.Effect<void>;
73
76
  bind(template: TemplateStringsArray, ...args: any[]): (binding: import("../../Input.ts").Input<{
@@ -75,6 +78,7 @@ declare const _default: Effect.Effect<import("effect/Pipeable").Pipeable & impor
75
78
  containers?: {
76
79
  className: string;
77
80
  }[];
81
+ crons?: string[];
78
82
  hyperdrives?: Record<string, Required<import("../index.ts").HyperdriveDevOrigin>>;
79
83
  }>) => Effect.Effect<void>;
80
84
  } & {
@@ -90,6 +94,7 @@ declare const _default: Effect.Effect<import("effect/Pipeable").Pipeable & impor
90
94
  id: string;
91
95
  zoneId: string;
92
96
  }[], never>;
97
+ crons: import("../../Output.ts").Output<string[], never>;
93
98
  hash: import("../../Output.ts").Output<{
94
99
  assets: string | undefined;
95
100
  bundle: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"Api.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/StateStore/Api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAoBxC,eAAO,MAAM,uBAAuB,EAAG,qBAA8B,CAAC;AAEtE;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,EAAG,CAAU,CAAC;AAE9C;;;;;;GAMG;AAKH;;;;;;;GAOG;AAkCH;;;;;;;;;;;;GAYG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACH,wBA+LE"}
1
+ {"version":3,"file":"Api.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/StateStore/Api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAoBxC,eAAO,MAAM,uBAAuB,EAAG,qBAA8B,CAAC;AAEtE;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,EAAG,CAAU,CAAC;AAE9C;;;;;;GAMG;AAKH;;;;;;;GAOG;AAkCH;;;;;;;;;;;;GAYG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACH,wBAgOE"}
@@ -23,7 +23,7 @@ export const STATE_STORE_SCRIPT_NAME = "alchemy-state-store";
23
23
  * compare against this constant; a mismatch (or 404) triggers a
24
24
  * forced redeploy via the bootstrap flow.
25
25
  */
26
- export const STATE_STORE_VERSION = 3;
26
+ export const STATE_STORE_VERSION = 4;
27
27
  /**
28
28
  * Hard-coded OTLP/HTTP endpoints. Point at the public ingest relay
29
29
  * defined in `stacks/otel.ts` (bound to `otel.alchemy.run`), which
@@ -186,6 +186,28 @@ export default Worker("Api", {
186
186
  "alchemy.state_store.stack": params.stack,
187
187
  "alchemy.state_store.stage": params.stage,
188
188
  },
189
+ })))
190
+ .handle("getStackOutput", ({ params }) => store
191
+ .getByName(params.stack)
192
+ .getOutput({ stage: params.stage })
193
+ .pipe(Effect.withSpan("state_store.getStackOutput", {
194
+ attributes: {
195
+ "alchemy.state_store.op": "getStackOutput",
196
+ "alchemy.state_store.stack": params.stack,
197
+ "alchemy.state_store.stage": params.stage,
198
+ },
199
+ })))
200
+ .handle("setStackOutput", ({ params, payload }) => store
201
+ .getByName(params.stack)
202
+ .setOutput({ stage: params.stage, value: payload })
203
+ .pipe(Effect.tap(() => store
204
+ .getByName(Store.ROOT_DO_NAME)
205
+ .registerStack({ stack: params.stack })), Effect.withSpan("state_store.setStackOutput", {
206
+ attributes: {
207
+ "alchemy.state_store.op": "setStackOutput",
208
+ "alchemy.state_store.stack": params.stack,
209
+ "alchemy.state_store.stage": params.stage,
210
+ },
189
211
  })))
190
212
  .handle("deleteStack", ({ params, query }) => store
191
213
  .getByName(params.stack)