alchemy 0.76.0 → 0.77.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/bin/alchemy.js +111 -30
  2. package/bin/services/execute-alchemy.ts +10 -1
  3. package/lib/aws/ec2/index.d.ts +1 -0
  4. package/lib/aws/ec2/index.d.ts.map +1 -1
  5. package/lib/aws/ec2/index.js +1 -0
  6. package/lib/aws/ec2/index.js.map +1 -1
  7. package/lib/aws/index.d.ts +1 -7
  8. package/lib/aws/index.d.ts.map +1 -1
  9. package/lib/aws/index.js +1 -8
  10. package/lib/aws/index.js.map +1 -1
  11. package/lib/cloudflare/auth.d.ts.map +1 -1
  12. package/lib/cloudflare/auth.js +1 -0
  13. package/lib/cloudflare/auth.js.map +1 -1
  14. package/lib/cloudflare/bucket-custom-domain.d.ts +90 -0
  15. package/lib/cloudflare/bucket-custom-domain.d.ts.map +1 -0
  16. package/lib/cloudflare/bucket-custom-domain.js +81 -0
  17. package/lib/cloudflare/bucket-custom-domain.js.map +1 -0
  18. package/lib/cloudflare/bucket.d.ts +28 -4
  19. package/lib/cloudflare/bucket.d.ts.map +1 -1
  20. package/lib/cloudflare/bucket.js +41 -14
  21. package/lib/cloudflare/bucket.js.map +1 -1
  22. package/lib/cloudflare/cloudflare-env-proxy.d.ts.map +1 -1
  23. package/lib/cloudflare/cloudflare-env-proxy.js +0 -3
  24. package/lib/cloudflare/cloudflare-env-proxy.js.map +1 -1
  25. package/lib/cloudflare/compatibility-date.gen.d.ts +1 -1
  26. package/lib/cloudflare/compatibility-date.gen.js +1 -1
  27. package/lib/cloudflare/index.d.ts +1 -0
  28. package/lib/cloudflare/index.d.ts.map +1 -1
  29. package/lib/cloudflare/index.js +1 -0
  30. package/lib/cloudflare/index.js.map +1 -1
  31. package/lib/cloudflare/miniflare/build-worker-options.d.ts.map +1 -1
  32. package/lib/cloudflare/miniflare/build-worker-options.js +3 -1
  33. package/lib/cloudflare/miniflare/build-worker-options.js.map +1 -1
  34. package/lib/cloudflare/miniflare/remote-binding-proxy.d.ts.map +1 -1
  35. package/lib/cloudflare/miniflare/remote-binding-proxy.js +73 -9
  36. package/lib/cloudflare/miniflare/remote-binding-proxy.js.map +1 -1
  37. package/lib/cloudflare/react-router/plugin.d.ts +2 -1
  38. package/lib/cloudflare/react-router/plugin.d.ts.map +1 -1
  39. package/lib/cloudflare/react-router/plugin.js +6 -14
  40. package/lib/cloudflare/react-router/plugin.js.map +1 -1
  41. package/lib/cloudflare/vite/plugin.d.ts.map +1 -1
  42. package/lib/cloudflare/vite/plugin.js +0 -3
  43. package/lib/cloudflare/vite/plugin.js.map +1 -1
  44. package/lib/cloudflare/worker-bundle.d.ts.map +1 -1
  45. package/lib/cloudflare/worker-bundle.js +17 -0
  46. package/lib/cloudflare/worker-bundle.js.map +1 -1
  47. package/lib/cloudflare/worker-metadata.d.ts.map +1 -1
  48. package/lib/cloudflare/worker-metadata.js +6 -4
  49. package/lib/cloudflare/worker-metadata.js.map +1 -1
  50. package/lib/cloudflare/worker-subdomain.d.ts.map +1 -1
  51. package/lib/cloudflare/worker-subdomain.js +0 -1
  52. package/lib/cloudflare/worker-subdomain.js.map +1 -1
  53. package/lib/cloudflare/worker.d.ts.map +1 -1
  54. package/lib/cloudflare/worker.js +28 -38
  55. package/lib/cloudflare/worker.js.map +1 -1
  56. package/lib/cloudflare/wrangler.json.d.ts +2 -281
  57. package/lib/cloudflare/wrangler.json.d.ts.map +1 -1
  58. package/lib/cloudflare/wrangler.json.js +23 -11
  59. package/lib/cloudflare/wrangler.json.js.map +1 -1
  60. package/lib/encrypt.d.ts +28 -3
  61. package/lib/encrypt.d.ts.map +1 -1
  62. package/lib/encrypt.js +77 -3
  63. package/lib/encrypt.js.map +1 -1
  64. package/lib/planetscale/role.d.ts +9 -0
  65. package/lib/planetscale/role.d.ts.map +1 -1
  66. package/lib/planetscale/role.js +18 -3
  67. package/lib/planetscale/role.js.map +1 -1
  68. package/lib/prisma-postgres/api.d.ts.map +1 -1
  69. package/lib/prisma-postgres/api.js +1 -0
  70. package/lib/prisma-postgres/api.js.map +1 -1
  71. package/lib/scope.d.ts +5 -0
  72. package/lib/scope.d.ts.map +1 -1
  73. package/lib/scope.js +23 -0
  74. package/lib/scope.js.map +1 -1
  75. package/lib/serde.js +1 -1
  76. package/lib/serde.js.map +1 -1
  77. package/lib/util/telemetry.js +4 -0
  78. package/lib/util/telemetry.js.map +1 -1
  79. package/package.json +12 -10
  80. package/src/aws/ec2/index.ts +1 -0
  81. package/src/aws/index.ts +1 -9
  82. package/src/cloudflare/auth.ts +1 -0
  83. package/src/cloudflare/bucket-custom-domain.ts +281 -0
  84. package/src/cloudflare/bucket.ts +85 -18
  85. package/src/cloudflare/cloudflare-env-proxy.ts +0 -3
  86. package/src/cloudflare/compatibility-date.gen.ts +1 -1
  87. package/src/cloudflare/index.ts +1 -0
  88. package/src/cloudflare/miniflare/build-worker-options.ts +3 -1
  89. package/src/cloudflare/miniflare/remote-binding-proxy.ts +80 -9
  90. package/src/cloudflare/react-router/plugin.ts +9 -21
  91. package/src/cloudflare/vite/plugin.ts +0 -3
  92. package/src/cloudflare/worker-bundle.ts +28 -1
  93. package/src/cloudflare/worker-metadata.ts +8 -4
  94. package/src/cloudflare/worker-subdomain.ts +0 -1
  95. package/src/cloudflare/worker.ts +32 -45
  96. package/src/cloudflare/wrangler.json.ts +62 -397
  97. package/src/encrypt.ts +115 -3
  98. package/src/planetscale/role.ts +30 -3
  99. package/src/prisma-postgres/api.ts +1 -0
  100. package/src/scope.ts +27 -0
  101. package/src/serde.ts +1 -1
  102. package/src/util/telemetry.ts +5 -0
  103. package/workers/cloudflare-state-store.js +4802 -8
  104. package/workers/dofs-state-store.js +632 -2
  105. package/workers/remote-binding-proxy.js +1929 -3
  106. package/workers/tunnel-proxy.js +58 -6
  107. package/workers/tunnel-proxy.ts +1 -1
