alchemy 0.20.1 → 0.21.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/lib/cloudflare/bound.d.ts +4 -1
- package/lib/cloudflare/bound.d.ts.map +1 -1
- package/lib/cloudflare/worker-metadata.d.ts +1 -1
- package/lib/cloudflare/worker-metadata.d.ts.map +1 -1
- package/lib/cloudflare/worker-metadata.js +110 -26
- package/lib/cloudflare/worker-metadata.js.map +1 -1
- package/lib/cloudflare/worker.d.ts +15 -7
- package/lib/cloudflare/worker.d.ts.map +1 -1
- package/lib/cloudflare/worker.js +19 -15
- package/lib/cloudflare/worker.js.map +1 -1
- package/lib/cloudflare/workflow.d.ts +2 -0
- package/lib/cloudflare/workflow.d.ts.map +1 -1
- package/lib/cloudflare/workflow.js +3 -0
- package/lib/cloudflare/workflow.js.map +1 -1
- package/lib/cloudflare/wrangler.json.d.ts +1 -1
- package/lib/cloudflare/wrangler.json.d.ts.map +1 -1
- package/lib/cloudflare/wrangler.json.js +4 -0
- package/lib/cloudflare/wrangler.json.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/type.d.ts +6 -0
- package/lib/type.d.ts.map +1 -0
- package/lib/type.js +7 -0
- package/lib/type.js.map +1 -0
- package/package.json +1 -1
- package/src/cloudflare/bound.ts +45 -35
- package/src/cloudflare/worker-metadata.ts +129 -38
- package/src/cloudflare/worker.ts +135 -93
- package/src/cloudflare/workflow.ts +5 -0
- package/src/cloudflare/wrangler.json.ts +5 -1
- package/src/index.ts +1 -0
- package/src/type.ts +9 -0
|
@@ -87,6 +87,10 @@ function processBindings(spec, bindings, eventSources, workerName) {
|
|
|
87
87
|
}
|
|
88
88
|
// Process each binding
|
|
89
89
|
for (const [bindingName, binding] of Object.entries(bindings)) {
|
|
90
|
+
if (typeof binding === "function") {
|
|
91
|
+
// this is only reachable in the
|
|
92
|
+
throw new Error(`Invalid binding ${bindingName} is a function`);
|
|
93
|
+
}
|
|
90
94
|
if (typeof binding === "string") {
|
|
91
95
|
// Plain text binding - add to vars
|
|
92
96
|
if (!spec.vars) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrangler.json.js","sourceRoot":"","sources":["../../src/cloudflare/wrangler.json.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wrangler.json.js","sourceRoot":"","sources":["../../src/cloudflare/wrangler.json.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,mBAAmB,cAAc,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,mBAAmB,YAAY,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AAEjC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,eAAe,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,mBAAmB,cAAc,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,mBAAmB,YAAY,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AAEjC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,eAAe,OAAO,CAAC"}
|
package/lib/index.js
CHANGED
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,eAAe,CAAC;AAE9B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AAEjC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,eAAe,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,eAAe,CAAC;AAE9B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AAEjC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,eAAe,OAAO,CAAC"}
|
package/lib/type.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,CAAC,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;AACrC;;GAEG;AACH,eAAO,MAAM,IAAI,EAEX,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAEhB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC"}
|
package/lib/type.js
ADDED
package/lib/type.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type.js","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,GAAQ,EAAE;IAC7B,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;AAC5E,CAAC,CAEiB,CAAC"}
|
package/package.json
CHANGED
package/src/cloudflare/bound.ts
CHANGED
|
@@ -13,6 +13,7 @@ import type { HyperdriveResource as _Hyperdrive } from "./hyperdrive.js";
|
|
|
13
13
|
import type { PipelineResource as _Pipeline } from "./pipeline.js";
|
|
14
14
|
import type { QueueResource as _Queue } from "./queue.js";
|
|
15
15
|
import type { VectorizeIndexResource as _VectorizeIndex } from "./vectorize-index.js";
|
|
16
|
+
import type { Worker as _Worker } from "./worker.js";
|
|
16
17
|
import type { Workflow as _Workflow } from "./workflow.js";
|
|
17
18
|
|
|
18
19
|
export type Bound<T extends Binding> = T extends _DurableObjectNamespace<
|
|
@@ -21,38 +22,47 @@ export type Bound<T extends Binding> = T extends _DurableObjectNamespace<
|
|
|
21
22
|
? DurableObjectNamespace<O>
|
|
22
23
|
: T extends { type: "kv_namespace" }
|
|
23
24
|
? KVNamespace
|
|
24
|
-
: T extends
|
|
25
|
-
? Service
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
25
|
+
: T extends _Worker<any, infer RPC>
|
|
26
|
+
? Service<RPC> & {
|
|
27
|
+
// cloudflare's Rpc.Provider type loses mapping between properties (jump to definition)
|
|
28
|
+
// we fix that using Pick to re-connect mappings
|
|
29
|
+
[property in keyof Pick<
|
|
30
|
+
RPC,
|
|
31
|
+
Extract<keyof Rpc.Provider<RPC, "fetch" | "connect">, keyof RPC>
|
|
32
|
+
>]: Rpc.Provider<RPC, "fetch" | "connect">[property];
|
|
33
|
+
}
|
|
34
|
+
: T extends { type: "service" }
|
|
35
|
+
? Service
|
|
36
|
+
: T extends _R2Bucket
|
|
37
|
+
? R2Bucket
|
|
38
|
+
: T extends _AiGateway
|
|
39
|
+
? AiGateway
|
|
40
|
+
: T extends _Hyperdrive
|
|
41
|
+
? Hyperdrive
|
|
42
|
+
: T extends Secret
|
|
43
|
+
? string
|
|
44
|
+
: T extends Assets
|
|
45
|
+
? Service
|
|
46
|
+
: T extends _Workflow<infer P>
|
|
47
|
+
? Workflow<P>
|
|
48
|
+
: T extends D1DatabaseResource
|
|
49
|
+
? D1Database
|
|
50
|
+
: T extends _VectorizeIndex
|
|
51
|
+
? VectorizeIndex
|
|
52
|
+
: T extends _Queue<infer Body>
|
|
53
|
+
? Queue<Body>
|
|
54
|
+
: T extends _AnalyticsEngineDataset
|
|
55
|
+
? AnalyticsEngineDataset
|
|
56
|
+
: T extends _Pipeline<infer R>
|
|
57
|
+
? Pipeline<R>
|
|
58
|
+
: T extends string
|
|
59
|
+
? string
|
|
60
|
+
: T extends BrowserRendering
|
|
61
|
+
? Fetcher
|
|
62
|
+
: T extends _Ai<infer M>
|
|
63
|
+
? Ai<M>
|
|
64
|
+
: T extends Self
|
|
65
|
+
? Service
|
|
66
|
+
: T extends Json<infer T>
|
|
67
|
+
? T
|
|
68
|
+
: Service;
|
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
import type { Context } from "../context.js";
|
|
2
2
|
import { slugify } from "../util/slugify.js";
|
|
3
|
-
import {
|
|
4
|
-
|
|
3
|
+
import {
|
|
4
|
+
Self,
|
|
5
|
+
type Bindings,
|
|
6
|
+
type WorkerBindingDurableObjectNamespace,
|
|
7
|
+
type WorkerBindingSpec,
|
|
8
|
+
} from "./bindings.js";
|
|
9
|
+
import {
|
|
10
|
+
isDurableObjectNamespace,
|
|
11
|
+
type DurableObjectNamespace,
|
|
12
|
+
} from "./durable-object-namespace.js";
|
|
5
13
|
import { createAssetConfig, type AssetUploadResult } from "./worker-assets.js";
|
|
6
14
|
import type { SingleStepMigration } from "./worker-migration.js";
|
|
7
15
|
import type { AssetsConfig, Worker, WorkerProps } from "./worker.js";
|
|
8
|
-
import type { Workflow } from "./workflow.js";
|
|
9
16
|
|
|
10
17
|
/**
|
|
11
18
|
* Metadata returned by Cloudflare API for a worker script
|
|
@@ -186,7 +193,8 @@ export interface WorkerMetadata {
|
|
|
186
193
|
|
|
187
194
|
export async function prepareWorkerMetadata<B extends Bindings>(
|
|
188
195
|
ctx: Context<Worker<B>>,
|
|
189
|
-
oldBindings:
|
|
196
|
+
oldBindings: WorkerBindingSpec[] | undefined,
|
|
197
|
+
oldTags: string[] | undefined,
|
|
190
198
|
props: WorkerProps & {
|
|
191
199
|
compatibilityDate: string;
|
|
192
200
|
compatibilityFlags: string[];
|
|
@@ -194,20 +202,75 @@ export async function prepareWorkerMetadata<B extends Bindings>(
|
|
|
194
202
|
},
|
|
195
203
|
assetUploadResult?: AssetUploadResult,
|
|
196
204
|
): Promise<WorkerMetadata> {
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
205
|
+
// we use Cloudflare Worker tags to store a mapping between Alchemy's stable identifier and the binding name
|
|
206
|
+
// e.g.
|
|
207
|
+
// {
|
|
208
|
+
// BINDING_NAME: new DurableObjectNamespace("stable-id")
|
|
209
|
+
// }
|
|
210
|
+
// will be stored as alchemy:do:stable-id:BINDING_NAME
|
|
211
|
+
// TODO(sam): should we base64 encode to ensure no `:` collision risk?
|
|
212
|
+
const bindingNameToStableId = Object.fromEntries(
|
|
213
|
+
oldTags?.flatMap((tag) => {
|
|
214
|
+
// alchemy:do:{stableId}:{bindingName}
|
|
215
|
+
if (tag.startsWith("alchemy:do:")) {
|
|
216
|
+
const [, , stableId, bindingName] = tag.split(":");
|
|
217
|
+
return [[bindingName, stableId]];
|
|
208
218
|
}
|
|
209
219
|
return [];
|
|
210
|
-
})
|
|
220
|
+
}) ?? [],
|
|
221
|
+
);
|
|
222
|
+
|
|
223
|
+
const deletedClasses = oldBindings?.flatMap((oldBinding) => {
|
|
224
|
+
if (
|
|
225
|
+
oldBinding.type === "durable_object_namespace" &&
|
|
226
|
+
(oldBinding.script_name === undefined ||
|
|
227
|
+
// if this a cross-script binding, we don't need to do migrations in the remote worker
|
|
228
|
+
oldBinding.script_name === props.workerName)
|
|
229
|
+
) {
|
|
230
|
+
// reverse the stableId from our tag-encoded metadata
|
|
231
|
+
const stableId = bindingNameToStableId[oldBinding.name];
|
|
232
|
+
if (stableId) {
|
|
233
|
+
if (props.bindings === undefined) {
|
|
234
|
+
// all classes are deleted
|
|
235
|
+
return [oldBinding.class_name];
|
|
236
|
+
}
|
|
237
|
+
// we created this worker on latest version, we can now intelligently determine migrations
|
|
238
|
+
|
|
239
|
+
// try and find the DO binding by stable id
|
|
240
|
+
const object = Object.values(props.bindings).find(
|
|
241
|
+
(binding): binding is DurableObjectNamespace<any> =>
|
|
242
|
+
isDurableObjectNamespace(binding) && binding.id === stableId,
|
|
243
|
+
);
|
|
244
|
+
if (object) {
|
|
245
|
+
// we found the corresponding object, it should not be deleted
|
|
246
|
+
return [];
|
|
247
|
+
} else {
|
|
248
|
+
// it was not found, we will now delete it
|
|
249
|
+
return [oldBinding.class_name];
|
|
250
|
+
}
|
|
251
|
+
} else {
|
|
252
|
+
// ok, we were unable to find the stableId, this worker must have been created by an old alchemy or outside of alchemy
|
|
253
|
+
// let's now apply a herusitic based on binding name (assume binding name is consistent)
|
|
254
|
+
// TODO(sam): this has a chance of being wrong, is that OK? Users should be encouraged to upgrade alchemy version and re-deploy
|
|
255
|
+
const object = props.bindings?.[oldBinding.name];
|
|
256
|
+
if (object && isDurableObjectNamespace(object)) {
|
|
257
|
+
if (object.className === oldBinding.class_name) {
|
|
258
|
+
// this is relatively safe to assume is the right match, do not delete
|
|
259
|
+
return [];
|
|
260
|
+
} else {
|
|
261
|
+
// the class name has changed, this could indicate one of:
|
|
262
|
+
// 1. the user has changed the class name and we should migrate it
|
|
263
|
+
// 2. the user deleted the DO a long time ago and this is unrelated (we should just create a new one)
|
|
264
|
+
return [oldBinding.class_name];
|
|
265
|
+
}
|
|
266
|
+
} else {
|
|
267
|
+
// we didn't find it, so delete it
|
|
268
|
+
return [oldBinding.class_name];
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
return [];
|
|
273
|
+
});
|
|
211
274
|
|
|
212
275
|
// Prepare metadata with bindings
|
|
213
276
|
const meta: WorkerMetadata = {
|
|
@@ -218,11 +281,22 @@ export async function prepareWorkerMetadata<B extends Bindings>(
|
|
|
218
281
|
enabled: props.observability?.enabled !== false,
|
|
219
282
|
},
|
|
220
283
|
// TODO(sam): base64 encode instead? 0 collision risk vs readability.
|
|
221
|
-
tags: [
|
|
284
|
+
tags: [
|
|
285
|
+
`alchemy:id:${slugify(ctx.fqn)}`,
|
|
286
|
+
// encode a mapping table of Durable Object stable ID -> binding name
|
|
287
|
+
// we use this to reliably compute class migrations based on server-side state
|
|
288
|
+
...Object.entries(props.bindings ?? {}).flatMap(
|
|
289
|
+
([bindingName, binding]) =>
|
|
290
|
+
isDurableObjectNamespace(binding)
|
|
291
|
+
? // TODO(sam): base64 encode if contains `:`?
|
|
292
|
+
[`alchemy:do:${binding.id}:${bindingName}`]
|
|
293
|
+
: [],
|
|
294
|
+
),
|
|
295
|
+
],
|
|
222
296
|
migrations: {
|
|
223
297
|
new_classes: props.migrations?.new_classes ?? [],
|
|
224
298
|
deleted_classes: [
|
|
225
|
-
...deletedClasses,
|
|
299
|
+
...(deletedClasses ?? []),
|
|
226
300
|
...(props.migrations?.deleted_classes ?? []),
|
|
227
301
|
],
|
|
228
302
|
renamed_classes: props.migrations?.renamed_classes ?? [],
|
|
@@ -303,7 +377,7 @@ export async function prepareWorkerMetadata<B extends Bindings>(
|
|
|
303
377
|
binding.scriptName === props.workerName
|
|
304
378
|
) {
|
|
305
379
|
// we do not need configure class migrations for cross-script bindings
|
|
306
|
-
configureClassMigration(
|
|
380
|
+
configureClassMigration(bindingName, binding);
|
|
307
381
|
}
|
|
308
382
|
} else if (binding.type === "r2_bucket") {
|
|
309
383
|
meta.bindings.push({
|
|
@@ -393,29 +467,46 @@ export async function prepareWorkerMetadata<B extends Bindings>(
|
|
|
393
467
|
}
|
|
394
468
|
|
|
395
469
|
function configureClassMigration(
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
className: string,
|
|
470
|
+
bindingName: string,
|
|
471
|
+
newBinding: DurableObjectNamespace<any>,
|
|
399
472
|
) {
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
473
|
+
let prevBinding: WorkerBindingDurableObjectNamespace | undefined;
|
|
474
|
+
if (oldBindings) {
|
|
475
|
+
// try and find the prev binding for this
|
|
476
|
+
for (const oldBinding of oldBindings) {
|
|
477
|
+
if (oldBinding.type === "durable_object_namespace") {
|
|
478
|
+
const stableId = bindingNameToStableId[oldBinding.name];
|
|
479
|
+
if (stableId) {
|
|
480
|
+
// (happy case)
|
|
481
|
+
// great, this Worker was created with Alchemy and we can map stable ids
|
|
482
|
+
if (stableId === newBinding.id) {
|
|
483
|
+
prevBinding = oldBinding;
|
|
484
|
+
break;
|
|
485
|
+
}
|
|
486
|
+
} else {
|
|
487
|
+
// (heuristic case)
|
|
488
|
+
// we were unable to find the stableId, this Worker must not have been created with Alchemy
|
|
489
|
+
// now, try and resolve by assuming 1:1 binding name correspondence
|
|
490
|
+
// WARNING: this is an imperfect assumption. Users are advised to upgrade alchemy and re-deploy
|
|
491
|
+
if (oldBinding.name === bindingName) {
|
|
492
|
+
prevBinding = oldBinding;
|
|
493
|
+
break;
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
if (!prevBinding) {
|
|
501
|
+
if (newBinding.sqlite) {
|
|
502
|
+
meta.migrations!.new_sqlite_classes!.push(newBinding.className);
|
|
412
503
|
} else {
|
|
413
|
-
meta.migrations!.new_classes!.push(className);
|
|
504
|
+
meta.migrations!.new_classes!.push(newBinding.className);
|
|
414
505
|
}
|
|
415
|
-
} else if (
|
|
506
|
+
} else if (prevBinding.class_name !== newBinding.className) {
|
|
416
507
|
meta.migrations!.renamed_classes!.push({
|
|
417
|
-
from:
|
|
418
|
-
to: className,
|
|
508
|
+
from: prevBinding.class_name,
|
|
509
|
+
to: newBinding.className,
|
|
419
510
|
});
|
|
420
511
|
}
|
|
421
512
|
}
|