alchemy 0.15.10 → 0.15.12

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 (40) hide show
  1. package/lib/cloudflare/account-api-token.d.ts +36 -19
  2. package/lib/cloudflare/account-api-token.d.ts.map +1 -1
  3. package/lib/cloudflare/account-api-token.js +34 -26
  4. package/lib/cloudflare/account-api-token.js.map +1 -1
  5. package/lib/cloudflare/d1-clone.d.ts +55 -0
  6. package/lib/cloudflare/d1-clone.d.ts.map +1 -0
  7. package/lib/cloudflare/d1-clone.js +45 -0
  8. package/lib/cloudflare/d1-clone.js.map +1 -0
  9. package/lib/cloudflare/d1-database.d.ts +36 -1
  10. package/lib/cloudflare/d1-database.d.ts.map +1 -1
  11. package/lib/cloudflare/d1-database.js +73 -9
  12. package/lib/cloudflare/d1-database.js.map +1 -1
  13. package/lib/cloudflare/d1-export.d.ts +63 -0
  14. package/lib/cloudflare/d1-export.d.ts.map +1 -0
  15. package/lib/cloudflare/d1-export.js +50 -0
  16. package/lib/cloudflare/d1-export.js.map +1 -0
  17. package/lib/cloudflare/d1-import.d.ts +112 -0
  18. package/lib/cloudflare/d1-import.d.ts.map +1 -0
  19. package/lib/cloudflare/d1-import.js +143 -0
  20. package/lib/cloudflare/d1-import.js.map +1 -0
  21. package/lib/cloudflare/index.d.ts +3 -0
  22. package/lib/cloudflare/index.d.ts.map +1 -1
  23. package/lib/cloudflare/index.js +3 -0
  24. package/lib/cloudflare/index.js.map +1 -1
  25. package/lib/cloudflare/permission-groups.d.ts +2 -0
  26. package/lib/cloudflare/permission-groups.d.ts.map +1 -1
  27. package/lib/cloudflare/permission-groups.js.map +1 -1
  28. package/lib/util/sleep.d.ts +7 -0
  29. package/lib/util/sleep.d.ts.map +1 -0
  30. package/lib/util/sleep.js +9 -0
  31. package/lib/util/sleep.js.map +1 -0
  32. package/package.json +1 -1
  33. package/src/cloudflare/account-api-token.ts +72 -36
  34. package/src/cloudflare/d1-clone.ts +113 -0
  35. package/src/cloudflare/d1-database.ts +99 -15
  36. package/src/cloudflare/d1-export.ts +173 -0
  37. package/src/cloudflare/d1-import.ts +406 -0
  38. package/src/cloudflare/index.ts +3 -0
  39. package/src/cloudflare/permission-groups.ts +8 -0
  40. package/src/util/sleep.ts +8 -0
@@ -2,10 +2,11 @@ import type { Context } from "../context.js";
2
2
  import { Resource } from "../resource.js";
3
3
  import type { Secret } from "../secret.js";
4
4
  import { type CloudflareApiOptions } from "./api.js";
5
+ import { type PermissionGroupName } from "./permission-groups.js";
5
6
  /**
6
7
  * Permission group for a token policy
7
8
  */