package/bin/alchemy.js CHANGED
@@ -36534,32 +36534,75 @@ var Lock = class {
36534
36534
 
36535
36535
  //#endregion
36536
36536
  //#region src/encrypt.ts
36537
+ const KEY_LEN = 32;
36538
+ const SCRYPT_N = 16384;
36539
+ const SCRYPT_R = 8;
36540
+ const SCRYPT_P = 1;
36541
+ const SALT_LEN = 16;
36542
+ const IV_LEN = 12;
36543
+ const ALGO = "aes-256-gcm";
36537
36544
  /**
36538
- * Encrypt a value with a symmetric key using libsodium
36539
- *
36540
- * @param value - The value to encrypt
36541
- * @param key - The encryption key
36542
- * @returns The base64-encoded encrypted value with nonce
36545
+ * Decrypts a value encrypted with a symmetric key.
36546
+ * For backwards compatibility, uses the legacy libsodium implementation if the value is a string.
36547
+ * Otherwise, uses the AES-256-GCM implementation with scrypt key derivation.
36543
36548
  */
36544
- async function encrypt(value, key) {
36545
- const sodium = (await import("libsodium-wrappers")).default;
36546
- await sodium.ready;
36547
- const cryptoKey = sodium.crypto_generichash(sodium.crypto_secretbox_KEYBYTES, sodium.from_string(key));
36548
- const nonce = sodium.randombytes_buf(sodium.crypto_secretbox_NONCEBYTES);
36549
- const encryptedBin = sodium.crypto_secretbox_easy(sodium.from_string(value), nonce, cryptoKey);
36550
- const combined = new Uint8Array(nonce.length + encryptedBin.length);
36551
- combined.set(nonce);
36552
- combined.set(encryptedBin, nonce.length);
36553
- return sodium.to_base64(combined, sodium.base64_variants.ORIGINAL);
36549
+ function decryptWithKey(value, key) {
36550
+ if (typeof value === "string") return libsodiumDecrypt(value, key);
36551
+ return aes256Decrypt(value, key);
36552
+ }
36553
+ /**
36554
+ * Encrypt a value with a symmetric key using AES-256-GCM with scrypt key derivation.
36555
+ */
36556
+ async function encrypt(value, passphrase) {
36557
+ const salt = crypto$1.randomBytes(SALT_LEN);
36558
+ const key = await deriveScryptKey(passphrase, salt);
36559
+ const iv = crypto$1.randomBytes(IV_LEN);
36560
+ const cipher = crypto$1.createCipheriv(ALGO, key, iv);
36561
+ const ciphertext = Buffer.concat([cipher.update(value, "utf8"), cipher.final()]);
36562
+ const tag = cipher.getAuthTag();
36563
+ return {
36564
+ version: "v1",
36565
+ ciphertext: ciphertext.toString("base64"),
36566
+ iv: iv.toString("base64"),
36567
+ salt: salt.toString("base64"),
36568
+ tag: tag.toString("base64")
36569
+ };
36554
36570
  }
36555
36571
  /**
36556
- * Decrypt a value encrypted with a symmetric key
36572
+ * Decrypt a value encrypted with a symmetric key using AES-256-GCM with scrypt key derivation.
36573
+ * @internal - Exposed for testing. Use `decryptWithKey` instead.
36574
+ */
36575
+ async function aes256Decrypt(parts, passphrase) {
36576
+ const salt = Buffer.from(parts.salt, "base64");
36577
+ const iv = Buffer.from(parts.iv, "base64");
36578
+ const ciphertext = Buffer.from(parts.ciphertext, "base64");
36579
+ const tag = Buffer.from(parts.tag, "base64");
36580
+ const key = await deriveScryptKey(passphrase, salt);
36581
+ const decipher = crypto$1.createDecipheriv(ALGO, key, iv);
36582
+ decipher.setAuthTag(tag);
36583
+ return Buffer.concat([decipher.update(ciphertext), decipher.final()]).toString("utf8");
36584
+ }
36585
+ async function deriveScryptKey(passphrase, salt) {
36586
+ return new Promise((resolve$1, reject) => {
36587
+ crypto$1.scrypt(passphrase, salt, KEY_LEN, {
36588
+ N: SCRYPT_N,
36589
+ r: SCRYPT_R,
36590
+ p: SCRYPT_P
36591
+ }, (err, derivedKey) => {
36592
+ if (err) reject(err);
36593
+ else resolve$1(derivedKey);
36594
+ });
36595
+ });
36596
+ }
36597
+ /**
36598
+ * Decrypt a value encrypted with a symmetric key using libsodium.
36599
+ * @internal - Exposed to test backwards compatibility. Use `decryptWithKey` instead.
36557
36600
  *
36558
36601
  * @param encryptedValue - The base64-encoded encrypted value with nonce
36559
36602
  * @param key - The decryption key
36560
36603
  * @returns The decrypted string
36561
36604
  */
36562
- async function decryptWithKey(encryptedValue, key) {
36605
+ async function libsodiumDecrypt(encryptedValue, key) {
36563
36606
  const sodium = (await import("libsodium-wrappers")).default;
36564
36607
  await sodium.ready;
36565
36608
  const cryptoKey = sodium.crypto_generichash(sodium.crypto_secretbox_KEYBYTES, sodium.from_string(key));
@@ -36605,7 +36648,7 @@ async function deserialize(scope, value, options) {
36605
36648
  if (value && typeof value === "object") {
36606
36649
  if (value["@secret"]) {
36607
36650
  if (!scope.password) throw new Error("Cannot deserialize secret without password, did you forget to set password when initializing your alchemy app?\nSee: https://alchemy.run/concepts/secret/#encryption-password");
36608
- if (typeof value["@secret"] === "object") return new Secret(JSON.parse(await decryptWithKey(value["@secret"].data, scope.password)));
36651
+ if (typeof value["@secret"] === "object" && "data" in value["@secret"]) return new Secret(JSON.parse(await decryptWithKey(value["@secret"].data, scope.password)));
36609
36652
  return new Secret(await decryptWithKey(value["@secret"], scope.password));
36610
36653
  } else if ("@schema" in value) return value["@schema"];
36611
36654
  else if ("@date" in value) return new Date(value["@date"]);
@@ -36780,7 +36823,7 @@ function envPaths(name$1, { suffix = "nodejs" } = {}) {
36780
36823
  //#endregion
36781
36824
  //#region package.json
36782
36825
  var name = "alchemy";
36783
- var version = "0.76.0";
36826
+ var version = "0.77.0";
36784
36827
  var license = "Apache-2.0";
36785
36828
  var author = "Sam Goodwin <sam@alchemy.run>";
36786
36829
  var homepage = "https://alchemy.run";
@@ -36793,13 +36836,11 @@ var type = "module";
36793
36836
  var module$1 = "./lib/index.js";
36794
36837
  var bin = { "alchemy": "bin/alchemy.js" };
36795
36838
  var scripts = {
36796
- "build:cli": "tsdown",
36797
- "dev:cli": "tsdown --watch",
36798
- "build:workers": "bun ./scripts/build-workers.ts",
36799
- "build": "rm -rf ./*.tsbuildinfo && rm -rf ./lib && tsc -b && bun run build:cli && bun run build:workers",
36839
+ "build": "rm -rf ./*.tsbuildinfo && rm -rf ./lib && tsc -b && tsdown",
36840
+ "dev": "tsdown --watch",
36800
36841
  "drizzle:generate": "bun run scripts/drizzle-generate.ts",
36801
36842
  "postbuild": "cpx 'src/**/*/types.d.ts' lib && cpx 'src/**/*.txt' lib",
36802
- "publish:npm": "cp ../README.md . && bun run build && bun run build:cli && bun publish && rm README.md"
36843
+ "publish:npm": "cp ../README.md . && bun run build && tsdown && bun publish && rm README.md"
36803
36844
  };
36804
36845
  var files = [
36805
36846
  "bin",
@@ -36830,6 +36871,10 @@ var exports$1 = {
36830
36871
  "bun": "./src/aws/index.ts",
36831
36872
  "import": "./lib/aws/index.js"
36832
36873
  },
36874
+ "./aws/ec2": {
36875
+ "bun": "./src/aws/ec2/index.ts",
36876
+ "import": "./lib/aws/ec2/index.js"
36877
+ },
36833
36878
  "./aws/control": {
36834
36879
  "bun": "./src/aws/control/index.ts",
36835
36880
  "import": "./lib/aws/control/index.js"
@@ -36950,7 +36995,7 @@ var exports$1 = {
36950
36995
  };
36951
36996
  var dependencies = {
36952
36997
  "@aws-sdk/credential-providers": "^3.0.0",
36953
- "@cloudflare/unenv-preset": "^2.6.3",
36998
+ "@cloudflare/unenv-preset": "2.7.7",
36954
36999
  "@cloudflare/workers-types": "catalog:",
36955
37000
  "@iarna/toml": "^2.2.5",
36956
37001
  "@octokit/rest": "^21.1.1",
@@ -36974,7 +37019,7 @@ var dependencies = {
36974
37019
  "picocolors": "^1.1.1",
36975
37020
  "proper-lockfile": "^4.1.2",
36976
37021
  "signal-exit": "^4.1.0",
36977
- "unenv": "2.0.0-rc.19",
37022
+ "unenv": "2.0.0-rc.21",
36978
37023
  "ws": "^8.18.3",
36979
37024
  "yaml": "^2.0.0"
36980
37025
  };
@@ -36989,7 +37034,7 @@ var peerDependencies = {
36989
37034
  "@aws-sdk/client-sqs": "^3.0.0",
36990
37035
  "@aws-sdk/client-ssm": "^3.0.0",
36991
37036
  "@aws-sdk/client-sts": "^3.0.0",
36992
- "@cloudflare/vite-plugin": "^1.10.1",
37037
+ "@cloudflare/vite-plugin": "catalog:",
36993
37038
  "@libsql/client": "^0.15.12",
36994
37039
  "@opennextjs/cloudflare": "^1.6.5",
36995
37040
  "astro": "^5.13.2",
@@ -37339,11 +37384,13 @@ async function fetchNoResponse(url$2, options = {}) {
37339
37384
  port: parsedUrl.port || (isHttps ? 443 : 80),
37340
37385
  path: parsedUrl.pathname + parsedUrl.search,
37341
37386
  method: options.method || "GET",
37342
- headers
37387
+ headers,
37388
+ signal: AbortSignal.timeout(options?.timeout ?? 3e3)
37343
37389
  };
37344
37390
  await new Promise((resolve$1, reject) => {
37345
37391
  const req = client.request(requestOptions);
37346
37392
  req.on("error", (error$84) => {
37393
+ if (error$84.name === "AbortError" && !SUPPRESS_TELEMETRY_ERRORS) logger.warn("Telemetry request timed out");
37347
37394
  reject(error$84);
37348
37395
  });
37349
37396
  if (body) req.write(body);
@@ -37875,6 +37922,30 @@ var Scope = class Scope {
37875
37922
  this.onCleanup(result.stop);
37876
37923
  return result.extracted;
37877
37924
  }
37925
+ async exec(id, command) {
37926
+ const logFilePath = path$1.join(this.dotAlchemy, "logs", `${id}.log`);
37927
+ const [cmd, ...args] = command.split(/\s+/);
37928
+ const child = spawn(cmd, args, { stdio: "pipe" });
37929
+ await once(child, "spawn");
37930
+ await fs$1.mkdir(path$1.dirname(logFilePath), { recursive: true });
37931
+ const logFile = await fs$1.open(logFilePath, "w");
37932
+ let stdout$1 = "";
37933
+ let stderr = "";
37934
+ child.stdout.on("data", (chunk) => {
37935
+ stdout$1 += chunk.toString();
37936
+ logFile.write(chunk);
37937
+ });
37938
+ child.stderr.on("data", (chunk) => {
37939
+ stderr += chunk.toString();
37940
+ logFile.write(chunk);
37941
+ });
37942
+ const [exitCode] = await once(child, "exit");
37943
+ return {
37944
+ exitCode,
37945
+ stdout: stdout$1,
37946
+ stderr
37947
+ };
37948
+ }
37878
37949
  /**
37879
37950
  * @internal
37880
37951
  */
@@ -39215,7 +39286,8 @@ let CloudflareAuth;
39215
39286
  "pipelines:write",
39216
39287
  "secrets_store:write",
39217
39288
  "containers:write",
39218
- "cloudchamber:write"
39289
+ "cloudchamber:write",
39290
+ "vectorize:write"
39219
39291
  ];
39220
39292
  _CloudflareAuth.formatHeadersWithRefresh = async (input) => {
39221
39293
  if (!Credentials.isOAuthExpired(input.credentials)) return formatHeaders(input.credentials);
@@ -55371,7 +55443,16 @@ async function execAlchemy(main, { cwd: cwd$1 = process.cwd(), quiet, force: for
55371
55443
  execArgs$1.push("--watch");
55372
55444
  args.push("--watch");
55373
55445
  }
55374
- if (envFile && await exists(envFile)) execArgs$1.push(`--env-file ${envFile}`);
55446
+ if (envFile) {
55447
+ if (!await exists(envFile)) {
55448
+ M.error(pc.red(`Environment file ${envFile} does not exist.`));
55449
+ throw new ExitSignal(1);
55450
+ }
55451
+ execArgs$1.push(`--env-file ${envFile}`);
55452
+ } else {
55453
+ const envFile$1 = resolve(cwd$1, ".env");
55454
+ if (await exists(envFile$1)) execArgs$1.push(`--env-file ${envFile$1}`);
55455
+ }
55375
55456
  if (dev$1) args.push("--dev");
55376
55457
  if (inspect$1) execArgs$1.push("--inspect");
55377
55458
  if (inspectWait) execArgs$1.push("--inspect-wait");
@@ -140,8 +140,17 @@ export async function execAlchemy(
140
140
  execArgs.push("--watch");
141
141
  args.push("--watch");
142
142
  }
143
- if (envFile && (await exists(envFile))) {
143
+ if (envFile) {
144
+ if (!(await exists(envFile))) {
145
+ log.error(pc.red(`Environment file ${envFile} does not exist.`));
146
+ throw new ExitSignal(1);
147
+ }
144
148
  execArgs.push(`--env-file ${envFile}`);
149
+ } else {
150
+ const envFile = resolve(cwd, ".env");
151
+ if (await exists(envFile)) {
152
+ execArgs.push(`--env-file ${envFile}`);
153
+ }
145
154
  }
146
155
  if (dev) args.push("--dev");
147
156
  if (inspect) execArgs.push("--inspect");
@@ -4,6 +4,7 @@ export * from "./nat-gateway.ts";
4
4
  export * from "./route-table-association.ts";
5
5
  export * from "./route-table.ts";
6
6
  export * from "./route.ts";
7
+ export * from "./security-group-rule.ts";
7
8
  export * from "./security-group.ts";
8
9
  export * from "./subnet.ts";
9
10
  export * from "./vpc.ts";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/aws/ec2/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/aws/ec2/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC"}
@@ -4,6 +4,7 @@ export * from "./nat-gateway.js";
4
4
  export * from "./route-table-association.js";
5
5
  export * from "./route-table.js";
6
6
  export * from "./route.js";
7
+ export * from "./security-group-rule.js";
7
8
  export * from "./security-group.js";
8
9
  export * from "./subnet.js";
9
10
  export * from "./vpc.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/aws/ec2/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/aws/ec2/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC"}
@@ -2,6 +2,7 @@ export * from "./account-id.ts";
2
2
  export * from "./bucket.ts";
3
3
  export * from "./client-props.ts";
4
4
  export * from "./credentials.ts";
5
+ export * from "./ec2/index.ts";
5
6
  export * from "./function.ts";
6
7
  export * from "./policy-attachment.ts";
7
8
  export * from "./policy.ts";
@@ -11,11 +12,4 @@ export * from "./s3-state-store.ts";
11
12
  export * from "./ses.ts";
12
13
  export * from "./ssm-parameter.ts";
13
14
  export * from "./table.ts";
14
- export * from "./ec2/internet-gateway.ts";
15
- export * from "./ec2/nat-gateway.ts";
16
- export * from "./ec2/route-table.ts";
17
- export * from "./ec2/route.ts";
18
- export * from "./ec2/security-group.ts";
19
- export * from "./ec2/subnet.ts";
20
- export * from "./ec2/vpc.ts";
21
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/aws/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAG3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/aws/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC"}
package/lib/aws/index.js CHANGED
@@ -2,6 +2,7 @@ export * from "./account-id.js";
2
2
  export * from "./bucket.js";
3
3
  export * from "./client-props.js";
4
4
  export * from "./credentials.js";
5
+ export * from "./ec2/index.js";
5
6
  export * from "./function.js";
6
7
  export * from "./policy-attachment.js";
7
8
  export * from "./policy.js";
@@ -11,12 +12,4 @@ export * from "./s3-state-store.js";
11
12
  export * from "./ses.js";
12
13
  export * from "./ssm-parameter.js";
13
14
  export * from "./table.js";
14
- // EC2 Resources
15
- export * from "./ec2/internet-gateway.js";
16
- export * from "./ec2/nat-gateway.js";
17
- export * from "./ec2/route-table.js";
18
- export * from "./ec2/route.js";
19
- export * from "./ec2/security-group.js";
20
- export * from "./ec2/subnet.js";
21
- export * from "./ec2/vpc.js";
22
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/aws/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAE3B,gBAAgB;AAChB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/aws/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/cloudflare/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,yBAAiB,cAAc,CAAC;IACvB,MAAM,MAAM,aAQjB,CAAC;IAEH,KAAY,QAAQ,GAAG;QACrB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACK,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAkFtB,CAAC;IACK,MAAM,cAAc,UAkB1B,CAAC;IAEF;;;OAGG;IACI,MAAM,wBAAwB,GAAU,OAAO;QACpD,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;QAC5B,WAAW,EAAE,WAAW,CAAC;KAC1B,oCAgBA,CAAC;IAEF;;OAEG;IACI,MAAM,aAAa,GACxB,aAAa,WAAW,KACvB,MAAM,CAAC,MAAM,EAAE,MAAM,CAYvB,CAAC;CACH"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/cloudflare/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,yBAAiB,cAAc,CAAC;IACvB,MAAM,MAAM,aAQjB,CAAC;IAEH,KAAY,QAAQ,GAAG;QACrB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACK,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAkFtB,CAAC;IACK,MAAM,cAAc,UAmB1B,CAAC;IAEF;;;OAGG;IACI,MAAM,wBAAwB,GAAU,OAAO;QACpD,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;QAC5B,WAAW,EAAE,WAAW,CAAC;KAC1B,oCAgBA,CAAC;IAEF;;OAEG;IACI,MAAM,aAAa,GACxB,aAAa,WAAW,KACvB,MAAM,CAAC,MAAM,EAAE,MAAM,CAYvB,CAAC;CACH"}
@@ -104,6 +104,7 @@ export var CloudflareAuth;
104
104
  "secrets_store:write",
105
105
  "containers:write",
106
106
  "cloudchamber:write",
107
+ "vectorize:write",
107
108
  ];
108
109
  /**
109
110
  * Format Cloudflare credentials as headers, refreshing OAuth credentials if expired.
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/cloudflare/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/cloudflare/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ import type { Context } from "../context";
2
+ import { CloudflareApi, type CloudflareApiOptions } from "./api";
3
+ import { type R2BucketJurisdiction } from "./bucket";
4
+ import type { Zone } from "./zone";
5
+ export interface R2BucketCustomDomainProps extends CloudflareApiOptions, R2BucketCustomDomainOptions {
6
+ /**
7
+ * The bucket to attach the domain to.
8
+ */
9
+ bucketName: string;
10
+ /**
11
+ * The jurisdiction of the bucket.
12
+ * @default "default"
13
+ */
14
+ jurisdiction?: R2BucketJurisdiction;
15
+ /**
16
+ * Development mode properties
17
+ * @internal
18
+ */
19
+ dev?: {
20
+ remote?: boolean;
21
+ };
22
+ }
23
+ export interface R2BucketCustomDomainOptions {
24
+ /**
25
+ * The domain name to attach to the bucket.
26
+ */
27
+ domain: string;
28
+ /**
29
+ * Whether the domain is enabled.
30
+ * @default true
31
+ */
32
+ enabled?: boolean;
33
+ /**
34
+ * The zone to attach the domain to.
35
+ */
36
+ zone?: string | Zone;
37
+ /**
38
+ * An allowlist of ciphers for TLS termination. These ciphers must be in the BoringSSL format.
39
+ */
40
+ ciphers?: string[];
41
+ /**
42
+ * The minimum TLS version to support.
43
+ */
44
+ minTLS?: "1.0" | "1.1" | "1.2" | "1.3" | (string & {});
45
+ /**
46
+ * Whether to adopt an existing custom domain binding during creation.
47
+ * If false and the domain already exists, creation will fail.
48
+ * This only applies during the create phase.
49
+ * @default false
50
+ */
51
+ adopt?: boolean;
52
+ /**
53
+ * Whether to delete the custom domain binding during deletion.
54
+ * If false, the custom domain binding will remain but the resource will be removed from state
55
+ * @default true
56
+ */
57
+ delete?: boolean;
58
+ }
59
+ export type R2BucketCustomDomain = {
60
+ /**
61
+ * The domain name.
62
+ */
63
+ domain: string;
64
+ /**
65
+ * Whether the domain is enabled.
66
+ */
67
+ enabled: boolean;
68
+ /**
69
+ * The zone ID.
70
+ */
71
+ zoneId: string;
72
+ /**
73
+ * The ciphers to support.
74
+ */
75
+ ciphers?: string[];
76
+ /**
77
+ * The minimum TLS version to support.
78
+ */
79
+ minTLS?: "1.0" | "1.1" | "1.2" | "1.3" | (string & {});
80
+ };
81
+ export declare const R2BucketCustomDomain: (((this: any, id: string, props?: {}) => never) & (new (_: never) => never)) | ((this: Context<R2BucketCustomDomain>, _id: string, props: R2BucketCustomDomainProps) => Promise<R2BucketCustomDomain>);
82
+ export declare function deleteBucketCustomDomain(api: CloudflareApi, bucket: string, domain: string, jurisdiction: R2BucketJurisdiction | undefined): Promise<unknown>;
83
+ export declare function getBucketCustomDomain(api: CloudflareApi, bucket: string, domain: string, jurisdiction: R2BucketJurisdiction | undefined): Promise<void | (R2BucketCustomDomain & {
84
+ zoneName?: string;
85
+ status: {
86
+ ownership: "pending" | "active" | "deactivated" | "blocked" | "error" | "unknown";
87
+ ssl: "initializing" | "pending" | "active" | "deactivated" | "error" | "unknown";
88
+ };
89
+ })>;
90
+ //# sourceMappingURL=bucket-custom-domain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bucket-custom-domain.d.ts","sourceRoot":"","sources":["../../src/cloudflare/bucket-custom-domain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,EACL,aAAa,EAEb,KAAK,oBAAoB,EAC1B,MAAM,OAAO,CAAC;AAGf,OAAO,EAAoB,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEvE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,MAAM,WAAW,yBACf,SAAQ,oBAAoB,EAC1B,2BAA2B;IAC7B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,YAAY,CAAC,EAAE,oBAAoB,CAAC;IAEpC;;;OAGG;IACH,GAAG,CAAC,EAAE;QACJ,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAEvD;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;CACxD,CAAC;AAEF,eAAO,MAAM,oBAAoB,yFAGvB,OAAO,CAAC,oBAAoB,CAAC,OAC9B,MAAM,SACJ,yBAAyB,KAC/B,OAAO,CAAC,oBAAoB,CAAC,CA+EjC,CAAC;AAkCF,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,oBAAoB,GAAG,SAAS,oBAa/C;AAED,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,oBAAoB,GAAG,SAAS;eAI/B,MAAM;YACT;QACN,SAAS,EACL,SAAS,GACT,QAAQ,GACR,aAAa,GACb,SAAS,GACT,OAAO,GACP,SAAS,CAAC;QACd,GAAG,EACC,cAAc,GACd,SAAS,GACT,QAAQ,GACR,aAAa,GACb,OAAO,GACP,SAAS,CAAC;KACf;IAeN"}
@@ -0,0 +1,81 @@
1
+ import { Resource } from "../resource";
2
+ import { diff } from "../util/diff";
3
+ import { CloudflareApi, createCloudflareApi, } from "./api";
4
+ import { CloudflareApiError } from "./api-error";
5
+ import { extractCloudflareResult } from "./api-response";
6
+ import { withJurisdiction } from "./bucket";
7
+ import { inferZoneIdFromPattern } from "./route";
8
+ export const R2BucketCustomDomain = Resource("cloudflare::R2BucketCustomDomain", async function (_id, props) {
9
+ if (this.scope.local && !props.dev?.remote && this.phase !== "delete") {
10
+ return {
11
+ domain: props.domain,
12
+ enabled: props.enabled ?? false,
13
+ zoneId: typeof props.zone === "string"
14
+ ? props.zone
15
+ : (props.zone?.id ?? "noop-zone"),
16
+ ciphers: props.ciphers,
17
+ minTLS: props.minTLS,
18
+ };
19
+ }
20
+ const adopt = props.adopt ?? this.scope.adopt;
21
+ const api = await createCloudflareApi(props);
22
+ const payload = {
23
+ domain: props.domain,
24
+ enabled: props.enabled ?? true,
25
+ zoneId: typeof props.zone === "string"
26
+ ? props.zone
27
+ : (props.zone?.id ??
28
+ (await inferZoneIdFromPattern(api, props.domain))),
29
+ ciphers: props.ciphers,
30
+ minTLS: props.minTLS,
31
+ };
32
+ switch (this.phase) {
33
+ case "create": {
34
+ await createBucketCustomDomain(api, props.bucketName, props.jurisdiction, payload).catch(async (error) => {
35
+ if (error instanceof CloudflareApiError &&
36
+ error.status === 409 &&
37
+ adopt) {
38
+ return await updateBucketCustomDomain(api, props.bucketName, props.jurisdiction, payload);
39
+ }
40
+ throw error;
41
+ });
42
+ return payload;
43
+ }
44
+ case "update": {
45
+ if (diff(this.output, payload).some((property) => property === "domain" || property === "zoneId")) {
46
+ return this.replace();
47
+ }
48
+ await updateBucketCustomDomain(api, props.bucketName, props.jurisdiction, payload);
49
+ return payload;
50
+ }
51
+ case "delete": {
52
+ if (props.delete !== false) {
53
+ await deleteBucketCustomDomain(api, props.bucketName, props.domain, props.jurisdiction);
54
+ }
55
+ return this.destroy();
56
+ }
57
+ }
58
+ });
59
+ async function createBucketCustomDomain(api, bucket, jurisdiction, payload) {
60
+ return await extractCloudflareResult(`create custom domain for bucket "${bucket}"`, api.post(`/accounts/${api.accountId}/r2/buckets/${bucket}/domains/custom`, payload, { headers: withJurisdiction({ jurisdiction }) }));
61
+ }
62
+ async function updateBucketCustomDomain(api, bucket, jurisdiction, payload) {
63
+ return await extractCloudflareResult(`update custom domain for bucket "${bucket}"`, api.put(`/accounts/${api.accountId}/r2/buckets/${bucket}/domains/custom/${encodeURIComponent(payload.domain)}`, payload, { headers: withJurisdiction({ jurisdiction }) }));
64
+ }
65
+ export async function deleteBucketCustomDomain(api, bucket, domain, jurisdiction) {
66
+ return await extractCloudflareResult(`delete custom domain for bucket "${bucket}"`, api.delete(`/accounts/${api.accountId}/r2/buckets/${bucket}/domains/custom/${encodeURIComponent(domain)}`, { headers: withJurisdiction({ jurisdiction }) })).catch((error) => {
67
+ if (!(error instanceof CloudflareApiError && error.status === 404)) {
68
+ throw error;
69
+ }
70
+ });
71
+ }
72
+ export async function getBucketCustomDomain(api, bucket, domain, jurisdiction) {
73
+ return await extractCloudflareResult(`get custom domain for bucket "${bucket}"`, api.get(`/accounts/${api.accountId}/r2/buckets/${bucket}/domains/custom/${encodeURIComponent(domain)}`, {
74
+ headers: withJurisdiction({ jurisdiction }),
75
+ })).catch((error) => {
76
+ if (!(error instanceof CloudflareApiError && error.status === 404)) {
77
+ throw error;
78
+ }
79
+ });
80
+ }
81
+ //# sourceMappingURL=bucket-custom-domain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bucket-custom-domain.js","sourceRoot":"","sources":["../../src/cloudflare/bucket-custom-domain.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { R2PutOptions } from "@cloudflare/workers-types/experimental/index.ts";
2
2
  import type { Context } from "../context.ts";
3
3
  import { type CloudflareApi, type CloudflareApiOptions } from "./api.ts";
4
+ import { type R2BucketCustomDomainOptions } from "./bucket-custom-domain.ts";
4
5
  export type R2BucketJurisdiction = "default" | "eu" | "fedramp";
5
6
  /**
6
7
  * Properties for creating or updating an R2 Bucket
@@ -32,8 +33,18 @@ export interface BucketProps extends CloudflareApiOptions {
32
33
  /**
33
34
  * Whether to allow public access through the r2.dev subdomain
34
35
  * Only for development purposes - use custom domains for production
36
+ * @deprecated Use `devDomain` instead
35
37
  */
36
38
  allowPublicAccess?: boolean;
39
+ /**
40
+ * Whether to allow public access through the r2.dev subdomain
41
+ * Only for development purposes - use custom domains for production
42
+ */
43
+ devDomain?: boolean;
44
+ /**
45
+ * The custom domain(s) to attach to the bucket.
46
+ */
47
+ domains?: string | R2BucketCustomDomainOptions | string[] | R2BucketCustomDomainOptions[];
37
48
  /**
38
49
  * Whether to delete the bucket.
39
50
  * If set to false, the bucket will remain but the resource will be removed from state
@@ -254,7 +265,7 @@ export type R2Bucket = _R2Bucket & {
254
265
  /**
255
266
  * Output returned after R2 Bucket creation/update
256
267
  */
257
- type _R2Bucket = Omit<BucketProps, "delete" | "dev"> & {
268
+ type _R2Bucket = Omit<BucketProps, "delete" | "dev" | "domains" | "devDomain"> & {
258
269
  /**
259
270
  * Resource type identifier
260
271
  */
@@ -273,8 +284,17 @@ type _R2Bucket = Omit<BucketProps, "delete" | "dev"> & {
273
284
  creationDate: Date;
274
285
  /**
275
286
  * The `r2.dev` subdomain for the bucket, if `allowPublicAccess` is true
287
+ * @deprecated Use `devDomain` instead
276
288
  */
277
- domain: string | undefined;
289
+ domain?: string;
290
+ /**
291
+ * The `r2.dev` subdomain for the bucket, if `devDomain` is true
292
+ */
293
+ devDomain: string | undefined;
294
+ /**
295
+ * The custom domains for the bucket, if applicable
296
+ */
297
+ domains: string[] | undefined;
278
298
  /**
279
299
  * Development mode properties
280
300
  * @internal
@@ -425,12 +445,16 @@ export declare function putBucketLifecycleRules(api: CloudflareApi, bucketName:
425
445
  /**
426
446
  * Get lifecycle rules for a bucket
427
447
  */
428
- export declare function getBucketLifecycleRules(api: CloudflareApi, bucketName: string, props?: BucketProps): Promise<R2BucketLifecycleRule[]>;
448
+ export declare function getBucketLifecycleRules(api: CloudflareApi, bucketName: string, props: {
449
+ jurisdiction?: string;
450
+ }): Promise<R2BucketLifecycleRule[]>;
429
451
  export declare function putBucketLockRules(api: CloudflareApi, bucketName: string, props: BucketProps): Promise<void>;
430
452
  /**
431
453
  * Get lock rules for a bucket
432
454
  */
433
- export declare function getBucketLockRules(api: CloudflareApi, bucketName: string, props?: BucketProps): Promise<R2BucketLockRule[]>;
455
+ export declare function getBucketLockRules(api: CloudflareApi, bucketName: string, props: {
456
+ jurisdiction?: R2BucketJurisdiction;
457
+ }): Promise<R2BucketLockRule[]>;
434
458
  export declare function headObject(api: CloudflareApi, { bucketName, key }: {
435
459
  bucketName: string;
436
460
  key: string;