alchemy 0.33.1 → 0.34.1
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.mjs +38018 -3538
- package/bin/alchemy.ts +26 -0
- package/bin/bootstrap-s3.ts +255 -0
- package/lib/aws/index.d.ts +1 -0
- package/lib/aws/index.d.ts.map +1 -1
- package/lib/aws/index.js +1 -0
- package/lib/aws/index.js.map +1 -1
- package/lib/aws/s3-state-store.d.ts +117 -0
- package/lib/aws/s3-state-store.d.ts.map +1 -0
- package/lib/aws/s3-state-store.js +224 -0
- package/lib/aws/s3-state-store.js.map +1 -0
- package/lib/cloudflare/d1-database.d.ts +1 -1
- package/lib/cloudflare/d1-database.d.ts.map +1 -1
- package/lib/cloudflare/d1-database.js +1 -1
- package/lib/cloudflare/d1-database.js.map +1 -1
- package/lib/cloudflare/wrangler.json.js +5 -1
- package/lib/cloudflare/wrangler.json.js.map +1 -1
- package/package.json +2 -1
- package/src/aws/index.ts +1 -0
- package/src/aws/s3-state-store.ts +316 -0
- package/src/cloudflare/d1-database.ts +1 -1
- package/src/cloudflare/wrangler.json.ts +13 -3
|
@@ -113,7 +113,7 @@ export type D1DatabaseResource = Resource<"cloudflare::D1Database"> & D1Database
|
|
|
113
113
|
};
|
|
114
114
|
};
|
|
115
115
|
export type D1Database = D1DatabaseResource & Bound<D1DatabaseResource>;
|
|
116
|
-
export declare function D1Database(id: string, props
|
|
116
|
+
export declare function D1Database(id: string, props?: Omit<D1DatabaseProps, "migrationsFiles">): Promise<D1Database>;
|
|
117
117
|
interface CloudflareD1Response {
|
|
118
118
|
result: {
|
|
119
119
|
uuid?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d1-database.d.ts","sourceRoot":"","sources":["../../src/cloudflare/d1-database.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAgB,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAQ,KAAK,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAC1B,MAAM,UAAU,CAAC;AAIlB;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,oBAAoB;IAC3D;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,mBAAmB,CAAC,EAChB,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,CAAC;IAEX;;;OAGG;IACH,eAAe,CAAC,EAAE;QAChB;;;;WAIG;QACH,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;KAC3B,CAAC;IAEF;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,UAAU,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAEvD;;;;OAIG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAErD;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,QAAQ,GACjB,QAAQ,IAAI,kBAAkB,CAEhC;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC,wBAAwB,CAAC,GACjE,eAAe,GAAG;IAChB,IAAI,EAAE,IAAI,CAAC;IACX;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,eAAe,CAAC,EAAE;QAChB;;WAEG;QACH,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;KAC3B,CAAC;CACH,CAAC;AAEJ,MAAM,MAAM,UAAU,GAAG,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAExE,wBAAsB,UAAU,CAC9B,EAAE,EAAE,MAAM,EACV,KAAK,
|
|
1
|
+
{"version":3,"file":"d1-database.d.ts","sourceRoot":"","sources":["../../src/cloudflare/d1-database.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ import { applyMigrations, listMigrationsFiles } from "./d1-migrations.js";
|
|
|
8
8
|
export function isD1Database(resource) {
|
|
9
9
|
return resource[ResourceKind] === "cloudflare::D1Database";
|
|
10
10
|
}
|
|
11
|
-
export async function D1Database(id, props) {
|
|
11
|
+
export async function D1Database(id, props = {}) {
|
|
12
12
|
const migrationsFiles = props.migrationsDir
|
|
13
13
|
? await listMigrationsFiles(props.migrationsDir)
|
|
14
14
|
: [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d1-database.js","sourceRoot":"","sources":["../../src/cloudflare/d1-database.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAc,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EACL,mBAAmB,GAGpB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAsF1E,MAAM,UAAU,YAAY,CAC1B,QAAkB;IAElB,OAAO,QAAQ,CAAC,YAAY,CAAC,KAAK,wBAAwB,CAAC;AAC7D,CAAC;AA8CD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,EAAU,EACV,
|
|
1
|
+
{"version":3,"file":"d1-database.js","sourceRoot":"","sources":["../../src/cloudflare/d1-database.ts"],"names":[],"mappings":"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"}
|
|
@@ -122,9 +122,11 @@ function processBindings(spec, bindings, eventSources, workerName) {
|
|
|
122
122
|
}
|
|
123
123
|
else if (binding.type === "kv_namespace") {
|
|
124
124
|
// KV Namespace binding
|
|
125
|
+
const id = "namespaceId" in binding ? binding.namespaceId : binding.id;
|
|
125
126
|
kvNamespaces.push({
|
|
126
127
|
binding: bindingName,
|
|
127
|
-
id:
|
|
128
|
+
id: id,
|
|
129
|
+
preview_id: id,
|
|
128
130
|
});
|
|
129
131
|
}
|
|
130
132
|
else if (typeof binding === "object" &&
|
|
@@ -148,6 +150,7 @@ function processBindings(spec, bindings, eventSources, workerName) {
|
|
|
148
150
|
r2Buckets.push({
|
|
149
151
|
binding: bindingName,
|
|
150
152
|
bucket_name: binding.name,
|
|
153
|
+
preview_bucket_name: binding.name,
|
|
151
154
|
});
|
|
152
155
|
}
|
|
153
156
|
else if (binding.type === "secret") {
|
|
@@ -174,6 +177,7 @@ function processBindings(spec, bindings, eventSources, workerName) {
|
|
|
174
177
|
database_id: binding.id,
|
|
175
178
|
database_name: binding.name,
|
|
176
179
|
migrations_dir: binding.migrationsDir,
|
|
180
|
+
preview_database_id: binding.id,
|
|
177
181
|
});
|
|
178
182
|
}
|
|
179
183
|
else if (binding.type === "queue") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrangler.json.js","sourceRoot":"","sources":["../../src/cloudflare/wrangler.json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAiB,MAAM,eAAe,CAAC;AAGpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAoErC;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,QAAQ,CAClC,0BAA0B,EAC1B;IACE,YAAY,EAAE,IAAI;CACnB,EACD,KAAK,WAEH,GAAW,EACX,KAAwB;IAExB,qDAAqD;IACrD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,IAAI,gBAAgB,CAAC;IAEhD,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAE5B,MAAM,IAAI,GAAqB;QAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,sCAAsC;QACtC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,UAAU;QACrC,oFAAoF;QACpF,kBAAkB,EAAE,MAAM,CAAC,iBAAiB;QAC5C,mBAAmB,EAAE,KAAK,CAAC,MAAM,CAAC,kBAAkB;QACpD,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC;IAEF,iCAAiC;IACjC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3E,CAAC;IAED,oCAAoC;IACpC,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;IAChC,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAErD,sBAAsB;IACtB,OAAO,IAAI,CAAC;QACV,GAAG,KAAK;QACR,IAAI,EAAE,QAAQ;QACd,IAAI;QACJ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC,CAAC;AACL,CAAC,CACF,CAAC;AAyOF;;GAEG;AACH,SAAS,eAAe,CACtB,IAAsB,EACtB,QAAkB,EAClB,YAAuC,EACvC,UAAkB;IAElB,4CAA4C;IAC5C,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"wrangler.json.js","sourceRoot":"","sources":["../../src/cloudflare/wrangler.json.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "alchemy",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.34.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"module": "./lib/index.js",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -158,6 +158,7 @@
|
|
|
158
158
|
"@ai-sdk/anthropic": "^1.1.6",
|
|
159
159
|
"@ai-sdk/openai": "^1.1.9",
|
|
160
160
|
"@asteasolutions/zod-to-openapi": "^7.3.0",
|
|
161
|
+
"@aws-sdk/client-resource-groups-tagging-api": "^3.830.0",
|
|
161
162
|
"@aws-sdk/client-s3": "3.726.1",
|
|
162
163
|
"@biomejs/biome": "^1.9.4",
|
|
163
164
|
"@cloudflare/puppeteer": "^1.0.2",
|
package/src/aws/index.ts
CHANGED
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DeleteObjectCommand,
|
|
3
|
+
GetObjectCommand,
|
|
4
|
+
ListObjectsV2Command,
|
|
5
|
+
NoSuchBucket,
|
|
6
|
+
NoSuchKey,
|
|
7
|
+
PutObjectCommand,
|
|
8
|
+
S3Client,
|
|
9
|
+
} from "@aws-sdk/client-s3";
|
|
10
|
+
import { ResourceScope } from "../resource.ts";
|
|
11
|
+
import type { Scope } from "../scope.ts";
|
|
12
|
+
import { serialize } from "../serde.ts";
|
|
13
|
+
import { deserializeState, type State, type StateStore } from "../state.ts";
|
|
14
|
+
import { ignore } from "../util/ignore.ts";
|
|
15
|
+
import { retry } from "./retry.ts";
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Options for S3StateStore
|
|
19
|
+
*/
|
|
20
|
+
export interface S3StateStoreOptions {
|
|
21
|
+
/**
|
|
22
|
+
* The prefix to use for object keys in the S3 bucket
|
|
23
|
+
* This allows multiple state stores to use the same S3 bucket
|
|
24
|
+
*/
|
|
25
|
+
prefix?: string;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* The S3 bucket name to use
|
|
29
|
+
* Required - the bucket must already exist
|
|
30
|
+
*/
|
|
31
|
+
bucketName?: string;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* AWS region for the S3 client
|
|
35
|
+
* If not provided, uses the default AWS region configuration
|
|
36
|
+
*/
|
|
37
|
+
region?: string;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* State store implementation using AWS S3
|
|
42
|
+
* Provides reliable, scalable state storage with eventual consistency
|
|
43
|
+
*/
|
|
44
|
+
export class S3StateStore implements StateStore {
|
|
45
|
+
private client: S3Client;
|
|
46
|
+
private prefix: string;
|
|
47
|
+
private bucketName: string;
|
|
48
|
+
private initialized = false;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Create a new S3StateStore
|
|
52
|
+
*
|
|
53
|
+
* @param scope The scope this store belongs to
|
|
54
|
+
* @param options Options for the state store
|
|
55
|
+
*/
|
|
56
|
+
constructor(
|
|
57
|
+
public readonly scope: Scope,
|
|
58
|
+
private readonly options: S3StateStoreOptions = {},
|
|
59
|
+
) {
|
|
60
|
+
// Use the scope's chain to build the prefix, similar to how FileSystemStateStore builds its directory
|
|
61
|
+
const scopePath = scope.chain.join("/");
|
|
62
|
+
this.prefix = options.prefix
|
|
63
|
+
? `${options.prefix}${scopePath}/`
|
|
64
|
+
: `alchemy/${scopePath}/`;
|
|
65
|
+
|
|
66
|
+
this.bucketName = options.bucketName ?? "alchemy-state";
|
|
67
|
+
|
|
68
|
+
this.client = new S3Client({
|
|
69
|
+
region: options.region,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Initialize the S3 client and verify bucket access
|
|
75
|
+
*/
|
|
76
|
+
async init(): Promise<void> {
|
|
77
|
+
if (this.initialized) return;
|
|
78
|
+
|
|
79
|
+
// Verify bucket exists and is accessible
|
|
80
|
+
try {
|
|
81
|
+
await retry(() =>
|
|
82
|
+
this.client.send(
|
|
83
|
+
new ListObjectsV2Command({
|
|
84
|
+
Bucket: this.bucketName,
|
|
85
|
+
MaxKeys: 1,
|
|
86
|
+
}),
|
|
87
|
+
),
|
|
88
|
+
);
|
|
89
|
+
} catch (error: any) {
|
|
90
|
+
if (error.name === NoSuchBucket.name) {
|
|
91
|
+
throw new Error(
|
|
92
|
+
`S3 bucket '${this.bucketName}' does not exist. Please create the bucket first.`,
|
|
93
|
+
);
|
|
94
|
+
}
|
|
95
|
+
throw error;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
this.initialized = true;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* S3 buckets cannot be deleted programmatically via this method
|
|
103
|
+
*/
|
|
104
|
+
async deinit(): Promise<void> {
|
|
105
|
+
// We don't delete the bucket here, only via explicit resource deletion
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* List all resources in the state store
|
|
110
|
+
*/
|
|
111
|
+
async list(): Promise<string[]> {
|
|
112
|
+
await this.ensureInitialized();
|
|
113
|
+
|
|
114
|
+
const keys: string[] = [];
|
|
115
|
+
let continuationToken: string | undefined;
|
|
116
|
+
|
|
117
|
+
do {
|
|
118
|
+
const response = await retry(() =>
|
|
119
|
+
this.client.send(
|
|
120
|
+
new ListObjectsV2Command({
|
|
121
|
+
Bucket: this.bucketName,
|
|
122
|
+
Prefix: this.prefix,
|
|
123
|
+
ContinuationToken: continuationToken,
|
|
124
|
+
}),
|
|
125
|
+
),
|
|
126
|
+
);
|
|
127
|
+
|
|
128
|
+
if (response.Contents) {
|
|
129
|
+
keys.push(
|
|
130
|
+
...response.Contents.map((obj) => {
|
|
131
|
+
const key = obj.Key!.slice(this.prefix.length);
|
|
132
|
+
return this.convertKeyFromStorage(key);
|
|
133
|
+
}),
|
|
134
|
+
);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
continuationToken = response.NextContinuationToken;
|
|
138
|
+
} while (continuationToken);
|
|
139
|
+
|
|
140
|
+
return keys;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Count the number of items in the state store
|
|
145
|
+
*/
|
|
146
|
+
async count(): Promise<number> {
|
|
147
|
+
const keys = await this.list();
|
|
148
|
+
return keys.length;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Get a state by key
|
|
153
|
+
*
|
|
154
|
+
* @param key The key to look up
|
|
155
|
+
* @returns The state or undefined if not found
|
|
156
|
+
*/
|
|
157
|
+
async get(key: string): Promise<State | undefined> {
|
|
158
|
+
await this.ensureInitialized();
|
|
159
|
+
|
|
160
|
+
try {
|
|
161
|
+
const response = await retry(() =>
|
|
162
|
+
this.client.send(
|
|
163
|
+
new GetObjectCommand({
|
|
164
|
+
Bucket: this.bucketName,
|
|
165
|
+
Key: this.getObjectKey(key),
|
|
166
|
+
}),
|
|
167
|
+
),
|
|
168
|
+
);
|
|
169
|
+
|
|
170
|
+
if (!response.Body) {
|
|
171
|
+
return undefined;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
// Read the stream into a string
|
|
175
|
+
const content = await response.Body.transformToString();
|
|
176
|
+
|
|
177
|
+
// Parse and deserialize the state data
|
|
178
|
+
const state = await deserializeState(this.scope, content);
|
|
179
|
+
|
|
180
|
+
// Create a new state object with proper output
|
|
181
|
+
return {
|
|
182
|
+
...state,
|
|
183
|
+
output: {
|
|
184
|
+
...(state.output || {}),
|
|
185
|
+
[ResourceScope]: this.scope,
|
|
186
|
+
},
|
|
187
|
+
};
|
|
188
|
+
} catch (error: any) {
|
|
189
|
+
if (error.name === NoSuchKey.name) {
|
|
190
|
+
return undefined;
|
|
191
|
+
}
|
|
192
|
+
throw error;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* Get multiple states by their keys
|
|
198
|
+
*
|
|
199
|
+
* @param ids Array of keys to fetch
|
|
200
|
+
* @returns Record mapping keys to their states
|
|
201
|
+
*/
|
|
202
|
+
async getBatch(ids: string[]): Promise<Record<string, State>> {
|
|
203
|
+
const result: Record<string, State> = {};
|
|
204
|
+
|
|
205
|
+
// S3 doesn't have a batch get operation, so we need to make multiple requests
|
|
206
|
+
const promises = ids.map(async (id) => {
|
|
207
|
+
const state = await this.get(id);
|
|
208
|
+
if (state) {
|
|
209
|
+
result[id] = state;
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
|
|
213
|
+
await Promise.all(promises);
|
|
214
|
+
return result;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* Get all states in the store
|
|
219
|
+
*
|
|
220
|
+
* @returns Record mapping all keys to their states
|
|
221
|
+
*/
|
|
222
|
+
async all(): Promise<Record<string, State>> {
|
|
223
|
+
const keys = await this.list();
|
|
224
|
+
return this.getBatch(keys);
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* Set a state for a key
|
|
229
|
+
*
|
|
230
|
+
* @param key The key to set
|
|
231
|
+
* @param value The state to store
|
|
232
|
+
*/
|
|
233
|
+
async set(key: string, value: State): Promise<void> {
|
|
234
|
+
await this.ensureInitialized();
|
|
235
|
+
|
|
236
|
+
const objectKey = this.getObjectKey(key);
|
|
237
|
+
|
|
238
|
+
// Serialize the state to handle cyclic structures
|
|
239
|
+
const serializedData = JSON.stringify(
|
|
240
|
+
await serialize(this.scope, value),
|
|
241
|
+
null,
|
|
242
|
+
2,
|
|
243
|
+
);
|
|
244
|
+
|
|
245
|
+
await retry(() =>
|
|
246
|
+
this.client.send(
|
|
247
|
+
new PutObjectCommand({
|
|
248
|
+
Bucket: this.bucketName,
|
|
249
|
+
Key: objectKey,
|
|
250
|
+
Body: serializedData,
|
|
251
|
+
ContentType: "application/json",
|
|
252
|
+
}),
|
|
253
|
+
),
|
|
254
|
+
);
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
/**
|
|
258
|
+
* Delete a state by key
|
|
259
|
+
*
|
|
260
|
+
* @param key The key to delete
|
|
261
|
+
*/
|
|
262
|
+
async delete(key: string): Promise<void> {
|
|
263
|
+
await this.ensureInitialized();
|
|
264
|
+
|
|
265
|
+
await ignore(NoSuchKey.name, () =>
|
|
266
|
+
retry(() =>
|
|
267
|
+
this.client.send(
|
|
268
|
+
new DeleteObjectCommand({
|
|
269
|
+
Bucket: this.bucketName,
|
|
270
|
+
Key: this.getObjectKey(key),
|
|
271
|
+
}),
|
|
272
|
+
),
|
|
273
|
+
),
|
|
274
|
+
);
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
/**
|
|
278
|
+
* Convert key for storage by replacing slashes with colons
|
|
279
|
+
* since S3 treats slashes as directory separators
|
|
280
|
+
*
|
|
281
|
+
* @param key The original key
|
|
282
|
+
* @returns Key with slashes replaced by colons
|
|
283
|
+
*/
|
|
284
|
+
private convertKeyForStorage(key: string): string {
|
|
285
|
+
return key.replaceAll("/", ":");
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
/**
|
|
289
|
+
* Convert key from storage by replacing colons with slashes
|
|
290
|
+
*
|
|
291
|
+
* @param key The storage key
|
|
292
|
+
* @returns Key with colons replaced by slashes
|
|
293
|
+
*/
|
|
294
|
+
private convertKeyFromStorage(key: string): string {
|
|
295
|
+
return key.replaceAll(":", "/");
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
/**
|
|
299
|
+
* Get the full object key for storage
|
|
300
|
+
*
|
|
301
|
+
* @param key The original key
|
|
302
|
+
* @returns The key with prefix for use in the S3 bucket
|
|
303
|
+
*/
|
|
304
|
+
private getObjectKey(key: string): string {
|
|
305
|
+
return `${this.prefix}${this.convertKeyForStorage(key)}`;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
/**
|
|
309
|
+
* Ensure the store is initialized before operations
|
|
310
|
+
*/
|
|
311
|
+
private async ensureInitialized(): Promise<void> {
|
|
312
|
+
if (!this.initialized) {
|
|
313
|
+
await this.init();
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
}
|
|
@@ -147,7 +147,7 @@ export type D1Database = D1DatabaseResource & Bound<D1DatabaseResource>;
|
|
|
147
147
|
|
|
148
148
|
export async function D1Database(
|
|
149
149
|
id: string,
|
|
150
|
-
props: Omit<D1DatabaseProps, "migrationsFiles"
|
|
150
|
+
props: Omit<D1DatabaseProps, "migrationsFiles"> = {},
|
|
151
151
|
): Promise<D1Database> {
|
|
152
152
|
const migrationsFiles = props.migrationsDir
|
|
153
153
|
? await listMigrationsFiles(props.migrationsDir)
|
|
@@ -383,14 +383,19 @@ function processBindings(
|
|
|
383
383
|
workerName: string,
|
|
384
384
|
): void {
|
|
385
385
|
// Arrays to collect different binding types
|
|
386
|
-
const kvNamespaces: { binding: string; id: string }[] =
|
|
386
|
+
const kvNamespaces: { binding: string; id: string; preview_id: string }[] =
|
|
387
|
+
[];
|
|
387
388
|
const durableObjects: {
|
|
388
389
|
name: string;
|
|
389
390
|
class_name: string;
|
|
390
391
|
script_name?: string;
|
|
391
392
|
environment?: string;
|
|
392
393
|
}[] = [];
|
|
393
|
-
const r2Buckets: {
|
|
394
|
+
const r2Buckets: {
|
|
395
|
+
binding: string;
|
|
396
|
+
bucket_name: string;
|
|
397
|
+
preview_bucket_name: string;
|
|
398
|
+
}[] = [];
|
|
394
399
|
const services: { binding: string; service: string; environment?: string }[] =
|
|
395
400
|
[];
|
|
396
401
|
const secrets: string[] = [];
|
|
@@ -405,6 +410,7 @@ function processBindings(
|
|
|
405
410
|
database_id: string;
|
|
406
411
|
database_name: string;
|
|
407
412
|
migrations_dir?: string;
|
|
413
|
+
preview_database_id: string;
|
|
408
414
|
}[] = [];
|
|
409
415
|
const queues: {
|
|
410
416
|
producers: { queue: string; binding: string }[];
|
|
@@ -484,9 +490,11 @@ function processBindings(
|
|
|
484
490
|
});
|
|
485
491
|
} else if (binding.type === "kv_namespace") {
|
|
486
492
|
// KV Namespace binding
|
|
493
|
+
const id = "namespaceId" in binding ? binding.namespaceId : binding.id;
|
|
487
494
|
kvNamespaces.push({
|
|
488
495
|
binding: bindingName,
|
|
489
|
-
id:
|
|
496
|
+
id: id,
|
|
497
|
+
preview_id: id,
|
|
490
498
|
});
|
|
491
499
|
} else if (
|
|
492
500
|
typeof binding === "object" &&
|
|
@@ -509,6 +517,7 @@ function processBindings(
|
|
|
509
517
|
r2Buckets.push({
|
|
510
518
|
binding: bindingName,
|
|
511
519
|
bucket_name: binding.name,
|
|
520
|
+
preview_bucket_name: binding.name,
|
|
512
521
|
});
|
|
513
522
|
} else if (binding.type === "secret") {
|
|
514
523
|
// Secret binding
|
|
@@ -531,6 +540,7 @@ function processBindings(
|
|
|
531
540
|
database_id: binding.id,
|
|
532
541
|
database_name: binding.name,
|
|
533
542
|
migrations_dir: binding.migrationsDir,
|
|
543
|
+
preview_database_id: binding.id,
|
|
534
544
|
});
|
|
535
545
|
} else if (binding.type === "queue") {
|
|
536
546
|
queues.producers.push({
|