8
- export interface TokenPolicyPermissionGroup {
9
+ export type TokenPolicyPermissionGroup = {
9
10
  /**
10
11
  * ID of the permission group
11
12
  */
@@ -14,7 +15,7 @@ export interface TokenPolicyPermissionGroup {
14
15
  * Optional metadata for the permission group
15
16
  */
16
17
  meta?: Record<string, any>;
17
- }
18
+ };
18
19
  /**
19
20
  * Policy that defines what the token can access
20
21
  */
@@ -26,12 +27,18 @@ export interface TokenPolicy {
26
27
  /**
27
28
  * Permission groups to include in the policy
28
29
  */
29
- permissionGroups: TokenPolicyPermissionGroup[];
30
+ permissionGroups: (PermissionGroupName | TokenPolicyPermissionGroup)[];
30
31
  /**
31
32
  * Resources the policy applies to
32
33
  */
33
- resources: Record<string, string>;
34
+ resources: {
35
+ [key in TokenPolicyResourceKey]?: string;
36
+ };
34
37
  }
38
+ /**
39
+ * @see https://developers.cloudflare.com/fundamentals/api/reference/permissions/
40
+ */
41
+ type TokenPolicyResourceKey = `com.cloudflare.api.account` | `com.cloudflare.api.account.${string}` | `com.cloudflare.api.account.zone.${string}` | `com.cloudflare.api.user.${string}`;
35
42
  /**
36
43
  * Condition for token usage (e.g., IP restrictions)
37
44
  */
@@ -78,13 +85,17 @@ export interface AccountApiTokenProps extends CloudflareApiOptions {
78
85
  /**
79
86
  * Output returned after Account API Token creation/update
80
87
  */
81
- export interface AccountApiToken extends Resource<"cloudflare::AccountApiToken">, AccountApiTokenProps {
88
+ export interface AccountApiToken extends Resource<"cloudflare::AccountApiToken"> {
82
89
  /**
83
90
  * The ID of the token
84
91
  *
85
92
  * Equiv. to ACCESS_KEY_ID
86
93
  */
87
94
  id: string;
95
+ /**
96
+ * Name of the token
97
+ */
98
+ name: string;
88
99
  /**
89
100
  * Status of the token
90
101
  */
@@ -101,7 +112,7 @@ export interface AccountApiToken extends Resource<"cloudflare::AccountApiToken">
101
112
  *
102
113
  * An alias of {@link id}
103
114
  */
104
- accessKeyId: string;
115
+ accessKeyId: Secret;
105
116
  /**
106
117
  * Secret access key for the token
107
118
  *
@@ -109,7 +120,7 @@ export interface AccountApiToken extends Resource<"cloudflare::AccountApiToken">
109
120
  *
110
121
  * @see https://developers.cloudflare.com/r2/api/tokens/#get-s3-api-credentials-from-an-api-token
111
122
  */
112
- secretAccessKey: string;
123
+ secretAccessKey: Secret;
113
124
  }
114
125
  /**
115
126
  * Creates a Cloudflare Account API Token with specified permissions.
@@ -121,21 +132,13 @@ export interface AccountApiToken extends Resource<"cloudflare::AccountApiToken">
121
132
  * @see https://developers.cloudflare.com/api/resources/accounts/subresources/tokens/methods/create/
122
133
  *
123
134
  * @example
124
- * // First, fetch all permission groups
125
- * const permissions = await PermissionGroups("cloudflare-permissions", {
126
- * accountId: cfAccountId,
127
- * });
128
- *
129
135
  * // Create a token with read-only permissions for specific zones
130
136
  * const readOnlyToken = await AccountApiToken("readonly-token", {
131
137
  * name: "Readonly Zone Token",
132
138
  * policies: [
133
139
  * {
134
140
  * effect: "allow",
135
- * permissionGroups: [
136
- * { id: permissions["Zone Read"].id },
137
- * { id: permissions["Analytics Read"].id }
138
- * ],
141
+ * permissionGroups: ["Zone Read", "Analytics Read"],
139
142
  * resources: {
140
143
  * "com.cloudflare.api.account.zone.22b1de5f1c0e4b3ea97bb1e963b06a43": "*",
141
144
  * "com.cloudflare.api.account.zone.eb78d65290b24279ba6f44721b3ea3c4": "*"
@@ -152,9 +155,7 @@ export interface AccountApiToken extends Resource<"cloudflare::AccountApiToken">
152
155
  * policies: [
153
156
  * {
154
157
  * effect: "allow",
155
- * permissionGroups: [
156
- * { id: permissions["Worker Routes Edit"].id }
157
- * ],
158
+ * permissionGroups: ["Worker Routes Edit"],
158
159
  * resources: {
159
160
  * "com.cloudflare.api.account.worker.route.*": "*"
160
161
  * }
@@ -169,6 +170,22 @@ export interface AccountApiToken extends Resource<"cloudflare::AccountApiToken">
169
170
  * }
170
171
  * }
171
172
  * });
173
+ *
174
+ * @example
175
+ * // Create a token with bucket access permissions
176
+ * const storageToken = await AccountApiToken("account-access-token", {
177
+ * name: "alchemy-account-access-token",
178
+ * policies: [
179
+ * {
180
+ * effect: "allow",
181
+ * permissionGroups: ["Workers R2 Storage Write"],
182
+ * resources: {
183
+ * "com.cloudflare.api.account": "*",
184
+ * },
185
+ * },
186
+ * ],
187
+ * });
172
188
  */
173
189
  export declare const AccountApiToken: (((this: any, id: string, props?: {}) => never) & (new (_: never) => never)) | ((this: Context<AccountApiToken>, id: string, props: AccountApiTokenProps) => Promise<AccountApiToken>);
190
+ export {};
174
191
  //# sourceMappingURL=account-api-token.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"account-api-token.d.ts","sourceRoot":"","sources":["../../src/cloudflare/account-api-token.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,KAAK,oBAAoB,EAAuB,MAAM,UAAU,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IAEzB;;OAEG;IACH,gBAAgB,EAAE,0BAA0B,EAAE,CAAC;IAE/C;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,SAAS,CAAC,EAAE;QACV;;WAEG;QACH,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;QAEd;;WAEG;QACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAChE;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,WAAW,EAAE,CAAC;IAExB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;CAC5B;AA4BD;;GAEG;AACH,MAAM,WAAW,eACf,SAAQ,QAAQ,CAAC,6BAA6B,CAAC,EAC7C,oBAAoB;IACtB;;;;OAIG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;;OAMG;IACH,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,eAAO,MAAM,eAAe,yFAGlB,OAAO,CAAC,eAAe,CAAC,MAC1B,MAAM,SACH,oBAAoB,KAC1B,OAAO,CAAC,eAAe,CAAC,CA8I5B,CAAC"}
1
+ {"version":3,"file":"account-api-token.d.ts","sourceRoot":"","sources":["../../src/cloudflare/account-api-token.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAuB,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,wBAAwB,CAAC;AAEhC;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG;IACvC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IAEzB;;OAEG;IACH,gBAAgB,EAAE,CAAC,mBAAmB,GAAG,0BAA0B,CAAC,EAAE,CAAC;IAEvE;;OAEG;IACH,SAAS,EAAE;SACR,GAAG,IAAI,sBAAsB,CAAC,CAAC,EAAE,MAAM;KACzC,CAAC;CACH;AAED;;GAEG;AACH,KAAK,sBAAsB,GACvB,4BAA4B,GAC5B,8BAA8B,MAAM,EAAE,GAEtC,mCAAmC,MAAM,EAAE,GAE3C,2BAA2B,MAAM,EAAE,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,SAAS,CAAC,EAAE;QACV;;WAEG;QACH,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;QAEd;;WAEG;QACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAChE;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,WAAW,EAAE,CAAC;IAExB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;CAC5B;AA4BD;;GAEG;AACH,MAAM,WAAW,eACf,SAAQ,QAAQ,CAAC,6BAA6B,CAAC;IAC/C;;;;OAIG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;;OAMG;IACH,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,eAAO,MAAM,eAAe,yFAGlB,OAAO,CAAC,eAAe,CAAC,MAC1B,MAAM,SACH,oBAAoB,KAC1B,OAAO,CAAC,eAAe,CAAC,CAwJ5B,CAAC"}
@@ -2,6 +2,7 @@ import { alchemy } from "../alchemy.js";
2
2
  import { Resource } from "../resource.js";
3
3
  import { sha256 } from "../util/sha256.js";
4
4
  import { createCloudflareApi } from "./api.js";
5
+ import { PermissionGroups, } from "./permission-groups.js";
5
6
  /**
6
7
  * Creates a Cloudflare Account API Token with specified permissions.
7
8
  *
@@ -12,21 +13,13 @@ import { createCloudflareApi } from "./api.js";
12
13
  * @see https://developers.cloudflare.com/api/resources/accounts/subresources/tokens/methods/create/
13
14
  *
14
15
  * @example
15
- * // First, fetch all permission groups
16
- * const permissions = await PermissionGroups("cloudflare-permissions", {
17
- * accountId: cfAccountId,
18
- * });
19
- *
20
16
  * // Create a token with read-only permissions for specific zones
21
17
  * const readOnlyToken = await AccountApiToken("readonly-token", {
22
18
  * name: "Readonly Zone Token",
23
19
  * policies: [
24
20
  * {
25
21
  * effect: "allow",
26
- * permissionGroups: [
27
- * { id: permissions["Zone Read"].id },
28
- * { id: permissions["Analytics Read"].id }
29
- * ],
22
+ * permissionGroups: ["Zone Read", "Analytics Read"],
30
23
  * resources: {
31
24
  * "com.cloudflare.api.account.zone.22b1de5f1c0e4b3ea97bb1e963b06a43": "*",
32
25
  * "com.cloudflare.api.account.zone.eb78d65290b24279ba6f44721b3ea3c4": "*"
@@ -43,9 +36,7 @@ import { createCloudflareApi } from "./api.js";
43
36
  * policies: [
44
37
  * {
45
38
  * effect: "allow",
46
- * permissionGroups: [
47
- * { id: permissions["Worker Routes Edit"].id }
48
- * ],
39
+ * permissionGroups: ["Worker Routes Edit"],
49
40
  * resources: {
50
41
  * "com.cloudflare.api.account.worker.route.*": "*"
51
42
  * }
@@ -60,6 +51,21 @@ import { createCloudflareApi } from "./api.js";
60
51
  * }
61
52
  * }
62
53
  * });
54
+ *
55
+ * @example
56
+ * // Create a token with bucket access permissions
57
+ * const storageToken = await AccountApiToken("account-access-token", {
58
+ * name: "alchemy-account-access-token",
59
+ * policies: [
60
+ * {
61
+ * effect: "allow",
62
+ * permissionGroups: ["Workers R2 Storage Write"],
63
+ * resources: {
64
+ * "com.cloudflare.api.account": "*",
65
+ * },
66
+ * },
67
+ * ],
68
+ * });
63
69
  */
64
70
  export const AccountApiToken = Resource("cloudflare::AccountApiToken", async function (id, props) {
65
71
  // Create Cloudflare API client with automatic account discovery
@@ -83,16 +89,26 @@ export const AccountApiToken = Resource("cloudflare::AccountApiToken", async fun
83
89
  // Return destroyed state
84
90
  return this.destroy();
85
91
  }
92
+ const permissionGroups = await PermissionGroups("cloudflare-permission-groups", props);
86
93
  // Transform our properties to API format
87
94
  const apiPayload = {
88
95
  name: props.name,
89
96
  policies: props.policies.map((policy) => ({
90
97
  effect: policy.effect,
91
- permission_groups: policy.permissionGroups.map((pg) => ({
92
- id: pg.id,
93
- meta: pg.meta || {},
98
+ permission_groups: policy.permissionGroups.map((pg) => typeof pg === "string"
99
+ ? {
100
+ id: permissionGroups[pg].id,
101
+ }
102
+ : {
103
+ id: pg.id,
104
+ meta: pg.meta || {},
105
+ }),
106
+ resources: Object.fromEntries(Object.entries(policy.resources).map(([key, value]) => {
107
+ if (key === "com.cloudflare.api.account") {
108
+ return [`com.cloudflare.api.account.${api.accountId}`, value];
109
+ }
110
+ return [key, value];
94
111
  })),
95
- resources: policy.resources,
96
112
  })),
97
113
  // Format dates for Cloudflare API (removing milliseconds)
98
114
  ...(props.expiresOn
@@ -153,14 +169,6 @@ export const AccountApiToken = Resource("cloudflare::AccountApiToken", async fun
153
169
  id: tokenData.id,
154
170
  name: tokenData.name,
155
171
  status: tokenData.status,
156
- policies: tokenData.policies.map((policy) => ({
157
- effect: policy.effect,
158
- permissionGroups: policy.permission_groups.map((pg) => ({
159
- id: pg.id,
160
- meta: pg.meta,
161
- })),
162
- resources: policy.resources,
163
- })),
164
172
  ...(tokenData.expires_on ? { expiresOn: tokenData.expires_on } : {}),
165
173
  ...(tokenData.not_before ? { notBefore: tokenData.not_before } : {}),
166
174
  ...(tokenData.condition
@@ -176,8 +184,8 @@ export const AccountApiToken = Resource("cloudflare::AccountApiToken", async fun
176
184
  }
177
185
  : {}),
178
186
  value: tokenValue,
179
- accessKeyId: tokenData.id,
180
- secretAccessKey: sha256(tokenValue.unencrypted),
187
+ accessKeyId: alchemy.secret(tokenData.id),
188
+ secretAccessKey: alchemy.secret(sha256(tokenValue.unencrypted)),
181
189
  });
182
190
  });
183
191
  //# sourceMappingURL=account-api-token.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"account-api-token.js","sourceRoot":"","sources":["../../src/cloudflare/account-api-token.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account-api-token.js","sourceRoot":"","sources":["../../src/cloudflare/account-api-token.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import type { CloudflareApi } from "./api.js";
2
+ import { type ExportD1DatabaseOptions, type ExportD1DatabaseResult } from "./d1-export.js";
3
+ import { type ImportD1DatabaseOptions, type ImportD1DatabaseResult } from "./d1-import.js";
4
+ /**
5
+ * Options for cloning a D1 database
6
+ */
7
+ export interface CloneD1DatabaseOptions {
8
+ /**
9
+ * The ID of the source D1 database to clone from
10
+ */
11
+ sourceDatabaseId: string;
12
+ /**
13
+ * The ID of the target D1 database to clone to
14
+ */
15
+ targetDatabaseId: string;
16
+ /**
17
+ * Optional export options for the source database
18
+ */
19
+ exportOptions?: Omit<ExportD1DatabaseOptions, "databaseId">;
20
+ /**
21
+ * Optional import options for the target database
22
+ */
23
+ importOptions?: Omit<ImportD1DatabaseOptions, "databaseId" | "sqlData">;
24
+ }
25
+ /**
26
+ * Response from the clone D1 database operation
27
+ */
28
+ export interface CloneD1DatabaseResult {
29
+ /**
30
+ * Result of the export operation
31
+ */
32
+ exportResult: ExportD1DatabaseResult;
33
+ /**
34
+ * Result of the import operation
35
+ */
36
+ importResult: ImportD1DatabaseResult;
37
+ /**
38
+ * Whether the clone operation was successful
39
+ */
40
+ success: boolean;
41
+ }
42
+ /**
43
+ * Clones a D1 database by exporting from a source database and importing to a target database.
44
+ * Handles the full workflow:
45
+ * 1. Export source database to get a signed URL
46
+ * 2. Fetch SQL content from the signed URL
47
+ * 3. Import SQL content into the target database
48
+ *
49
+ * @param api The CloudflareApi instance to use for requests
50
+ * @param options Options including source and target database IDs
51
+ * @returns An object containing results from both export and import operations
52
+ * @throws Will throw an error if any part of the clone process fails
53
+ */
54
+ export declare function cloneD1Database(api: CloudflareApi, options: CloneD1DatabaseOptions): Promise<CloneD1DatabaseResult>;
55
+ //# sourceMappingURL=d1-clone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"d1-clone.d.ts","sourceRoot":"","sources":["../../src/cloudflare/d1-clone.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC5B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC5B,MAAM,gBAAgB,CAAC;AAExB;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,aAAa,CAAC,EAAE,IAAI,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC;IAE5D;;OAEG;IACH,aAAa,CAAC,EAAE,IAAI,CAAC,uBAAuB,EAAE,YAAY,GAAG,SAAS,CAAC,CAAC;CACzE;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,YAAY,EAAE,sBAAsB,CAAC;IAErC;;OAEG;IACH,YAAY,EAAE,sBAAsB,CAAC;IAErC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CAwChC"}
@@ -0,0 +1,45 @@
1
+ import { exportD1Database, } from "./d1-export.js";
2
+ import { importD1Database, } from "./d1-import.js";
3
+ /**
4
+ * Clones a D1 database by exporting from a source database and importing to a target database.
5
+ * Handles the full workflow:
6
+ * 1. Export source database to get a signed URL
7
+ * 2. Fetch SQL content from the signed URL
8
+ * 3. Import SQL content into the target database
9
+ *
10
+ * @param api The CloudflareApi instance to use for requests
11
+ * @param options Options including source and target database IDs
12
+ * @returns An object containing results from both export and import operations
13
+ * @throws Will throw an error if any part of the clone process fails
14
+ */
15
+ export async function cloneD1Database(api, options) {
16
+ const exportResult = await exportD1Database(api, {
17
+ databaseId: options.sourceDatabaseId,
18
+ ...options.exportOptions,
19
+ });
20
+ if (!exportResult.success) {
21
+ throw new Error(`Failed to export source database: ${options.sourceDatabaseId}`);
22
+ }
23
+ // Step 2: Fetch SQL content from the signed URL
24
+ const sqlResponse = await fetch(exportResult.signed_url);
25
+ if (!sqlResponse.ok) {
26
+ throw new Error(`Failed to fetch SQL content: ${sqlResponse.statusText}`);
27
+ }
28
+ const sqlData = await sqlResponse.text();
29
+ // Step 3: Import SQL content into target database
30
+ const importResult = await importD1Database(api, {
31
+ databaseId: options.targetDatabaseId,
32
+ sqlData,
33
+ filename: exportResult.filename,
34
+ ...options.importOptions,
35
+ });
36
+ if (!importResult.success) {
37
+ throw new Error(`Failed to import to target database: ${options.targetDatabaseId}`);
38
+ }
39
+ return {
40
+ exportResult,
41
+ importResult,
42
+ success: true,
43
+ };
44
+ }
45
+ //# sourceMappingURL=d1-clone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"d1-clone.js","sourceRoot":"","sources":["../../src/cloudflare/d1-clone.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,GAGjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,gBAAgB,GAGjB,MAAM,gBAAgB,CAAC;AA+CxB;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,GAAkB,EAClB,OAA+B;IAE/B,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE;QAC/C,UAAU,EAAE,OAAO,CAAC,gBAAgB;QACpC,GAAG,OAAO,CAAC,aAAa;KACzB,CAAC,CAAC;IAEH,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,qCAAqC,OAAO,CAAC,gBAAgB,EAAE,CAChE,CAAC;IACJ,CAAC;IAED,gDAAgD;IAChD,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAEzD,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,gCAAgC,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;IAEzC,kDAAkD;IAClD,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE;QAC/C,UAAU,EAAE,OAAO,CAAC,gBAAgB;QACpC,OAAO;QACP,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,GAAG,OAAO,CAAC,aAAa;KACzB,CAAC,CAAC;IAEH,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,wCAAwC,OAAO,CAAC,gBAAgB,EAAE,CACnE,CAAC;IACJ,CAAC;IAED,OAAO;QACL,YAAY;QACZ,YAAY;QACZ,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
@@ -42,6 +42,20 @@ export interface D1DatabaseProps extends CloudflareApiOptions {
42
42
  * @default false
43
43
  */
44
44
  adopt?: boolean;
45
+ /**
46
+ * Clone data from an existing database to this new database.
47
+ * Only applicable during creation phase.
48
+ *
49
+ * Can be specified as:
50
+ * - A D1Database object
51
+ * - An object with an id property
52
+ * - An object with a name property (will look up the ID by name)
53
+ */
54
+ clone?: D1Database | {
55
+ id: string;
56
+ } | {
57
+ name: string;
58
+ };
45
59
  /**
46
60
  * These files will be generated internally with the D1Database wrapper function when migrationsDir is specified
47
61
  *
@@ -97,7 +111,6 @@ export type D1Database = Resource<"cloudflare::D1Database"> & D1DatabaseProps &
97
111
  mode: "auto" | "disabled";
98
112
  };
99
113
  };
100
- export declare function D1Database(id: string, props: Omit<D1DatabaseProps, "migrationsFiles">): Promise<D1Database>;
101
114
  /**
102
115
  * Creates and manages Cloudflare D1 Databases.
103
116
  *
@@ -134,8 +147,30 @@ export declare function D1Database(id: string, props: Omit<D1DatabaseProps, "mig
134
147
  * migrationsDir: "./migrations",
135
148
  * });
136
149
  *
150
+ * @example
151
+ * // Clone an existing database by ID
152
+ * const clonedDb = await D1Database("cloned-db", {
153
+ * name: "cloned-db",
154
+ * clone: otherDb
155
+ * });
156
+ *
157
+ * @example
158
+ * // Clone an existing database by ID
159
+ * const clonedDb = await D1Database("cloned-db", {
160
+ * name: "cloned-db",
161
+ * clone: { id: "existing-db-uuid" }
162
+ * });
163
+ *
164
+ * @example
165
+ * // Clone an existing database by name
166
+ * const clonedDb = await D1Database("cloned-db", {
167
+ * name: "cloned-db",
168
+ * clone: { name: "existing-db-name" }
169
+ * });
170
+ *
137
171
  * @see https://developers.cloudflare.com/d1/
138
172
  */
173
+ export declare function D1Database(id: string, props: Omit<D1DatabaseProps, "migrationsFiles">): Promise<D1Database>;
139
174
  export declare const D1DatabaseResource: (((this: any, id: string, props?: {}) => never) & (new (_: never) => never)) | ((this: Context<D1Database>, id: string, props?: D1DatabaseProps) => Promise<D1Database>);
140
175
  interface CloudflareD1Response {
141
176
  result: {
@@ -1 +1 @@
1
- {"version":3,"file":"d1-database.d.ts","sourceRoot":"","sources":["../../src/cloudflare/d1-database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"d1-database.d.ts","sourceRoot":"","sources":["../../src/cloudflare/d1-database.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,8 @@
1
1
  import { Resource } from "../resource.js";
2
2
  import { CloudflareApiError, handleApiError } from "./api-error.js";
3
3
  import { createCloudflareApi, } from "./api.js";
4
+ import { cloneD1Database } from "./d1-clone.js";
4
5
  import { applyMigrations, listMigrationsFiles } from "./d1-migrations.js";
5
- export async function D1Database(id, props) {
6
- const migrationsFiles = props.migrationsDir
7
- ? await listMigrationsFiles(props.migrationsDir)
8
- : [];
9
- return D1DatabaseResource(id, {
10
- ...props,
11
- migrationsFiles,
12
- });
13
- }
14
6
  /**
15
7
  * Creates and manages Cloudflare D1 Databases.
16
8
  *
@@ -47,8 +39,38 @@ export async function D1Database(id, props) {
47
39
  * migrationsDir: "./migrations",
48
40
  * });
49
41
  *
42
+ * @example
43
+ * // Clone an existing database by ID
44
+ * const clonedDb = await D1Database("cloned-db", {
45
+ * name: "cloned-db",
46
+ * clone: otherDb
47
+ * });
48
+ *
49
+ * @example
50
+ * // Clone an existing database by ID
51
+ * const clonedDb = await D1Database("cloned-db", {
52
+ * name: "cloned-db",
53
+ * clone: { id: "existing-db-uuid" }
54
+ * });
55
+ *
56
+ * @example
57
+ * // Clone an existing database by name
58
+ * const clonedDb = await D1Database("cloned-db", {
59
+ * name: "cloned-db",
60
+ * clone: { name: "existing-db-name" }
61
+ * });
62
+ *
50
63
  * @see https://developers.cloudflare.com/d1/
51
64
  */
65
+ export async function D1Database(id, props) {
66
+ const migrationsFiles = props.migrationsDir
67
+ ? await listMigrationsFiles(props.migrationsDir)
68
+ : [];
69
+ return D1DatabaseResource(id, {
70
+ ...props,
71
+ migrationsFiles,
72
+ });
73
+ }
52
74
  export const D1DatabaseResource = Resource("cloudflare::D1Database", async function (id, props = {}) {
53
75
  const api = await createCloudflareApi(props);
54
76
  const databaseName = props.name ?? id;
@@ -67,6 +89,10 @@ export const D1DatabaseResource = Resource("cloudflare::D1Database", async funct
67
89
  console.log("Creating D1 database:", databaseName);
68
90
  try {
69
91
  dbData = await createDatabase(api, databaseName, props);
92
+ // If clone property is provided, perform cloning after database creation
93
+ if (props.clone && dbData.result.uuid) {
94
+ await cloneDb(api, props.clone, dbData.result.uuid);
95
+ }
70
96
  }
71
97
  catch (error) {
72
98
  // Check if this is a "database already exists" error and adopt is enabled
@@ -235,4 +261,42 @@ export async function updateDatabase(api, databaseId, props) {
235
261
  }
236
262
  return (await updateResponse.json());
237
263
  }
264
+ /**
265
+ * Helper function to clone data from a source database to a target database
266
+ * Resolves the source database ID from different input formats and performs the cloning operation
267
+ *
268
+ * @param api CloudflareApi instance
269
+ * @param sourceDb Source database specification (can be an ID, a name, or a D1Database object)
270
+ * @param targetDbId Target database ID
271
+ */
272
+ async function cloneDb(api, sourceDb, targetDbId) {
273
+ let sourceId;
274
+ // Determine source database ID
275
+ if ("id" in sourceDb && sourceDb.id) {
276
+ // Use provided ID directly
277
+ sourceId = sourceDb.id;
278
+ }
279
+ else if ("name" in sourceDb && sourceDb.name) {
280
+ // Look up ID by name
281
+ const databases = await listDatabases(api, sourceDb.name);
282
+ const foundDb = databases.find((db) => db.name === sourceDb.name);
283
+ if (!foundDb) {
284
+ throw new Error(`Source database with name '${sourceDb.name}' not found for cloning`);
285
+ }
286
+ sourceId = foundDb.id;
287
+ }
288
+ else if ("type" in sourceDb && sourceDb.type === "d1" && "id" in sourceDb) {
289
+ // It's a D1Database object
290
+ sourceId = sourceDb.id;
291
+ }
292
+ else {
293
+ throw new Error("Invalid clone property: must provide either id or name");
294
+ }
295
+ // Perform the cloning
296
+ console.log(`Cloning data from database ${sourceId} to ${targetDbId}`);
297
+ await cloneD1Database(api, {
298
+ sourceDatabaseId: sourceId,
299
+ targetDatabaseId: targetDbId,
300
+ });
301
+ }
238
302
  //# sourceMappingURL=d1-database.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"d1-database.js","sourceRoot":"","sources":["../../src/cloudflare/d1-database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"d1-database.js","sourceRoot":"","sources":["../../src/cloudflare/d1-database.ts"],"names":[],"mappings":"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"}