alchemy 0.20.0 → 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.
Files changed (39) hide show
  1. package/lib/cloudflare/bound.d.ts +4 -1
  2. package/lib/cloudflare/bound.d.ts.map +1 -1
  3. package/lib/cloudflare/durable-object-namespace.d.ts +2 -0
  4. package/lib/cloudflare/durable-object-namespace.d.ts.map +1 -1
  5. package/lib/cloudflare/durable-object-namespace.js +3 -0
  6. package/lib/cloudflare/durable-object-namespace.js.map +1 -1
  7. package/lib/cloudflare/worker-metadata.d.ts +1 -1
  8. package/lib/cloudflare/worker-metadata.d.ts.map +1 -1
  9. package/lib/cloudflare/worker-metadata.js +115 -24
  10. package/lib/cloudflare/worker-metadata.js.map +1 -1
  11. package/lib/cloudflare/worker.d.ts +41 -10
  12. package/lib/cloudflare/worker.d.ts.map +1 -1
  13. package/lib/cloudflare/worker.js +34 -16
  14. package/lib/cloudflare/worker.js.map +1 -1
  15. package/lib/cloudflare/workflow.d.ts +2 -0
  16. package/lib/cloudflare/workflow.d.ts.map +1 -1
  17. package/lib/cloudflare/workflow.js +3 -0
  18. package/lib/cloudflare/workflow.js.map +1 -1
  19. package/lib/cloudflare/wrangler.json.d.ts +1 -1
  20. package/lib/cloudflare/wrangler.json.d.ts.map +1 -1
  21. package/lib/cloudflare/wrangler.json.js +4 -0
  22. package/lib/cloudflare/wrangler.json.js.map +1 -1
  23. package/lib/index.d.ts +1 -0
  24. package/lib/index.d.ts.map +1 -1
  25. package/lib/index.js +1 -0
  26. package/lib/index.js.map +1 -1
  27. package/lib/type.d.ts +6 -0
  28. package/lib/type.d.ts.map +1 -0
  29. package/lib/type.js +7 -0
  30. package/lib/type.js.map +1 -0
  31. package/package.json +1 -1
  32. package/src/cloudflare/bound.ts +45 -35
  33. package/src/cloudflare/durable-object-namespace.ts +10 -0
  34. package/src/cloudflare/worker-metadata.ts +136 -36
  35. package/src/cloudflare/worker.ts +183 -93
  36. package/src/cloudflare/workflow.ts +5 -0
  37. package/src/cloudflare/wrangler.json.ts +5 -1
  38. package/src/index.ts +1 -0
  39. package/src/type.ts +9 -0
@@ -13,10 +13,13 @@ 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
  export type Bound<T extends Binding> = T extends _DurableObjectNamespace<infer O> ? DurableObjectNamespace<O> : T extends {
18
19
  type: "kv_namespace";
19
- } ? KVNamespace : T extends {
20
+ } ? KVNamespace : T extends _Worker<any, infer RPC> ? Service<RPC> & {
21
+ [property in keyof Pick<RPC, Extract<keyof Rpc.Provider<RPC, "fetch" | "connect">, keyof RPC>>]: Rpc.Provider<RPC, "fetch" | "connect">[property];
22
+ } : T extends {
20
23
  type: "service";
21
24
  } ? Service : T extends _R2Bucket ? R2Bucket : T extends _AiGateway ? AiGateway : T extends _Hyperdrive ? Hyperdrive : T extends Secret ? string : T extends Assets ? Service : T extends _Workflow<infer P> ? Workflow<P> : T extends D1DatabaseResource ? D1Database : T extends _VectorizeIndex ? VectorizeIndex : T extends _Queue<infer Body> ? Queue<Body> : T extends _AnalyticsEngineDataset ? AnalyticsEngineDataset : T extends _Pipeline<infer R> ? Pipeline<R> : T extends string ? string : T extends BrowserRendering ? Fetcher : T extends _Ai<infer M> ? Ai<M> : T extends Self ? Service : T extends Json<infer T> ? T : Service;
22
25
  //# sourceMappingURL=bound.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bound.d.ts","sourceRoot":"","sources":["../../src/cloudflare/bound.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,iBAAiB,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,KAAK,EAAE,EAAE,IAAI,GAAG,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,sBAAsB,IAAI,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAC/F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,sBAAsB,IAAI,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACvG,OAAO,KAAK,EAAE,kBAAkB,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,IAAI,SAAS,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,IAAI,MAAM,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,sBAAsB,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,KAAK,EAAE,QAAQ,IAAI,SAAS,EAAE,MAAM,eAAe,CAAC;AAE3D,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,OAAO,IAAI,CAAC,SAAS,uBAAuB,CACtE,MAAM,CAAC,CACR,GACG,sBAAsB,CAAC,CAAC,CAAC,GACzB,CAAC,SAAS;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,GAChC,WAAW,GACX,CAAC,SAAS;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GAC3B,OAAO,GACP,CAAC,SAAS,SAAS,GACjB,QAAQ,GACR,CAAC,SAAS,UAAU,GAClB,SAAS,GACT,CAAC,SAAS,WAAW,GACnB,UAAU,GACV,CAAC,SAAS,MAAM,GACd,MAAM,GACN,CAAC,SAAS,MAAM,GACd,OAAO,GACP,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,GAC1B,QAAQ,CAAC,CAAC,CAAC,GACX,CAAC,SAAS,kBAAkB,GAC1B,UAAU,GACV,CAAC,SAAS,eAAe,GACvB,cAAc,GACd,CAAC,SAAS,MAAM,CAAC,MAAM,IAAI,CAAC,GAC1B,KAAK,CAAC,IAAI,CAAC,GACX,CAAC,SAAS,uBAAuB,GAC/B,sBAAsB,GACtB,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,GAC1B,QAAQ,CAAC,CAAC,CAAC,GACX,CAAC,SAAS,MAAM,GACd,MAAM,GACN,CAAC,SAAS,gBAAgB,GACxB,OAAO,GACP,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,CAAC,GACpB,EAAE,CAAC,CAAC,CAAC,GACL,CAAC,SAAS,IAAI,GACZ,OAAO,GACP,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,CAAC,GACrB,CAAC,GACD,OAAO,CAAC"}
