alchemy 0.1.11 → 0.1.13
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/README.md +324 -0
- package/lib/$.d.ts +8 -3
- package/lib/$.d.ts.map +1 -1
- package/lib/$.js +38 -27
- package/lib/$.js.map +1 -1
- package/lib/alchemize.d.ts.map +1 -1
- package/lib/alchemize.js +7 -0
- package/lib/alchemize.js.map +1 -1
- package/lib/apply.d.ts +2 -2
- package/lib/apply.d.ts.map +1 -1
- package/lib/apply.js +3 -3
- package/lib/apply.js.map +1 -1
- 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/ses.d.ts +75 -0
- package/lib/aws/ses.d.ts.map +1 -0
- package/lib/aws/ses.js +197 -0
- package/lib/aws/ses.js.map +1 -0
- package/lib/cloudflare/api.d.ts +88 -0
- package/lib/cloudflare/api.d.ts.map +1 -0
- package/lib/cloudflare/api.js +184 -0
- package/lib/cloudflare/api.js.map +1 -0
- package/lib/cloudflare/asset-manifest.d.ts +15 -0
- package/lib/cloudflare/asset-manifest.d.ts.map +1 -0
- package/lib/cloudflare/asset-manifest.js +2 -0
- package/lib/cloudflare/asset-manifest.js.map +1 -0
- package/lib/cloudflare/auth.d.ts +52 -0
- package/lib/cloudflare/auth.d.ts.map +1 -0
- package/lib/cloudflare/auth.js +114 -0
- package/lib/cloudflare/auth.js.map +1 -0
- package/lib/cloudflare/bindings.d.ts +254 -0
- package/lib/cloudflare/bindings.d.ts.map +1 -0
- package/lib/cloudflare/bindings.js +2 -0
- package/lib/cloudflare/bindings.js.map +1 -0
- package/lib/cloudflare/durable-object-namespace.d.ts +23 -0
- package/lib/cloudflare/durable-object-namespace.d.ts.map +1 -0
- package/lib/cloudflare/durable-object-namespace.js +26 -0
- package/lib/cloudflare/durable-object-namespace.js.map +1 -0
- package/lib/cloudflare/generate-asset-manifest.d.ts +3 -0
- package/lib/cloudflare/generate-asset-manifest.d.ts.map +1 -0
- package/lib/cloudflare/generate-asset-manifest.js +69 -0
- package/lib/cloudflare/generate-asset-manifest.js.map +1 -0
- package/lib/cloudflare/index.d.ts +7 -0
- package/lib/cloudflare/index.d.ts.map +1 -0
- package/lib/cloudflare/index.js +7 -0
- package/lib/cloudflare/index.js.map +1 -0
- package/lib/cloudflare/kv-namespace.d.ts +61 -0
- package/lib/cloudflare/kv-namespace.d.ts.map +1 -0
- package/lib/cloudflare/kv-namespace.js +93 -0
- package/lib/cloudflare/kv-namespace.js.map +1 -0
- package/lib/cloudflare/state.d.ts +83 -0
- package/lib/cloudflare/state.d.ts.map +1 -0
- package/lib/cloudflare/state.js +109 -0
- package/lib/cloudflare/state.js.map +1 -0
- package/lib/cloudflare/static-site-router.d.ts +19 -0
- package/lib/cloudflare/static-site-router.d.ts.map +1 -0
- package/lib/cloudflare/static-site-router.js +110 -0
- package/lib/cloudflare/static-site-router.js.map +1 -0
- package/lib/cloudflare/static-site.d.ts +166 -0
- package/lib/cloudflare/static-site.d.ts.map +1 -0
- package/lib/cloudflare/static-site.js +168 -0
- package/lib/cloudflare/static-site.js.map +1 -0
- package/lib/cloudflare/types.d.ts +52 -0
- package/lib/cloudflare/types.d.ts.map +1 -0
- package/lib/cloudflare/types.js +21 -0
- package/lib/cloudflare/types.js.map +1 -0
- package/lib/cloudflare/upload-asset-manifest.d.ts +12 -0
- package/lib/cloudflare/upload-asset-manifest.d.ts.map +1 -0
- package/lib/cloudflare/upload-asset-manifest.js +55 -0
- package/lib/cloudflare/upload-asset-manifest.js.map +1 -0
- package/lib/cloudflare/worker-metadata.d.ts +130 -0
- package/lib/cloudflare/worker-metadata.d.ts.map +1 -0
- package/lib/cloudflare/worker-metadata.js +2 -0
- package/lib/cloudflare/worker-metadata.js.map +1 -0
- package/lib/cloudflare/worker-migration.d.ts +110 -0
- package/lib/cloudflare/worker-migration.d.ts.map +1 -0
- package/lib/cloudflare/worker-migration.js +11 -0
- package/lib/cloudflare/worker-migration.js.map +1 -0
- package/lib/cloudflare/worker.d.ts +105 -0
- package/lib/cloudflare/worker.d.ts.map +1 -0
- package/lib/cloudflare/worker.js +358 -0
- package/lib/cloudflare/worker.js.map +1 -0
- package/lib/destroy.d.ts +1 -1
- package/lib/destroy.d.ts.map +1 -1
- package/lib/destroy.js +2 -1
- package/lib/destroy.js.map +1 -1
- package/lib/esbuild.d.ts +83 -1
- package/lib/esbuild.d.ts.map +1 -1
- package/lib/esbuild.js +27 -18
- package/lib/esbuild.js.map +1 -1
- package/lib/fs.d.ts +1 -1
- package/lib/global.d.ts +0 -2
- package/lib/global.d.ts.map +1 -1
- package/lib/global.js +3 -3
- package/lib/global.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/main.js +1 -1
- package/lib/main.js.map +1 -1
- package/lib/output.d.ts +18 -13
- package/lib/output.d.ts.map +1 -1
- package/lib/output.js +12 -5
- package/lib/output.js.map +1 -1
- package/lib/print.d.ts +7 -0
- package/lib/print.d.ts.map +1 -0
- package/lib/print.js +10 -0
- package/lib/print.js.map +1 -0
- package/lib/resource.d.ts +9 -4
- package/lib/resource.d.ts.map +1 -1
- package/lib/resource.js +127 -93
- package/lib/resource.js.map +1 -1
- package/lib/scope.d.ts +3 -0
- package/lib/scope.d.ts.map +1 -1
- package/lib/scope.js +4 -12
- package/lib/scope.js.map +1 -1
- package/lib/utils/content-type.d.ts +8 -0
- package/lib/utils/content-type.d.ts.map +1 -0
- package/lib/utils/content-type.js +41 -0
- package/lib/utils/content-type.js.map +1 -0
- package/package.json +27 -8
- package/src/$.ts +63 -30
- package/src/alchemize.ts +12 -0
- package/src/apply.ts +6 -6
- package/src/aws/index.ts +1 -0
- package/src/aws/ses.ts +346 -0
- package/src/cloudflare/api.ts +282 -0
- package/src/cloudflare/asset-manifest.ts +16 -0
- package/src/cloudflare/auth.ts +187 -0
- package/src/cloudflare/bindings.ts +297 -0
- package/src/cloudflare/durable-object-namespace.ts +43 -0
- package/src/cloudflare/generate-asset-manifest.ts +93 -0
- package/src/cloudflare/index.ts +6 -0
- package/src/cloudflare/kv-namespace.ts +195 -0
- package/src/cloudflare/state.ts +138 -0
- package/src/cloudflare/static-site-router.ts +150 -0
- package/src/cloudflare/static-site.ts +395 -0
- package/src/cloudflare/types.ts +71 -0
- package/src/cloudflare/upload-asset-manifest.ts +83 -0
- package/src/cloudflare/worker-metadata.ts +154 -0
- package/src/cloudflare/worker-migration.ts +145 -0
- package/src/cloudflare/worker.ts +666 -0
- package/src/destroy.ts +2 -2
- package/src/esbuild.ts +34 -22
- package/src/global.ts +1 -3
- package/src/index.ts +1 -1
- package/src/main.ts +1 -1
- package/src/output.ts +53 -37
- package/src/print.ts +18 -0
- package/src/resource.ts +163 -116
- package/src/scope.ts +7 -12
- package/src/utils/content-type.ts +42 -0
- package/lib/agent/ai.d.ts +0 -40
- package/lib/agent/ai.d.ts.map +0 -1
- package/lib/agent/ai.js +0 -132
- package/lib/agent/ai.js.map +0 -1
- package/lib/agent/anthropic.d.ts +0 -9
- package/lib/agent/anthropic.d.ts.map +0 -1
- package/lib/agent/anthropic.js +0 -25
- package/lib/agent/anthropic.js.map +0 -1
- package/lib/agent/dependencies.d.ts +0 -4
- package/lib/agent/dependencies.d.ts.map +0 -1
- package/lib/agent/dependencies.js +0 -48
- package/lib/agent/dependencies.js.map +0 -1
- package/lib/agent/file-context.d.ts +0 -13
- package/lib/agent/file-context.d.ts.map +0 -1
- package/lib/agent/file-context.js +0 -6
- package/lib/agent/file-context.js.map +0 -1
- package/lib/agent/index.d.ts +0 -10
- package/lib/agent/index.d.ts.map +0 -1
- package/lib/agent/index.js +0 -10
- package/lib/agent/index.js.map +0 -1
- package/lib/agent/model.d.ts +0 -8
- package/lib/agent/model.d.ts.map +0 -1
- package/lib/agent/model.js +0 -29
- package/lib/agent/model.js.map +0 -1
- package/lib/agent/module.d.ts +0 -81
- package/lib/agent/module.d.ts.map +0 -1
- package/lib/agent/module.js +0 -309
- package/lib/agent/module.js.map +0 -1
- package/lib/agent/openai.d.ts +0 -6
- package/lib/agent/openai.d.ts.map +0 -1
- package/lib/agent/openai.js +0 -41
- package/lib/agent/openai.js.map +0 -1
- package/lib/agent/program.d.ts +0 -12
- package/lib/agent/program.d.ts.map +0 -1
- package/lib/agent/program.js +0 -21
- package/lib/agent/program.js.map +0 -1
- package/lib/agent/prompts.d.ts +0 -4
- package/lib/agent/prompts.d.ts.map +0 -1
- package/lib/agent/prompts.js +0 -11
- package/lib/agent/prompts.js.map +0 -1
- package/lib/agent/scrape.d.ts +0 -71
- package/lib/agent/scrape.d.ts.map +0 -1
- package/lib/agent/scrape.js +0 -45
- package/lib/agent/scrape.js.map +0 -1
- package/lib/aws/auto/docs.d.ts +0 -11
- package/lib/aws/auto/docs.d.ts.map +0 -1
- package/lib/aws/auto/docs.js +0 -56
- package/lib/aws/auto/docs.js.map +0 -1
- package/lib/aws/auto/index.d.ts +0 -5
- package/lib/aws/auto/index.d.ts.map +0 -1
- package/lib/aws/auto/index.js +0 -5
- package/lib/aws/auto/index.js.map +0 -1
- package/lib/aws/auto/resource.d.ts +0 -24
- package/lib/aws/auto/resource.d.ts.map +0 -1
- package/lib/aws/auto/resource.js +0 -194
- package/lib/aws/auto/resource.js.map +0 -1
- package/lib/aws/auto/service.d.ts +0 -10
- package/lib/aws/auto/service.d.ts.map +0 -1
- package/lib/aws/auto/service.js +0 -34
- package/lib/aws/auto/service.js.map +0 -1
- package/lib/aws/auto/spec.d.ts +0 -83
- package/lib/aws/auto/spec.d.ts.map +0 -1
- package/lib/aws/auto/spec.js +0 -58
- package/lib/aws/auto/spec.js.map +0 -1
- package/lib/markdown/design.d.ts +0 -17
- package/lib/markdown/design.d.ts.map +0 -1
- package/lib/markdown/design.js +0 -92
- package/lib/markdown/design.js.map +0 -1
- package/lib/markdown/extract.d.ts +0 -7
- package/lib/markdown/extract.d.ts.map +0 -1
- package/lib/markdown/extract.js +0 -10
- package/lib/markdown/extract.js.map +0 -1
- package/lib/markdown/index.d.ts +0 -4
- package/lib/markdown/index.d.ts.map +0 -1
- package/lib/markdown/index.js +0 -4
- package/lib/markdown/index.js.map +0 -1
- package/lib/markdown/requirements.d.ts +0 -79
- package/lib/markdown/requirements.d.ts.map +0 -1
- package/lib/markdown/requirements.js +0 -105
- package/lib/markdown/requirements.js.map +0 -1
- package/lib/typescript/check-omission.d.ts +0 -2
- package/lib/typescript/check-omission.d.ts.map +0 -1
- package/lib/typescript/check-omission.js +0 -43
- package/lib/typescript/check-omission.js.map +0 -1
- package/lib/typescript/debug-type-errors.d.ts +0 -3
- package/lib/typescript/debug-type-errors.d.ts.map +0 -1
- package/lib/typescript/debug-type-errors.js +0 -35
- package/lib/typescript/debug-type-errors.js.map +0 -1
- package/lib/typescript/extract.d.ts +0 -7
- package/lib/typescript/extract.d.ts.map +0 -1
- package/lib/typescript/extract.js +0 -10
- package/lib/typescript/extract.js.map +0 -1
- package/lib/typescript/index.d.ts +0 -7
- package/lib/typescript/index.d.ts.map +0 -1
- package/lib/typescript/index.js +0 -7
- package/lib/typescript/index.js.map +0 -1
- package/lib/typescript/install-dependencies.d.ts +0 -29
- package/lib/typescript/install-dependencies.d.ts.map +0 -1
- package/lib/typescript/install-dependencies.js +0 -52
- package/lib/typescript/install-dependencies.js.map +0 -1
- package/lib/typescript/package.d.ts +0 -157
- package/lib/typescript/package.d.ts.map +0 -1
- package/lib/typescript/package.js +0 -115
- package/lib/typescript/package.js.map +0 -1
- package/lib/typescript/repair-omissions.d.ts +0 -3
- package/lib/typescript/repair-omissions.d.ts.map +0 -1
- package/lib/typescript/repair-omissions.js +0 -23
- package/lib/typescript/repair-omissions.js.map +0 -1
- package/lib/typescript/repair.d.ts +0 -3
- package/lib/typescript/repair.d.ts.map +0 -1
- package/lib/typescript/repair.js +0 -34
- package/lib/typescript/repair.js.map +0 -1
- package/lib/typescript/tsconfig.d.ts +0 -469
- package/lib/typescript/tsconfig.d.ts.map +0 -1
- package/lib/typescript/tsconfig.js +0 -143
- package/lib/typescript/tsconfig.js.map +0 -1
- package/lib/typescript/typescript.d.ts +0 -107
- package/lib/typescript/typescript.d.ts.map +0 -1
- package/lib/typescript/typescript.js +0 -180
- package/lib/typescript/typescript.js.map +0 -1
- package/lib/typescript/validate.d.ts +0 -10
- package/lib/typescript/validate.d.ts.map +0 -1
- package/lib/typescript/validate.js +0 -49
- package/lib/typescript/validate.js.map +0 -1
- package/src/agent/ai.ts +0 -215
- package/src/agent/anthropic.ts +0 -31
- package/src/agent/dependencies.ts +0 -62
- package/src/agent/file-context.ts +0 -8
- package/src/agent/index.ts +0 -9
- package/src/agent/model.ts +0 -39
- package/src/agent/module.ts +0 -418
- package/src/agent/openai.ts +0 -50
- package/src/agent/program.md +0 -38
- package/src/agent/program.ts +0 -37
- package/src/agent/prompts.ts +0 -20
- package/src/agent/scrape.ts +0 -47
- package/src/aws/auto/cfn.json +0 -225310
- package/src/aws/auto/docs.ts +0 -73
- package/src/aws/auto/index.ts +0 -4
- package/src/aws/auto/resource.ts +0 -269
- package/src/aws/auto/service.ts +0 -51
- package/src/aws/auto/spec.ts +0 -160
- package/src/markdown/design.ts +0 -125
- package/src/markdown/extract.ts +0 -9
- package/src/markdown/index.ts +0 -3
- package/src/markdown/requirements.ts +0 -135
- package/src/typescript/check-omission.ts +0 -47
- package/src/typescript/debug-type-errors.ts +0 -42
- package/src/typescript/extract.ts +0 -9
- package/src/typescript/index.ts +0 -6
- package/src/typescript/install-dependencies.ts +0 -61
- package/src/typescript/package.ts +0 -143
- package/src/typescript/repair-omissions.ts +0 -31
- package/src/typescript/repair.ts +0 -45
- package/src/typescript/tsconfig.ts +0 -170
- package/src/typescript/typescript.ts +0 -217
- package/src/typescript/validate.ts +0 -73
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { exec } from "child_process";
|
|
2
|
+
import { promises as fs } from "fs";
|
|
3
|
+
import path from "path";
|
|
4
|
+
import { promisify } from "util";
|
|
5
|
+
import { apply } from "../apply";
|
|
6
|
+
import { Resource } from "../resource";
|
|
7
|
+
import { createCloudflareApi } from "./api";
|
|
8
|
+
import { generateAssetManifest } from "./generate-asset-manifest";
|
|
9
|
+
import { KVNamespace } from "./kv-namespace";
|
|
10
|
+
import { uploadAssetManifest } from "./upload-asset-manifest";
|
|
11
|
+
import { Worker } from "./worker";
|
|
12
|
+
const __dirname = import.meta.dirname;
|
|
13
|
+
export class StaticSite extends Resource("cloudflare::StaticSite", {
|
|
14
|
+
alwaysUpdate: true,
|
|
15
|
+
}, async (ctx, props) => {
|
|
16
|
+
if (ctx.event === "delete") {
|
|
17
|
+
// For delete operations, we'll rely on the Worker delete to clean up
|
|
18
|
+
// Return empty output for deleted state
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
// Validate that a name is provided
|
|
22
|
+
if (!props.name) {
|
|
23
|
+
throw new Error("StaticSite name is required - must be explicitly specified");
|
|
24
|
+
}
|
|
25
|
+
// Validate directory exists
|
|
26
|
+
if (!props.dir) {
|
|
27
|
+
throw new Error("Directory is required for StaticSite");
|
|
28
|
+
}
|
|
29
|
+
try {
|
|
30
|
+
const dirStat = await fs.stat(props.dir);
|
|
31
|
+
if (!dirStat.isDirectory()) {
|
|
32
|
+
throw new Error(`"${props.dir}" is not a directory`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
throw new Error(`Directory "${props.dir}" does not exist: ${error.message}`);
|
|
37
|
+
}
|
|
38
|
+
// Run build command if provided
|
|
39
|
+
if (props.build?.command) {
|
|
40
|
+
try {
|
|
41
|
+
if (!ctx.quiet) {
|
|
42
|
+
console.log(props.build.command);
|
|
43
|
+
}
|
|
44
|
+
const execAsync = promisify(exec);
|
|
45
|
+
const { stdout, stderr } = await execAsync(props.build.command, {
|
|
46
|
+
cwd: process.cwd(),
|
|
47
|
+
});
|
|
48
|
+
if (stdout && !ctx.quiet)
|
|
49
|
+
console.log(stdout);
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
// Log detailed error information
|
|
53
|
+
console.error(`Build command failed with exit code ${error.code}`);
|
|
54
|
+
if (error.stdout)
|
|
55
|
+
console.error(`Command stdout: ${error.stdout}`);
|
|
56
|
+
if (error.stderr)
|
|
57
|
+
console.error(`Command stderr: ${error.stderr}`);
|
|
58
|
+
// Throw a more descriptive error that includes the exit code and stderr
|
|
59
|
+
throw new Error(`Build command "${props.build.command}" failed with exit code ${error.code}:\n${error.stderr || error.message}`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
// Use the provided name
|
|
63
|
+
const siteName = props.name;
|
|
64
|
+
const indexPage = props.indexPage || "index.html";
|
|
65
|
+
// Create Cloudflare API client with automatic account discovery
|
|
66
|
+
const api = await createCloudflareApi();
|
|
67
|
+
// Step 1: Create or get the KV namespace for assets
|
|
68
|
+
const namespace = new KVNamespace("assets", {
|
|
69
|
+
title: `${siteName}-assets`,
|
|
70
|
+
});
|
|
71
|
+
const [{ id: kvNamespaceId }, assetManifest] = await Promise.all([
|
|
72
|
+
apply(namespace, {
|
|
73
|
+
quiet: ctx.quiet,
|
|
74
|
+
}),
|
|
75
|
+
generateAssetManifest(props.dir),
|
|
76
|
+
]);
|
|
77
|
+
// Step 3: Upload assets to KV
|
|
78
|
+
await uploadAssetManifest(api, kvNamespaceId, assetManifest);
|
|
79
|
+
// Prepare the bindings for the worker
|
|
80
|
+
const bindings = [
|
|
81
|
+
{
|
|
82
|
+
name: "ASSETS",
|
|
83
|
+
type: "kv_namespace",
|
|
84
|
+
namespace_id: kvNamespaceId,
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
name: "INDEX_PAGE",
|
|
88
|
+
type: "plain_text",
|
|
89
|
+
text: indexPage,
|
|
90
|
+
},
|
|
91
|
+
];
|
|
92
|
+
// Add error page binding if specified
|
|
93
|
+
if (props.errorPage) {
|
|
94
|
+
bindings.push({
|
|
95
|
+
name: "ERROR_PAGE",
|
|
96
|
+
type: "plain_text",
|
|
97
|
+
text: props.errorPage,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
const routes = {};
|
|
101
|
+
// Create backend worker if configured
|
|
102
|
+
if (props.routes) {
|
|
103
|
+
for (const [path, entrypoint] of Object.entries(props.routes)) {
|
|
104
|
+
// @ts-ignore - TODO: need to use Resolved<Worker> to get the string ...
|
|
105
|
+
routes[path] = entrypoint.id;
|
|
106
|
+
bindings.push({
|
|
107
|
+
type: "service",
|
|
108
|
+
name: `ROUTE_${entrypoint.id}`,
|
|
109
|
+
service: entrypoint.id,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
// Create asset manifest banner for static site router
|
|
114
|
+
const assetManifestBanner = `const __ASSET_MANIFEST__ = ${JSON.stringify(Object.fromEntries(assetManifest.map((item) => [item.key, item.hash])))};\n`;
|
|
115
|
+
const bundleOptions = {
|
|
116
|
+
...props.bundle,
|
|
117
|
+
options: {
|
|
118
|
+
...props.bundle?.options,
|
|
119
|
+
banner: {
|
|
120
|
+
js: assetManifestBanner,
|
|
121
|
+
...props.bundle?.options?.banner,
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
const worker = new Worker("worker", {
|
|
126
|
+
name: siteName,
|
|
127
|
+
url: true,
|
|
128
|
+
format: props.format || "esm",
|
|
129
|
+
// If a custom worker script is provided, use it, otherwise use the entrypoint from router
|
|
130
|
+
...(props.workerScript
|
|
131
|
+
? { script: props.workerScript }
|
|
132
|
+
: {
|
|
133
|
+
entrypoint: path.resolve(__dirname, "static-site-router.ts"),
|
|
134
|
+
bundle: bundleOptions,
|
|
135
|
+
}),
|
|
136
|
+
bindings,
|
|
137
|
+
env: {
|
|
138
|
+
...Object.fromEntries(Object.entries(routes).map(([key, value]) => [
|
|
139
|
+
`__ROUTE_${value}`,
|
|
140
|
+
key,
|
|
141
|
+
])),
|
|
142
|
+
},
|
|
143
|
+
},
|
|
144
|
+
// place a dependency on the namespace
|
|
145
|
+
namespace.id);
|
|
146
|
+
// Get current timestamp
|
|
147
|
+
const now = Date.now();
|
|
148
|
+
// Construct the output
|
|
149
|
+
const output = {
|
|
150
|
+
id: siteName,
|
|
151
|
+
workerId: worker.id,
|
|
152
|
+
name: siteName,
|
|
153
|
+
directory: props.dir,
|
|
154
|
+
format: props.format || "esm",
|
|
155
|
+
errorPage: props.errorPage,
|
|
156
|
+
indexPage,
|
|
157
|
+
assets: assetManifest.map((item) => item.key),
|
|
158
|
+
createdAt: ctx.output?.createdAt || now,
|
|
159
|
+
updatedAt: now,
|
|
160
|
+
domain: props.domain,
|
|
161
|
+
production: props.production !== false,
|
|
162
|
+
url: worker.url,
|
|
163
|
+
routes,
|
|
164
|
+
};
|
|
165
|
+
return output;
|
|
166
|
+
}) {
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=static-site.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"static-site.js","sourceRoot":"","sources":["../../src/cloudflare/static-site.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloudflare API response format
|
|
3
|
+
*/
|
|
4
|
+
export interface CloudflareApiResponse<T> {
|
|
5
|
+
/**
|
|
6
|
+
* API response result
|
|
7
|
+
*/
|
|
8
|
+
result: T;
|
|
9
|
+
/**
|
|
10
|
+
* Success status
|
|
11
|
+
*/
|
|
12
|
+
success: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Error details if success is false
|
|
15
|
+
*/
|
|
16
|
+
errors: CloudflareApiError[];
|
|
17
|
+
/**
|
|
18
|
+
* Response messages
|
|
19
|
+
*/
|
|
20
|
+
messages: string[];
|
|
21
|
+
/**
|
|
22
|
+
* Result information (typically for paginated results)
|
|
23
|
+
*/
|
|
24
|
+
result_info?: {
|
|
25
|
+
page: number;
|
|
26
|
+
per_page: number;
|
|
27
|
+
total_pages: number;
|
|
28
|
+
count: number;
|
|
29
|
+
total_count: number;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Cloudflare API error format
|
|
34
|
+
*/
|
|
35
|
+
export interface CloudflareApiError {
|
|
36
|
+
/**
|
|
37
|
+
* Error code
|
|
38
|
+
*/
|
|
39
|
+
code: number;
|
|
40
|
+
/**
|
|
41
|
+
* Error message
|
|
42
|
+
*/
|
|
43
|
+
message: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Helper to extract and handle Cloudflare API errors
|
|
47
|
+
*
|
|
48
|
+
* @param response Fetch response object
|
|
49
|
+
* @returns Formatted error message
|
|
50
|
+
*/
|
|
51
|
+
export declare function extractCloudflareError(response: Response): Promise<string>;
|
|
52
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cloudflare/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC;;OAEG;IACH,MAAM,EAAE,CAAC,CAAC;IAEV;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAE7B;;OAEG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB;;OAEG;IACH,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,MAAM,CAAC,CAWjB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helper to extract and handle Cloudflare API errors
|
|
3
|
+
*
|
|
4
|
+
* @param response Fetch response object
|
|
5
|
+
* @returns Formatted error message
|
|
6
|
+
*/
|
|
7
|
+
export async function extractCloudflareError(response) {
|
|
8
|
+
try {
|
|
9
|
+
const data = (await response.json());
|
|
10
|
+
if (data.errors && data.errors.length > 0) {
|
|
11
|
+
return data.errors.map((e) => `Error ${e.code}: ${e.message}`).join(", ");
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
return `HTTP ${response.status}: ${response.statusText}`;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
catch (e) {
|
|
18
|
+
return `HTTP ${response.status}: ${response.statusText}`;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cloudflare/types.ts"],"names":[],"mappings":"AAmDA;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,QAAkB;IAElB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA+B,CAAC;QACnE,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,OAAO,QAAQ,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC3D,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,QAAQ,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;IAC3D,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { CloudflareApi } from "./api";
|
|
2
|
+
import type { AssetManifest } from "./asset-manifest";
|
|
3
|
+
type AssetItem = AssetManifest[number];
|
|
4
|
+
type UploadResult = {
|
|
5
|
+
item: AssetItem;
|
|
6
|
+
success: boolean;
|
|
7
|
+
status?: number;
|
|
8
|
+
error?: unknown;
|
|
9
|
+
};
|
|
10
|
+
export declare function uploadAssetManifest(api: CloudflareApi, namespaceId: string, manifest: AssetManifest): Promise<UploadResult[]>;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=upload-asset-manifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload-asset-manifest.d.ts","sourceRoot":"","sources":["../../src/cloudflare/upload-asset-manifest.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMtD,KAAK,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AACvC,KAAK,YAAY,GAAG;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,aAAa,EAClB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,EAAE,CAAC,CA8DzB"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import fs from "node:fs/promises";
|
|
2
|
+
// Maximum number of concurrent uploads
|
|
3
|
+
const MAX_CONCURRENT = 100; // Adjust based on API limits and performance testing
|
|
4
|
+
export async function uploadAssetManifest(api, namespaceId, manifest) {
|
|
5
|
+
const results = [];
|
|
6
|
+
// Process in batches with controlled concurrency
|
|
7
|
+
let index = 0;
|
|
8
|
+
const activePromises = new Set();
|
|
9
|
+
while (index < manifest.length || activePromises.size > 0) {
|
|
10
|
+
// Fill up to MAX_CONCURRENT active uploads
|
|
11
|
+
while (activePromises.size < MAX_CONCURRENT && index < manifest.length) {
|
|
12
|
+
const item = manifest[index++];
|
|
13
|
+
const promise = uploadItem(item).then((result) => {
|
|
14
|
+
results.push(result);
|
|
15
|
+
activePromises.delete(promise);
|
|
16
|
+
});
|
|
17
|
+
activePromises.add(promise);
|
|
18
|
+
}
|
|
19
|
+
// Wait for at least one promise to complete if we have any active
|
|
20
|
+
if (activePromises.size > 0) {
|
|
21
|
+
await Promise.race(activePromises);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return results;
|
|
25
|
+
async function uploadItem(item) {
|
|
26
|
+
const content = await fs.readFile(item.source);
|
|
27
|
+
// Create metadata object
|
|
28
|
+
const metadata = {
|
|
29
|
+
key: item.key,
|
|
30
|
+
hash: item.hash,
|
|
31
|
+
contentType: item.contentType,
|
|
32
|
+
cacheControl: item.cacheControl,
|
|
33
|
+
};
|
|
34
|
+
// Create FormData for multipart upload
|
|
35
|
+
const formData = new FormData();
|
|
36
|
+
formData.append("metadata", JSON.stringify(metadata));
|
|
37
|
+
// Add file content as 'value'
|
|
38
|
+
const blob = new Blob([content]);
|
|
39
|
+
formData.append("value", blob);
|
|
40
|
+
try {
|
|
41
|
+
const response = await api.put(`/accounts/${api.accountId}/storage/kv/namespaces/${namespaceId}/values/${item.key}`, formData);
|
|
42
|
+
const result = { item, success: response.ok, status: response.status };
|
|
43
|
+
if (!result.success) {
|
|
44
|
+
console.warn(`Error uploading asset ${item.key}: ${result.status}`);
|
|
45
|
+
}
|
|
46
|
+
return result;
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
const result = { item, success: false, error };
|
|
50
|
+
console.warn(`Error uploading asset ${item.key}: ${error}`);
|
|
51
|
+
return result;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=upload-asset-manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload-asset-manifest.js","sourceRoot":"","sources":["../../src/cloudflare/upload-asset-manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Metadata returned by Cloudflare API for a worker script
|
|
3
|
+
*/
|
|
4
|
+
export interface WorkerScriptMetadata {
|
|
5
|
+
/**
|
|
6
|
+
* Worker ID
|
|
7
|
+
*/
|
|
8
|
+
id: string;
|
|
9
|
+
/**
|
|
10
|
+
* Default environment information
|
|
11
|
+
*/
|
|
12
|
+
default_environment?: WorkerDefaultEnvironment;
|
|
13
|
+
/**
|
|
14
|
+
* Worker creation timestamp
|
|
15
|
+
*/
|
|
16
|
+
created_on: string;
|
|
17
|
+
/**
|
|
18
|
+
* Worker last modification timestamp
|
|
19
|
+
*/
|
|
20
|
+
modified_on: string;
|
|
21
|
+
/**
|
|
22
|
+
* Worker usage model
|
|
23
|
+
*/
|
|
24
|
+
usage_model: string;
|
|
25
|
+
/**
|
|
26
|
+
* Worker environments
|
|
27
|
+
*/
|
|
28
|
+
environments?: WorkerEnvironment[];
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Worker script information
|
|
32
|
+
*/
|
|
33
|
+
export interface WorkerScriptInfo {
|
|
34
|
+
/**
|
|
35
|
+
* Script creation timestamp
|
|
36
|
+
*/
|
|
37
|
+
created_on: string;
|
|
38
|
+
/**
|
|
39
|
+
* Script last modification timestamp
|
|
40
|
+
*/
|
|
41
|
+
modified_on: string;
|
|
42
|
+
/**
|
|
43
|
+
* Script ID
|
|
44
|
+
*/
|
|
45
|
+
id: string;
|
|
46
|
+
/**
|
|
47
|
+
* Script tag
|
|
48
|
+
*/
|
|
49
|
+
tag: string;
|
|
50
|
+
/**
|
|
51
|
+
* Script tags
|
|
52
|
+
*/
|
|
53
|
+
tags: string[];
|
|
54
|
+
/**
|
|
55
|
+
* Deployment ID
|
|
56
|
+
*/
|
|
57
|
+
deployment_id: string;
|
|
58
|
+
/**
|
|
59
|
+
* Tail consumers
|
|
60
|
+
*/
|
|
61
|
+
tail_consumers: any;
|
|
62
|
+
/**
|
|
63
|
+
* Whether logpush is enabled
|
|
64
|
+
*/
|
|
65
|
+
logpush: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Observability settings
|
|
68
|
+
*/
|
|
69
|
+
observability: {
|
|
70
|
+
/**
|
|
71
|
+
* Whether observability is enabled
|
|
72
|
+
*/
|
|
73
|
+
enabled: boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Head sampling rate
|
|
76
|
+
*/
|
|
77
|
+
head_sampling_rate: number | null;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Whether the script has assets
|
|
81
|
+
*/
|
|
82
|
+
has_assets: boolean;
|
|
83
|
+
/**
|
|
84
|
+
* Whether the script has modules
|
|
85
|
+
*/
|
|
86
|
+
has_modules: boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Script etag
|
|
89
|
+
*/
|
|
90
|
+
etag: string;
|
|
91
|
+
/**
|
|
92
|
+
* Script handlers
|
|
93
|
+
*/
|
|
94
|
+
handlers: string[];
|
|
95
|
+
/**
|
|
96
|
+
* Where the script was last deployed from
|
|
97
|
+
*/
|
|
98
|
+
last_deployed_from: string;
|
|
99
|
+
/**
|
|
100
|
+
* Script usage model
|
|
101
|
+
*/
|
|
102
|
+
usage_model: string;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Worker environment information
|
|
106
|
+
*/
|
|
107
|
+
export interface WorkerEnvironment {
|
|
108
|
+
/**
|
|
109
|
+
* Environment name
|
|
110
|
+
*/
|
|
111
|
+
environment: string;
|
|
112
|
+
/**
|
|
113
|
+
* Environment creation timestamp
|
|
114
|
+
*/
|
|
115
|
+
created_on: string;
|
|
116
|
+
/**
|
|
117
|
+
* Environment last modification timestamp
|
|
118
|
+
*/
|
|
119
|
+
modified_on: string;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Default environment with script information
|
|
123
|
+
*/
|
|
124
|
+
export interface WorkerDefaultEnvironment extends WorkerEnvironment {
|
|
125
|
+
/**
|
|
126
|
+
* Script information
|
|
127
|
+
*/
|
|
128
|
+
script: WorkerScriptInfo;
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=worker-metadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-metadata.d.ts","sourceRoot":"","sources":["../../src/cloudflare/worker-metadata.ts"],"names":[],"mappings":"AAAA;;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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-metadata.js","sourceRoot":"","sources":["../../src/cloudflare/worker-metadata.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
export type WorkerMigrations = SingleStepMigration | MultiStepMigration;
|
|
2
|
+
export declare function isSingleStepMigration(migration: WorkerMigrations): migration is SingleStepMigration;
|
|
3
|
+
export interface SingleStepMigration {
|
|
4
|
+
/**
|
|
5
|
+
* A list of classes to delete Durable Object namespaces from
|
|
6
|
+
*/
|
|
7
|
+
deleted_classes?: string[];
|
|
8
|
+
/**
|
|
9
|
+
* A list of classes to create Durable Object namespaces from
|
|
10
|
+
*/
|
|
11
|
+
new_classes?: string[];
|
|
12
|
+
/**
|
|
13
|
+
* A list of classes to create Durable Object namespaces with SQLite from
|
|
14
|
+
*/
|
|
15
|
+
new_sqlite_classes?: string[];
|
|
16
|
+
/**
|
|
17
|
+
* Tag to set as the latest migration tag
|
|
18
|
+
*/
|
|
19
|
+
new_tag?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Tag used to verify against the latest migration tag for this Worker.
|
|
22
|
+
* If they don't match, the upload is rejected.
|
|
23
|
+
*/
|
|
24
|
+
old_tag?: string;
|
|
25
|
+
/**
|
|
26
|
+
* A list of classes with Durable Object namespaces that were renamed
|
|
27
|
+
*/
|
|
28
|
+
renamed_classes?: RenamedClass[];
|
|
29
|
+
/**
|
|
30
|
+
* A list of transfers for Durable Object namespaces from a different Worker
|
|
31
|
+
* and class to a class defined in this Worker
|
|
32
|
+
*/
|
|
33
|
+
transferred_classes?: TransferredClass[];
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Represents a renamed class in a Durable Object migration
|
|
37
|
+
*/
|
|
38
|
+
export interface RenamedClass {
|
|
39
|
+
/**
|
|
40
|
+
* Original class name
|
|
41
|
+
*/
|
|
42
|
+
from: string;
|
|
43
|
+
/**
|
|
44
|
+
* New class name
|
|
45
|
+
*/
|
|
46
|
+
to: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Represents a transferred class in a Durable Object migration
|
|
50
|
+
*/
|
|
51
|
+
export interface TransferredClass {
|
|
52
|
+
/**
|
|
53
|
+
* Original class name
|
|
54
|
+
*/
|
|
55
|
+
from: string;
|
|
56
|
+
/**
|
|
57
|
+
* Original script name
|
|
58
|
+
*/
|
|
59
|
+
from_script: string;
|
|
60
|
+
/**
|
|
61
|
+
* New class name in this Worker
|
|
62
|
+
*/
|
|
63
|
+
to: string;
|
|
64
|
+
}
|
|
65
|
+
export declare function isMultiStepMigration(migration: WorkerMigrations): migration is MultiStepMigration;
|
|
66
|
+
/**
|
|
67
|
+
* Represents a multi-step migration for Durable Objects
|
|
68
|
+
*/
|
|
69
|
+
export interface MultiStepMigration {
|
|
70
|
+
/**
|
|
71
|
+
* Tag to set as the latest migration tag
|
|
72
|
+
*/
|
|
73
|
+
new_tag?: string;
|
|
74
|
+
/**
|
|
75
|
+
* Tag used to verify against the latest migration tag for this Worker.
|
|
76
|
+
* If they don't match, the upload is rejected.
|
|
77
|
+
*/
|
|
78
|
+
old_tag?: string;
|
|
79
|
+
/**
|
|
80
|
+
* Migrations to apply in order
|
|
81
|
+
*/
|
|
82
|
+
steps: MigrationStep[];
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Represents a single step in a Durable Object migration
|
|
86
|
+
*/
|
|
87
|
+
export interface MigrationStep {
|
|
88
|
+
/**
|
|
89
|
+
* A list of classes to delete Durable Object namespaces from
|
|
90
|
+
*/
|
|
91
|
+
deleted_classes?: string[];
|
|
92
|
+
/**
|
|
93
|
+
* A list of classes to create Durable Object namespaces from
|
|
94
|
+
*/
|
|
95
|
+
new_classes?: string[];
|
|
96
|
+
/**
|
|
97
|
+
* A list of classes to create Durable Object namespaces with SQLite from
|
|
98
|
+
*/
|
|
99
|
+
new_sqlite_classes?: string[];
|
|
100
|
+
/**
|
|
101
|
+
* A list of classes with Durable Object namespaces that were renamed
|
|
102
|
+
*/
|
|
103
|
+
renamed_classes?: RenamedClass[];
|
|
104
|
+
/**
|
|
105
|
+
* A list of transfers for Durable Object namespaces from a different Worker
|
|
106
|
+
* and class to a class defined in this Worker
|
|
107
|
+
*/
|
|
108
|
+
transferred_classes?: TransferredClass[];
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=worker-migration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-migration.d.ts","sourceRoot":"","sources":["../../src/cloudflare/worker-migration.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,GAAG,kBAAkB,CAAC;AAExE,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,gBAAgB,GAC1B,SAAS,IAAI,mBAAmB,CAQlC;AAED,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE9B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC;IAEjC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,gBAAgB,GAC1B,SAAS,IAAI,kBAAkB,CAEjC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE9B;;OAEG;IACH,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC;IAEjC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC1C"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export function isSingleStepMigration(migration) {
|
|
2
|
+
return ("deleted_classes" in migration ||
|
|
3
|
+
"new_classes" in migration ||
|
|
4
|
+
"new_sqlite_classes" in migration ||
|
|
5
|
+
"renamed_classes" in migration ||
|
|
6
|
+
"transferred_classes" in migration);
|
|
7
|
+
}
|
|
8
|
+
export function isMultiStepMigration(migration) {
|
|
9
|
+
return "steps" in migration;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=worker-migration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-migration.js","sourceRoot":"","sources":["../../src/cloudflare/worker-migration.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qBAAqB,CACnC,SAA2B;IAE3B,OAAO,CACL,iBAAiB,IAAI,SAAS;QAC9B,aAAa,IAAI,SAAS;QAC1B,oBAAoB,IAAI,SAAS;QACjC,iBAAiB,IAAI,SAAS;QAC9B,qBAAqB,IAAI,SAAS,CACnC,CAAC;AACJ,CAAC;AA4ED,MAAM,UAAU,oBAAoB,CAClC,SAA2B;IAE3B,OAAO,OAAO,IAAI,SAAS,CAAC;AAC9B,CAAC"}
|