alchemy 0.87.0 → 0.90.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.
- package/bin/alchemy.js +485 -543
- package/lib/cloudflare/compatibility-date.d.ts +1 -1
- package/lib/cloudflare/compatibility-date.d.ts.map +1 -1
- package/lib/cloudflare/dns-records.d.ts +6 -0
- package/lib/cloudflare/dns-records.d.ts.map +1 -1
- package/lib/cloudflare/dns-records.js +14 -12
- package/lib/cloudflare/dns-records.js.map +1 -1
- package/lib/cloudflare/index.d.ts +1 -0
- package/lib/cloudflare/index.d.ts.map +1 -1
- package/lib/cloudflare/index.js +1 -0
- package/lib/cloudflare/index.js.map +1 -1
- package/lib/cloudflare/r2-bucket-notification.d.ts +312 -0
- package/lib/cloudflare/r2-bucket-notification.d.ts.map +1 -0
- package/lib/cloudflare/r2-bucket-notification.js +387 -0
- package/lib/cloudflare/r2-bucket-notification.js.map +1 -0
- package/lib/cloudflare/worker.d.ts.map +1 -1
- package/lib/cloudflare/worker.js +8 -1
- package/lib/cloudflare/worker.js.map +1 -1
- package/lib/cloudflare/workflow.d.ts +17 -0
- package/lib/cloudflare/workflow.d.ts.map +1 -1
- package/lib/cloudflare/workflow.js +1 -0
- package/lib/cloudflare/workflow.js.map +1 -1
- package/lib/cloudflare/wrangler.json.js +1 -0
- package/lib/cloudflare/wrangler.json.js.map +1 -1
- package/lib/docker/api.d.ts +40 -0
- package/lib/docker/api.d.ts.map +1 -1
- package/lib/docker/api.js +30 -0
- package/lib/docker/api.js.map +1 -1
- package/lib/docker/network.d.ts.map +1 -1
- package/lib/docker/network.js +24 -7
- package/lib/docker/network.js.map +1 -1
- package/lib/encrypt.d.ts.map +1 -1
- package/lib/encrypt.js +2 -2
- package/lib/encrypt.js.map +1 -1
- package/lib/planetscale/api.d.ts +1 -0
- package/lib/planetscale/api.d.ts.map +1 -1
- package/lib/planetscale/api.js +1 -1
- package/lib/planetscale/api.js.map +1 -1
- package/lib/planetscale/branch.d.ts +28 -0
- package/lib/planetscale/branch.d.ts.map +1 -1
- package/lib/planetscale/branch.js +12 -0
- package/lib/planetscale/branch.js.map +1 -1
- package/lib/planetscale/database-extensions.d.ts +515 -0
- package/lib/planetscale/database-extensions.d.ts.map +1 -0
- package/lib/planetscale/database-extensions.js +389 -0
- package/lib/planetscale/database-extensions.js.map +1 -0
- package/lib/planetscale/database.d.ts +40 -2
- package/lib/planetscale/database.d.ts.map +1 -1
- package/lib/planetscale/database.js +76 -1
- package/lib/planetscale/database.js.map +1 -1
- package/lib/scope.d.ts.map +1 -1
- package/lib/scope.js +1 -2
- package/lib/scope.js.map +1 -1
- package/lib/util/telemetry.d.ts +1 -6
- package/lib/util/telemetry.d.ts.map +1 -1
- package/lib/util/telemetry.js.map +1 -1
- package/package.json +6 -6
- package/src/cloudflare/dns-records.ts +25 -16
- package/src/cloudflare/index.ts +1 -0
- package/src/cloudflare/r2-bucket-notification.ts +809 -0
- package/src/cloudflare/worker.ts +8 -1
- package/src/cloudflare/workflow.ts +18 -0
- package/src/cloudflare/wrangler.json.ts +1 -0
- package/src/docker/api.ts +61 -0
- package/src/docker/network.ts +27 -7
- package/src/encrypt.ts +2 -0
- package/src/planetscale/api.ts +1 -1
- package/src/planetscale/branch.ts +45 -0
- package/src/planetscale/database-extensions.ts +947 -0
- package/src/planetscale/database.ts +141 -2
- package/src/scope.ts +1 -2
- package/src/util/telemetry.ts +1 -20
- package/workers/cloudflare-state-store.js +57 -57
- package/workers/tunnel-proxy.js +1 -1
- package/lib/state/instrumented-state-store.d.ts +0 -19
- package/lib/state/instrumented-state-store.d.ts.map +0 -1
- package/lib/state/instrumented-state-store.js +0 -68
- package/lib/state/instrumented-state-store.js.map +0 -1
- package/src/state/instrumented-state-store.ts +0 -108
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The default Cloudflare Workers compatibility date, set based on the current workerd release used by Miniflare.
|
|
3
3
|
*/
|
|
4
|
-
export declare const DEFAULT_COMPATIBILITY_DATE:
|
|
4
|
+
export declare const DEFAULT_COMPATIBILITY_DATE: string;
|
|
5
5
|
//# sourceMappingURL=compatibility-date.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compatibility-date.d.ts","sourceRoot":"","sources":["../../src/cloudflare/compatibility-date.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,0BAA0B,
|
|
1
|
+
{"version":3,"file":"compatibility-date.d.ts","sourceRoot":"","sources":["../../src/cloudflare/compatibility-date.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,0BAA0B,QAA6B,CAAC"}
|
|
@@ -27,6 +27,12 @@ export interface DnsRecordsProps extends CloudflareApiOptions {
|
|
|
27
27
|
* Array of DNS records to manage
|
|
28
28
|
*/
|
|
29
29
|
records: DnsRecordProps[];
|
|
30
|
+
/**
|
|
31
|
+
* Whether to delete DNS records when the resource is destroyed.
|
|
32
|
+
* Set to false to preserve records in Cloudflare when removing from alchemy.
|
|
33
|
+
* @default true
|
|
34
|
+
*/
|
|
35
|
+
delete?: boolean;
|
|
30
36
|
}
|
|
31
37
|
/**
|
|
32
38
|
* Output returned after DNS records creation/update
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dns-records.d.ts","sourceRoot":"","sources":["../../src/cloudflare/dns-records.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EACV,SAAS,IAAI,aAAa,EAC1B,aAAa,EACb,qBAAqB,EACtB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAE1B,MAAM,UAAU,CAAC;AAyBlB;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC;IACjE;;OAEG;IACH,IAAI,EAAE,aAAa,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,qBAAqB;CAAG;AAE3D;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,oBAAoB;IAC3D;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,OAAO,EAAE,cAAc,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"dns-records.d.ts","sourceRoot":"","sources":["../../src/cloudflare/dns-records.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EACV,SAAS,IAAI,aAAa,EAC1B,aAAa,EACb,qBAAqB,EACtB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAE1B,MAAM,UAAU,CAAC;AAyBlB;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC;IACjE;;OAEG;IACH,IAAI,EAAE,aAAa,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,qBAAqB;CAAG;AAE3D;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,oBAAoB;IAC3D;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,OAAO,EAAE,cAAc,EAAE,CAAC;IAE1B;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,eAAO,MAAM,UAAU,yFAGb,OAAO,CAAC,UAAU,CAAC,OACpB,MAAM,SACJ,eAAe,KACrB,OAAO,CAAC,UAAU,CAAC,CAkHvB,CAAC;AA+EF,wBAAsB,WAAW,CAC/B,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,GAAE;IACN,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACV,GACL,OAAO,CAAC,SAAS,EAAE,CAAC,CActB"}
|
|
@@ -52,7 +52,7 @@ export const DnsRecords = Resource("cloudflare::DnsRecords", async function (_id
|
|
|
52
52
|
// Get zone ID if domain name was provided
|
|
53
53
|
const zoneId = props.zoneId;
|
|
54
54
|
if (this.phase === "delete") {
|
|
55
|
-
if (this.output?.records) {
|
|
55
|
+
if (props.delete !== false && this.output?.records) {
|
|
56
56
|
// Delete all existing records
|
|
57
57
|
await Promise.all(this.output.records.map(async (record) => {
|
|
58
58
|
try {
|
|
@@ -79,18 +79,20 @@ export const DnsRecords = Resource("cloudflare::DnsRecords", async function (_id
|
|
|
79
79
|
recordsToDelete.push(record);
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
|
-
// Delete orphaned records
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
82
|
+
// Delete orphaned records (skip if delete: false)
|
|
83
|
+
if (props.delete !== false) {
|
|
84
|
+
await Promise.all(recordsToDelete.map(async (record) => {
|
|
85
|
+
try {
|
|
86
|
+
const response = await api.delete(`/zones/${zoneId}/dns_records/${record.id}`);
|
|
87
|
+
if (!response.ok && response.status !== 404) {
|
|
88
|
+
logger.error(`Failed to delete DNS record ${record.name}: ${response.statusText}`);
|
|
89
|
+
}
|
|
88
90
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
}
|
|
93
|
-
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
logger.error(`Error deleting DNS record ${record.name}:`, error);
|
|
93
|
+
}
|
|
94
|
+
}));
|
|
95
|
+
}
|
|
94
96
|
// Update or create records
|
|
95
97
|
const updatedRecords = await Promise.all(desiredRecords.entries().map(async ([key, desired]) => {
|
|
96
98
|
// Find matching existing record
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dns-records.js","sourceRoot":"","sources":["../../src/cloudflare/dns-records.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAGL,mBAAmB,GACpB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"dns-records.js","sourceRoot":"","sources":["../../src/cloudflare/dns-records.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,6 +51,7 @@ export * from "./pipeline.ts";
|
|
|
51
51
|
export * from "./queue-consumer.ts";
|
|
52
52
|
export * from "./queue.ts";
|
|
53
53
|
export * from "./quick-tunnel.ts";
|
|
54
|
+
export * from "./r2-bucket-notification.ts";
|
|
54
55
|
export * from "./rate-limit.ts";
|
|
55
56
|
export * from "./react-router/react-router.ts";
|
|
56
57
|
export * from "./redirect-rule.ts";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAEA,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qCAAqC,CAAC;AACpD,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAEA,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qCAAqC,CAAC;AACpD,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC"}
|
package/lib/cloudflare/index.js
CHANGED
|
@@ -52,6 +52,7 @@ export * from "./pipeline.js";
|
|
|
52
52
|
export * from "./queue-consumer.js";
|
|
53
53
|
export * from "./queue.js";
|
|
54
54
|
export * from "./quick-tunnel.js";
|
|
55
|
+
export * from "./r2-bucket-notification.js";
|
|
55
56
|
export * from "./rate-limit.js";
|
|
56
57
|
export * from "./react-router/react-router.js";
|
|
57
58
|
export * from "./redirect-rule.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAAA,mDAAmD;AAEnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qCAAqC,CAAC;AACpD,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAAA,mDAAmD;AAEnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qCAAqC,CAAC;AACpD,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
import type { Context } from "../context.ts";
|
|
2
|
+
import { type CloudflareApi, type CloudflareApiOptions } from "./api.ts";
|
|
3
|
+
import { type R2Bucket } from "./bucket.ts";
|
|
4
|
+
import { type Queue } from "./queue.ts";
|
|
5
|
+
/**
|
|
6
|
+
* Event types that can trigger R2 bucket notifications
|
|
7
|
+
*/
|
|
8
|
+
export type R2BucketNotificationEventType = "object-create" | "object-delete";
|
|
9
|
+
/**
|
|
10
|
+
* Message payload sent to a Queue when an R2 bucket notification is triggered
|
|
11
|
+
*
|
|
12
|
+
* @see https://developers.cloudflare.com/r2/buckets/event-notifications/#message-format
|
|
13
|
+
*/
|
|
14
|
+
export interface R2BucketNotificationMessage {
|
|
15
|
+
/**
|
|
16
|
+
* The Cloudflare account ID that the event is associated with
|
|
17
|
+
*/
|
|
18
|
+
account: string;
|
|
19
|
+
/**
|
|
20
|
+
* The type of action that triggered the event notification
|
|
21
|
+
* Example actions include: PutObject, CopyObject, CompleteMultipartUpload, DeleteObject
|
|
22
|
+
*/
|
|
23
|
+
action: string;
|
|
24
|
+
/**
|
|
25
|
+
* The name of the bucket where the event occurred
|
|
26
|
+
*/
|
|
27
|
+
bucket: string;
|
|
28
|
+
/**
|
|
29
|
+
* Details about the object involved in the event
|
|
30
|
+
*/
|
|
31
|
+
object: {
|
|
32
|
+
/**
|
|
33
|
+
* The key (or name) of the object within the bucket
|
|
34
|
+
*/
|
|
35
|
+
key: string;
|
|
36
|
+
/**
|
|
37
|
+
* The size of the object in bytes (not present for object-delete events)
|
|
38
|
+
*/
|
|
39
|
+
size?: number;
|
|
40
|
+
/**
|
|
41
|
+
* The entity tag (eTag) of the object (not present for object-delete events)
|
|
42
|
+
*/
|
|
43
|
+
eTag?: string;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* The time when the action that triggered the event occurred (ISO 8601 format)
|
|
47
|
+
*/
|
|
48
|
+
eventTime: string;
|
|
49
|
+
/**
|
|
50
|
+
* Details about the source of a copied object (only present for CopyObject events)
|
|
51
|
+
*/
|
|
52
|
+
copySource?: {
|
|
53
|
+
/**
|
|
54
|
+
* The bucket that contained the source object
|
|
55
|
+
*/
|
|
56
|
+
bucket: string;
|
|
57
|
+
/**
|
|
58
|
+
* The name of the source object
|
|
59
|
+
*/
|
|
60
|
+
object: string;
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Base properties shared by all R2 Bucket Notification configurations
|
|
65
|
+
*/
|
|
66
|
+
interface R2BucketNotificationBaseProps extends CloudflareApiOptions {
|
|
67
|
+
/**
|
|
68
|
+
* The R2 bucket to attach the notification rule to.
|
|
69
|
+
* Can be either a bucket name (string) or an R2Bucket resource.
|
|
70
|
+
*/
|
|
71
|
+
bucket: string | R2Bucket;
|
|
72
|
+
/**
|
|
73
|
+
* The queue that will receive notification messages.
|
|
74
|
+
* Can be either a queue name (string) or a Queue resource.
|
|
75
|
+
*/
|
|
76
|
+
queue: string | Queue;
|
|
77
|
+
/**
|
|
78
|
+
* The type of events that will trigger notifications.
|
|
79
|
+
* - "object-create": Triggered when objects are created or overwritten (PutObject, CompleteMultipartUpload)
|
|
80
|
+
* - "object-delete": Triggered when objects are deleted (DeleteObject, CopyObject, LifecycleDeletion)
|
|
81
|
+
*/
|
|
82
|
+
eventTypes: R2BucketNotificationEventType[];
|
|
83
|
+
/**
|
|
84
|
+
* Optional description for the notification rule to help identify it.
|
|
85
|
+
*/
|
|
86
|
+
description?: string;
|
|
87
|
+
/**
|
|
88
|
+
* The jurisdiction where the bucket exists.
|
|
89
|
+
* Required for EU or FedRAMP jurisdictions.
|
|
90
|
+
*/
|
|
91
|
+
jurisdiction?: "default" | "eu" | "fedramp";
|
|
92
|
+
/**
|
|
93
|
+
* Whether to delete the notification rule when the resource is removed from Alchemy.
|
|
94
|
+
* @default true
|
|
95
|
+
*/
|
|
96
|
+
delete?: boolean;
|
|
97
|
+
/**
|
|
98
|
+
* Whether to adopt an existing notification rule if one already exists with the same configuration.
|
|
99
|
+
* @default false
|
|
100
|
+
*/
|
|
101
|
+
adopt?: boolean;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Props with single prefix and suffix (creates one rule)
|
|
105
|
+
*/
|
|
106
|
+
interface R2BucketNotificationSingleProps extends R2BucketNotificationBaseProps {
|
|
107
|
+
/**
|
|
108
|
+
* Optional prefix filter - only objects with keys starting with this prefix will trigger notifications.
|
|
109
|
+
*/
|
|
110
|
+
prefix?: string;
|
|
111
|
+
/**
|
|
112
|
+
* Optional suffix filter - only objects with keys ending with this suffix will trigger notifications.
|
|
113
|
+
*/
|
|
114
|
+
suffix?: string;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Props with multiple prefixes (creates one rule per prefix)
|
|
118
|
+
*/
|
|
119
|
+
interface R2BucketNotificationMultiplePrefixProps extends R2BucketNotificationBaseProps {
|
|
120
|
+
/**
|
|
121
|
+
* Array of prefix filters - creates one notification rule per prefix.
|
|
122
|
+
*/
|
|
123
|
+
prefix: string[];
|
|
124
|
+
/**
|
|
125
|
+
* Optional suffix filter applied to all rules.
|
|
126
|
+
*/
|
|
127
|
+
suffix?: string;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Props with multiple suffixes (creates one rule per suffix)
|
|
131
|
+
*/
|
|
132
|
+
interface R2BucketNotificationMultipleSuffixProps extends R2BucketNotificationBaseProps {
|
|
133
|
+
/**
|
|
134
|
+
* Optional prefix filter applied to all rules.
|
|
135
|
+
*/
|
|
136
|
+
prefix?: string;
|
|
137
|
+
/**
|
|
138
|
+
* Array of suffix filters - creates one notification rule per suffix.
|
|
139
|
+
*/
|
|
140
|
+
suffix: string[];
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Properties for creating or updating R2 Bucket Notification rules.
|
|
144
|
+
*
|
|
145
|
+
* Either prefix OR suffix can be an array (creating multiple rules), but not both.
|
|
146
|
+
*/
|
|
147
|
+
export type R2BucketNotificationProps = R2BucketNotificationSingleProps | R2BucketNotificationMultiplePrefixProps | R2BucketNotificationMultipleSuffixProps;
|
|
148
|
+
/**
|
|
149
|
+
* Output returned after R2 Bucket Notification rule creation/update
|
|
150
|
+
*/
|
|
151
|
+
export type R2BucketNotification = Omit<R2BucketNotificationBaseProps, "bucket" | "queue" | "delete" | "adopt"> & {
|
|
152
|
+
/**
|
|
153
|
+
* Resource type identifier
|
|
154
|
+
*/
|
|
155
|
+
type: "r2_bucket_notification";
|
|
156
|
+
/**
|
|
157
|
+
* The Cloudflare-assigned rule ID(s) for this notification.
|
|
158
|
+
* When prefix or suffix is an array, this contains multiple rule IDs.
|
|
159
|
+
*/
|
|
160
|
+
ruleId: string | string[];
|
|
161
|
+
/**
|
|
162
|
+
* The name of the bucket this notification is attached to
|
|
163
|
+
*/
|
|
164
|
+
bucketName: string;
|
|
165
|
+
/**
|
|
166
|
+
* The name of the queue that receives notification messages
|
|
167
|
+
*/
|
|
168
|
+
queueName: string;
|
|
169
|
+
/**
|
|
170
|
+
* Prefix filter(s) - normalized to always be a string or array matching input
|
|
171
|
+
*/
|
|
172
|
+
prefix?: string | string[];
|
|
173
|
+
/**
|
|
174
|
+
* Suffix filter(s) - normalized to always be a string or array matching input
|
|
175
|
+
*/
|
|
176
|
+
suffix?: string | string[];
|
|
177
|
+
/**
|
|
178
|
+
* Time when the notification rule was created
|
|
179
|
+
*/
|
|
180
|
+
createdAt?: string;
|
|
181
|
+
};
|
|
182
|
+
/**
|
|
183
|
+
* Type guard to check if a resource is an R2BucketNotification
|
|
184
|
+
*/
|
|
185
|
+
export declare function isR2BucketNotification(resource: any): resource is R2BucketNotification;
|
|
186
|
+
/**
|
|
187
|
+
* Creates an event notification rule for an R2 bucket that sends messages to a Queue.
|
|
188
|
+
*
|
|
189
|
+
* Event notifications allow you to trigger automated workflows when objects are created,
|
|
190
|
+
* modified, or deleted in your R2 bucket. Messages are delivered to a Cloudflare Queue
|
|
191
|
+
* where they can be processed by a consumer Worker.
|
|
192
|
+
*
|
|
193
|
+
* @example
|
|
194
|
+
* ## Basic object-create notification
|
|
195
|
+
*
|
|
196
|
+
* Send notifications to a queue when objects are created in a bucket:
|
|
197
|
+
*
|
|
198
|
+
* ```ts
|
|
199
|
+
* import { R2Bucket, Queue, R2BucketNotification } from "alchemy/cloudflare";
|
|
200
|
+
*
|
|
201
|
+
* const bucket = await R2Bucket("uploads");
|
|
202
|
+
* const queue = await Queue("upload-events");
|
|
203
|
+
*
|
|
204
|
+
* await R2BucketNotification("upload-notifications", {
|
|
205
|
+
* bucket,
|
|
206
|
+
* queue,
|
|
207
|
+
* eventTypes: ["object-create"],
|
|
208
|
+
* });
|
|
209
|
+
* ```
|
|
210
|
+
*
|
|
211
|
+
* @example
|
|
212
|
+
* ## Filtered notifications with prefix and suffix
|
|
213
|
+
*
|
|
214
|
+
* Only trigger notifications for specific object patterns:
|
|
215
|
+
*
|
|
216
|
+
* ```ts
|
|
217
|
+
* import { R2Bucket, Queue, R2BucketNotification } from "alchemy/cloudflare";
|
|
218
|
+
*
|
|
219
|
+
* const bucket = await R2Bucket("documents");
|
|
220
|
+
* const queue = await Queue("pdf-processing");
|
|
221
|
+
*
|
|
222
|
+
* await R2BucketNotification("pdf-uploads", {
|
|
223
|
+
* bucket,
|
|
224
|
+
* queue,
|
|
225
|
+
* eventTypes: ["object-create"],
|
|
226
|
+
* prefix: "incoming/",
|
|
227
|
+
* suffix: ".pdf",
|
|
228
|
+
* description: "Process newly uploaded PDF files",
|
|
229
|
+
* });
|
|
230
|
+
* ```
|
|
231
|
+
*
|
|
232
|
+
* @example
|
|
233
|
+
* ## Multiple suffixes for different file types
|
|
234
|
+
*
|
|
235
|
+
* Create rules for multiple file extensions at once:
|
|
236
|
+
*
|
|
237
|
+
* ```ts
|
|
238
|
+
* import { R2Bucket, Queue, R2BucketNotification } from "alchemy/cloudflare";
|
|
239
|
+
*
|
|
240
|
+
* const bucket = await R2Bucket("media");
|
|
241
|
+
* const queue = await Queue("audio-processing");
|
|
242
|
+
*
|
|
243
|
+
* await R2BucketNotification("audio-uploads", {
|
|
244
|
+
* bucket,
|
|
245
|
+
* queue,
|
|
246
|
+
* eventTypes: ["object-create"],
|
|
247
|
+
* prefix: "audio/",
|
|
248
|
+
* suffix: [".mp3", ".wav", ".flac"],
|
|
249
|
+
* });
|
|
250
|
+
* ```
|
|
251
|
+
*
|
|
252
|
+
* @example
|
|
253
|
+
* ## Multiple event types with typed queue
|
|
254
|
+
*
|
|
255
|
+
* Listen for both create and delete events with type-safe message handling:
|
|
256
|
+
*
|
|
257
|
+
* ```ts
|
|
258
|
+
* import { R2Bucket, Queue, R2BucketNotification, R2BucketNotificationMessage } from "alchemy/cloudflare";
|
|
259
|
+
*
|
|
260
|
+
* const bucket = await R2Bucket("assets");
|
|
261
|
+
* const queue = await Queue<R2BucketNotificationMessage>("asset-events");
|
|
262
|
+
*
|
|
263
|
+
* await R2BucketNotification("asset-notifications", {
|
|
264
|
+
* bucket,
|
|
265
|
+
* queue,
|
|
266
|
+
* eventTypes: ["object-create", "object-delete"],
|
|
267
|
+
* });
|
|
268
|
+
* ```
|
|
269
|
+
*
|
|
270
|
+
* @example
|
|
271
|
+
* ## Process notifications with a Worker
|
|
272
|
+
*
|
|
273
|
+
* Complete example showing bucket notifications processed by a Worker:
|
|
274
|
+
*
|
|
275
|
+
* ```ts
|
|
276
|
+
* import { R2Bucket, Queue, R2BucketNotification, Worker, R2BucketNotificationMessage } from "alchemy/cloudflare";
|
|
277
|
+
*
|
|
278
|
+
* const bucket = await R2Bucket("uploads");
|
|
279
|
+
* const queue = await Queue<R2BucketNotificationMessage>("upload-events");
|
|
280
|
+
*
|
|
281
|
+
* await R2BucketNotification("upload-notifications", {
|
|
282
|
+
* bucket,
|
|
283
|
+
* queue,
|
|
284
|
+
* eventTypes: ["object-create"],
|
|
285
|
+
* });
|
|
286
|
+
*
|
|
287
|
+
* await Worker("processor", {
|
|
288
|
+
* entrypoint: "./src/processor.ts",
|
|
289
|
+
* eventSources: [queue],
|
|
290
|
+
* });
|
|
291
|
+
* ```
|
|
292
|
+
*
|
|
293
|
+
* @see https://developers.cloudflare.com/r2/buckets/event-notifications/
|
|
294
|
+
*/
|
|
295
|
+
export declare const R2BucketNotification: (((this: any, id: string, props?: {}) => never) & (new (_: never) => never)) | ((this: Context<R2BucketNotification>, _id: string, props: R2BucketNotificationProps) => Promise<R2BucketNotification>);
|
|
296
|
+
interface NotificationRuleInfo {
|
|
297
|
+
ruleId: string;
|
|
298
|
+
queueId: string;
|
|
299
|
+
queueName: string;
|
|
300
|
+
actions: string[];
|
|
301
|
+
prefix: string;
|
|
302
|
+
suffix: string;
|
|
303
|
+
createdAt?: string;
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* List all notification rules for an R2 bucket
|
|
307
|
+
*/
|
|
308
|
+
export declare function listR2BucketNotifications(api: CloudflareApi, bucketName: string, options?: {
|
|
309
|
+
jurisdiction?: string;
|
|
310
|
+
}): Promise<NotificationRuleInfo[]>;
|
|
311
|
+
export {};
|
|
312
|
+
//# sourceMappingURL=r2-bucket-notification.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"r2-bucket-notification.d.ts","sourceRoot":"","sources":["../../src/cloudflare/r2-bucket-notification.ts"],"names":[],"mappings":"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"}
|