1
+ {"version":3,"file":"bound.d.ts","sourceRoot":"","sources":["../../src/cloudflare/bound.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { Binding } from "./bindings.js";
1
2
  /**
2
3
  * Properties for creating a Durable Object Namespace
3
4
  */
@@ -8,6 +9,7 @@ export interface DurableObjectNamespaceInput {
8
9
  sqlite?: boolean | undefined;
9
10
  namespaceId?: string | undefined;
10
11
  }
12
+ export declare function isDurableObjectNamespace(binding: Binding): binding is DurableObjectNamespace;
11
13
  /**
12
14
  * @example
13
15
  * // Create a basic Durable Object namespace for stateful chat rooms
@@ -1 +1 @@
1
- {"version":3,"file":"durable-object-namespace.d.ts","sourceRoot":"","sources":["../../src/cloudflare/durable-object-namespace.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,sBAAsB,CACjC,CAAC,SAAS,GAAG,CAAC,oBAAoB,GAAG,SAAS,GAAG,SAAS,CAC1D,YAAW,2BAA2B;aAcpB,EAAE,EAAE,MAAM;IAZ5B,SAAgB,IAAI,EAAG,0BAA0B,CAAU;IAE3D,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,SAAgB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjD,SAAgB,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7C,SAAgB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAGjD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;gBAGhB,EAAE,EAAE,MAAM,EAC1B,KAAK,EAAE,2BAA2B;CAOrC"}
1
+ {"version":3,"file":"durable-object-namespace.d.ts","sourceRoot":"","sources":["../../src/cloudflare/durable-object-namespace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,GACf,OAAO,IAAI,sBAAsB,CAInC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,sBAAsB,CACjC,CAAC,SAAS,GAAG,CAAC,oBAAoB,GAAG,SAAS,GAAG,SAAS,CAC1D,YAAW,2BAA2B;aAcpB,EAAE,EAAE,MAAM;IAZ5B,SAAgB,IAAI,EAAG,0BAA0B,CAAU;IAE3D,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,SAAgB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjD,SAAgB,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7C,SAAgB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAGjD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;gBAGhB,EAAE,EAAE,MAAM,EAC1B,KAAK,EAAE,2BAA2B;CAOrC"}
@@ -1,3 +1,6 @@
1
+ export function isDurableObjectNamespace(binding) {
2
+ return (typeof binding === "object" && binding.type === "durable_object_namespace");
3
+ }
1
4
  /**
2
5
  * @example
3
6
  * // Create a basic Durable Object namespace for stateful chat rooms
@@ -1 +1 @@
1
- {"version":3,"file":"durable-object-namespace.js","sourceRoot":"","sources":["../../src/cloudflare/durable-object-namespace.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,sBAAsB;IAgBf;IAZF,IAAI,GAAG,0BAAmC,CAAC;IAC3D,6DAA6D;IAC7C,SAAS,CAAS;IAClB,UAAU,CAAsB;IAChC,WAAW,CAAsB;IACjC,MAAM,CAAuB;IAC7B,WAAW,CAAsB;IAEjD,4BAA4B;IACT,WAAW,CAAI;IAElC,YACkB,EAAU,EAC1B,KAAkC;QADlB,OAAE,GAAF,EAAE,CAAQ;QAG1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC7B,CAAC;CACF"}
1
+ {"version":3,"file":"durable-object-namespace.js","sourceRoot":"","sources":["../../src/cloudflare/durable-object-namespace.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,wBAAwB,CACtC,OAAgB;IAEhB,OAAO,CACL,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,0BAA0B,CAC3E,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,sBAAsB;IAgBf;IAZF,IAAI,GAAG,0BAAmC,CAAC;IAC3D,6DAA6D;IAC7C,SAAS,CAAS;IAClB,UAAU,CAAsB;IAChC,WAAW,CAAsB;IACjC,MAAM,CAAuB;IAC7B,WAAW,CAAsB;IAEjD,4BAA4B;IACT,WAAW,CAAI;IAElC,YACkB,EAAU,EAC1B,KAAkC;QADlB,OAAE,GAAF,EAAE,CAAQ;QAG1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC7B,CAAC;CACF"}
@@ -153,7 +153,7 @@ export interface WorkerMetadata {
153
153
  suspended: boolean;
154
154
  }[];
155
155
  }
156
- export declare function prepareWorkerMetadata<B extends Bindings>(ctx: Context<Worker<B>>, oldBindings: Bindings | undefined, props: WorkerProps & {
156
+ export declare function prepareWorkerMetadata<B extends Bindings>(ctx: Context<Worker<B>>, oldBindings: WorkerBindingSpec[] | undefined, oldTags: string[] | undefined, props: WorkerProps & {
157
157
  compatibilityDate: string;
158
158
  compatibilityFlags: string[];
159
159
  workerName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"worker-metadata.d.ts","sourceRoot":"","sources":["../../src/cloudflare/worker-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-metadata.d.ts","sourceRoot":"","sources":["../../src/cloudflare/worker-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAEL,KAAK,QAAQ,EAEb,KAAK,iBAAiB,EACvB,MAAM,eAAe,CAAC;AAKvB,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,mBAAmB,CAAC,EAAE,wBAAwB,CAAC;IAE/C;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,cAAc,EAAE,GAAG,CAAC;IAEpB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,aAAa,EAAE;QACb;;WAEG;QACH,OAAO,EAAE,OAAO,CAAC;QAEjB;;WAEG;QACH,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;KACnC,CAAC;IAEF;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB;;OAEG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IACjE;;OAEG;IACH,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,aAAa,EAAE;QACb,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE;QACP,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,MAAM,CAAC,EAAE,YAAY,CAAC;KACvB,CAAC;IACF,aAAa,CAAC,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,OAAO,CAAC;KACpB,EAAE,CAAC;CACL;AAED,wBAAsB,qBAAqB,CAAC,CAAC,SAAS,QAAQ,EAC5D,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACvB,WAAW,EAAE,iBAAiB,EAAE,GAAG,SAAS,EAC5C,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,EAC7B,KAAK,EAAE,WAAW,GAAG;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;CACpB,EACD,iBAAiB,CAAC,EAAE,iBAAiB,GACpC,OAAO,CAAC,cAAc,CAAC,CAiVzB"}
@@ -1,14 +1,69 @@
1
1
  import { slugify } from "../util/slugify.js";
2
- import { Self } from "./bindings.js";
2
+ import { Self, } from "./bindings.js";
3
+ import { isDurableObjectNamespace, } from "./durable-object-namespace.js";
3
4
  import { createAssetConfig } from "./worker-assets.js";
4
- export async function prepareWorkerMetadata(ctx, oldBindings, props, assetUploadResult) {
5
- const deletedClasses = Object.entries(oldBindings ?? {})
6
- .filter(([key]) => !props.bindings?.[key])
7
- .flatMap(([_, binding]) => {
8
- if (binding &&
9
- typeof binding === "object" &&
10
- binding.type === "durable_object_namespace") {
11
- return [binding.className];
5
+ export async function prepareWorkerMetadata(ctx, oldBindings, oldTags, props, assetUploadResult) {
6
+ // we use Cloudflare Worker tags to store a mapping between Alchemy's stable identifier and the binding name
7
+ // e.g.
8
+ // {
9
+ // BINDING_NAME: new DurableObjectNamespace("stable-id")
10
+ // }
11
+ // will be stored as alchemy:do:stable-id:BINDING_NAME
12
+ // TODO(sam): should we base64 encode to ensure no `:` collision risk?
13
+ const bindingNameToStableId = Object.fromEntries(oldTags?.flatMap((tag) => {
14
+ // alchemy:do:{stableId}:{bindingName}
15
+ if (tag.startsWith("alchemy:do:")) {
16
+ const [, , stableId, bindingName] = tag.split(":");
17
+ return [[bindingName, stableId]];
18
+ }
19
+ return [];
20
+ }) ?? []);
21
+ const deletedClasses = oldBindings?.flatMap((oldBinding) => {
22
+ if (oldBinding.type === "durable_object_namespace" &&
23
+ (oldBinding.script_name === undefined ||
24
+ // if this a cross-script binding, we don't need to do migrations in the remote worker
25
+ oldBinding.script_name === props.workerName)) {
26
+ // reverse the stableId from our tag-encoded metadata
27
+ const stableId = bindingNameToStableId[oldBinding.name];
28
+ if (stableId) {
29
+ if (props.bindings === undefined) {
30
+ // all classes are deleted
31
+ return [oldBinding.class_name];
32
+ }
33
+ // we created this worker on latest version, we can now intelligently determine migrations
34
+ // try and find the DO binding by stable id
35
+ const object = Object.values(props.bindings).find((binding) => isDurableObjectNamespace(binding) && binding.id === stableId);
36
+ if (object) {
37
+ // we found the corresponding object, it should not be deleted
38
+ return [];
39
+ }
40
+ else {
41
+ // it was not found, we will now delete it
42
+ return [oldBinding.class_name];
43
+ }
44
+ }
45
+ else {
46
+ // ok, we were unable to find the stableId, this worker must have been created by an old alchemy or outside of alchemy
47
+ // let's now apply a herusitic based on binding name (assume binding name is consistent)
48
+ // TODO(sam): this has a chance of being wrong, is that OK? Users should be encouraged to upgrade alchemy version and re-deploy
49
+ const object = props.bindings?.[oldBinding.name];
50
+ if (object && isDurableObjectNamespace(object)) {
51
+ if (object.className === oldBinding.class_name) {
52
+ // this is relatively safe to assume is the right match, do not delete
53
+ return [];
54
+ }
55
+ else {
56
+ // the class name has changed, this could indicate one of:
57
+ // 1. the user has changed the class name and we should migrate it
58
+ // 2. the user deleted the DO a long time ago and this is unrelated (we should just create a new one)
59
+ return [oldBinding.class_name];
60
+ }
61
+ }
62
+ else {
63
+ // we didn't find it, so delete it
64
+ return [oldBinding.class_name];
65
+ }
66
+ }
12
67
  }
13
68
  return [];
14
69
  });
@@ -21,11 +76,19 @@ export async function prepareWorkerMetadata(ctx, oldBindings, props, assetUpload
21
76
  enabled: props.observability?.enabled !== false,
22
77
  },
23
78
  // TODO(sam): base64 encode instead? 0 collision risk vs readability.
24
- tags: [`alchemy:id:${slugify(ctx.fqn)}`],
79
+ tags: [
80
+ `alchemy:id:${slugify(ctx.fqn)}`,
81
+ // encode a mapping table of Durable Object stable ID -> binding name
82
+ // we use this to reliably compute class migrations based on server-side state
83
+ ...Object.entries(props.bindings ?? {}).flatMap(([bindingName, binding]) => isDurableObjectNamespace(binding)
84
+ ? // TODO(sam): base64 encode if contains `:`?
85
+ [`alchemy:do:${binding.id}:${bindingName}`]
86
+ : []),
87
+ ],
25
88
  migrations: {
26
89
  new_classes: props.migrations?.new_classes ?? [],
27
90
  deleted_classes: [
28
- ...deletedClasses,
91
+ ...(deletedClasses ?? []),
29
92
  ...(props.migrations?.deleted_classes ?? []),
30
93
  ],
31
94
  renamed_classes: props.migrations?.renamed_classes ?? [],
@@ -98,7 +161,12 @@ export async function prepareWorkerMetadata(ctx, oldBindings, props, assetUpload
98
161
  environment: binding.environment,
99
162
  namespace_id: binding.namespaceId,
100
163
  });
101
- configureClassMigration(binding, binding.id, binding.className);
164
+ if (binding.scriptName === undefined ||
165
+ // TODO(sam): not sure if Cloudflare Api would like us using `this` worker name here
166
+ binding.scriptName === props.workerName) {
167
+ // we do not need configure class migrations for cross-script bindings
168
+ configureClassMigration(bindingName, binding);
169
+ }
102
170
  }
103
171
  else if (binding.type === "r2_bucket") {
104
172
  meta.bindings.push({
@@ -199,23 +267,46 @@ export async function prepareWorkerMetadata(ctx, oldBindings, props, assetUpload
199
267
  throw new Error(`Unsupported binding type: ${binding.type}`);
200
268
  }
201
269
  }
202
- function configureClassMigration(binding, stableId, className) {
203
- const oldBinding = Object.values(oldBindings ?? {})
204
- ?.filter((b) => typeof b === "object" &&
205
- (b.type === "durable_object_namespace" || b.type === "workflow"))
206
- ?.find((b) => b.id === stableId);
207
- if (!oldBinding) {
208
- if (binding.type === "durable_object_namespace" && binding.sqlite) {
209
- meta.migrations.new_sqlite_classes.push(className);
270
+ function configureClassMigration(bindingName, newBinding) {
271
+ let prevBinding;
272
+ if (oldBindings) {
273
+ // try and find the prev binding for this
274
+ for (const oldBinding of oldBindings) {
275
+ if (oldBinding.type === "durable_object_namespace") {
276
+ const stableId = bindingNameToStableId[oldBinding.name];
277
+ if (stableId) {
278
+ // (happy case)
279
+ // great, this Worker was created with Alchemy and we can map stable ids
280
+ if (stableId === newBinding.id) {
281
+ prevBinding = oldBinding;
282
+ break;
283
+ }
284
+ }
285
+ else {
286
+ // (heuristic case)
287
+ // we were unable to find the stableId, this Worker must not have been created with Alchemy
288
+ // now, try and resolve by assuming 1:1 binding name correspondence
289
+ // WARNING: this is an imperfect assumption. Users are advised to upgrade alchemy and re-deploy
290
+ if (oldBinding.name === bindingName) {
291
+ prevBinding = oldBinding;
292
+ break;
293
+ }
294
+ }
295
+ }
296
+ }
297
+ }
298
+ if (!prevBinding) {
299
+ if (newBinding.sqlite) {
300
+ meta.migrations.new_sqlite_classes.push(newBinding.className);
210
301
  }
211
302
  else {
212
- meta.migrations.new_classes.push(className);
303
+ meta.migrations.new_classes.push(newBinding.className);
213
304
  }
214
305
  }
215
- else if (oldBinding.className !== className) {
306
+ else if (prevBinding.class_name !== newBinding.className) {
216
307
  meta.migrations.renamed_classes.push({
217
- from: oldBinding.className,
218
- to: className,
308
+ from: prevBinding.class_name,
309
+ to: newBinding.className,
219
310
  });
220
311
  }
221
312
  }
@@ -1 +1 @@
1
- {"version":3,"file":"worker-metadata.js","sourceRoot":"","sources":["../../src/cloudflare/worker-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-metadata.js","sourceRoot":"","sources":["../../src/cloudflare/worker-metadata.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { Context } from "../context.js";
2
2
  import type { BundleProps } from "../esbuild/bundle.js";
3
3
  import { Resource } from "../resource.js";
4
+ import type { type } from "../type.js";
4
5
  import { type CloudflareApi, type CloudflareApiOptions } from "./api.js";
5
6
  import { type Bindings } from "./bindings.js";
6
7
  import type { Bound } from "./bound.js";
@@ -42,7 +43,7 @@ export interface AssetsConfig {
42
43
  */
43
44
  serve_directly?: boolean;
44
45
  }
45
- export interface BaseWorkerProps<B extends Bindings = Bindings> extends CloudflareApiOptions {
46
+ export interface BaseWorkerProps<B extends Bindings | undefined = undefined, RPC extends Rpc.WorkerEntrypointBranded = Rpc.WorkerEntrypointBranded> extends CloudflareApiOptions {
46
47
  /**
47
48
  * Bundle options when using entryPoint
48
49
  *
@@ -135,19 +136,25 @@ export interface BaseWorkerProps<B extends Bindings = Bindings> extends Cloudfla
135
136
  * Can include queues, streams, or other event sources.
136
137
  */
137
138
  eventSources?: EventSource[];
139
+ /**
140
+ * The RPC class to use for the worker.
141
+ *
142
+ * This is only used when using the rpc property.
143
+ */
144
+ rpc?: (new (...args: any[]) => RPC) | type<RPC>;
138
145
  }
139
- export interface InlineWorkerProps<B extends Bindings = Bindings> extends BaseWorkerProps<B> {
146
+ export interface InlineWorkerProps<B extends Bindings | undefined = Bindings, RPC extends Rpc.WorkerEntrypointBranded = Rpc.WorkerEntrypointBranded> extends BaseWorkerProps<B, RPC> {
140
147
  script: string;
141
148
  entrypoint?: undefined;
142
149
  }
143
- export interface EntrypointWorkerProps<B extends Bindings = Bindings> extends BaseWorkerProps<B> {
150
+ export interface EntrypointWorkerProps<B extends Bindings | undefined = Bindings, RPC extends Rpc.WorkerEntrypointBranded = Rpc.WorkerEntrypointBranded> extends BaseWorkerProps<B, RPC> {
144
151
  entrypoint: string;
145
152
  script?: undefined;
146
153
  }
147
154
  /**
148
155
  * Properties for creating or updating a Worker
149
156
  */
150
- export type WorkerProps<B extends Bindings = Bindings> = InlineWorkerProps<B> | EntrypointWorkerProps<B>;
157
+ export type WorkerProps<B extends Bindings | undefined = Bindings, RPC extends Rpc.WorkerEntrypointBranded = Rpc.WorkerEntrypointBranded> = InlineWorkerProps<B, RPC> | EntrypointWorkerProps<B, RPC>;
151
158
  export type FetchWorkerProps<B extends Bindings = Bindings, E extends EventSource[] = EventSource[]> = Omit<WorkerProps<B>, "entrypoint" | "eventSources"> & {
152
159
  /**
153
160
  * A function that will be used to fetch the worker script.
@@ -173,7 +180,9 @@ export declare function isWorker(resource: Resource): resource is Worker<any>;
173
180
  /**
174
181
  * Output returned after Worker creation/update
175
182
  */
176
- export type Worker<B extends Bindings = Bindings> = Resource<"cloudflare::Worker"> & Omit<WorkerProps<B>, "url" | "script"> & globalThis.Service & {
183
+ export type Worker<B extends Bindings | undefined = Bindings | undefined, RPC extends Rpc.WorkerEntrypointBranded = Rpc.WorkerEntrypointBranded> = Resource<"cloudflare::Worker"> & Omit<WorkerProps<B>, "url" | "script"> & globalThis.Service & {
184
+ /** @internal phantom property */
185
+ __rpc__?: RPC;
177
186
  type: "service";
178
187
  /**
179
188
  * The ID of the worker
@@ -199,14 +208,14 @@ export type Worker<B extends Bindings = Bindings> = Resource<"cloudflare::Worker
199
208
  /**
200
209
  * The bindings that were created
201
210
  */
202
- bindings: B | undefined;
211
+ bindings: B;
203
212
  /**
204
213
  * Configuration for static assets
205
214
  */
206
215
  assets?: AssetsConfig;
207
- Env: {
216
+ Env: B extends Bindings ? {
208
217
  [bindingName in keyof B]: Bound<B[bindingName]>;
209
- };
218
+ } : undefined;
210
219
  /**
211
220
  * The compatibility date for the worker
212
221
  */
@@ -305,10 +314,33 @@ export type Worker<B extends Bindings = Bindings> = Resource<"cloudflare::Worker
305
314
  * crons: ['* 15 * * *', '0 0 * * *', '0 12 * * MON']
306
315
  * })
307
316
  *
317
+ * @example
318
+ * // Create cross-script durable object binding where one worker
319
+ * // defines the durable object and another worker accesses it:
320
+ * const dataWorker = await Worker("data-worker", {
321
+ * name: "data-worker",
322
+ * entrypoint: "./src/data.ts",
323
+ * bindings: {
324
+ * // Bind to its own durable object
325
+ * STORAGE: new DurableObjectNamespace("storage", {
326
+ * className: "DataStorage"
327
+ * })
328
+ * }
329
+ * });
330
+ *
331
+ * const apiWorker = await Worker("api-worker", {
332
+ * name: "api-worker",
333
+ * entrypoint: "./src/api.ts",
334
+ * bindings: {
335
+ * // Cross-script binding to the data worker's durable object
336
+ * SHARED_STORAGE: dataWorker.bindings.STORAGE
337
+ * }
338
+ * });
339
+ *
308
340
  * @see
309
341
  * https://developers.cloudflare.com/workers/
310
342
  */
311
- export declare function Worker<const B extends Bindings>(id: string, props: WorkerProps<B>): Promise<Worker<B>>;
343
+ export declare function Worker<const B extends Bindings, RPC extends Rpc.WorkerEntrypointBranded>(id: string, props: WorkerProps<B, RPC>): Promise<Worker<B, RPC>>;
312
344
  export declare function Worker<const B extends Bindings, const E extends EventSource[]>(id: string, meta: ImportMeta, props: FetchWorkerProps<B, E>): Promise<Worker<B>> & globalThis.Service;
313
345
  export declare const _Worker: (((this: any, id: string, props?: {}) => never) & (new (_: never) => never)) | (<const B extends Bindings>(this: Context<Worker<NoInfer<B>>>, id: string, props: WorkerProps<B>) => Promise<Worker<B>>);
314
346
  export declare function deleteWorker<B extends Bindings>(ctx: Context<Worker<B>>, api: CloudflareApi, props: WorkerProps<B> & {
@@ -318,6 +350,5 @@ export declare function putWorker(api: CloudflareApi, workerName: string, script
318
350
  export declare function assertWorkerDoesNotExist<B extends Bindings>(ctx: Context<Worker<B>>, api: CloudflareApi, workerName: string): Promise<boolean>;
319
351
  export declare function configureURL<B extends Bindings>(ctx: Context<Worker<B>>, api: CloudflareApi, workerName: string, url: boolean): Promise<string | undefined>;
320
352
  export declare function getWorkerScriptMetadata(api: CloudflareApi, workerName: string): Promise<WorkerScriptMetadata | undefined>;
321
- export declare function _getWorkerBindings(api: CloudflareApi, workerName: string, environment?: string): Promise<any>;
322
353
  export {};
323
354
  //# sourceMappingURL=worker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/cloudflare/worker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAsB,QAAQ,EAAgB,MAAM,gBAAgB,CAAC;AAU5E,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAE1B,MAAM,UAAU,CAAC;AAElB,OAAO,EAAgB,KAAK,QAAQ,EAAQ,MAAM,eAAe,CAAC;AAClE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAIxC,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EAEtB,MAAM,mBAAmB,CAAC;AAQ3B,OAAO,EAAE,KAAK,aAAa,EAAW,MAAM,YAAY,CAAC;AAGzD,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,oBAAoB,EAE1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAIjE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,aAAa,CAAC,EACV,qBAAqB,GACrB,sBAAsB,GACtB,qBAAqB,GACrB,MAAM,CAAC;IAEX;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,yBAAyB,CAAC;IAErE;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,CAC5D,SAAQ,oBAAoB;IAC5B;;;;OAIG;IACH,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAEzC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAEvB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEb;;;;OAIG;IACH,GAAG,CAAC,EAAE;QACJ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;IAEF;;;;;OAKG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd;;;;;OAKG;IACH,aAAa,CAAC,EAAE;QACd;;;WAGG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IAEF;;OAEG;IACH,UAAU,CAAC,EAAE,mBAAmB,CAAC;IAEjC;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE9B;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjB;;;;OAIG;IACH,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,CAC9D,SAAQ,eAAe,CAAC,CAAC,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,SAAS,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,CAClE,SAAQ,eAAe,CAAC,CAAC,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,IACjD,iBAAiB,CAAC,CAAC,CAAC,GACpB,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAE7B,MAAM,MAAM,gBAAgB,CAC1B,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC7B,CAAC,SAAS,WAAW,EAAE,GAAG,WAAW,EAAE,IACrC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,GAAG,cAAc,CAAC,GAAG;IACxD;;;;OAIG;IACH,KAAK,CAAC,CACJ,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EACxB,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrB;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,CAAC;IAEjB;;;;OAIG;IACH,KAAK,CAAC,CACJ,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EACpB,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EACxB,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB,CAAC;AAEF,KAAK,UAAU,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,gBAAgB,GACzE,GAAG,GACH,CAAC,CAAC,MAAM,CAAC,SAAS,aAAa,CAAC,MAAM,IAAI,CAAC,GACzC,YAAY,CAAC,IAAI,CAAC,GAClB,YAAY,CAAC,OAAO,CAAC,CAAC;AAE5B,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,CAEpE;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,IAC9C,QAAQ,CAAC,oBAAoB,CAAC,GAC5B,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,GACtC,UAAU,CAAC,OAAO,GAAG;IACnB,IAAI,EAAE,SAAS,CAAC;IAEhB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC;IAExB;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IAGtB,GAAG,EAAE;SACF,WAAW,IAAI,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;KAChD,CAAC;IAEF;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B,CAAC;AAEN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2FG;AACH,wBAAgB,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,QAAQ,EAC7C,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GACpB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,wBAAgB,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,CAAC,CAAC,SAAS,WAAW,EAAE,EAC5E,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC5B,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC;AA6M3C,eAAO,MAAM,OAAO,yFAKI,CAAC,SAAS,QAAQ,QAChC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAC7B,MAAM,SACH,WAAW,CAAC,CAAC,CAAC,KACpB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CA4MtB,CAAC;AAEF,wBAAsB,YAAY,CAAC,CAAC,SAAS,QAAQ,EACnD,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACvB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,iBA+B/C;AAED,wBAAsB,SAAS,CAC7B,GAAG,EAAE,aAAa,EAClB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,cAAc,qBAwD/B;AAED,wBAAsB,wBAAwB,CAAC,CAAC,SAAS,QAAQ,EAC/D,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACvB,GAAG,EAAE,aAAa,EAClB,UAAU,EAAE,MAAM,oBAgCnB;AAED,wBAAsB,YAAY,CAAC,CAAC,SAAS,QAAQ,EACnD,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACvB,GAAG,EAAE,aAAa,EAClB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,OAAO,+BAwDb;AAED,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,aAAa,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAa3C;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,aAAa,EAClB,UAAU,EAAE,MAAM,EAClB,WAAW,SAAe,gBAyB3B"}
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/cloudflare/worker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAsB,QAAQ,EAAgB,MAAM,gBAAgB,CAAC;AAO5E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAIvC,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAE1B,MAAM,UAAU,CAAC;AAElB,OAAO,EAEL,KAAK,QAAQ,EAGd,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAQxC,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EAEtB,MAAM,mBAAmB,CAAC;AAQ3B,OAAO,EAAE,KAAK,aAAa,EAAW,MAAM,YAAY,CAAC;AAGzD,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,oBAAoB,EAE1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAIjE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,aAAa,CAAC,EACV,qBAAqB,GACrB,sBAAsB,GACtB,qBAAqB,GACrB,MAAM,CAAC;IAEX;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,yBAAyB,CAAC;IAErE;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe,CAC9B,CAAC,SAAS,QAAQ,GAAG,SAAS,GAAG,SAAS,EAC1C,GAAG,SAAS,GAAG,CAAC,uBAAuB,GAAG,GAAG,CAAC,uBAAuB,CACrE,SAAQ,oBAAoB;IAC5B;;;;OAIG;IACH,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAEzC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAEvB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEb;;;;OAIG;IACH,GAAG,CAAC,EAAE;QACJ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;IAEF;;;;;OAKG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd;;;;;OAKG;IACH,aAAa,CAAC,EAAE;QACd;;;WAGG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IAEF;;OAEG;IACH,UAAU,CAAC,EAAE,mBAAmB,CAAC;IAEjC;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE9B;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjB;;;;OAIG;IACH,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAE7B;;;;OAIG;IACH,GAAG,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,iBAAiB,CAChC,CAAC,SAAS,QAAQ,GAAG,SAAS,GAAG,QAAQ,EACzC,GAAG,SAAS,GAAG,CAAC,uBAAuB,GAAG,GAAG,CAAC,uBAAuB,CACrE,SAAQ,eAAe,CAAC,CAAC,EAAE,GAAG,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,SAAS,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB,CACpC,CAAC,SAAS,QAAQ,GAAG,SAAS,GAAG,QAAQ,EACzC,GAAG,SAAS,GAAG,CAAC,uBAAuB,GAAG,GAAG,CAAC,uBAAuB,CACrE,SAAQ,eAAe,CAAC,CAAC,EAAE,GAAG,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,CACrB,CAAC,SAAS,QAAQ,GAAG,SAAS,GAAG,QAAQ,EACzC,GAAG,SAAS,GAAG,CAAC,uBAAuB,GAAG,GAAG,CAAC,uBAAuB,IACnE,iBAAiB,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,qBAAqB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAE9D,MAAM,MAAM,gBAAgB,CAC1B,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC7B,CAAC,SAAS,WAAW,EAAE,GAAG,WAAW,EAAE,IACrC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,GAAG,cAAc,CAAC,GAAG;IACxD;;;;OAIG;IACH,KAAK,CAAC,CACJ,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EACxB,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrB;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,CAAC;IAEjB;;;;OAIG;IACH,KAAK,CAAC,CACJ,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EACpB,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EACxB,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB,CAAC;AAEF,KAAK,UAAU,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,gBAAgB,GACzE,GAAG,GACH,CAAC,CAAC,MAAM,CAAC,SAAS,aAAa,CAAC,MAAM,IAAI,CAAC,GACzC,YAAY,CAAC,IAAI,CAAC,GAClB,YAAY,CAAC,OAAO,CAAC,CAAC;AAE5B,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,CAEpE;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,CAChB,CAAC,SAAS,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,EACrD,GAAG,SAAS,GAAG,CAAC,uBAAuB,GAAG,GAAG,CAAC,uBAAuB,IACnE,QAAQ,CAAC,oBAAoB,CAAC,GAChC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,GACtC,UAAU,CAAC,OAAO,GAAG;IACnB,iCAAiC;IACjC,OAAO,CAAC,EAAE,GAAG,CAAC;IAEd,IAAI,EAAE,SAAS,CAAC;IAEhB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,CAAC,CAAC;IAEZ;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IAGtB,GAAG,EAAE,CAAC,SAAS,QAAQ,GACnB;SACG,WAAW,IAAI,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;KAChD,GACD,SAAS,CAAC;IAEd;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkHG;AACH,wBAAgB,MAAM,CACpB,KAAK,CAAC,CAAC,SAAS,QAAQ,EACxB,GAAG,SAAS,GAAG,CAAC,uBAAuB,EACvC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AACnE,wBAAgB,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,CAAC,CAAC,SAAS,WAAW,EAAE,EAC5E,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC5B,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC;AA8M3C,eAAO,MAAM,OAAO,yFAKI,CAAC,SAAS,QAAQ,QAChC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAC7B,MAAM,SACH,WAAW,CAAC,CAAC,CAAC,KACpB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAgOtB,CAAC;AAEF,wBAAsB,YAAY,CAAC,CAAC,SAAS,QAAQ,EACnD,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACvB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,iBA+B/C;AAED,wBAAsB,SAAS,CAC7B,GAAG,EAAE,aAAa,EAClB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,cAAc,qBAwD/B;AAED,wBAAsB,wBAAwB,CAAC,CAAC,SAAS,QAAQ,EAC/D,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACvB,GAAG,EAAE,aAAa,EAClB,UAAU,EAAE,MAAM,oBAgCnB;AAED,wBAAsB,YAAY,CAAC,CAAC,SAAS,QAAQ,EACnD,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACvB,GAAG,EAAE,aAAa,EAClB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,OAAO,+BAwDb;AAED,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,aAAa,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAa3C"}
@@ -10,10 +10,11 @@ import { withExponentialBackoff } from "../util/retry.js";
10
10
  import { slugify } from "../util/slugify.js";
11
11
  import { CloudflareApiError, handleApiError } from "./api-error.js";
12
12
  import { createCloudflareApi, } from "./api.js";
13
- import { Json } from "./bindings.js";
13
+ import { Json, } from "./bindings.js";
14
14
  import { isBucket } from "./bucket.js";
15
15
  import { bundleWorkerScript } from "./bundle/bundle-worker.js";
16
16
  import { isD1Database } from "./d1-database.js";
17
+ import { DurableObjectNamespace, isDurableObjectNamespace, } from "./durable-object-namespace.js";
17
18
  import { isQueueEventSource, } from "./event-source.js";
18
19
  import { isKVNamespace } from "./kv-namespace.js";
19
20
  import { isPipeline } from "./pipeline.js";
@@ -194,7 +195,11 @@ export const _Worker = Resource("cloudflare::Worker", {
194
195
  const compatibilityDate = props.compatibilityDate ?? "2025-04-20";
195
196
  const compatibilityFlags = props.compatibilityFlags ?? [];
196
197
  const uploadWorkerScript = async (props) => {
197
- const oldBindings = await this.get("bindings");
198
+ const [oldBindings, oldMetadata] = await Promise.all([
199
+ getWorkerBindings(api, workerName),
200
+ getWorkerScriptMetadata(api, workerName),
201
+ ]);
202
+ const oldTags = oldMetadata?.default_environment?.script?.tags;
198
203
  // Get the script content - either from props.script, or by bundling
199
204
  const scriptContent = props.script ??
200
205
  (await bundleWorkerScript({
@@ -227,15 +232,13 @@ export const _Worker = Resource("cloudflare::Worker", {
227
232
  assetUploadResult = await uploadAssets(api, workerName, assetBinding.assets, props.assets);
228
233
  }
229
234
  // Prepare metadata with bindings
230
- const scriptMetadata = await prepareWorkerMetadata(this, oldBindings, {
235
+ const scriptMetadata = await prepareWorkerMetadata(this, oldBindings, oldTags, {
231
236
  ...props,
232
237
  compatibilityDate,
233
238
  compatibilityFlags,
234
239
  workerName,
235
240
  }, assetUploadResult);
236
241
  await putWorker(api, workerName, scriptContent, scriptMetadata);
237
- // TODO: it is less than ideal that this can fail, resulting in state problem
238
- await this.set("bindings", props.bindings);
239
242
  for (const workflow of workflowsBindings) {
240
243
  await upsertWorkflow(api, {
241
244
  workflowName: workflow.workflowName,
@@ -305,6 +308,19 @@ export const _Worker = Resource("cloudflare::Worker", {
305
308
  }
306
309
  }
307
310
  const { scriptMetadata, workerUrl, now } = await uploadWorkerScript(props);
311
+ function exportBindings() {
312
+ return Object.fromEntries(Object.entries(props.bindings ?? {}).map(([bindingName, binding]) => [
313
+ bindingName,
314
+ isDurableObjectNamespace(binding) &&
315
+ binding.scriptName === undefined
316
+ ? new DurableObjectNamespace(binding.id, {
317
+ ...binding,
318
+ // re-export this binding mapping to the host worker (this worker)
319
+ scriptName: workerName,
320
+ })
321
+ : binding,
322
+ ]));
323
+ }
308
324
  // Construct the output
309
325
  return this({
310
326
  ...props,
@@ -315,7 +331,7 @@ export const _Worker = Resource("cloudflare::Worker", {
315
331
  compatibilityDate,
316
332
  compatibilityFlags,
317
333
  format: props.format || "esm", // Include format in the output
318
- bindings: props.bindings ?? {},
334
+ bindings: exportBindings(),
319
335
  env: props.env,
320
336
  observability: scriptMetadata.observability,
321
337
  createdAt: now,
@@ -442,21 +458,23 @@ export async function getWorkerScriptMetadata(api, workerName) {
442
458
  }
443
459
  return (await response.json()).result;
444
460
  }
445
- export async function _getWorkerBindings(api, workerName, environment = "production") {
446
- const response = await api.get(`/accounts/${api.accountId}/workers/services/${workerName}/environments/${environment}/bindings`, {
447
- headers: {
448
- Authorization: `Bearer ${process.env.CLOUDFLARE_API_TOKEN}`,
449
- "Content-Type": "application/json",
450
- },
451
- });
461
+ async function getWorkerBindings(api, workerName) {
462
+ // Fetch the bindings for a worker by calling the Cloudflare API endpoint:
463
+ // GET /accounts/:account_id/workers/scripts/:script_name/bindings
464
+ // See: https://developers.cloudflare.com/api/resources/workers/subresources/scripts/subresources/script_and_version_settings/methods/get/
465
+ const response = await api.get(`/accounts/${api.accountId}/workers/scripts/${workerName}/settings`);
452
466
  if (response.status === 404) {
453
467
  return undefined;
454
468
  }
455
469
  if (!response.ok) {
456
- throw new Error(`Failed to fetch bindings: ${response.status} ${response.statusText}`);
470
+ throw new Error(`Error getting worker bindings: ${response.status} ${response.statusText}`);
471
+ }
472
+ // The result is an object with a "result" property containing the bindings array
473
+ const { result, success, errors } = (await response.json());
474
+ if (!success) {
475
+ throw new Error(`Error getting worker bindings: ${response.status} ${response.statusText}\nErrors:\n${errors.map((e) => `- [${e.code}] ${e.message} (${e.documentation_url})`).join("\n")}`);
457
476
  }
458
- const data = await response.json();
459
- return data.result;
477
+ return result.bindings;
460
478
  }
461
479
  /**
462
480
  * Lists and deletes all queue consumers for a specific worker